python数据分析 利用pandas依次统计每一列特征值的个数

img

怎么样可以统计这个表每一列中0,1,2的个数

依次统计, 那就是要遍历咯。 以下是算 1 的个数。

df1_columns = df1.columns
df1_count = [0 for n in range(len(df1_columns))]
for i in range(df1.shape[0]):
    for n in range(len(df1_columns))  :
        if df1[df1_columns[n]][i] == 1:
            df1_count[n] = df1_count[n] + 1
for  n in range(len(df1_columns):
    print(df1_columns[n],df1_count[n])


使用value_counts函数:

import pandas as pd

df=pd.DataFrame({'a':[0,1,0,2,0],'b':[0,0,2,0,1],'c':[1,1,2,2,0]})
res=[]
for d in df.columns:
    res.append(df[d].value_counts())
print(res)

如有帮助请点采纳。

import pandas as pd
import numpy as np

d = {'A': [0, 0, 2, 0, 1, 3, 1], 'B': [0, 1, 1, 1, 0, 2, 1], }
df = pd.DataFrame(data = d)
print(df)

def f(se):
    return se.groupby(se).count()

df = df.apply(f)
print(df.iloc[:3, ])
'''--result
   A  B
0  0  0
1  0  1
2  2  1
3  0  1
4  1  0
5  3  2
6  1  1
   A    B
0  3  2.0
1  2  4.0
2  1  1.0
'''