我有44000行和5列的数据集。我要执行的操作是擦除第二列中的所有数字,并以递增的顺序将新数字放在该位置,但每隔一列仍与以前相同。例如,该列的第一行为0.001,第二行为0.003,第三行为0.005,依此类推。
如何在Python代码中实现?我仍然不太熟练使用Python。
感谢您的帮助。
答案 0 :(得分:1)
我将举一个例子来说明,现在让我来看看这个清单。您的矩阵可以视为二维列表。
让我的列表为L = [[0,0,0],[0,0,0],[0,0,0]]。这是3x3矩阵。假设每行的第二列需要统一增加2,则可以尝试此操作。
l = [[0,0,0],[0,0,0],[0,0,0]]
inc=0
for i in l:
i[1]=inc+2
init=i[1]
print(l)
对于矩阵中的每一行,修改第二列。使用变量(incr)跟踪增量。在第一次迭代时,第1行的第二列将为'2'。修改值后,将增量变量更新为新值,以便在下一次迭代中将增量值添加到该新值。这就是发生的情况。
迭代1:
修改前的row1为[0,0,0]。然后用incr + 2替换第二列(incr首先为0,所以i [1]变为2)。然后incr = i [1]将使incr =2。因此,修改后的row1现在为[0,2,0]。
迭代2: 修改前的row2为[0,0,0]。然后将第二列替换为incr + 2(在上一次迭代中,incr值更改为2。因此,现在i [1]为incr + 2,即2 + 2 = 4)。然后incr = i [1]将使incr = 4。因此,现在修改后的row2为[0,4,0]。
不断重复。