1. 파일 불러오기 및 저장하기
- 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'를 사용합니다.
[저장하기]
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 파일이 생성되었습니다.")
* .csv부분 바꾸면 됨
텍스트파일
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("텍스트 파일이 생성되었습니다.")
2. 패키지 사용하기
- pandas
>> 데이터 조작과 분석을 위한 라이브러리로, 효과적으로 조작하고 분석할 수 있도록 도와줌
import pandas as pd
df = pd.read_excel(file_address)
print(df)
- numpy
>> 과학적 계산을 위한 핵심 라이브러리로, 다차원 배열과 행렬 연산을 지원함
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
print(arr.mean())
- matplotlib
>> 데이터 시각화를 위한 라이브러리로, 다양한 그래프와 플롯을 생성할 수 있음
import matplotlib.pyplot as plt
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.show()
- tensorflow
>> 딥러닝 및 기계 학습을 위한 오픈소스 라이브러리로, 그래프 기반의 계산을 통해 수치 계산을 수행하며 신경망을 구축하고 학습할 수 있음
import tensorflow as tf
input_size = 3
model = tf.keras.Sequential([
tf.keras.layers.Dense(10, activation='relu', input_shape=(input_size,)),
tf.keras.layers.Dense(1)
])
model.compile(optimizer='adam', loss='mse')
3. 포맷팅 사용하기
- 변수와 문자가 다양하게 많이 출력해야 하는 상황에서 편리하게 사용 가능함
x = 10
print(f"변수 x의 값은 {x}입니다.")
4. 리스트 컴프리헨션
- 반복문과 조건문을 사용해 리스트를 생성할 때 사용
- 코드를 간결하고 가독성있게 만들어 줌
# 기본적인 구조
[표현식 for 항목 in iterable if 조건문]
5. lambda
- 이름 없이 정의되는 간단한 함수
- lambda 키워드를 사용하여 정의
예)
add = lambda x, y: x + y
print(add(3, 5)) # 출력: 8
6. glob
- 파일 시스템에서 파일을 찾을 때 사용되는 유용한 도구
# 디렉토리 안의 모든 파일 찾기
file_list3 = glob.glob('sample_data/*')
7. os
- 파일 시스템을 관리하고, 디렉토리를 탐색하고, 파일을 조작하는 데 사용
> 현재 작업 디렉토리 가져오기
import os
cwd = os.getcwd()
print(cwd)
> 파일 삭제
import os
os.remove(file_adress)
import os
os.remove('sample_data/data.csv')
> 파일 목록 가져오기
import os
files = os.listdir('/content')
print(files)
> 경로 조작
import os
path = os.path.join('/content', 'sample_data', 'mnist_test.csv')
print(path)
8. split
- 문자열을 여러개로 쪼개는데 유용함
sentence = "Hello, how are you doing today?"
words = sentence.split()
print(words) # 출력: ['Hello,', 'how', 'are', 'you', 'doing', 'today?']
9. 클래스
- 객체 지향 프로그래밍의 중요한 개념 중 하나
- 객체 지향 프로그래밍이란 현실 세계의 사물을 모델링하여 프로그래밍하는 방법
class ClassName:
def __init__(self, parameter1, parameter2):
self.attribute1 = parameter1
self.attribute2 = parameter2
def method1(self, parameter1, parameter2):
# 메서드 내용 작성
pass
* 클래스 내부의 메서드들은 클래스의 동작을 정의하는 함수
* 첫번째 매개변수로 self를 반드시 사용해야함
10. 불리언 인덱싱
- 조건에 따라 요소를 선택하는 방법
- pandas에서 데이터를 조건에 맞게 선택할 때 많이 사용
import numpy as np
# 배열 생성
arr = np.array([1, 2, 3, 4, 5])
# 불리언 배열 생성 (조건에 따라 True 또는 False 값을 갖는 배열)
condition = np.array([True, False, True, False, True])
# 불리언 인덱싱을 사용하여 조건에 맞는 요소 선택
result = arr[condition]
# 결과 출력
print("Result using boolean indexing:", result) # 출력: [1 3 5]
# 불리언 인덱싱을 사용하여 배열에서 짝수인 요소만 선택
evens = arr[arr % 2 == 0]
# 결과 출력
print("Even numbers using boolean indexing:", evens) # 출력: [2 4]
11. 데코레이션
- 기존의 함수를 따로 수정하지 않고도 추가 기능을 넣고 싶을 때 사용
def decorator_function(original_function):
def wrapper_function(**kwargs):
# 함수 호출 전에 실행되는 코드
result = original_function(**kwargs)
# 함수 호출 후에 실행되는 코드
return result
return wrapper_function
12. 파이썬 에러 대처법
- SyntaxError (구문 오류) : 괄호, 따옴표, 콜론, 들여쓰기 확인
- IndentationError(들여쓰기 오류) : 들여쓰기 일관되게 맞추어야함
- NameError(이름 오류): 사용된 변수나 함수가 정의되었는지 확인
- TypeError(타입 오류): 연산이나 함수 호출에서 사용되는 데이터 타입을 확인하고 필요한 형 변환 수행
- IndexError(인덱스 오류): 인덱스 범위를 확인하고 존재하지않는 인덱스에 접근하는 것 피하기
- KeyError(키 오류): 사용되는 키가 딕셔너리에 존재하는지 확인
- FileNotFoundError (파일을 찾을 수 없음 오류): 파일 경로 올바르게 지정했는지 확인
'TIL' 카테고리의 다른 글
| [12/31] TIL - 데이터 전처리 & 시각화 (1,2주차) (2) | 2024.12.31 |
|---|---|
| [12/30] TIL (데이터 리터러시) (2) | 2024.12.30 |
| [12/26] TIL (파이썬 종합반 4주차) (0) | 2024.12.26 |
| [12/24] TIL (파이썬 종합반 3주차) (2) | 2024.12.24 |
| [12/23] TIL ( 파이썬 종합반 1,2주차) (0) | 2024.12.23 |