Pandas如何将多列的多步数据处理合并为单行代码?
合并Pandas列操作的单行实现
你可以通过链式调用Pandas的矢量化方法,或者在apply中整合多步逻辑,只需要指定一次目标列名即可完成所有转换。这里推荐更高效的矢量化实现(避免apply的逐元素/逐列遍历,性能更优):
import pandas as pd df = pd.read_excel("abc.xlsx", sheet_name="sheet1") # 单行完成乘100、保留1位小数、转字符串加百分号的操作 df[['b','c']] = (df[['b','c']] * 100).round(1).astype(str) + '%'
如果坚持使用apply的方式,也可以把三步逻辑整合到同一个lambda函数中:
df[['b','c']] = df[['b','c']].apply(lambda col: (col * 100).round(1).astype(str) + '%')
两种方式都只需要指定一次['b','c']列,最终输出结果和你原来的分步操作完全一致。
内容的提问来源于stack exchange,提问作者Popeye
相关产品推荐
相关产品推荐

