我对python很新,并且想知道是否可以循环遍历一堆列并用另一个具有相同名称但带有后缀的列替换缺失值。
例如:
--- --- OBS | --- --- COL1 | --- --- COL2 | --- --- col1_suffix | --- --- col2_suffix |
---- ----- 1 | --- ---的NaN | ---- ----- 50 | ------ 20 ---------- | ----- 60 ------------
---- ----- 2 | --- --- 200 | ---- ----的NaN | ------ 30 --------- | ------ 100 ---------
将要从col1到colN循环,并将NaN替换为col1_suffix中的值,直到colN_suffix。因此,在上面的示例中,col1 NaN将替换为值20,col2 NaN将替换为100.
答案 0 :(得分:2)
假设您使用的是panda
,您可以这样做:
for col in ['col1', 'col2']:
df[col] = df[col].fillna(df[col+'_suffix'])
更通用的版本:
for col in df.columns:
if col+'_suffix' in df.columns:
df[col] = df[col].fillna(df[col+'_suffix'])