gpt4 book ai didi

python - 这是什么 : s[s[1:] == s[:-1]] do in numpy?

转载 作者:IT老高 更新时间:2023-10-28 21:00:02 31 4
gpt4 key购买 nike

我一直在寻找一种方法来有效地检查 numpy 数组中的重复项,并偶然发现了一个包含使用此代码的答案的问题。

这一行在 numpy 中是什么意思?

s[s[1:] == s[:-1]]

希望在应用之前了解代码。查看了 Numpy 文档,但找不到此信息。

最佳答案

切片 [1:][:-1] 表示除了第一个除了最后一个 数组元素:

>>> import numpy as np
>>> s = np.array((1, 2, 2, 3)) # four element array
>>> s[1:]
array([2, 2, 3]) # last three elements
>>> s[:-1]
array([1, 2, 2]) # first three elements

因此,比较会在每个元素 s[x] 及其 "neighbour" s[x+1] 之间生成一个 bool 比较数组>,它将比原始数组短一个(因为最后一个元素没有邻居):

>>> s[1:] == s[:-1]
array([False, True, False], dtype=bool)

并使用该数组来索引原始数组,您可以获得比较为 True 的元素,即与其邻居相同的元素:

>>> s[s[1:] == s[:-1]]
array([2])

请注意,这只标识相邻重复值。

关于python - 这是什么 : s[s[1:] == s[:-1]] do in numpy?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30831084/

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