相关疑难解决方法(0)

是否有NumPy函数返回数组中某些内容的第一个索引?

我知道Python列表有一种方法可以返回第一个索引:

>>> l = [1, 2, 3]
>>> l.index(2)
1
Run Code Online (Sandbox Code Playgroud)

NumPy阵列有类似的东西吗?

python arrays numpy

428
推荐指数
10
解决办法
57万
查看次数

Numpy:快速找到第一个价值指数

如何找到Numpy数组中第一次出现数字的索引?速度对我很重要.我对以下答案不感兴趣,因为他们扫描整个数组并且在第一次出现时不停止:

itemindex = numpy.where(array==item)[0][0]
nonzero(array == item)[0][0]
Run Code Online (Sandbox Code Playgroud)

注1:该问题的答案似乎没有任何问题是否有Numpy函数返回数组中某些内容的第一个索引?

注2:使用C编译方法比Python循环更受欢迎.

python numpy find

96
推荐指数
9
解决办法
8万
查看次数

查找(仅)满足pandas DataFrame中给定条件的第一行

我有一个df带有很长的随机正整数列的数据帧:

df = pd.DataFrame({'n': np.random.randint(1, 10, size = 10000)})
Run Code Online (Sandbox Code Playgroud)

我想确定列中第一个偶数的索引.一种方法是:

df[df.n % 2 == 0].iloc[0]
Run Code Online (Sandbox Code Playgroud)

但这涉及很多操作(生成指数f.n % 2 == 0,评估df这些指数,最后采取第一项)并且非常缓慢.像这样的循环要快得多:

for j in range(len(df)):
    if df.n.iloc[j] % 2 == 0:
        break
Run Code Online (Sandbox Code Playgroud)

也因为第一个结果可能在前几行.是否有任何pandas方法以相似的性能执行此操作?谢谢.

注意:这个条件(是一个偶数)只是一个例子. 我正在寻找适用于价值观的任何条件的解决方案,即快速单线替代:

df[ conditions on df.n ].iloc[0]
Run Code Online (Sandbox Code Playgroud)

python pandas

12
推荐指数
3
解决办法
6302
查看次数

为什么`NaN`在numpy中被认为比'-np.inf`"更小"?

什么原因NaN被认为比-np.inf任何涉及np.min或比较的比较少np.argmin

import numpy as np
In [73]: m = np.array([np.nan, 1., 0., -np.inf])
In [74]: n = np.array([-np.inf, 1., 0., np.nan])

# Huh??
In [75]: np.min(m)
Out[75]: nan
In [76]: np.min(n)
Out[76]: nan

# Same for np.argmin
In [77]: np.argmin(m)
Out[77]: 0
In [78]: np.argmin(n)
Out[78]: 3

# Its all false!
In [79]: np.nan < -np.inf
Out[79]: False

In [80]: np.nan > -np.inf
Out[80]: False

# OK, that seems to fix it, …
Run Code Online (Sandbox Code Playgroud)

python numpy nan

5
推荐指数
1
解决办法
1208
查看次数

为什么不是"numpy.any"懒惰(短路)

我不明白为什么还没有进行如此基本的优化:

In [1]: %timeit np.ones(10**6).any()
100 loops, best of 3: 7.32 ms per loop

In [2]: %timeit np.ones(10**7).any()
10 loops, best of 3: 59.7 ms per loop
Run Code Online (Sandbox Code Playgroud)

即使结论是第一项的证据,也扫描整个阵列.

python performance numpy

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

标签 统计

python ×5

numpy ×4

arrays ×1

find ×1

nan ×1

pandas ×1

performance ×1