【发布时间】:2015-07-09 12:36:49
【问题描述】:
我正在运行 Python 2.7.9。我有两个 numpy 数组(100000 x 142 和 100000 x 20),我想将它们连接成 1、100000 x 162 数组。
以下是我正在运行的代码:
import numpy as np
import pandas as pd
def ratingtrueup():
actones = np.ones((100000, 20), dtype='f8', order='C')
actualhhdata = np.array(pd.read_csv
('C:/Users/Desktop/2015actualhhrating.csv', index_col=None, header=None, sep=','))
projectedhhdata = np.array(pd.read_csv
('C:/Users/Desktop/2015projectedhhrating.csv', index_col=None, header=None, sep=','))
adjfctr = round(1 + ((actualhhdata.mean() - projectedhhdata.mean()) / projectedhhdata.mean()), 5)
projectedhhdata = (adjfctr * projectedhhdata)
actualhhdata = (actones * actualhhdata)
end = np.concatenate((actualhhdata.T, projectedhhdata[:, 20:]), axis=1)
ratingtrueup()
我得到以下值错误:
文件 "C:/Users/PycharmProjects/TestProjects/M.py", 第 16 行,在 ratingtrueup end = np.concatenate([actualhhdata.T, projectionhhdata[:, 20:]], axis=1) ValueError: 除了 连接轴必须完全匹配
我已经确认两个数组都是“numpy.ndarry”。
有没有办法检查输入数组的尺寸,看看哪里出错了。
提前谢谢你。
【问题讨论】:
-
可以使用属性
ndim,如果要保证一定的维度np.atleast_1d、np.atleast_2d或np.atleast_3d -
ndim 为您提供维数。你想要的形状。
-
如果就在你做
print actualhhdata.shape, projectedhhdata[:, 20:].shape的连接之前,它应该会清理干净。