2016-12-15 12 views
0

저는 간단한 웹 스크래핑 인 DataFrame 프로젝트를 진행하고 있습니다. 간단한 8x1 DataFrame이 있고이를 8x2 DataFrame으로 분할하려고합니다. 지금까지 내 DataFrame는 모습입니다 같은 :팬더 데이터 프레임 열을 두 개의 열로 나누기

dframe = DataFrame(data, columns=['Active NPGL Teams'], index=[1, 2, 3, 4, 5, 6, 7, 8]) 
Active NPGL Teams 
1 Baltimore Anthem (2015–present) 
2 Boston Iron (2014–present) 
3 DC Brawlers (2014–present) 
4 Los Angeles Reign (2014–present) 
5 Miami Surge (2014–present) 
6 New York Rhinos (2014–present) 
7 Phoenix Rise (2014–present) 
8 San Francisco Fire (2014–present) 
내가 열, "활동 년"을 추가 할 및 분할 할

은 "(2014 ~ 현재)", "(2015 ~ 현재)" "Years Active"란에 입력하십시오. 데이터를 어떻게 분할합니까?

답변

2

당신은

dframe['Active NPGL Teams'].str.split(r' (?=\()', expand=True) 
    0    1 
1 Baltimore Anthem (2015–present) 
2   Boston Iron (2014–present) 
3   DC Brawlers (2014–present) 
4 Los Angeles Reign (2014–present) 
5   Miami Surge (2014–present) 
6  New York Rhinos (2014–present) 
7  Phoenix Rise (2014–present) 
8 San Francisco Fire (2014–present) 

열쇠는이 여는 괄호 (내다 주장) 다음 경우에만 공백 일치하는 정규식 r' (?=\()'입니다 사용할 수 있습니다. (약 5 %가 더 느리지 만가요)


또 다른 방법은 사용자 Series.str.extract이다.

dframe['Active NPGL Teams'].str.extract(r'^(?P<Team>.+) (?P<YearsActive>\(.+\))$', 
             expand=True) 
    Team  YearsActive 
1 Baltimore Anthem (2015–present) 
2   Boston Iron (2014–present) 
3   DC Brawlers (2014–present) 
4 Los Angeles Reign (2014–present) 
5   Miami Surge (2014–present) 
6  New York Rhinos (2014–present) 
7  Phoenix Rise (2014–present) 
8 San Francisco Fire (2014–present) 
+0

사랑이! 기이! :) 아직이 '판다'기능에 대해 몰랐습니다. – quapka

+0

감사합니다. 나는 결코 그것을 알아 내지 못할 것입니다. –

관련 문제