2024-09-28 20:43:47 发布
网友
如果行是nan或0,我想删除表中的所有值。
nan
0
我知道有一种使用pandas的方法可以做到这一点,即pandas.dropna(how = 'all'),但是我希望使用numpy方法删除所有nan或0的行。
pandas.dropna(how = 'all')
是否有有效的实施?
import numpy as np a = np.array([ [1, 0, 0], [0, np.nan, 0], [0, 0, 0], [np.nan, np.nan, np.nan], [2, 3, 4] ]) mask = np.all(np.isnan(a) | np.equal(a, 0), axis=1) a[~mask]
另外:如果要删除任何单个值中有nan或0的行
a = np.array([ [1, 0, 0], [1, 2, np.nan], [np.nan, np.nan, np.nan], [2, 3, 4] ]) mask = np.any(np.isnan(a) | np.equal(a, 0), axis=1) a[~mask]
输出
array([[ 2., 3., 4.]])
这将删除所有为零或所有NaN的行:
mask = np.all(np.isnan(arr), axis=1) | np.all(arr == 0, axis=1) arr = arr[~mask]
这将删除所有为零或NaN的行:
mask = np.all(np.isnan(arr) | arr == 0, axis=1) arr = arr[~mask]
另外:如果要删除任何单个值中有nan或0的行
输出
这将删除所有为零或所有NaN的行:
这将删除所有为零或NaN的行:
相关问题 更多 >
编程相关推荐