파워 파이썬/패키지

강력한 pandas를 이용한 데이터 처리 2

상선약수64 2023. 10. 1. 17:56
반응형

판다스는 행과 열로 구조화된 데이터프레임을 조작하고 데이터 처리 및 분석을 지원합니다.

 

 

1. 데이터프레임 구조

  • 데이터프레임 구조는 index와 columns 객체를 정의하여 사용하고 있습니다.
import pandas as pd
file="/content/drive/MyDrive/ML Lecture/data/vehicle.csv"
df= pd.read_csv(file, encoding='CP949') #한글
df.head()

<출력결과> 

  • 출력결과를 살펴보면 각행의 index는 0부터 n까지 자동으로 부여되고, 비워 두었던 첫 열은 Unnamed:0으로 이름이 부여되어 있습니다.

 

  • 판다스의 외부파일을 읽을때, index_col 매개변수에 0이라고 하면 첫번째 열이 인덱스로 사용이 되므로, 아래 출력결과를 확인하면 자동으로 생성된 index 0~n까지 숫자는 출력되지 않습니다.

 

import pandas as pd
file="/content/drive/MyDrive/ML Lecture/data/vehicle.csv"
df= pd.read_csv(file, encoding='CP949', index_col=0) #한글
df.head()

 

2. 열 생성
  • 데이터 프레임 df의 컬럼 2019는 df['2019'로 지정하면 됩니다. 2019컬럼, 2020컬럼, 2021컬럼의 합을 데이터프레임 df의 컬럼명 total이라는 열이 생성되었습니다. 
#total 열을  생성
df['total'] = df['2019']+df['2020'] + df['2021']
df.head()

 

3. 열 삭제
  • 열을 삭제를 하기 위해서는 drop() 메소드를 사용하면 됩니다. 위 total 컬럼을 삭제하도록 하는 코드입니다.
  • inplace=True라고 지정해야면 데이터프레임이 변경되고, axis=0은 행, axis=1은 열을 의미합니다.
#total 열을 삭제 drop() 사용
df.drop('total', inplace=True, axis=1)
df.head()

 

  • total과 mean컬럼을 삽입하려고 하는데, sum()함수와 mean()함수를 사용하였습니다.
#total과 mean 열 삽입
df['total'] = df[['2019', '2020', '2021', '2022', '2023']].sum(axis=1)
df['mean']=df.mean(axis=1) #열전체를 평균을 구함
df.head()

 

참고: https://github.com/sense64/data_viz/blob/main/dataframe_prg02.ipynb