目录

空值填充 

 重复数据

 异常数据


 

空值填充 

import pandas as pd
import numpy as np
df = pd.DataFrame(data=np.random.randint(0,100,size=(8,6)))
df.iloc[0,3] = np.nan
df.iloc[2,3] = None
df.iloc[4,4] = np.nan
df.iloc[5,2] = None
df

# 水平方向空值前的值用来填充
df.fillna(method='ffill',axis=1)

 

# 垂直方向空值前的值用来填充
df.fillna(method='ffill',axis=0)

# 首行有空值,用空值前一行填充的话,首行的空值会遗漏,所以再增加空值后一行填充
df.fillna(method='ffill',axis=0).fillna(method='bfill',axis=0)

# 检查是否填充完整
df.isnull().any(axis=0)

df.fillna(method='ffill',axis=0).fillna(method='bfill',axis=0).isnull().any(axis=0)

 重复数据

# 处理重复数据
df = pd.DataFrame(data=np.random.randint(0,100,size=(8,4)))
df.iloc[2] = [0,0,0,0]
df.iloc[4] = [0,0,0,0]
df.iloc[5] = [0,0,0,0]
df

df.drop_duplicates(keep='first')

df.drop_duplicates(keep='last')

 

df.drop_duplicates(keep=False)

 异常数据

# 处理异常数据
# 自定义一个1000行3列(A,B,C) 取值范围为0-1的数据源,然后将C列中的值大于其两倍标准差的异常值进行清洗
df = pd.DataFrame(data=np.random.random(size=(1000,3)),columns=['A','B','C'])
df.head()

 

twice_std = df['C'].std()*2
df.loc[~(df['C']>twice_std)]

 

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