如何一次将函数应用于 pandas 数据框中的多个列 [英] how to apply a function to multiple columns in a pandas dataframe at one time

查看:44
本文介绍了如何一次将函数应用于 pandas 数据框中的多个列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I frequently deal with data which is poorly formatted (I.e. number fields are not consistent etc)

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

There may be other ways, which I am not aware of but the way I format a single column in a dataframe is by using a function and mapping the column to that function.

format = df.column_name.map(format_number)

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

Question: 1 - what if I have a dataframe with 50 columns, and want to apply that formatting to multiple columns, etc column 1, 3, 5, 7, 9,

你能去吗

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

..这样我可以将所有数字列设置为一行吗?

.. This way I could format all my number columns in one line?

推荐答案

您可以执行df[['Col1', 'Col2', 'Col3']].applymap(format_number).注意,尽管这将返回新的列;它不会修改现有的DataFrame.如果要将值恢复为原始值,则必须执行df[['Col1', 'Col2', 'Col3']] = df[['Col1', 'Col2', 'Col3']].applymap(format_number).

You can do df[['Col1', 'Col2', 'Col3']].applymap(format_number). Note, though that this will return new columns; it won't modify the existing DataFrame. If you want to put the values back in the original, you'll have to do df[['Col1', 'Col2', 'Col3']] = df[['Col1', 'Col2', 'Col3']].applymap(format_number).

这篇关于如何一次将函数应用于 pandas 数据框中的多个列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