python 52

Python - 함수의 기본적 개념과 사용법

더보기함수 정의와 호출함수를 정의하고 호출하는 기본 구조함수 호출 시 매개변수 전달 방식매개변수의 사용매개변수가 없는 함수매개변수가 있는 함수기본값이 있는 매개변수기본값이 없는 매개변수가변 인자*args**kwargs특수 매개변수와 타입 힌트매개변수와 반환값에 타입 힌트를 추가하는 방법슬래시(/)와 별표(*)로 매개변수의 동작을 제한하는 방법반환값의 유무 (예시코드 따로 없음)결괏값을 반환하는 함수와 반환하지 않는 함수의 차이 함수 정의와 호출def hi(): #함수 정의는 def 키워드로 시작 print('hi') print('안녕') print('나 혼자 있고싶으니까 가세여') hi() #함수명으로 함수를 호출하여, 함수 내부의 코드를 실행 함수의 기본 구조정의 def 함수명..

Python to AI 2024.12.12

Python - Pandas, Scikit-learn, SciPy(데이터 전처리 : 데이터 정규화와 표준화)

데이터 정규화(Normalization) 데이터의 범위를 0과 1사이로 변환하는 과정서로 다른 범위를 가진 데이터를 동일한 스케일로 맞추어 비교하기 쉽게 만듦   Min-Max 정규화가장 일반적인 정규화 방법각 데이터의 최소값을 0, 최대값을 1로 변환 pip install scikit-learnimport pandas as pdfrom sklearn.preprocessing import MinMaxScaler#예시 데이터프레임 생성data = { '특성1' : [10,20,30,40,50], '특성2' : [1,2,3,4,5] }df = pd.DataFrame(data)#Min-Max 정규화scaler = MinMaxScaler()normalized_df = pd.DataFrame(sc..

Python to AI 2024.12.11

Python - Matplotlib 한글폰트 커스텀컨피그

