반응형
인덱스 설정은 pd.read_csv로 불러올 때 index_col = '열 이름'으로 설정할 수 있다.
data = pd.read_csv('../Data.csv', index_col='Date')
다음과 같이 설정할 수 있음. 그런데 문제는 년도-월-일 의 Date형태인 경우에는 해당 데이터 타입을 명시해주어야 한다. 그렇지 않으면 그냥 object로 인식해서 날짜 계산하기 어렵다.
여러가지 방법이 있다. 하나는 boolean으로 인덱스를 자동으로 datetime으로 설정하는 방법.
pd.read_csv('../Data.csv', index_col='Date', parse_dates=True)
또 구체적으로 어떤 행인지 작성해주는 방법도 있다. 리스트 형태라서 만약 a열도 시간-분-초 형태로 적힌 데이터타입이면 parse_dates=["Date", "a"] 이런 식으로 작성해주면 된다.
data1 = pd.read_csv('../Data.csv', index_col='Date', parse_dates=["Date"])
new라는 변수에 넣어주고 확인해보니 dtype='datetime64[ns]'로 되어 있다. 초단위 기준의 데이터타임 유형으로 분류가 되었다.
만약 다른 유형으로 변경하고 싶으면 해당되는 변수에 하단과 같이 재정의를 하면 된다.
new = new.astype({'Date':'object'})
또는 특정 열 이름을 구체적으로 작성해주고 변경해주면 된다.
df["rain_new"] = df["rain_new"].astype("object")
python은 데이터 유형을 꼭 명시하지 않아도 변수를 자동으로 할당되는 기능이 있기 때문에 알아서 기능이 굴러가는 것처럼 보이는데
사실 데이터 유형을 파악하고 잘 활용하는 것이 필요하다. 모델 만들거나 회귀분석 모형 만들 때 데이터 유형이 다르면 에러가 뜬다.
또 다른 방법으로는 불러와서 하나씩 변경해주는 방법이다. datetime으로 할당하고, 해당 내용을 인덱스로 할당하기. 하나씩 해주는 방법도 있음.
df = pd.read_csv('../Data.csv')
df['Date'] = pd.to_datetime(df['Date'])
df.set_index('Date',inplace=True)
반응형
'Python' 카테고리의 다른 글
Pandas DataFrame 만들기 (0) | 2022.04.22 |
---|---|
Pandas) 선 겹쳐 그리기, 다양한 선 겹치게 그래프 만들기 (0) | 2022.04.21 |
[데이터 시각화] matplotlib, 그래프 범례 밖으로 넣기, 산점도 색깔 넣기, 그림크기 변경figsize (0) | 2022.04.19 |
Pandas) 특정 값, 이름이 있는 행 갯수 찾기, 함수 적용하기, lambda 값 (0) | 2022.04.17 |
Pandas) value_counts(), unique(), sort_values(), groupby()/ ''DataFrame' object has no attribute 'count_values' (0) | 2022.04.17 |