gpt4 book ai didi

python - 使用多索引同时添加多个列

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

我有一个具有可变数量列的数据框,并且在多索引内处理列。我正在尝试将多个列添加到同一个 MultiIndex 结构中

我尝试添加新列,就像只有一列时那样,但它不起作用

我已经尝试过这个:

df = pd.DataFrame(np.random.rand(4,2), columns=pd.MultiIndex.from_tuples([('plus_zero', 'A'), ('plus_zero', 'B')]))

df['plus_one'] = df['plus_zero'] + 1

但是我得到了ValueError:传递的项目数量错误2,放置意味着1

原始的df应该如下所示:

  plus_zero          
A B
0 0.602891 0.701130
1 0.395749 0.960206
2 0.268238 0.140606
3 0.165802 0.971707

我想要的结果:

  plus_zero            plus_one          
A B A B
0 0.602891 0.701130 1.602891 1.701130
1 0.395749 0.960206 1.395749 1.960206
2 0.268238 0.140606 1.268238 1.140606
3 0.165802 0.971707 1.165802 1.971707

最佳答案

使用pd.concat :

您必须指定新列的名称以及 axis=1axis='columns'

pd.concat([df.loc[:,'plus_zero'],df.loc[:,'plus_zero']+1],
keys=['plus_zero','plus_one'],
axis=1)
  plus_zero            plus_one          
A B A B
0 0.049735 0.013907 1.049735 1.013907
1 0.782054 0.449790 1.782054 1.449790
2 0.148571 0.172844 1.148571 1.172844
3 0.875560 0.393258 1.875560 1.393258

关于python - 使用多索引同时添加多个列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55764463/

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