Pandas不同数组对应不同列:shape(50,1001)array转指定结构DataFrame
可行解决方案
核心问题是直接对Python原生列表执行转置、reshape操作不会生效,可选择以下两种方案实现需求:
方案1:基于numpy数组转置实现(推荐用于大规模数组)
适合你当前shape为(50,1001)的数组,运算效率更高:
import pandas as pd import numpy as np # 先将原生列表转换为numpy数组,转置后再构造DataFrame np_arr = np.array(arr) df = pd.DataFrame(np_arr.T)
如需自定义列名,可修改为:
df = pd.DataFrame(np_arr.T, columns=['自定义列名1', '自定义列名2'])
方案2:基于Python内置zip函数实现(无需额外依赖)
适合小规模数组场景,不需要引入numpy:
import pandas as pd df = pd.DataFrame(zip(*arr))
效果验证
以你给出的示例输入测试:
arr = [['10','24','32','63','70'],['14','85','56','14','45']]
两种方案输出的df均为预期的5行2列结构,完全符合要求。如果需要将字符串类型的数值转为整型,可额外执行df = df.astype(int)即可。
内容的提问来源于stack exchange,提问作者Abigail Valadez
相关产品推荐
相关产品推荐

