第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將字典列表的字典轉換為 pandas DataFrame

將字典列表的字典轉換為 pandas DataFrame

繁花不似錦 2023-10-31 14:16:18
我從 RobinHoood 函數(shù)中提取了 AAPL 歷史期權價格列表robin_stocks.get_option_historicals()。數(shù)據(jù)以字典列表的形式返回,如下所示。我在將以下對象(名為historicalData)轉換為DataFrame. 有人可以幫忙嗎?historicalData = {'data_points': [{'begins_at': '2020-10-05T13:30:00Z',   'open_price': '1.430000',   'close_price': '1.430000',   'high_price': '1.430000',   'low_price': '1.430000',   'volume': 0,   'session': 'reg',   'interpolated': False},{'begins_at': '2020-10-05T13:40:00Z',   'open_price': '1.430000',   'close_price': '1.340000',   'high_price': '1.440000',   'low_price': '1.320000',   'volume': 0,   'session': 'reg',   'interpolated': False}],'open_time': '0001-01-01T00:00:00Z','open_price': '0.000000','previous_close_time': '0001-01-01T00:00:00Z','previous_close_price': '0.000000','interval': '10minute','span': 'week','bounds': 'regular','id': '22b49380-8c50-4c76-8fb1-a4d06058f91e','instrument': 'https://api.robinhood.com/options/instruments/22b49380-8c50-4c76-8fb1-a4d06058f91e/'}我嘗試了下面的代碼,但這沒有幫助:import pandas as pddf = pd.DataFrame(historicalData)df
查看完整描述

2 回答

?
互換的青春

TA貢獻1797條經(jīng)驗 獲得超6個贊

您沒有寫到您只需要 data_points(如另一個答案中所示),所以我假設您希望將整個字典轉換為 DataFrame。

為此,請從您的代碼開始:

df = pd.DataFrame(historicalData)

它創(chuàng)建一個 DataFrame,其中data_points “分解”為連續(xù)行,但它們仍然是字典。

然后將open_price列重命名為open_price_all

df.rename(columns={'open_price': 'open_price_all'}, inplace=True)

原因是為了避免在不久執(zhí)行連接后出現(xiàn)重復的列名稱 (data_points還包含open_price屬性,我希望data_points 中的相應列 “繼承”此名稱)。

下一步是創(chuàng)建一個臨時 DataFrame - 將data_points中的字典拆分為各個列:

wrk = df.data_points.apply(pd.Series)

打印wrk查看結果。

最后一步是將dfwrk連接并刪除 data_points列(不再需要,因為它被分成單獨的列):

result = df.join(wrk).drop(columns=['data_points'])


查看完整回答
反對 回復 2023-10-31
?
慕少森

TA貢獻2019條經(jīng)驗 獲得超9個贊

通過下面的內容很容易解決這個問題。我已通過列表理解將數(shù)據(jù)框放入列表中


import pandas as pd

df_list = [pd.DataFrame(dic.items(), columns=['Parameters', 'Value']) for dic in historicalData['data_points']]

然后你可以這樣做:


df_list[0]

這將產生


     Parameters                 Value

0     begins_at  2020-10-05T13:30:00Z

1    open_price              1.430000

2   close_price              1.430000

3    high_price              1.430000

4     low_price              1.430000

5        volume                     0

6       session                   reg

7  interpolated                 False


查看完整回答
反對 回復 2023-10-31
  • 2 回答
  • 0 關注
  • 132 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號