【发布时间】:2018-05-09 01:42:36
【问题描述】:
我有一个 Excel 数据透视表,其中包含如下数据:
Code Region Detail Oct'17 Sep'17 Aug'17
AXISCGF zone 1 IND3D01024 -82,000 0 900,000
AXISDEF zone 5 INP467B029 85,000 182,000 0
AXISEAF zone 4 INZ514ELY4 -13,500 0 5,00,000
AXISEQF zone 2 INQ916D14E 0 -500,000 25,400
我想要的输出是:
Code Region Detail Month Change
AXISCGF zone 1 IND3D01024 Oct'17 -82,000
AXISDEF zone 5 INP467B029 Oct'17 85,000
..
AXISCGF zone 1 IND3D01024 Sep'17 0
AXISDEF zone 5 INP467B029 Sep'17 182,000
我想要前三列,然后从第 4 列开始追加所有列。我能够遍历第 4 列以结束。我的代码:
import pandas
df = pandas.read_excel('Data_2017.xlsx', sheet_name='Sales')
for data_column in df.columns[3:10]:
df_new = df.filter(['Code','Region','Detail',data_column])
#print df_new.head()
df_new.to_csv('_TEST_Output.csv',mode='a')
输出:
Code Region Detail Oct'17
0 AXISCGF zone 1 IND3D01024 -82,000
1 AXISDEF zone 5 INP467B029 85,000
..
3501 AXISESF zone 3 INO0201062 0
Code Region Detail Sep'17
0 AXISDEF zone 5 INP467B029 182,000
如何使用 pandas 获得所需的输出?
【问题讨论】:
标签: python excel pandas pivot-table