2017-11-13 7 views
-1

私はPythonノートブックにDateという1カラムを持っています。これには2017-05Pythonノートブック - YearとMonthを2つの異なるカラムに分割する

という2つの列に分割する必要があります.1つはYearとOne Monthと呼ばれていますか?

コードi have atm;

import calendar 
from datetime import datetime 

crimes['NewDate'] = crimes['Date'].apply(lambda x: datetime.strptime(x.split([0], '%Y-%m')) 

crimes['MonthNo'] = crimes['Date'].apply(lambda x: str(x.split()[0].split('-')[0])) 

monthDict = {'01' : 'Jan', '02' : 'Feb', '03' : 'Mar', '04' : 'Apr', '05' : 'May', '06' : 'June', '07' : 'Jul', '08' : 'Aug', '09' : 'Sep', '10' : 'Oct', '11' : 'Nov', '12' : 'Dec' } 

crimes['Month'] = crimes['MonthNo'].apply(lambda x: monthDict[x]) 
crimes.head() 

答えて

1

あなたは直接の月名または省略形を得るためにカレンダーモジュールを使用し、その後、ハイフンで分割することができます。

import calendar 
import pandas as pd 

dates = ['2017-05','2017-04','2016-03'] 
crimes = pd.DataFrame() 

years = [int(i.split('-')[0]) for i in dates] 
months = [int(i.split('-')[1]) for i in dates] 
month_names = [calendar.month_name[i] for i in months] 

#Alternatively, use abbrv for abbreviation 
#month_names = [calendar.month_abbr[i] for i in months] 

crimes['Year'] = years 
crimes['Month'] = month_names 
関連する問題