Конструктор pd.DataFrame
не принимает представление словаря в качестве данных.Вместо этого вы можете конвертировать в list
.Вот минимальный пример:
d = {'a': 1, 'b': 2, 'c': 3}
df = pd.DataFrame(d.values(), index=d.keys())
# PandasError: DataFrame constructor not properly called!
df = pd.DataFrame(list(d.values()), index=d.keys())
# Works!
Документы действительно предлагают это:
data : numpy ndarray (структурированный или однородный), dict,или DataFrame
Эквивалентно, вы можете использовать pd.DataFrame.from_dict
, который принимает словарь напрямую:
df = pd.DataFrame.from_dict(d, orient='index')