Moonie

[빅데이터 분석기사 실기] 데이터 전처리 python 100 - 3 본문

공부/자격증

[빅데이터 분석기사 실기] 데이터 전처리 python 100 - 3

Moonie' 2024. 10. 15. 17:46
반응형

 

아래 블로그를 참조해서 진행했습니다.

https://www.datamanim.com/dataset/99_pandas/pandasMain.html

 

판다스 연습 튜토리얼 — DataManim

판다스 연습 튜토리얼 9회 빅분기 실기 대비 강의, 블로그만으로는 도저히 안되겠다ㅠ 하시는분들에게 추천합니다. 아 제발 광고 한번씩만 눌러주세요 ㅠㅠ 두번은 더 좋구요 빅분기, adp 정보공

www.datamanim.com

 

 

아래 게시글에서 이어서 진행합니다.

https://moonie.tistory.com/33

 

[빅데이터 분석기사 실기] 데이터 전처리 python 100 - 2

https://www.datamanim.com/dataset/99_pandas/pandasMain.html 판다스 연습 튜토리얼 — DataManim판다스 연습 튜토리얼 9회 빅분기 실기 대비 강의, 블로그만으로는 도저히 안되겠다ㅠ 하시는분들에게 추천합니다

moonie.tistory.com

02 Filtering & Sorting

Question 20 데이터를 로드하라.

DataUrl = 'https://raw.githubusercontent.com/Datamanim/pandas/main/chipo.csv'
df = pd.read_csv(DataUrl)
type(df)

 

 

Question 21 quantity컬럼 값이 3인 데이터를 추출하여 첫 5행을 출력하라

df.loc[df['quantity']==3].head()

 

 

Question 22 quantity컬럼 값이 3인 데이터를 추출하여 index를 0부터 정렬하고 첫 5행을 출력하라

df.loc[df['quantity']==3].head().reset_index(drop=True)

 

 

reset_index 로 index 초기화 함

 

Question 23 quantity , item_price 두개의 컬럼으로 구성된 새로운 데이터 프레임을 정의하라

new_df = df[['quantity','item_price']]
print(new_df)

 

 

Question 24 item_price 컬럼의 달러표시 문자를 제거하고 float 타입으로 저장하여 new_price 컬럼에 저장하라

df['new_price'] = df['item_price'].str[1:].astype('float')
df['new_price'].head()

 

 

.str[1:] 로 첫번쨰 문자열($) 이후 문자만 가져온다. 그다음

.astype('float')로 float형식을 지정해준다.

 

 

Question 25 new_price 컬럼이 5이하의 값을 가지는 데이터프레임을 추출하고, 전체 갯수를 구하여라

len(df.loc[df.new_price <=5])

 

len() 함수는 길이를 확인할때 사용하는 함수이다. 내용을 확인하면

df.loc[df.new_price <=5]

총 1652개를 확인 할 수 있다.

 

Question 26 item_name명이 Chicken Salad Bowl 인 데이터 프레임을 추출하고 index 값을 초기화 하여라

df.loc[df['item_name']=='Chicken Salad Bowl'].reset_index(drop=True)

 

 

 

Question 27 new_price값이 9 이하이고 item_name 값이 Chicken Salad Bowl 인 데이터 프레임을 추출하라

df.loc[(df.item_name =='Chicken Salad Bowl') & (df.new_price <= 9)]

 

pandas 에서 & (and) 조건문을 사용해서 두개의 조건을 한번에 나오게 할 수 있다.

 

Question 28 df의 new_price 컬럼 값에 따라 오름차순으로 정리하고 index를 초기화 하여라

df.sort_values('new_price').reset_index(drop=True)

 

df.sort_values를 통해서 값을 정렬하고 이를 reset_index를 통해서 index를 재정비 한다.

 

Question 29 df의 item_name 컬럼 값중 Chips 포함하는 경우의 데이터를 출력하라

df.loc[df.item_name.str.contains('Chips')]

 

 

 

Question 30 df의 짝수번째 컬럼만을 포함하는 데이터프레임을 출력하라

df.iloc[:,::2]

 

 

 

  • :는 모든 행을 의미합니다. 즉, DataFrame의 모든 행을 선택합니다.
  • ::2는 슬라이싱(slicing) 구문으로, 모든 열을 두 칸씩 건너뛰며 선택하라는 뜻입니다.

 

 

 

반응형
Comments