【发布时间】:2017-12-14 09:12:24
【问题描述】:
我正在尝试在 python 中创建可变数量的变量(数组)。
我有一个实验数据库,我正在从中提取数据。我无法控制数据库或数据的写入方式。我正在以表格的形式提取数据 - 第一列(或从 python 的角度来看的第零列)具有位置 ID,后续列具有多次迭代的读数。位置 ID(在第 0 列中)跨越数百万行,因此迭代的读数被捕获在后续列中。所以我阅读了数据库并创建了这个巨大的表。
在下一步中,我循环遍历索引 1 到 n 的列(第 0 列有位置),我试图得到这个 - 如果 2 个读数的差异大于 0.001,则将位置 id 写入数组。
if ( (A[i][j+1] - A[i][j]) > 0.001): #1<=j<=n, 0<=i<=max rows in the table
then write A[i][0] i.e. location id to an array, arr1[m][n] = A[i][0]
问题:它正在创建动态数量的变量,例如arr1。我将每个循环迭代的结果存储在一个数组中,并且 j 的列数仅在运行时才知道。那么如何创建可变数量的变量,例如arr1?其次,像arr1 这样的每个变量都可以有不同的大小。
我查看了类似的问题,但多维数组不起作用,因为每个 arr1 可以有不同的大小。此外,性能很重要,所以我猜 numpy 数组会更好。我猜对于如此庞大的数据,字典的性能会很慢。
【问题讨论】:
-
这个答案告诉使用字典。我看不出这在这里有什么用处。
-
@mpf82,你能告诉我如何使用字典吗?
标签: python