품생품사(品生品死)

소프트웨어 품질에 살고 품질에 죽는 그런 평범한 일상 블로그

반응형

코딩 소프트웨어 36

[데이터 사이언스 코딩 - Chap.9] 실습 서류 전형 합격 여부 문제 풀어보기

과제 - 서류 전형 합격 여부 판단하기 토익 시험은 LC(듣기) 파트와 RC(독해) 파트로 이루어져 있습니다. 각 파트가 495점 만점, 총 990점이 만점입니다. “S전자”에 입사하기 위해서는 토익 점수를 제출해야 하는데요. 각 파트가 최소 250점, 총 점수가 최소 600점이 되어야 서류 전형을 합격할 수 있습니다. 기존 DataFrame에 “합격 여부”라는 column을 추가하고, 합격한 지원자는 불린 값 True, 불합격한 지원자는 불린 값 False를 넣어주면 됩니다. 과제 해설 두 가지 조건을 모두 만족해야 서류 전형에 합격합니다. 각 조건을 먼저 살펴보고, 두 조건을 합치는 방식으로 접근해야 합니다. 두 파트의 합이 600점을 넘어야 한다. 먼저 두 파트의 합이 600점을 넘는지 확인해 봅시..

TESTING/PROGREMING 2021.08.02

[데이터 사이언스 코딩 - Chap.8] 실습 - 잘못된 DataFrame 고치기 문제 풀어보기

과제 - 잘못된 DataFrame 고치기 키와 몸무게가 담겨 있는 한 DataFrame이 있는데요. 몇 가지 잘못된 사항들이 있습니다. 아래 예시를 통해 DataFrame을 바로 잡아 보도록 합시다. 해야 할 일이 세 가지 있습니다. ID 1의 무게를 200으로 변경하세요. ID 21의 row를 삭제하세요. ID 20의 row를 추가하세요. ID 20의 키는 70, 무게는 200입니다. 딱 3줄의 코드만 추가하면 됩니다. 과제 해설 우리는 크게 세 가지 일을 해야 합니다. ID 1의 무게를 200으로 변경하세요. ID 21의 row를 삭제하세요. ID 20의 row를 추가하세요. ID 20의 키는 70, 무게는 200입니다. 하나씩 해결해 보도록 합시다. ID 1의 무게를 200으로 변경 import p..

TESTING/PROGREMING 2021.08.01

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

과제 - DataFrame 인덱싱 이번에는 DataFrame에서 연속된 여러 줄을 찾는 연습을 해보려합니다. 방송사는 'KBS'에서 'SBS'까지, 연도는 2012년부터 2017년까지의 시청률만 확인하려면 어떻게 해야하는지 아래 문제를 풀면서 확인해 보도록 하겠습니다. 리스트 슬라이싱 방송사는 'KBS'에서 'SBS'까지, 연도는 2012년부터 2017년까지의 시청률만 확인하려면 어떻게 하면 될까요? 만약 2012년부터 2017년까지의 모든 데이터를 확인하고 싶다면 리스트 슬라이싱을 활용하면 됩니다. import pandas as pd df = pd.read_csv('data/broadcast.csv', index_col=0) df.loc[2012:2017] 아래와 같이 표시될 것입니다. 만약, 방송사 ..

TESTING/PROGREMING 2021.07.29

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

과제 - DataFrame 인덱싱 데이터의 중요성을 깨달은 “품생카드”와 “품사카드”가 협업을 하기로 결정했습니다. 두 카드사는 사람들이 요일별로 지출하는 평균 금액을 “요일”, “식비", “교통비”, “문화생활비”, “기타” 카테고리로 정리해서 우리에게 공유해 주기로 했는데요. 각각 lq.csv 파일과 dq.csv 파일을 보냈습니다. 두 회사의 데이터를 활용해서, 사람들의 요일별 문화생활비를 분석해보려 합니다. 아래와 같은 형태로 출력이 되도록 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..

TESTING/PROGREMING 2021.07.28

[데이터 사이언스 코딩 - 정보] Pandas : DataFrame을 만드는 방법 알아보기

