相关疑难解决方法(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万
查看次数

将 Pandas 中的多个值替换为缺失值(无)

我有一个数据集d,其中包含不同形式的缺失值:

 d = {'col1': [1, 2, '', 'N/A', 'unknown', None], 
      'col2': [3, 4, 'N/A', None, 'N/A_N/A', '']}
d = pd.DataFrame(data=d)

          col1     col2
0        1        3
1        2        4
2               N/A
3      N/A     None
4  unknown  N/A_N/A
5     None 
Run Code Online (Sandbox Code Playgroud)

我想看看每列中实际上缺少多少个值。因此,我想将所有空白、n/a 和未知数转换为None。我尝试了这段代码并得到以下结果:

d.replace(to_replace =['N/A', '', 'unknown', 'N/A_N/A'],  
                            value = None)

   col1  col2
0     1     3
1     2     4
2     2     4
3     2  None
4     2  None
5  None  None 
Run Code Online (Sandbox Code Playgroud)

我不明白为什么d.replace会这样,有人有更好的解决方案来解决我的问题吗?我希望它是这样的:

     col1     col2
0        1        3 …
Run Code Online (Sandbox Code Playgroud)

python pandas

4
推荐指数
1
解决办法
1724
查看次数

意外的pandas.Series.replace()行为

鉴于这种 -

import pandas as pd

s = pd.Series(['', '1', '2', '', '4', '', '6'])

为什么这个 -

s.replace('', None).values

结果如下 -

array(['', '1', '2', '2', '4', '4', '6'], dtype=object)

当我期待这个 -

array([None, '1', '2', None, '4', None, '6'], dtype=object)

python pandas

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

标签 统计

pandas ×3

python ×3

nan ×1

numpy ×1