Pandas:在列中查找唯一值并对它们进行排序
您可以使用以下基本语法在 pandas DataFrame 的列中查找唯一值,然后对它们进行排序:
df[' my_column ']. drop_duplicates (). sort_values ()
这将返回一个 pandas 系列,其中包含按升序排序的列中的每个唯一值。
要按降序对唯一值进行排序,请使用ascending=False :
df[' my_column ']. drop_duplicates (). sort_values (ascending= False )
以下示例展示了如何在实践中使用此语法。
示例:在 Pandas 列中查找唯一值并对它们进行排序
假设我们有以下 pandas DataFrame:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B'], ' points ': [5, 5, 9, 12, 12, 5, 10, 13, 13, 19]}) #view DataFrame print (df) team points 0 to 5 1 to 5 2 to 9 3 to 12 4 to 12 5 B 5 6 B 10 7 B 13 8 B 13 9 B 19
我们可以使用以下语法来获取点列的唯一值,然后将它们按升序排序:
#get unique values in points column and sort them
df[' points ']. drop_duplicates (). sort_values ()
0 5
2 9
6 10
3 12
7 13
9 19
Name: points, dtype: int64
输出显示点列中按升序排序的每个唯一值:
- 5
- 9
- 十
- 12
- 13
- 19
我们还可以通过在sort_values()函数中指定ascending=False来获取按降序排序的points列中的唯一值:
#get unique values in points column and sort them in descending order
df[' points ']. drop_duplicates (). sort_values (ascending= False )
9 19
7 13
3 12
6 10
2 9
0 5
Name: points, dtype: int64
输出显示点列中按降序排序的每个唯一值:
- 19
- 13
- 12
- 十
- 9
- 5
注意:您可以在此处找到 pandas drop_duplicates()函数的完整文档。
其他资源
以下教程解释了如何在 pandas 中执行其他常见功能:
Pandas:如何在 DataFrame 中选择单行
Pandas:如何从索引列获取唯一值
Pandas:如何计算两列的唯一组合