答案 0 :(得分:1)
如果是时间戳:
df['timestamp'] = df['timestamp'].dt.floor('d')
如果字符串:
df['timestamp'] = df['timestamp'].str.split().str[0]
样品:
df = pd.DataFrame({'timestamp':pd.date_range('2016-06-29 15:46:43.895000',
periods=3,
freq='2000T')})
print (df)
timestamp
0 2016-06-29 15:46:43.895
1 2016-07-01 01:06:43.895
2 2016-07-02 10:26:43.895
print (type(df.loc[0, 'timestamp']))
<class 'pandas._libs.tslib.Timestamp'>
df['timestamp'] = df['timestamp'].dt.floor('d')
print (df)
timestamp
0 2016-06-29
1 2016-07-01
2 2016-07-02
df = pd.DataFrame({'timestamp':['2016-06-20 15:46:43.895000',
'2016-06-22 15:46:43.895000',
'2016-06-29 15:46:43.895000']})
print (df)
timestamp
0 2016-06-20 15:46:43.895000
1 2016-06-22 15:46:43.895000
2 2016-06-29 15:46:43.895000
print (type(df.loc[0, 'timestamp']))
<class 'str'>
df['timestamp'] = df['timestamp'].str.split().str[0]
print (df)
timestamp
0 2016-06-20
1 2016-06-22
2 2016-06-29
答案 1 :(得分:1)
我们可以使用.dt.normalize()
方法:
df['timestamp'] = df['timestamp'].dt.normalize()
答案 2 :(得分:0)
df['timestamp']=pd.to_datetime(df['timestamp']).dt.strftime('%Y-%m-%d')