使用multiindex同时添加多个列

联合会

我有一个具有可变数量的列的数据框,并且在MultiIndex中处理了这些列。我正在尝试将多个列添加到同一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: Wrong number of items passed 2, placement implies 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
BEN_YO

使用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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章