본문 바로가기

Python/Pandas & numpy47

.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.
판다스 : 시리즈 □ 시리즈는 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.
판다스 : 결측값 예제 □ 문제 1 ○ 라이브러리 및 데이터 불러오기 import pandas as pd import numpy as np #라이브러리 호출 ebola = pd.read_csv('C:/python/DataScience/Data/data/python_data/country_timeseries.csv') ebola.shape ○ 필드별 행수 집계(결측값 제외) : 데이터프레임명.count() # 필드별 행수 집계(결측값 제외) ebola.count() ○ NaN 결측값을 제외한 컬럼별 행 개수 - 데이터프레임명.shpa[0] 총 행수에서 결측값을 제외한 ebola.count() 를 빼면 잔여값이 결측값 개수임 # 필드별 행수 집계(결측값 제외) ebola.count() having_NaN = ebola.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.
판다스 : Merge □ 기본설명 및 함수기능 □ 예제 1 ○ 라이브러리 호출 및 파일 불러오기를 통한 데이터 프레임 생성 #라이브러리호출 import pandas as pd #csv불러오기 및 데이터프레임 생성 person = pd.read_csv('C:/python/DataScience/Data/data/python_data/survey_person.csv') site = pd.read_csv('C:/python/DataScience/Data/data/python_data/survey_site.csv') survey = pd.read_csv('C:/python/DataScience/Data/data/python_data/survey_survey.csv') visited = pd.read_csv('C:/python/Data.. 2024. 2. 2.