파이썬 기본 데이터 구조
1. Numpy
- NumPy는 파이썬에서 과학적 계산을 수행하기 위한 핵심 라이브러리 중 하나
- 빠른 연산을 위한 다차원 배열을 제공하며, 선형 대수, 통계 및 수학 함수 등 다양한 기능을 제공
- 주요 데이터 구조는 ndarray로, 이는 동일한 유형 및 크기를 갖는 요소들의 다차원 배열
import numpy as np
# 1차원 Numpy 배열 생성
array_1d = np.array([1, 2, 3, 4, 5])
print(array_1d)
# 2차원 Numpy 배열 생성
array_2d = np.array([[1, 2, 3], [4, 5, 6]])
print(array_2d)
# 결과
# 1차원 Numpy 배열
[1 2 3 4 5]
# 2차원 Numpy 배열
[[1 2 3]
[4 5 6]]
np.array() 함수를 사용하여 1차원 및 2차원 Numpy 배열을 생성
array_1d는 [1, 2, 3, 4, 5]라는 1차원 배열이며, array_2d는 [[1, 2, 3], [4, 5, 6]]라는 2차원 배열
2. Series
- Pandas 라이브러리에서 제공하는 기본 데이터 구조 중 하나
- 기본적으로 NumPy 배열과 유사하지만, 각 데이터 포인트에 레이블(인덱스) 부여
- 인덱스가 있는 1차원 배열로, 단일 유형의 데이터를 저장
import pandas as pd
# Series 생성
data = pd.Series([10, 20, 30, 40], index=['a', 'b', 'c', 'd'])
print(data)
# 결과
a 10
b 20
c 30
d 40
dtype: int64
Pandas의 pd.Series()를 사용하여 데이터와 인덱스를 갖는 Series를 생성, 결과는 각각의 값과 해당하는 인덱스가 출력
3. DataFrame
- Pandas의 핵심 데이터 구조로, 표 형식의 데이터
- 행과 열이 있는 2차원 배열이며, 각 열은 서로 다른 유형의 데이터를 포함 가능, 열은 Series로 구성
import pandas as pd
# DataFrame 생성
df = pd.DataFrame({
'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'Country': ['USA', 'Canada', 'UK']
}, index=['a', 'b', 'c'])
print(df)
# 결과
Name Age Country
a Alice 25 USA
b Bob 30 Canada
c Charlie 35 UK
Pandas의 pd.DataFrame() 함수를 사용하여 사람들의 이름, 나이, 국가 정보를 담은 DataFrame을 생성
각 열은 'Name', 'Age', 'Country'라는 열 이름으로 구성
4. Dict(Dictionary)
- 파이썬의 내장 데이터 구조로, 키-값 쌍을 저장. 이는 가변적이며, 키를 통해 값을 검색 가능
- 키-값 쌍으로 데이터를 저장하며, 유연하고 효과적인 데이터 구조
# Dictionary 생성
person = {'name': 'John', 'age': 30, 'city': 'New York'}
print(person['name'])
# 결과
John
위 코드에서는 'name', 'age', 'city'와 같은 키에 해당하는 값을 갖는 딕셔너리를 생성 'name' 키의 값인 'John'을 출력
5. List
- 파이썬의 기본 데이터 구조 중 하나
- 리스트는 임의의 유형의 요소를 포함할 수 있고, 변경 가능하며, 순서가 있습니다.
- 순서가 있는 항목들을 저장하는 유연한 배열 형태의 데이터 구조
# List 생성
my_list = [1, 'apple', True, 2.5]
print(my_list)
# 결과
[1, 'apple', True, 2.5]
위 코드에서는 int, str, bool, float 같은 다양한 데이터 유형을 포함하는 my_list의 값들이 출력
6. Set(집합)
- 파이썬의 기본 데이터 구조 중 하나
- 중복 값을 허용 X, 순서가 X
- 집합 연산에 유용
# Set 생성
my_set = {1, 2, 3, 4, 5, 1, 2}
print(my_set) # 결과: {1, 2, 3, 4, 5}
# Set 연산
set1 = {1, 2, 3}
set2 = {3, 4, 5}
# 합집합
union_set = set1 | set2
print(union_set) # 결과: {1, 2, 3, 4, 5}
# 교집합
intersection_set = set1 & set2
print(intersection_set) # 결과: {3}
# 차집합
difference_set = set1 - set2
print(difference_set) # 결과: {1, 2}
7. Tuple
- 파이썬의 기본 데이터 구조 중 하나로, 값의 변경이 불가능(Immutable)하며, 순서가 X
# Tuple 생성
my_tuple = (1, 2, 3, 4, 5)
print(my_tuple) # 결과: (1, 2, 3, 4, 5)
# Tuple 인덱싱
print(my_tuple[0]) # 결과: 1
# Tuple 슬라이싱
print(my_tuple[1:4]) # 결과: (2, 3, 4)
# Tuple은 값 변경이 불가능
# ex) my_tuple[0] = 10 # 에러 발생
# Tuple 연산
tuple1 = (1, 2, 3)
tuple2 = (4, 5, 6)
# Tuple 합치기
combined_tuple = tuple1 + tuple2
print(combined_tuple) # 결과: (1, 2, 3, 4, 5, 6)
본 게시글은 ChatGPT의 도움을 받아 작성하였습니다.
'Language > Python' 카테고리의 다른 글
datetime, dateutil(날짜, 시간) (0) | 2023.12.20 |
---|---|
if-else, while, break, continue, pass (2) | 2023.12.05 |
eval 함수 (4) | 2023.12.05 |
math 라이브러리 (2) | 2023.12.04 |
enumerate 함수 (2) | 2023.10.29 |