如何合并数据框中的行与不同的列?

Ssk92

我想将数据帧的行与一个公共列值合并,然后合并用逗号分隔的其余列值作为字符串值,并转换为数组/列表以获取int值。

A   B     C    D
1  one   100  value
4  four  400  value
5  five  500  value
2  two   200  value

预期结果如下:

   A                B                 C            D
[1,4,5,2]  one,four,five,two  [100,400,500,200]  value

我可以对D列使用groupby,但是如何一次在df中将apply作为列的apply(np.array)和apply(','。join)用作B列呢?

亚姆克劳斯
df = df.groupby('D').apply(lambda x: pd.Series([list(x.A),','.join(x.B),list(x.C)])).reset_index().rename({0:'A',1:'B',2:'C'}, axis=1)

df = df[['A','B','C','D']]

输出量

              A                  B                     C      D
0  [1, 4, 5, 2]  one,four,five,two  [100, 400, 500, 200]  value

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章