У меня есть следующий словарь:
my_keys = {'a':10, 'b':3, 'c':23}
Я превращаю его в Dataframe:
df = pd.DataFrame.from_dict(my_keys)
Он выводит df
, как показано ниже
a b c
0 10 3 23
Как я могу заставить его выглядеть так, как показано ниже:
Col1 Col2
a 10
b 3
c 23
Я пробовал ориент=индекс, но все еще не могу получить имена столбцов?
Вы можете создать список кортежей и перейти к конструктору DataFrame
:
df = pd.DataFrame(list(my_keys.items()), columns=['col1','col2'])
Или преобразовать ключи и значения в отдельные списки:
df = pd.DataFrame({'col1': list(my_keys.keys()),'col2':list(my_keys.values())})
print (df)
col1 col2
0 a 10
1 b 3
2 c 23
Ваше решение должно быть изменено на orient='index'
и columns
, но тогда необходимо добавить DataFrame.rename_axis
и
DataFrame.reset_index
для столбца из index
:
df = (pd.DataFrame.from_dict(my_keys, orient='index', columns=['col2'])
.rename_axis('col1')
.reset_index())
Хороший! это сработало. Я думал, что мне нужно использовать 'from_dict' :/
Как отключить индекс?
@AriVictor - Если записать в файл? Затем df.to_csv(file, index=False)
, если нужно распечатать вывод print (df.to_string(index=False))
Ты легенда.
если это так, то я мог неправильно прочитать дату/время публикации этого вопроса. Пожалуйста, игнорируйте.