2016-07-06 2 views
5

에서 정규식을 사용하여 dataframe의 열의 문자열과 장소 사이의 값을 선택하는 방법은 3 개 값을 빼고으로 배치 할 필요가있는 코멘트 섹션 내내가 제목 열을 포함하는 큰 dataframe이 파이썬

"코멘트" 별도의 열, 즉 (듀티 사이클, 가스, 압력)

"듀티 사이클에 대한 데이터 수집 START : 0, 가스 : 진공 압력 : 0.000028 토르"

현재 LY 내가 문자열을 구문 분석 .split 및 .tolist을 사용하고 ->

#split string and sort into columns 
df1 = pd.DataFrame(eventsDf.comment.str.split().tolist(),columns="0 0 0 0 0 0 dutyCycle 0 Gas 0 Pressure 0 ".split()) 

#join dataFrames 
eventsDf = pd.concat([eventsDf, df1], axis=1) 

#drop columns not needed 
eventsDf.drop(['comment','0',],axis=1,inplace=True) 

내가 코멘트 섹션의 구조 내 코드는 쓸모가있을 것입니다 변경시 점에서이 방법은 오히려 "해키"발견 ... 누구든지이 일을하는 데 더 효과적이고 강력한 방법을 보여줄 수 있습니까 ?? 정말 고맙습니다!

답변

2

str.extract을 정규식과 함께 사용하십시오.

regex = r'Duty Cycle: (?P<Duty_Cycle>\d+), Gas: (?P<Gas>\w+) Pressure: (?P<Pressure>\S+) Torr' 
df1 = eventsDf.comment.str.extract(regex, expand=True) 
df1 

enter image description here

+0

감사합니다! 완벽하게 작동했습니다! –

관련 문제