У меня есть словарь, который выглядит так:
result =
{'Var1': [2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,0.0,0.0,0.0,0.0],
'Var2': [2.0,2.0,2.0,0.0,2.0,2.0,2.0,0.0,2.0,2.0,2.0,0.0,2.0,2.0,2.0,0.0]}
и мне нужно получить фрейм данных, который выглядит следующим образом:
Var1 Var2
1 2.0 2.0
2 2.0 2.0
3 2.0 2.0
4 2.0 0.0
.. .. ..
Я пробовал это сделать:
pd.DataFrame(result.items(), columns=['A', 'B']).T
и я получаю что-то похожее на это:
0 1
A Var1 Var2
B [2.0, 2.0, 2.0, 2.0, ...] [2.0, 2.0, 2.0, 0.0, ...]
Может кто-нибудь посоветовать мне, как решить эту проблему? Спасибо!






Вы можете использовать Pandas Dataframe from_dict для чтения словаря
pd.DataFrame.from_dict(result)
редактировать
orient: {"столбцы", "индекс"}
«Ориентация» данных. Если ключи переданного dict должны быть столбцами результирующего DataFrame, передайте «columns» (по умолчанию). В противном случае, если ключи должны быть строками, передайте «index».
pd.DataFrame.from_dict(result,orient='columns')
Из:
Var1 Var2
0 2.0 2.0
1 2.0 2.0
2 2.0 2.0
3 2.0 0.0
4 2.0 2.0
5 2.0 2.0
6 2.0 2.0
7 2.0 0.0
8 2.0 2.0
9 2.0 2.0
10 2.0 2.0
11 2.0 0.0
12 0.0 2.0
13 0.0 2.0
14 0.0 2.0
15 0.0 0.0
Если вы хотите использовать информацию о ключах словаря в качестве индекса, вы можете использовать ориентацию index
pd.DataFrame.from_dict(result,orient='index')
Из:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Var1 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 0.0 0.0 0.0 0.0
Var2 2.0 2.0 2.0 0.0 2.0 2.0 2.0 0.0 2.0 2.0 2.0 0.0 2.0 2.0 2.0 0.0
Я бы упомянул параметр orient для объяснения просто в качестве бонуса;)
Все, что вам нужно, это конструктор по умолчанию:
pd.DataFrame(result)
# Var1 Var2
#0 2.0 2.0
#1 2.0 2.0
#....
Ответы уже вынесены, но просто хотелось бы, чтобы он понял, как это работает.
При создании DataFrame
Примеры атрибутов (параметров), которые он имеет ..
DataFrame(data=None, index=None, columns=None, dtype=None,copy=False)
dataИтак, в вашем случае будет уместно использовать параметр data при построении фрейма данных из объекта dict ..
>>> pd.DataFrame(data=result)
Var1 Var2
0 2.0 2.0
1 2.0 2.0
2 2.0 2.0
3 2.0 0.0
4 2.0 2.0
5 2.0 2.0
6 2.0 2.0
7 2.0 0.0
8 2.0 2.0
9 2.0 2.0
10 2.0 2.0
11 2.0 0.0
12 0.0 2.0
13 0.0 2.0
14 0.0 2.0
15 0.0 0.0
ИЛИ
>>> pd.DataFrame.from_dict(result)
>>> pd.DataFrame.from_dict(result, orient='index') # Otherwise if the keys should be rows, pass 'index'
pd.DataFrame(result)?