전체 글 16

나는 왜 개발자가 되려고 하는가?

어릴 때부터 전자기기나 컴퓨터를 분해하고 다양한 부품을 직접 조립하거나 고쳐보려는 호기심에서 시작한 것 같다. 고등학교 때는 얼마 되지도 않는 용돈을 모아서 최신 게이밍 노트북이나, 맥북, 다양한 전자기기를 중고거래로 구매하고 체험해 본 다음 다른 제품을 써보기 위해 가지고 있던 기기를 팔기도 하면서 엄청 다양한 전자제품을 체험해 본 것 같다. (마침 보니 벌써 번개장터 10년 차!)이 시기에는 친구들과 게임하는 것에도 재미를 많이 가지고 있어서 프로그래밍/게임 개발(클라이언트)을 생각하게 된 것 같다.마침내 대학교에 와서 사실상 처음으로 제대로 된 프로그래밍과 CS지식, 데이터베이스 등 다양한 소프트웨어 지식을 배우면서 엄청 재미를 느꼈다. DB를 배우든, 파이썬을 배우든, 알고리즘을 배우든 어려운 내..

카테고리 없음 2024.11.06

10. 텍스트 데이터 전처리

이전 내용 복습시작하기 앞서 우선 서울에 위치하는 약국의 데이터만 따로 변수에 저장해서 활용해보겠습니다.df_seoul_drug["시군구명"]을 사용하면 시군구명 column에 해당하는 데이터만 확인이 가능합니다. (데이터프레임에 대괄호를 하고 확인하고 싶은 컬럼명을 입력)c = df_seoul_drug["시군구명"].value_counts()c.head()을 사용하면 특정 시군구별에 해당하는 데이터들의 수를 확인할 수 있고, head()를 통해 상위 5개의 시군구명을 확인할 수 있습니다. c.plot.bar(rot=60)을 사용하면 bar 그래프로 시각화할 수 있으며, rot=60을 통해 가로 레이블에 기울기를 60도로 지정할 수 있습니다.n = df_seoul_drug["시군구명"].value_cou..

9. 데이터 색인하기

원하는 데이터만 추출해서 데이터 색인하기 '==' 기호 활용 == 기호를 활용하여 csv파일에 "상권업종중분류명" 칼럼의 데이터들 중 "약국/한약방"에 해당하는 데이터만 True로 출력한다. 더보기 간단 응용:약국/한약방인 상권만 True로 전처리한 데이터를 변수에 지정하고 value_counts() 함수를 사용하면 True로 확인된 상권의 총 개수를 확인할 수 있습니다.기존 df["상권업종중분류명"]=="약국/한약방" 을 한번 더 df[] 로 덮으면 해당 조건에 True인 데이터만 추출이 가능합니다.특정 조건으로 추출한 데이터를 다른 목적으로 변형해서 사용할 때 copy() 를 사용해야 warning 이 발생하지 않으며 원본이 영향받지 않습니다.  추출 조건 추가하기상권업종대분류명이 "의료"에 해당하는..

8. 데이터 시각화 (Visualization)

seaborn 라이브러리이전에 간단히 소개한 대로, seaborn 라이브러리는 시각화를 위한 다양한 그래프를 제공하는 도구입니다. seaborn은 일반적으로 x,y, data에 대한 정보를 지정해야 함.장점: 고급 통계 기능을 그래프 내부적으로 제공하고 있습니다.단점: 데이터 크기가 클수록 속도가 느려집니다.그래프 그려보기표시해야 할 데이터가 많아질수록 가독성은 낮아진다. 다양한 설정을 통해 가독성을 향상시킬 수 있다. 위경도 데이터 scatterplot으로 시각화하기df_seoul["시군구명"].value_counts()우선 서울 각각의 시군구에 얼마나 많은 병원이 있는지 출력해봤습니다.df_seoul["시군구명"].value_counts().plot.bar(figsize=(10,4), rot=30)이..

7. 데이터 요약하기

기초 통계값* 데이터의 타입은 dtypes를 통해 확인 가능.df["위도"].dtypes 기존에 불러온 상가업소정보 데이터를 기반으로 실습을 해보자.df["위도"] 를 출력하면 위도라는 column의 데이터만 확인할 수 있다.위 사진에서 보다싶이, Google Colab에서는 굳이 .dtypes 함수를 사용하지 않더라도 하단에 타입이 같이 출력되긴 한다.1. 평균값mean()을 사용하면 해당 값들의 평균값을 확인할 수 있다.2. 중앙값median()을 사용하면 전체 데이터의 중앙값을 확인할 수 있다. (가운데 데이터의 값)3. 최대값max()를 사용하면 해당 데이터 중 가장 큰 값을 확인할 수 있다.4. 최소값min()을 사용하면 가장 작은 값을 확인할 수 있다.5. 데이터 개수count()를 사용하면 ..

