본문 바로가기
Python/Pandas

Pandas의 기초 - Series와 DataFrame 만들기

by NeatyNut 2023. 11. 20.

1. Python 자료형을 활용

import Pandas as pd  # pandas 라이브러리 임포트, 별칭 pd

sample_cate = ["짜장면", "짬뽕", "볶음밥"] # 리스트
sample_price = [7000, 7500, 7500] # 리스트

 

1) 시리즈를 만들기

시리즈

 

cate = pd.Series(sample_cate)  # cate라는 시리즈
price = pd.Series(sample_price)  # price라는 시리즈
display(cate, price)

 

 

 

 

 

2) 데이터프레임 만들기

 (1) 두 개의 시리즈를 통해 만들기

컬럼명 : 시리즈 구조로 생성

 

 

df = pd.DataFrame({
    "메뉴" : cate,
    "가격" : price})
display(df)

 

 

 

 

 

 

 

 (2) dictionary를 통해 만들기

 

 

menu_dic = {"메뉴" : ["짜장면", "짬뽕", "볶음밥"],
            "가격" : [7000, 7500, 7500]}
df = pd.DataFrame(menu_dic)
display(df)

 

 

 

 

 

 

★ 단, 위의 방법들로 만들때, dictionary의 value에 있는 리스트들의 요소 개수가 맞지 않으면 오류가 일어남

메뉴 값의 리스트에 짬뽕밥을 추가해서 가격 값의 리스트 개수가 맞지 않아 오류가 나는 모습

 

 

 

자동으로 안맞는 갯수만큼 Nan값 생성해서 데이터프레임화 하는 방법

df = pd.DataFrame.from_dict(menu_dic, orient='index') # orient='index'를 통해 컬럼과 열을 바꾸어 받아, 자연스레 None값 생성
df = df.transpose() # 다시 뒤집기
display(df)

 

하나의 시리즈 혹은 리스트를 열이 아닌, 행으로 받아 자연스레 Nan값을 형성하고 다시 뒤집으면서 원래의 형태로 바꿈(개수 맞출 필요 없이 사용가능)

 

 

2. CSV파일을 활용

df = pd.read_csv("https://raw.githubusercontent.com/NeatyNut/csv/main/sample_csv.csv")
# df = pd.read_csv("파일.csv")
df

파일링크는 제 깃허브이므로, 때에 따라 안될 수 있습니다. 원하시는 링크주소 또는 파일주소로 바꾸시면 됩니다.

 

 

df = pd.read_csv("https://raw.githubusercontent.com/NeatyNut/csv/main/sample_csv.csv", index_col="메뉴")
df

index_col 파라미터를 활용하여 "메뉴"컬럼을 인덱스로 만들 수 있다.

 

 

 

★ 원본csv 인코딩 방식에 따라 한글이 깨질 경우, read_csv("파일.csv", encoding="cp949")로 바꿔주시면 됩니다!