python-3.x - 从(x,y)坐标numpy数组中提取第一个元素
问题描述
我们正在尝试创建一组彼此靠近的坐标。要创建这个组,我们需要将 numpy 数组的 x、y 坐标与数组中的第一个元素进行比较。
如果它们匹配,我们将其存储在现有数组中的一个中,如果不匹配,我们创建一个新数组并将它们存储在那里。
我们已经用 for 循环尝试过,并分别提取 x 和 y。但是,它没有用。
mport numpy as np
coordinates = [(580.4625,201.87183),(580.4625,201.87183),(167.84459,701.64935),
(167.84459,701.64935),(167.84459,694.65247),(167.84459,694.65247),
(979.09344,725.6387),(979.09344,725.6387),(979.09344,725.6387),
(979.09344,725.6387),(200.81406,1271.3956),(200.81406,1271.3956),
(200.81406,1271.3956),(1005.0694,1266.398),(1005.0694,1266.398),
(1005.0694,1266.398),(180.83257,1568.2635),(180.83257,1568.2635),
(994.0796,1591.2533),(539.5005,1862.1327)]
seen = set()
newlist = []
for item in coordinates:
t = tuple(item)
if t not in seen:
newlist.append(item)
seen.add(t)
npArray = np.array(newlist)
newlist = npArray.astype(int)
npArray2 = np.array(newlist)
coordinates1 = npArray2.astype(int)
for i in coordinates1[0]:
print(i[0])
我们试图在单独的变量中获取上述消息中坐标的第一个元素。
目前我们收到一个错误:IndexError: invalid index to scalar variable。
我们是 python 新手,所以任何指导都会有所帮助,即使指向更好的方法。
谢谢!
谢谢你的所有答案。我认为我的错误在于没有解释问题。我会在这里再试一次:
coordinates = [(580.4625,201.87183),(580.4625,201.87183),(167.84459,701.64935),
(167.84459,701.64935),(167.84459,694.65247),(167.84459,694.65247),
(979.09344,725.6387),(979.09344,725.6387),(979.09344,725.6387),
(979.09344,725.6387),(200.81406,1271.3956),(200.81406,1271.3956),
(200.81406,1271.3956),(1005.0694,1266.398),(1005.0694,1266.398),
(1005.0694,1266.398),(180.83257,1568.2635),(180.83257,1568.2635),
(994.0796,1591.2533),(539.5005,1862.1327)]
我们正在尝试创建位于上述列表中第一个坐标的 30 点 + 或 - 的坐标组。
因此,为此我们需要将所有坐标 (x, y) 与第一个坐标一一进行比较,如果它们在上述范围内,我们会将它们分配给一个组(例如 G1)/数组以第一个坐标为该组中的第一个元素。
如果不在范围内,我们将创建另一个组(例如 G2)/数组,并在这个新组中插入不在范围内的坐标。
这样,我们将进一步比较上面列表中的每个元素,直到所有坐标都被比较并分配给其中一个组。
希望,我说得更清楚了。
非常感谢您的帮助!
此致,
解决方案
试试看,有效果
for i in coordinates1:
print(i[0])
由于numpy数组坐标1的形状是(9,2),所以不需要坐标[0]来访问x坐标。
推荐阅读
- javascript - 如何在 Material UI Select from API 中选择数据?
- javascript - 将日期和时间组合成一个有效的日期时间
- c# - Xamarin.Forms C# 选择器和元组列表不显示任何内容
- javascript - 如何等待除“jQuery.active ==0”之外的所有ajax请求完成?
- python - 如何将特定字母更改为数字?
- flutter - Flutter 的 CupertinoSlidingSegmentedControl 的设计问题?
- javascript - 正则表达式如何匹配精确的字符串模式
- image - 是否可以对图像应用 h.264 压缩?
- python - 设置 plotly Go 折线图范围以排除非营业时间和周末
- r - 条形图 4 个变量