📅  最后修改于: 2023-12-03 15:11:58.459000             🧑  作者: Mango
在数据分析中,我们经常需要对数据中的某些值进行计数。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()
函数可用于对数据进行分组并计数。这些函数可帮助我们轻松地分析和可视化数据。