dataframe.apply() 同时保留列名称

oku*_*oub 5 apply dataframe python-3.x pandas data-science

我想在数据框中的每一行应用一个函数。我正在使用 apply() 但它传递了一个 Series 对象,因此未传递列名称。有没有办法使用 .apply() 并保留列名称?

Vik*_*ngh 2

如果你想按行应用该函数:

对于数据框中的每一行,您希望将整行传递给函数,并且在函数中您希望使用列名称调用值,那么您可以这样做:

# df

    name value
0   AA  1
1   BB  2
2   CC  3

def  function_2(row):
    return row['value'] * 2

df['col_b'] = df.apply(lambda row: function_2(row), axis=1)
Run Code Online (Sandbox Code Playgroud)

输出:

    name value col_b
0   AA  1   2
1   BB  2   4
2   CC  3   6
Run Code Online (Sandbox Code Playgroud)

示例源链接