我是Python和Stacks Overflow的新手。我试图将变量名称分配给np中的1维列数组。矩阵数据集。总数据列的数量未知,因此我无法手动命名列。但我知道感兴趣的列从数据集的第三列开始,即它们从-Data [:,2] - 开始。我的问题是;当列总数未知时,如何为所有感兴趣的“列阵列”分配变量名称?我是
Assignment 1 = Data[:,2]
Assignment 2 = Data[:,3]
Assignment 3 = Data[:,4]
Assignment 4 = Data[:,5]
...
Assignment N = Data[:,N+1]
我尝试使用for循环......!以下代码不起作用!
# Create index, to compute the amount of columns of interest. "Data" is a np
# array
cols= Data.columns[2:]
# i from column 2 to last column
for i in range(2,(len(cols))):
+Assigment(i-1) = Data[:,i]
# Variabel name = 'slice' of column data
我的输入看起来像这样;
期望的输出将是列值的一维数组,即
任何想法都会非常感激。
Python 3.6.1 64bits,Qt 5.6.2,Darwin上的PyQt5 5.6
答案 0 :(得分:0)
您不想动态分配变量名称。你想要一个清单。您可以使用list comprehension:
构建它assignments = [Data.columns[:,i+1] for i in range(1,len(cols)-1)]
然后你可以在这样的循环中使用这个列表:
for assignment in assignments:
#do something
您还可以使用assignments[i]
访问作业i。