import pandas as pd
import numpy as np
data=[[i+np.random.randint(-2,2) for i in range(5)] for _ in range(10)]
frame=pd.DataFrame(data,columns=['a','b','c','d','e'])
frame
得到数据如下:
- 对于列和行特征数据进行统计,注意一种是对于数据的筛选统计实现,一种是进行bool判断,转为bool类型进行求和
#对于特征列元素出现个数的统计 print(frame[frame["a"]==1]["a"].count()) #筛选出相应列中满足条件的元素,如下表示"a"列中在第4、5行中找寻到为1的元素 #4 1 #5 1 #而后对元素值个数进行统计为2 print((frame["a"]==1).sum()) #转为bool类型,对于True进行求和 #对于特征行中某元素出现个数的统计 print((frame.iloc[2,:]==1).sum())
- 对于 某一区域统计
#输出的是一个布尔型的dataframe,判断依据为元素值是否为2 print(frame.iloc[2:5]==2) print() #第一个sum默认沿着列方向进行求和 print((frame.iloc[2:5]==2).sum()) print() #第二个frame沿着行求和,从而统计出元素为2的个数 print((frame.iloc[2:5]==2).sum().sum())
输出如下: