[드라이브 마운트]
:컴퓨터에서 외부 저장 장치를 시스템에 연결하여 접근할 수 있도록 설정하는 과정
from google.colab import drive
drive.mount('/content/drive')
*위 코드를 이용하여 원하는 데이터 파일을 구글 드라이브 중 원하는 폴더(contet)에 넣을 수 있다!
[파일 확장자] - CSV/Excel/JSON/Text 파일
- CSV 파일(.csv) : 쉼표 (,) 형태로 구분하여 데이터를 저장
- Excel 파일(.xls, .xlsx): 표 형태로 데이터를 저장
- JSON 파일 (.json): 데이터를 간단하게 저장
- 텍스트 파일(.txt,.dat): 일반 텍스트로 된 데이터를 저장
[확장자에 따른 파일 불러오는 함수]
import pandas as pd
CSV 파일(.csv) : df = pd.read_csv('file.csv')
Excel 파일(.xls, .xlsx): df = pd.read_excel('file.xlsx')
JSON 파일 (.json): df = pd.read_json('file.json')
텍스트 파일(.txt,.dat): df = pd.read_csv('file.txt', delimiter='\t')
*텍스트 파일도 read_csv를 씀
예시
# 내 구글드라이브의 content에 스파르타코딩클럽_데이터분석을 위한 파이썬이라는 폴더로 가는 루트를 형성하고 원하는 엑셀 파일을 해당 루트를 통해 원하는 폴더에 파일을 넣고 읽음
#경로 지정
root = "/content/drive/MyDrive/스파르타코딩클럽_데이터분석을위한파이썬"
#파일 경로 형성
file_address = root + "/ssec2403(통계표).xlsx"
#파일 불러오기
import pandas as pd
df = pd.read_excel(file_address)
[데이터를 파일로 저장하는 함수]
- CSV 파일
- Excel 파일
- JSON 파일
- 텍스트 파일
[패키지(라이브러리)]
: 패키지란 관련된 여러 개의 모듈을 포함하는 디텍토리
- 라이브러리나 다른 패키지가 포함될 수 있음
- 데이터 수집, 전처리, 시각화, 모딜링, 통계 분석 등 다양한 기능을 제공
- pandas: 데이터 조작과 분석을 위한 라이브러리
- numpy: 과학적 계산을 위한 핵심 라이브러리(다차원 배열과 행렬 연산 등)
- matplotlib: 데이터 시각화를 위한 라이브러리(다양한 그래프와 플롯을 생성)
- seaborn: maplotlib을 기반으로 한 통계용 데이터 시각화 라이브러리
- scikit-lean: 머신 러닝 알고리즘을 사용할 수 있는 라이브러리
- statsmodels: 통계 분석을 위한 라이브러리
- scipy: 과학 기술 및 수학적인 연산을 위한 라이브러리
- tensorflow: 딥러닝 및 기계 학습을 위한 오픈소스 라이브러리
- pytorch: 딥러닝을 위한 오픈소스 라이브러리
# 아래와 같이 보통은 필요한 패키지를 한번에 다 불러온 다음 코딩을 진행하는 것이 좋음
import pandas as pd
import numpy as np
import tensorflow as tf
import matplotlib.pyplot as plt
import seaborn
[포맷팅(formatting)] - 3가지 방법 배움!
: 문자와 변수를 함께 출력할 때, 콤마(,)와 함께 써도 되지만 포맷팅이라는 문법을 활용할 수 있다.
1) f-string
: 문자열 맨 앞에 f , 변수의 위치에 중괄호{변수}
x = 10
print(f"변수 x의 값은 {x}입니다.")
2) format() 함수
: f 사용 x , 변수의 위치에 중괄호{}, 온점(.) format(변수)
x = 10
print("변수 x의 값은 {}입니다.".format(x))
3) %이용
: f 사용 x, 변수를 넣은 위치에 %d (숫자는 d, 문자는 s), %(변수)
x = 10
print("변수 x의 값은 %d입니다." % (x))
[리스트 캄프리헨션] -중요중요중요!!
: 리스트를 간결하게 생성하는 방법으로 보통 반복문과 조건문을 사용하여 리스트를 생성할 때 사용
# 기본적인 구조
[표현식 for 항목 in iterable if 조건문]
# 예시: 1부터 10까지의 숫자를 제곱한 리스트 생성
squares = [x**2 for x in range(1, 11)] print(squares)
# 출력: [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
[lambda(람다)]
: 익명 함수로, 이름 없이 정의되는 함수/ 한줄로 표현되면, 일반적인 함수 정의와는 달리 def 키워드를 사용하지 않고 lambda키워드를 사용
add = lambda x, y: x + y
print(add(3, 5))
# 출력: 8
square = lambda x: x ** 2
print(square(4))
# 출력: 16
[glob 함수, os 모듈, split 메서드]
- glob 함수: 파일 시스템에서 파일을 찾을 때 사용되는 유용한 도구 -> 파일 이름의 패턴 명칭을 통해 파일을 검색하고 일치하는 파일들의 리스트를 반환
- os 모듈: 운영 체제와 상호작용하기 위한 다양한 함수들을 제공/ 파일 시스템을 관리하고 디렉토리를 탐색하고 파일을 조작하는 데 사용
- split 메서드: 문자열을 여러개로 쪼개는데 유용
- + join : 리스트의 각 항목을 문자열로 결
예시
[glob 함수]
import glob # 현재 경로의 모든 파일을 찾기
file_list1 = glob.glob('*')
# 특정 확장자를 가진 파일만 찾기
file_list4 = glob.glob('sample_data/*.csv')
[os 모듈]
# 현재 작업 디렉토리 가져오기
import os
cwd = os.getcwd()
print(cwd)
# 데렉토리 생성
import os
os.mkdir('sample_data/new_directory')
#파일 이름 변경
import os
os.rename('sample_data/new_directory', 'sample_data/new_directory2')
[split 메서드] -리스트로 변환
#문자열을 공백 기준으로 분할하여 리스트로 변환
sentence = "Hello, how are you doing today?"
words = sentence.split()
print(words)
# 출력: ['Hello,', 'how', 'are', 'you', 'doing', 'today?']
[join()]
words = ['Hello,', 'how', 'are', 'you', 'doing', 'today?']
sentence = ' '.join(words) # 문자열로 결합
print(sentence)
# 출력: Hello, how are you doing today?
fruits = ['apple', 'banana', 'grape', 'orange']
data = ','.join(fruits) #문자열로 구분하되, 특정 구분자를 사용하여 결합
print(data)
# 출력: apple,banana,grape,orange
[Quiz]
1. ‘01. 파일 불러오기 및 저장하기’의 ‘3)파일 저장하기’에서 저장 했던 파일들을 불러오세요!
답:
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')
2. 다음 코드의 출력은 무엇입니까? (코드를 치지 않고 예측해보세요!)
squares = [x**2 for x in range(1, 6)]
print(squares)
a) [1, 4, 9, 16, 25]
b) [1, 3, 5, 7, 9]
c) [1, 2, 3, 4, 5]
d) [2, 4, 6, 8, 10]
3. 파이썬에서 패키지의 역할은 무엇입니까?
a) 프로그램의 실행 속도를 향상시키기 위해 사용됩니다.
b) 코드의 재사용성을 높이기 위해 사용됩니다.
c) 데이터베이스 관리를 위해 사용됩니다.
d) 네트워크 통신을 위해 사용됩니다.
4. 다음 중 glob 함수의 사용 예시로 올바른 것은 무엇입니까?
a) 파일 삭제
b) 파일 생성
c) 파일 검색 및 패턴 매칭
d) 파일 압축하기
5. 아래의 데이터와 클래스 일부분을 수정하여 평균을 계산하는 클래스를 완성하고 실제로 클래스를 선언하여 계산된 결과 까지도 출력해 보세요!
# 데이터는 이것을 사용하세요
data = [2, 4, 6, 8, 10]
class DataPreprocessor:
def __init__(self, data):
self.data = data
def calculation(self):
average = sum(self.data) / len(self.data)
return average
preprocessor = DataPreprocessor(data)
average = preprocessor.calculation()
print("평균:", average)
이외에도 클래스, 데코레이션에 대해서도 배웠는데 아직 이해를 못해서 더 공부할 예정
'QCQA_1기' 카테고리의 다른 글
TIL_3W2D_데이터 전처리 & 시각화 (+세션) (0) | 2024.12.31 |
---|---|
TIL_3W1D_데이터 리터러시 (0) | 2024.12.30 |
TIL_Python 개인과제 (Level 1,2,3) (0) | 2024.12.26 |
TIL_2W3D_데이터 분석 파이썬 종합반 4주차(함수) (0) | 2024.12.26 |
TIL_2W3D_데이터 분석 파이썬 종합반 3주차(조건문,반복문) (0) | 2024.12.26 |