개발/Data Science

파이썬 Data Science 기초 - DataFrame index

huiyu 2023. 4. 8. 06:36

1. pandas 패키지 가져오기

import pandas as pd
pd.__version__

2. DataFrame

dict_data = dict(a=[1,2,3,4], shape=[7,34,1,9])
df = pd.DataFrame(dict_data)
df

df['a']
df.a

df.shape ##기본 함수에 shape가 있어서 원하는 출력이 나오지 않음
df['shape']

**dir을 통해 지원 함수 조회 가능

dir(df) #함수명 조회

 

*변수명 확인

df.columns

df.columns.values[0] #첫번째 column 가져오기

'a'

df.columns.values[0]='b' ##b로바꿈
df.columns

**rename 함수 : column 이름 변경

df = df.rename(columns={'b':'new colo'}) ##rename을 사용하여 재할당하기!
df

3. loc & iloc

df.loc[1:]

df.iloc[1:]

* 인덱스 변경

df.index = [11,12,13,14]
df

df.loc[11:]

df.iloc[11:] ##안나온다!

**iloc는 실제 인덱스 순서로 동작
*loc는 인덱스 이름으로 동작
 ->위 예제에서 df.loc[0]은 에러가 발생한다.
그러나 df.iloc[0]은 출력.

df.iloc[0] #iloc는 순서기준이기 때문에 0이 나옴!

df.index = [-3,-1,-1,-4]
df

df.loc[-1:]

df.iloc[:-1] #iloc에서 -1은 마지막을 의미한다.

df.iloc[1:]

df.index = ['가','나','다','라']
df

df.iloc[:-1]

df.loc['가':]

df.iloc[-1] #마지막 데이터

df.loc[1:]#가나다라 이기 떄문에 에러발생, loc는 이름을 기준으로 한다.

-1의 사용에 따라 의미가 다름
iloc 슬라이싱[:-1]할때는 -1번째 행(끝행)부터 앞행까지 뜻함 인덱싱[-1]할떄는 제일끝을 뜻함
loc는 인덱싱할때도 인덱스 이름에 없으면 나오지 않음

df.reset_index() ###인덱스자체를 초기화!! 트레이닝 랜덤데이터를 활용할 경우 인덱스를 초기화할 필요가 있다.

df.reset_index(drop=True)##내가만든 (기존)인덱스 자체를 삭제!(drop)

**기초 현재 파이썬 작업경로

import os
os.getcwd()##현재 열리는 경로를 알 수 있다.

 

***dataframe shape
 -> data의 구조를 알 수 있다.

728x90
반응형