如何将函数同时应用于pandas数据框中的多个列

yos*_*rry 9 python filtering slice pandas

我经常处理格式不正确的数据(即数字字段不一致等)

可能还有其他方法,我不知道,但我在数据框中格式化单个列的方式是使用函数并将列映射到该函数.

format = df.column_name.map(format_number)
Run Code Online (Sandbox Code Playgroud)

问题:1 - 如果我有一个包含50列的数据框,并希望将该格式应用于多列,等等,如第1,3,5,7,9列,该怎么办?

你可以去吗:

format = df.1,3,5,9.map(format_number)
Run Code Online (Sandbox Code Playgroud)

..这样我可以在一行中格式化我的所有数字列?

Bre*_*arn 13

你可以做到df[['Col1', 'Col2', 'Col3']].applymap(format_number).请注意,虽然这将返回新列; 它不会修改现有的DataFrame.如果您想将值重新放回原始值,则必须执行此操作df[['Col1', 'Col2', 'Col3']] = df[['Col1', 'Col2', 'Col3']].applymap(format_number).