[英]How to remove tuple from an array?
该数组是一维数组:
[('2007-Q2', 'ANG MO KIO', '1-ROOM', -1) ('2007-Q2', 'ANG MO KIO', '2-ROOM', -1) ('2007-Q2 ', 'ANG MO KIO', '3-ROOM', 172000) ('2022-Q1', '义顺', '4-ROOM', 450000) ('2022-Q1', '义顺', '5-ROOM ', 582500) ('2022-Q1', '义顺', '执行', 800000)]
我想删除包含“-1”的元组
我目前正在使用 del function
datacopy = np.copy(data)
print(datacopy)
for i in datacopy:
if i[3] == -1:
del i
print(datacopy)
但我最终得到了同一个数组的重复:
[('2007-Q2', 'ANG MO KIO', '1-ROOM', -1) ('2007-Q2', 'ANG MO KIO', '2-ROOM', -1) ('2007-Q2 ', 'ANG MO KIO', '3-ROOM', 172000) ('2022-Q1', '义顺', '4-ROOM', 450000) ('2022-Q1', '义顺', '5-ROOM ', 582500) ('2022-Q1', '义顺', 'EXEC', 800000)] [('2007-Q2', '宏茂桥', '1-ROOM', -1) ('2007-Q2 ', 'ANG MO KIO', '2-ROOM', -1) ('2007-Q2', 'ANG MO KIO', '3-ROOM', 172000) ('2022-Q1', '义顺', ' 4房', 450000) ('2022-Q1', '义顺', '5房', 582500) ('2022-Q1', '义顺', 'EXEC', 800000)] [('2007-Q2 ', 'ANG MO KIO', '1-ROOM', -1) ('2007-Q2', 'ANG MO KIO', '2-ROOM', -1) ('2007-Q2', 'ANG MO KIO ', '3房', 172000) ('2022-Q1', '义顺', '4房', 450000) ('2022-Q1', '义顺', '5房', 582500) (' 2022-Q1', '义顺', '执行', 800000)]
我想得到的回报是
[('2007-Q2', 'ANG MO KIO', '3-ROOM', 172000) ('2022-Q1', '义顺', '4-ROOM', 450000) ('2022-Q1', '义顺', '5-ROOM', 582500) ('2022-Q1', '义顺', 'EXEC', 800000)]
试试这个:
newList= [x for x in datacopy if x[3] != -1]
在这里,x 将是您的每个元组,如果 x[3] != -1将作为您的条件的过滤器
要么使用
filtered_data = [tuple for tuple in data if tuple[3] != -1]
要么
filtered_data = filter(lambda x: x[3],= -1, data)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.