如何将NumPy数组转换为Pandas数据帧?

16

我想要一个NumPy数组的3列

px[:,:,0]
px[:,:,1]
px[:,:,0]
将数据转换为pandas的数据框架。

我应该使用吗?

df = pd.DataFrame(px, columns=['R', 'G', 'B'])

谢谢

Hugo


1
你需要传递一个DataFrame作为2D输入,而不是3D数组。 - zhangxaochen
我可以对列进行切片吗? df = pd.DataFrame((px[:,:,0],px[:,:,1],px[:,:,2]), columns=['R', 'G', 'B']) - Hugo
np,您想要做什么? - zhangxaochen
你能发布一下 px 的内容吗? - Alvaro Fuentes
[[[16 47 3] [14 45 1] [6 39 0] ..., [40 71 39] [42 73 41] [46 77 45]] [[8 41 0] [2 35 0] [23 56 11] ..., [35 69 32] [38 72 37] [41 75 40]] [[6 39 0] [24 60 14] [31 67 21]]] - Hugo
我需要将每个像素的R、G、B值放在Dataframe的不同列中。 - Hugo
1个回答

24

您需要先重塑数组,请尝试以下操作:

px2 = px.reshape((-1,3))
df = pd.DataFrame({'R':px2[:,0],'G':px2[:,1],'B':px2[:,2]})

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接