gpt4 book ai didi

python - Pandas:在多索引数据框中设置值

转载 作者:太空宇宙 更新时间:2023-11-03 19:54:42 24 4
gpt4 key购买 nike

我想在多索引 DataFrame 中设置一个值。这是一个例子:

import pandas as pd
df = pd.DataFrame([[1, 'a' , 1], [1, 'b', 2], [2, 'a', 3]], columns=['x', 'y', 'z'])
df.set_index(['x','y'], inplace=True)
df

给出:

        z
x y
1 a 1
b 2
2 a 3

然后

df.loc[(2,'b')] = 4
df

给出

        z     b
x y
1 a 1 NaN
b 2 NaN
2 a 3 4.0

而不是

        z
x y
1 a 1
b 2
2 a 3
b 4

显然,Pandas 不明白数据帧是多索引的,它将 [(2,'b')] 解释为第 2 行和第 'b' 列,就像我写过的那样df.loc[2,'b'].

如何才能实现我想要的目标?

另外,为什么整数4要转成 float 呢?

谢谢。

最佳答案

还需要指定列z:

df.loc[(2,'b'), 'z'] = 4
print (df)
z
x y
1 a 1.0
b 2.0
2 a 3.0
b 4.0

关于python - Pandas:在多索引数据框中设置值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59601703/

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