QA ≠ Test

QA(품질 보증)는 개념적인 용어이고, TEST는 QA(품질 보증)를 하기 위한 수단이자 방법이다.

TESTING/PROGREMING

[데이터 사이언스 코딩 - Chap.6] 실습 DataFrame 인덱싱 문제 풀어보기(1)

품생품사(品生品死) 2021. 7. 28. 22:54
반응형

과제 - DataFrame 인덱싱

데이터의 중요성을 깨달은 “품생카드”와 “품사카드”가 협업을 하기로 결정했습니다.

두 카드사는 사람들이 요일별로 지출하는 평균 금액을 “요일”, “식비", “교통비”, “문화생활비”, “기타” 카테고리로 정리해서 우리에게 공유해 주기로 했는데요. 각각 lq.csv 파일과 dq.csv 파일을 보냈습니다.

lq.csv
0.47MB
dq.csv
0.47MB

두 회사의 데이터를 활용해서, 사람들의 요일별 문화생활비를 분석해보려 합니다. 아래와 같은 형태로 출력이 되도록 DataFrame을 만들어보세요.

   day      lq       dq
0  MON     4308     5339
1  TUE     7644     3524
2  WED     5674     5364
3  THU     8621     9942
4  FRI    23052    33511
5  SAT    15330    19397
6  SUN    19030    19925

 

데이터 파악하기

먼저 각각의 DataFrame을 읽어들입니다.

import pandas as pd

samsong_df = pd.read_csv('data/lq.csv')
samsong_df

This is data_science_0001
lq 데이터 읽어 오기

import pandas as pd

hyundee_df = pd.read_csv('data/dq.csv')
hyundee_df

This is data_science_0002
dq 데이터 읽어오기

이 중에서 우리가 활용하고 싶은 데이터는 '요일', 그리고 lq_df의 '문화생활비', dq_df의 '문화생활비' 입니다. 각각을 이렇게 가져올 수 있습니다.

 

파이썬 사전(dictionary) 만들기

DataFrame을 만드는 여러 방법 중에 파이썬 사전(dictionary)을 활용해 봅시다.
우리가 원하는 세 개의 column은 'day', 'lq', 'dq' 입니다.
그럼 사전을 이렇게 만들 수 있습니다.

{'day': lq_df['요일'], 
    'lq': lq_df['문화생활비'], 
    'dq': dqe_df['문화생활비']}

 

DataFrame 만들기

이제 값을 활용해서 DataFrame을 만들면 됩니다.

import pandas as pd

lq_df = pd.read_csv('data/lq.csv')
dq_df = pd.read_csv('data/dq.csv')

combined_df = pd.DataFrame({
    'day': lq_df['요일'], 
    'lq': lq_df['문화생활비'], 
    'dq': dq_df['문화생활비']
})
combined_df

 

 day       lq        dq
0  MON     4308     5339
1  TUE     7644     3524
2  WED     5674     5364
3  THU     8621     9942
4  FRI    23052    33511
5  SAT    15330    19397
6  SUN    19030    19925

 

DataFrame 인덱싱 문법 정리

이름으로 인덱싱하기 기본 형태 단축 형태
하나의 row 이름 df.loc["row4"]  
row 이름의 리스트 df.loc[["row4", "row5", "row3"]]  
row 이름의 리스트 슬라이싱 df.loc["row2":"row5"] df["row2":"row5"]
하나의 column 이름 df.loc[:, "col1"] df["col1"]
column 이름의 리스트 df.loc[:, ["col4", "col6", "col3"]] df[["col4", "col6", "col3"]]
column 이름의 리스트 슬라이싱 df.loc[:, "col2":"col5"]  
위치로 인덱싱하기 기본 형태 단축 형태
하나의 row 이름 df.iloc[8]  
row 이름의 리스트 df.iloc[[4, 5, 3]]  
row 이름의 리스트 슬라이싱 df.iloc[2:5] df[2:5]
하나의 column 이름 df.iloc[:, 3]  
column 이름의 리스트 df.iloc[:, [3, 5, 6]]  
column 이름의 리스트 슬라이싱 df.iloc[:, 3:7]  

This is data_science_000
Data Science

 

요약 : sparta coding club, 스파르타 코딩, 코드잇, 노마드 코더, 프로그래밍, 직장인 코딩, 내일 배움 카드 코딩, 밀크티 코딩, 초등 코딩, 아이스크림 코딩, 코딩 소프트웨어, 자바 스크립트 국비 지원, 자바 스크립트 교육

반응형