1.获取存在缺失值的行或列
在进行缺失值筛选时,可以对缺失严重的行和列进行删除,首先进行缺失值的确定。
(1)缺失值的列和每列的缺失情况
#对每列的缺失值进行统计,并逆序排列
data.isnull.sum().sort_values(ascending=False)
(2)缺失值的行和每行的缺失情况
#对每行的缺失值进行统计,并逆序排列
data.isnull.sum(axis=1).sort_values(ascending=False)
(3)获取以列为单位的指定缺失值个数的列名
#num是阈值,可以设定满足条件的数值
num =0
columns=[]
for i in list(Udata.columns[Udata.isnull().sum(axis=0)>num]):columns.append(i)
(4)获取以行为单位的指定缺失值个数的行名
#num是阈值,可以设定满足条件的数值
num =0
rows = []
for row in list(data.index[data.isnull().sum(axis=1)>=num]):rows.append(row)
2.DataFrame的后列数据减前列数据,并返回DataFrame
apply用法:
- Series,自动遍历整个 Series,按照相对应的函数进行运算
- DataFrame,自动遍历整个Dataframe,按照行或列进行运算
a = pd.DataFrame([[1,2,3],[3,4,5],[3,4,5]],columns=['1','2','3'])def point(a):b_list = []for i in range(2,4):print(a[str(i)])b = a[str(i)]-a[str(i-1)]b_list.append(b)return pd.DataFrame(b_list)
b = a.apply(point,axis=1)b= b.apply(pd.Series,index=[str(i) for i in range(len(b.iloc[0]))])