将 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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...