본문 바로가기

Pandas/기초

(32)
판다스 - 데이터프레임 랜덤 추출 : DataFrame.sample 데이터 불러오기 편하게 10개 행만 가져온다. [DataFrame.sample(frac, n, replace, random_state)] frac 전체 행에서 몇 %만 추출할 것인가 0~1까지의 값을 넣을 수 있다. n 몇개의 행을 추출할 것인가 * frac과 n은 동시에 쓸 수 없다. replace=False default는 중복 비허용 random_state 설정 시 결과 고정 n n, random_state random_state에 아무 숫자나 넣으면 된다. 몇번을 실행해도 동일한 추출이 된다. reset_index로 활용 frac 전체 10개 행에서 50%인 5개 행만 추출한다. n과 같이 쓸 수 없다. 70%인 7개 행을 가져온다. frac=1 frac에 1을 넣으면 전체 데이터프레임을 랜덤으로..
판다스 - 파일 읽어오기 : from os.path import join 운영체제에 따라 경로를 / 또는 \ 등을 이용할 수 있다. 여러 운영체제 간 이슈를 방지하기 위해서는 직접 경로설정을 하기보단 join을 이용하는 것이 낫다. 라이브러리 불러오기 경로 지정하기 상대경로를 이용한다. titanic 폴더의 data 폴더 안의 train.csv 파일을 지정해줬다. csv 파일 읽기 문제 없이 잘 읽어냈다. 상위 폴더 지정 이렇게 한 계층 위 폴더도 지정해줄 수 있다.
판다스 - 카테고리 자료형 : Categorical, cat 속성, categories, codes, categorical 메서드 Pandas에는 정수 기반의 범주형 데이터를 표현(인코딩)할 수 있는 Categorical형이라고 하는 특수한 데이터형이 존재한다. 데이터프레임 제작 fruit 컬럼을 카테고리형 시리즈로 제작 fruit 컬럼은 파이썬 문자열 객체의 배열로 쉽게 범주형으로 바꿀 수 있다. Categorical 인스턴스 Categorical 객체는 categories와 codes 속성을 가진다. 만약 apple, orange, banana였으면 codes는 2 값도 가졌을 것이다. 컬럼을 범주형으로 변경 변경 완료된 값을 대입해서 DataFrame의 컬럼을 범주형으로 변경할 수 있다. Categorical 메서드 범주형 데이터를 담고 있는 Series는 특화된 문자열 메서드인 Series.str과 유사한 특수 메서드인 ca..
판다스 - 백분위수 찾기 : describe(percentiles), quantile 데이터 불러오기 백분위수 구하기 1. 시리즈.describe() * percentiles 옵션 2. 시리즈.quantile 시리즈.describe() describe에 아무 옵션도 없다면 1, 2, 3사분위 수의 값만 나온다. 원하는 백분위수를 보고 싶다면 percentiles 옵션을 추가해준다. quantile quantile은 다른 기술통계 없이 단순히 그냥 원하는 백분위수를 보여준다. 95% 값 구하기 활용 pclass와 성별로 그룹핑한 그룹별 나이 컬럼의 90% 값 구하기
판다스 - value_counts(normalize=True) 데이터 출처 https://www.kaggle.com/c/titanic/data Pclass 우선 train 데이터프레임의 Pclass의 분포를 시각화 해서 보자 단편적으로는 3등급의 승객 수가 많아 보인다. [그렇다면 각 등급별로 비율을 확인하려면 어떻게 해야할까?] 1. value_counts() Pclass 컬럼의 고유값 개수를 센 뒤 총 개수로 나눠주면 된다. 2. value_counts(normalize=True) 1번의 방법을 한번에 할 수 있다. 바로 normalize 옵션을 True로 넣어주면 된다. (번외) 3. groupby와 size() 이용 위 방법도 가능은 하다. 2번 활용 Pclass가 1인 승객의 생존 여부에 대한 비율을 확인할 수 있다.
판다스 - to_datetime : format, dt to_datetime 메서드를 사용하면 Date 형식의 자료형을 datetime 오브젝트로 변환할 수 있다. 데이터 만들기 date컬럼은 자료형이 object이다. 이 문자열 날짜를 datetime 자료형으로 변환하려면 pd.to_datetime을 이용한다. infer_datetime_format=True 여러 datetime 유명한 포맷 중에서 datetime이 어떤 형식으로 이루어졌는지 확인 후 자동으로 변환 지금은 맨 앞을 월, 중간을 일, 마지막을 연도로 파악하고 바뀌었다. 만약 위 변환이 마음에 안든다면 직접 format 형식을 지정해줘야 한다. format 지정 첫번째를 일, 중간을 월, 마지막을 연도로 지정 첫번째를 연도, 중간을 월, 마지막을 일로 설정 위 예시는 연월일을 / 로 구분했다...
판다스 - 행의 값 기준 정렬 데이터 불러오기 행 기준 정렬은 sort_values를 이용하되 by 인자에는 행 인덱스 값을, axis에는 1을 넘겨서 열방향으로 진행한다. 위 데이터프레임에서 동민의 점수를 오름차순 정렬해보자 df3.sort_values(by='동민', axis=1) 동민의 점수가 오름차순 되며 컬럼의 순서도 동시에 바뀌었다. 동민의 점수를 내림차순 정렬해보자 df3.sort_values(by='동민', axis=1, ascending=False) 동민의 점수가 내림차순되며 컬럼의 순서도 바뀌었다.
판다스 - 행 추가하기 데이터 불러오기 방법1. 데이터프레임.loc['새로운 행이름'] = 길이가 같은 리스트 방법2. 데이터프레임.loc['새로운 행이름'] = {컬럼명: 값, ..., 컬럼명: 값} 방법3. 구조가 동일한 데이터프레임을 append 방법4. 기존 데이터프레임과 구조가 동일한 데이터프레임을 concat 방법5. 기존 행들(간) 연산