在 400K 熊猫数据框中添加随机日期

lpt*_*lpt 2 python datetime pandas faker

尝试将第四列附加到以下长度的数据帧465017

     0        1     2
0   228055  231908  1
1   228056  228899  1
Run Code Online (Sandbox Code Playgroud)

运行以下语法

x["Fake_date"]= fake.date(pattern="%Y-%m-%d", end_datetime=None)
Run Code Online (Sandbox Code Playgroud)

返回

     0        1    2    Fake_date
0   228055  231908  1   1980-10-12
1   228056  228899  1   1980-10-12
Run Code Online (Sandbox Code Playgroud)

但我想要465017一个实例的行上不同的随机日期,

      0       1    2    Fake_date
0   228055  231908  1   1980-10-11
1   228056  228899  1   1980-09-12
Run Code Online (Sandbox Code Playgroud)

我如何随机化这个?

sac*_*cuL 10

没有这个faker包,你可以这样做:

import numpy as np
import pandas as pd

x["Fake_date"] = np.random.choice(pd.date_range('1980-01-01', '2000-01-01'), len(x))

>>> x
        0       1  2  Fake_date
0  228055  231908  1 1999-12-08
1  228056  228899  1 1989-01-25
Run Code Online (Sandbox Code Playgroud)

pd.date_range()您要从中选择随机日期的最小和最大日期替换 2 个日期字符串