我一直在努力寻找 (x,) 在 NumPy 形状中究竟表示什么?从它的外观来看,我知道它告诉我们数组中有“x”个列/元素,它基本上是一个一维数组。
但我的问题是这里的 (x,) 后面的逗号表示什么?我问这个问题是因为,我正在尝试创建一个 DataFrame 并且它给了我一个错误:
ValueError: Shape of passed values is (3, 1), indices imply (1, 3)
我的代码:price = np.array([10, 8, 12])
df_price = pd.DataFrame(price,
index=(["Price"]),
columns=(["Almond Butter","Peanut Butter", "Cashew Butter"]))
谁能告诉我这个“价格”数组的形状是 (3,1) 怎么来的?它不是。它是 (3,) ——就是这样。
最佳答案
当尝试从平面数组创建 Pandas DataFrame 时,该数组必须转换为某种 2D 形式,因为 Pandas DataFrames 几乎总是 2D。
出现问题是因为您有一行三列,因此数据数组的形状应为 (1, 3)
. pd.DataFrame
构造函数必须在数组的末尾添加一个维度,并假设第一个维度中的每个项目都是 DataFrame 中的一行。
一个简单的解决方法是将数据数组 reshape 为行数乘以列数。
price = np.array([10, 8, 12]).reshape(1, -1)
-1
在 .reshape
上面的调用告诉函数推断该轴的长度。
关于python - (x,) 在 NumPy 形状中表示什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63512488/