Я пытаюсь создать новые столбцы на основе столбца с диктовками (в виде строк).В качестве примера столбцы содержат {'human_number': 100} и следующий {'robot_number': 3221}
Теперь я хочу пройтись по каждой строке, создать столбец на основе ключей и заполнитьэто значение в соответствующий столбец.например: если строка имеет {'human_number': 100} в столбце type_info, она должна иметь столбец с именем human_number с номером 100 внутри и ничего не указывать в robot_number.
def number_assign(row):
try:
temp = next(iter(ast.literal_eval(row["type_info"])))
row[temp] = next(iter(ast.literal_eval(row["type_info"]).values()))
except:
pass
Который я затем вызываюс df_test.apply (number_assign, axis = 1)
x = pd.DataFrame({'x': ["{'robot_number':1234}", "{'human_number':33}", '', "{'animal_number':223}"], 'y': [3, 4, 5,11]})
Должно стать примерно так:
x = pd.DataFrame({'x': ["{'robot_number':1234}", "{'human_number':33}", '', "{'animal_number':223}"], 'y': [3, 4, 5,11], 'robot_number': [1234,'','',''], 'human_number' :['',33,'',''], 'animal_number':['','','',223] })