我正在将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函数,但这不起作用
我尝试了这一点(请参阅合并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
您可以使用GroupBy.first
-,但NaN
每个组总是返回第一个non s值,因此删除en
了de
for lang
:
df = df.groupby('id', as_index=False).first()
print (df)
id title_fr lang title_en title_de
0 1 maison fr house maisonen
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句