我想知道我们是否可以使用where子句查询Python字典,如下所示:
myDict={"tradeId": (123,456,789,988,765,432),
"side":("B","S","B","S","S","S"),
"price": (100,123,111,222,333,444)}
我想知道应该返回444的tradeId 432的价格 我知道我们能做到的就是熊猫数据框。
答案 0 :(得分:1)
您可以这样做,但是dict完全是错误的数据结构。
这会在键432
的值中查找"tradeId"
,并获取键"price"
的值的相应元素:
>>> myDict["price"][myDict["tradeId"].index(432)]
444
答案 1 :(得分:0)
您不能开箱即用地进行类似SQL的查询。 但是您向我们展示的内容基本上可以写成表格。 使用熊猫将其转换为DataFrame,然后查询该行。
*请注意,您的价格比交易品种和边数高出一个,这使得以下内容无法正常工作。我删除了第一个价格。
import pandas as pd
myDict={"tradeId": (123,456,789,988,765,432),
"side":("B","S","B","S","S","S"),
"price": (123,111,222,333,444,555)}
df = pd.DataFrame(myDict)
price = int(df[df["tradeId"] == 432]["price"])
价格将为555,数据框df如下所示:
price side tradeId
0 123 B 123
1 111 S 456
2 222 B 789
3 333 S 988
4 444 S 765
5 555 S 432