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:如何计算两列的唯一组合

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注