"Pandas:DataFrame:구조 조작"의 두 판 사이의 차이

Pywiki
둘러보기로 가기 검색하러 가기
27번째 줄: 27번째 줄:
 
|-
 
|-
 
|행 분할
 
|행 분할
|
+
|유의. 가장 마지막까지 가져온다는 의미로 -1을 넣기도 하는데, range와 같은 방식으로 작동하는지, -2의 값을 가져온다.
 +
때문에 불편하지만 len(df)를 이용하는 편이 정신건강에 좋다.( :를 쓰는 호출이 아니라면 -1이 잘 먹힌다.)
 
|df = df[시작번호:끝번호]
 
|df = df[시작번호:끝번호]
 
|}
 
|}
 +
 
== 붙이기 ==
 
== 붙이기 ==
 
[아직 완성하지 않음;;;]
 
[아직 완성하지 않음;;;]

2022년 8월 8일 (월) 22:16 판

1 개요

데이터의 전체 구조를 조작하는 방법에 대해.

2 지우기

의도 설명 방법
행 삭제 칼럼을 삭제한다. 시리즈로 변환하여 반환한 후 삭제한다. col = df.pop('열이름')
행 삭제 그냥 삭제. df.del('열이름')

3 자르기

데이터프레임을 df[:숫자] 형태로 자르고 나면, 인덱스가 그대로 남는다. 이 인덱스를 초기화하기 위해선 다음과 같이 진행한다.

df.reset_index(inplace=True, drop=True)  # drop을 안하면 기존 인덱스가 새로운 열로 남는다.
의도 설명 방법
행 분할 유의. 가장 마지막까지 가져온다는 의미로 -1을 넣기도 하는데, range와 같은 방식으로 작동하는지, -2의 값을 가져온다.

때문에 불편하지만 len(df)를 이용하는 편이 정신건강에 좋다.( :를 쓰는 호출이 아니라면 -1이 잘 먹힌다.)

df = df[시작번호:끝번호]

4 붙이기

[아직 완성하지 않음;;;]

의도 설명 방법
위아래로 붙이기 두 df를 아래로 이어붙이기.

df 목록은 리스트로 준다.

df = pd.concat([df, df2])
옆으로 붙이기 df = pd.concat([df, df2], axis=1)
기존 인덱스 무시하고 붙이기 concat에 ignore_index=True 옵션을 준다.

4.1 끼어넣기

의도 설명 방법
열을 중간에 삽입 df.insert(끼워넣을 열 번호, '열이름', 내용)

5 행 선택

의도 설명 방법
인덱스로 선택 인덱스가 순차적인 데이터인 경우. df.loc[시작인덱스:끝인덱스]
순서로 선택 인덱스가 아닌, df의 순서로 선택할 경우. df.iloc[시작번호:끝번호]

6 데이터 프레임끼리의 연산

사칙연산 뿐 아니라 ==, !=, > 등의 논리연산도 가능하다. 기본적으로 칼럼과 레이블이 같은 위치의 값들끼리 연산한다.