让 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 列中的单个值而不是两者。这里需要太阳和月亮(或)土星和海王星。
最佳答案
我相信您需要 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
关于python - 如何根据单列对数据框中的唯一表进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54822806/