Create a datetime column specification.
USAGE
datetime_field(
min_date=None,
max_date=None,
nullable=False,
null_probability=0.0,
unique=False,
generator=None,
)
Parameters
min_date : str | datetime | None = None
-
Minimum datetime (inclusive). Can be ISO string or datetime object.
max_date : str | datetime | None = None
-
Maximum datetime (inclusive). Can be ISO string or datetime object.
nullable : bool = False
-
Whether the column can contain null values. Default is False.
null_probability : float = 0.0
-
Probability of generating null when nullable=True. Default is 0.0.
unique : bool = False
-
Whether all values must be unique. Default is False.
generator : Callable[[], Any] | None = None
-
Custom callable that generates values. Overrides other settings.
Returns
DatetimeField
-
A datetime field specification.
Examples
Define a schema with datetime fields and generate test data:
import pointblank as pb
from datetime import datetime
# Define a schema with datetime field specifications
schema = pb.Schema(
created_at=pb.datetime_field(
min_date=datetime(2024, 1, 1),
max_date=datetime(2024, 12, 31)
),
updated_at=pb.datetime_field(
min_date=datetime(2024, 6, 1),
max_date=datetime(2024, 12, 31)
),
)
# Generate 100 rows of test data
pb.preview(pb.generate_dataset(schema, n=100, seed=23))
|
|
|
|
| 1 |
2024-12-25 04:22:08 |
2024-09-21 14:13:08 |
| 2 |
2024-10-29 16:22:23 |
2024-07-03 10:44:55 |
| 3 |
2024-04-22 14:13:08 |
2024-06-07 15:09:55 |
| 4 |
2024-12-12 14:04:53 |
2024-09-28 03:03:37 |
| 5 |
2024-11-18 04:49:47 |
2024-11-12 13:36:43 |
| 96 |
2024-07-29 13:15:44 |
2024-11-28 23:02:29 |
| 97 |
2024-04-28 08:49:29 |
2024-12-30 22:17:11 |
| 98 |
2024-12-13 09:42:37 |
2024-08-16 08:51:48 |
| 99 |
2024-10-28 23:35:39 |
2024-11-26 06:03:26 |
| 100 |
2024-06-25 14:22:27 |
2024-09-23 19:35:59 |
Datetime values are uniformly distributed within the specified range.
⦾