본문 바로가기

파이썬 판다스25

판다스 : .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.
판다스 : 다중데이터 불러오기 □ glob 라이브러리 사용 □ 방법 1 : 데이터 하나하나 불러오기 import pandas as pd import glob nyc_taxi_data = glob.glob('C:/python/DataScience/Data/data/python_data/fhv_*') #glob라이브러리를 활용해 담긴 변수의 인덱스번호를 활용하여 데이터 저장 taxi1 = pd.read_csv(nyc_taxi_data[0]) taxi2 = pd.read_csv(nyc_taxi_data[1]) taxi3 = pd.read_csv(nyc_taxi_data[2]) taxi4 = pd.read_csv(nyc_taxi_data[3]) taxi5 = pd.read_csv(nyc_taxi_data[4]) #저장된 데이터 concat .. 2024. 2. 7.
판다스 : .melt() 함수2 (한 필드의 고정 값이 2개 이상시) □ 라이브러리 호출 및 데이터 불러오기 #라이브러리 호출 import pandas as pd #파일불러오기 weather = pd.read_csv('C:/python/DataScience/Data/data/python_data/weather.csv') □ 멜트 1차 시도 : 특정 열 기준으로 멜트작업 진행 ○ element 고정값이 2개(tmax, tmin)인 것을 확인 weather_melt = weather.melt(id_vars=['id','year','month','element'], var_name = 'day', value_name = 'temp' ) □ 멜트 2차 시도 : 특정 열 기준으로 멜트 재작업 진행 ○ .reset_index() : 인덱스 정리 + reset_index()를 활용하여.. 2024. 2. 7.
판다스 : .melt() 함수1 □ melt 함수 ○ 데이터 재구조화 ○ 전처리 과정에서 사용. 쉽게생각하여 필드(컬럼)들을 행으로 녹여 배치시키는 것으로 생각하면됨. ○ 데이터프레임의 열이 옆으로(행방향으로)길게 늘어진 데이터에서 보통 사용 □ melt 함수 매개변수 □ melt 함수 매개변수1 ○ 데이터 불러오기 #라이브러리 호출 import pandas as pd #데이터 불러오기 pew = pd.read_csv('C:/python/DataScience/Data/data/python_data/pew.csv') ○ .melt() 함수를 사용하여 특정열 고정 및 기준으로 재구조화 진행 #특정열 고정(religion 필드를 기준으로 melt 적용) pew_long = pew.melt(id_vars='religion') ○ .melt().. 2024. 2. 7.
판다스 : 시리즈 □ 시리즈는 1차원 데이터, 데이터프레임은 2차원 데이터 형태로 구성됨 □ 시리즈 생성 ○ 인덱스란 행의 레이블을 의미함. 별도 지정안하면 인덱스는 0부터 자동생성됨 #시리즈 생성 : 인덱스 무 seriesdt = pd.Series([10,20,30,40,50]) #시리즈 생성 : 인덱스 유 #인덱스는 행의 레이블을 의미함. 별도 지정안하면 인덱스는 0부터 자동생성됨 seriesdt_index = pd.Series([10,20,30,40,50], index = ['국어','영어','수학','국사','세계사']) □ 인덱스 조회 #인덱스 확인 seriesdt_index.index print(seriesdt_index.index) □ 인덱스 수정 seriesdt_index.index = ['영어','한문',.. 2024. 2. 4.
판다스 : 타이타닉 데이터 결측값 처리 □ 목적 : 타이타닉 데이터에서 결측값을 처리해보자 import pandas as pd #타이타닉 누락 titanic_file = pd.read_excel('C:/python/DataScience/Data/data/python_data/titanic.xls') □ 예제 ○ 불러온 데이터 프레임 정보확인 : .info() #문제1 정보확인 titanic_file.info() ○ 필드별 결측값 개수 확인 - .count() : 필드별 데이터개수 집계(결측값을 포함시키진 않음) - shape[0] : 행/열 정보를 나타내는 함수에서 [0] 인덱스를 활용해서 값 추출 #문제2 필드별 결측값 개수 구하기 a = titanic_file.count() #결측값을 제외한 집계 b = titanic_file.shape[.. 2024. 2. 2.
판다스 : 결측값 □ 결측값 ○ 누락값을 의미 ○ 0 또는 '' 과는 다른의미임 ○ 데이터 자체가 없다는 의미임 ○ 그렇다고 같다라는 의미도 아님 ○결측값과 True, False, 0, ' ' 비교결과 → 모두 False 출력 print(NaN == True) print(NaN == 0) print(NaN == False) print(NaN == NaN) #값 자체가 없어, 자신과 비교해도 거짓 ○결측값을 확인하는 매서드 isnull, notnull → True, True, False 출력 print(pd.isnull(NaN)) print(pd.isnull(nan)) print(pd.notnull(NaN)) 2024. 2. 2.
판다스 : 중복개수 확인, 조건 False일 때 에러발생 코드 □ 문법 ○ 변수명['필드명'].value_counts() visited['site'].value_counts() ○ assert : False일시 assertionError assert ps_vs.shape[0] == 19 #참이라 오류반환 X / 행수와 같아서 True assert ps_vs.shape[0] == 10 #오류반환 / 행수와 달라서 False 2024. 2. 2.