프로그래밍/Pandas

Pandas - Dataframe 열 , 행 , 값

LeeSeunghyuk 2020. 12. 29. 14:10
반응형

 

안녕하세요

 

오늘은 지난 시간에 다루었던 Dataframe의 행, 열, 값을 수정하는 실습을 진행하겠습니다.

 

### Datafram 열 추가

 

컬럼(column)추가 라고 생각하시면 됩니다.

머신러닝의 정확도를 개선할 파생 변수 생성

 

데이터 프레임의 마지막 열에 덧 붙이듯 새로운 열을 추가합니다.

모든 행에 같은 값이 입력됩니다.

import pandas as pd

data = {'수학':[90,80,70],'영어':[98,89,95],'음악':[85,95,100],'체육':[100,90,90]}
df=pd.DataFrame(data,index=['재훈','민수','한빛'])
# 새로운 열 생성
df['국어']=80
df

# '총합' 칼럼 새로 만들기

df['총합']=df.sum(axis=1).values
df


 

### DataFrame 행 추가

 

loc 인덱서를 사용해 행 이름, 데이터 값을 입력합니다.

하나의 데이터 혹은 열 개수에 맞는 값을 입력할 수 있습니다.

하나의 경우 모두 같은 값이, 개수가 맞는 경우 각가의 값이 추가됩니다.

# 한 개 데이터, 모두 같은 값
df.loc['의석']=10
# 열 개수에 맞는 데이터
df.loc['혜성']=[10,20,30,50,60,0]
df

df['총합']=df[['수학','영어','음악','체육','국어']].sum(axis=1).values
df

총합 갱신하기

 

※ 기존 인덱스와 겹치는 경우

 

기존 인덱스의 값을 갱신합니다.


 

### DataFrame 값 변경

 

특정 원소를 선택, 새로운 값 할당 작업으로 값을 변경합니다.

원소 1개를 ,여러 개를 선택해서 한 번에 바꿀 수 있습니다.

데이터 프레임의 인덱싱과 슬라이싱을 사용합니다.

 

df['수학']=50
print(df,'\n')

df.loc['재훈']['영어']=100
print(df,'\n')

df.iloc[0:3][['음악','체육']]=0
print(df.iloc[0:3],'\n')

 

### 행, 열 위치 바꾸기

 

데이터 프레임의 행과 열을 서로 바꾸는 방법입니다.

선형 대수학의 전치행렬과 같은 개념입니다.

Dataframe의 transpose() 함수는 새로운 객체를 반환합니다.

따라서 원본을 바꾸기위해 inplace=True 혹은 

새로운 변수에 데이터 프레임을 할당합니다.

print('---원본---')
print(df)
print('\n---전치---')
print(df.transpose())

 

반응형