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

时间:2018-05-14 15:09:58

标签: python-3.x pandas dataframe apply data-science

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

1 个答案:

答案 0 :(得分: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)

输出:

    name value col_b
0   AA  1   2
1   BB  2   4
2   CC  3   6

Example source Link