Pandas:如何从索引列获取唯一值


您可以使用以下方法来获取pandas DataFrame的索引列的唯一值:

方法一:从索引列获取唯一值

 df. index . single ()

方法2:从MultiIndex中的特定列获取唯一值

 df. index . unique (' some_column ')

以下示例展示了如何在实践中使用此语法。

示例1:从索引列获取唯一值

假设我们有以下 pandas DataFrame:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   ' points ': [18, 22, 19, 14, 14, 11, 20, 28],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4]},
                   index = [0, 1, 1, 1, 2, 2, 3, 4])

#view DataFrame
print (df)

  team points assists
0 to 18 5
1 B 22 7
1 C 19 7
1 D 14 9
2 E 14 12
2 F 11 9
3 G 20 9
4:28 4

我们可以使用以下语法来获取DataFrame的索引列的唯一值:

 #get unique values from index column 
df. index . single ()

Int64Index([0, 1, 2, 3, 4], dtype='int64')

输出显示索引列中的每个唯一值。

我们还可以使用len()函数来统计索引列中唯一值的数量:

 #count number of unique values in index column 
len ( df.index.unique ( ))

5

我们可以看到DataFrame的索引列中有5个唯一值。

示例2:从MultiIndex中的特定列获取唯一值

假设我们有以下 pandas DataFrame:

 import pandas as pd
#define index values
index_names = pd. MultiIndex . from_tuples ([(' West ',' A '),
                                         (' West ', ' A '),
                                         (' West ', ' B '),
                                         (' East ', ' C '),
                                         (' East ', ' C '),
                                         (' East ', ' D ')],
                                       names=[' Division ', ' Team '])

#define data values
data = {' Sales ': [12, 44, 29, 35, 44, 19]}

#createDataFrame
df = pd. DataFrame (data, index=index_names)

#view DataFrame
print (df)

               Sales
Division Team       
West A 12
         At 44
         B29
East C 35
         C 44
         D 19

请注意,此 DataFrame 有一个 multiIndex。

我们可以使用以下语法来获取multiIndex的单个Team列的唯一值:

 #get unique values from Team column in multiIndex
df. index . single (' Team ')

Index(['A', 'B', 'C', 'D'], dtype='object', name='Team')

输出显示 multiIndex 的Team列中的四个唯一值:A、B、C 和 D。

我们可以使用类似的语法从 multiIndex 的Division列中提取唯一值:

 #get unique values from Division column in multiIndex
df. index . single (' Division ')

Index(['West', 'East'], dtype='object', name='Division')

输出显示了 multiIndex 的Division列的两个唯一值:West 和 East。

其他资源

以下教程解释了如何在 pandas 中执行其他常见功能:

如何在 Pandas 中将索引转换为列
如何重命名 Pandas 中的索引
如何在 Pandas 中将列设置为索引

添加评论

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