一、count()函數簡介
在數據分析中,經常需要對數據進行統計分析,其中一個重要的統計指標是數據的計數。Pandas庫中的Dataframe是一個二維大小可變的表格型數據結構,count()函數可以用於對Dataframe中每一列的非空觀測值進行計數操作,以生成計數結果。
import pandas as pd
# 創建一個Dataframe
data = {'name': ['A', 'B', 'C', 'D', 'E'],
'age': [18, 21, 22, 19, 20],
'gender': ['M', 'M', 'F', 'F', 'F']}
df = pd.DataFrame(data)
# 使用count()函數統計每一列的非空觀測值
count_df = df.count()
print(count_df)
輸出結果如下:
name 5
age 5
gender 5
dtype: int64
可以發現,count()函數會返回一個Series類型的結果,其中包含每一列的計數結果。
二、count()函數的使用方法
1. 對單列進行計數
可以使用Dataframe的某一列作為參數來對該列進行計數操作。比如,我們可以使用以下代碼統計Dataframe中name列的非空觀測值:
count_name = df['name'].count()
print(count_name)
輸出結果如下:
5
可以發現,count_name的值為5,說明name列中有5個非空觀測值。
2. 對多列進行計數
如果需要對Dataframe中的多列進行計數操作,可以使用count()函數的axis參數來指定軸向。若axis=0,則對每一列進行計數;若axis=1,則對每一行進行計數。以下是對每一列進行計數的代碼示例:
count_all = df.count(axis=0)
print(count_all)
輸出結果如下:
name 5
age 5
gender 5
dtype: int64
可以發現,count_all的結果與之前的count_df相同。
3. 對空值進行處理
在實際數據處理中,Dataframe中的觀測值往往存在空值NaN的情況。如果不處理空值,則計數結果會受到影響。count()函數提供了一些參數來控制空值的處理。
(1)na_option參數
可以將na_option參數設置為’ignore’,該參數會忽略所有空值的影響。以下是使用na_option參數處理空值的代碼示例:
# 將Dataframe中的某一行的值設為空值
df.loc[2, 'name'] = pd.NA
# 使用na_option參數處理空值
count_ignore = df['name'].count(na_option='ignore')
print(count_ignore)
輸出結果如下:
4
可以發現,由於將第3行的name值設為空值,因此count_ignore的結果為4,使用了’ignore’參數後未考慮空值的影響。
(2)skipna參數
skipna參數默認為True,表示跳過所有空值的計算,將所有非空值進行計數。以下是使用skipna參數處理空值的代碼示例:
# 將Dataframe中的某一行的值設為空值
df.loc[2, 'name'] = pd.NA
# 使用skipna參數處理空值
count_skipna = df['name'].count(skipna=False)
print(count_skipna)
輸出結果如下:
4
可以發現,由於將第3行的name值設為空值,因此count_skipna的結果為4,使用了skipna參數後填充了空值後進行了計數操作。
三、使用count()函數的注意事項
在使用count()函數時,需要注意以下幾點:
1. count()函數只能對Dataframe中的非空值進行計數操作。
如果Dataframe中存在空值,則計數結果會受到影響。
2. count()函數只能用於Dataframe類型的變量。
如果需要對其他類型的變量進行計數操作,需要使用其他函數或方法。
3. count()函數的返回結果為Series類型。
count()函數返回的Series中,索引為Dataframe中的每一列名字,值為每一列的計數結果。
4. count()函數的axis參數需要指定軸向。
如果不指定axis參數,則默認按列(axis=0)進行計數。
四、總結
在數據分析中,經常需要對數據進行計數操作以了解數據的分布情況。Pandas庫中的count()函數可以對Dataframe中的非空值進行計數操作,並返回計數結果。在使用count()函數時需要注意處理空值的方式、指定計數軸向、返回結果的類型等問題。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/197618.html