我想将数据帧的行与一个公共列值合并,然后合并用逗号分隔的其余列值作为字符串值,并转换为数组/列表以获取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] 删除。
我来说两句