繁体   English   中英

排序过滤 Pandas Dataframe

[英]Sorting and Filtering Pandas Dataframe

我正在尝试过滤和排序 Pandas dataframe 以清理我的数据。 我查看了 StackOverflow,似乎找不到可以为我提供所需排序和过滤的方法。 我正在使用的数据如下所示:

| Name 1 | Name 2 | Score |
| ------ | ------ | ----- | 
| Amy | Jack | 2.456 | 
| Amy | Jack | 3.234 | 
| Amy | Jack | 5.124 | 
| ... | ... | ... | 
| Max | Jane | 8.569 |
| Max | Jane | 4.654 |
| Max | Jane | 6.349 |

我想做一个新的 dataframe 出每对名字的最低分。 所以生成的 dataframe 将是这样的:

| Name 1 | Name 2 | Score |
| ------ | ------ | ----- | 
| Amy | Jack | 2.456 | 
| ... | ... | ...|
| Max | Jane | 4.654 | 

利用:

df = df.groupby(['Name 1', 'Name 2'], as_index = False).agg(Score = ('Score', 'min'))

Output:

>>> df
  Name1 Name2  Score
0   Amy  Jack  2.456
1   Max  Jane  4.654

您还可以使用sort_values()groupby()方法:

df.sort_values(by='Score').groupby(['Name 1', 'Name 2'], as_index = False).first()

或者

使用sort_values()drop_duplicates()方法:

df.sort_values(by='Score').drop_duplicates(subset=['Name 1', 'Name 2'])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM