Review
데이터 분석을 할 때 웹에서 가져오는 데이터는 기본적으로 문자열 형태가 많음
1. 문자열 사용하기의 기본
' ' 따옴표 안에 문자을 넣는다. 큰따옴표 작은따옴표 모두 가능
자주 쓰는 이스케이프 문자 \n(줄바꿈), \t(탭), \r(캐리지리턴-줄 맨 왼쪽으로 커서이동)
인덱스와 문자열
문자열은 여러개의 문자가 줄을 선 것과 같이 이어진 글자의 모음이므로 왼쪽부터 번호를 매길 수 있음
인덱스를 활용한 문자열 슬라이싱
위의 인덱스를 활용하면 문자열이 일부분만 잘라서 가져오는 슬라이싱이 가능합니다.
2. 문자열 함수
문자열을 조작하는데는 활용되는 여러가지 함수가 있습니다. 이 함수들을 잘 사용해야 데이터 전처리를 효과적으로 할 수 있습니다. 특히 .split(), .join(), .strip() 등의 함수들을 잘 익혀두시기 바랍니다.
1) 문자열 바꾸기
.replace(a,b) a를 찾아 b로 바꿈 단, 원본은 바꾸지 않기 때문에 따로 저장 필요
2) 문자바꾸기
range 함수와 list 형변환을 이용하여 리스트 만들기
d = list(range(1,101,3)) # 1부터 100까지 숫자 중 3씩 건너뛰면서 만들어줘
d
e = list(range(3,101,3))
프린트 출력시 구분단위이다
f = 10
g = 20
h = 30
print(f,g,h,sep=',')
10,20,30
(,) 콤마로 구분되어 출력이 된다.
또한 end 옵션이 가능하다
print(f,end='\t')
print(g,end='\t')
print(h,end='\t')
10 20 30
결과들끼리의 간격이 늘어난다 tab~ 같은 느낌
c = [10,20,30]
c
[10, 20, 30]
c.append(50)
c
[10, 20, 30, 50]
c.insert(3,40)
c
[10, 20, 30, 40, 50, 50]
append와 비교
c = [10,20,30]
d = [200,300,400,500]
c.append(d)
[10,20,30,[200,300,400,500]]
c.extend(d)
[10,20,30,[200,300,400,500],200,300,400,500]]
append는 리스트를 통째로 추가해주고
extend는 리스트 안의 자료들을 넣어준다
del 변수명[인덱스]
.pop() # 마지막 인덱스를 출력 후 삭제해줌
.pop() : 리스트의 가장 마지막 데이터를 출력 후 삭제
.pop(변수의 인덱스 번호) 로도 추출하여 삭제 시킬 수 있다.
자동 할당으로 인해 실수 한 번이면 되돌릴 수 없는 부분들이 굉장히 큼
그 부분을 해결
1. 특정 값이 스퀀스 객체 내에 있는지 확인하기 .
: in 시퀀스 객체 (list,tuple,string,range())
7 in a
True
s = '우리는 오늘 삼복 더위에서 파이썬을 공부 하고 있습니다.'
'삼복' in s
True
2. 특정 값이 없는지 확인 하기
값 not in 시퀀스 객체
'삼계탕' not in s
True
3. 시퀀스 객체 연결하기
a = list(range(10))
b = list(range(10,20))
print(a,b)
# a,b를 더하려면 원래는 extend를 써야하지만
c = a+b
c
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
4. 시퀀스 객체 반복하기 : * 연산자 사용
5. 시퀀스 객체의 길이를 구하는 함수 : len()
6. 시퀀스 자료형에서 자료 추가 삭제는 list만 가능하다
🎈 문자열을 인덱싱이 가능하지만 수정이 불가능하다
y = {'정수':100,'실수':13.5,'문자열':'문자열문자열','리스트':[1,2,3,4],
'튜플':(5,6,7,8),'딕셔너리':{'key':'value'},'boolean':True}
d2 = dict([('정수',100),('실수',13.5)])
d2
형식으로 만들기
dict(zip(['문자열','리스트','튜플','딕셔너리','블린']))
dict(zip(['문자열','리스트','튜플','딕셔너리','블린']))