2017-07-08 551 views
-1

我有以下代碼:轉換大熊貓時間戳月endate

#!/usr/bin/python 

import pandas as pd 

df = pd.read_excel(io='http://www.iea.org/gtf/download/Export_GTF_IEA.xls', sheetname='Data', skip_footer=5,) 

df = df.drop('Unnamed: 2', axis=1) 
df = df.drop('Exit', axis=1) 
df = df.drop('Entry', axis=1) 
df = df.drop('MAXFLOW (Mm3/h)', axis=1) 

df = df.T 

df.to_csv('foo.csv', encoding='utf-8', sep='\t', header=False) 

輸出的樣本是這樣的:

print df 
           0  1   2   3  4 \ 
Borderpoint   Adriatic LNG Almeria Alveringem Alveringem Badajoz 
2008-10-01 00:00:00    0  0   0   0 152.81 
2008-11-01 00:00:00    0  0   0   0 183.31 
2008-12-01 00:00:00    0  0   0   0 85.21 
2009-01-01 00:00:00    0  0   0   0 199.16 
2009-02-01 00:00:00    0  0   0   0 104.48 
2009-03-01 00:00:00    0  0   0   0  9.17 

如何時間戳轉換爲一個月-結束日期?

+0

在您的示例輸出中,「Borderpoint」列日期是每個月的第一個日期(而不是最後一個)。你要哪個? – cmaher

回答

2

頁眉設置不正確所以要設置適當的標題,你可以使用

df.columns = df.iloc[0] 
df.drop(df.index[:1], inplace=True) 

書齋改變時間戳月的最後一天,你可以使用

df.index = df.index + pd.offsets.MonthEnd(0) 

輸出:

 
Borderpoint Adriatic LNG Almeria Alveringem Alveringem Badajoz Badajoz 
2008-10-31    0  0   0   0 152.81  0 
2008-11-30    0  0   0   0 183.31  0 
2008-12-31    0  0   0   0 85.21  0 
2009-01-31    0  0   0   0 199.16  0 
2009-02-28    0  0   0   0 104.48  12 
2009-03-31    0  0   0   0  9.17  2 
2009-04-30    0  0   0   0 190.49  0 
2009-05-31    0  0   0   0  0  0 

+0

如果你有你想要的東西,請接受答案@Max有幫助。 – Dark