【问题标题】:Pandas: cannot convert object to datetime [duplicate]Pandas:无法将对象转换为日期时间 [重复]
【发布时间】:2020-11-02 18:51:30
【问题描述】:

这是我的数据框:

               dt_object      Lng
1    2020-01-01 00:00:00  1.57423
2    2020-01-01 01:00:00  1.57444
3    2020-01-01 02:00:00  1.57465
4    2020-01-01 03:00:00  1.57486
5    2020-01-01 04:00:00  1.57506

dt_object 用 python 经典的 datetime 函数编写。 但是

print (df.columns) 

给我:

索引(['dt_object', 'Lng'], dtype='object'),

所以它们都是对象类型。

我试试:

df_candles['dt_object'] = df_candles['dt_object'].astype('datetime64')

但没用。

它仍然是对象。 如何将此列转换为 pandas 'datetime64'?

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    为此,您可以使用to_datetime 函数对其进行转换

    df_candles['dt_object'] = pd.to_datetime(df_candles['dt_object'])
    

    注意,如果你愿意,你也可以将你的字符串对象的格式指定为

    df_candles['dt_object'] = pd.to_datetime(df_candles['dt_object'], format='%Y-%m-%d %H:%M:%S')
    

    也检查 https://docs.python.org/3/library/datetime.html#strftime-and-strptime-format-codes

    【讨论】:

    • 我试过这个但我得到 AttributeError: 'Series' object has no attribute 'to_datetime'
    • pd.to_datetime(some_series).
    • @IgorK。抱歉,我写错了,刚刚修复它
    【解决方案2】:

    试试:

    df_candles['dt_object'] = pd.to_datetime(df_candles['dt_object'])
    

    当您尝试检查列类型时,请使用:

    df.dtypes
    

    代替:

    df.columns
    

    【讨论】:

      猜你喜欢
      • 2019-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-26
      • 2020-02-21
      • 2012-12-09
      相关资源
      最近更新 更多