将函数应用于 Pandas DataFrame 中的多个列
将函数按元素应用于 Pandas DataFrame 中的多个列可能是一项常见任务。在此示例中,我们展示了如何将函数应用于两个特定列“col_1”和“col_2”,以创建新列“col_3”。
首先,定义要应用的函数。在本例中,我们有 get_sublist 它接受两个参数:sta 和 end。此函数旨在根据输入参数返回预定义列表 mylist 的子列表。
接下来,创建一个包含要使用的列的 Pandas DataFrame (df)。确保列具有适合您的函数的数据类型。
要将函数应用到多个列,请使用 Pandas 的 apply 函数。该函数接受一个函数并将其应用于 DataFrame 的每一行。它需要指定轴参数,该参数应设置为 1 以跨行应用该函数。
但是,使用具有位置参数的 apply 函数可能会导致错误。为了克服这个问题,我们可以使用匿名函数(也称为 lambda 函数)作为要应用的参数。 lambda 函数可以使用名称访问当前行的列值。
代码如下:
df['col_3'] = df.apply(lambda x: get_sublist(x.col_1, x.col_2), axis=1)
此代码创建一个新列“col_3”,其结果为将 get_sublist 函数应用于“col_1”和“col_2”的每一行。 lambda 函数确保将正确的参数传递给 get_sublist 函数。
因此,您将获得具有所需输出的 DataFrame,其中“col_3”中的每一行都包含一个基于相应值的子列表在“col_1”和“col_2”中。
以上是如何将函数应用于多个 Pandas DataFrame 列?的详细内容。更多信息请关注PHP中文网其他相关文章!