我必须只填充一个列,当该列的所有值都为null时。例如c。
在上面的示例中,由于所有值都为null/NaN,我必须将col4的值替换为100。
因此,对于上面的示例,我需要得到以下输出。
尝试使用以下命令,但只有列中至少包含1个非NaN值时才替换该列的值。
谢谢。
df = pd.DataFrame(data = {"col1":[3, np.nan, np.nan, 21, np.nan],
"col2":[4, np.nan, 12, np.nan, np.nan],
"col3":[33, np.nan, 55, np.nan, np.nan],
"col4":[np.nan, np.nan, np.nan, np.nan, np.nan]})
>>> df
col1 col2 col3 col4
0 3.0 4.0 33.0 NaN
1 NaN NaN NaN NaN
2 NaN 12.0 55.0 NaN
3 21.0 NaN NaN NaN
4 NaN NaN NaN NaN
在上面的示例中,由于所有值都为null/NaN,我必须将col4的值替换为100。
因此,对于上面的示例,我需要得到以下输出。
col1 col2 col3 col4
0 3.0 4.0 33.0 100
1 NaN NaN NaN 100
2 NaN 12.0 55.0 100
3 21.0 NaN NaN 100
4 NaN NaN NaN 100
尝试使用以下命令,但只有列中至少包含1个非NaN值时才替换该列的值。
df.where(df.isnull().all(axis=1), df.fillna(100), inplace=True)
请问如何处理无论是否存在NaN值都替换该列的所有值?谢谢。