在多索引熊猫数据框中更改值

时间:2019-12-08 11:39:01

标签: python pandas dataframe multi-index

我已将Excel中的多索引矩阵加载到熊猫数据框。

    df=pd.read_excel("filename.xlsx",sheet_name=sheet,header=1,index_col=[0,1,2],usecols="B:AZ")

数据帧具有三个索引列和一个标头,因此它具有4个索引。数据框的一部分看起来像这样:

picture of part of dataframe

当我想显示一个特定值时,它的工作方式如下:

df[index1][index2][index3][index4]

我现在想更改数据框中的某些值。在不同的论坛中搜索了一段时间之后,似乎df.at是执行此操作的正确方法。所以我尝试了这个:

df.at[index1,index2,index3,index4]=10 (or any random value)

但是我得到了ValueError: Not enough indexers for scalar access (setting)!。我还尝试对df.at-Brackets中的索引使用不同的顺序。

对此将提供任何帮助!

1 个答案:

答案 0 :(得分:0)

似乎您需要这样的东西:

df.loc[('Kosten','LKW','Sofia'),'Ruse']=10