List to Pandas
Page content
강의 홍보
- 취준생을 위한 강의를 제작하였습니다.
- 본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.
스타벅스 아이스 아메리카노를 선물
로 보내드리겠습니다.
- [비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기
개요
List
는 파이썬 데이터 타입의 기본 자료형이다.Pandas
데이터 분석을 위한 기본적인 자료형이다.List
에서Pandas
로 변환하는 작업의 다양한 방법을 활용해본다.
방법 1. 기초
List
를 생성한 후, 데이터프레임으로 변환한다.- 여기에서는
column
과index
값을 확인해본다.
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 추가
- 이번에는
column
과index
를 추가한다.
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 활용
List
와Dictionary
를 활용하여 데이터 프레임을 작성한다.
# 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/