如何使用row作为属性

时间:2018-05-20 00:40:40

标签: python pandas function dataframe row

我在下面编写了以下函数,该函数填充了ft_employee列中的空白,以及每行的employees列中的数据。

def emp(row):
    if pd.notnull(row['ft_employee']):
        return row
    else:
        emp = row['employees'] # gets number of employees
        row['ft_employee'] = emp
        return row

# Apply Function
merged2 = merged2.apply(emp, axis = 1)

但是,我想概括我的功能,以便我可以将它用于任何列,例如:

def add(row, new_column, old_column):
    if pd.notnull(row[new_column]):
        return row
    else:
        value = row[old_column]
        row[new_column] = value
        return row

# Apply Function
merged2 = merged2.apply(add(, industry, old_industry), axis = 1)

如何将其更改为我在第二个代码块中编写的内容,以便我可以传递任何列,它会更新数据框中的每一行?

1 个答案:

答案 0 :(得分:0)

为什么不使用fillnaapply在这种情况下效率高于merged2[new_column].fillna(merged2[old_column], inplace=True)

<form action="mailto:" method="post" enctype="text/plain">
        Name:<br>
        <input type="text" name="name"><br>
        E-mail:<br>
        <input type="text" name="mail"><br>
        Your Message:<br>
        <input type="text" name="Your Message" size="50" style="height:100px"><br><br>
        <input type="submit" value="Send">
<       <input type="reset" value="Reset">
        </form>

This is what I get---->    Submit   <   Reset