to_datetime不适用于熊猫中格式为 YYYY-MM-DD HH:MM 的字符串



>我有一个格式为 2014-01-31 05:47 的日期。

当它读入熊猫时,对象被更改为对象。

当我尝试将其更改为pd.to_datetime时,没有错误,但数据类型不会更改为数据时间。

请提出一些出路。

T=pd.read_csv("TESTING.csv") 
T['DATE']=pd.to_datetime(T['DATE']) 
T.dtypes 
>DATE object 
T['DATE'] 
>2014-01-31 05:47

基本上,Pandas 不明白字符串"2014-01-31 05:47"是什么,除了你给了它一个字符串的事实。如果您从 CSV 文件中读取此字符串,请阅读 Pandas 文档,了解允许您解析日期时间的 read_csv 方法。

但是,给定这样的东西:

records = ["2014-01-31 05:47", "2014-01-31 14:12"]
df = pandas.DataFrame(records)
df.dtypes
>0    object
>dtype: object

这是因为你还没有告诉 Pandas 如何将你的字符串解析为日期时间(或时间戳)类型。

使用 pandas.to_datetime 方法是您想要的,但您必须小心,只传递具有要转换的值的列。请记住,熊猫不会改变您正在处理的数据帧,您需要再次保存它。

df[0] = pandas.to_datetime(df[0])
df.dtypes
>0    datetime64[ns]
>dtype: object

这就是你想要的。单元格现在是正确的格式。有很多方法可以实现相同的目标,您可以将apply()方法与lambda一起使用,从CSV或SQL正确解析或使用Series。

相关内容

最新更新