Как использовать строку в качестве атрибута - PullRequest
0 голосов
/ 20 мая 2018

Ниже я написал следующую функцию, которая заполняет пробелы в столбце ft_employee данными в столбце сотрудников для каждой строки.

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 голосов
/ 20 мая 2018

Почему бы вам не использовать fillna, который в этом случае более эффективен, чем apply?

merged2[new_column].fillna(merged2[old_column], inplace=True)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...