oku*_*oub 5 apply dataframe python-3.x pandas data-science
我想在数据框中的每一行应用一个函数。我正在使用 apply() 但它传递了一个 Series 对象,因此未传递列名称。有没有办法使用 .apply() 并保留列名称?
如果你想按行应用该函数:
对于数据框中的每一行,您希望将整行传递给函数,并且在函数中您希望使用列名称调用值,那么您可以这样做:
# 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)