import pandas as pd
df = pd.read_csv('file.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 = '/저장할경로/저장할파일명.csv'
df.to_csv(excel_file_path, index = False)
print("csv 파일이 생성되었습니다.")
# 라이브러리를 사용하는 방법
import pandas as pd
import numpy as np
import tensorflow as tf
import matplotlib.pyplot as plt
import seaborn
name = "Alice"
age = 25
# %를 사용한 형식 지정
print("이름: %s, 나이: %d세" % (name, age))
# format() 메서드를 사용한 형식 지정
print("이름: {}, 나이: {}세".format(name, age))
# f-string을 사용한 형식 지정 (Python 3.6 이상)
print(f"이름: {name}, 나이: {age}세")
[표현식 for 항목 in iterable if 조건문]
람다(lambda) : 익명 함수로 이름 없이 정의되는 간단한 함수
람다와 함수의 차이점
lambda | 함수 | |
---|---|---|
정의 방식 | lambda 키워드를 사용하여 정의 | def 키워드를 사용하여 정의 |
구조 | 주로 한 줄로 표현되는 간단한 표현식 | 여러 줄의 코드 블록 |
이름 | 이름이 없기 때문에 한 번만 사용되거나 임시로 필요한 경우에 사용 | 이름을 지정하여 호출 가능 |
사용 | 함수를 매개변수로 받거나 함수를 반환하는 고차 함수, 즉 함수형 프로그래밍에서 사용 | 어떤 경우에도 사용 가능 |
# 예시 1
add = lambda x, y: x + y
print(add(3, 5)) # 출력: 8
# 예시 2
numbers = [1, 2, 3, 4, 5]
squared_numbers = list(map(lambda x: x ** 2, numbers))
print(squared_numbers) # 출력: [1, 4, 9, 16, 25]
import glob
# 현재 경로의 모든 파일을 찾기
file_list1 = glob.glob('*')
import os
# 현재 작업 디렉토리 가져오기
cwd = os.getcwd()
print(cwd)
# 디렉토리 생성
os.mkdir('sample_data/new_directory')
# 파일 이름 변경
os.rename('sample_data/new_directory', 'sample_data/new_directory2')
# 파일 삭제
os.remove('sample_data/data.csv')
import os
# 파일 목록(경로) 가져오기
files = os.listdir('/content')
print(files)
# 경로 조작
path = os.path.join('/content', 'sample_data', 'mnist_test.csv')
print(path)
# 예시 1 (공백을 기준으로 분할하여 리스트로 변환)
sentence = "Hello, how are you doing today?"
words = sentence.split()
print(words) # 출력: ['Hello,', 'how', 'are', 'you', 'doing', 'today?']
# 예시 2 (특정 구분자를 기준으로 분할하여 리스트로 변환)
data = "apple,banana,grape,orange"
fruits = data.split(',')
print(fruits) # 출력: ['apple', 'banana', 'grape', 'orange']
클래스(class) : 객체 지향 프로그래밍의 중요한 개념 중 하나로 사물을 모델링하여 프로그래밍하는 방법
클래스의 기본 구조
class ClassName:
# 여기서 __init__ 메서드는 클래스의 생성자로, 객체가 생성될 때 호출되며 초기화 작업을 수행
def __init__(self, parameter1, parameter2):
self.attribute1 = parameter1
self.attribute2 = parameter2
# 메서드의 첫 번째 매개변수로 self를 반드시 사용해야함
def method1(self, parameter1, parameter2):
# 메서드 내용 작성
pass
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
# 객체 생성
person1 = Person("Alice", 30)
person2 = Person("Bob", 25)
class Animal:
def sound(self):
print("Some generic sound")
class Dog(Animal):
def sound(self):
print("Woof")
class Cat(Animal):
def sound(self):
print("Meow")
# 다형성 활용
# animal 클래스의 sound 메서드를 각각의 하위 클래스인 Dog와 Cat에서 재정의하여 다른 동작을 수행
animals = [Dog(), Cat()]
for animal in animals:
animal.sound()
클래스를 사용하는 이유
클래스의 속성과 메서드
메서드(Method) : 클래스 내부에 정의된 함수, 특정 작업을 수행하거나 클래스의 상태를 변경하는 역할
class Car:
def __init__(self, brand):
self.brand = brand
def start_engine(self):
print(f"{self.brand}의 엔진을 가동합니다.")
# Car 클래스의 인스턴스 생성
my_car = Car("Toyota")
# start_engine() 메서드 호출
my_car.start_engine() # 출력: Toyota의 엔진을 가동합니다.
class Dog:
def __init__(self, name):
self.name = name # 인스턴스 속성
# Dog 클래스의 인스턴스 생성
my_dog = Dog("Buddy")
print(my_dog.name) # 출력: Buddy
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]
데코레이터(Decorator) : 파이썬에서 함수나 메서드의 기능을 확장하거나 수정하는 도구 (기존의 함수를 따로 수정하지 않고도 추가 기능을 넣고 싶을 때 사용)
def decorator_function(original_function):
def wrapper_function(**kwargs):
# 함수 호출 전에 실행되는 코드
result = original_function(**kwargs)
# 함수 호출 후에 실행되는 코드
return result
return wrapper_function