본문 바로가기

파이썬 판다스25

query, where 함수를 활용한 전처리 및 시각화 예제 □ 라이브러리 호출 및 데이터 불러오기 #라이브러리 호출 import pandas as pd import numpy as np import seaborn as sns #데이터 불러오기 raw_welfare = pd.read_spss("C:/Users/Lenovo/Downloads/Koweps_hpwc14_2019_beta2.sav") #데이터 변수에 카피 welfare = raw_welfare.copy() □ 복수개의 컬럼명변경 welfare = welfare.rename(columns = { 'h14_g3' : 'sex', 'h14_g4' : 'birth', 'h14_g10' : 'marriage_type', 'h14_g11':'religion', 'p1402_8aq1':'income', 'h14_ec.. 2024. 2. 16.
판다스 parse_dates, assign 함수를 활용한 시각화 □ 라이브러리 호출 및 데이터 불러오기 ○ parse_dates - 판다스(Pandas)의 read_csv() 함수에서 사용되는 매개변수 중 하나임. - 이를 이용하여 CSV 파일을 읽을 때 날짜 데이터를 파싱(parse)하여 datetime 형식으로 처리 import pandas as pd import matplotlib.pyplot as plt banks = pd.read_csv('C:/python/DataScience/Data/data/python_data/banklist.csv', parse_dates=['Closing Date','Updated Date']) banks.head() ○ parse_dates banks = banks.assign( closing_quarter = banks['Clo.. 2024. 2. 16.
판다스 : groupby, 멀티인덱스 활용 조회 □ 라이브러리 및 데이터 불러오기 #라이브러리 불러오기 import numpy as np import seaborn as sns #데이터 불러오기 titanic = sns.load_dataset('titanic') □ 지정한 필드로 데이터셋 생성 #1. 지정한 필드로 데이터셋 생성 new_titanic = titanic[['age','sex','class','fare','survived']] □ 특정열 복수 지정 후 그룹바이 → 아래 코드와 같이 groupby만 진행한다면 데이터는 데이터프레임 또는 시리즈가 아닌 단순한 객체로써만 존재함 #2. class와 sex필드로 그룹바이 group_titanic = new_titanic.groupby(['class','sex']) print(type(group_t.. 2024. 2. 8.
판다스 : 데이터 필드 형변환 □ 필드정보 확인 #라이브러리 불러오기 import numpy as np import seaborn as sns #데이터 불러오기 tips = sns.load_dataset('tips') #컬럼정보확인 tips.info() □ 필드속성변환 : .astype('속성') tips['tip'] = tips['tip'].astype('str') #숫자형을 문자형으로 tips['day'] = tips['day'].astype('str') #범주형을 문자형으로 tips['size'] = tips['size'].astype('category') #숫자를 범주형으로 2024. 2. 8.
판다스 : .numeric_only, groupby/get_group □ numeric_only ○ True : True이면 필드들 중 숫자 데이터를 가진 필드들을 대상으로만 연산하겠다라는 의미 ○ False : False이면 필드들 중 숫자 데이터 가진 필드들을 대상으로 연산하지 않겠다라는 의미 #라이브러리 불러오기 import numpy as np import seaborn as sns #데이터 불러오기 tips = sns.load_dataset('tips') □ get_group ○ groupby 를 한 필드를 기준으로 get_group을 사용하면 ○ 그룹화한 필드는 인덱스로 적용되며, get_group을 활용해 인덱스의 값을 선택하여 해당 값에 맞는 데이터들을 뽑음 ○ 하나의 그룹만 선택할 수 있으며 복수의 인덱스를 동시에 지정하는 것은 불가함 #(1) 그룹바이 진.. 2024. 2. 8.
판다스 : .filter() 함수 □ filter 함수 ○ 데이터프레임 또는 시리즈에 대해 특정 조건을 적용하여 조건을 만족하는 요소만을 선택하는데 사용 ○ filter 함수는 주어진 함수 또는 조건을 각 그룹에 적용하고, 각 그룹에서 조건을 만족하는 데이터를 반환 ○ filter 함수는 그룹화된 객체에 대해 특정 조건을 적용하여 그 조건을 만족하는 그룹만을 선택하는 기능을 수행. 기본적으로, 조건을 만족하는 그룹은 그대로 유지되고, 만족하지 않는 그룹은 제외됨 □ 예제 ○ 데이터불러오기 #라이브러리 불러오기 import numpy as np import seaborn as sns #데이터 불러오기 tips = sns.load_dataset('tips') ○ size 필드의 데이터 분포현황 조회 tips['size'].value_coun.. 2024. 2. 8.
판다스 : .transform() □ 함수는 그룹별로 계산된 결과를 원본 데이터프레임에 다시 병합하는 역할수행 □ 주로 그룹별로 계산한 평균, 합 등의 값을 각 행에 적용하고자 할 때 사용 □ 예제 ○ 라이브러리 호출 및 데이터 불러오기 #라이브러리 호출 import pandas as pd import numpy as np #데이터 불러오기 df = pd.read_csv('C:/python/DataScience/Data/data/python_data/gapminder.tsv', delimiter='\t') ○ 함수정의 및 구룹화된 데이터 프레임에 transfom을 적용하여 값 조회 #함수정의 : 표준편차 def my_zscore(x): return ((x - x.mean()) / x.std()) #시리즈반환 : year필드로 그룹화 후 .. 2024. 2. 8.
판다스 : agg 심화 □ .agg() : 여러 개의 집계함수 한 번에 사용하기 □ 기본적으로 리스트, 딕셔너리 형태의 데이터를 agg함수에 담아 전달함 □ 형식 : 보통, ○ 단일 : 모든 열에 여러 함수를 매핑 : group 객체.agg([함수1, 함수2, 함수3, ...]) - 데이터 불러오기 import pandas as pd import numpy as np #데이터 불러오기 df = pd.read_csv('C:/python/DataScience/Data/data/python_data/gapminder.tsv', delimiter='\t') df.head() - 그룹화 후 agg함수를 활용하여 집계연산(집계연산은 numpy에서 제공하는 집계함수 사용) # 단일 : 집계 메서드를 리스트에 담아 전달-연도별 그룹화한 li.. 2024. 2. 8.
판다스 : 전처리 예제(feat. agg함수) □ 라이브러리 호출 및 데이터셋 불러오기(데이터는 seaborn 기본제공 데이터활용) import pandas as pd import seaborn as sns #셋 구축 titanic = sns.load_dataset('titanic') titanic □ 전처리 : sex 필드의 데이터를 1, 0으로 전환해보자 → male = 1, female → 0 #시리즈 생성 : sex필드 및 데이터 값 활용 raw_field = titanic['sex'] #반복문을 통해 반환된 값을 담을 빈리스트 지정 / 해당리스트를 필드 값으로 적용 sex_list = list() for v in raw_field: if v=='male': v = 1 else: v = 2 sex_list.append(v) # 반환된 데이터를.. 2024. 2. 8.