판다 텍스트 데이터 처리

 

초기화 된 데이터

수입 PD에로 팬더
 수입 순이익 등 NumPy와 
인덱스 = pd.Index (데이터 = " " , " " , " 마리아 " , " 제임스 " , " 앤디 " , " 앨리스 " , 이름 = " 이름 " ) 
데이터 = {
 " 나이 " : 18, 30, np.nan, 40, np.nan, 30 ],
 " 도시 " : [ "징은 BEI " , "샹 하이 " , " Guang의 저우 " , " 쉔 젠 " , np.nan, "  " ,
 " 섹스 " : [없음, " 남성 " , " 여성 " , " 남성 " , np.nan, " 알 수없는 " ,
 " 출생 " : [ " 2000년 2월 10일 " , " 1988년 10월 17일 " , 없음, "1978년 8월 8일 " , np.nan, "1988년 10월 17일 " ] 
} 
user_info = pd.DataFrame (= 데이터 데이터, 인덱스 = 인덱스) 
[user_info"탄생 "] = pd.to_datetime (user_info.birth) user_info

 

왜 사용 STR 속성

  텍스트 데이터, 즉, 우리는 종종 문자열, 팬더 속성을 제공 STR 시리즈, 당신은 쉽게 그것을 통해 각각의 요소에서 작동 할 수 있다고 말한다. Before've 각 요소의 일련의 처리하는 동안, 우리는지도를 사용하거나 방법을 적용 할 수 있습니다 전에 배웠습니다.

# 각 도시는 소문자 : 
user_info.city.map ( 람다 X 축 : x.lower을 ())

  무엇? 실제로 잘못, 잘못된 이유는 float 형의 객체 더 낮은 속성입니다. 누락 값 (때문이다 np.nan)는 플로트에 속하는

  이 시간은 우리의 STR 속성 작업, 그리고 그것을 사용하는 방법

# 소문자 텍스트 
user_info.city .str .lower () 
 #의 각 문자열의 통계 길이 
user_info.city .str .LEN ()

교체 및 부문

교체 작업

#은 밑줄을 빈 문자열로 대체됩니다 
user_info.city.str.replace를 ( "  " , " _ " ) 
 #의 사용을 정규 표현식 빈 문자열로 S로 시작하는 도시의 모든를 교체 : 
user_info.city.str.replace를 ( " ^ S. * " , "  " )

분할 작업

# : 열 분할 빈 문자열에 따르면 
(user_info.city.str.split를 "  " ) 
 "" " 
이름 
톰 [베이징] 
밥 [상하이] 
메리 [광저우] 
제임스 [심천] 
앤디 NaN의 
앨리스 [,] 
이름 : 도시를 , DTYPE : 개체 
"" " 

#의 : 목록에서 분할 요소는 GET 또는 [] 기호 방문 사용할 수 있습니다 
(user_info.city.str.split "  " ) .str.get (0)
 " "" 
이름 
톰 베이징 
밥 상하이 
마리아 광저우 
제임스 심천 
앤디 NaN의 
앨리스              
이름 :시, DTYPE :개체 
"" "

user_info.city.str.split ( "  " ) .str [1 ]
 "" " 
이름 
톰 NaN의 
밥 NaN의 
마리아 NaN의 
제임스 NaN의 
앤디 NaN의 
앨리스        
이름 : 도시, DTYPE : 개체 
" "" 

#이 매개 변수가 확장 설정 = True로 쉽게 확장 할 수 있습니다 DataFrame의이 반환 
user_info.city.str.split ( "  " , 확장 = 참) 
 "" " 

      0 1 
이름         
톰 베이징 없음 
밥 상해 없음 
메리 광저우 없음 
제임스 심천 없음 
앤디 NaN이 NaN의 
앨리스         
" ""

문자열을 추출

  긴 문자열에서 추출 된 문자열.

첫 번째 빈 문자열 일치 전에 모든 문자를 추출

user_info.city.str.extract ( "(\ W +) \ + S"확장 = TRUE)
추출 첫 번째 문자열과 일치 할 수, 추출은 하나 이상의 포착 기 지정된 파라미터 확장 정규 표현을 포함 = 허용 모든 반환 DataFrame 수 있도록 사실.
 

# 모두 매치 빈 문자열 앞의 편지 
user_info.city.str.extract ( " (\ W +) \ + S " , 확장 = 참) 

#는 빈 문자열을 전면과 후면의 모든 문자와 일치

 


\ S + : 하나 이상의 빈 문자열
(\ w +) : 패킷 캡처 임의의 수의 문자
(\ w +) \ S + : 하나 이상의 빈 문자열, 패킷 캡처 문자의 번호 앞에

앞에와 빈 뒤에 처음 일치하는 문자열의 모든 문자를 추출

user_info.city.str.extract ( "(\ w +) \ (S) + (\ w +)"확장 = TRUE)
일반 식의 복수의 세트가 리턴 DataFrame 각 그룹의 하나를 추출하는 경우.

extractall 일치하는 모든 문자열을 사용하여

앞의 빈 문자 문자열에서 모든 그룹과 일치
user_info.city.str.extractall ( "(\ + w) \ S +")

테스트 문자열을 포함

사용하는 문자열을 포함 포함되어 있는지 여부를 테스트합니다.
: 도시는 문자열 "조이"가 포함되어 있는지 여부를 테스트
user_info.city.str.contains ( "조이를")
: 문자 "S"로 시작 여부를 테스트
user_info.city.str.contains ( "^ S")

메소드의 개요

 

 

 

 

 

 

 

추천

출처www.cnblogs.com/zry-yt/p/11803278.html