Pandas Dataframe时间戳索引:本地化并替换小时和分钟。

这是我的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
  • 设置时区为USEastern

所以我在尝试。

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

那么…

df.index.minute=30

所以我得到的是

AttributeError: can’t set attribute(属性错误:无法设置属性)

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

所以我得到的是

AttributeError: ‘DatetimeIndex’ 对象没有属性’replace’ 。

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

解决方案:

你可以添加小时分钟。

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

给TA打赏
共{{data.count}}人
人已打赏
未分类

当使用where子句时,如何避免我的结果数组中出现重复的记录?

2022-9-8 0:00:36

未分类

Oracle:能否避免大量的JOIN?

2022-9-8 0:00:38

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索