我有一个变量,包含 30 万 strip 日期的记录,日期看起来像这样
2015-02-21 12:08:51
从那天起我想删除时间
日期变量的类型是 pandas.core.series.series
这是我试过的方法
from datetime import datetime,date
date_str = textdata['vfreceiveddate']
format_string = "%Y-%m-%d"
then = datetime.strftime(date_str,format_string)
一些随机错误
上面代码中textdata是我的datasetname,vfreceived date是一个由日期组成的变量
我如何编写代码以从日期时间中删除时间。
最佳答案
假设您所有的日期时间字符串都采用类似的格式,那么只需使用 to_datetime
将它们转换为日期时间即可然后调用 dt.date
属性以仅获取日期部分:
In [37]:
df = pd.DataFrame({'date':['2015-02-21 12:08:51']})
df
Out[37]:
date
0 2015-02-21 12:08:51
In [39]:
df['date'] = pd.to_datetime(df['date']).dt.date
df
Out[39]:
date
0 2015-02-21
编辑
如果您只想更改显示而不是数据类型,那么您可以调用dt.normalize
:
In[10]:
df['date'] = pd.to_datetime(df['date']).dt.normalize()
df
Out[10]:
date
0 2015-02-21
您可以看到 dtype 仍然是 datetime
:
In[11]:
df.dtypes
Out[11]:
date datetime64[ns]
dtype: object
关于python - 从 Pandas 的日期时间变量中删除时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29310116/