将多行合并到熊猫数据框中?

时间:2020-03-18 03:10:12

标签: python pandas

我需要将多行的熊猫数据帧转换为一行

     col1.    col2.    col3.    col4.    col5.
0    1234     rule_1.  ''       ''       ''
1    1234     ''       rule_2.  ''       ''
2    2356     rule_1.  ''       ''       ''
3    7890     ''       ''       rule_3   ''
4    1234     ''       ''       ''       rule_4

我需要按col1分组。并用其他行中的字段填充空白字段。

     col1.    col2.    col3.    col4.    col5
0    1234     rule_1.  rule_2   ''       rule_4
1    2356     rule_1.  ''       ''       ''
3    7890     ''       ''       rule_3   ''

1 个答案:

答案 0 :(得分:2)

IIUC首先将''屏蔽为nan,然后执行groupby + first

s=df.mask(df=="''").groupby('col1.').first()
s # you can add reset_index()
         col2.    col3.   col4.   col5.
col1.                                  
1234   rule_1.  rule_2.     NaN  rule_4
2356   rule_1.      NaN     NaN     NaN
7890       NaN      NaN  rule_3     NaN