📅  最后修改于: 2023-12-03 15:09:15.194000             🧑  作者: Mango
在数据分析和处理中,经常需要统计数据框中每个列的不同值的个数,以便分析数据的分布和特征。本文将介绍如何使用 Pandas 计算数据框列的不同值。
Pandas 提供了 value_counts() 方法来计算每个列的不同值的频数。它可以用来计算 Series 对象的不同值,也可以用于 DataFrame 对象的每一列。
下面是一个示例代码,演示如何使用 value_counts() 方法计算数据框每一列的不同值。
import pandas as pd
# 创建一个数据框
data = {'A': [1, 2, 3, 4, 5], 'B': [1, 1, 2, 2, 3], 'C': ['cat', 'dog', 'cat', 'cat', 'bird']}
df = pd.DataFrame(data)
# 计算每列的不同值
for col in df.columns:
print(col, ':')
print(df[col].value_counts())
这段代码将输出每列的不同值及其频数,如下所示:
A :
5 1
4 1
3 1
2 1
1 1
Name: A, dtype: int64
B :
2 2
1 2
3 1
Name: B, dtype: int64
C :
cat 3
dog 1
bird 1
Name: C, dtype: int64
另一种计算每列不同值的方法是使用 unique() 和 len() 方法。unique() 方法返回一个数组,包含 Series 或 DataFrame 中不同的值,然后使用 len() 方法计算这个数组的长度,即不同值的个数。
下面是一个示例代码,演示如何使用 unique() 和 len() 方法计算数据框每一列的不同值。
import pandas as pd
# 创建一个数据框
data = {'A': [1, 2, 3, 4, 5], 'B': [1, 1, 2, 2, 3], 'C': ['cat', 'dog', 'cat', 'cat', 'bird']}
df = pd.DataFrame(data)
# 计算每列的不同值
for col in df.columns:
print(col, ':', len(df[col].unique()))
这段代码将输出每列的不同值的个数,如下所示:
A : 5
B : 3
C : 3
本文介绍了两种计算 Pandas 数据框列的不同值的方法,分别是 value_counts() 和 unique() + len()。这两种方法都很简单易懂,并且能够满足大多数的需求。如果您需要更高级的计算操作,可以参考 Pandas 的官方文档。