第十四节 pandas缺失值处理

import pandas as pd
pd.options.display.max_rows = 10  # 设置显示行数

df1 = pd.read_csv(r'E:\anacondatest\PythonData\高校信息.csv', encoding='gbk', index_col='学校名称')

# 系统默认缺失值None和np.nan,两者和核心区别在于是否能够比较
df1.名次.iloc[:3] = None
# print(df1.名次.isna())
import numpy as np
df1.名次.iloc[:5] = np.nan
# pd.options.mode.use_inf_as_na  设定inf和-inf是否认定为缺失值

# 缺失值处理,标识缺失值
df2na = df1.replace(['北京', 100], [np.nan, np.nan])
df2na.replace(['北京', 100], [np.nan, np.nan]).isna()
df2na.isna().any(1)  # 1表示列
print(df2na[df2na.isna().any(1)])

# 填充缺失值
df1.replace(['北京', 100], [np.nan, np.nan]).fillna('未知')

# 删除缺失值
df1.dropna(axis=1, how='all')  # all全部NA才删除,any任何一个为Na就删除

# 数据查重
df1['是否重复数据'] = df1.duplicated(['类型', '所在省份'])  # 类型,所在省份都相等才算重复

# 删除重复行
df1.drop_duplicates(['类型', '所在省份'])

猜你喜欢

转载自www.cnblogs.com/kogmaw/p/12563390.html