Итак, у меня есть DataFrame, который выглядит следующим образом:
df = pd.DataFrame({'feature1':[34,45,52],'feature2':[1,0,1],'unparsed_features':["neoclassical, heavy, $2, old, bronze", "romanticism, gold, $5", "baroque, xs, $3, new"]})
df
feature1 feature2 unparsed_features
0 34 1 neoclassical, heavy, $2, old, bronze
1 45 0 romanticism, gold, $5
2 52 1 baroque, xs, $3, new
Я пытаюсь разбить столбец unparsed_features
на 6 столбцов (вес, возраст, цвет, размер, цена и период), но какВы можете видеть, что порядок перемешан и не только, некоторые поля также отсутствуют.
У меня есть общее представление о том, каким может быть каждый столбец, как показано ниже:
main_dict = {
'weight': ['heavy','light'],
'age': ['new','old'],
'colour': ['gold','silver','bronze'],
'size': ['xs','s','m','l','xl','xxl','xxxl'],
'price': ['$'],
'period': ['renaissance','baroque','rococo','neoclassical','romanticism']
}
В идеале я хотел бы, чтобы мой Dataframe выглядел следующим образом:
df
feature1 feature2 unparsed_features weight price age \
0 34 1 neoclassical, heavy, $2, old, bronze heavy $2 old
1 45 0 romanticism, gold, $5 $5
2 52 1 baroque, xs, $3, new $3 new
size colour period
0 bronze neoclassical
1 gold romanticism
2 xs baroque
Я знаю, что первым шагом будет разделить строку запятой, но я потерян после этого.
df['unparsed_features'].str.split(',')
Спасибо за вашу помощь.