我有一个数据框,如下所示:
Company LT MT ST
0 XYZ A - -
1 XYZ A - B
2 XYZ - C B
3 ABC R - -
4 ABC R - B
5 DEF A B -
6 DEF A B B
我要做的是制作一个dataframe
,它可以检查company
是否重复,并基于对多列LT
,MT
和{ {1}}。并且,如果这些列中的值是重复的,则将其合并到具有相同ST
名称的单行条目中。
输出如下:
company
我尝试使用 Company LT MT ST
0 XYZ A C B
1 ABC R - B
2 DEF A B B
,但不能解决我的问题。
答案 0 :(得分:4)
将groupby
和first
与fillna
一起使用
In [559]: (df.replace('-', np.nan)
.groupby('Company', sort=False, as_index=False)
.first()
.fillna('-'))
Out[559]:
Company LT MT ST
0 XYZ A C B
1 ABC R - B
2 DEF A B B