1

我是 Python 和 Stacks Overflow 的新手。我正在尝试将变量名称分配给 np.xml 中的一维列数组。矩阵数据集。总数据列的数量是未知的,所以我无法手动命名这些列。然而,我知道感兴趣的列从数据集的第三列开始,即它们从 -Data[:,2]- 开始。我的问题是;当列的总数未知时,如何为所有感兴趣的“列数组”分配变量名称?IE

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

我的输入看起来像这样;

输入

所需的输出将是列值的一维数组,即

需要 1 暗淡。 数组输出

任何想法将不胜感激。

达尔文上的 Python 3.6.1 64 位、Qt 5.6.2、PyQt5 5.6

4

1 回答 1

0

您不想动态分配变量名称。你想要一个清单。您可以使用列表推导来构造它:

assignments = [Data.columns[:,i+1] for i in range(1,len(cols)-1)]

然后你可以在例如这样的循环中使用这个列表:

for assignment in assignments:
   #do something

您还可以使用 访问作业 i assignments[i]

于 2017-11-30T14:22:04.813 回答