Python-迭代数据帧行以从日期时间戳中删除时间

Python-迭代数据帧行以从日期时间戳中删除时间,python,pandas,dataframe,datetime,Python,Pandas,Dataframe,Datetime,我有一个数据框,其中一列包含日期时间戳(数据类型:datetime64[ns]): 我希望迭代每一行以删除日期的时间部分,从而得到如下最终结果: Date Docs 0 2016-06-01 45 1 2016-06-01 56 2 2016-07-01 87 3 2016-07-01 44 我该怎么做呢?您需要使用dt.date: df['Date'] = df['Date'].dt.date df[0] = df[0].dt.date print(df[0])

我有一个数据框,其中一列包含日期时间戳(数据类型:datetime64[ns]):

我希望迭代每一行以删除日期的时间部分,从而得到如下最终结果:

     Date     Docs
0 2016-06-01  45
1 2016-06-01  56
2 2016-07-01  87
3 2016-07-01  44


我该怎么做呢?

您需要使用
dt.date

df['Date'] = df['Date'].dt.date
df[0] = df[0].dt.date
print(df[0])
示例案例:

import pandas as pd
import numpy as np
rng = pd.date_range('2019-01-01 01:01:00', periods=365, freq='D')
df = pd.DataFrame(rng)
print(df[0])
看起来像:

0     2019-01-01 01:01:00
1     2019-01-02 01:01:00
2     2019-01-03 01:01:00
0      2019-01-01
1      2019-01-02
2      2019-01-03
在应用日期之后:

df['Date'] = df['Date'].dt.date
df[0] = df[0].dt.date
print(df[0])
看起来像:

0     2019-01-01 01:01:00
1     2019-01-02 01:01:00
2     2019-01-03 01:01:00
0      2019-01-01
1      2019-01-02
2      2019-01-03

使用
dt.floor

df['Date'].dt.floor('D')

注意:
dt.floor
返回日期时间数据类型
其中as
dt.date
返回字符串dtype