반응형

python/pandas 활용 5

pandas groupby() 활용 - 데이터 그룹화

Pandas 함수 중 groupby 함수는 Dataframe의 데이터를 원하는 칼럼으로 그룹화 하고 각종 연산을 하는데 사용하는 함수 입니다. groupby 후 연산 함수를 통해 평균, 최대, 최소 등 기본적인 통계들은 쉽게 구할 수 있습니다. padnas groupy의 내장 함수와 agg 함수를 통해 여러 통계치를 사용할 수 있습니다. 예제 - 데이터 셋 만들기 import pandas as pd data = {'이름': ['홍길동', '홍길동', '홍길동', '아무개', '아무개', '아무개'], '과목': ['영어', '수학', '국어', '영어', '수학', '국어'], '성적': [80, 90, 70, 60, 85, 95]} df 출력 값 이름 과목 성적 홍길동 영어 80 홍길동 수학 90 홍길..

pandas datetime, 숫자 타입 변환

1. pandas datetime 변환 - pandas의 DataFrame 에서 datatime 형태로 생긴 데이터는 to_datetime을 이용하여 해당 열의 data type을 변경할 수 있습니다. import pandas as pd df = pd.DataFrame(['2018-10-26 12:00:00', '2018-10-26 13:00:15'], columns={"a"}) df를 출력해보면 아래와 같다. a 0 2018-10-26 12:00:00 1 2018-10-26 13:00:15 해당 a column의 datatype을 보면..? object 타입으로 나온다. object type의 경우 날짜 타입이 아니므로 해당 열의 데이터는 연산이 불가능 한 상태입니다. 0 2018-10-26 12:00..

dataframe combine_first() - 두 DataFrame 합치기

데이터를 전처리 하다보면 누락된 table을 다른 테이블에서 채워 넣거나, 테이블 내에서 동일한 key로 여러 행이 존재하는 경우가 간혹 있다. combine_first() 함수는 두 DataFrame을 합칠 때 한개의 값은 그대로 사용하고, NA (빈값)을 다른 테이블에서 가져와서 채운다. 코드로 알아보자.df1 = pd.DataFrame({'A': [None, 0], 'B': [4, None], 'C':[1, None]}) df2 = pd.DataFrame({'B': [3, 3], 'C': [1, 1]}) df1 ABC1NaN4120NaNNaNdf2 bc131231df1.combine_first(df2) ABC1NaN412031df1의 2행의 B,C 값이 NaN 에서 df2의 2행 값이 채워졌음을 볼..

pandas - pivot, pivot_table

- pandas의 DataFrame pivot하여 데이터 정렬하기 - pivot 기능은 테이블형태의 새로로 key, value 로 되어있는 데이터를 가로로 나열하는 형태입니다. 말로하면 어려우니 테이블 형태와 코드로 알아보겠습니다. - 개발 환경 jupyter - 테이블 만들기 import pandas as pd data = {'name':['홍길동','홍길동','홍길동','아무개','아무개','아무개'], 'col_name':['age','sex','address','age','sex','address'], 'value':[30,'male','seoul',22,'female','busan']} data_df = pd.DataFrame(data) data_df name col_name value 0 홍길..

padnas(dataframe) 문자열이 포함된 column 가져오기

DataFrame으로 Data를 처리할 때, 전체 컬럼이 아닌 특정 문자열이 포함된 인자(column)만 가져오고 싶을때가 많습니다. 그런경우 pandas Dataframe의 filter 함수를 이용하면 쉽게 가져올 수 있습니다. DataFrame 만들기 - 실행 환경 Jupyter import pandas as pd data = {'name' : ['홍길동','아무개','김O희', '김O수'], 'age':[20,21,29,31], 'address' :['서울시 강남구', '인천광역시 중구', '대구광역시 중구', '부산광역시 남구']} df = pd.DataFrame(data) 아래 형태와 같이 DataFrame이 생성됩니다. name age address 0 홍길동 20 서울시 강남구 1 아무개 2..