파이썬에서 다차원 자료구조를 생성하는 방법은 여러 가지가 있습니다. 가장 일반적인 다차원 자료구조는 리스트(list)와 NumPy 배열입니다. 아래에서는 이 두 가지 방법을 포함하여 다양한 다차원 자료구조를 만드는 방법을 설명합니다.
1. 리스트를 사용한 다차원 자료구조
리스트는 파이썬의 기본 자료구조로, 다차원 배열을 구현하는 데 자주 사용됩니다. 리스트의 리스트를 중첩하여 다차원 배열을 만들 수 있습니다.
예시: 2차원 리스트 생성
# 2차원 리스트 (행렬) 생성
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
# 2차원 리스트 출력
for row in matrix:
print(row)
예시: 3차원 리스트 생성
# 3차원 리스트 생성
tensor = [
[
[1, 2, 3],
[4, 5, 6]
],
[
[7, 8, 9],
[10, 11, 12]
]
]
# 3차원 리스트 출력
for matrix in tensor:
for row in matrix:
print(row)
print() # 행렬 사이에 빈 줄 추가
2. NumPy를 사용한 다차원 배열 생성
NumPy는 고성능 과학 계산과 데이터 분석을 위한 라이브러리로, 다차원 배열을 다루는 데 매우 유용합니다. NumPy 배열은 리스트보다 더 효율적으로 메모리를 사용하고, 많은 수학적 연산을 지원합니다.
NumPy 설치
먼저, NumPy가 설치되어 있지 않은 경우 아래 명령어로 설치할 수 있습니다:
pip install numpy
예시: NumPy를 사용한 2차원 배열 생성
import numpy as np
# 2차원 NumPy 배열 생성
array_2d = np.array([
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
])
print("2차원 NumPy 배열:")
print(array_2d)
예시: NumPy를 사용한 3차원 배열 생성
# 3차원 NumPy 배열 생성
array_3d = np.array([
[
[1, 2, 3],
[4, 5, 6]
],
[
[7, 8, 9],
[10, 11, 12]
]
])
print("3차원 NumPy 배열:")
print(array_3d)
3. pandas를 사용한 다차원 자료구조
pandas
는 데이터 분석을 위한 라이브러리로, 1차원 및 2차원 데이터를 쉽게 다룰 수 있습니다. 특히 DataFrame은 2차원 표 형태의 자료구조로 많이 사용됩니다.
pandas 설치
먼저, pandas가 설치되어 있지 않은 경우 아래 명령어로 설치할 수 있습니다:
pip install pandas
예시: pandas DataFrame 생성
import pandas as pd
# DataFrame 생성
data = {
'Column1': [1, 4, 7],
'Column2': [2, 5, 8],
'Column3': [3, 6, 9]
}
df = pd.DataFrame(data)
print("DataFrame:")
print(df)
4. 사전(Dictionary)를 사용한 다차원 자료구조
사전은 키-값 쌍으로 데이터를 저장하는 자료구조로, 중첩된 사전을 사용하여 다차원 구조를 만들 수 있습니다.
예시: 중첩된 사전 생성
# 중첩된 사전 생성
nested_dict = {
'A': {
'B': {
'C': 1
}
},
'D': {
'E': 2
}
}
# 중첩된 사전 접근
print("중첩된 사전 값:", nested_dict['A']['B']['C'])
결론
파이썬에서 다차원 자료구조를 생성하는 방법은 다양합니다. 리스트, NumPy 배열, pandas DataFrame, 사전 등을 사용하여 필요한 구조를 만들 수 있습니다. 사용 목적과 데이터의 성격에 따라 적절한 자료구조를 선택하면 됩니다. NumPy와 pandas는 특히 과학 계산 및 데이터 분석에 많이 사용되므로, 이러한 라이브러리를 사용하는 것이 좋습니다.
'다차원 자료구조 생성 및 방법' 카테고리의 다른 글
[다차원 자료구조 생성 및 방법] 네임드 튜플 `collections` 모듈 자료구조 (11) | 2024.10.21 |
---|---|
[다차원 자료구조 생성 및 방법] 파이썬에서의 벡터 공간 (4) | 2024.10.19 |
[다차원 자료구조 생성 및 방법] `namedtuple`을 상속한 다차원 자료구조 (0) | 2024.10.16 |
[다차원 자료구조 생성 및 방법] 딕셔너리 상속 다차원 자료구조 1 (0) | 2024.10.16 |
[다차원 자료구조 생성 및 방법] 리스트 상속 다차원 자료구조 1 (0) | 2024.10.16 |