gpt4 book ai didi

python - pandas multiindex 中设置值失败

转载 作者:行者123 更新时间:2023-12-01 04:45:08 28 4
gpt4 key购买 nike

我有一个多索引数据框,我希望在其中设置一些值:

import pandas as pd
import itertools
a = pd.period_range('2013Q1','2013Q4', freq='Q')
i = (1111, 2222, 3333)
idx = pd.MultiIndex.from_tuples(list(itertools.product(a, i)),
names=('Periode', 'CVR'))
df = pd.DataFrame(index=idx,
columns=('OMS', 'OMK','RES','DRIFT_IND','OEVRIG_IND','FIN_IND','VARE_UD','LOEN_UD','FIN_UD'))

使用它来访问值是有效的:

df.loc[('2013Q1',1111),'OMS']

但是这失败了:

df.loc[('2013Q1',1111),'OMS']=1

出现以下错误:

 ValueError: can only call with other PeriodIndex-ed objects

有人知道问题出在哪里吗?

最佳答案

如果您显式使用 Period 对象而不是字符串,则这适用于访问和分配:

In [9]: df.loc[(pd.Period('2013Q1'),1111),'OMS']
Out[9]: nan

In [10]: df.loc[(pd.Period('2013Q1'),1111),'OMS'] = 1

In [11]: df.loc[(pd.Period('2013Q1'),1111),'OMS']
Out[11]: 1

但我为此提出了一个问题:https://github.com/pydata/pandas/issues/9892

关于python - pandas multiindex 中设置值失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29627143/

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