添加新列,或访问numpy数组中的特定列

时间:2019-01-18 01:56:04

标签: python

我有一个NumPy数组,例如

SELECT
    A.task,
    A.subtask,
    A.[user],
    CASE
        WHEN B.user_count = 1
        THEN 'Individual ' + [user]
        ELSE 'Team'
    END
FROM Tasks A 
INNER JOIN 
    (
        SELECT 
            task,
            COUNT(DISTINCT [user]) user_count
        FROM #tmp
        GROUP BY
            task
    ) B 
ON      A.task = B.task

如果要查看该列,我可以致电results = np.repeat(0.5, 400) 。但是,我认为results也应该工作,因为它提供了以下内容:IndexError:数组的索引过多。

这是一个问题,因为我想在数组中创建一个新列,但是无法做到这一点:results[:,0]

如何将新列添加到数组?

1 个答案:

答案 0 :(得分:1)

您指的是results,就好像它只有一列和400行,但是,您创建的数组是一维数组,没有这样的行和列。

如果您要创建一个包含1列和400行的包含0.5的2D数组,可以使用以下方法:

results = np.repeat([[0.5]], 400, axis=0)

然后,您可以添加一列,其中包含第一个副本:

results = np.append(results, results, axis=1)

或者,您可以执行您的操作(创建1D数组),然后添加一个尺寸以将其转换为2D:

results = np.repeat(0.5, 400)
results = np.expand_dims(results, 1)

之后,添加一列与以前相同。