【问题标题】:different data types in a matrix矩阵中的不同数据类型
【发布时间】:2020-12-14 10:28:48
【问题描述】:

我有一个这样的矩阵:

[[-0.96092685  1.16253848]
 [ 1.49414781  0.265738  ]
 [ 0.02689231 -1.09912591]
 ...
 [ 0.16677277  1.43807138]
 [-0.36808792 -0.03435113]
 [-0.3693595   0.44464701]]

还有一个像这样的矩阵:

[-1  1 -1 -1 -1 -1 ...  1 -1  1 -1  1 -1 -1 -1  1  1 -1  1
 -1  1 -1  1  1 -1  1  1  1 -1  1 -1  1 -1 -1 -1]

现在我想将最后一个矩阵作为列放在第一个矩阵中,我已经完成了:

y=yL.reshape(len(yL),1)
data=np.concatenate((XL,y),axis=1)

但结果是:

[[-0.96092685  1.16253848 -1.        ]
 [ 1.49414781  0.265738    1.        ]
 [ 0.02689231 -1.09912591 -1.        ]
 ...
 [ 0.16677277  1.43807138 -1.        ]
 [-0.36808792 -0.03435113 -1.        ]
 [-0.3693595   0.44464701 -1.        ]]

但我希望 1 和 -1 是 int 而不是 float,我该怎么办?

【问题讨论】:

    标签: python arrays numpy matrix


    【解决方案1】:

    你不能。在 numpy 中,np.array 的所有元素必须共享相同的数据类型。如果您希望 具有不同的数据类型,您应该使用 Pandas。

    【讨论】:

    • 谢谢,但是如果我以这种方式编写矩阵,我可以有不同的数据类型: dataset = [[2.7810836,2.550537003,0], [1.465489372,2.362125076,0], [3.396561688,4.400293529, 0],[1.388070117,0],[3.06407232,3.005305973,0],[7.627531214,2.759262235,1],[5.332441248,2.08862675,1],[6.922596716,1],[8.67106367,1],[8.675418651],-0.242068651,-0.242068651,0.242068655 ], [7.673756466,3.508563011,1]]
    • @MementoMori:这不是一个 numpy 数组,而是一个普通的 Python 列表。它们是完全不同的动物!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-11
    • 2016-01-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多