字典到反转的数据帧。

时间:2017-07-10 14:49:09

标签: python pandas dictionary dataframe

我正在尝试转换字典,如:

 {'@company1': 2398429348, '@company2': 2394239,  '@company3: 349234'} 

到数据帧。当我这样做时,我收到错误:

 "ValueError: If using all scalar values, you must pass an index". 

这不是特别令人惊讶,因为它将是单行数据帧。问题是我想要这个数据帧的反转,我也想出了怎么做,但由于上述错误,我无法在反转之前加载数据帧。接下来的问题是,我如何加载数据框,使得索引是Dict1.keys(),只使用上面的样式字典只有一列数字?

2 个答案:

答案 0 :(得分:2)

只需使用系列:

a = {'@company1': 2398429348, '@company2': 2394239,  '@company3': 349234} 
df = pd.Series(a)
print(df)

输出:

@company1    2398429348
@company2       2394239
@company3        349234
dtype: int64

答案 1 :(得分:1)

我认为您需要另一个dict列名:

d = {'@company1': 2398429348, '@company2': 2394239,  '@company3': 349234} 
df = pd.DataFrame({'A':d})
print (df)
                    A
@company1  2398429348
@company2     2394239
@company3      349234

使用DataFrame.from_dict的解决方案:

d = {'@company1': 2398429348, '@company2': 2394239,  '@company3': 349234} 
df = pd.DataFrame.from_dict(d, orient='index')
print (df)
                    0
@company3      349234
@company1  2398429348
@company2     2394239