Python SQL,例如Python字典中的查询,WHERE子句

时间:2019-01-15 14:27:07

标签: python dictionary

我想知道我们是否可以使用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的价格 我知道我们能做到的就是熊猫数据框。

2 个答案:

答案 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