如何将4D NumPy数组转换为指定结构的Pandas DataFrame?
解决方法
步骤说明
原NumPy数组为4维结构(2, 1, 5, 4),需先去除长度为1的冗余维度,再将数组展平为二维结构,最后转换为指定列名的Pandas DataFrame。
代码实现
import numpy as np import pandas as pd # 原4D数组 A = np.array([ [[[0, 1, 2, 3], [3, 0, 1, 2], [2, 3, 0, 1], [1, 3, 2, 1], [1, 2, 3, 0]]], [[[9, 8, 7, 6], [5, 4, 3, 2], [0, 9, 8, 3], [1, 9, 2, 3], [1, 0, -1, 2]]]]) # 去除长度为1的维度,得到shape为(2,5,4)的数组 squeezed_A = np.squeeze(A) # 展平为二维数组,行数自动计算,列数固定为4 flattened_A = squeezed_A.reshape(-1, 4) # 创建DataFrame并指定列名 df = pd.DataFrame(flattened_A, columns=['A', 'B', 'C', 'D']) print(df)
输出结果
A B C D 0 0 1 2 3 1 3 0 1 2 2 2 3 0 1 3 1 3 2 1 4 1 2 3 0 5 9 8 7 6 6 5 4 3 2 7 0 9 8 3 8 1 9 2 3 9 1 0 -1 2
内容的提问来源于stack exchange,提问作者Amina Umar
相关产品推荐
相关产品推荐

