我正在学习熊猫。我不确定何时使用.count()
函数以及何时使用.value_counts()
。
答案 0 :(得分:1)
value_counts()
汇总数据并计算每个唯一值。您可以通过使用groupby
来实现相同目的,count()
是一种更广泛的功能,可以在熊猫中聚合数据。
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
:
public class Test
{
public int val ;
private Test(int sent)
{
val=val +sent;
}
public static void Callme(int GetVal)
{
Test obj=new Test(GetVal);
Console.WriteLine(obj.val);
}
}
public class Program
{
public static void Main()
{
Test.Callme(10);
//Console.WriteLine(Test.val);
Test.Callme(20);
//Console.WriteLine(Test.val);
}
}
答案 1 :(得分:1)
count()用于对给定轴上的非NA /空观测值进行计数。它也适用于非浮动类型的数据。
现在作为示例,创建一个数据框df
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"]})
在整个行轴上查找非NA值的计数。
df.count(axis = 0)
输出:
A 5
B 4
C 5
dtype: int64
在整个列中查找非NA /空值的数量。
df.count(axis = 1)
输出:
0 3
1 2
2 3
3 1
4 2
5 3
dtype: int64
value_counts()函数返回包含唯一值计数的Series。生成的对象将按降序排列,以便第一个元素是最频繁出现的元素。默认情况下不包括NA值。
所以对于下面显示的示例
s = pd.Series([3, 1, 2, 3, 4, np.nan])
s.value_counts()
输出为:
3.0 2
4.0 1
2.0 1
1.0 1
dtype: int64
答案 2 :(得分:0)
count()
返回序列中非空值的总数。
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()
方法,该方法为df中的每一列返回一系列count()
(标量)值。但是,数据框没有value_counts()
方法。