繁体   English   中英

Python SQL 类似于 Python 字典中的查询,WHERE 子句

[英]Python SQL like query in Python dictionary, WHERE clause

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

您可以这样做,但 dict 完全是错误的数据结构。

这会在键"tradeId"的值中查找432并获取键"price"的值的相应元素:

>>> myDict["price"][myDict["tradeId"].index(432)]
444

你不能像 SQL 一样开箱即用。 但是你展示给我们的基本上可以写成一张表格。 使用 pandas 将其转换为 DataFrame,然后查询该行。

*请注意,您的价格比 tradeids 和 side 多一个,这使得以下内容不起作用。 我去掉了第一个价格。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM