具有df值
0 | 1 | 2
0 sun | east | pass
1 moon | west | pass
2 mars | north | pass
3 saturn | east | pass
4 neptune| west | pass
需要通过查看1列的值来获得不同的df。在第1列中,有两个东方和两个西方,它们的0值不同。
输出应为
0 | 1 | 2
0 sun | east | pass
1 moon | west | pass
2 mars | north | pass
or
0 | 1 | 2
0 saturn | east | pass
1 neptune | west | pass
2 mars | north | pass
所以我的输出只需要0列中的单个值,而不是两个都一样。这里需要太阳和月亮(或土星和海王星)。
答案 0 :(得分:3)
我相信您需要groupby
和join
-每个组仅需要2
列相同的值:
df = df.groupby([1,2], sort=False)[0].apply(' (or) '.join).reset_index().sort_index(axis=1)
print (df)
0 1 2
0 sun (or) saturn east pass
1 moon (or) neptune west pass
2 mars north pass