0. 개요

오늘자 파이썬 문제 푼 것 좀 정리하려고 한다. 그냥 기본적인 문제풀이 과정 정리


##문제 1번

##pandas,numpy 라이브러리 에서 함수 가져온 뒤 pd,np 선언
import pandas as pd
import numpy as np

##df을 가져온다.
df = pd.read_csv("/content/drive/MyDrive/Python/flight_data_homework.csv")

##테이블 확인 후, 행과 열의 갯수 세기
df.shape
 ##결과값 : 10683 행과 11줄

##처음 5줄을 반환
df.head()

##문제 2번

##pandas,numpy 라이브러리 에서 함수 가져온 뒤 pd,np 선언
import pandas as pd
import numpy as np

##결측치 찾기
df.isnull().sum()
##결과값은 route 1개, total_stops 1개

##결측치가 들어있는 행을 모두 삭제합니다
df.dropna(axis=0)
##지난 10683개 -> 10682 rows

##문제 3번

##pandas,numpy 라이브러리 에서 함수 가져온 뒤 pd,np 선언
import pandas as pd
import numpy as np

## Destination 칼럼을 기준으로 price 의 평균값과 중앙값을 구하기
df.groupby('Destination')['Price'].aggregate([np.mean,np.median]).round(2)

##다음 문제는 이렇게 풀기
###1. airline,total_stops을 기준으로 route 칼럼을 중복 없이 추출
###2. 해당 데이터를 df2 로 명명할 것
df2 = df.groupby(['Airline','Destination'])['Route'].nunique().sort_values(ascending=False)

##문제 4번

##pandas,numpy 라이브러리 에서 함수 가져온 뒤 pd,np 선언
import pandas as pd
import numpy as np

##피벗 테이블을 구현 | 출발지와 도착지를 기준으로 airline을 카운트
pd.pivot_table(df,index=['Source','Destination'],values='Airline', aggfunc='count')
##이를 내림차순으로 정렬합니다.
pd.pivot_table(df,index=['Source','Destination'],values='Airline', aggfunc='count').sort_values('Airline',ascending=False)

##Airline 칼럼이 Air india고, Price는 7000 이상인 데이터를 필터링 한다.
mask = (df['Airline']=='Air India') & (df['Price']>7000)
df[mask]
df.loc[(df['Airline']=='Air India') & (df['Price']>7000)]

제일 싫었던 문제 5번... 기록이라도 남겨둔다 ㅜㅜ
이게 슬라이스로 하라는데 도저히 찾아봐도 loc 을 쓰는거 같은데 안된다고!!ㅜㅜㅜ

##문제 5번

##pandas,numpy 라이브러리 에서 함수 가져온 뒤 pd,np 선언
import pandas as pd
import datetime as dt
from dateutil.rrule import rrule, WEEKLY

##확인 결과 해당 데이터 함수(Date_of_Journey)는 object 임
df.info()

##Datetime 변환 -> 오브젝트를 날짜열로 변환
df['Journey_Date'] = pd.to_datetime(df['Date_of_Journey'], infer_datetime_format=True)
df['Day_Name'] = pd.to_datetime(df['Journey_Date']).dt.day_name()
df['Day_Name']

##수요일의 평균 가격구하기
display(df)
cond = (df['Day_Name']=='Wednesday')
df2 = df[cond]['Price'].mean() 
df2

일단은 다른 것도 내일 복습해야해서... 오늘은 여기까지 써야겠다....
이걸 하느라고 하루종일 잡고 있어서 ㅜㅜ 도저히 다른 공부 할 시간이 나지 않았다. 어쩔수 없지...

얼른 좀 지나면 AdsP도 마저 준비해야지...

myo