본문 바로가기
728x90
반응형

Python435

[파이썬으로 하는 데이터 분석] 19. CRISP-DM Data Understanding - 우당탕탕 개발자 되기 프로젝트 CRISP-DM 방법론의 두 번째 단계인 Data Understanding 단계는 분석을 위한 데이터를 수집하고 데이터 속성을 이해하기 위한 단계로 데이터 품질에 대한 문제점을 식별하고 숨겨져 있는 인사이트를 발견하는 단계입니다. 해당 단계에서는 초기 데이터 수집, 데이터 기술 분석, 데이터 탐색, 데이터 품질 확인 등이 수행됩니다. 데이터를 보고 분석을 위해 추가로 필요한 데이터를 추출하고 변경하는 단계라고 할 수 있습니다. 우선 해당 데이터의 column을 한눈에 살펴보기 위해 전치행렬로 바꾸어 살펴보면 2년 치의 정보가 시간대별로 저장되어 있는 것을 확인할 수 있습니다. 또 데이터에는 크게 날짜 정보와 날씨 정보, 고객의 이용 정보가 포함되어 있는 것을 확인할 수 있습니다. 데이터의 각 column.. 2024. 3. 31.
[파이썬으로 하는 데이터 분석] 18. CRISP-DM Business Understanding - 우당탕탕 개발자 되기 프로젝트 데이터를 분석하는 방법에는 크게 두 가지가 있습니다. KDD 방법론과 CRISP-DM 방법론이 있는데 CRISP-DM 방법론은 Cross-Industry Standard Process - Data Mining으로 총 6단계로 구성되어 있습니다. Business Understanding - Data Understanding - Data Preparation - Modeling - Evaluation - Deployment 단계로 데이터 분석이 수행됩니다. 그중 첫 번째 단계인 Business Understanding 단계를 살펴보면 Business Understanding 단계는 비즈니스 관점에서 프로젝트의 목적과 요구사항을 이해하기 위한 단계입니다. 도메인 지식을 데이터 분석을 위한 문제 정의로 변경하고.. 2024. 3. 30.
[파이썬으로 하는 데이터 분석] 17. seaborn - 우당탕탕 개발자 되기 프로젝트 seaborn는 보통 sns라는 축약어로 많이 불러와 사용합니다. seaborn 자체에 기본으로 제공해 주는 데이터는 load_dataset() 함수를 활용해 불러오면 사용할 수 있습니다. 우선 seaborn 말고 matplotlib를 사용해 요일(day) 별로 요금(total_bill)을 막대그래프를 그려보면 주말이 평일보다 더 많은 것을 확인할 수 있습니다. 이렇게 이전에는 matplotlib를 사용해 시각화를 했다면 이번에는 seaborn을 사용해 시각화를 해보도록 하겠습니다. seaborn으로 막대그래프를 그릴 때는 barplot() 함수를 사용합니다. barplot() 함수를 사용할 때는 data 옵션에 그래프를 그릴 때 사용할 데이터 프레임을 넣고, 각 x축과 y축에 해당하는 column을 넣.. 2024. 3. 24.
[파이썬으로 하는 데이터 분석] 16. 시각화 - 우당탕탕 개발자 되기 프로젝트 시각화는 데이터를 가지고 많은 데이터의 관계를 그림으로 나타내어 한눈에 파악하기 쉽도록 구현하는 것입니다. 시각화를 할 때는 시각화 결과를 보여줄 대상을 잘 생각해야 합니다. 또한 시각화의 결과가 직관적이어야 하고 결과를 바로 파악할 수 있어야 좋은 시각화라고 할 수 있습니다. 우선 전에 살펴봤었던 matplotlib 도구를 활용하여 시각화하는 방법을 살펴보면, pyplot에 plot 메서드가 있습니다. plot 메서드는 일반적인 선 그래프가 도출되는 것을 볼 수 있습니다. scatter 메서드는 산점도를 도출하는 메서드입니다. scatter plot은 데이터의 분포를 나타냅니다. bar 메서드는 막대그래프를 도출하는 메서드입니다. plot 메서드의 marker 옵션은 선 그래프에서 데이터의 점이 해당 .. 2024. 3. 23.
[프로그래머스] 숫자 카드 나누기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 해당 문제는 두 조건 중 하나라도 만족하는 가장 큰 양의 정수를 구하는 문제이다. 각 조건을 만족하는지 판별하는 방법은 각 카드 리스트의 최대 공약수를 구하여 구한 최대 공약수를 다른 리스트의 카드 값에 나누어 봤을 때 모두 나누어 떨어지지 않으면 된다. 각 리스트의 최대 공약수를 구할 때는 math 라이브러리의 gcd() 함수를 사용한다. 그렇게 구한 각 리스트의 최대 공약수를 다른 리스트의 값들과 모두 나누어 0이면 True를, 0이 아니면 False 값으로 저장한 후 0이 .. 2024. 3. 23.
[프로그래머스] 시소 짝꿍 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 해당 문제는 가능한 시소 짝꿍의 수를 구하는 문제이다. 가능한 짝꿍의 조합을 하나하나 판별하는 것은 많은 시간이 걸린다. 하여 각 무게별로 가능한 조합인지 판별하고 해당 조합이 총 몇 쌍 나올 수 있는지 구하는 방법으로 해결하고자 하였다. 우선 동일한 무게를 가지는 사람은 서로 동일한 거리에만 앉으면 되므로 동일한 무게를 가지는 사람의 수를 세어 그중 2명을 뽑는 경우의 수를 구한다. 다른 무게를 가지는 사람들 중 서로 짝꿍이 될 수 있는 조합을 구한다. 이후 전체 인원 중 해당.. 2024. 3. 18.
[파이썬으로 하는 데이터 분석] 15. DataFrame 병합하기 - 우당탕탕 개발자 되기 프로젝트 여러 데이터 프레임을 하나로 합치는 방법에는 여러 가지가 있는데 우선 concat을 살펴보면, concat은 단순하게 데이터 프레임들을 붙이는, 연결하는 방법입니다. concat은 서로 크기(구조)가 다른 데이터 프레임이라도 병합이 가능합니다. concat() 함수 안에 병합할 데이터 프레임을 [ ]로 묶어 입력해 사용하면 됩니다. concat을 사용해 병합한 결과를 살펴보면 중복되는 칼럼은 아래로 이어져서 데이터가 저장되고 중복되지 않는 칼럼의 공간은 NaN의 값으로 채워진 것을 확인할 수 있습니다. concat() 기본적으로 아래로 데이터 프레임을 붙이는 방법입니다. 여기서 위아래가 아닌 옆으로 데이터 프레임을 붙이고 싶으면 concat() 함수에서 axis 옵션을 1로 변경해 주면 옆으로 데이터 프.. 2024. 3. 17.
[파이썬으로 하는 데이터 분석] 14. 데이터 보기 - 우당탕탕 개발자 되기 프로젝트 분석할 데이터를 파일에서 잘 불러왔다면 다음으로는 데이터가 어떻게 구성되었는지 알아야 합니다. 살펴볼 데이터를 가져온 뒤, head() 함수를 사용하면 해당 데이터의 위쪽 행들만 간단히 살펴볼 수 있습니다. 여기서 head() 함수 안에 값을 넣어주면 나타날 행의 개수를 지정해 줄 수 있습니다. 반대로 아래쪽 행들을 살펴보고 싶다면 tail() 함수를 사용하면 됩니다. head() 함수와 마찬가지로 tail() 함수 안에 값을 넣어주면 나타날 행의 개수를 지정해 줄 수 있습니다. head() 함수와 tail() 함수 모두 기본적으로 5개의 데이터를 보여줍니다. 다음으로 데이터 프레임의 shape는 데이터 프레임의 모양 즉, 행과 열의 개수를 의미합니다. shape는 데이터 프레임의 내용은 보여주지 않고 .. 2024. 3. 16.
[백준] 1753번 : 최단경로 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 1753번: 최단경로 첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1 ≤ V ≤ 20,000, 1 ≤ E ≤ 300,000) 모든 정점에는 1부터 V까지 번호가 매겨져 있다고 가정한다. 둘째 줄에는 시작 정점의 번호 K(1 ≤ K ≤ V)가 www.acmicpc.net 1. 문제 설명 2. 풀이과정 해당 문제는 시작점과 다른 노드와 관련된 최단 경로의 경로값을 구하는 문제이다. 다익스트라 알고리즘의 가장 기본적인 형태를 구현할 수 있는지 물어보는 문제라고 할 수 있다. 다익스트라 알고리즘의 핵심 이론 인접 리스트로 그래프 구현하기 인접 리스트에 연결한 데이터 자료형은 [노드, 가중치] 같은 형태로 선언하여 연결한 점도 잘 봐야 한다. 최단 거리 리스트 초기화하기 출발 노드는 0, 이외의 노.. 2024. 3. 10.
[백준] 1948번 : 임계경로 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 1948번: 임계경로 첫째 줄에 도시의 개수 n(1 ≤ n ≤ 10,000)이 주어지고 둘째 줄에는 도로의 개수 m(1 ≤ m ≤ 100,000)이 주어진다. 그리고 셋째 줄부터 m+2줄까지 다음과 같은 도로의 정보가 주어진다. 처음에는 도로의 www.acmicpc.net 1. 문제 설명 2. 풀이과정 해당 문제에서는 출발 도시와 도착 도시가 주어지기 때문에 일반적인 위상 정렬이 아닌 시작점을 출발 도시로 지정하고 위상 정렬을 수행하면서 출발 도시에서 도착 도시까지 거치는 모든 도시와 관련된 임계 경로값을 구할 수 있다. 단, 해당 문제의 핵심은 1분도 쉬지 않고 달려야 하는 도로의 수를 구하는 것인데, 이를 해결하려면 에지 뒤집기라는 아이디어가 필요하다. (에지 뒤집기 아이디어는 그래프 문제에서 종종 .. 2024. 3. 9.
728x90
반응형