라이브러리 불러오기
import pandas as pd
데이터 불러오기 및 저장
# 시리즈 생성
# pd.Series(data = array)
data = [1,2,3,4,5]
s = pd.Series(data = data)
# 데이터프레임 생성
# pd.DataFrame(data = array, columns = ['열1', '열2', ...], index = ['인덱스1', '인덱스2' ...])
# pd.DataFrame(dictionary)
data = {'column_1': [1,2,3,4,5], 'column_2': ['김', '이', '박', '최', '고']}
df = pd.DataFrame(data)
# csv 파일 읽기
df = pd.read_csv('./sample1.csv', sep=',', encoding='cp949', na_values=['nan으로 바꿀 특정 값'])
# csv 로 파일 저장
pd.to_csv('./filename.csv', as_index=False, encoding='utf-8', na_rep='nan을 변환해줄 문자열', header=boolean)
시리즈, 데이터프레임 생성
# 시리즈
index = [1,2,3,4,5]
data = ['수학', '과학', '영어', '지리', '과학']
s1 = pd.Series(data = data, index=index)
s2 = pd.Series(range(3), index=["a", "b", "c"]) # range() 시퀸스 객체로 data의 인자로 넣기
s3 = pd.Series({1: '수학', 2: '과학', 3: '영어', 4: '지리', 5: '과학'}) # 딕셔너리
# 딕셔너리는 순서가 없다. 그래서 index로 순서부여 가능
s4 = pd.Series({1: '수학', 2: '과학', 3: '영어', 4: '지리', 5: '과학'} index=index)
# 데이터프레임
# pd.DataFrame(data = array, columns = ['열1', '열2', ...], index = ['인덱스1', '인덱스2', ...])
data = [['수학','과학','영어','지리','과학'], [90, 50, 80, 60, 70]]
index = [0, 1, 2, 3, 4]
columns = ['과목', '점수']
df1 = pd.DataFrame(data = data, columns = ['컬럼명1'], index = [0,1,2,3,4], columns=columns)
dict_data = {
'과목': ['수학', '과학', '영어', '지리', '과학'],
'점수': [90, 50, 80, 60, 70]
}
df2 = pd.DataFrame(dict_data) # 딕셔너리와 값으로 리스트
시리즈와 데이터프레임 메소드 정리
ds.values
ds.name
ds.index
ds.index.name
ds.notnull()
df.values
df.index
df.columns # = list(df)
df.index.name
df.columns.name
df.T
df.info()
df.describe()
인덱싱
# 인덱싱
df[1:3] # 행 인덱싱
df[1:3][2] # 행 인덱싱 후 열 인덱싱
df['컬럼명1', '컬럼명2'] # 2개 특정 컬럼 전체 행 인덱싱
df.loc[ 조건 , '컬러명2'] # 조건에 따른 특정 컬럼 인덱싱
df.loc[ 조건 , ['컬럼명1', '컬럼명2']] # 조건에 따른 여러 개 컬럼 인덱싱
df.iloc[] # 정수 인덱스만 받는 인덱서
# 불린 인덱싱
df.loc[df['temperature'] >= 15]
# 함수를 이용한 불린 인덱싱
def hot_days(df):
return df['temperature'] > 25
df.loc[hot_days(df)]
# 팬시 인덱싱
df.loc[['temperature']]
# 다중조건
df.loc[(df['age'] >= 10]) & (df['age'] <= 19)] # 10대, 쓸 때 괄호를 해주어야 함
댓글