Pandas:如何计算两列的唯一组合


您可以使用以下语法来计算 pandas DataFrame 中两列中唯一组合的数量:

 df[[' col1 ', ' col2 ']]. value_counts (). reset_index (name=' count ')

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

示例:计算 Pandas 中两列的唯一组合

假设我们有以下 pandas DataFrame,显示了各个篮球运动员的球队位置

 import pandas as pd

#create dataFrame
df = pd. DataFrame ({' team ': ['Mavs', 'Mavs', 'Mavs', 'Mavs',
                            'Heat', 'Heat', 'Heat', 'Heat'],
                   ' position ': ['Guard', 'Guard', 'Guard', 'Forward',
                                'Guard', 'Forward', 'Forward', 'Guard']})
#view DataFrame
df

        team position
0 Mavs Guard
1 Mavs Guard
2 Mavs Guard
3 Mavs Forward
4 Heat Guard
5 Heat Forward
6 Heat Forward
7 Heat Guard

我们可以使用以下语法来计算独特的团队位置组合的数量:

 df[[' team ', ' position ']]. value_counts (). reset_index (name=' count ')

        team position count
0 Mavs Guard 3
1 Heat Forward 2
2 Heat Guard 2
3 Mavs Forward 1

从结果我们可以看出:

  • 小牛和后卫的组合出现了3 次
  • 热力-前锋组合出现2 次
  • 热卫组合出现2次。
  • 小牛-前锋组合出现1 次

请注意,您还可以按升序或降序对结果进行排序。

例如,我们可以使用以下代码将结果按数字升序排序:

 df[[' team ', ' position ']]. value_counts (ascending= True ). reset_index (name=' count ')

        team position count
0 Mavs Forward 1
1 Heat Forward 2
2 Heat Guard 2
3 Mavs Guard 3

结果现在按数字从小到大排序。

注意:您可以在此处找到 pandas value_counts()函数的完整文档。

其他资源

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

Pandas:如何使用 GroupBy 和值计数
Pandas:如何使用 GroupBy 和 bin 计数
Pandas:如何创建包含多个值的数据透视表

添加评论

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