초기화 된 데이터
수입 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")
메소드의 개요