Я пытаюсь работать с базой данных ( эта ), и я не умею корректно мультииндексировать фрейм данных. В настоящее время у меня есть это:
csv_path='https://ckan0.cf.opendata.inter.prod-toronto.ca/download_resource/ef0239b1-832b-4d0b-a1f3-4153e53b189e?format=csv'
df_profile=pd.read_csv(csv_path,index_col=["Topic","Characteristic"])
#df_profile["Characteristic"]=df_profile.Characteristic.str.strip()
df_profile.drop(["_id","Data Source","Category"],axis=1,inplace=True)
df_profile.replace("No Designation","NaN",inplace=True)
df_profile.head(10)
Результат кода
Проблема в том, что некоторые индексы не находятся внутри столбца, и представлены числом пробелов , Я имею в виду, что первый индекс внутри столбца не имеет пробела, затем создается одно деление с одним пробелом перед пробелом и так далее.
Здесь приведен пример одной части, полученной с помощью df_profile.index.values.tolist ()
('Mother tongue',
'Mother tongue for the total population excluding institutional residents'),
('Mother tongue', ' Single responses'),
('Mother tongue', ' Official languages'),
('Mother tongue', ' English'),
('Mother tongue', ' French'),
('Mother tongue', ' Non-official languages'),
('Mother tongue', ' Aboriginal languages'),
('Mother tongue', ' Algonquian languages'),
('Mother tongue', ' Blackfoot'),
('Mother tongue', ' Cree-Montagnais languages'),
('Mother tongue', ' Eastern Algonquian languages'),
('Mother tongue', ' Ojibway-Potawatomi languages'),
('Mother tongue', ' Algonquian languages, n.i.e.'),
('Mother tongue', ' Athabaskan languages'),
Существует ли какая-либо функция для преобразования структуры такого типа в мультииндекс индекса кадра данных на основе количества пробелов? Если нет, то какой самый простой способ решить это? Создать список массивов с различными параметрами (без пробелов, одного пробела, двух пробелов ...) и добавить его в индекс?
Спасибо за вашу помощь.