python - 如何一次将函数应用于 Pandas 数据框中的多列

标签 python pandas filtering slice

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

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

format = df.column_name.map(format_number)

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

你能走吗:

format = df.1,3,5,9.map(format_number)

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

最佳答案

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

关于python - 如何一次将函数应用于 Pandas 数据框中的多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22086619/

相关文章:

python - 我可以使用别名从 python 脚本执行程序吗

javascript - lodash 按数组的属性数组过滤

Javascript 嵌套 .map() 返回多个数组

javascript - 带有远程过滤器和排序的 ExtJS 无限滚动网格

python - matplotlib.animation - 属性错误 : 'NoneType' object has no attribute 'new_timer'

python - Python中的格式化字符串和命名参数

python - 无法使用 ijson 访问顶级元素?

python - Pandas 的指数拟合

pandas - 按级别子图多索引数据

python - 为什么使用索引匹配列将 Series 连接到 DataFrame 不起作用?