gpt4 book ai didi

python - pandas 替换 tseries datetimeindex 中的特定元素

转载 作者:行者123 更新时间:2023-12-01 03:07:28 25 4
gpt4 key购买 nike

我有 pandas 对象:

df_days
DatetimeIndex(['2015-05-24', '2015-05-24', '2015-05-24',..., '2016-03-19',
'2016-03-19', '2016-03-20'],
dtype='datetime64[ns]', length=7224, freq=None)

type(df_days)
<class 'pandas.tseries.index.DatetimeIndex'>

我有一个索引数组:

hrIdx
(array([ 23, 47, 71, 95, 119, 143, 167, 191, 215, 239, 263,
287, 311, 335, 359, 383, 407, 431, 455, 479, 503, 527,
551, 575, 599, ...,1592], dtype=int64),)

我正在尝试以下操作:

df_days[hrIdx] = df_days[hrIdx] + td(days=-1)

但是赋值操作失败。右侧减去一天的操作效果很好。

错误是:

    raise TypeError("Index does not support mutable operations")
TypeError: Index does not support mutable operations

像我上面尝试完成的那样,仅更改 df_days 的特定元素的正确方法是什么?

编辑:

from datetime import timedelta as td

最佳答案

引用 pandas 文档,我发现了这个:http://pandas.pydata.org/pandas-docs/stable/timedeltas.html#id1

您可以将这个技巧与该代码一起使用:

tdeltas = pd.TimedeltaIndex([str((0-int(i in hrIdx)))+' days' for i in xrange(len(df_days))])

然后:

df_days = df_days + tdeltas

注意:我正在查看最新版本的 pandas (0.19) 的文档。

关于python - pandas 替换 tseries datetimeindex 中的特定元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43216197/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com