python - 属性错误 : 'DataFrame' object has no attribute 'to_datetime'

标签 python pandas datetime

我想将 pandas 数据框“时间”列中的所有项目从 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() 打印 row['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'])

最佳答案

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

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

关于python - 属性错误 : 'DataFrame' object has no attribute 'to_datetime' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48387878/

相关文章:

Python - 读取文件中的行对

python - 使用逻辑填充缺失数据 Pandas

python - 使用快速排序查找第 k 个最小项 (Python)

python - Pandas :TypeError:无法散列的类型: 'list'

python - 打开 ZIP 文件,扫描其中的 CSV 文件并将某些内容传输到另一个 CSV 文件

python - 如何将时间戳转换为可读值? [ Pandas 数据框]

c# - 给定 DateTime 对象,如何获取字符串格式的 ISO 8601 日期?

mysql - 两个日期时间 MySQL 之间的小时和分钟差异

python - 无法使用 Mechanize 下载网站内容

python - python多处理中池的用途