데이터프레임 변경(4): Rolling과 Shift / Pivot과 Melt
·
데이터 분석/Pandas 기초
1. Rollingrolling() 메서드를 사용하면 일정 기간에 대한 집계를 수행할 수 있다. 예를 들어 최근 3일간 혹은 일주일 간의 평균이나 합을 집계 가능하다. 우선 일상적으로 우리가 하는 집계부터 살펴보자. 1) 일상적인 집계일상적으로는 특정 열의 평균이나 합 등과 같은 집계를 수행한다. 전체 평균을 이런 식으로 집계해서 새로운 열로 만들어주면, 이후에 전체 평균 대비 오존 농도 평균이 얼마인지에 대해 시각화해볼 수도 있다. # 새로운 열 추가air['OZ_mean'] = round(air['Ozone'].mean(), 1)  2) Rolling 집계시계열 데이터의 경우, 최근 일정 기간에 대한 집계가 필요할 수 있다. 이때 rolling() 메서드를 적용하게 되는데, 특정 창(window)을 ..
데이터프레임 변경(3): 합치기(Concat)와 조인(Merge)
·
데이터 분석/Pandas 기초
1. 데이터프레임 합치기: Concat()예를 들어 한 회사의 구성원들의 휴가 정보 테이블이 있다고 해보자. 이 테이블이 너무 커서, 파일을 3개로 잘라내서 나에게 도착했다. 1번 파일은 2024년 휴가 정보, 2번 파일은 2023년 휴가 정보, 3번 파일은 2022년 휴가 정보라고 해보자. 이 3개의 파일을 하나로 붙여서 통합된 데이터로 만들고 싶을 수 있다.  우리는 지금까지 하나의 데이터프레임을 가지고 작업을 해왔기 때문에, 그 형태로 맞춰주는 것이 좋겠다. 이때 concat() 함수를 사용해서 인덱스 값을 기준으로 두 데이터프레임을 가로 혹은 세로로 합칠 수 있으며, 이를 '연결'이라고 한다. 테이블이 가로로 분리되어 있다면 가로로 다시 연결해주고, 세로로 분리되어 있다면 세로로 다시 연결해주는 ..
데이터프레임 변경(2): 결측치 처리 / 가변수(Dummy Variable) 생성
·
데이터 분석/Pandas 기초
1. 결측치 처리(전처리 작업): 누락 데이터와 중복 데이터의 처리정확한 데이터 분석을 위해서는 정확한 데이터가 준비되어야 할 필요가 있다. 이를 위해 누락된 데이터나 중복 데이터를 제거해주는 전처리 작업이 요구된다. 결측치를 NaN 값이라고 보통 부르는데, 이러한 결측치는 정확한 분석을 하는 데 방해를 줄 수 있다. 아래와 같이 값이 끊기거나, NaN 값을 만나면 오류가 발생하는 함수도 있기 때문에 이는 반드시 어떤 방식으로든 처리해주는 것이 필요하다. 결측치를 처리하는 방법은 두 가지로, 제거하거나 다른 값(EX. 평균값, 최빈값 등)으로 채우는 방법이 있다. 1) 결측치 찾기: info(), isnull(), notnull(), sum()결측치 처리에 앞서 해야 할 일은, 결측치의 존재 여부를 확인..
데이터프레임 변경(1): 열(이름변경, 추가, 삭제) / 범주값(변경, 생성)
·
데이터 분석/Pandas 기초
1. 열 이름 변경1) 일부 열 이름 변경: rename()전체 열 중에 1, 2개를 바꾼다면 이 방법을 사용하는 것이 좋다. 그러나 전체 열 이름 바꿀 경우 비효율적# rename() 함수로 열 이름 변경 # 여러 개를 바꾸니 딕셔너리를 쓰면 좋겠다. tip.rename(columns={'total_bill_amount': 'total_bill', 'male_female': 'sex', 'smoke_yes_no': 'smoker', 'dinner_lunch': 'time'}, inplace=True) 2) 모든 열 이름 변경: columns 속성전체 열 이름 바꿀 경우 그냥 덮어씌워주면 된다. # 모든..
데이터프레임 생성, 탐색, 조회, 집계
·
데이터 분석/Pandas 기초
데이터프레임 생성우리의 목표는 데이터를 최대한 예쁘게 만드는 것이고, 그게 우리가 해야 할 작업이다. 이는 데이터 분석 작업에서 60% 정도를 차지할 정도로 중요하고, 또 많이 익숙해져야 하는 부분이다. '이거 해주세요' 하면 '네'하고 바로 할 수 있을 만큼. 의사가 수술할 때 어리버리 떨지 않는다. 그만큼 익숙해져야 한다. 뭘 해야할 지를 알고, 착착 수술해나가는 것이다.  데이터프레임이란?Pandas 사용 목적은 데이터프레임을 사용하기 위한 목적이다. 왜냐? 데이터를 처리, 조회, 분석하는 가장 효율적인 방법이 데이터프레임을 사용하는 것이다. 직접 만들 수도 있지만, 보통은 csv 파일, 엑셀 파일, 또는 DB에서 읽어온다.  데이터프레임 직접 만들기pd.DataFrame() 함수를 사용해 데이터프..
넘파이 배열의 기본 개념
·
데이터 분석/Pandas 기초
Numpy 배열의 기본 개념 이해# 리스트a = [1, 2, 3, 4, 5, 6, 7, 8, 9]# 2 곱하기?a = a * 2 # 각각의 요소에 2가 곱해지나 아니면 반복이 되나? 반복이 된다고 했다! # 확인print(a) # 요소에 2를 곱할 수가 없다. 안타깝지만 이게 리스트의 특징이다. 컴프리헨션을 쓰든지 해야 한다.리스트가 가지는 한계이다. for 문을 하든지, list comprehension을 해야 한다. 할 수는 있는데 많이 귀찮아진다...이 상황에서 우리가 배열을 쓴다면?# 배열a = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9]) # ap는 이제 리스트가 아니고, 배열이다. # 확인print(a) # [1 2 3 4 5 6 7 8 9]# 2 곱하기a = a * 2#..