迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

将函数应用于 Pandas DataFrame 中的多个列

作者:迹忆客 最近更新:2024/04/20 浏览次数:

本文将介绍如何将函数应用于 Pandas DataFrame 中的多个列。在所有示例代码中,我们将使用以下相同的 DataFrame。

import pandas as pd
import numpy as np

df = pd.DataFrame(
    [[5, 6, 7, 8], [1, 9, 12, 14], [4, 8, 10, 6]], columns=["a", "b", "c", "d"]
)

输出:

   a  b   c   d
0  5  6   7   8
1  1  9  12  14
2  4  8  10   6

使用 apply() 将函数应用到 Pandas 中的列

apply() 方法允许对整个 DataFrame 应用一个函数,可以跨列或跨行。我们将参数 axis 设置为 0 代表行,1 代表列。

在下面的例子中,我们将使用前面定义的函数来递增示例 DataFrame 的值。

import pandas as pd
import numpy as np

df = pd.DataFrame(
    [[5, 6, 7, 8], [1, 9, 12, 14], [4, 8, 10, 6]], columns=["a", "b", "c", "d"]
)


def x(a):
    return a + 1


df_new = df.apply(x, axis=1)

print("The original dataframe:")
print(df)
print("The new dataframe:")
print(df_new)

输出:

The original dataframe:
   a  b   c   d
0  5  6   7   8
1  1  9  12  14
2  4  8  10   6
The new dataframe:
   a   b   c   d
0  6   7   8   9
1  2  10  13  15
2  5   9  11   7

我们也可以将一个函数应用于多列,如下图所示。

import pandas as pd
import numpy as np

df = pd.DataFrame(
    [[5, 6, 7, 8], [1, 9, 12, 14], [4, 8, 10, 6]], columns=["a", "b", "c", "d"]
)

print("The original dataframe:")
print(df)


def func(x):
    return x[0] + x[1]


df["e"] = df.apply(func, axis=1)

print("The new dataframe:")
print(df)

输出:

The original dataframe:
   a  b   c   d
0  5  6   7   8
1  1  9  12  14
2  4  8  10   6
The new dataframe:
   a  b   c   d   e
0  5  6   7   8  11
1  1  9  12  14  10
2  4  8  10   6  12

新添加的 e 列是 ab 列中数据的总和。DataFrame 本身是传递给函数的隐藏参数。可以像上面的例子一样用索引来访问列,或者用列名来访问,如下所示。

import pandas as pd
import numpy as np

df = pd.DataFrame(
    [[5, 6, 7, 8], [1, 9, 12, 14], [4, 8, 10, 6]], columns=["a", "b", "c", "d"]
)

print("The original dataframe:")
print(df)

df["e"] = df.apply(lambda x: x.a + x.b, axis=1)

print("The new dataframe:")
print(df)

它执行的操作和上面的例子一样。我们在这里使用了一个 lambda 函数。x.ax.b 指的是 DataFrame 中的列 ab

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

计算 Pandas DataFrame 列的数量

发布时间:2024/04/20 浏览次数:113 分类:Python

本教程解释了如何使用各种方法计算 Pandas DataFrame 的列数,例如使用 shape 属性、列属性、使用类型转换和使用 info() 方法。

更改 Pandas DataFrame 列的顺序

发布时间:2024/04/20 浏览次数:116 分类:Python

在这篇文章中,我们将介绍如何使用 python pandas DataFrame 来更改列的顺序。在 pandas 中,使用 Python 中的 reindex() 方法重新排序或重新排列列。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便