numpy 如何从数组中删除元组?

3ks5zfa0  于 2023-01-05  发布在  其他
关注(0)|答案(2)|浏览(147)

该阵列为1D阵列:
[("2007年第二季"、"黄茂桥"、"单间"、-1)("2007年第二季"、"黄茂桥"、"两室"、-1)("2007-第二季"、"黄茂桥"、"三间房"、172000)("2022年第一季度","宜顺","四房",450000)("2022年第一季度","宜顺","五房",582500)("2022年第一季度","宜顺","行政",800000)]
我希望删除包含"-1"的元组
我现在正在使用del函数

datacopy = np.copy(data)
print(datacopy)

for i in datacopy:
    if i[3] == -1:
        del i
    print(datacopy)

但是我得到了相同数组的重复:
[("2007年第二季"、"黄茂桥"、"单间"、-1)("2007年第二季"、"黄茂桥"、"两室"、-1)("2007-第二季"、"黄茂桥"、"三间房"、172000)("2022-Q1","逸顺","四房",450000)("2022-Q1"、"逸顺"、"五房"、582500)(“2022年第一季”、“怡顺”、“行政”、800000)][("2007年第二季"、"黄茂桥"、"单间"、-1)("2007年第二季"、"黄茂桥"、"两室"、-1)("2007-第二季"、"黄茂桥"、"三间房"、172000)("2022-Q1","逸顺","四房",450000)("2022-Q1"、"逸顺"、"五房"、582500)(“2022年第一季”、“怡顺”、“行政”、800000)][("2007年第二季"、"黄茂桥"、"单间"、-1)("2007年第二季"、"黄茂桥"、"两室"、-1)("2007-第二季"、"黄茂桥"、"三间房"、172000)("2022年第一季度","宜顺","四房",450000)("2022年第一季度","宜顺","五房",582500)("2022年第一季度","宜顺","行政",800000)]
我想得到的回报是
[("2007年第二季","黄茂桥","三房",172000)("2022年第一季","宜顺","四房",450000)("2022年第一季","宜顺","五房",582500)("2022年第一季","宜顺","行政",800000)]

jk9hmnmh

jk9hmnmh1#

试试这个:

newList= [x for x in datacopy if x[3] != -1]

在这里,x将是每个元组,* if x [3]!= -1 * 将用作条件过滤器

piok6c0g

piok6c0g2#

要么使用
第一个月
或者
filtered_data = filter(lambda x: x[3] != -1, data)

相关问题