相关疑难解决方法(0)

Python/NumPy首次出现子数组

在Python或NumPy中,找出第一次出现的子阵列的最佳方法是什么?

例如,我有

a = [1, 2, 3, 4, 5, 6]
b = [2, 3, 4]
Run Code Online (Sandbox Code Playgroud)

找出b出现在哪里的最快方法(运行时间)是什么?我理解字符串这非常容易,但对于列表或numpy ndarray呢?

非常感谢!

[编辑]我更喜欢numpy解决方案,因为从我的经验来看,numpy矢量化比Python列表理解要快得多.同时,大数组是巨大的,所以我不想把它转换成字符串; 这将是(太长).

python arrays numpy

22
推荐指数
5
解决办法
2万
查看次数

从NumPy 2D阵列中删除重复的列和行

我正在使用2D形状阵列来存储经度+纬度对.有一次,我必须合并其中两个2D数组,然后删除任何重复的条目.我一直在寻找类似于numpy.unique的功能,但我没有运气.我一直在考虑的任何实现都看起来非常"未经优化".例如,我正在尝试将数组转换为元组列表,删除带有set的重复项,然后再次转换为数组:

coordskeys = np.array(list(set([tuple(x) for x in coordskeys])))
Run Code Online (Sandbox Code Playgroud)

有没有现成的解决方案,所以我不重新发明轮子?

为了说清楚,我正在寻找:

>>> a = np.array([[1, 1], [2, 3], [1, 1], [5, 4], [2, 3]])
>>> unique_rows(a)
array([[1, 1], [2, 3],[5, 4]])
Run Code Online (Sandbox Code Playgroud)

顺便说一句,我想只使用一个元组列表,但是这些列表非常大,以至于它们消耗了我的4Gb RAM + 4Gb交换(numpy数组更节省内存).

python numpy duplicate-removal scipy

20
推荐指数
3
解决办法
2万
查看次数

标签 统计

numpy ×2

python ×2

arrays ×1

duplicate-removal ×1

scipy ×1