AttributeError:' DataFrame'对象没有属性' to_datetime'

时间:2018-01-22 18:18:11

标签: python pandas datetime

我想转换时间'中的所有项目。从UTC到东部时间的我的熊猫数据框的列。但是,根据this stackoverflow帖子中的答案,pandas 0.20.3中不知道某些关键字。总的来说,我该如何完成这项任务?

tweets_df = pd.read_csv('valid_tweets.csv')

tweets_df['Time'] = tweets_df.to_datetime(tweets_df['Time'])
tweets_df.set_index('Time', drop=False, inplace=True)

错误是:

    tweets_df['Time'] = tweets_df.to_datetime(tweets_df['Time'])
  File "/scratch/sjn/anaconda/lib/python3.6/site-packages/pandas/core/generic.py", line 3081, in __getattr__
    return object.__getattribute__(self, name)
AttributeError: 'DataFrame' object has no attribute 'to_datetime'
时间列中的

项目如下所示:

2016-10-20 03:43:11+00:00

更新: 使用

tweets_df['Time'] = pd.to_datetime(tweets_df['Time'])
tweets_df.set_index('Time', drop=False, inplace=True)
tweets_df.index = tweets_df.index.tz_localize('UTC').tz_convert('US/Eastern') 

没有时间转换。知道什么可以解决吗?

更新2: 所以下面的代码,当我使用iterrows()打印行[' Time']时,它不会进行就地转换,它会显示原始值。你知道如何进行就地转换吗?

tweets_df['Time'] = pd.to_datetime(tweets_df['Time'])
for index, row in tweets_df.iterrows():

    row['Time'].tz_localize('UTC').tz_convert('US/Eastern')



for index, row in tweets_df.iterrows():
    print(row['Time'])

1 个答案:

答案 0 :(得分:11)

to_datetime是在pandas中定义的函数,而不是DataFrame上的方法。尝试:

tweets_df['Time'] = pd.to_datetime(tweets_df['Time'])