From list of lists, array of arrays, list of series 2차원 리스트나 2차원 numpy array로 DataFrame을 만들 수 있습니다. 심지어 pandas Series를 담고 있는 리스트로도 DataFrame을 만들 수 있습니다. 따로 column과 row(index)에 대한 설정이 없으면 그냥 0, 1, 2, ... 순서로 값이 매겨집니다. import numpy as np import pandas as pd two_dimensional_list = [['dongwook', 50, 86], ['sineui', 89, 31], ['ikjoong', 68, 91], ['yoonsoo', 88, 75]] two_dimensional_array = np.array(t..

TESTING/PROGREMING 2021.07.24

[데이터 사이언스 코딩 - Chap.5] 실습 Pandas 문제 풀어보기

아래와 같은 결과가 나오도록 DataFrame을 만들고 출력해 보겠습니다. column은 name, birthday, occupation 총 3개입니다. 1단계 우선 DataFrame에 들어갈 정보가 담긴 2차원 파이썬 리스트를 만들어 주세요. 2차원 파이썬 리스트는 이렇게 작성할 수 있습니다. celebrities = [ ['Taylor Swift', 'December 13, 1989', 'Singer-songwriter'], ['Aaron Sorkin', 'June 9, 1961', 'Screenwriter'], ['Harry Potter', 'July 31, 1980', 'Wizard'], ['Ji-Sung Park', 'February 25, 1981', 'Footballer'] ] 2단계 이제 ..

TESTING/PROGREMING 2021.07.23

[데이터 사이언스 코딩 - Chap.4] 실습 numpy 기본 통계 문제 풀어보기

최댓값, 최솟값 max 메소드와 min 메소드를 사용하면 numpy array의 최댓값과 최솟값을 구할 수 있습니다. import numpy as np array1 = np.array([14, 6, 13, 21, 23, 31, 9, 5]) print(array1.max()) # 최댓값 print(array1.min()) # 최솟값 31 5 평균값 mean 메소드를 사용하면 numpy array의 평균값을 구할 수 있습니다. import numpy as np array1 = np.array([14, 6, 13, 21, 23, 31, 9, 5]) print(array1.mean()) # 평균값 15.25 중앙값 median 메소드를 사용하면 중간값을 구할 수 있는데요. 특이하게 median은 numpy ar..

TESTING/PROGREMING 2021.07.21

[데이터 사이언스 코딩 - Chap.3] 실습 Numpy.array 문제 풀어보기

Numpy.array 실습 문제 Jimmy가 창업한 품새사닭갈비 신주쿠점은 이제 직장인들에게 소문난 맛집입니다. 그러나 매일같이 성공적인 것은 아닙니다. 목표 일 매출을 달성하지 못하는 날들이 아직 꽤 있었습니다. Jimmy가 생각하는 성공적인 하루 매출은 20만 엔입니다. 성공적이지 않은 날의 매출만 골라서 보고 싶습니다. 20만 엔 이하의 매출만 담긴 numpy array를 출력해보겠습니다. 📌 반복문은 사용하지 안 됩니다! 📌 정답 출력 코드는 print가 없는 방식으로 작성해 주세요. (예시: bad_days_revenue) numpy array의 좋은 점은 리스트 안의 데이터를 반복문 없이 한 번에 분석할 수 있다는 것입니다. 우리의 매출이 revenue_in_yen 이라는 변수에 리스트 형태로..

TESTING/PROGREMING 2021.07.20

[데이터 사이언스 코딩 - Chap.2] 실습 Numpy.array 문제 풀어보기

Numpy.array 실습 문제 품생사닭갈비 신주쿠점의 흥행에 성공한 Jimmy는 여세를 몰아 LA에도 가맹점을 하나 냈습니다. 이제 아버지께 매출을 보고하기 위한 프로세스가 조금 복잡해졌습니다. 각 지점의 매출을 원화로 변환시키고 더해야 하죠. 1엔에 10.38원, 1달러에 1342원이라고 가정합니다. 그리고 두 지점의 매출의 합이 원화로 담긴 numpy array를 만들어 출력합니다. 📌 반복문은 사용하지 안 됩니다! 📌 정답 출력 코드는 print가 없는 방식으로 작성해 주세요. (예시: won_array) revenue_in_yen에 엔화(¥) 매출 데이터가, revenue_in_dollar에 달러($) 매출 데이터가 담겨 있습니다. import numpy as np revenue_in_yen =..

TESTING/PROGREMING 2021.07.19

[데이터 사이언스 코딩 - Chap.1] 실습 Numpy.array 문제 풀어보기

Numpy.array 실습 문제 일본에는 한식 열풍이 불고 있습니다. 기회를 엿본 영훈이는 대기업을 퇴사하고 신주쿠에 프랜차이즈 ‘품생사닭갈비’ 가맹점을 냈습니다. 그러나 보수적인 아버지께서는 번듯한 직장을 박차고 나온 영훈이가 못마땅합니다. 아버지를 안심시켜 드리기 위해 매달 매출을 보고하려고 하는데요. 엔화(¥)로 저장한 매출 데이터를 원화(₩)로 변환하는 작업이 필요합니다. numpy를 이용하여 엔화 매출이 담겨 있는 파이썬 리스트가 주어졌습니다. 1엔에 10.38원이라고 가정하고, 원화 매출이 담긴 numpy array를 만들어 출력해 주세요. 📌 반복문은 사용하면 안 됩니다! 📌 정답 출력 코드는 print가 없는 방식으로 작성해 주세요. (예시: won_array) revenue_in_yen에..

TESTING/PROGREMING 2021.07.18

[데이터 사이언스 코딩] numpy array를 만드는 다양한 방법에 대해서 알아보자

파이썬 리스트를 통해 생성 numpy 모듈의 array 메소드에 파라미터로 파이썬 리스트를 넘겨주면 numpy array가 리턴됩니다. array1 = numpy.array([2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31]) print(array1) [ 2 3 5 7 11 13 17 19 23 29 31] 일한 값으로 생성 numpy 모듈의 full 메소드를 사용하면, 모든 값이 같은 numpy array를 생성할 수 있습니다. array1 = numpy.full(6, 7) print(array1) [7 7 7 7 7 7] 모든 값이 0인 numpy array 생성 모든 값이 0인 numpy array를 생성하기 위해서는 full 메소드를 사용하면 됩니다. 그리고 더 간편한 방법도..

TESTING/PROGREMING 2021.07.17

[데이터 사이언스 코딩] Jupyter Notebook : Markdown에 대해서 알아보자.

아래 사이트들은 Markdown을 실시간으로 사용해볼 수 있는 온라인 서비스입니다. 직접 하나씩 연습해 보시길 추천 드립니다. Online Markdown Editor - Dillinger, the Last Markdown Editor ever. Make something great today! dillinger.io StackEdit stackedit.io 제목 #를 사용하여 단계별로 제목을 표현할 수 있습니다. #을 하나만 쓰면 1단계 제목이고, # 을 4개 사용하면 4단계 제목이 됩니다. 단계가 높아질수록 글자 크기가 작아집니다. # 이것은 1단계 제목입니다. ## 이것은 2단계 제목입니다. ### 이것은 3단계 제목입니다. #### 이것은 4단계 제목입니다. 이것은 일반 글입니다. 번호가 있는 목..

TESTING/PROGREMING 2021.07.16

[데이터 사이언스 코딩] 어떻게 무엇을 왜 해야 할까요?

데이터 사이언스를 하기 위해서는 무엇부터 어떻게 해야 할까요? 데이터 사이언스를 시작하기 위해 어떠한 절차로 시작을 해야할지 알아 보도록 하겠습니다. 그리고 각 단계별 무엇을 준비하고, 해야할지도 함께 알아보도록 하겠습니다. 문제 정의하기 데이터 모으기 데이터 다듬기 데이터 분석하기 데이터 시각화 및 커뮤니케이션 문제 정의하기 해결하고자하는 문제를 정의하기 문제 정의하기 ✔ 이 단계에서는 해결하고자 하는 게 무엇인지, 언제까지 어떤 결과물을 얻을 것인지, 어떤 방식으로 데이터를 활용할 것인지 등을 설정합니다. 아무 목적 없이 데이터를 살펴 보면, 의미 있는 발견을 하지 못하기 때문입니다. 목표 설정하기 기간 설정하기 평가 방법 설정하기 필요한 데이터 설정하기 데이터 모으기 필요한 데이터를 모을 수 있는 ..

TESTING/PROGREMING 2021.07.14

[데이터 사이언스 코딩] 터미널을 이용하여 Jupyter Notebook 설치하기(Mac)

아나콘다(Anaconda)는 설치를 쉽게 도와주는 도구입니다. 아나콘다를 활용하면 파이썬, Jupyter Notebook 등을 쉽게 설치할 수 있을 뿐 아니라, 각종 라이브러리도 쉽게 설치할 수 있습니다. 하지만 상황에 따라 아나콘다가 잘 동작하지 않는다면, pip3를 통해 Jupyter Notebook을 설치할 수 있습니다. 윈도우 사용자이거나, 아나콘다가 잘 동작하면 아래 내용은 건너뛰셔도 됩니다. pip3는 파이썬과 관련된 패키지의 설치를 도와주는 패키지 매니저(package manager)입니다. 파이썬을 설치하면 맥의 터미널 (Terminal)에서 pip3를 사용할 수 있죠. (Python 2가 아닌 Python 3를 이용하기 위해, pip 대신 pip3를 사용합니다.) 먼저 파이썬을 설치하고,..

TESTING/PROGREMING 2021.07.12

[데이터 사이언스 코딩] Mac에서 Jupyter Notebook 설치하기

1. 아나콘다 다운로드 아나콘다 다운로드 링크로 이동한 뒤 macOS 버튼을 누르고 Download 버튼을 눌러 설치파일을 다운로드 받습니다. Anaconda3-2018.12-MacOSX-x86_64.pkg 라는 이름의 파일이 다운로드 됩니다. (파일명은 버전에 따라 약간 달리질 수 있습니다.) 2. 아나콘다 설치 설치 파일을 더블 클릭하면 다음과 같은 화면이 나옵니다. 계속 버튼을 눌러 아나콘다 설치를 진행합니다. 다음과 같은 화면이 나오면 계속 버튼을 눌러 설치를 진행합니다. 다음과 같은 화면이 나오면 계속 버튼을 눌러 설치를 진행합니다. 다음과 같은 화면이 나오면 계속 버튼을 눌러 설치를 진행합니다. 다음과 같은 화면이 나오면 계속 버튼을 눌러 설치를 진행합니다. 설치 버튼을 누르면 다음과 같은 화..

TESTING/PROGREMING 2021.07.11

[데이터 사이언스 코딩] Window에서 Jupyter Notebook 설치하기

1. 아나콘다 다운로드 아나콘다 다운로드 링크로 접속한 뒤, 설치 파일을 다운로드 받습니다. 2. 아나콘다 설치 설치 파일(Anaconda3-2021.05-Windows-x86.exe | Anaconda3-2021.05-Windows-x86_64.exe)을 실행하면 다음과 같은 화면이 나타납니다. Agree 버튼을 눌러 설치를 진행합니다. next 버튼을 눌러서 설치를 계속 진행합니다. 아래 사진과 같이 아나콘다가 설치될 경로를 정해줍니다. next 버튼을 눌러서 설치를 계속 진행합니다. 설치에서 중요한 과정입니다. 만약에 Add Anaconda to my PATH environment variable 체크 박스에 체크를 하면 명령 prompt 창 (git , powershell, cmd)과 같은 환경에..

TESTING/PROGREMING 2021.07.09

[데이터 사이언스 코딩] 오해와 진실 사이 그것이 알고 싶다.

데이터 사이언스에 대한 오해와 진실. 그것이 알고 싶다. 데이터 사이언스라는 말이 유행? 이 되면서 그에 따른 오해들이 많이 생겨나고 있습니다. 오늘은 그 오해 몇 가지에 대해서 이야기를 해보려 합니다. 사실 4차 산업이라고 해서 인공지능 딥러닝만 있는 것은 아니지만 데이터 사이언스에서 가장 중요하고, 앞으로 해야 하는 것을 사람들은 인공지능과 딥러닝으로 단정을 해버리는 오해가 생기고 있는 것 같습니다. 간단하게 정리를 하면 데이터 사이언스에는 다양한 유형이 존재한다고 하고 리스트는 아래와 같습니다. ✔ 데이터 사이언스 VS 데이터 아키텍트 ✔ 데이터 사이언스 VS 데이터 엔지니어 ✔ 데이터 사이언스 VS 통계학자 ✔ 데이터 사이언스 VS 비즈니스 애널리스트 두 번째 오해는 바로 데이터 사이언티스트들은 ..

TESTING/PROGREMING 2021.07.06

[자바스크립트 코딩 - Chap.3] 실습 팰린드롬 맞추기 문제 풀어보기

자바스크립트 과제 : 팰린드롬 프로그래밍 팰린드롬이란? "토마토"나 "기러기"처럼 거꾸로 읽어도 똑같은 단어를 '팰린드롬(palindrome)'이라고 부릅니다. 간단한 코딩을 통해 팰린드롬을 구분할 수 있도록 작성해 봅시다. 문제 팰린드롬 여부를 확인하는 함수 isPalindrome을 작성하려고 하는데요. isPalindrome은 파라미터 word가 팰린드롬이면 true를 리턴하고 팰린드롬이 아니면 false를 리턴합니다. 예를 들어서 "racecar"과 "토마토"는 거꾸로 읽어도 똑같기 때문에 true가 출력되어야 합니다. 그리고 "hello"는 거꾸로 읽으면 "olleh"가 되기 때문에 false가 나와야 하는 거죠. 코드를 잘 작성하셨다면, 다음과 같은 결과가 출력되어야 합니다. 출력 예시 true..

TESTING/PROGREMING 2020.12.07

[자바스크립트 코딩 - 정보] 배열 메소드에 대해서 알아두면 좋은 3가지 팁

자바스크립트 : 배열 메소드 알아보기 배열이란? 배열(영어: array, 配列·排列, 문화어: 배렬)은 번호(인덱스)와 번호에 대응하는 데이터들로 이루어진 자료 구조를 나타냅니다. 일반적으로 배열에는 같은 종류의 데이터들이 순차적으로 저장되어, 값의 번호가 곧 배열의 시작점으로부터 값이 저장되어 있는 상대적인 위치가 됩니다. 대부분의 프로그래밍 언어에서 사용할 수 있는 가장 기초적인 자료 구조로, 기본적인 용도 외에 다른 복잡한 자료 구조들을 표현하기 위해서 또는 행렬, 벡터 등을 컴퓨터에서 표현하는 용도 등으로도 사용됩니다. 배열의 첫 번째 요소의 메모리 주소를 첫 번째 주소, 기본 주소 또는 기본 주소라고 합니다. 메소드란? 또는 멤버 함수(member function)는 객체 지향 프로그래밍에서 객..

TESTING/PROGREMING 2020.12.05

[자바스크립트 코딩 - 정보] 객체에 대해서 알아두면 좋은 8가지 팁

자바스트크립트 : 객체에 대해서 알아두면 좋은 정보 객체라는 것은 객체 또는 오브젝트(object)는 클래스에서 정의한 것을 토대로 메모리(실제 저장공간)에 할당된 것으로 프로그램에서 사용되는 데이터 또는 식별자에 의해 참조되는 공간을 의미하며, 변수, 자료 구조, 함수 또는 메소드가 될 수 있습니다. 프로그래밍 언어는 변수를 이용해 객체에 접근하므로 객체와 변수라는 용어는 종종 함께 사용됩니다. 객체지향 프로그래밍에서 객체는 클래스의 인스턴스입니다. 클래스 객체는 자료와 그 자료를 다루는 명령의 조합을 포함하여 객체가 메시지를 받고 자료를 처리하며 메시지를 다른 객체로 보낼 수 있도록 합니다. 실세계의 비유로 설명하자면, 가령 어떤 사람이 집에서 살기를 원할 때, 그 집의 청사진(집의 설계도)이나 축소..

TESTING/PROGREMING 2020.12.05
728x90
반응형