[英]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.