Python 基于列中的数据合并行条目
我有一个数据框,如下所示:Python 基于列中的数据合并行条目,python,pandas,dataframe,duplicates,Python,Pandas,Dataframe,Duplicates,我有一个数据框,如下所示: 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
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
Company LT MT ST
0 XYZ A C B
1 ABC R - B
2 DEF A B B
我想要的是制作一个数据框
,它可以检查公司
是否重复,并基于对多个列的重复检查LT
,MT
和ST
。如果这些列中的值是重复的,则将其合并到同一公司
名称的单行条目中。
输出如下:
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
Company LT MT ST
0 XYZ A C B
1 ABC R - B
2 DEF A B B
我尝试过使用
df.drop_duplicates()
,但它并不能解决我的问题。使用groupby
和首先使用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