使用Python做数据分析时经常需要替换缺失值。
1. np.where(条件,x,y)
np.where函数的结果是,如果“条件”为真,则x,否则y。
2.如下
import pandas as pd
import numpy as np
df = pd.DataFrame(data={
'A':[1,1,np.nan,2],
'B':[2,np.nan,4,5],
'C':[3,8,12,6]
})
df
A B C
0 1.0 2.0 3
1 1.0 NaN 8
2 NaN 4.0 12
3 2.0 5.0 6
使用np.where在A列缺失值处填C列的数
df['A'] = np.where(df['A'].isnull(),df['C'],df['A'])
df
A B C
0 1.0 2.0 3
1 1.0 NaN 8
2 12.0 4.012
3 2.0 5.0 6
####################
使用data(DataFrame)的A列,填补df的A列
eg:
df['A'] = np.where(df['A'].isnull(),data['A'],df['A'])