Я пытаюсь создать функцию, которая принимает уже отформатированный json.loads().Python Pandas с функциями и значениями столбца равными
def data_fp(fp):
for line in fp:
try:
data=json.loads(line)
json_data.append(data)
except:
continue
Я принимаю json_data и пытаюсь его очистить. Я создал пустой блок данных и создал функцию.
df=pd.DataFrame()
def data_clean(liste):
df['col1'] = map(lambda datas: datas['col1'] if 'col1' in datas else 'NA', liste)
df['col2'] = map(lambda datas: datas['col2'] if 'col2' in datas else 'NA', liste)
df=df[df['col2']=='foo']
Проблема возникает из последней строки. Когда я включил его в функцию, я получаю ошибку
UnboundLocalError: local variable 'df' referenced before assignment
Но когда я запускаю функцию без последней строки в нем, я не получаю никаких ошибок, и я могу запустить == строку в консоли и получить желаемый результат.
Почему это не работает в функции?
И спасибо за сайт. Я добавил его к моим favs – lost