본문 바로가기
Language/Python

파이썬 기본 데이터 구조

by Mesut Özil 2023. 11. 2.

파이썬 기본 데이터 구조

 

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