2016-07-24 70 views
2

几个月前@Romain X.帮了我很多有这样的疑问:Python的字典,以数据帧大熊猫 - 水平

Python dict to DataFrame Pandas

现在我正尝试做相同的更深层次,这里是例如:

{u'instruments': [{u'instrument': u'EUR_USD', 
    u'interestRate': {u'EUR': {u'ask': 0.004, u'bid': 0}, 
    u'USD': {u'ask': 0.004, u'bid': 0}}}]} 

列我的数据帧的标签和值应该是仪器,EUR_ask,EUR_bid,USD_ask,USD_bid。

我尝试这样做:

pd.DataFrame.from_dict(df).join(pd.DataFrame. from_dict(df['instruments'])).drop('instruments', axis=1)

谢谢!

+1

所以,如果你已经尝试的东西,你能告诉我们什么呢? –

+0

@美林。明确我现在想做什么? –

+1

不,你还没有展示你所尝试过的,所以SO不是一个编码服务。 – Merlin

回答

1

在这里你去,

df = pd.DataFrame.from_dict(d)\ 
.join(pd.DataFrame.from_dict(d['instruments']))\ 
.drop('instruments', axis=1) 

df2 = pd.DataFrame.from_dict(df.interestRate[0]) 
df2 = pd.DataFrame.transpose(df2) 
df2 = df2.reset_index() 
df2.columns.values[0] = 'instrument' 

print (df2) 

    instrument ask bid 
0  EUR 0.004 0.0 
1  USD 0.004 0.0 
+0

非常感谢@Jossie Calderon –