Skip to content

Misc

src.dx.datatypes.misc.generate_boolean_series(num_rows)

Generate a series of random boolean values.

Parameters:

Name Type Description Default
num_rows int

Number of rows to generate

required
Source code in src/dx/datatypes/misc.py
def generate_boolean_series(num_rows: int) -> pd.Series:
    """
    Generate a series of random `boolean` values.

    Parameters
    ----------
    num_rows: int
        Number of rows to generate
    """
    return pd.Series([random.choice([True, False]) for _ in range(num_rows)])

src.dx.datatypes.misc.generate_bytes_series(num_rows, n_bytes=10)

Generate a series of random bytes values.

Parameters:

Name Type Description Default
num_rows int

Number of rows to generate

required
n_bytes int

Number of bytes to generate per row

10
Source code in src/dx/datatypes/misc.py
def generate_bytes_series(num_rows: int, n_bytes: int = 10) -> pd.Series:
    """
    Generate a series of random `bytes` values.

    Parameters
    ----------
    num_rows: int
        Number of rows to generate
    n_bytes: int
        Number of bytes to generate per row
    """
    return pd.Series([np.random.bytes(n_bytes) for _ in range(num_rows)])

src.dx.datatypes.misc.generate_dict_series(num_rows)

Generate a series of random dict values.

Parameters:

Name Type Description Default
num_rows int

Number of rows to generate

required
Source code in src/dx/datatypes/misc.py
def generate_dict_series(num_rows: int) -> pd.Series:
    """
    Generate a series of random `dict` values.

    Parameters
    ----------
    num_rows: int
        Number of rows to generate
    """
    return pd.Series(
        [
            {
                "nested_property": random.choice(["apple", "banana", "orange", "pear"]),
                "nested_other_property": random.randint(0, 10),
                "nested_bool": random.choice([True, False]),
            }
            for _ in range(num_rows)
        ]
    )

src.dx.datatypes.misc.generate_dtype_series(num_rows)

Generate a series of random type values.

Parameters:

Name Type Description Default
num_rows int

Number of rows to generate

required
Source code in src/dx/datatypes/misc.py
def generate_dtype_series(num_rows: int) -> pd.Series:
    """
    Generate a series of random `type` values.

    Parameters
    ----------
    num_rows: int
        Number of rows to generate
    """
    return pd.Series(
        [random.choice([float, int, str, bool, set, tuple, dict, list]) for _ in range(num_rows)]
    )

src.dx.datatypes.misc.generate_list_series(num_rows)

Generate a series of random list values.

Parameters:

Name Type Description Default
num_rows int

Number of rows to generate

required
Source code in src/dx/datatypes/misc.py
def generate_list_series(num_rows: int) -> pd.Series:
    """
    Generate a series of random `list` values.

    Parameters
    ----------
    num_rows: int
        Number of rows to generate
    """
    return pd.Series([[random.randint(0, 5) for _ in range(5)] for _ in range(num_rows)])

src.dx.datatypes.misc.generate_ipv4_series(num_rows)

Generate a series of random ipaddress.IPv4Address values.

Parameters:

Name Type Description Default
num_rows int

Number of rows to generate

required
Source code in src/dx/datatypes/misc.py
def generate_ipv4_series(num_rows: int) -> pd.Series:
    """
    Generate a series of random `ipaddress.IPv4Address` values.

    Parameters
    ----------
    num_rows: int
        Number of rows to generate
    """

    def random_ipv4():
        address_str = ".".join(str(random.randint(0, 255)) for _ in range(4))
        return ipaddress.ip_address(address_str)

    return pd.Series([random_ipv4() for _ in range(num_rows)])

src.dx.datatypes.misc.generate_ipv6_series(num_rows)

Generate a series of random ipaddress.IPv6Address values.

Parameters:

Name Type Description Default
num_rows int

Number of rows to generate

required
Source code in src/dx/datatypes/misc.py
def generate_ipv6_series(num_rows: int) -> pd.Series:
    """
    Generate a series of random `ipaddress.IPv6Address` values.

    Parameters
    ----------
    num_rows: int
        Number of rows to generate
    """

    def random_ipv6():
        address_str = ":".join(
            str(hex(random.randint(0, 65_535))).replace("0x", "") for _ in range(8)
        )
        return ipaddress.ip_address(address_str)

    return pd.Series([random_ipv6() for _ in range(num_rows)])

src.dx.datatypes.misc.generate_uuid4_series(num_rows)

Generate a series of random uuid.UUID values.

Parameters:

Name Type Description Default
num_rows int

Number of rows to generate

required
Source code in src/dx/datatypes/misc.py
def generate_uuid4_series(num_rows: int) -> pd.Series:
    """
    Generate a series of random `uuid.UUID` values.

    Parameters
    ----------
    num_rows: int
        Number of rows to generate
    """
    return pd.Series([uuid.uuid4() for _ in range(num_rows)])