【发布时间】:2022-07-06 03:04:49
【问题描述】:
我正在尝试对包含几百列数据的数据集进行优化。我想为数据框创建一个新列,该列将包含其行数据的winsorized结果。如何使用 pandas 数据框执行此操作而无需指定每一列(我想使用所有列)?
编辑:我想使用函数 'winsorize(list, limits = [0.1,0.1])' 但我不确定如何格式化数据框行以作为列表工作。
【问题讨论】:
标签: python pandas dataframe function
我正在尝试对包含几百列数据的数据集进行优化。我想为数据框创建一个新列,该列将包含其行数据的winsorized结果。如何使用 pandas 数据框执行此操作而无需指定每一列(我想使用所有列)?
编辑:我想使用函数 'winsorize(list, limits = [0.1,0.1])' 但我不确定如何格式化数据框行以作为列表工作。
【问题讨论】:
标签: python pandas dataframe function
一些提示:
apply 和 axis=1 将函数应用于每一行。Series 对象,但您可以使用 tolist 方法轻松地将其转换为列表例如:
df.apply(lambda x: winsorize(x.tolist(), limits=[0.1,0.1]), axis=1)
【讨论】: