Как я могу передать переменную из функции в команду columns.str.replace? - PullRequest
0 голосов
/ 17 февраля 2019

Я пытаюсь передать строковую переменную в columns.str.replace из функции.

Вот кадр данных:

df = pd.DataFrame({'num_legs': [2, 4, 8, 0],
'num_wings': [2, 0, 0, 0],
'num_specimen_seen': [10, 2, 1, 8]},
index=['falcon', 'dog', 'spider', 'fish'])

df

num_legs    num_wings   num_specimen_seen
falcon  2   2   10
dog     4   0   2
spider  8   0   1
fish    0   0   8

Эта команда работает, когда тестируется отдельноиз функции:

df.columns = df.columns.str.replace("num", "SUM")
df
SUM_legs    SUM_wings   SUM_specimen_seen
falcon  2   2   10
dog         4   0   2
spider  8   0   1
fish    0   0   8

Однако, когда я пытаюсь передать переменные как часть функции, они не распознаются как строки.

def customize_df(old_column_value,new_column_value):
    df1 = df.copy()
    df1.columns = df1.columns.str.replace(old_column_value, 
    new_column_value)
    return df1

customize_df(num,SUM)

Сообщение об ошибке:

NameError                                 Traceback (most recent 
call last)
<ipython-input-16-e645dd7b50f4> in <module>
----> 1 customize_df(num,SUM)

NameError: имя 'num' не определено

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...