본문 바로가기

전체 글349

판다스 : 데이터 필드 형변환 □ 필드정보 확인 #라이브러리 불러오기 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.
판다스 : .apply() 함수 예제 □ 데이터 프레임에 함수적용 등 다양한 방법으로 가공해보자 라이브러리 호출 from datetime import datetime import pandas as pd #현재년도 변수지정 current_year = datetime.now().year #데이터프레임 생성 encore= [{'name': 'A', 'birth': '1999-06-27', 'mid': 95, 'fin': 85}, {'name': 'B', 'birth': '1997-06-27', 'mid': 85, 'fin': 80}, {'name': 'C', 'birth': '1998-06-27', 'mid': 10, 'fin': 30}, {'name': 'D', 'birth': '2000-06-27', 'mid': 73, 'fin': 90}] .. 2024. 2. 8.
.apply() / .agg() 함수 □ .apply() 함수란? ○ 데이터프레임 조작시 함수사용을 위해 사용하는 기능 ○ 적용대상 : 개별 요소 또는 축(axis)에 함수를 적용할 수 있습니다. 행이나 열 단위로 함수를 적용할 수 있음 ○ 인자 : 사용자 정의 함수나 내장 함수를 인자로 받아 개별 요소 또는 축에 적용할 수 있음 ○ 적용방법 : 주로 행 또는 열 단위로 함수를 적용할 때 사용 ○ apply(함수, axis = 0 or 1) ○ axis = 0 or 1 import pandas as pd import numpy as np #데이터프레임 생성 df = pd.DataFrame( { "a" : [10,20,30], "b" : [20,30,40], "c" : [50,60,70] } ) #함수정의 def my_sq(x): return.. 2024. 2. 7.
pie, barplot 차트 (+glob함수로 다중 데이터 불러오기) □ 라이브러리 호출 및 한글 설정 import pandas as pd import matplotlib.pyplot as plt import seaborn as sns import glob □ 다중 데이터 불러오기 및 불러오면서 데이터별 전처리(컬럼추가 및 값 넣기) #파일 불러오기 child_data = glob.glob('C:/python/DataScience/Data/data/python_data/names/yob20*') #불러온 파일을 저장할 빈 리스트 생성 child_list = list() #반복문을 활용하여 데이터 집어 넣기 for i in child_data: year = i.split('yob')[1].split('.')[0] #불러온 파일경로 및 파일명을 split하여 년도 추출 df .. 2024. 2. 7.