我有一个数组数组:

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

但我想,使用数组可能更简单、更快,但我不知道怎么做

谢谢你的帮助.

推荐答案

如果每行的所有值都是Trues x numpy.all,则反转掩码以进行测试:

a = all_arrays[~all_arrays.all(axis=1)]
print (a)
[[ True  True False]
 [False False False]]

Python-3.x相关问答推荐

如何定义既允许固定单词又允许模式的pydanti.BaseModel?

如何使用TensorFlow Keras子类化来构建和训练模型

新行是pandas数据帧中旧行的组合

selenium 无法执行网站上最简单的功能

DataFrame列中如何迭代重复值?

Python3:是否可以将变量用作函数调用的一部分

在 python f-string 中使用 \u

Pandas 窗口聚合两个排序表

为什么 Sympy 不能解决我的非线性系统? Python 解释器一直在执行,直到我终止进程

这种类型提示有什么作用?

正则表达式来识别用 Python 写成单词的数字?

判断 gekko 中的表达式

如何融化具有自定义名称的Pandas

运行 pip install -r requirements.txt 时出错

Python 解包运算符 (*)

Python过滤器函数 - 单个结果

Python中调用者函数的访问变量

判断 dict.items() 中的成员资格的时间复杂度是多少?

当 None 被传递时,如何将默认值应用于 python 数据类字段?

在 Visual Studio Code 中调试 Scrapy 项目