gpt4 book ai didi

python - 只选择 Postgresql 的两列并将其存储在 numpy 数组中

转载 作者:行者123 更新时间:2023-11-29 13:45:48 24 4
gpt4 key购买 nike

我正在使用 SQLAlchemy 和 wnat 查询 PostgreSQL,只选择两列纬度和经度并将其存储在 numpy 中以供进一步计算。所以,我尝试了这样的查询:

result = Places.query.filter_by(latitude, longitude)

但是这个查询不工作并给出类型错误:

TypeError: filter_by() takes exactly 1 argument (2 given)

我想要做的就是存储两列的输出并使用类似的东西将其存储在 numpy 中:

np.array(..., dtype=float)

由于我是 numpy 和 PostgreSQL 的新手,所以我陷入了困境。

编辑我使用以下方法选择了两列:

result = Places.query.with_entities(Places.latitude, Places.longitude).all()

现在,我只需要将它们存储在 numpy 中

最佳答案

filter_by() 是根据条件选择一组特定的行。例如,如果您的 Places 有一个名为 city 的列,而您只想获取属于名为 London 的城市的行,您可以执行如下操作:

session.query(Places).filter_by(city='伦敦')

但是,这仍然会获取伦敦的所有列,而不仅仅是经度和纬度。在您的情况下,您似乎想要过滤掉列,而不是行。因此,要获取所有行的列经度和纬度,您需要类似以下内容:

session.query(Places.latitude, Places.longitude)

这将返回元组。要将其存储为 numpy 数组列表,您可以尝试:

coordinates = []
for row in session.query(Places.latitude, Places.longitude):
cooridnates.append(np.asarray(row))

请引用Object Relational Tutorial关于查询的简单示例。在不知道您的实际用例的情况下,很难判断一个 numpy 数组列表是否真的是您所需要的。

关于python - 只选择 Postgresql 的两列并将其存储在 numpy 数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48719486/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com