Skip to main content
 首页 » 编程设计

python之使用 Python 消除列中具有特定值的行

2025年05月04日16myhome

如何删除第 5 列值为“0”的行? 或者更好的是,我们可以选择范围(即删除第 5 列中值介于 -50 和 30 之间的行)吗?

数据看起来像这样:

 0  4028.44  4544434.50    -6.76  -117.00  0.0002   0.12 
 0  4028.50  3455014.50    -5.86  0        0.0003   0.39 
 0  7028.56  4523434.50    -4.95  -137.00  0.0005   0.25 
 0  8828.62  4543414.50    -3.05  0        0.0021   0.61 
 0  4028.44  4544434.50    -6.76  -107.00  0.0002   0.12 
 0  4028.50  3455014.50    -5.86  -11.00   0.0003   0.39 
 0  7028.56  4523434.50    -4.95  -127.00  0.0005   0.25 
 0  8828.62  4543414.50    -3.05  0        0.0021   0.61 

请您参考如下方法:

goodrows = [row for row in data if row.split()[4] != '0'] 

或

goodrows = [row for row in data if not (-50 <= float(row.split()[4]) <= 30)] 

编辑:

如果您的数据实际上在 NumPy 数组中,即使您的帖子没有,您的评论似乎也表明了这一点:

goodrows = [row for row in data if row[4] != 0] 

或

goodrows = [row for row in data if not (-50 <= row[4] <= 30)] 

应该可以。不过,肯定有一种 NumPy 内部方法可以做到这一点。