相关疑难解决方法(0)

NaN和None之间有什么区别?

我正在使用pandas读取csv文件的两列,readcsv()然后将值分配给字典.列包含数字和字母的字符串.偶尔会出现一个单元格为空的情况.在我看来,读取到该字典条目的值应该是None,而是nan分配.当然,None它更具描述性,因为它具有空值,而nan只是说读取的值不是数字.

我的理解是否正确,None和之间的区别是nan什么?为什么nan分配而不是None

此外,我的字典检查任何空单元格一直在使用numpy.isnan():

for k, v in my_dict.iteritems():
    if np.isnan(v):
Run Code Online (Sandbox Code Playgroud)

但是这给了我一个错误,说我不能使用这个检查v.我想这是因为要使用整数或浮点变量,而不是字符串.如果是这样,我该如何检查v"空单元格"/ nan案例?

python numpy nan pandas

83
推荐指数
2
解决办法
6万
查看次数

为什么.sum()比.any()或.max()更快?

在优化代码的慢速部分时,我惊讶于A.sum()几乎是以下两倍的事实A.max():

In [1]: A = arange(10*20*30*40).reshape(10, 20, 30, 40)

In [2]: %timeit A.max()
1000 loops, best of 3: 216 us per loop

In [3]: %timeit A.sum()
10000 loops, best of 3: 119 us per loop

In [4]: %timeit A.any()
1000 loops, best of 3: 217 us per loop
Run Code Online (Sandbox Code Playgroud)

我原本预计A.any()会更快(它应该只检查一个元素!),然后A.max(),这A.sum()将是最慢的(sum()需要添加数字并每次更新一个值,max需要每次比较数字并有时更新,我认为添加应该比比较慢.事实上,情况正好相反.为什么?

python numpy

8
推荐指数
1
解决办法
913
查看次数

标签 统计

numpy ×2

python ×2

nan ×1

pandas ×1