我希望将此输出转换为具有少量感兴趣列的pandas DataFrame。请注意,我的输出实际上更多,但我只发布了部分输出,但希望您能理解我的实际需求
我的数据框应具有列[['Date','OI的更改','未平仓头寸']。最好日期应该是索引。
strikes=[690,700,710]
data={}
for s in strikes:
data[s]=get_history(symbol="CIPLA",
start=date(2020,7,1),
end=date(2201,7,17),
option_type="CE",
strike_price=s,
expiry_date=date(2020,7,30))
输出
{690: Symbol Expiry Option Type Strike Price Open High Low \
Date
2020-07-01 CIPLA 2020-07-30 CE 690.0 11.50 11.50 7.70
2020-07-02 CIPLA 2020-07-30 CE 690.0 8.90 20.90 8.50
2020-07-03 CIPLA 2020-07-30 CE 690.0 17.75 17.75 12.00
2020-07-06 CIPLA 2020-07-30 CE 690.0 11.30 11.30 9.60
2020-07-07 CIPLA 2020-07-30 CE 690.0 10.70 12.25 10.60
2020-07-08 CIPLA 2020-07-30 CE 690.0 12.95 14.10 11.45
2020-07-09 CIPLA 2020-07-30 CE 690.0 14.00 14.00 11.60
2020-07-10 CIPLA 2020-07-30 CE 690.0 12.50 13.00 10.95
2020-07-13 CIPLA 2020-07-30 CE 690.0 11.10 11.65 9.65
2020-07-14 CIPLA 2020-07-30 CE 690.0 10.65 10.70 8.40
2020-07-15 CIPLA 2020-07-30 CE 690.0 7.55 10.00 7.55
2020-07-16 CIPLA 2020-07-30 CE 690.0 11.20 18.65 7.25
2020-07-17 CIPLA 2020-07-30 CE 690.0 18.85 25.75 14.80
Close Last Settle Price Number of Contracts Turnover \
Date
2020-07-01 8.85 8.85 8.85 66 5.995900e+07
2020-07-02 16.85 20.50 16.85 68 6.235500e+07
2020-07-03 13.00 13.25 13.00 117 1.069840e+08
2020-07-06 10.65 10.75 10.65 76 6.918800e+07
2020-07-07 11.00 11.00 11.00 64 5.836300e+07
2020-07-08 11.95 11.95 11.95 84 7.674300e+07
2020-07-09 12.00 12.00 12.00 25 2.284000e+07
2020-07-10 11.10 11.10 11.10 50 4.564100e+07
2020-07-13 10.05 10.05 10.05 36 3.278000e+07
2020-07-14 8.50 8.40 8.50 39 3.546700e+07
2020-07-15 8.45 8.40 8.45 31 2.816200e+07
2020-07-16 17.20 16.80 17.20 803 7.350000e+08
2020-07-17 20.05 19.30 20.05 1708 1.577693e+09
Premium Turnover Open Interest Change in OI Underlying
Date
2020-07-01 757000.0 119600 5200 NaN
2020-07-02 1359000.0 113100 -6500 646.20
2020-07-03 2035000.0 131300 18200 638.80
2020-07-06 1016000.0 123500 -7800 NaN
2020-07-07 955000.0 128700 5200 636.55
2020-07-08 1395000.0 130000 1300 NaN
2020-07-09 415000.0 130000 0 NaN
2020-07-10 791000.0 130000 0 NaN
2020-07-13 488000.0 123500 -6500 NaN
2020-07-14 484000.0 115700 -7800 NaN
2020-07-15 355000.0 124800 9100 NaN
2020-07-16 14709000.0 302900 178100 NaN
2020-07-17 45617000.0 243100 -59800 689.10 }
输出中的罢工= [700,710]中的值也是如此
已经尝试使用pd.DataFrame.from_dict(data)没用
答案 0 :(得分:1)
您可以尝试以下方法
1。
import pandas as pd
df = pd.DatFrame(<<your dictionary>>) # you can pass the dictionary
import pandas as pd
cols = [<<list of column names>>] # to specify different column names
df = pd.DataFrame.from_dict(<<dictionary name>>,columns=cols)
答案 1 :(得分:0)
以这种方式使用字典将其转换为数据框
import pandas as pd
df = pd.DataFrame({"your dictionary here"})