在《pandas數據框,統計某列數據與其他文件對應關係的個數》之後,我發覺簡單版的元素個數統計問題沒有說清楚,就在這裏介紹兩個統計pandas數據框裏面列、行元素個數的方法:
代碼如下:
import pandas as pd
import numpy as np
df = pd.DataFrame(np.zeros((8,4)))#新建一個數據框
df.iloc[2:6,0]=1#將第0列的第3行到第6行的值改爲1
def getlistnum(li):#這個函數就是要對列表的每個元素進行計數
li = list(li)
set1 = set(li)
dict1 = {}
for item in set1:
dict1.update({item:li.count(item)})
return dict1
zero_col_count = getlistnum(df[0])#df[0]指列名爲0的列,如果你的列名是字符串就要加引號
three_row_count = getlistnum(df.loc[3])#df.loc[0]指行名爲0的行,同樣字符串的話要加引號
新建數據框並改值
統計得到結果
當然,我們可以用pandas庫自帶的統計值函數,這樣效率更高,代碼如下:
zero_col_count = dict(df[0].value_counts())#統計第0列元素的值的個數
three_row_count = dict(df.loc[3].value_counts())#統計第3行元素的值的個數