맥북-코딩
코딩

데이터 분석을 위해 파이썬 판다스를 많이 사용하지만, 리스트를 이용해서 처리하는 것이 효율적일 때도 많습니다. 리스트로 바꾸는 방법은 어렵지 않지만, 직접 하려면 헷갈릴 때가 있습니다. 오늘은 파이썬 판다스 데이터 프레임을 리스트로 바꾸는 여러 가지 방법에 대해서 알아보겠습니다.

 

 

iris 데이터셋을 불러왔습니다. pandas에서 iris dataset을 사용하고자 할 때는, scikit-learn패키지의 load_iris함수를 이용하면 편리하게 사용할 수 있습니다.

 

import pandas as pd
from sklearn import datasets

iris = datasets.load_iris()
df = pd.DataFrame(iris['data'], columns=iris['feature_names'])

 

 

1. 딕셔너리로 변환하고 가져오기

판다스 데이터 프레임 상태에서는 바로 리스트로 변환하는 것은 어렵지만, 딕셔너리로 변환한 후에 원하는 칼럼 값을 가져올 수 있습니다. 딕셔너리로 변환하면, 칼럼명이 키값이 되고 데이터는 리스트로 저장됩니다. 키를 이용해서 원하는 칼럼 값을 가져오고, 리스트로 변환하면 되겠습니다.

 

df_dict = df.to_dict()
dic_val = df_dict['sepal length (cm)'].values()
dic_list = list(dic_val)

 

 

 

2. 칼럼을 선택한 후에 리스트로 변환하기

판다스 데이터프레임은 각각의 칼럼이 시리즈(Series)라는 데이터 타입으로 이루어져 있습니다. 이 타입은 tolist함수를 이용해 리스트로 변경할 수 있습니다. 혹은 list함수를 이용해서 리스트로 바꿀 수 있습니다.

 

df['sepal length (cm)'].to_list()
list(df['sepal length (cm)'])

 

 

3. 행(row)를 리스트로 추출하기

iloc를 이용하면 판다스 데이터 프레임의 특정 인덱스를 기준으로 값을 추출할 수 있습니다. 추출되는 값이 하나라면 아래와 같이 쉽게 리스트로 변환할 수 있습니다.

 

df.iloc[0].to_list()
list(df.iloc[0])

 

 

4. numpy array로 변경하기

데이터프레임을 리스트로 바로 변경할 수는 없지만, array로는 변경이 가능합니다. 다만 array() 함수는 pandas 1.4 이상의 버전에서 지원합니다. pandas버전이 1.4 이하라면 __array__() 함수를 이용하셔야 합니다. 여기서 리스트로 형 변환이 가능하지만, array안의 요소도 리스트로 변경해줘야 합니다. array도 컴프리헨션 문법이 가능합니다. 이를 이용해서 바꾸면 안의 내용도 쉽게 리스트로 바꿀 수 있습니다.

 

df.array()

 

데이터프레임-array-변환모습
array로 변환이 가능합니다

 


여러 개의 row나 칼럼을 리스트로 변경하려면, for문을 돌리는 방법이 가장 적합합니다. iterrows함수를 이용하면 행을 기준으로 반복문을 실행할 수 있습니다.

 

 

판다스 코드 cheatsheet로 공부하기

판다스 코드가 헷갈릴 때는 cheatsheet를 이용하는 것도 좋은 방법입니다. 헷갈리는 코드를 찾아보기 쉽고, 잘 생각나지 않는 코드를 같이 정리해두면 나만의 소스도 만들 수 있습니다.


오늘은 이렇게 파이썬 판다스 데이터프레임 리스트로 추출하는 방법에 대해서 알아보았습니다. 처음에는 조금 헷갈릴 수 있지만, 기본 문법을 활용되면 되기 때문에 어렵지 않습니다. 판다스 데이터프레임을 리스트로 변환하고자 하는 분들에게 도움이 됐기를 바랍니다.

 

파이썬 데이터 분석 학습, 활용해야 실력이 늡니다!

코딩과 데이터 분석을 배우려는 사람들이 많습니다. 전공자가 아니어도 자기계발의 목적으로 관심을 가집니다. 하지만 비전공자가 단순한 자기계발 정도의 목적으로 없는 시간을 쪼개 배우기

aplab.tistory.com

 

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기