能否使用lambda函数实现图中操作且无需罗列所有列名?
问题解答
当然可以通过lambda函数实现图中所示的批量列操作,完全不用逐一罗列所有列名。
- 如果要对所有列执行相同操作,直接用
apply()方法结合lambda即可,示例:# 示例:将所有列中的空值替换为0 df = df.apply(lambda col: col.fillna(0)) - 如果需要针对特定类型的列(比如数值型、字符串型)执行操作,可以在lambda里加类型判断:
# 示例:仅对浮点型列填充空值为0,其他列保持不变 df = df.apply(lambda col: col.fillna(0) if col.dtype == 'float64' else col) - 要是需要对每行的多列做联动操作,只需指定
axis=1参数:# 示例:计算指定列的行均值并生成新列 df['行均值'] = df.apply(lambda row: row[['列A','列B']].mean(), axis=1)
内容的提问来源于stack exchange,提问作者possizola
相关产品推荐
相关产品推荐

