python - 用于将 3d 数组展平为 pandas df 的内置函数?
问题描述
我有一个如下的numpy数组:
import pandas as pd
import numpy as np
np.random.seed(10)
data = np.random.randint(0, 10, size=(1000, 4, 3))
我希望能够将此数据展平为具有 12 列和 1000 行的 df。
我所做的是:
df = pd.DataFrame( index=range(data.shape[0]))
for i in range(data.shape[1]):
for j in range(data.shape[2]):
df[str(i)+'_'+str(j)] = pd.DataFrame((data[:,i,j]))
通过这样做,我将能够将此 3d 数据展平为 2d pandas df。
-除了我所做的之外,有谁知道我可以使用的任何简洁的内置功能?
解决方案
只需将数组重塑为(-1, 12)
并创建数据框
pd.DataFrame(data.reshape(-1, 12))
推荐阅读
- amazon-web-services - Quarkus amazon lambda JAX-RS 集成
- vue.js - 混合类型页面的 Nuxtjs 应用结构
- tsql - 您好,我需要表格首次上传/推送与创建/修改的初始日期
- python - 使用 Selenium(Python)在网页上查找按钮时遇到动态(更改)XPath 问题
- javascript - Rails:在 1 个动作中多次更新视图
- javascript - 显示选定按钮的新值
- angular - 如何在角度模块中动态设置 API 密钥
- python - 有没有更好的方法来合并具有子列表的元组的项目,而无需创建如下所示的新函数?
- regex - 具有多个匹配项和非单词字符的全词搜索
- spring-boot - 为什么@SpringBootTest 运行@SpringBootApplication 并跳过@Test 方法?