在数据框列中追加值

时间:2018-05-30 08:21:08

标签: python pandas dataframe

你好我是Pandas的新手,我手头有一个情况,我有数据帧 如下:

我希望在数据框中添加另一列,使其如下所示:

enter image description here

有人可以帮忙吗?我已经尝试过将其转换为字典和打印值的方法,但这并没有以这种形式给出输出。

1 个答案:

答案 0 :(得分:1)

我认为join对新列的值string需要GroupBy.transformdf['col 5'] = (df.groupby(['col 1','col 2','col 3'])['col 4'] .transform(lambda x: ','.join(x.astype(str)))) print (df) col 1 col 2 col 3 col 4 col 5 0 A B C 25 25,22,23,45 1 A B C 22 25,22,23,45 2 A B C 23 25,22,23,45 3 A B C 45 25,22,23,45 4 P Q R 9 9,109,20 5 P Q R 109 9,109,20 6 P Q R 20 9,109,20 s:

list

如果需要df = df.join(df.groupby(['col 1','col 2','col 3'])['col 4'] .apply(list).rename('col 5'), on=['col 1','col 2','col 3']) print (df) col 1 col 2 col 3 col 4 col 5 0 A B C 25 [25, 22, 23, 45] 1 A B C 22 [25, 22, 23, 45] 2 A B C 23 [25, 22, 23, 45] 3 A B C 45 [25, 22, 23, 45] 4 P Q R 9 [9, 109, 20] 5 P Q R 109 [9, 109, 20] 6 P Q R 20 [9, 109, 20] 使用join

*ngIf