1 统计空值
# print(data.isnull().any()) # 判断哪些列存在缺失值 # print(data[data.isnull().values==True]) # 判断单元是否为缺失值
下面是统计空值的个数
import pandas as pd import numpy as np data={ 'a':[1,2,3,4], 'b':[3,5,np.nan,np.nan], 'c':[np.nan,0,np.nan,0], } df=pd.DataFrame(data) print(df)
创建了一个df,输出如下
a b c 0 1 3.0 NaN 1 2 5.0 0.0 2 3 NaN NaN 3 4 NaN 0.0
输出每个数据是否为空值
print(df.isnull())
a b c 0 False False True 1 False False False 2 False True True 3 False True False
统计空值的个数,下面两种方式效果一样
print(df.isnull().astype(int).sum()) print(df.shape[0]-df.count())
a 0 b 2 c 2 dtype: int64 a 0 b 2 c 2 dtype: int64
判断某一列是否存在空值;判断空值所在的行
print(df[df.T.isnull().any()].columns) print(len(df.columns[df.isna().any()].tolist())) print(df[df.isnull().values==True])
2 去除重复项
DataFrame.drop_duplicates(subset=None, keep='first', inplace=False)
- subset : column label or sequence of labels, optional
用来指定特定的列,默认所有列- keep : {‘first’, ‘last’, False}, default ‘first’
删除重复项并保留第一次出现的项- inplace : boolean, default False
是直接在原来数据上修改还是保留一个副本
3 pandas 修改列名
df.rename(columns={'oldName1': 'newName1', 'oldName2': 'newName2'})
4 pandas 取某一列的值
df.iloc[:,0].values # 第一列的值
总结
- 在pandas中,大部分方法如果有参数inplace这个参数,取值为False时修改pandas后不替换原来的df;如果为True时,修改df后替换原先的值