📜  计数值 pandas - Python (1)

📅  最后修改于: 2023-12-03 15:11:58.459000             🧑  作者: Mango

计数值 Pandas - Python

在数据分析中,我们经常需要对数据中的某些值进行计数。Pandas库提供了方便的函数来实现这一功能。

常用的计数函数
value_counts()

value_counts()函数返回一个Series,它包含唯一值的计数。默认情况下,函数按计数值的降序排序。

import pandas as pd

data = {'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'foo', 'bar', 'foo'],
        'B': ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three']}

df = pd.DataFrame(data)

print(df['A'].value_counts())

这将输出以下内容:

foo    4
bar    3
Name: A, dtype: int64
groupby()

groupby()函数可以对数据进行分组。然后,我们可以对每个组中的唯一值进行计数。

import pandas as pd

data = {'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'foo', 'bar', 'foo'],
        'B': ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three']}

df = pd.DataFrame(data)

grouped = df.groupby(['A', 'B'])['A'].count()

print(grouped)

这将输出以下内容:

A    B    
bar  one      2
     three    1
     two      1
foo  one      2
     two      2
Name: A, dtype: int64
crosstab()

crosstab()函数可以对两个或多个变量进行计数,并创建一个交叉表。

import pandas as pd

data = {'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'foo', 'bar', 'foo'],
        'B': ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three']}

df = pd.DataFrame(data)

cross = pd.crosstab(df['A'], df['B'])

print(cross)

这将输出以下内容:

B    one  three  two
A                  
bar    2      1    1
foo    2      0    2
结论

这篇文章介绍了Pandas库中常用的计数函数。value_counts()函数可用于计算列中唯一值的数量,而groupby()函数和crosstab()函数可用于对数据进行分组并计数。这些函数可帮助我们轻松地分析和可视化数据。