목록파이썬/판다스 (30)
개발은 처음이라 개발새발
판다스에서는 date_range()함수를 사용하면 여러 개의 날짜가 들어 있는 시계열 데이터를 만들 수 있다고 합니다. 이를 Timestamp 배열이라고 하는데요. 이밖에도 기간을 설정하는 Period 배열이 있습니다. 예제들을 통해 한번 어떻게 활용할 수 있는지 알아보도록 하겠습니다. 1.월 시작일 timestamp 배열 import pandas as pd ts_ms = pd.date_range(start='2022-01-01', #날짜 범위 시작 end= None, #날짜 범위 끝 periods= 6, #생성할 Timestamp 개수 freq = 'MS', #시간 간격(MS: 월의 시작일) tz='Asia/Seoul') #시간대(timezone) print(ts_ms,'\n') DatetimeInde..
오랜만입니다. 오늘은 데이터분석에서 가장 중요한 정규화 작업에 대해 알아보도록하겠습니다. 정규화는 여러 열의 데이터가 들어 있을 때 모든 열의 데이터의 단위가 동일하면 더할나위 없이 좋지만 저희에겐 그런 행운은 없기에 단위가 서로 다른 열을 가지고 머신러닝을 하게 되면 머신러닝 분서 결과가 달라질 수 있습니다. 그렇기에 숫자 데이터간의 상대적인 크기 차이를 제거해 각 열에 속하는 데이터 값을 동일한 크기 기준으로 나눈 비율로 나타내는데 이를 두고 정규화(normalization)이라고 합니다. 정규화를 거친 데이터의 범위는 0~1 또는 -1~1이 됩니다. 정규화 작업중 기본적인 방법으로는 해당 열의 데이터를 열의 최대값의 절대값으로 나누는 방법이 있습니다. 이렇게 되면 가장 큰 값은 자기 자신과 나눈 것..
https://data-so-hard.tistory.com/34 누락 데이터 치환하기1 [python/pandas] 이번 시간은 누락 데이터를 제거하는 것이 아니라 치환하는 작업을 진행하겠습니다. 데이터 분석의 품질을 높이기 위해서는 결측치가 많은 데이터를 제거하는 것도 방법이지만 데이터의 양이 data-so-hard.tistory.com 지난 편에서는 fillna() 함수를 통해 평균 수치를 결측치에 삽입하는 것을 진행해봤습니다. 오늘은 좀 더 디테일하게 평균 데이터를 삽입해보려고 하는데요. 우선 판다스호의 데이터를 살펴보겠습니다. 데이터를 보면 성인 컬럼에 man, woman, child 총 3가지의 값이 있는데요. 이럴 경우 단순 평균을 넣을 경우 데이터의 질이 나빠질 수 있습니다. 특히, chil..
이번 시간은 누락 데이터를 제거하는 것이 아니라 치환하는 작업을 진행하겠습니다. 데이터 분석의 품질을 높이기 위해서는 결측치가 많은 데이터를 제거하는 것도 방법이지만 데이터의 양이 품질을 결정하기도 하기 때문에 무작정 제거하기보다는 평균데이터로 누락 데이터를 치환하는 작업도 알아두면 좋습니다. 데이터를 치환하는 방법은 우선 mean()함수를 통해 데이터의 평균을 구한 뒤 fillna()함수로 결측치를 채우는 방법이 있습니다. 코딩을 진행해 보겠습니다. import pandas as pd import numpy as np df= pd.read_excel("판다스호.xlsx", sheet_name="Sheet1") print(df) mean_age = df['나이'].mean(axis=0) print('\n..
이번 시간에는 isull(), dropna()매소드를 활용해 결측치 데이터를 제거한 타이타닉 데이터를 가지고 그래프를 그려보도록 하겠습니다. https://data-so-hard.tistory.com/31 isnull(), notnull() 누락 데이터 확인 [python/seaborn] 엑셀을 가지고 데이터를 다룰 때 가장 불편한 점이 있다면 데이터의 누락과 오류 같은 문제들을 바로 찾기가 쉽지 않다는 점입니다. 이번 시간에는 파이썬을 통해 누락 데이터에 대해 알아보는 data-so-hard.tistory.com https://data-so-hard.tistory.com/32 dropna() 파이썬 누락 데이터 제거 [python/seaborn] https://data-so-hard.tistory.co..
https://data-so-hard.tistory.com/31 isnull(), notnull() 누락 데이터 확인 [python/seaborn] 엑셀을 가지고 데이터를 다룰 때 가장 불편한 점이 있다면 데이터의 누락과 오류 같은 문제들을 바로 찾기가 쉽지 않다는 점입니다. 이번 시간에는 파이썬을 통해 누락 데이터에 대해 알아보는 data-so-hard.tistory.com 지난 편에서는 파이썬의 간단한 코드를 통해 엑셀에 저장된 데이터 중 누락된 부분을 확인해봤는데요. .이번 시간에는 이 누락된 데이터를 제거하는 방법에 대해 알아보도록 하겠습니다. 우선 지난 시간에 했던 코드를 들고 오겠습니다. import seaborn as sns df= sns.load_dataset('titanic') #누락 데..
엑셀을 가지고 데이터를 다룰 때 가장 불편한 점이 있다면 데이터의 누락과 오류 같은 문제들을 바로 찾기가 쉽지 않다는 점입니다. 이번 시간에는 파이썬을 통해 누락 데이터에 대해 알아보는 방법과 이를 제거하는 것에 대해 알아보도록 하겠습니다. 우선 데이터는 seaborn 라이브러리의 타이타닉 데이터셋을 사용해보겠습니다. 혹시 seabron 라이브러리가 없다면 아래의 코드를 이용해 설치해야 합니다. pip install seaborn 우선 데이터를 불러오겠습니다. import seaborn as sns df= sns.load_dataset('titanic') print(df.head()) 이렇게 df 옆에 .head()를 붙여 상단 5줄의 데이터만 확인해봤는데요. deck 컬럼을 보시면 누락 데이터에 "Na..
데이터를 다루다 보면 중복행이 종종 보이는 경우가 있습니다. 가공 작업을 진행하는 입장에서 표본이 적은 상황에서는 가볍게 엑셀에서 지워도 무방합니다. 하지만 세상 일이라는 게 그리 호락호락하지 않죠. 최근 겪을 일을 이야기해보자면 새로운 게임 스탯을 만들기 위해 분석하는 과정에서 행이 20만 개가 넘는 데이터를 다룰 때였습니다. 처음에는 중복된 것이 없는 줄 알았는데 특정 부분이 지나지체 많다 싶어 확인해보기 무려 3만 개가 넘는 중복행이 있던군요. ㅠㅠ 정말 막막했는데 판다스에서 간단한 코드를 해결할 수 있었습니다. 우선 예제를 만들어보겠습니다. import pandas as pd dict_data = {'goal':[23,23,2,1,15,17,23], 'assist':[7,13,12,7,8,9,7]..
안녕하세요, 개발새발입니다. 저는 최근에 일을 하면서 프리미어리그에 흠뻑 빠지게 돼 22/23 시즌을 앞두고 다끝난 21/22시즌을 다시보기 하고 있습니다. 그중에서 득점왕을 차지한 손흥민 선수의 경기를 많이 챙겨보고 있는데요. 이번 시간에는 지난 7년간 프리미어리그에서 활약 중인 손흥민 선수의 공격포인트(득점, 어시스트) 기록은 면적 그래프로 그려보도록 하겠습니다. import pandas as pd import matplotlib.pyplot as plt #한글 처리 from matplotlib import font_manager, rc font_path = "c:/windows/Fonts/malgun.ttf" #한글 폰트 경로 font_name = font_manager.FontProperties(..
지난 편에서는 한글 폰트를 사용했을 때 발생하는 오류를 해결했습니다. 이번 시간에는 matplotlib에서 제공하는 다양한 스타일을 소개하고 그래프를 좀 더 꾸며보기로 하겠습니다. 우선 지난 편에 만들었던 그래플 다시 한번 보겠습니다. 보게 되면 제목과 x,y축에 있는 한글들이 너무 작습니다. 그리고 연도들이 너무 붙어 있어 명확하게 무엇을 의미하는지 확인하기가 힘듭니다. 우선 이 3가지의 문제들을 해결해보겠습니다. 우선 연도부터 건드려보겠습니다. 숫자들이 붙어 있는 것은 크기를 줄여서 해결할 수도 있지만 그렇게 되면 너무 작아 안 보이는 것은 같겠죠. 이럴 때는 숫자의 각도를 변경해 해결할 수 있습니다. 그리고 표의 사이즈 크기를 키우는 것도 하나의 방법이니 모두 적용해보겠습니다. 그래프의 크기를 키우..