2017-06-14 17 views
4

でパンダに "MMM-YYYY" に "YYYY/MM" タイプの日付を変換します:どのように私は私が何をしたいのpython

# I have col names in pandas DF such as : 
data 2017/01 2017/02 2017/03 .... 
ABC  12  22  08 .... 
EFG  07  16  12 .... 

私はCOL名を変換したい:

data Jan-2017 Feb-2017 Mar-2017 .... 
ABC  12  22  08   .... 
EFG  07  16  12   .... 

私は次のことを試してみました:

の結果、
pd.to_datetime(pd.Series(['2017/01']), format="%Y/%m") 

0 2017-01-01 
    dtype: datetime64[ns] 

しかし、私は望む結果を得る方法がわかりません。

答えて

5

あなたは、近くにあるDatetimeIndex.strftimeが必要になります。

df.columns = pd.to_datetime(df.columns, format="%Y/%m").strftime('%b-%Y') 
print (df) 
     Jan-2017 Feb-2017 Mar-2017 
data        
ABC   12  22   8 
EFG   7  16  12 

はEDIT:

はアイデアのためにあなたpiRSquaredありがとう:

df.columns = pd.PeriodIndex(df.columns, freq='M').strftime('%b-%Y') 
print (df) 
     Jan-2017 Feb-2017 Mar-2017 
data        
ABC   12  22   8 
EFG   7  16  12 
+2

また助けを。のstrftime( '%B-%Y') ' – piRSquared

+0

おかげ' pd.PeriodIndex(df.columns、FREQ = 'M')を使用することができます:) –

1

は矢印のライブラリを使用してください。 Arrowは人間の日時であると考えられています。 清潔でシンプルで直感的です。

import arrow 
arrow.get('2017/03').format('MMM-YYYY') 

戻りMar-2017

関連する問題