gpt4 book ai didi

Python 两个数组,获取半径内的所有点

转载 作者:太空宇宙 更新时间:2023-11-03 14:18:45 25 4
gpt4 key购买 nike

我有两个数组,假设 x 和 y 包含几千个数据点。绘制散点图可以很好地表示它们。现在我想选择一定半径内的所有点。例如 r=10

我试过了,但它不起作用,因为它不是网格。

x = [1,2,4,5,7,8,....]
y = [-1,4,8,-1,11,17,....]
RAdeccircle = x**2+y**2
r = 10

regstars = np.where(RAdeccircle < r**2)

这与 nxn 数组不同,RAdeccircle = x**2+y**2 似乎不起作用,因为它没有尝试所有排列。

最佳答案

您只能在 numpy 数组上执行 **,但在您的情况下,您使用的是列表,并且在列表上使用 ** 会返回错误,因此您首先需要使用 np.array()

将列表转换为 numpy 数组
import numpy as np


x = np.array([1,2,4,5,7,8])
y = np.array([-1,4,8,-1,11,17])
RAdeccircle = x**2+y**2

print RAdeccircle

r = 10

regstars = np.where(RAdeccircle < r**2)
print regstars

>>> [ 2 20 80 26 170 353]
>>> (array([0, 1, 2, 3], dtype=int64),)

关于Python 两个数组,获取半径内的所有点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30714088/

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