[Python] 판다스 (Pandas) - 데이터프레임 (DataFrame)
이 글은 판다스의 데이터프레임을 다루는 방법에 관한 기록입니다.
pd.set_option('display.max_rows, None')
: 데이터프레임의 모든 행 출력pd.set_option('display.max_columns, None')
: 데이터프레임의 모든 열 출력
Attributes
df.index
: 데이터프레임의 인덱스(row label) 반환-
df.columns
: 데이터프레임의 컬럼명(column label) 반환 df.ndim
: 축의 개수를 나타내는 int 반환- Series일 때 1 반환
- DataFrame일 때 2 반환
df.size
: 데이터프레임의 요소들의 개수를 나타내는 int 반환- Series일 때 행의 개수 반환
- DataFrame일 때 행의 개수 x 열의 개수 반환
-
df.shape
: 데이터프레임의 차원을 나타내는 tuple 반환 :(행의 개수, 열의 개수)
-
df.dtypes
: 데이터프레임 내 컬럼 별 데이터 타입 반환 -
df.values
: 데이터프레임에 대한 numpy 표현 즉 array 반환 df.iloc
: 위치를 나타내는 integer를 통해 데이터 프레임 인덱싱df.loc
: Access a group of rows and columns by label(s) or a boolean array. label 혹은 boolean array를 통해 데이터프레임 인덱싱
Methods
-
df.copy()
:df
를 복사 df.head(n)
: 위에서부터 n개의 행을 반환df.tail(n)
: 아래에서부터 n개의 행을 반환df.info()
: 데이터프레임에 대한 간결한 요약 출력df.nunique()
: 데이터프레임 내 unique한 값들의 개수 반환-
df.unique()
: 데이터프레임 내 unique한 값들 반환 df.describe()
: 기초통계량df.max()
: 최대값df.mean()
: 평균값df.median()
: 중앙값-
df.min()
: 최소값 df.pivot()
-
df.pivot_table()
df.apply()
df.agg()
df.aggregate()
-
df.grooupby()
-
df.replace()
df.sort_values(by, axis={0, 1}, ascending={True, False}, inplace={True, False})
: 데이터프레임 정렬axis=0
/axis=index
일 때by
: index levels 혹은 column labelsaxis=1
/axis=columns
일 때by
: column levels 혹은 index labelsascending=True
: 오름차순 정렬 (default)ascending=False
: 내림차순 정렬
-
df.value_counts()
df.isna()
: 결측치 확인df.isnull()
: 결측치 확인df.notna()
: 결측치 확인df.notnull()
: 결측치 확인df.dropna(axis={0, 1}, inplace={True, False})
: 결측치 제거-
df.fillna(value=None, axis=None, inplace={True, False})
: 결측치 대체 df.duplicated(subset=['COL1', 'COL2', ...], keep={‘first’, ‘last’, False})
: 중복 데이터 확인-
df.drop_duplicates(subset=['COL1', 'COL2', ...], keep={'first', 'last', False}, inplace={True, False})
: 중복 데이터 제거 df.drop(labels=None, index=None, columns=None, axis={0, 1}, inplace={True, False})
: 행 또는 열을 제거labels=[ROW1, ROW2, ... ], axis=0
/index=[ROW1, ROW2, ...]
: 행 제거labels=[COL1, COL2, ... ], axis=1
/columns=[COL1, COL2, ...]
: 열 제거
df.rename(mapper=None, index=None, columns=None, axis={0, 1}, inplace={True, False})
: 축 이름 변경mapper={OLD1:NEW1, OLD2:NEW2, ...}, axis=0
: 인덱스(row label) 변경index={OLD1:NEW1, OLD2:NEW2, ...}
: 인덱스(row label) 변경mapper={OLD1:NEW1, OLD2:NEW2, ...}, axis=1
: 컬럼명(column label) 변경columns={OLD1:NEW1, OLD2:NEW2, ...}
: 컬럼명(column label) 변경
df.reset_index(drop=False, inplace=False)
: 인덱스 재설정-
df.set_index(keys, drop=True, append=False, inplace=False)
: 인덱스 설정 df.to_pickle()
: pickle 형태로 저장df.to_csv()
: csv 파일로 저장
댓글남기기