У меня есть функция, в которую я передаю переменные. Я не изменяю имена переменных.
Я ожидаю, что переменная внутри функции будет рассматриваться как локальная переменная, но в некоторых случаях она, по-видимому, фактически меняет переменную с тем же именем вне функции. Я не думаю, что это должно происходить. Кто-нибудь испытывал это?
Итак, у меня есть это:
def(df1,df2,df3)
df1.set_index('A',inplace=True)
df2['c'] = df1['B'] * df3['G']
return df2
Я обнаружил, что df1.set_index('A',inplace=True)
меняется df1
вне функции. Поэтому, когда я снова вызываю функцию, я получаю сообщение об ошибке, потому что функция не «видит» df1 ['A'] в df1. Он видит, что df1, переданный извне, имеет индекс, установленный в 'A', уже при более раннем вызове.
Кто-нибудь может кровоточить?