List to Pandas

Page content

강의 홍보

개요

  • List는 파이썬 데이터 타입의 기본 자료형이다.
  • Pandas 데이터 분석을 위한 기본적인 자료형이다.
  • List에서 Pandas로 변환하는 작업의 다양한 방법을 활용해본다.

방법 1. 기초

  • List를 생성한 후, 데이터프레임으로 변환한다.
  • 여기에서는 columnindex값을 확인해본다.
import pandas as pd

lst = ["Korea", "Japan", "USA", "China", "Russia"]
data = pd.DataFrame(lst)
print(data)
        0
0   Korea
1   Japan
2     USA
3   China
4  Russia

방법 2. Column & Index 추가

  • 이번에는 columnindex를 추가한다.
lst = ["Korea", "Japan", "USA", "China", "Russia"]
country_index = ["a", "b", "c", "d", "e"]
data = pd.DataFrame(lst, index = country_index, columns=["Country"])
print(data)
  Country
a   Korea
b   Japan
c     USA
d   China
e  Russia

방법 3. 두개의 리스트와 Zip 활용

  • 이번에는 zip()함수를 활용하기에 앞서서, zip() 함수를 이해한다.
a = ["김", "심", "홍"]
b = ["길동", "청이", "길동"]

x = zip(a, b)
print(list(x))
[('김', '길동'), ('심', '청이'), ('홍', '길동')]
  • 위 결과값이 말해주는 것처럼 동일한 개수로 이루어진 자료향을 묶어 주는 역할을 한다.
  • 이를 활용하여 두개의 리스트를 판다스 데이터프레임으로 변환해준다.
full_name = pd.DataFrame(list(zip(a, b)), 
                         columns = ["성", "이름"])

print(full_name)
   성  이름
0  김  길동
1  심  청이
2  홍  길동

방법 4. Dictionary 활용

  • ListDictionary를 활용하여 데이터 프레임을 작성한다.
# 3개의 리스트
name = ["홍길동", "심청이", "임꺽정"]
age = [30, 40, 50]
gender = ["남성", "여성", "남성"]

# 딕셔너리 생성
dict = {"성함": name, "나이": age, "성별": gender}

class_df = pd.DataFrame(dict)
print(class_df)
    성함  나이  성별
0  홍길동  30  남성
1  심청이  40  여성
2  임꺽정  50  남성

엑셀로 내보내기

  • 이렇게 생성된 데이터를 엑셀로 내보내기를 해본다.
class_df.to_excel("class_df.xlsx", sheet_name='1반', index = False)
  • 실제로 내보내기가 되었는지 확인해본다.
%ls
class_df.xlsx 

Reference

Shivam_k. (2018). Create a Pandas DataFrame from Lists. Retreived from https://www.geeksforgeeks.org/create-a-pandas-dataframe-from-lists/