【发布时间】:2020-10-02 16:10:16
【问题描述】:
我几乎不会尝试使用从先前列表中选择的 NaN 值填充某些列。代码将转到 else 路径,并且永远不会进行正确的修改...
df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],
'B': [0.0, np.nan, np.nan, 100],
'C': [20, 0.0002, 10000, np.nan],
'D': ['D0', 'D1', 'D2', 'D3']},
index=[0, 1, 2, 3])
num_cols = ['B', 'C']
fill_mean = lambda col: col.fillna(col.mean()) if col.name in num_cols else col
df2.apply(fill_mean, axis=1)
【问题讨论】:
-
你能添加你的预期输出吗?
-
df1.fillna(df1.mean()) 将根据该列的平均值在列中填充 NA,因此您在这里并不需要 LC
标签: pandas apply multiple-columns