Python - 如何重新排列数据集

时间:2017-11-15 18:28:28

标签: python python-3.x automation

我正在尝试重新排列目前看起来像这样的数据集:

enter image description here

对此:

enter image description here

我一直在手动转置并添加每个源的值,并尝试使用Python来自动执行此任务。是否有人能帮助我开始朝着正确的方向前进?

我对Python脚本有一些了解,但目前主要是学习。

谢谢!

1 个答案:

答案 0 :(得分:1)

这是一个潜在的大熊猫解决方案。

我做了一个测试csv文件。没有逐字复制你的,但结构是那里

test_data.csv

Source,10/30/2017,10/31/2017,11/1/2017,11/2/2017,11/3/2017,11/4/2017,11/5/2017
A,10,11,12,13,14,15,16
B,15,16,17,18,19,20,21
C,20,21,22,23,24,25,26
A,25,26,27,28,29,30,31
B,30,31,32,33,34,35,36
C,35,36,37,38,39,40,41

这里是根据需要处理数据的python代码

import pandas as pd
df = pd.read_csv('test_data.csv')
df = df.set_index('Source')
ser = df.unstack('Source')
ser = ser.groupby(level=[0, 1]).sum()
ser = ser.sort_index(level=1)

此时,ser看起来像这样

            Source
10/30/2017  A         35
10/31/2017  A         37
11/1/2017   A         39
11/2/2017   A         41
11/3/2017   A         43
11/4/2017   A         45
11/5/2017   A         47
10/30/2017  B         45
10/31/2017  B         47
11/1/2017   B         49
11/2/2017   B         51
11/3/2017   B         53
11/4/2017   B         55
11/5/2017   B         57
10/30/2017  C         55
10/31/2017  C         57
11/1/2017   C         59
11/2/2017   C         61
11/3/2017   C         63
11/4/2017   C         65
11/5/2017   C         67
dtype: int64

除此之外的任何其他内容都将是格式化并将其保存到您喜欢的位置。

希望这有助于。