Matplotlib의 기본 설정 폰트 Sans-serif에 한글이 포함돼있지 않아서 matplotlib뿐만 아니라 얘를 기반으로 하는 라이브러리들을 사용할 때 한글을 지원하는 폰트를 따로 지정해주지 않으면 깨져있는 네모네모를 보며 살아야된다. 뭔 데이터인지 알 수가 없다.근데 또 매번 폰트 지정해주기는 귀찮다. 그렇다고 데이터분석을 때려칠까. ? ㅇ제일 좋은 방법임. 하지만 하고는 싶은데 귀찮은 경우를 위해 (물론 코드 외워버리기, 체화하기, 구글링하기, 메모장에 코드 짱박아놓기, ChatGPT활용하기, 키보드에 단축키로 메크로 설정.. 등등 다양한 방법이 있지만 다 귀찮아서- 나는 이제껏.. 내 노트북 안쓰고 intel에서 제공해주는 컴퓨터 돌려서 걍 바탕화면에 코드조각 늘어놓고 썼다.......ㅋ지금..

Python to AI 2024.12.10

Python - Pandas(데이터 전처리 : isna(), isnull() )

데이터 전처리 - 결측치 탐지와 다양한 처리 방법  결측치(Missing Value) 탐지Pandas는 결측치를 쉽게 탐지하고 처리할 수 있는 다양한 기능 제공  isna(),  isnull()로 결측치 탐지 데이터프레임의 각 요소가 결측치인지 여부를 확인, 두 함수는 동일한 기능을 함=> 최신 코드에서는 isna()사용권장, 호환성을 유지해야하거나 기존 코드에서 사용중이라면 isnull()사용import pandas as pd#예시 데이터프레임 생성data = { '이름' : ['철수','영희','민수','지수'], '나이' : [25,30,None,35], '직업' : ['학생','회사원','학생',None]}df = pd.DataFrame(data)#결측치 여부 확인df.isna() df.info(..

Python to AI 2024.12.10

Python - Pandas(데이터 변형 : 그룹화, 집계, 피벗테이블)

groupby()를 사용한 그룹화 - 데이터의 특정 열을 기준으로 그룹화 import pandas as pd#예시 데이터프레임 생성data = { '이름' : ['철수','영희','민수','지수','철수','영희'], '과목' : ['수학','수학','과학','과학','영어','영어'], '점수' : [90,85,95,80,75,88]}df = pd.DataFrame(data)#'이름'을 기준으로 그룹화grouped = df.groupby('이름') 집계 함수 사용하기 - 그룹화한 데이터에 대해 다양한 집계 함수(mean, sum, count 등)사용#각 학생의 평균 점수 계산mean_scores = grouped['점수'].mean()mean_scores여러 집계 함수들 동시에 사용#각..

Python to AI 2024.12.09

Python - Pandas(데이터 변형 : 정렬, 병합)

정렬 sort_values()를 사용한 값(Value) 기준 정렬 - 특정 열의 값을 기준으로 데이터 오름차순 또는 내림차순 정렬import pandas as pd#예시 데이터프레임 생성data = { '이름':['철수','영희','민수','지수'], '나이':[25,30,22,35], '직업':['학생','회사원','학생','프리랜서']}df = pd.DataFrame(data)#'나이'기준으로 오름차순 정렬sorted_df = df.sort_values(by='나이')sorted_df #'나이'기준으로 내림차순 정렬sorted_df_desc = df.sort_values(by='나이', ascending=False)sorted_df_desc sort_values()를 사용한 여러 열 ..

Python to AI 2024.12.09

Python - Pandas(feat.isin(), astype())

기본 조건부 필터링import pandas as pd#예시 데이터프레임 생성data = { '이름': ['철수', '영희', '민수', '지수'], '나이': [25, 30, 22, 35], '직업': ['학생', '회사원', '학생', '프리랜서'] }df = pd.DataFrame(data)#나이가 25 이상인 행만 선택filtered_df = df[df['나이'] >= 25]filtered_df  여러 조건을 사용한 필터링(And(&), OR(|))#여러 조건을 사용한 필터릴 AMd(&), OR(|)#나이가 25이상이고, 직업이 '학생'인 행만 선택filtered_df = df[(df['나이'] >= 25) & (df['직업'] == '학생')]filtered_df..

Python to AI 2024.12.08

Python - Pandas(feat. titanic.csv)

URL에서 CSV파일을 불러오고, data를 탐색해보자 ! import pandas as pdurl = 'https://raw.githubusercontent.com/datasciencedojo/datasets/master/titanic.csv'#CSV파일 불러오기df = pd.read_csv(url)#상위 5개 행 미리보기df.head()  #상위 10개 행 미리보기df.head(10)  #하위 데이터 미리보기, 기본값(5개 행)df.tail()  #하위 3개 행 미리보기df.tail(3) 데이터프레임 기본 정보 확인#info()함수 데이터프레임 전체 구조 각 열의 데이터 타입과 null값 여부 확인df.info()#describe() 주요 통계 정보 확인, 숫자형 데이터에 대한 주요 통계 정보 제공d..

Python to AI 2024.12.05

Python - Pandas(feat. CSV, JSON, XLSX, sqlite3)

다양한 형식에서 데이터 불러오기import pandas as pd#CSV 파일 불러오기df_csv = pd.read_csv('data.csv')print(df_csv.head())"""sep: 구분자 지정, 기본값(,)header: 헤더 행 지정, 기본값은 첫번째 행(0)"""#데이터가 탭으로 구분되어 있을 경우df_csv = pd.read_csv('data.csv', sep = '\\t')#URL에서 CSV파일 불러오기url = ''df_csv_url = pd.read_csv(url)print(df_csv_url.head())#Excel파일 불러오기df_excel = pd.read_excel('data.xlsx')print(df_excel.head())"""sheet_name: 읽고자 하는 시트 이름 ..

Python to AI 2024.12.04

Python - NumPy(feat. Broadcasting)

Broadcasting;크기가 다른 배열 간의 연산을 가능하게 해줌    배열 간의 기본 연산#NumPy 배열 간의 덧셈, 뺄셈, 곱셈, 나눗셈 모두 요소별(element-wise)로 수행됨import numpy as nparr1 = np.array([1, 2, 3])arr2 = np.array([4, 5, 6])#덧셈add_result = arr1 + arr2print(add_result)#곱셈mul_result = arr1 * arr2print(mul_result)"""출력[5 7 9][ 4 10 18]"""    브로드캐스팅(Broadcasting)=> 작은 배열이 큰 배열의 형태에 맞게 자동으로 확장되어 연산이 이루어지는 것을 의미=> 서로 다른 크기의 배열 간에도 연산 가능(작은 배열이 자동으로..

Python to AI 2024.12.02
728x90