import pandas as pd
df = pd.DataFrame({"姓名":["张三", "李四", "王五", "顾六", "老七"], "基本工资":[3000,np.nan,3000,4000,5000], "总工资":[np.nan, 2000,3000,np.nan,np.nan]})
df
姓名 基本工资 总工资
0 张三 3000.0 NaN
1 李四 NaN 2000.0
2 王五 3000.0 3000.0
3 顾六 4000.0 NaN
4 老七 5000.0 NaN
现在想用“基本工资”列中的非空值去填充”总工资“列中的空缺值
方法一:
df.loc[df['总工资'].isna(),'总工资'] = df[df['总工资'].isna()]['基本工资']
df
姓名 基本工资 总工资
0 张三 3000.0 3000.0
1 李四 NaN 2000.0
2 王五 3000.0 3000.0
3 顾六 4000.0 4000.0
4 老七 5000.0 5000.0
方法二:
df['总工资'].fillna(df['基本工资'],inplace=True)
df
姓名 基本工资 总工资
0 张三 3000.0 3000.0
1 李四 NaN 2000.0
2 王五 3000.0 3000.0
3 顾六 4000.0 4000.0
4 老七 5000.0 5000.0