我想將此字典轉換為資料框
dd = {'NFO:BANKNIFTY2210633600CE': {'instrument_token': 12355586, 'last_price': 3825.3}
,'NFO:BANKNIFTY2210633700CE': {'instrument_token': 12619522, 'last_price': 3213.45}}
這里'NFO:BANKNIFTY2210633600CE'這也是一個值,我希望它作為列下的值,名稱應為“Symbol”,我希望“Last_price”作為列并在其值下作為值。
例子 -
Symbol Last_price
NFO:BANKNIFTY2210633600CE 3825.3
NFO:BANKNIFTY2210633700CE 3213.45
以這種形式,請幫我解決這個問題。
uj5u.com熱心網友回復:
從以下位置創建資料框:
- 字典串列,形式為 {column1: value1, ...}
- 行索引值串列
import pandas as pd
data = [
{'NFO:BANKNIFTY2210633600CE': {'instrument_token': 12355586, 'last_price': 3825.3}},
{'NFO:BANKNIFTY2210633700CE': {'instrument_token': 12619522, 'last_price': 3213.45}}
]
df = pd.DataFrame(data=[list(e.values())[0] for e in data], index=[list(e.keys())[0] for e in data])
print(df)
instrument_token last_price
NFO:BANKNIFTY2210633600CE 12355586 3825.30
NFO:BANKNIFTY2210633700CE 12619522 3213.45
uj5u.com熱心網友回復:
假設您的資料是字典串列,您可以首先使用串列理解來獲取相關資料并將它們轉換為pd.DataFrame:
lst = [{'NFO:BANKNIFTY2210633600CE': {'instrument_token': 12355586, 'last_price': 3825.3}}, {'NFO:BANKNIFTY2210633700CE': {'instrument_token': 12619522, 'last_price': 3213.45}}]
relevant_data = [(k, v['last_price']) for d in lst for k,v in d.items()]
df = pd.DataFrame(relevant_data, columns=['Symbol','Last_price'])
輸出:
Symbol Last_price
0 NFO:BANKNIFTY2210633600CE 3825.30
1 NFO:BANKNIFTY2210633700CE 3213.45
uj5u.com熱心網友回復:
我假設初始資料是一個大字典:
import pandas as pd
dd = {'NFO:BANKNIFTY2210633600CE': {'instrument_token': 12355586, 'last_price': 3825.3}
,'NFO:BANKNIFTY2210633700CE': {'instrument_token': 12619522, 'last_price': 3213.45}}
data = [(k, v['last_price']) for k,v in dd.items()]
df= pd.DataFrame(data, columns=['Symbol','Last_price'])
print(df)
輸出是:
Symbol Last_price
0 NFO:BANKNIFTY2210633600CE 3825.30
1 NFO:BANKNIFTY2210633700CE 3213.45
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/404572.html
標籤:
上一篇:遍歷字串作為子字串?[復制]
