목록데이터분석 (73)
개발은 처음이라 개발새발
판다스에서는 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..
지난 편에서는 21/22시즌 그라운드와 공중볼 경합 탑10을 확인해봤는데요. 이어서 지난 시즌 가장 많은 경기당 크로스 성공 개수와 그 선수들의 크로스 성공%를 한번 확인해보도록하겠습니다. #총 크로스 횟수가 50회 이상인 선수만 추리기 df2 = df1[df1['totalCross'] > 50].sort_values(by=['totalCross'], ascending=False) print(df2) #경기당 크로스 성공 개수 계산 df2['per_game_cross'] = round(df2['accurateCross'] / df2['game'],2) # 크로스 성공% 계산 df2['cross%'] = round((df2['accurateCross'] /df2['totalCross'])*100,2) #2..
오늘도 축구를 곁들인 판다스 복습을 진행해보도록 하겠습니다. 이번 시간에는 PL 개막을 기념해서 지난 시즌인 21/22시즌의 기록들 중 경합 항목에 대해 어떤 선수들이 좋은 퍼포먼스를 보여줬는지 확인해보겠습니다. mport pandas as pd import numpy as np df= pd.read_excel('PL2.xlsx',sheet_name='Sheet1') print(df,'\n') df1 = df[['league', 'season', 'team', 'name', 'shirtNumber', 'minsPlayed', 'gameStarted', 'totalSubOn','duelWon', 'duelLost', 'aerialWon', 'aerialLost']] df1 = df1.groupby(['le..
오늘은 책 한권을 소개해볼까 합니다. 데이터 분석을 하는 데 있어서 파이썬도 중요하지만 데이터를 저장하고 관리하는 것도 매우 중요한대요. 그러기 위해서는 DBMS라고 하는 데이터베이스를 관리하고 운영하는 시스템 공부도 중요합니다. 그래서 소개해 드릴 책은 그중에서 가장 기본서라고 할 수 있는 "이것이 MySQL이다"라는 책입니다. 저는 올해 들어서 파이썬과 판다스 공부를 열심히 하고 있는데요. SQL에 대해서 아주 모르는 것은 아니지만 좀 더 역량을 쌓기 위해서 하반기부터는 이것이 MySQL이다를 통해 SQL 공부도 열심히 해서 포스팅을 남겨보려 합니다. https://book.naver.com/bookdb/book_detail.nhn?bid=16345347 이것이 MySQL이다 - 『이것이 MySQL이..
안녕하세요. 이제 22/23 PL 개막이 5일 정도 남았는데요. D-5 기념으로 지난 시즌 프리미어리그 득점순위 탑 5 선수들의 경기당 주요 공격 지표에 대해 알아보겠습니다. 제목은 리그 Top 5 득점자들의 경기당 주요 공격지표로 하겠습니다. 근데 이제 파이썬을 곁들인... 늘 그랬듯이 활용한 스탯은 모두 fotmob 사이트(https://www.fotmob.com/)를 통해 모았습니다. 우선 잘 모은 데이터를 한번 확인해보겠습니다. 데이터를 불러오죠. import pandas as pd import numpy as np df= pd.read_excel('epl.xlsx',sheet_name='Sheet1') print(df) print('\n') league season team name assist..
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..
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..
오늘도 축구 데이터를 가지고 df.plot의 다양한 그래프를 그려보고자 하는데요. 이번에 다뤄볼 데이터는 제가 최근에 입덕한 리버풀의 플레이메이커 트렌트 알렉산더-아놀드의 데이터입니다. 아놀드는 포지션은 오른쪽 풀백이지만 실제 경기를 보고 있으면 공격 전개시 중앙으로 침투하여 중앙 미드필더 같은 모습을 보이거나 우측에서 롱패스와 크로스를 통해 플레이메이커로서 98년생인 어린 나이에도 불구하고 굉장히 좋은 모습을 보여주고 있습니다.그래서 이번에 아놀드의 패스 관련 데이터를 수집해 그래프로 표현봤는데요. 참고한 사이트는 지난 번과 동일하게 fotmob을 통해 수집했습니다. https://www.fotmob.com/ FotMob FotMob is the essential app for matchday. Get..