Python-迭代数据帧行以从日期时间戳中删除时间
我有一个数据框,其中一列包含日期时间戳(数据类型:datetime64[ns]): 我希望迭代每一行以删除日期的时间部分,从而得到如下最终结果: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])
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