2. 데이터 분석 도구 시작
2-1. 리스트 다시 보기
2-1-1. 리스트를 다시 짚고 넘어가는 이유는?
- 데이터 구조의 기본 개념을 이해하는 데 필수적이다.
- 데이터 분석 도구로 알아볼 Numpy의 ndarray와 Pandas의 Series/DataFrame은 파이썬 리스트와 유사한 구조를 갖고 있다.
- Numpy의 ndarray는 다차원 배열로, 파이썬의 리스트를 확장하여 수치 계산에 최적화된 형태이다.
- Pandas의 Series와 DataFrame은 각각 1차원 및 2차원 데이터 구조로, 인덱싱과 슬라이싱 개념을 활용한다.
- 따라서 리스트의 개념을 이해하면 Numpy와 Pandas의 데이터 구조를 쉽게 습득할 수 있고, 내부 동작을 이해할 수 있다.
- 데이터 분석 도구로 알아볼 Numpy의 ndarray와 Pandas의 Series/DataFrame은 파이썬 리스트와 유사한 구조를 갖고 있다.
- 인덱싱과 슬라이싱은 데이터 접근과 조작의 기본이다.
- 데이터 분석에서는 특정 위치의 데이터에 접근하거나, 데이터의 일부분을 추출하는 작업이 빈번하게 발생한다.
- Numpy 배열이나 Pandas 객체에서도 인덱스를 사용하여 데이터에 접근한다.
- Numpy와 Pandas에서도 슬라이싱을 통해 데이터의 부분 집합을 효율적으로 추출할 수 있다.
- 인덱싱과 슬라이싱의 개념을 이해하면 복잡한 데이터 조작을 쉽게 수행할 수 있다.
- 데이터 분석에서는 특정 위치의 데이터에 접근하거나, 데이터의 일부분을 추출하는 작업이 빈번하게 발생한다.
2-1-2. 리스트 연산
- 리스트 합치기: +
- 리스트 간 + 연산자를 이용하여 하나로 합칠 수 있다.
safari_list = ["Bear", "Koala", "Gorilla", "Squirrel"]
another_safari_list = ["Monkey", "Tiger", "Wolf"]
print(safari_list + another_safari_list) # ['Bear', 'Koala', 'Gorilla', 'Squirrel', 'Monkey', 'Tiger', 'Wolf']
- 리스트 반복: *
- 리스트에 * 연산을 하면 요소를 반복할 수 있다.
safari_list = ["Bear", "Koala", "Gorilla", "Squirrel"]
print(safari_list * 4) # ['Bear', 'Koala', 'Gorilla', 'Squirrel', 'Bear', 'Koala', 'Gorilla', 'Squirrel', 'Bear', 'Koala', 'Gorilla', 'Squirrel', 'Bear', 'Koala', 'Gorilla', 'Squirrel']
2-1-3. 인덱싱
- 시퀀스 자료형의 인덱스를 가지고 특정 요소를 추출할 수 있다.
# 문자열
address = '대한민국 서울시 서초구'
print(address[5]) # 서
print(address[9]) # 서
# 리스트
location = ['서울특별시', '부산광역시', '인천광역시', '광주광역시', '울산광역시']
print(location[2]) # 인천광역시
# 튜플
nation = ('대한민국', '미국', '중국', '일본', '프랑스')
print(nation[3]) # 일본
- 인덱스를 음수로 지정하면 문자열 끝에서부터 요소를 찾는다.
# 문자열
address = '대한민국 서울시 서초구'
print(address[-3]) # 서
print(address[-7]) # 서
# 리스트
location = ['서울특별시', '부산광역시', '인천광역시', '광주광역시', '울산광역시']
print(location[-2]) # 광주광역시
# 튜플
nation = ('대한민국', '미국', '중국', '일본', '프랑스')
print(nation[-3]) # 중국
2-1-4. 슬라이싱
- 인덱스를 사용하여 기존 시퀀스 자료에서 원하는 만큼의 문자열을 추출할 수 있다.
# 문자열
address = '대한민국 서울시 서초구'
print(address[5:8]) # 서울시 (5번 인덱스부터 8번 인덱스 전까지)
# 리스트
location = ['서울특별시', '부산광역시', '인천광역시', '광주광역시', '울산광역시']
print(location[2:4]) # ['인천광역시', '광주광역시'] (2번 인덱스부터 4번 인덱스 전까지)
# 튜플
nation = ('대한민국', '미국', '중국', '일본', '프랑스')
print(nation[0:3]) # ('대한민국', '미국', '중국') (0번 인덱스부터 3번 인덱스 전까지)
- 자료형 뒤에 대괄호를 붙이고 (시작 인덱스) : [(끝 인덱스)] : [(오프셋)] 으로 문자열을 추출할 수 있다.
- 시작 인덱스: 문자열에서 추출할 내용이 시작하는 인덱스 (시작 인덱스를 비우면 처음부터)
- 끝 인덱스: 문자열에서 추출할 내용의 끝 글자 다음 인덱스 (끝 인덱스를 비우면 끝까지)
- 오프셋: 시작 인덱스부터 오프셋 숫자만큼 더한 인덱스 위치마다에서 추출
# 문자열
address = '대한민국 서울시 서초구'
print(address[9:]) # 서초구 (9번 인덱스부터 끝까지)
print(address[-3:]) # 서초구 (뒤에서 3번째 인덱스부터 끝까지)
print(address[1:12:4]) # 한서서 (1번 인덱스부터 12번 인덱스 전까지 추출하는데 4개씩 건너뛰면서 추출)
print(address[::-1]) # 구초서 시울서 국민한대 (슬라이싱을 이용해 [::-1]을 주면 문자열 뒤집기)
# 리스트
location = ['서울특별시', '부산광역시', '인천광역시', '광주광역시', '울산광역시']
print(location[2:]) # 2번 인덱스부터 끝까지 (['인천광역시', '광주광역시', '울산광역시'])
print(location[-2:]) # 뒤에서 2번째 인덱스부터 끝까지 (['광주광역시', '울산광역시'])
print(location[1:3:2]) # 1번 인덱스부터 3번 인덱스 전까지 추출하는데 2개씩 건너뛰면서 추출 (['부산광역시'])
print(location[::-1]) # 슬라이싱을 이용해 [::-1]을 주면 뒤집기 (['울산광역시', '광주광역시', '인천광역시', '부산광역시', '서울특별시'])
# 튜플
nation = ('대한민국', '미국', '중국', '일본', '프랑스')
print(nation[1:]) # 1번 인덱스부터 끝까지 (('미국', '중국', '일본', '프랑스'))
print(nation[-3:]) # 뒤에서 3번째 인덱스부터 끝까지 (('중국', '일본', '프랑스'))
print(nation[1:5:2]) # 1번 인덱스부터 5번 인덱스 전까지 추출하는데 2개씩 건너뛰면서 추출 (('미국', '일본'))
print(nation[::-1]) # 슬라이싱을 이용해 [::-1]을 주면 뒤집기 (('프랑스', '일본', '중국', '미국', '대한민국'))
'Data Analysis > Data Analysis ?' 카테고리의 다른 글
데이터 분석 도구 : Pandas (0) | 2025.03.04 |
---|---|
데이터 분석 도구 : NumPy (0) | 2025.02.27 |
데이터 분석(Data Analysis) 이란? (0) | 2025.02.27 |