如何将 Pandas 日期时间转换为 pandas 中的整数?

How to convert to Pandas datetime to date to integer in pandas?

如何在 pandas 中转换成如下所示的日期格式:

2018-08-27 00:00:00.000
2018-08-26 00:00:00.000
2018-08-24 00:00:00.000
2018-08-24 00:00:00.000
2018-08-24 00:00:00.000
2018-08-24 00:00:00.000
2018-08-23 00:00:00.000
2018-08-23 00:00:00.000
2018-08-20 00:00:00.000
2018-08-20 00:00:00.000

转换为计算自 2010 年 1 月 1 日以来的天数的整数格式?

从列中减去日期 Series.sub and convert timedeltas to days by Series.dt.days:

df['days'] = pd.to_datetime(df['date']).sub(pd.Timestamp('2010-01-01')).dt.days
print (df)
                      date  days
0  2018-08-27 00:00:00.000  3160
1  2018-08-26 00:00:00.000  3159
2  2018-08-24 00:00:00.000  3157
3  2018-08-24 00:00:00.000  3157
4  2018-08-24 00:00:00.000  3157
5  2018-08-24 00:00:00.000  3157
6  2018-08-23 00:00:00.000  3156
7  2018-08-23 00:00:00.000  3156
8  2018-08-20 00:00:00.000  3153
9  2018-08-20 00:00:00.000  3153

您可以简单地在 pandas 时间戳列上应用 sub,就像 jezrael 在他的回答中提到的那样,非常直接。

如果你想一个接一个地做同样的事情,你可以在地图的帮助下这样做

base_date = pd.Timestamp('2010-01-01 00:00:00')

df['days'] = df['date'].map(lambda date : (pd.Timestamp(date) - base_date).days )