6. 결측치 다루기

결측치란?결측치란 값이 없거나, NaN으로 나타나는 데이터를 의미합니다.데이터에 따라 다르지만, 여기서는 따로 데이터가 없는 값으로 보기에 해당 column은 제외하는 방식으로 데이터 전처리 과정을 갖는다. df.isnull() 을 통해 결측치가 존재하는 컬럼을 구한다. 이때 isnull은 해당 데이터가 결측치라면 True를 반환한다.null_count = df.isnull().sum() 을 통해 True로 추출된 결측치 데이터들의 총 합을 구하고 변수에 저장한다. (boolean indexing을 통해 True는 1과 동일함)이제 null_count 변수를 출력해보면,이와 같이 결측치가 없는 데이터는 0으로 출력되고 결측치가 있는 데이터는 결측치의 개수가 출력된다.결측치 시각화하기결측치를 저장한 nul..

5. 데이터 미리보기 및 요약하기

공공데이터 로드하고 데이터 미리보기 + 요약import pandas as pdimport seaborn as snsimport numpy as npimport matplotlib.pyplot as plt파이썬에서 판다스를 사용하기 위해서는 우선 판다스 라이브러리를 import를 통해 불러와야 한다.이때, pandas as pd를 통해 매번 모듈명을 작성해야 하는 번거로움을 줄인다. (pd만으로 모듈 사용) numpy 라이브러리는 고성능 수치계산, 행렬이나 대규모 다차원 배열을 쉽게 처리하기 위한 라이브러리 (수치해석을 위한 기능)seaborn 라이브러리는 데이터 시각화를 위한 라이브러리matplotlib도 데이터 시각화를 위한 라이브러리 (그래프를 그리기 위한 기능)시각화를 위한 폰트 설정!sudo ap..

4. 파일 경로 설정 및 불러오기

주피터 노트북에서 작업하고 있을 경우 주피터 노트북 환경설정 당시 생성한 작업 폴더에 파일을 넣은 후# 해당 폴더에 넣은 파일의 경로 설정예시:%mv /Users/~~~/~~~/도로교통공단_교통사고다발지역_20191010.csv . 이때, 각 폴더의 경로는 개인마다 다르므로 직접 경로를 확인해볼 것.주피터 노트북에서 %pwd를 사용하면 주피터 노트북 파일이 존재하는 폴더 경로를 확인할 수 있다. # 판다스로 csv 파일 불러오기경로에서 저장된 파일을 확인했으면, 파일명을 그대로 복사해서 read_csv로 불러오기pd.read_csv("도로교통공단_교통사고다발지역_20191010.csv", encoding="cp949")*encoding="cp949"는 한글파일 인코딩을 위해 작성하는 코드로, 인코딩 에러..

3. Pandas Cheat-Sheet

Pandas는 수식으로 계산할 수도 있고 시각화도 할 수 있는 데이터 분석도구 입니다.판다스 치스시트는 판다스르르 익히기 위한 모든 정보가 적혀있는 파일이며, 치트시트에 있는 내용을 모두 이해하고 활용할 수 있으면 판다스를 마스터했다고 말할 수도 있습니다.1. 판다스 불러오기import pandas as pdas pd라는 것은 매번 pandas모듈을 사용하기 위해 풀네임으로 불러오기 번거로우니 pd라는 약어로 pandas를 사용하겠다는 의미입니다.예를들어, pandas.DataFrame이 아닌 pd.DataFrame로 좀 더 간결하게 사용하실 수 있습니다.일반적으로 파이썬 라이브러리들은 각각의 통용되는 별칭이 있습니다.앞으로 나오는 것들은 일반적으로 사용되는 별칭이라고 보시면 됩니다. 2. DataFra..

2. 데이터 분석을 위한 파이썬 기초

해당 강의는 기본적으로 파이썬 기초에 대한 이해가 있는 사람들 대상으로 진행. zen of python젠 오브 파이썬이란, 파이썬의 기본적인 철학을 나타내는 나타내고 있습니다.import this 를 출력해보면 파이썬의 철학에 대한 내용이 결과물로 출력되는 모습을 확인할 수 있다.Boolean불리안 타입은 True / False로 구분할 수 있다. (앞에 대문자 필수)True는 '참'을 의미하고 False는 '거짓'을 의미합니다. 주로 특정 조건 및 연산에 활용.비교 연산and, or, not 연산을 통해 비교 연산이 가능하다 (조건식H)연산자= 이것은 할당연산 / == 이것은 비교연산리스트리스트는 인덱스가 0부터 시작. 인덱싱을 통해 특정 위치에 원소를 불러오거나 수정할 수 있습니다.Control Fl..