Programming/Pandas

[Pandas] 데이터 프레임 생성, 컬럼명 추출&변경

JongHo.dev 2023. 2. 3. 20:10
728x90
728x90
SMALL

🔉 빅데이터 분석을 편리하게 해주는 파이썬 라이브러리인 Pandas에 대해 공부해보자!

https://pandas.pydata.org/

 

pandas - Python Data Analysis Library

pandas pandas is a fast, powerful, flexible and easy to use open source data analysis and manipulation tool, built on top of the Python programming language. Install pandas now!

pandas.pydata.org

📝목차

1. 데이터 프레임 생성
2. column명 추출 & 변경

1. 데이터 프레임 생성

☑️ list를 사용해서 데이터 프레임 만들기

import pandas as pd

# list를 이용해서 데이터 프레임 만들기

name_list = ["안유진","가을","레이","장원영","리즈","이서"]
korean_list = [90,85,70,87,85,85]
english_list = [95,85,87,94,74,84]
exam = pd.DataFrame({"name": name_list,"korean": korean_list, "english": english_list})
exam

output:

 

☑️ Dictionary를 사용해서 데이터 프레임 만들기

  • Dictionary의 key값이 열 이름,  value값이 열을 채운다.
  • value들의 길이가 동일하다면, DataFrame으로 쉽게 변환할 수 있다.
import pandas as pd

#  Dictionary를 사용해서 데이터 프레임 만들기

Ive_list = { "name" :["안유진","가을","레이","장원영","리즈","이서"], "korean_list" :  [90,85,70,87,85,85]
            , "english_list" : [95,85,87,94,74,84] }
Ive_list

output:

#dictionary -> dataframe
Ive_list = pd.DataFrame(Ive_list)

Ive_list

output:

 

☑️ 데이터프레임에 결측치 값을 넣고 싶을 때

- 리즈가 결시를 해서 국어, 영어 값이 없는 상황( 결시해도 0점이 아닌...)

# 결측치로 넣고 싶은데 변수명으로 인식해서 오류

Ive_list = { "name" :["안유진","가을","레이","장원영","리즈","이서"], "korean_list" :  [90,85,70,87,NaN,85]
            , "english_list" : [95,85,87,94,NaN,84] }
Ive_list

다음과 같이 작성하면 NaN을 변수명으로 인식해서 오류가 발생한다.

행렬, 선형대수 등에 쓰이는 파이썬 라이브러리 numpy를 이용해서 해결하면 된다!

# numpy의 np.NaN을 이용해서 해결

import numpy as np
Ive_list = { "name" :["안유진","가을","레이","장원영","리즈","이서"], "korean_scoreS" :  [90,85,70,87,np.NaN,85]
            , "english_score" : [95,85,87,94,np.NaN,84] }

Ive_list = pd.DataFrame(Ive_list)
Ive_list

output:

 

2. 컬럼명 추출  & 변경

 

☑️ 컬럼명 조회

# 열 이름 조회

Ive_score.columns

output:

☑️ 컬럼명 추출

Ive_score.columns[0]

output:

 

 

 

 

☑️ 컬럼명 변경①  - 전체 열 이름 입력하기

#전체 열 입력하기

Ive_score.columns=["이름","국어점수","수학점수"]
Ive_score

output:

☑️ 컬럼명 변경②  - 일부 열 이름 입력하기

  • 컬럼이 많을 경우, 일부분만 바꿀 때 효과적이다.
Ive_score.rename(columns={"name": "이름"})

output:

❗️ 위와 같이 코드를 짜면 Ive_score에 적용은 되지 않는다.  적용하려면

  • Ive_score = Ive_score.rename(columns={"name": "이름"}) 
  •  Ive_score.rename(columns={"name": "이름"}, inplace=True)

같은 방법을 사용하면 된다!

728x90
728x90
LIST