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'})
总结
- 在pandas中,大部分方法如果有参数inplace这个参数,取值为False时修改pandas后不替换原来的df;如果为True时,修改df后替换原先的值
网友评论