2017-11-13 4 views
-1

파이썬 노트에 Date라는 열이 하나 있습니다. 여기에 2017-05가 포함되어 있습니다.Python Notebook - Year와 Month를 두 개의 다른 열로 나눕니다.

2 열로 나눠서 하나의 달과 한 달을 나눌 필요가 있습니다. 아니요?

코드 i는 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