我有一个数组数组:
all_arrays = np.array([[True, True, True],
[True, True, False],
[True, True, True],
[False, False, False]])
我需要删除所有元素中包含"True"的所有子array.在这种情况下,它应该只保留第二个也是最后一个.
结果应该如下所示:
array([[ True, True, False],
[False, False, False]])
我解决了这个问题,方法是将数组转换为数据帧,执行更改,然后将数据帧转换回数组
# Convert array to dataframe
zz = pd.DataFrame(all_arrays, columns = ['Column_A','Column_B','Column_C'])
# replace "True" with np.NaN
zz = zz.replace(True, np.nan)
# delete rows with all NaN
zz.dropna(how = 'all', inplace = True)
# replace back np.Nan with True
zz = zz.replace(np.nan, True)
# Convert dataframe array
all_arrays_filtered = zz.values
all_arrays_filtered
但我想,使用数组可能更简单、更快,但我不知道怎么做
谢谢你的帮助.