这可能是一个愚蠢的问题,但我甚至不知道如何谷歌这个问题。我运行了下面的代码:
import robin_stocks as rs
import pandas as pd
rs.login(username='myUserName',
password='myPassword',
expiresIn=86400,
by_sms=True)
myData1 = rs.orders.get_all_open_stock_orders()
df1 = pd.DataFrame(myData1)
pd.options.display.max_colwidth = 200
print(df1[['trailing_peg']])
返回如下:
trailing_peg
0 {'type': 'percentage', 'percentage': 35}
1 {'type': 'percentage', 'percentage': 55}
2 {'type': 'percentage', 'percentage': 30}
3 {'type': 'percentage', 'percentage': 20}
etc...
我只是需要百分比…所以我需要:
35
55
30
20
etc...
如何获得这些数据?这种格式是什么?
{'type': 'percentage', 'percentage': 35}
我看不懂冒号和花括号。
Ok…我找到了解决办法。我不明白它的机制,但我张贴它,以防它对别人有帮助。特别是因为没有很多可用的例子涉及罗宾汉的API。
我回到了"rs.orders.get_all_open_stock_orders()"发布每个" alolz& quot;请求并发现数据位于类似的冒号和花括号系列中。最后我发现这是一本字典。显然,我正在使用一个pandas数据框,其中每个单元格存储一个字典。这个链接:https://stackoverflow.com/questions/16510492/python-storing-dictionaries-inside-a-dataframe
有一个解决方案,从"BrenBarn">
test = df1['trailing_peg'].map(lambda v: v['percentage'])
print(test)
结果是:
0 35
1 55
2 30
3 20
4 45
etc...