데이터프레임은 2차원 배열
즉, 행과 열이 존재!
행 인덱스 & 열 이름 이용!
import pandas as pd
dict_data = {'c0' : [1,2,3], 'c1' : [4,5,6], 'c2' : [7,8,9], 'c3' = [10,11,12], 'c4' : [13,14,15]}
df = pd.DataFrame(dict_data)
// dictionary를 DataFrame으로 전환
import pandas as pd
df = pd.DataFrame([[15, '남', '덕영중'], [17, '여', '수리중']],
index = ['준서', '예은'],
columns = ['나이', '성별', '학교'])
// pd.DataFrame 내 index와 columns을 활용하여 행 인덱스와 열 이름 지정
df.index = ['학생1', '학생2']
// 행 인덱스 변경
df.columns = ['연령', '남녀', '소속']
// 열 이름 변경
df.rename(columns = { '연령' : '나이', '남녀' : '성별', '소속' : '학교'} , inplace = True)
// 열 이름 변경 (연령 -> 나이, 남녀 -> 성별, 소속 -> 학교)
import pandas as pd
exam_data = {'수학' : [90, 80, 70], '영어' : [98, 89, 95]}
df = pd.DataFrame(exam_data, index = ['서준', '우현', '민아'])
df2 = df[:]
// df2는 df를 복제한 것
df2.drop('우현', inplace = True)
// '우현' 행 삭제
df3 = df[:]
//df3은 df를 복제한 것
df3.drop(['우현', '민아'], axis = 0, inplace = True)
// '우현', '민아' 행 삭제
// 행 삭제는 axis = 0
df4 = df[:]
df4.drop('수학', axis = 1, inplace = True)
// '수학' 열 삭제
// 열 삭제는 axis = 1
label = df.loc['서준']
//인덱스 값을 직접 입력해서 선택하는 방법
position1 = df.iloc[0]
// 정수형 위치를 입력해서 선택하는 방법
label2 = df.loc[['서준', '우현']]
position2 = df.iloc[[0,1]]
label3 = df.loc['서준' : '우현']
// 서준, 우현 모두 포함
position3 = df.iloc[0:1]
// 서준만 포함
math = df['수학']
// 데이터 값만 포함
math = df[['수학']]
// 컬럼명 함께 출력 가능
math_eng = df[['수학', '영어']]
import pandas as pd
exam_data = {'이름' : ['서준', '우현'],
'수학' : [90, 80],
'영어' : [89, 83]}
df = pd.DataFrame(exam_data)
df.set_index('이름', inplace = True)
// '이름' 열을 새로운 인덱스로 지정
a = df.loc['서준', '수학']
// 서준이의 수학 점수 (90)
b = df.iloc[0, 1]
// 서준이의 영어 점수 (89)
c = df.loc['서준', ['수학', '영어']]
// 서준이의 수학, 영어 점수
d = df.iloc[0, [0,1]]
// 서준이의 수학, 영어 점수
e = df.loc['서준', '수학':'영어']
// 서준이의 수학, 영어 점수
f = df.loc[['서준', '우현'], ['수학', '영어']]
// 서준이와 우현이의 수학, 영어 점수
df['국어'] = 80
// 국어 열 추가, 데이터 값은 80
import pandas as pd
exam_data = {'이름' : ['서준', '우현'],
'수학' : [90, 80],
'영어' : [89, 83]}
df = pd.DataFrame(exam_data)
df.loc[2] = 0
// 모든 값에 0 추가
df.loc[3] = ['동규', 83, 28]
// 차례로 이름 열, 수학 열, 영어 열에 데이터 값 입력
df.loc[4] = df.loc[2]
// 기존 행 복사하여 추가
import pandas as pd
exam_data = {'이름' : ['서준', '우현'],
'수학' : [90, 80],
'영어' : [89, 83]}
df = pd.DataFrame(exam_data)
df.set_index('이름', inplace = True)
// '이름' 열을 새로운 인덱스로 지정
df.iloc[0][1] = 80
// 서준이의 영어 점수 변경 (89 -> 80)
df.loc['우현']['수학'] = 99
// 우현이의 수학 점수 변경
df.loc['우현', ['수학', '영어']] = 100, 50
// 우현이의 수학, 영어 점수 변경
import pandas as pd
exam_data = {'이름' : ['서준', '우현'],
'수학' : [90, 80],
'영어' : [89, 83]}
df = pd.DataFrame(exam_data)
df = df.transpose()
// 행과 열 위치 바꾸기
df = df.T()
// 행과 열 위치 바꾸기