예제로 익히는 Python -1

김주호·2024년 10월 28일
  • Library 호출하기 import pandas as pd 의 해석은 아래와 같아요! pandas 라는 라이브러리(모듈)를 호출(import) 하고 그 이름을 pd 로 줄여서 명명하겠다

from matplotlib.pyplot as plt
matplotlib 의 pyplot 함수만 가져오고 이름을 plt 로 줄여서 명명하겠다

import pandas as pd (pandas 는 6 글자라서 pd 로 줄여 명령)
import numpy as np
import time
from matplotlib.pyplot as plt

그 외 주요 Library

  • Magic command를 활용한 셀 실행시간 확인하기
    • 개념
      • Magic command는 IPython kernel에서 제공되는 명령어로 %, %% 키워드를 사용하여 실행할 수 있습니다.
    • 특징
      • 주피터 노트북에서 지원하는 매직 커맨드로, 셀 가장 위쪽에 작성해야 합니다.
      • CPU time: CPU 가 코드를 실행하는데 걸린 시간
      • Wall clock time 은 실제 코드를 실행하는 데 걸린 시간
    • 소요시간 측정
      • %time 뒤에 나오는 한줄 커맨드 소요시간
      • %timeit 뒤에 나오는 한줄 커맨드 반복수행후 (iteration) 평균 소요시간
      • %%time 뒤에 나오는 셀 전체 수행 후 소요시간
      • %%timeit 뒤에 나오는 셀 전체 수행 후 평균 소요시간
%%time 
sum=0
for x in range(10000000) :
    sum=sum+x
print("1부터 1000만까지 합 :",sum)

코드 핵심요약

#pandas 라이브러리를 활용한 csv 파일 읽기 
df = pd.read_csv("xxxx.csv")

#테이블 확인하기 
display(df, df2, df3)

#처음 5 줄만 출력하기 
#df2.head()

#마지막 5 줄만 출력하기 
#df2.tail()

#각 테이블의 행(가로) 길이 파악하기
len(df)

#shape: 테이블의 행과 열의 갯수를 반환 
df.shape

#dtypes: 테이블 내 컬럼타입(문자형, 숫자형, 배열 등) 확인
df.dtypes

#columns: 테이블 내 컬럼 확인
df.columns

#values: 테이블 내 각 행들을 배열 형태로 확인
df.values

#테이블 기본 구조 한눈에 확인하기
df.info()

#전체 행 갯수, 평균, 표준편차, 최솟값, 사분위수, 최댓값 확인 
df2.describe()

#컬럼별로 결측치(데이터가 없는) 확인하기 
df.isnull().sum()

#특정 컬럼 1개 가져오기
	#방법1: 속성. 사용
	df.Category
	
	#방법2: [] 연산자 사용
	df['Category']
	
	#방법3: iloc 사용
	# : 은 모든 행을 가져오겠다는 의미이며 dataframe 의 인덱스 번호 4번(카테고리)컬럼을 가져오겠다는 희미
	df.iloc[:,4]

#특정 컬럼 여러개 가져오기 
	#방법1: [[]] 연산자 사용
	# []를 하나 사용하면 결과값이 series 형태로 반환되어 key error 가발생되며, [[]] 는 dataframe 으로 반환되어 에러가 나지 않습니다. 
	df[['Category','Selling Price']]
	
	#방법2: iloc 사용
	# : 은 모든 행을 가져오겠다는 의미이며 dataframe 의 인덱스 번호 4번,7번 컬럼을 가져오겠다는 희미
	df.iloc[:,[4,7]]
	
#특정 컬럼 버리기
#axis=0 은 인덱스 기준, 1은 컬럼 기준 삭제를 의미 
#inplace=True 는 원본을 변경하겠다는 의미, False 의 경우 원본테이블은 변경되지 않음
df3.drop('Interaction type', axis=1, inplace=True)

#조건에 부합하는 데이터 가져오기1
#조건에 만족하는 행은 정상출력 ,아닌 행은 NaN 으로 반환 
df2.where(df2['Age']>50)

#조건에 부합하는 데이터 가져오기2
#true, false의 개념이 아닌 조건에 부합하는 데이터만 슬라이싱하여 가져오고 싶을 때 
#mask 메서드로 불립니다. 이름은 반드시 mask 일 필요가 없습니다. 
mask = ((df2['Age']>50) & (df2['Gender']=='Male'))
df2[mask]

#데이터 그루핑- 기준 1개
df2.groupby('Gender')['Customer ID'].count()

#데이터 그루핑- 기준 여러개
df2.groupby(['Gender','Location'])['Customer ID'].count()

#데이터 count 와 nunique(distinct, 중복제거) 차이 
df2.groupby('Location')['Age'].count()
df2.groupby('Location')['Age'].nunique()

0개의 댓글