Pandas(1)
Pandas 기초
- 시리즈
-
일차원 레이블 배열과 같은 구조, pandas.Series(딕셔너리)
dict_data = {'a': 1, 'b': 2, 'c': 3} sr = pd.Series(dict_data)
-
인덱스 설정하기
tup_data = ('영인', '2010-05-01', '여', True) sr = pd.Series(tup_data, index=['이름', '생년월일', '성별', '학생여부'])
- 데이터 프레임
-
2차원 배열
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)
-> c0~c4 까지 열으로 들어감
-
행 인덱스/ 열 이름 지정
df = pd.DataFrame([[15, '남', '덕영중'], [17,'여', '수리중']], index=['준서', '예은’], columns=['나이', '성별', '학교'])
- 행/열 이름 변경(rename() 메소드)
df.rename(columns={'나이':'연령', '성별':'남녀', '학교':'소속'}, inplace=True) # df의 행 인덱스 중에서, '준서'를 '학생1'로, '예은'을 '학생2'로 바꾸기 df.rename(index={'준서':'학생1', '예은':'학생2' }, inplace=True)
-> inplace는 적용할지 안할지 결정하는 변수 True면 적용
-
행/열 삭제 행 삭제 : DataFrame 객체.drop(행 인덱스 또는 배열, axis=0) 열 삭제 : DataFrame 객체.drop(열 이름 또는 배열, axis=1)
- 행 선택
loc(행 이름)과 iloc(행 인덱스 번호) 사용
label1 = df.loc['서준'] # loc 인덱서 활용 position1 = df.iloc[0] # iloc 인덱서 활용
- 열추가
# 데이터프레임 df에 '국어' 점수 열(column)을 추가. df['국어'] = 80
- 행추가
# 새로운 행(row)을 추가 - 같은 원소 값을 입력 df.loc[3] = 0 print(df) print('\n') # 새로운 행(row)을 추가 - 원소 값 여러 개의 배열 입력 df.loc[4] = ['동규', 90, 80, 70, 60] print(df) print('\n') # 새로운 행(row)을 추가 - 기존 행을 복사 df.loc['행5'] = df.loc[3] print(df)
-
원소값 변경
# 데이터프레임 df의 특정 원소를 변경하는 방법 df.iloc[0][3] = 80 df.loc['서준']['체육'] = 90 df.loc['서준', '체육'] = 100 # 데이터프레임 df의 원소 여러 개를 변경하는 방법 df.loc['서준', ['음악', '체육']] = 50
-
행/열의 위치 바꾸기 df= df.T -> 뒤에 .T 붙이기
-
특정 열 인덱스 정하기
ndf = df.set_index(['이름'])
Leave a comment