def __init__(data=None, index: (Axes | None)=None, columns: (Axes | None)=None, dtype: (Dtype | None)=None, copy: (bool | None)=None)
파이썬 판다스를 이용하면 표 형태의 데이터를 다룰 수 있다는 장점이 있다. 그런데 이러한 표 형태를 만들기 위해서는 뼈대를 잘 만들어야 한다. 인덱스엔 뭘 넣고, 해당 데이터엔 뭐가 들어가는지. 데이터는 어떻게 나열할 것인지 등을 세워야 한다. 보통은 엑셀과 CSV로 만들어진 데이터를 불러와서 index가 무엇인지 지정하는 코드를 친다. 한국어 데이터 경우에는 encoding ='euc-kr' 이나 encoding='utf-8'이 붙는다.
pd.read_csv('../Data.csv', index_col='Date', parse_dates=True)
이번엔 자체적으로 리스트나 넘파이 형태의 데이터를 만들어서 데이터 프레임으로 만들어보겠습니다.
import numpy as np
import pandas as pd
createDataframe = pd.DataFrame({'Index': ['2022-01-01', '2022-01-02', '2022-01-03', '2022-01-04', '2022-01-05', '2022-01-06', '2022-01-07'],
'Price': [30, 35, 22, 23, 40, 39, 38],
'Value': [135, 234, 423, 333, 235, 293, 236]})
pd.DataFrame() 내부에 {} JSON형태의 데이터를 입력해주는 방법이 있다. 단점은 손으로 일일이 다 해당 숫자를 작성해야한다는 것.
그리고 인덱스도 다시 설정해주어야 한다.
createDataframe["Index"] = pd.to_datetime(createDataframe['Index']) #dtype형태 변환
createDataframe.set_index('Index',inplace=True) #index로 설정
createDataframe.index #index확인
인덱스는 날짜이기 때문에 해당 데이터를 날짜형태로 반환하고 인덱스로 만들어주었다.
데이터를 확인하면 인덱스와 해당 데이터 프레임 형태가 제대로 만들어졌다.
요 방법 이외에도 넘파이를 활용해서 간단하게 만드는 방법도 있다.
idx = pd.date_range('2022-01-01', periods=14, freq='D') #인덱스생성
idx
data = np.random.randn(14,2) #데이터 값 무작위로 생성
cols = ['Price1','Price2'] # 열 이름 지정
data
각각 배열 데이터와 열 이름, 인덱스 값을 객체값으로 각각 생성해준 뒤, 데이터 프레임 형태로 만든다.
anotherFrame = pd.DataFrame(data,idx,cols) #pd.DataFrame(data, index=idx, columns=cols)
pd.DataFrame(data값, index=인덱스값, columns=열 이름) 으로 만들어주면 쉽게 판다스 데이터 프레임으로 만들 수 있다.
그 외에도
finalDataframe = pd.DataFrame()
finalDatafrmae['Class'] = ['English', 'Math', 'Korean']
finalDataframe['Middle'] = [88, 100, 92]
finalDataframe['Final'] = [100, 100, 100]
이렇게 미리 데이터 프레임을 만들어 두고 각각 데이터 값을 넣어주는 방법이 있다.
+추가
pd.DataFrame()의 생성자 파라미터는 다음과 같다. data = , index = , columns, dtype = , 등으로 칠 수 있다.
def __init__(data=None, index: (Axes | None)=None,
columns: (Axes | None)=None,
dtype: (Dtype | None)=None,
copy: (bool | None)=None)
-끗-
'Python' 카테고리의 다른 글
[colab] mp3 두 개 합치기/mov -> mp4 -> wav /audiodisplay (0) | 2022.04.23 |
---|---|
to_csv, to_excel 파라미터, 판다스 엑셀 저장하기 (0) | 2022.04.22 |
Pandas) 선 겹쳐 그리기, 다양한 선 겹치게 그래프 만들기 (0) | 2022.04.21 |
Pandas) read_csv 데이터 불러올 때 date 형태로 parsing하기, 인덱스 설정하기, 데이터 유형 변경astype (0) | 2022.04.20 |
[데이터 시각화] matplotlib, 그래프 범례 밖으로 넣기, 산점도 색깔 넣기, 그림크기 변경figsize (0) | 2022.04.19 |