合并数据框中的行,并保留其他列

时间:2019-09-19 12:43:18

标签: python pandas

我将python和pandas一起使用

我有一个数据框:

   id title_fr lang title_en  title_de
0   1   maison   fr      NaN       NaN
1   1      NaN   en    house       NaN
2   1      NaN   de      NaN     hause

期望的输出很简单,我想合并具有相同id的行,并保持字段不为null:

   id title_fr lang title_en  title_de
0   1   maison   fr    house     hause

我尝试了groupby函数,但这不起作用

我尝试了此操作(请参见Merge rows in dataframe):

x = [
    {"id": 1, "title_fr": "maison", "lang": "fr"},
    {"id": 1, "title_en": "house", "lang": "en"},
    {"id": 1, "title_de": "maisonen", "lang": "de"},
]

df = pd.DataFrame(data=x)
df = df.groupby(['id']).sum()

但是我得到了这个输出:

      lang
id        
1   frende

1 个答案:

答案 0 :(得分:4)

您可以使用GroupBy.first-但它总是返回每个组中第一个非NaN的值,因此en的{​​{1}}和de被删除了:< / p>

lang