- Python 함수: 입력값을 가지고 어떤 일을 수행한 후 그 결과물을 내어놓는 것
- def: 함수를 만들 때 사용하는 예약어
- 함수_이름: 함수를 만드는 사람이 임의로 설정 가능(함수의 동작을 잘 설명하는 이름으로 설정할 것)
- 매개변수: 함수에 입력으로 전달되는 값을 받을 변수
- 수행할_문장: 함수에서 수행할 문장
def 함수_이름(매개변수_parameter):
수행할_문장1
수행할_문장2
- 함수의 종류
- 일반적인 함수: 입력값이 있고 리턴값이 있는 함수
- 입력값이 없는 함수: 입력값 없이 리턴값만 있는 함수
- 리턴값이 없는 함수: 입력값은 있으나 리턴값이 없는 함수
- 단순 함수: 입력값과 리턴값 모두 없는 함수
#일반적인 함수를 만들고 사용해보자
def avg(a,b,c,d):
return (a+b+c+d)/4
c=avg(80,75,90,80)
print(c)
#입력값이 없는 함수
def sayHello():
return "Hello"
a = sayHello()
print(a)
#리턴값이 없는 함수
def multiply(a,b):
print("%d, %d의 곱은 %d입니다." % (a,b,a*b))
multiply(4,5)
#단순 함수
def say():
print('Hi Hello')
say()
- 패키지
- 함수가 여러 개 들어있는 꾸러미로 함수를 사용하려면 패키지를 먼저 설치해야함
- 아나콘다에는 주요 패키지 대부분이 들어있어 사용이 용이함
- 데이터 프레임
- 데이터를 다룰 때 가장 많이 사용하는 데이터 형태
- 행과 열로 구성된 사각형 모양의 표처럼 생겼다.
- 열은 속성: 칼럼(column) 또는 변수(variable)로 불린다.
- 행은 한 사람의 정보: 로(row) 또는 케이스(case)로 불린다.
- 데이터의 열이 많을수록 변수들 간의 관계를 더욱 세세하게 볼 수 있으므로 심도있는 분석이 가능하다.
- 데이터를 파악할 때 사용하는 명령어
head() #앞 행 5개 출력
tail() #뒷 행 5개 출력
shape #행,열 개수 출력
info() #변수 속성 출력
describe() #요약통계량 출력
- 변수 속성: info() 이용
- Non-Null Count: 결측치를 제외하고 구한 값의 개수
- 변수 속성: int64(정수), float64(실수), object(문자), datetime64(날짜 시간)
- 64:64비트→1비트로 두 개의 값 표현 가능, int64 →2^64개의 정수 표현 가능
- 요약통계량: describe() 이용
- count: 빈도(frequency), 값의 개수
- mean: 평균
- std: 표준편차, 변수들의 값들이 평균에서 떨어진 정도를 나타냄
- min: 최소값
- 25%: 1사분위수(1st quantile), 하위 25% 지점에 위치한 값
- 50%: 중앙값(median)
- 75%: 3사분위수(3rd quantile), 하위 25% 지점에 위치한 값
- max: 최대값
#csv파일 불러오기
df_csv_exam = pd.read_csv('exam.csv')
df_csv_exam
#csv로 저장하기
df_midterm = pd.DataFrame({
"english": [90,80,60,70],
"math" : [50, 60, 100, 20],
"nclass" : [1,1,2,2]
})
df_midterm
df_midterm.to_csv('output_newdata.csv')
#exam 데이터 준비하기
import pandas as pd
exam = pd.read_csv('exam.csv')
exam
#앞에서부터 5행까지 출력
exam.head()
#뒤에서부터 5행 출력
exam.tail()
#행열 개수 구하기
exam.shape
#변수 속성 파악하기
exam.info()
#문자변수 요약 통계량 함께 출력
mpg.describe(include='all')
#변수명 바꾸기
#1. 데이터 프레임 만들기
df_raw = pd.DataFrame({'var1':[1,2,1],
'var2':[2,3,2]})
df_raw
#데이터프레임 복사본 만들기
df_new=df_raw.copy()
df_new
#변수명 바꾸기
df_new = df_new.rename(columns = {'var2':'v2'})
df_new