使用np.column_stack堆叠np.linspace生成数组时遇TypeError求助
解决numpy.column_stack的参数错误问题
错误原因
np.column_stack()的参数要求是一个包含多个数组的可迭代对象(比如列表、元组),而非直接传入多个独立的数组参数。你直接传递v, v_2, v_3三个独立参数,函数仅接受1个位置参数,因此触发TypeError。
修改后的代码
将多个数组用列表或元组包裹后传入即可:
import numpy as np v = np.linspace(0, 2, 10) v_2 = v**2 v_3 = v**3 # 用列表包裹数组(推荐写法) stacked_array = np.column_stack([v, v_2, v_3]) # 也可以用元组包裹 # stacked_array = np.column_stack((v, v_2, v_3)) print(stacked_array)
效果说明
修改后,column_stack会将每个一维数组作为一列堆叠,最终生成一个10行3列的二维数组,正好实现你将v、v²、v³按列组合的需求。
内容的提问来源于stack exchange,提问作者Magnus Moller
相关产品推荐
相关产品推荐

