python - 如何使用 pandas DataFrame 的值作为 numpy 数组索引

标签 python arrays numpy pandas dataframe

我有一个像这样的 pandas dataFrame。

enter image description here

X、Y、Z 是 (x,y,z) 坐标,表示边长为 255 的立方体内的点。

我想从中创建一个 numpy 数组/数据帧,其索引是 (x,y,z) 坐标,值是强度。

输出应该是

data[133,55,250] = 8
data[133,61,254] = 21
...

我尝试过这样的事情

data = np.zeros((255,255,255), dtype=np.int)
index = np.array((temp['X'], temp['Y'], temp['Z']))

但返回的索引是一个(3,15)数组。

我想要一个索引,其中

data[index] = intensity

会给我结果。

最佳答案

而不是

index = np.array((temp['X'], temp['Y'], temp['Z']))

你可以使用integer array indexing执行任务:

data = np.zeros((256, 256, 256), dtype=np.int)
data[temp['X'], temp['Y'], temp['Z']] = temp['intensity']

关于python - 如何使用 pandas DataFrame 的值作为 numpy 数组索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27103073/

相关文章:

android - "java.lang.OutOfMemoryError"在 Android 中新建一个 int 数组时

c++ - C/C++ 将 char 数组初始化为 const char*

python - 这是创建 numpy 数组的只读 View 的正确方法吗?

pandas - 使用百分比增量创建的 numpy 范围

python - 创建等距数组列表的优雅方法

python - 为什么应该仅在 1 个元素张量或梯度 w.r.t 到 Variable 上调用 backward 函数?

python - 将 Python 类转换为 Numpy 数组

python - 创建一个 NxM 矩阵 A 到 NxMxL 矩阵 B,其中 B[i,j, :] = kronecker_delta(A[i, j])?

python - 在多个文件中搜索多个正则表达式,然后输出每个匹配项及其各自的文件

java - 即使设置了抛出 IllegalArgumentException 也更新对象