合并 numpy 矩阵中的列
merge columns in numpy matrix
我有一个像这样的 NumPy 矩阵(它可以有几列,这只是一个例子:
array([[nan, nan],
[nan, nan],
['value 1', nan],
[nan, nan],
[nan, nan],
[nan, 'value 2']], dtype=object)
我需要合并此矩阵中的所有列,将 nan 值替换为相应的非 nan 值(如果存在)。示例输出:
array([[nan],
[nan],
['value 1'],
[nan],
[nan],
['value 2']], dtype=object)
有没有办法使用 NumPy 中的一些内置函数来实现这一点?
编辑:如果单行中有多个非南值,我将取第一个非南值。
值可以是字符串、浮点数或整数
查找第一列为 nan
的行。这是有效的,因为 nan!=nan
:
rows = arr[:,0] != arr[:,0]
用第二个元素更新每个选定行的第一个元素:
arr[rows,0] = arr[rows,1]
Select第一列:
arr[:,[0]]
我有一个像这样的 NumPy 矩阵(它可以有几列,这只是一个例子:
array([[nan, nan],
[nan, nan],
['value 1', nan],
[nan, nan],
[nan, nan],
[nan, 'value 2']], dtype=object)
我需要合并此矩阵中的所有列,将 nan 值替换为相应的非 nan 值(如果存在)。示例输出:
array([[nan],
[nan],
['value 1'],
[nan],
[nan],
['value 2']], dtype=object)
有没有办法使用 NumPy 中的一些内置函数来实现这一点?
编辑:如果单行中有多个非南值,我将取第一个非南值。
值可以是字符串、浮点数或整数
查找第一列为 nan
的行。这是有效的,因为 nan!=nan
:
rows = arr[:,0] != arr[:,0]
用第二个元素更新每个选定行的第一个元素:
arr[rows,0] = arr[rows,1]
Select第一列:
arr[:,[0]]