Bla*_*ack 16 python numpy pandas
如果rows = nan或,我想从表中删除所有值0.
我知道有一种方法可以使用pandas来做到这一点,pandas.dropna(how = 'all')但我想要一个numpy方法来删除所有nan或的行0.
这是否有效实施?
HYR*_*YRY 20
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]
Run Code Online (Sandbox Code Playgroud)
这将删除所有全部为零的行或所有nans:
mask = np.all(np.isnan(arr), axis=1) | np.all(arr == 0, axis=1)
arr = arr[~mask]
Run Code Online (Sandbox Code Playgroud)
这将删除所有为零或nans的行:
mask = np.all(np.isnan(arr) | arr == 0, axis=1)
arr = arr[~mask]
Run Code Online (Sandbox Code Playgroud)