gpt4 book ai didi

python - 向索引数据框 pandas 添加一行

转载 作者:行者123 更新时间:2023-12-01 09:30:11 24 4
gpt4 key购买 nike

我有一个数据框:

df = pd.DataFrame({'a':[1,2,3,4,5],'b':[100,200,300,400,500],'c':['a','b','j','e','q']})   
df = df.set_index(['a','b']) #(this is sample structure, i will be having directly the indexed df)

c
a b
1 100 a
2 200 b
3 300 j
4 400 e
5 500 q

This is my input multi-indexed dataframe

我有3个变量:

a1 = 7
b1 = 700
c1 = z

(a1,b1) c

我想将其作为新行添加到多索引数据帧中,而不取消设置索引然后重新创建。

最终结果也是多索引数据框。

需要最终输出。

       c
a b
1 100 a
2 200 b
3 300 j
4 400 e
5 500 q
7 700 z

一种方法是先取消设置索引,追加行,然后重新创建索引。(但我的 df 的实际大小将在 100 万左右),因此这可能会影响性能。

除了上述方法之外,是否可以向多索引数据帧添加行?

最佳答案

如果原MultiIndex中不存在此组合,则可以使用:

df.loc[(a1,b1), 'c'] = c1
print (df)
c
a b
1 100 a
2 200 b
3 300 j
4 400 e
5 500 q
7 700 z

如果组合存在则覆盖原始值:

a1 = 1
b1 = 100
c1 = 'z'
df.loc[(a1,b1), 'c'] = c1
print (df)
c
a b
1 100 z # a to z
2 200 b
3 300 j
4 400 e
5 500 q

关于python - 向索引数据框 pandas 添加一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50039346/

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