【问题标题】:Numpy array: concatenate arrays and integersNumpy 数组:连接数组和整数
【发布时间】:2013-08-22 10:47:05
【问题描述】:

在我的 Python 程序中,我连接了几个整数和一个数组。如果这可行,那将是直观的:

x,y,z = 1,2,np.array([3,3,3])
np.concatenate((x,y,z))

但是,所有整数都必须转换为 np.arrays:

x,y,z = 1,2,np.array([3,3,3])
np.concatenate((np.array([x]),np.array([y]),z))

特别是如果您有很多变量,这种手动转换是乏味的。问题是 x 和 y 是 0 维数组,而 z 是 1 维的。有没有办法在不转换的情况下进行连接?

【问题讨论】:

    标签: python arrays numpy integer concatenation


    【解决方案1】:

    它们只需要是序列对象,不一定是 numpy 数组:

    x,y,z = 1,2,np.array([3,3,3])
    np.concatenate(([x],[y],z))
    # array([1, 2, 3, 4, 5])
    

    Numpy 也有一个 insert 函数可以做到这一点:

    x,y,z = 1,2,np.array([3,3,3])
    np.insert(z, [0,0], [x, y])
    

    我会补充一点,如果你只是想将整数添加到列表中,你不需要 numpy 来做:

    x,y,z = 1,2,[3,3,3]
    z = [x] + [y] + z
    

    x,y,z = 1,2,[3,3,3]
    [x, y] + z
    

    x,y,z = 1,2,[3,3,3]
    z.insert(0, y)
    z.insert(0, x)
    

    【讨论】:

    • 嘿,这让我觉得有点愚蠢:)。谢谢你的帮助。现在我也明白整数/浮点数和序列类型(如列表、元组等)之间存在差异。
    猜你喜欢
    • 1970-01-01
    • 2017-05-27
    • 2012-04-04
    • 2022-01-22
    • 2016-05-20
    • 1970-01-01
    • 2014-10-16
    • 2014-04-19
    相关资源
    最近更新 更多