모든 메서드 목록은 dir 함수에 객체를 전달한다.
import pandas as pd
from pandas import Series
dir(pd) # 함수 목록
dir(Series) # 시리즈가 호출 가능한 메서드 목록
dir(str) # 문자열이 호출 가능한 메서드 목록
dir에 객체를 주게 되면 객체에 전달 가능한 메서드가 나옴
1. 대소 치환
upper: 대문자
lower: 소문자
title: camel 표기법
2. 문자열 추출(메서드 아님)
색인으로 가능
a1[:3] # 0부터 2까지 라는 뜻. 앞에서 3개.
시작범위 또는 끝범위 생략 가능. 둘 다 생략도 가능
3. 시작 / 끝 여부
startswith / endswith
4. 문자열 포함 여부
포함자 in 대상 → 하나의 논리값만 출력
단순히 원소에서 부분집합을 찾아내는 것.
포함연산자 isin 사용
위의 in과 아래의 isin은 다른 것이다. 리턴되는 논리값 개수가 다르다.
5. 공백 삭제
'홍길동' == '홍길동 ' 같은 값을 찾을 수 없을 경우 공백 의심
strip: 양쪽 공백 제거
lstrip: 왼쪽 공백 제거
rstrip: 오른쪽 공백 제거
마지막처럼 문자도 삭제가 가능하다.
7. 문자열 분리
split 사용
마지막에는 split을 발생시킬 횟수를 제한하여 앞에 있는 두 번의 split만을 수행. 나머지는 split을 하지 않는다.
연습문제를 풀어보자.
ename = 'SMITH'
tel = '02)345-3434'
jumin = '8011121234567'
vid = 'abcd1234!!'
email = 'abcd@gmail.com'
1) ename의 두 번째 글자가 M인지 여부를 확인하여라
2) tel의 지역번호를 추출하여라
정규식 문자열은 pandas에서 지원하므로 여기서는 ')' 추출 시 그냥 작은따옴표 안에 괄호가 들어가도 된다.
3) 여자인지 여부를 확인하여라.
4) email id를 출력하여라
5) 다음과 같이 출력하여라
id : abcd, pwd: 'abcd1234!!'
8. 포함 횟수
count
마지막은 a1.count('1') 이라고 되어있는데 그냥 a1.count(1) 이라고 하면 에러가 발생한다.
1은 숫자가 아니라 문자이기 때문이다.
9. 결합
'a' + 'b'
10. 반복
'a'*5
aaaaa 가 출력된다.
11. 포맷 변경(문자열 외에도 모든 타입의 스칼라 가능)
연습문제를 풀어보자
mon = [1, 1, 1, 2, 3, 10, 11, 12]
day = [1, 10, 23, 22, 1, 5, 6, 31]
두 리스트를 결합하여 아래와 같이 출력하여라.
01/01, 01/10, 01/23 , ...
12. 문자열 삽입
rjust: 문자열을 오른쪽으로 밀어 왼쪽에 삽입
ljust: 문자열을 왼쪽으로 밀어 오른쪽에 삽입
예) 0을 정해진 길이만큼 채우기
'%02d' % 5
또는
'5'.rjust(2,'0')
5.rjust(2,'0') # 이건 불가함. 문자열이 아닌 숫자이므로.
※ 0을 채우는 방법 세 가지
1) %
2) rjust
3) zfill: 무조건 왼쪽에 0을 채움
'5'.zfill(2)
13. 문자열 위치
find: 위치 리턴
14. 문자열 길이(원소의 수)
len 정확히는 원소의 개수를 리턴하는데 글자가 들어가면 문자열 길이를 리턴함.
'배우기 > 복습노트[Python과 분석]' 카테고리의 다른 글
[복습] Python 적용함수(1) (0) | 2024.01.10 |
---|---|
[복습] Python 형 변환 함수 및 몇 가지 연습문제 (0) | 2024.01.10 |
[복습] Python 원소별 반복과 사용자 정의 함수(1) (0) | 2024.01.05 |
[복습] Python 리스트와 리스트의 메서드 (함수와 메서드의 차이 포함) (0) | 2024.01.05 |
[복습] Python 자료구조(1) (0) | 2024.01.05 |