파일 확장자
확장자에 따른 파일 불러오는 함수
#CSV 파일
import pandas as pd
df = pd.read_csv('file.csv')
#Excel 파일
import pandas as pd
df = pd.read_excel('file.xlsx')
#JSON 파일
import pandas as pd
df = pd.read_json('file.json')
#텍스트 파일
import pandas as pd
df = pd.read_csv('file.txt', delimiter='\t')
# 만약 탭으로 구분되어 있다면 delimiter='\t'를 사용합니다.
+) 내가 가지고 있는 데이터 파일을 구글 코랩에 읽어들이기
'드라이브 마운트'를 해준 후 구글드라이브에 내가 넣고 싶은 파일을 업로드해야 함
from google.colab import drive
drive.mount('/content/drive')
파일 저장하기
#CSV 파일
import pandas as pd
data = {
'Name': ['John', 'Emily', 'Michael'],
'Age': [30, 25, 35],
'City': ['New York', 'Los Angeles', 'Chicago']
}
df = pd.DataFrame(data)
excel_file_path = '/content/sample_data/data.csv'
df.to_csv(excel_file_path, index = False)
print("csv 파일이 생성되었습니다.")
---
#Excel 파일
import pandas as pd
data = {
'Name': ['John', 'Emily', 'Michael'],
'Age': [30, 25, 35],
'City': ['New York', 'Los Angeles', 'Chicago']
}
df = pd.DataFrame(data)
excel_file_path = '/content/sample_data/data.xlsx'
df.to_excel(excel_file_path, index = False)
print("Excel 파일이 생성되었습니다.")
---
#JSON 파일
import json
data = {
'Name': ['John', 'Emily', 'Michael'],
'Age': [30, 25, 35],
'City': ['New York', 'Los Angeles', 'Chicago']
}
json_file_path = '/content/sample_data/data.json'
# json 파일을 쓰기모드로 열어서 data를 거기에 덮어씌우게 됩니다.
with open(json_file_path, 'w') as jsonfile:
json.dump(data, jsonfile, indent=4)
print("JSON 파일이 생성되었습니다.")
---
#텍스트 파일
data = {
'Name': ['John', 'Emily', 'Michael'],
'Age': [30, 25, 35],
'City': ['New York', 'Los Angeles', 'Chicago']
}
text_file_path = '/content/sample_data/data.txt'
with open(text_file_path, 'w') as textfile:
for key, item in data.items():
textfile.write(str(key) + " : " + str(item) + '\n')
print("텍스트 파일이 생성되었습니다.")
패키지란?
numpy
와 matplotlib
는 여러 모듈을 포함하는 패키지# 아래와 같이 보통은 필요한 패키지를 한번에 다 불러온 다음 코딩을 진행합니다
import pandas as pd
import numpy as np
import tensorflow as tf
import matplotlib.pyplot as plt
import seaborn as sns
다양한 종류의 패키지
pandas
데이터 조작과 분석을 위한 라이브러리,
데이터를 효과적으로 조작하고 분석할 수 있도록 도와줌
numpy
과학적 계한을 위한 핵심 라이브러리,
다차원 배열과 행렬 연산 지원
matplotlib
데이터 시각화를 위한 라이브러리,
다양한 그래프와 플롯 생성 가능
seaborn
matplotlib을 기반으로 한 통계용 데이터 시각화 라이브러리,
보다 간편하고 아름다운 시각화를 제공
scikit-learn
머신러닝 알고리즘을 사용할 수 있는 라이브러리,
분류, 회귀, 군집화, 차원 축소 등 다양한 머신러닝 기법 제공
statsmodels
통계 분석을 위한 라이브러리,
회귀분석, 시계열분석, 비모수통계 등 다양한 통계 기법 제공
scipy
과학기술 및 수학적 연산을 위한 라이브러리,
다양한 과학 및 공학 분야에서 활용, 선형대수, 최적화, 신호 처리, 통계 분석 등 기능 제공
tensorflow
딥러닝 및 기계학습을 위한 오픈소스 라이브러리, 구글에서 개발,
그래프 기반의 계산을 통해 수치 계산을 수행, 신경망을 구축하고 학습할 수 있음
pytorch
딥러닝을 위한 오픈소스 라이브러리, 페이스북에서 개발,
동적 계산 그래프를 사용해 신경망을 구축하고 학습할 수 있음
f
를 집어넣고,{ }
를 사용해 변수와 함께 기입리스트 컴프리헨션은 파이썬에서 리스트를 간결하게 생성하는 방법 중 하나
보통 반복문과 조건문을 사용해 리스트를 생성할 때 사용
코드를 간결하고 가독성있게 만들어 줌
기본 구조
활용 예시
def
키워드를 사용하지 않고lambda
키워드를 사용해 정의def
키워드로 명시적인 함수를 정의lambda
키워드로 익명 함수를 간단히 정의glob 이란?
glob
함수는 파일 시스템에서 파일을 찾을 때 사용되는 유용한 도구
파일 이름의 패턴 매칭을 통해 파일을 검색하고,
일치하는 파일들의 리스트를 반환
주로 파일 이름이나 확장자에 따라 파일을 필터링하는 데 사용
os란?
os
모듈은 운영 체제와 상호 작용하기 위한 다양한 함수 제공주요 기능과 예시
파일 디렉토리 관리:
경로 관리:
환경 변수 관리:
실행 관리:
split 이란?
문자열을 공백 기준으로 분할하여 리스트로 변환
특정 구분자를 기준으로 문자열을 분할하여 리스트로 변환
리스트의 각 항목을 문자열로 결합하기 (split은 아니지만 참고)
리스트의 각 항목을 문자열로 결합하되, 특정 구분자를 사용해 결합
여러 줄로 이루어진 문자열을 줄 단위로 분할하여 리스트로 변환 (줄 구분 \n
)
문자열을 공백으로 분할한 후 특정 개수의 항목만 가져오기
문자열에서 공백을 제거한 후 문자열을 리스트로 변환 (.strip( )
은 좌우 공백 제거)
split이 실전 사용 예) : 데이터 불러올 때 경로 처리할 때
클래스(Class)는 객체 지향 프로그래밍(OOP)의 중요한 개념 중 하나
객체 지향 프로그래밍은 현실 세계의 사물을 모델링하여 프로그래밍하는 방법
코드의 재사용성과 유지보수성 향상 가능
클래스의 기본 구조
__int__
메서드는 클래스의 생성자고, 객체가 생성될 때 호출되며 초기화 작업 수행self
를 반드시 사용해야 함.클래스와 객체의 관계
다형성(Polymorphism)
클래스와 함수의 차이점
클래스가 데이터 분석에서 사용되는 예시)
주로 데이터의 구조화, 모델링, 분석 작업의 모듈화, 코드의 재사용성 등을 위해 클래스 활용
- 참고) 파이썬의 즉시 실행모드와 그래프 모드
- 즉시 실행 모드 (Eager Execution)
- 즉시 실행 모드는 파이썬 코드를 순차적으로 실행하면서 연산을 즉시 평가하는 방식입니다.
- 각각의 연산은 실행될 때마다 결과가 즉시 반환되어 사용자가 바로 확인할 수 있습니다.
- 파이썬의 일반적인 제어 흐름과 함께 사용되며, 디버깅 및 코드 작성이 용이합니다.
- TensorFlow 2.0부터는 즉시 실행 모드가 기본적으로 활성화되어 있습니다.
- 그래프 모드 (Graph Mode)
- 그래프 모드는 파이썬 코드를 그래프로 변환하고, 이를 최적화한 후에 실행하는 방식입니다.
- 먼저 그래프를 정의하고, 그래프를 실행하기 위해 세션을 통해 입력을 제공해야 합니다.
- 그래프는 연산의 순서와 의존성을 명확하게 표현하므로, 병렬 실행과 하드웨어 가속화에 최적화되어 있습니다.
- TensorFlow 1.x에서는 주로 그래프 모드를 사용했으나, TensorFlow 2.0부터는 즉시 실행 모드가 기본으로 제공되어 그래프 모드를 명시적으로 사용하지 않아도 됩니다.
- 차이점
- 즉시 실행 모드는 파이썬 코드를 사용하여 연산을 즉시 평가하고 결과를 반환합니다. 반면에, 그래프 모드는 그래프를 먼저 정의하고 세션을 통해 실행해야 합니다.
- 즉시 실행 모드는 디버깅과 코드 작성이 용이하지만, 그래프 모드는 병렬 실행과 하드웨어 가속화에 최적화되어 있습니다.
- 즉시 실행 모드는 각각의 연산을 바로 평가하기 때문에 코드를 작성하고 실행하는 데에 편리합니다. 반면에, 그래프 모드는 전체 그래프를 먼저 정의하고 실행해야 하므로 초기 설정이 더 복잡할 수 있습니다.
- 그래프 모드는 동일한 그래프를 여러번 실행할 때 재사용할 수 있어서 효율적인 반복 작업에 유용합니다.
import pandas as pd
df = pd.read_csv('/content/sample_data/data.csv')
import pandas as pd
df = pd.read_excel('/content/sample_data/data.xlsx')
import pandas as pd
df = pd.read_json('/content/sample_data/data.json')
import pandas as pd
df = pd.read_csv('/content/sample_data/data.txt')
리스트 컴프리헨션
패키지
glob
클래스