[파이썬기초] 문자열(str) 데이터 다루기
2020. 4. 13. 12:04ㆍ노트/Python : 프로그래밍
문자열 데이터 변형
data = " a, b, apple"
#공백문자 (줄바꿈 문자 포함) 제거하여 리스트로 생성
list=[x.strip() for x in data.split(",")]
>>> ['a', 'b', 'apple']
# 쉼표 구분 없이 문자열들의 나열로 리스트 생성
" ".join(list)
>>> 'a b apple'
- join() : 문자열을 구분자로 하여 다른 문자열을 순서대로 이어붙인다.
- index() : 부분 문자열의 첫번째 글자의 위치를 반환한다. 없을 경우 ValueError
- find() : 부분 문자열의 첫번째 글자의 위치를 반환한다. 없을 경우 -1
- rfind() : 부분 문자 문자열의 마지막 글자의 위치를 반환한다.
- replcae() " 문자열을 다른 문자열로 치환한다.
- strip() : 공백 문자 및 \n 문자를 제거한다.
- split() : 문자열을 구분자를 기준으로 부분 문자열의 리스트로 분리한다.
- lower() : 알파벳 문자를 소문자로 변환한다.
- upper() : 알파벳 문자를 대문자로 변환한다.
TypeError: string indices must be integers 오류 해결방법
data[['genres','keywords']].head()
다음과 같이 데이터프레임 내부에 dictionary가 str 문자열로 들어가있는 경우에
data['genres'].apply(lambda x : [d['name'] for d in x]).apply(lambda x : " ".join(x))
"name" key값들의 value값들을 추출하고자 하면 다음과 같이 TypeError가 발생한다.
이럴때는 iteral_eval 함수를 호출하여 데이터에 적용시켜주자.
from ast import literal_eval
#abstract syntax tree 모듈 : String을 실제로 실행할 수 있도록 도움을 주는 라이브러리
data['genres'].apply(literal_eval)
오류 없이 잘 적용되는 것을 확인 할 수 있다.
출처
파이썬 라이브러리를 활용한 데이터 분석 (2판) 296p~ 297p
'노트 > Python : 프로그래밍' 카테고리의 다른 글
[파이썬] 데이터변형 | 정규화와 표준화 (0) | 2020.04.14 |
---|---|
[파이썬기초] 데이터 합치기(병합) (0) | 2020.04.13 |
[파이썬기초] 시계열 데이터 생성하기 (0) | 2020.04.13 |
[토픽모델링] LSA (Latent Similarity Analysis)를 이용한 토픽모델링 파이썬 코드 (1) | 2020.04.09 |
[추천시스템] 넷플릭스 영화 추천 시스템 구현 파이썬 코드 (13) | 2020.04.08 |