我想從yql導入幻想籃球數據到一個熊貓數據框,但我遇到了嵌套內容的問題。訪問python子列表導入到熊貓DataFrame
來自yql(results.rows)的數據看起來像這樣(當我使用type(results.rows)我得到列表)。
{u'display_position': u'PF',
u'editorial_player_key': u'nba.p.4175',
u'editorial_team_abbr': u'Uta',
u'editorial_team_full_name': u'Utah Jazz',
u'editorial_team_key': u'nba.t.26',
u'eligible_positions': {u'position': u'PF'},
u'headshot': {u'size': u'small',
u'url': u'http://l.yimg.com/iu/api/res/1.2/KjAPlP83IIrP9iReWfjyjw--/YXBwaWQ9eXZpZGVvO2NoPTIxNTtjcj0xO2N3PTE2NDtkeD0xO2R5PTE7Zmk9dWxjcm9wO2g9NjA7cT0xMDA7dz00Ng--/http://l.yimg.com/a/i/us/sp/v/nba/players_l/20101116/4175.jpg'},
u'image_url': u'http://l.yimg.com/iu/api/res/1.2/KjAPlP83IIrP9iReWfjyjw--/YXBwaWQ9eXZpZGVvO2NoPTIxNTtjcj0xO2N3PTE2NDtkeD0xO2R5PTE7Zmk9dWxjcm9wO2g9NjA7cT0xMDA7dz00Ng--/http://l.yimg.com/a/i/us/sp/v/nba/players_l/20101116/4175.jpg',
u'is_undroppable': u'0',
u'name': {u'ascii_first': u'Paul',
u'ascii_last': u'Millsap',
u'first': u'Paul',
u'full': u'Paul Millsap',
u'last': u'Millsap'},
u'player_id': u'4175',
u'player_key': u'304.p.4175',
u'position_type': u'P',
u'uniform_number': u'24'}
當我執行
DataFrame(results.rows)
它導入數據正常,但是在這兩個爆頭和名稱的數據導入爲他們的嵌套列表列。
我可以從IPython的訪問子表,但是當我試圖將其導入到一個數據幀我得到一個錯誤:
results[0]['name']
{u'ascii_first': u'Pau',
u'ascii_last': u'Gasol',
u'first': u'Pau',
u'full': u'Pau Gasol',
u'last': u'Gasol'}
DataFrame([results[0]['name'])
ValueError: If use all scalar values, must pass index
,我想要的行爲是導入嵌套列表作爲自己的列,而而不是包含嵌套列表的列。我怎樣才能做到這一點?
,我想最終的結果是使用以下佈局的數據幀:
+---------------------------------------------------------------------------------------+
|display_position | (...) | ascii_first | ascii_last | first | full | last | player_id |
+---------------------------------------------------------------------------------------+
| Data | | | | | | | |
+---------------------------------------------------------------------------------------+
你可以發佈結果應該是什麼樣子的模擬?從描述中不清楚你想要什麼。而且,你確定要使用DataFrame而不是Series? –
當然 - 只是更新了問題。爲了說清楚,這個條目只是數據的一個例子,每個玩家都有更多的條目。 –