如何解决将 Pandas Dateframe 中的字符串值转换为 Datetime
我有一个数据框(数据),其中一列('BEG_DT')是以 YYYYmmdd 格式表示日期的字符串(例如 19490713 = 1949,July,13)。
data[data.columns[0:3]].head()
NCDC BEG_DT END_DT
1 10000001 19490713 19501115
2 10000001 19590701 19621001
3 10000001 19621001 19630129
4 10000001 19630129 19670125
5 10000001 19670125 19800205
data.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 277297 entries,0 to 277296
Data columns (total 32 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 NCDC 277297 non-null object
1 BEG_DT 277297 non-null object
2 END_DT 277297 non-null object
type(data.iloc[1]['BEG_DT'])
str
我需要将 BEG_DT 列转换为日期时间列。当我使用以下内容时:
pd.to_datetime(data['BEG_DT'],format='%Y%m%d')
我明白了:
TypeError Traceback (most recent call last)
<ipython-input-98-61a349589cf7> in <module>
----> 1 pd.to_datetime(data['BEG_DT'],format='%Y%m%d')
TypeError: 'Series' object is not callable
我可以用这个玩具示例重现同样的错误:
ser1 = ['A','B','C']
ser2 = ['19920525','19430224','19590216']
adf=pd.DataFrame({'col1':['A','C'],'col2':['19920525','19590216']})
adf
col1 col2
0 A 19920525
1 B 19430224
2 C 19590216
adf['Date']=pd.to_datetime(adf['col2'])
TypeError Traceback (most recent call last)
<ipython-input-111-48d6423da8db> in <module>
----> 1 adf['Date']=pd.to_datetime(adf['col2'])
TypeError: 'Series' object is not callable
我相信根据 Pandas to_datetime 文档的语法是正确的,所以我对它的工作原理的理解是不正确的。有人可以解释一下我做错了什么吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。