본문 바로가기

전체 글

(81)
[Python/Pandas] 데이터프레임 결측치, 중복, 피벗테이블 📁 결측치 isna( ), isnull( ) 각 셀마다 결측치 여부 확인 True/False 반환 isna( ).sum( ) 각 열별로 결측치의 개수를 확인하여 어떤 열에서 결측치가 많은지 보여줌 isna( ).any(axis=1) any( ): 불리언 시리즈/데이터프레임에서 하나 이상의 True 값을 가지고 있는지 확인 결측치를 가지고 있는 행만 추출 dropna( ): 결측치가 있는 행 제거 fillna( ): 결측치에 다른 값을 채워넣음 interpolate( ) 결측치 보간: 결측치가 있는 데이터를 주변 데이터를 활용해 추정하여 채우는 작업 method: linear, time, index, pad/ffill, backfill/bfill, nearest 📁 중복 제거 drop_duplicates(..
[Python/Pandas] 데이터프레임 결합 📁 concat( ) concat([df1, df2, ...], axis=0) 두 개 이상의 데이터프레임을 하나로 결합 axis가 0이면 행 방향, 1이면 열 방향 행 방향 결합 컬럼의 이름이 동일해야 결합 가능 열 방향 결합 인덱스가 동일한 형태로 존재해야 함 동일한 이름의 컬럼 사용 불가 📁 Inner Join 두 테이블 간 공통된 값을 가진 행만 선택하여 결합 Inner Join을 하기 위해서는 merge( ) 함수 사용 가능 merge(left_df, right_df, on='key', how='inner') left_df, right_df: 병합할 데이터프레임 on: 병합 기준이 되는 열 📁 Left Join 왼쪽 테이블의 모든 행과 오른쪽 테이블에서 일치하는 행을 선택하여 결합 일치하는 값이 ..
[Python/Pandas] 데이터프레임 데이터 조작 📁 applymap( ) 데이터프레임의 각 원소에 함수 적용 → 데이터프레임의 모든 원소 대상 데이터프레임에만 적용, 시리즈에는 적용 불가 📁 iterrows( ) 데이터프레임의 각 행을 인덱스와 시리즈 형태로 반환 📁 groupby( ) 데이터를 그룹화하여 그룹별로 연산 수행 시 사용되는 함수 groupby( ) 후에는 반드시 집계 연산을 수행해야 함 (ex. sum, mean, count) 📁 agg( ) 데이터프레임, 시리즈에 대해 여러 종류의 집계 연산을 동시에 수행 단일 함수: agg(func) 복수 함수: agg([func1, func2, ...])
[Python/Pandas] 데이터프레임 열 조작 및 정렬 📁 열 선택 [ ] 단일 열 선택: df['열 이름'] 복수 열 선택: df[['열1', '열2', '열3']] .연산자 df.열이름 loc df.loc[:, '열이름'] iloc df.iloc[:, 열의 정수 위치] df.filter( ) df.filter(items=['열1', '열2']) df.get( ) df.get(key=['열1', '열2']) 📁 열 삭제 drop(columns=['열 이름'], inplace=True) del 키워드 del df['열 이름'] pop('열 이름') loc 📁 열 정렬 sort_values(by='열 이름') sort_values(by=['열1', '열2'], ascending=[True, False], inplace=True) 📁 인덱스 재정렬 reset_i..
[Python/Pandas] 데이터프레임 필터링 📁 Series.isin( ) 시리즈 내 특정 값의 존재 여부 확인에 사용 각 요소마다 지정된 값이 포함되어 있는지 검사하고 불리언 시리즈 반환 📁 Series.str.contains( ) series.str.contains(pattern, case=True, na=False, regex=True) 시리즈 내 각 문자열 요소가 특정 패턴을 포함하는지 여부를 검사 문자열이 특정 패턴이 포함하는지를 불리언 시리즈로 반환 pattern: 검색하고자 하는 패턴/문자열 case: 대소문자 구분 여부 지정 na: NA/NaN 값 포함 여부 지정 regex: 정규 표현식 사용 여부 지정
[Python/Pandas] DataFrame 📁 DataFrame 행과 열로 이루어진 2차원 데이터 구조 열(Column): 서로 다른 유형의 데이터를 담을 수 있는 시리즈로 구성 행(Row): 데이터프레임의 하나의 레코드, 고유한 인덱스를 가짐 📁 인덱싱 레이블 기반 인덱싱(Label-based Indexing) 특정 행/열을 선택하는 방법 중 하나 인덱스의 라벨을 사용해 데이터에 접근 loc[row_label, col_label] 데이터프레임에서 특정 행/열을 선택하는 메서드 반환된 값은 시리즈 혹은 데이터프레임 형태로 나타남 레이블 기반 인덱싱이 유용한 경우 인덱스가 숫자가 아닌 경우 특정 번위의 행 또는 열을 선택 시 다중 레벨 인덱스에서 선택 시 라벨이나 조건을 기반으로 선택 시 특정 부분 집합 선택 시 정수 위치기반 인덱싱(Integer..
[Python/Pandas] 결측치와 중복값 📁 결측치 None: 일반적인 형태의 결측치 np.nan: 부동 소수점 형태의 결측치, 넘파이 라이브러리에서 사용되는 값 데이터가 누락되어 있는 상태 → 데이터가 존재해야 하는데 값이 입력되지 않은 경우 📁 결측치 처리 dropna( ) 시리즈/데이터프레임에서 결측치를 제거하는 메서드 inplace 매개변수를 True로 설정 시, 데이터 프레임 자체를 수정 inplace 매겨변수를 False로 설정 시, 새로운 데이터프레임을 반환 fillna( ) 결측치를 특정 값으로 채우는 역할, 결측치를 다른 값으로 대체하여 정제 value: 결측치를 대체할 값을 지정 method를 ffill로 설정 시, 앞 방향으로 이전 값으로 결측치를 채움 method를 bfill로 설정 시, 뒤 방향으로 다음 값으로 결측치를 ..
[Python/Pandas] 데이터 변환 📁 apply( ) 판다스의 시리즈, 데이터프레임에 함수를 적용하는 메소드 각 요소에 대해 사용자 정의 함수, 내장 함수 적용 가능 시리즈 내의 각 요소에 함수를 적용해 반환된 결과를 새로운 시리즈로 반환 사용자 정의 함수 작성 가능, lambda 함수를 사용해 간단한 연산 적용 가능 📁 map( ) 시리즈 내의 각 요소에 함수를 적용하여 반환된 결과를 새로운 시리즈로 반환 사용자 정의 함수 작성 가능, lambda 함수를 사용해 간단한 연산 적용 가능 📁 apply( )와 map( ) apply는 데이터프레임/시리즈 객체에 사용, map은 시리즈 객체에서만 사용 apply는 각 행/열에 함수 적용 시 axis를 통해 축 지정 가능, map은 시리즈의 각 요소에 함수 적용 apply는 반환값을 모아 새로..