반응형
250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 사회조사분석사 2급
- 사회조사분석사 2급 접수
- 2월공모주
- 백준
- 알고리즘
- 너비우선탐색
- 공모주청약
- 사회조사분석사2급실기신청꿀팁
- 사회조사분석사2급실기신청
- 사회조사분석사 2급 필기 시험시간
- 그리디
- BFS
- 시물레이션
- 사회조사분석사 2급 독학
- 벽부수고이동하기 파이썬
- 파이썬 정렬
- 머신러닝
- 사회조사분석사 2급 필기 요약정리
- 사이킷런
- 사회조사분석사 2급 필기 공부방법
- 현대엔지니어링 수요예측
- 백준 알고리즘
- 사회조사분석사 2급 공부방법
- 사회조사분석사 2급 기출문제집
- 정렬
- 공모주 청약
- 현대엔지니어링
- 오미크론 자가격리
- 공모주
- DFS
Archives
- Today
- Total
세상을 바꾸는 데이터
[Pandas] 판다스 - 데이터프레임과 넘파이 상호 변환 본문
DataFrame은 파이썬의 리스트, 딕셔너리, 넘파이 ndarray 등 다양한 데이터로부터 생성될 수 있다. 반대로 DataFrame은 파이썬의 리스트, 딕셔너리, 넘파이 ndarray 등으로 변환될 수 있다.
리스트, ndarray에서 DataFrame으로 변환
- pandas.DataFrame( )
DataFrame은 리스트와 넘파이 ndarray와 다르게 칼럼명을 가지고 있으며, 이는 리스트와 넘파이 ndarray보다 상대적으로 편하게 데이터 핸들링이 가능하다. DataFrame은 기본적으로 행과 열을 가지는 2차원 데이터로, 2차원 이하의 데이터들만 DataFrame으로 변환이 가능하다.
- 1차원 형태의 리스트와 넘파이 ndarray로부터 DataFrame으로 변환
import numpy as np
import pandas as pd
col_name1=['col1'] #칼럼명 지정
list1 = [1, 2, 3] # 데이터셋
array1 = np.array(list1) # ndarray 배열 생성
print('array1 shape:', array1.shape) # array1 shape: (3, )
df_list1 = pd.DataFrame(list1, columns=col_name1) #1차원 리스트로 만든 DataFrame
df_array1 = pd.DataFrame(array1, columns=col_name1) # 1차원 배열로 만든 DataFrame
- 2차원 형태의 데이터를 기반으로 DataFrame 생성
# 3개의 컬럼명 생성
col_name2=['col1', 'col2', 'col3']
# 2행x3열 형태의 리스트와 ndarray 생성 한 뒤 이를 DataFrame으로 변환.
list2 = [[1, 2, 3],
[11, 12, 13]]
array2 = np.array(list2)
print('array2 shape:', array2.shape ) # array2 shape: (2, 3)
df_list2 = pd.DataFrame(list2, columns=col_name2) # 2차원 리스트로 만든 DataFrame
df_array1 = pd.DataFrame(array2, columns=col_name2) # 2차원 배열로 만든 DataFrame
- 딕서녀리를 DataFrame으로 변환
# Key는 컬럼명으로 매핑, Value는 리스트 형(또는 ndarray)
dict = {'col1':[1, 11], 'col2':[2, 22], 'col3':[3, 33]}
df_dict = pd.DataFrame(dict) # 딕서녀리를 DataFrame으로 변환
DataFrame을 ndarray, 리스트, 딕셔너리로 변환
- DataFrame.values
- DataFrame.values.tolist( )
- DataFrame.to_dict( )
많은 머신러닝 패키지가 기본 데이터 형으로 넘파이 ndarray를 사용한다. 따라서 데이터 핸들링은 DataFrame을 이용하더라도 머신러닝 패키지의 입력 인자 등에 적용하기 위해 다시 넘파이 ndarray로 변환하는 경우가 빈번하게 발생한다.
DataFrame을 넘파이 ndarray로 변환하는 것은 DataFrame 객체의 values를 이용해 쉽게 할 수 있으며, 매우 많이 사용된다.
- DataFrame.values
- DataFrame을 넘파이 ndarray로 변환
# DataFrame을 ndarray로 변환
array3 = df_dict.values
print('df_dict.values 타입:', type(array3), 'df_dict.values shape:', array3.shape)
# df_dict.values 타입: <class 'numpy.ndarray'> df_dict.values shape: (2, 3)
- DataFrame.values.tolist( )
- DataFrame.to_dict( )
- DataFrame을 리스트, 딕셔너리로 변환
# DataFrame을 리스트로 변환
list3 = df_dict.values.tolist()
print('df_dict.values.tolist() 타입:', type(list3))
# df_dict.values.tolist() 타입: <class 'list'>
# DataFrame을 딕셔너리로 변환
dict3 = df_dict.to_dict('list')
print('df_dict.to_dict() 타입:', type(dict3))
# df_dict.to_dict() 타입: <class 'dict'>
Reference
https://github.com/chulminkw/PerfectGuide
728x90
반응형
'ML > Pandas' 카테고리의 다른 글
[Pandas] 판다스 - DataFrame을 정렬, 집계, 그룹하는 방법 (2) | 2022.01.25 |
---|---|
[Pandas] 판다스 - 데이터 선택 및 필터링 (indexing) (9) | 2022.01.24 |
[Pandas] 판다스 - DataFrame 칼럼 데이터 생성, 수정, 삭제 (10) | 2022.01.23 |
[Pandas] 판다스 - 파일을 DataFrame으로 불러오기, 기본 API (2) | 2022.01.19 |
[Pandas] 판다스(Pandas)란?? (4) | 2022.01.19 |
Comments