我必须编辑CSV文件。
我已经可以导入它并将其转换为2D数组
现在,我的工作是删除0.0005 < array[i, 0]%0.0025 < 0.9995
所在的所有行。
(基本上,在第一列中,是间隔为0.0025的步骤,我需要删除所有行,其中一个步骤意外地大于其应有的大小)
我已经尝试了以下几种方法:
length = len(data)
for i in range data:
if 0.0005 < data[i,0]%0.0025 < 0.9995:
np.delete(data, i, 0)
但它并没有奏效。有人能帮帮我吗?
1条答案
按热度按时间sgtfey8w1#
我发现您的方法有一些问题--首先,您不应该在迭代过程中删除元素的数组上进行迭代。其次,
np.delete
返回一个新的数组,并且不在适当的位置。因此,您对此方法的调用什么也不做。此外,您的范围定义中存在一个小语法错误可能使用多条件索引
我们可以通过一个示例来验证类似的问题:删除第一个元素
x
满足1<x<4
的所有行(删除mod,因为它与示例无关):