2016-07-24 93 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 –