python - 如何根据单列对数据框中的唯一表进行排序?

标签 python python-3.x pandas dataframe pandas-groupby

让 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 列中的单个值而不是两者。这里需要太阳和月亮(或)土星和海王星。

最佳答案

我相信您需要 groupbyjoin - 每个组只需要相同的 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/

相关文章:

python - 访问域:port instead of IP:port

python - 找到点和线段(不是线)之间的最短距离

python - wxPython 在 ubuntu 上运行不正常

python - 无法使用matplotlib显示数据

python - 您可以对 Azure 函数或存储队列的输出进行速率限制吗?

python - 日期的格式字符串在转换为十进制日和月时无效

python - 第一批后 Tensorflow ResourceExhaustedError

pandas - 在 Geopandas 数据框中按经度对几何列进行排序/排序

python-3.x - plotly 有办法将 x 轴上的日期转换为一周中的某一天吗?

pandas - Pandas 中的自定义 bool 过滤?