Numpy数组,填充单个列的空值

bro*_*tad 3 python numpy

我有一个numpy数组,它是使用python列表中的np.array()生成的,所以我的条目是字符串,但有些值是空白的.这是一个示例数组:

['1', '1', '1', '1']
['1', '1', '', '1']
['1', '1', '1', '1']
['1', '', '1', '1']
Run Code Online (Sandbox Code Playgroud)

没有'NaN'或'None',它是空白的.我希望能够使用相同的值填充特定列中的所有空白单元格.

qmo*_*gan 5

你可以用它numpy.where()来实现这一目标.

In [8]: arr = numpy.array(['','1','2','3',''])

In [9]: arr[numpy.where(arr=='')] = '0'

In [10]: arr
Out[10]:
array(['0', '1', '2', '3', '0'],
      dtype='|S1')
Run Code Online (Sandbox Code Playgroud)

编辑按@mgilson指出,你可以这样做:

arr[arr==''] = '0'
Run Code Online (Sandbox Code Playgroud)

  • 我认为这里不需要`np.where`(是吗?).你不能只做`arr [arr ==''] ='0'`? (6认同)