python - 垂直整合超过 1500 列的数据表
问题描述
我有一个数据表,其中包含大约 1700 列和 100 行数据,带有唯一标识符。它是调查数据,一个组织的每个员工都回答了相同的 9 个问题,但它被编译成每个组织的一行数据。python/pandas 中是否有一种方法可以垂直整合这些数据,而不是它已经在 x 轴上的细长格式?我目前正在剪切和粘贴。
解决方案
您可以reshape
使用适当的公司对基础 numpy 数组和重新索引:
# sample data, assuming index is the company
df = pd.DataFrame(np.arange(36).reshape(2,-1))
# new index
idx = df.index.repeat(df.shape[1]//9)
# new data:
new_df = pd.DataFrame(df.values.reshape(-1,9), index=idx)
输出:
0 1 2 3 4 5 6 7 8
0 0 1 2 3 4 5 6 7 8
0 9 10 11 12 13 14 15 16 17
1 18 19 20 21 22 23 24 25 26
1 27 28 29 30 31 32 33 34 35
推荐阅读
- postgresql - CentOS:Postgres 11 yum repo 缺少 repomd.xml(Errno 14 404 Not Found)
- html - 可能有一个边界重叠/取消另一个边界?
- c - 使用 strtok 分隔单词并删除 , 和 ()
- android - Android 意图 viber 用户个人资料屏幕
- android - 使用合成的片段内的空指针
- excel - 当工作簿 1 中的单元格值与工作簿 2 中的列值匹配时,将值从工作簿 2 复制到工作簿 1(主工作簿)
- java - 如何在解析树中找到节点的路径
- node.js - Node.js Express ES6 app.address 不是函数
- android - Foursquare 没有在 explore api 显示任何场地照片
- c# - 如何在 C# 中启用合同?