何时在Pandas中使用.count()和.value_counts()?

问题描述 投票:0回答:3

我正在学习熊猫。我不知道何时使用.count()功能以及何时使用.value_counts()

python pandas
3个回答
1
投票

value_counts()汇总数据并计算每个唯一值。你可以通过使用groupby来实现同样的目标,count()是一个更广泛的函数来聚合pandas中的数据。

df = pd.DataFrame({'Id':['A', 'B', 'B', 'C', 'D', 'E', 'F', 'F'], 'Value':[10, 20, 15, 5, 35, 20, 10, 25]}) print(df) Id Value 0 A 10 1 B 20 2 B 15 3 C 5 4 D 35 5 E 20 6 F 10 7 F 25 # Value counts df['Id'].value_counts() F 2 B 2 C 1 A 1 D 1 E 1 Name: Id, dtype: int64 # Same operation but with groupby df.groupby('Id')['Id'].count() Id A 1 B 2 C 1 D 1 E 1 F 2 Name: Id, dtype: int64 # Count() df['Id'].count() 8 只返回您应用它的列(系列)中的非NaN / Null值的数量。

NaN

使用count值和print(df) Id Value 0 A 10 1 B 20 2 B 15 3 NaN 5 4 D 35 5 E 20 6 F 10 7 F 25 df['Id'].count() 7 的示例:

df = pd.DataFrame({"A":[10, 8, 12, None, 5, 3],  
                   "B":[-1, None, 6, 4, None, 3], 
                   "C":["Shreyas", "Aman", "Apoorv", np.nan, "Kunal", "Ayush"]})

1
投票

count()用于计算给定轴上非NA / null观测值的数量。它也适用于非浮动类型的数据。

现在作为示例创建一个数据帧df

df.count(axis = 0)

找到行轴上的非NA值的计数。

A    5
B    4
C    5
dtype: int64

输出:

df.count(axis = 1) 

找到列中非NA / null值的数量。

0    3
1    2
2    3
3    1
4    2
5    3
dtype: int64    

输出:

s = pd.Series([3, 1, 2, 3, 4, np.nan]) 
s.value_counts()

value_counts()函数返回包含唯一值计数的Series。生成的对象将按降序排列,以便第一个元素是最常出现的元素。默认情况下排除NA值。

因此,对于下面显示的示例

3.0    2
4.0    1
2.0    1
1.0    1
dtype: int64

输出将是:

count()

0
投票

value_counts()返回系列中非空值的总数。

ser = pd.Series(list('aaaabbbccdef')) ser > 0 a 1 a 2 a 3 a 4 b 5 b 6 b 7 c 8 c 9 d 10 e 11 f dtype: object ser.count() > 12 ser.value_counts() > a 4 b 3 c 2 f 1 d 1 e 1 dtype: int64 返回一系列每个唯一非空值出现的次数,从最频繁到最不频繁排序。

像往常一样,一个例子是传达这一点的最佳方式:

count()

请注意,数据框具有count()方法,该方法为df中的每列返回一系列value_counts()(标量)值。但是,数据帧没有qazxswpoi方法。

© www.soinside.com 2019 - 2024. All rights reserved.