Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 多次删除阵列的第二行_Python_Numpy - Fatal编程技术网

Python 多次删除阵列的第二行

Python 多次删除阵列的第二行,python,numpy,Python,Numpy,因此,我有几个.txt文件,其中包含超过80.000行的数据。 因此,对于Python来说,这可能不是很多,但是,我需要在R中使用这些数据,在R中我需要一个特定的包。在那里,加载一个文件大约需要30秒——我有1200个这样的文件 然而,这些文件中的数据相当密集。没有必要有这么小的步骤,也就是说,为了使文件变小,我想删除一些步骤 我现在使用的是: np.delete(np.array(data_lines), np.arange(1, np.array(data_lines).size, 2))

因此,我有几个.txt文件,其中包含超过80.000行的数据。 因此,对于Python来说,这可能不是很多,但是,我需要在R中使用这些数据,在R中我需要一个特定的包。在那里,加载一个文件大约需要30秒——我有1200个这样的文件

然而,这些文件中的数据相当密集。没有必要有这么小的步骤,也就是说,为了使文件变小,我想删除一些步骤

我现在使用的是:

np.delete(np.array(data_lines), np.arange(1, np.array(data_lines).size, 2))
我从行索引1开始,每隔一行删除包含+80.000行数据的
data\u行
数组。但是,正如您所看到的,这只会减少1/2的行数。我可能需要至少减少1/10。所以原则上我可以做一些循环来实现这一点,但我想知道是否有更聪明的方法来实现它

a = np.array(data_lines)[::10]

每十行获取一次数据。不复制数据,切片可用于视图对象。

您应该使用切片。在我的示例数组中,每行中的值与行索引(0,1,…,79999)相同。我在80000 x 1 np数组中每10行剪切一次(列的数量无关紧要……这在一个包含多个列的数组中是可行的)。如果你想以不同的方式进行切片,这里有更多关于切片的信息

因此,在您的情况下,如果您的数据线数组还不是np数组:

data_lines_subset = np.array(data_lines)[::10]

你必须使用numpy吗?你把这些数据放在一个小堆里只是为了毁灭它吗?您是否尝试过切片
数据线[::10]
??
data_lines_subset = np.array(data_lines)[::10]