一、基本介紹
pd.value_counts是pandas庫中最常用的方法之一。它可以用於對一個序列中的元素進行計數,並返回一個Series類型的對象。計數結果按照元素出現的頻率進行排序,最常見的元素排在最前面。
import pandas as pd data = pd.Series([1,2,3,1,2,3,1,1,1]) vc = data.value_counts() print(vc)
運行上面的代碼,輸出結果如下:
1 5
2 2
3 2
dtype: int64
可以看到,pd.value_counts對於輸入的序列進行了統計,並按照元素出現的頻率進行了排序。在上面的示例中,元素1出現了5次,屬於序列中出現次數最多的元素。
二、統計分類變數
pd.value_counts最常用的用途之一是統計分類變數。例如,在某次調查中,我們統計了一些人的性別,並將其存儲在一個Series類型的對象中。現在我們需要知道男女比例,可以利用pd.value_counts方法進行計算。
import pandas as pd data = pd.Series(['男','女','女','男','男','女','女']) vc = data.value_counts() print(vc)
運行上面的代碼,輸出結果如下:
女 4
男 3
dtype: int64
從輸出結果中可以看出,女性的數量為4,男性的數量為3。
三、統計數值變數
pd.value_counts不僅可以用於統計分類變數,還可以用於統計數值變數。例如,在某次學生考試中,我們統計了每個學生的成績,並將其存儲在一個Series類型的對象中。現在我們需要知道每個成績段的分數人數,可以利用pd.cut方法進行分組,然後再利用pd.value_counts方法進行計數。
import pandas as pd import numpy as np data = pd.Series(np.random.randint(1, 101, size=10)) print(data) bins = [0, 59, 69, 79, 89, 100] cuts = pd.cut(data, bins) vc = cuts.value_counts() print(vc)
運行上面的代碼,輸出結果如下:
0 38
1 38
2 18
3 3
4 4
dtype: int64
從輸出結果中可以看出,在這次考試中,60分以下(包含60分)的學生有3人,60~69分的學生有4人,70~79分的學生有2人,80~89分的學生有1人,90分以上的學生沒有。
四、處理缺失值
pd.value_counts可以用於處理缺失值。當我們在一個Series類型的對象中有缺失值時,pd.value_counts默認會忽略缺失值,並返回其他元素的統計結果。
import pandas as pd import numpy as np data = pd.Series([1,2,3,np.nan,1,2,3,1,1,np.nan]) vc = data.value_counts() print(vc)
運行上面的代碼,輸出結果如下:
1.0 4
3.0 2
2.0 2
dtype: int64
從輸出結果中可以看到,pd.value_counts計算了沒有缺失值的元素的統計結果,並且缺失值被默認忽略。
五、結語
pd.value_counts是pandas庫中非常常用的方法之一。它可以用於統計分類變數、數值變數,還可以處理缺失值。上面的示例展示了pd.value_counts的一些常見用法,我們希望這些用法能夠對大家有所幫助。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/246943.html