python - (x,) 在 NumPy 形状中表示什么?

标签 python arrays numpy

我一直在努力寻找 (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/

相关文章:

python - 为什么我的代码会打印 "built-in method"和一些十六进制数字?

python - 为什么我不能用单行条件来中断?

python - 灰度图像Python实现

c# - 可能的组合

Python,生成一对不同的随机数

Python Numpy 安装健全性检查错误

python - 访问按 KMeans 集群分组的数据的有效方法

java - 翻译器只接受一个词,为什么不接受其余的

c - 拆分一个 char[] 并将值存储在不同的数组 C

python - 如何使用 nditer 迭代每个操作数的第一个维度?