python - 将一个数据集分成多行,在单行中包含多列 - 熊猫
问题描述
我有一个完整的数据集堆叠在一行中。这个数据集应该有 7 列和 360 行。
例如,第一个位置是:
df=[1, 14/02/2013, 3.305,55, 206,05, 25, 3.536,60, 349.027,78, 2, 14/03/2013, 3.299,07, 205,59, 25, 3.529,66 , 348.055,56, 3, 14/04/2013, 3.292,59, 205,13, 25, 3.522,72, 347.083,34, 4, 14/05/2013, 3.286,11, 204,67, 25, 3.515 ,78, 346.111,12, 5, 14/06/2013, 3.279,63, 204,22, 25, 3.508,84, 345.138,90]
我需要它们:
- 1, 14/02/2013, 3.305,55, 206,05, 25, 3.536,60, 349.027,78
- 2, 14/03/2013, 3.299,07, 205,59, 25, 3.529,66, 348.055,56
- 3, 14/04/2013, 3.292,59, 205,13, 25, 3.522,72, 347.083,34
- 4, 14/05/2013, 3.286,11, 204,67, 25, 3.515,78, 346.111,12
- 5, 14/06/2013, 3.279,63, 204,22, 25, 3.508,84, 345.138,90
我怎样才能在 python/pandas 中做到这一点?
谢谢。
解决方案
您可以使用 numpy array_split() 将列表的 len 除以所需的列数。
import pandas as pd
import numpy as np
d = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21]
pd.DataFrame(np.array_split(d,len(d)/7))
输出
0 1 2 3 4 5 6
0 1 2 3 4 5 6 7
1 8 9 10 11 12 13 14
2 15 16 17 18 19 20 21
推荐阅读
- javascript - 使用 intersectionObserver 和 fullpage.js 更改滚动标题样式
- c++ - 项目文件已重命名或不再在解决方案中
- azure-active-directory - 如何限制 Azure Active Directory 用户的访问权限,使他们只能使用 PowerBI?
- tf-idf - tf-idf 加权后转换为 stm 时出错
- c# - 在 C# 中使用 Microsoft print 将 word 文档转换为 PDF
- java - Spring Batch 在重启失败的作业时如何获取 ExecutionContext?
- ide - PhpStorm - 导出部署数据
- c++ - 错误:无法处理编译,在 '' [clang-diagnostic-error] 中只需要一个编译器作业
- sql - SQL计算多行与一行的百分比变化
- java - 向 Azure eventthubs 生成事件时发送操作超时