如何将InrinioAPI响应转换为数据帧?

2024-06-16 10:56:32 发布

您现在位置:Python中文网/ 问答频道 /正文

将Intrinio apiresponse转换为dataframe,但是我在转换显然是字典的数据列表时遇到了问题。你知道吗

希望将此列表转换为按日期排序且仅带adjïu close的数据帧。你知道吗

stockprice=[{'adj_close': 228.48278923553238,
 'adj_high': 229.20028578232925,
 'adj_low': 225.84200333412727,
 'adj_open': 226.4598475827579,
 'adj_volume': 24788170.0,
 'close': 229.28,
 'date': datetime.date(2018, 10, 2),
 'frequency': 'daily',
 'high': 230.0,
 'intraperiod': False,
 'low': 226.63,
 'open': 227.25,
 'volume': 24788170.0}, {'adj_close': 226.46981281257453,
 'adj_high': 228.6223024529651,
 'adj_low': 225.56297689926183,
 'adj_open': 227.1574136699215,
 'adj_volume': 23600802.0,
 'close': 227.26,
 'date': datetime.date(2018, 10, 1),
 'frequency': 'daily',
 'high': 229.42,
 'intraperiod': False,
 'low': 226.35,
 'open': 227.95,
 'volume': 23600802.0}]

如何将列表转换为按“日期”组织的数据集?你知道吗

在我将列表转换为数据帧之后

是现在

0   {'adj_close': 157.74,\n 'adj_high': 159.36,\n ...
1   {'adj_close': 156.23,\n 'adj_high': 158.52,\n ...
2   {'adj_close': 156.15,\n 'adj_high': 156.77,\n ...
3   {'adj_close': 157.17,\n 'adj_high': 157.23,\n ...
4   {'adj_close': 146.83,\n 'adj_high': 151.55,\n ...
5   {'adj_close': 150.73,\n 'adj_high': 158.16,\n ...
6   {'adj_close': 156.83,\n 'adj_high': 162.11,\n ...
7   {'adj_close': 160.89,\n 'adj_high': 167.45,\n ...
8   {'adj_close': 166.07,\n 'adj_high': 167.53,\n ...
9   {'adj_close': 163.94,\n 'adj_high': 168.35,\n ...
10  {'adj_close': 165.48,\n 'adj_high': 169.08,\n ...
11  {'adj_close': 170.95,\n 'adj_high': 172.57,\n ...
12  {'adj_close': 169.1,\n 'adj_high': 171.92,\n '...
13  {'adj_close': 168.63,\n 'adj_high': 171.79,\n ...
14  {'adj_close': 169.6,\n 'adj_high': 170.09,\n '...
15  {'adj_close': 168.49,\n 'adj_high': 174.49,\n ...
16  {'adj_close': 174.72,\n 'adj_high': 174.78,\n ...
17  {'adj_close': 176.69,\n 'adj_high': 182.3899,\...
18  {'adj_close': 184.82,\n 'adj_high': 184.94,\n ...
19  {'adj_close': 178.58,\n 'adj_high': 180.33,\n ...
20  {'adj_close': 179.55,\n 'adj_high': 182.8,\n '...
21  {'adj_close': 180.94,\n 'adj_high': 181.29,\n ...
22  {'adj_close': 174.24,\n 'adj_high': 174.77,\n ...
23  {'adj_close': 174.62,\n 'adj_high': 174.95,\n ...
24  {'adj_close': 172.29,\n 'adj_high': 176.595,\n...
25  {'adj_close': 176.78,\n 'adj_high': 180.27,\n ...
26  {'adj_close': 176.98,\n 'adj_high': 181.47,\n ...
27  {'adj_close': 185.86,\n 'adj_high': 190.7,\n '...
28  {'adj_close': 193.53,\n 'adj_high': 194.9695,\...
29  {'adj_close': 191.41,\n 'adj_high': 191.97,\n ...
..                                                ...
70  {'adj_close': 217.61072350559667,\n 'adj_high'...
71  {'adj_close': 217.48117551798057,\n 'adj_high'...
72  {'adj_close': 217.12242724458216,\n 'adj_high'...
73  {'adj_close': 223.06170421528947,\n 'adj_high'...
74  {'adj_close': 225.62276827816157,\n 'adj_high'...
75  {'adj_close': 220.3013355560849,\n 'adj_high':...
76  {'adj_close': 223.07166944510607,\n 'adj_high'...
77  {'adj_close': 217.5708625863302,\n 'adj_high':...
78  {'adj_close': 220.53053584186722,\n 'adj_high'...
79  {'adj_close': 222.32427720885934,\n 'adj_high'...
80  {'adj_close': 226.08116884972623,\n 'adj_high'...
81  {'adj_close': 227.56598809240307,\n 'adj_high'...
82  {'adj_close': 226.83852631578958,\n 'adj_high'...
83  {'adj_close': 224.2475665634676,\n 'adj_high':...
84  {'adj_close': 222.20469445105988,\n 'adj_high'...
85  {'adj_close': 218.93609907120754,\n 'adj_high'...
86  {'adj_close': 217.18221862348187,\n 'adj_high'...
87  {'adj_close': 215.40840771612298,\n 'adj_high'...
88  {'adj_close': 214.74073731840926,\n 'adj_high'...
89  {'adj_close': 214.30226720647784,\n 'adj_high'...
90  {'adj_close': 214.2923019766612,\n 'adj_high':...
91  {'adj_close': 214.71084162895937,\n 'adj_high'...
92  {'adj_close': 216.82347035008348,\n 'adj_high'...
93  {'adj_close': 212.57828244820206,\n 'adj_high'...
94  {'adj_close': 209.50899166468218,\n 'adj_high'...
95  {'adj_close': 209.02069540366764,\n 'adj_high'...
96  {'adj_close': 208.14375517980483,\n 'adj_high'...
97  {'adj_close': 206.80841438437733,\n 'adj_high'...
98  {'adj_close': 207.42625863300788,\n 'adj_high'...
99  {'adj_close': 205.8076029380069,\n 'adj_high':...

我不能使用sort\u值,因为它显示KeyError:'date' 因为它们在支架里面。有什么建议可以去掉括号吗?你知道吗


Tags: 数据false列表closedatetimedateopenlow
3条回答

这就解决了问题:

pd.DataFrame([x.to_dict() for x in stockprice])[['date', 'adj_close']].sort_values('date')

希望有帮助:)

因此,我找到了一种解决方法,在创建数据帧之前,创建两个列表,并在每个列表旁边添加日期和调整

date = []
close= []
for data in stocks:
    date.append(data.date)
    close.append(data.adj_close)

stockdata = pd.DataFrame(date, close).reset_index()
stockdata.columns = ['close','date']
stockdata = stockdata.set_index('date')

所以不用说这是太多的编码。有什么意见吗?文本提供的答案显示

KeyError:'日期'

你只需要pd.DataFramesort_values

df=pd.DataFrame(stockprice).sort_values(['adj_close','date'])
df
    adj_close    adj_high     adj_low     ...         low    open      volume
1  226.469813  228.622302  225.562977     ...      226.35  227.95  23600802.0
0  228.482789  229.200286  225.842003     ...      226.63  227.25  24788170.0
[2 rows x 13 columns]

相关问题 更多 >