小编tim*_*321的帖子

Numpy isnan()在一系列浮点数上失败(来自pandas dataframe apply)

我有一个浮点数组(一些正常数字,一些nans)来自一个pandas数据帧的应用程序.

由于某种原因,numpy.isnan在这个数组上失败,但是如下所示,每个元素都是一个浮点数,numpy.isnan在每个元素上正确运行,变量的类型肯定是一个numpy数组.

这是怎么回事?!

set([type(x) for x in tester])
Out[59]: {float}

tester
Out[60]: 
array([-0.7000000000000001, nan, nan, nan, nan, nan, nan, nan, nan, nan,
   nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan,
   nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan,
   nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan,
   nan, nan], dtype=object)

set([type(x) for x in tester])
Out[61]: {float}

np.isnan(tester)
Traceback (most recent call last):

File "<ipython-input-62-e3638605b43c>", line …
Run Code Online (Sandbox Code Playgroud)

python arrays numpy pandas

81
推荐指数
3
解决办法
9万
查看次数

如何找到生成带复制警告设置的行?

我有一大块代码,在某些地方,在pandas中产生一个带有复制警告的设置(这个问题).

我知道如何解决问题,但我找不到它的行号!有没有办法退出行号(除了蛮力方法,如调试步进或多次打印)?我得到的唯一输出是下面的,它没有上升到我的代码堆栈:

C:\Anaconda3\lib\site-packages\pandas\core\frame.py:2302: SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame  **kwargs)
Run Code Online (Sandbox Code Playgroud)

python warnings pandas chained-assignment

19
推荐指数
1
解决办法
2336
查看次数

Numpy剪辑功能需要两倍的长度

我发现numpy剪辑功能的性能明显慢于我自己戴着面具(164us vs 74us).剪辑功能是否会执行额外的操作,使其花费两倍的时间?

%timeit growth.clip(-maxg, maxg)
10000 loops, best of 3: 164 µs per loop

%timeit growth[np.greater(growth,maxg)] = maxg
10000 loops, best of 3: 37.1 µs per loop

%timeit growth[np.less(growth,-maxg)] = -maxg
10000 loops, best of 3: 37 µs per loop
Run Code Online (Sandbox Code Playgroud)

重置增长数组并按相反顺序进行测试后:

%timeit growth[np.less(growth,-maxg)] = -maxg
10000 loops, best of 3: 36.6 µs per loop

%timeit growth[np.greater(growth,maxg)] = maxg
10000 loops, best of 3: 37.3 µs per loop

%timeit growth.clip(-maxg, maxg)
100 loops, best of 3: 150 µs per loop …
Run Code Online (Sandbox Code Playgroud)

python numpy clip

3
推荐指数
1
解决办法
1244
查看次数

标签 统计

python ×3

numpy ×2

pandas ×2

arrays ×1

chained-assignment ×1

clip ×1

warnings ×1