python - 如何对熊猫数据框进行排序,以便首先在列中显示冗余值?
问题描述
我有一个熊猫数据框,其中有一列“test_id”
test_id
2
5
1
3
3
3
4
4
4
2
9
我想对数据框进行排序,使该列为:
test_id
3
3
3
4
4
4
2
2
1
5
9
请帮忙。谢谢!
解决方案
这是一个如何使用辅助列的示例,您可以在之后删除该列:
import pandas as pd
df = pd.DataFrame({'test_id': [2, 5, 1, 3, 3, 3, 4, 4, 2, 9],
'other_column': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]})
df['tbd'] = df.groupby(['test_id']).transform('count')
df.sort_values(['tbd', 'test_id'], inplace=True, ascending=(False, True))
del df['tbd']
df
other_column test_id
3 4 3
4 5 3
5 6 3
0 1 2
8 9 2
6 7 4
7 8 4
2 3 1
1 2 5
9 10 9
推荐阅读
- r - 包中的错误:启动 RStudio 时出现 sp
- date - 在两个给定日期之间每隔一天自动填充一次
- python - OpenCV 图像处理以在 Python 中裁剪图像的斜切部分
- web-scraping - 使用beautifulsoup从网页中抓取图像“src”文本和表格
- amazon-s3 - S3 对象未更新
- php - 匹配表中的mysql通配符条目以进行查询
- angular - 激活路由可选参数 observable 发出每个字符而不是整个字符串
- javascript - 如何创建类似于`context.Provider`/`context.Consumer`的结构来在机器人应用程序中传递值?
- python - 如何验证包含“时间”的字符串应该是这样的:99:99:99.99?
- mysql - 错误“对于此服务器版本,SELECT 在此位置的输入无效,在 MySQL Workbench 中应为:'(' WITH"