📜  Python|从矩阵中删除假行

📅  最后修改于: 2022-05-13 01:55:51.782000             🧑  作者: Mango

Python|从矩阵中删除假行

有时,在处理数据时,尤其是在机器学习领域,我们需要处理大量不完整或空的数据。我们有时需要消除在任何列中不包含值的行。让我们讨论一些删除所有False 值作为列表列的行的方法。

方法 #1:使用列表理解 + count() + len()

我们可以使用列表理解配方来执行这个特定的任务,结合len和 count函数来检查与列表长度相等的相似性元素计数器。

# Python3 code to demonstrate
# removing False rows in matrix 
# using list comprehension + count() + len()
  
# initializing matrix
test_list = [[1, True, 2], [False, False, 3],
            [False, False, False], [1, 0, 1]]
  
# printing original list
print("The original list : " + str(test_list))
  
# using list comprehension + count() + len()
# removing False rows in matrix
res = [sub for sub in test_list 
       if sub.count(False) != len(sub)]
  
# print result
print("The list after removal of False rows : " + str(res))
输出 :

方法 #2:使用列表理解 + set()

也可以通过将整行转换为一个集合,然后检查单个值 False 集合是否相等并在找到匹配项时删除来执行此特定任务。

# Python3 code to demonstrate
# removing False rows in matrix 
# using list comprehension + set()
  
# initializing matrix
test_list = [[1, True, 2], [False, False, 3],
            [False, False, False], [1, 0, 1]]
  
# printing original list
print("The original list : " + str(test_list))
  
# using list comprehension + set()
# removing False rows in matrix
res = [sub for sub in test_list if set(sub) != {False}]
  
# print result
print("The list after removal of False rows : " + str(res))
输出 :