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 - 使用 Pygame 检测碰撞点

php - 协同过滤/推荐系统性能和方法

php - 如何通过子 json 值删除 json 元素?

python - 具有增量数字的新列,其初始值基于不同的列值(pandas)

python - 让 django-paypal 与 pycrypto 一起工作?

python - 当两个dfs有不同索引时赋值

python - 如何在pandas中的groupby中进行第一个和最后一个观察并dcast数据帧

python - Pandas 将列类型从列表转换为 np.array

r - 如何在R中绘制形状文件之前过滤形状文件

python - 使用 scipy 计算欧氏距离给出意想不到的结果