熊猫数据框时间戳索引:本地化和替换小时和分钟

时间:2020-04-23 13:18:38

标签: python python-3.x pandas datetime timestamp

这是我的csv原始文件:

Date,Open
2005-10-03,12.37
2005-10-04,12.5
2005-10-05,13.15

我需要将其转换为:

Date,Open
2005-10-03 09:30:00-04:00,12.37
2005-10-04 09:30:00-04:00,12.5
2005-10-05 09:30:00-04:00,13.15

也就是说:

  • 将小时设置为9
  • 将分钟设置为30
  • 将时区设置为美国/东部

所以我正在尝试:

df=pd.read_csv('myfile.csv', index_col=1)
df.index=df.index.tz_localize('US/Eastern').

然后

df.index.minute=30

所以我得到了:

AttributeError:无法设置属性

df.index.replace(hour=9, minute=30)

所以我得到了:

AttributeError:“ DatetimeIndex”对象没有属性“ replace”

(我也尝试过使用read_csv函数中的parse_dates=True参数。)

1 个答案:

答案 0 :(得分:1)

您可以添加小时/分钟:

df['Date'] = pd.to_datetime(df['Date']).dt.tz_localize('US/Eastern')
df['Date'] += pd.to_timedelta('09:30:00')

输出:

                       Date   Open
0 2005-10-03 09:30:00-04:00  12.37
1 2005-10-04 09:30:00-04:00  12.50
2 2005-10-05 09:30:00-04:00  13.15