在pandas数据框from_dict中设置列名,其中orient ='index'

时间:2017-07-03 09:32:40

标签: python dictionary key

我已经看过这个问题了:pandas create named columns in dataframe from dict。但是,我的例子略有不同。

我有一本字典: my_dict = {'key1' : [1,2,3], 'key2' : [4,5,6], 'key3' :[7,8,9]}

我创建了一个pandas数据帧:df = pd.DataFrame.from_dict(my_dict, orient='index'),它是面向行的。但是,在撰写columns = ['one', 'two', 'three']时,我收到了错误,如上面的链接。

我如何命名?

3 个答案:

答案 0 :(得分:14)

您是否有理由不在下一行设置列名?

my_dict = {'key1' : [1,2,3], 'key2' : [4,5,6], 'key3' :[7,8,9]}
df = pd.DataFrame.from_dict(my_dict, orient='index')
df.columns = ['one', 'two', 'three']

应该工作。

答案 1 :(得分:4)

From version 0.23.0,您可以在columns中指定一个from_dict参数:

my_dict = {'key1': [1, 2, 3], 'key2': [4, 5, 6], 'key3': [7, 8, 9]}
df = pd.DataFrame.from_dict(my_dict, orient='index', columns=['one', 'two', 'three'])

答案 2 :(得分:0)

my_dict = {'key1' : [1,2,3], 'key2' : [4,5,6], 'key3' :[7,8,9]}
df = pd.DataFrame.from_dict(my_dict, orient='cloumns')
df.columns = ['one', 'two', 'three']

将方向从索引更改为列。这对我有用。