Pandas:DataFrame:구조 파악

Pywiki
Sam (토론 | 기여)님의 2021년 12월 21일 (화) 14:16 판 (→‎전체 구조 파악)
둘러보기로 가기 검색하러 가기

1 전체 구조 파악

의도 방법
df의 전체적인 데이터를 파악한다. 객체명.describe()

해당 칼럼의 갯수, 평균, std(standard deviation), 분표별 값 등을 알 수 있다.

df 대략적인 구조 파악 df.shape
의도 설명
행 갯수 파악 df.shape[0]
열 갯수 파악 df.shape[1]
칼럼목록 데이터프레임.columns

칼럼목록을 얻는다.

행목록 데이터프레임.index

인덱스 목록을 얻는다.

행 갯수 len(df)

2 데이터 일부 가져오기

의도 방법
처음 n개만 가져온다. df.head(n)

n의 기본값은 5.

나중 n개만 가져온다. df.

3 열 조작

3.1 열 이름 바꾸기

다른 매체에 저장했다가 다시 복구할 때 열 이름, 인덱스 따위가 제대로 지정되지 않는 경우가 있다.

df.rename(columns={0:'time', 1:'start', 2:'close', 3:'high', 4:'low', 5:'volume'}, inplace=True)

inplace=True는 해당 df에 적용하겠다는 의미. 일반적으로 원본 데이터 손실을 막기 위해 df_copy = rename(.... inplace=False) 형태로 사용한다.

일반적으로 기본 설정은 False.

다음과 같은 형태로 사용도 가능하다.

df = df.rename(columns={0:'time', 1:'start', 2:'close', 3:'high', 4:'low', 5:'volume'})

3.2 열 추가하기

특정 행에 대하여, 특정 열 값을 모아 연산한 후 새로운 행을 생성해 넣는다.

df['mean'] = df[['start', 'high', 'low', 'close']].mean(axis=1)

3.3 열 순서 바꾸기

df = df[['열1', '열3', '열4', '열2']]  # 열1,2,3,4 순인 df의 열을 1342 순으로 바꿀 수 있다.

3.3.1 특정 열만 남기기

df = df[['열1', '열3']]  # 남기고 싶은 열만 쓰면 남는다.

3.4 인덱스 조작

의도 방법 설명
인덱스 설정 df.set_index('열', inplace=True) 해당 열을 인덱스로 만든다.
인덱스를 데이터화 데이터프레임.reset_index 숫자 인덱스가 아닌 경우 사용. 인덱스 목록을 뽑아낼 때의 사전작업.

(엑셀에서 불러왔을 때 필요하다.)

인덱스리스트 얻기 list(데이터프레임['인덱스열이름'])

데이터프레임.index

위에서 얻은 인덱스 열이름을 기입해 넣거나('Unnamed: 0'),

바로 인덱스를 불러오기.(둘 다 시도해 볼 것.)

인덱스 이름 바꾸기 데이터프레임.rename(columns={'index':'신이름'})
데이터 크기 살피기 len(df.index)
인덱스 이어붙이기(행 합치기) df = pd.concat([df1, df2, df3,...]) 이렇게 쓰면 인덱스들을 이어붙인다.
뒤의 i개만 남기기 df = df.tail(i)