데이터 사이언스
-
데이터 사이언스: 파이썬 Beautiful Soup 모듈 이용해서 파싱(Parsing)하기!데이터 사이언스 2020. 8. 4. 03:54
파싱(Parsing)이란? 파싱은 문자의 구조를 분석해서 원하는 정보를 얻어내는 것입니다. 쉽게 말해서 웹 파싱이라하면 웹에서 필요한 정보를 찾아 가져오는 것을 의미하죠. 예를 들어, 네이버의 실시간 검색어에 대한 정보가 필요하다면 이를 파싱해서 가져올 수도 있습니다. 스크래핑과 크롤링 같은것? 같습니다. 정확하게는 잘모르겠네요ㅋㅋㅋ 파이썬에서 파싱을 하기 위한 대략적인 절차는 다음과 같습니다. 먼저 내가 파싱하고자 하는 웹사이트의 주소에 요청(request)을 보냅니다. 응답이 내가 정해놓은 변수에 저장되었다면 html 코드를 Beautiful soup타입을 바꾸어 준 후, select() 메소드를 이용해서 원하는 태그를 가져옵니다. (웹사이트 아무곳에서 마우스 우측 버튼을 누르신 후 검사(N)를 누르..
-
데이터 사이언스: 좋은 데이터란? 데이터 클리닝(Data clearing)공부하기!데이터 사이언스 2020. 8. 2. 01:31
데이터를 올바르고 효율적으로 사용하기 위해서는 좋은 데이터, 즉 퀄리티가 높은 데이터를 사용해야합니다. 그런데 좋은 데이터란 무엇일까요? 다음과 같은 조건을 만족한다면 좋은 데이터라고 할 수 있습니다. → 완결성 필수적으로 기입되어야 하는 데이터는 모두 입력되어야 합니다. 결측값이 있으면 안됩니다. → 유일성 동일한 데이터가 불필요하게 중복되어 있으면 안됩니다. 예를 들어, 우리가 어떤 사이트에 가입할때 이메일인증을 하죠? 만약 가입한 사이트라면 이미 등록되어 있는 이메일이라는 메시지가 나올겁니다. 그렇지 않다면 문제가 생길겁니다. → 통일성 모두 동일한 형식으로 저장되어 있어야 합니다. 만약 사람들의 키 데이터가 있을 때 어떤 사람은 m으로, 어떤 사람은 cm로 저장되어 있으면 나중에 문제가 발생하겠죠..
-
데이터 사이언스: Seaborn, Pandas 새로운 인사이트 찾아보기(groupby, map, str...)데이터 사이언스 2020. 8. 1. 21:13
이번에는 Pandas와 Seaborn을 이용해서 새로운 값을 계산하고 새로운 인사이트를 도출해봅시다. 다음과 같이 년도별 방송사 시청률에 대한 데이터프레임이 있습니다. import pandas as pd import seaborn as sns broadcast_df = pd.read_csv("Downloads/broadcast.csv", index_col = 0) broadcast_df.head() 방송사에 따른 년도별 시청률은 다음과 같군요 broadcast_df.plot() 전체적인 추이를 확인해보고 싶어서 broadcast_df에 "Total"을 추가합니다. 년도별 전체 시청률을plot해 봅시다. broadcast_df["Total"] = broadcast_df.sum("col..
-
데이터 사이언스: Seaborn 상관관계(Correlation coefficient ), 탐색적 데이터분석(EDA), 클러스터 분석(Cluster analysis) 공부하기!데이터 사이언스 2020. 7. 31. 01:50
상관관계란 무엇일까요? 두 대상이 서로 관련성이 있다고 추즉되는 관계를 말합니다. 쉽게 말해 얼마나 관련성이 있냐! 그 말입니다. 한 예로 자존감과 성적의 관계를 생각해보면 대학생의 자존감과 성적 간의 상관관계를 밝히기 위해 대학생 500명을 대상으로 성적을 조사하고 설문지를 통해 자존감 수준을 측정했다고 합시다 그다음 자존감과 성적 간의 상관을 계산했을 때 두 가지 유형이 나올 수 있는데 상관계수가 양일때와 음일때입니다. 상관계수는 피어슨 상관계수를 사용하며 -1부터 1까지의 값을 갖습니다. 가령 자존감과 성적 간의 상관계수가 +0.73이라면, 자존감과 성적이 서로 관련되는 정도가 0.73만큼 정적(+)으로 강하게 관련됨을 의미하고 음이라면 성적과 자존감이 관련이 있지만, 부적(-)입니..
-
데이터 사이언스: Seaborn 데이터 시각화 공부하기!(kde, violin, cat, distplot... )데이터 사이언스 2020. 7. 28. 13:01
Seaborn이란? Seaborn library에 대한 설명을 보면 Statistical Data Visualization 이라는 말이 나옵니다. 이는 통계를 기반으로 데이터를 시각화한다는 것을 의미합니다. 원래는 파이썬에서 그래프를 그릴 때 사용하는 라이브러리는 matplot인데 세세하기 만들어줘야 할 것들이 많아서 사용하는게 조금 어렵다고 합니다. 하지만 이 seaborn 라이브러리를 사용하면 이쁘고 간단하게 원하는 데이터를 시각화할 수 있죠 우선 주피터 노트북에 seaborn을 설치해 줍시다. 1. seaborn 설치하기 pip install seaborn==0.9.0 Requirement already satisfied: seaborn==0.9.0 in c:\users\seungju\anacond..
-
데이터 사이언스: Pandas plot의 종류와 특성 공부하기!(박스플롯, 산점도, 선, 막대, 원, 히스토그램)데이터 사이언스 2020. 7. 27. 12:57
Pandas에서 제공하는 여러가지 그래프들을 알아보겠습니다~ 1. 선그래프(Line plot) 다음과 같은 데이터프레임이 있을 때 import pandas as pd df = pd.read_csv("Downloads/broadcast.csv", index_col = 0) 선 그래프는 시간의 경과에 따라 변하는 모습을 나타내기 위한 플롯입니다. 그냥 꺽은선 그래프라고 생각하시면 됩니다. df.plot() 방송사의 전체적인 시청률이 떨어지고 있음을 알 수 있습니다. 아마도 유튜브나 넷플릭스 때문이겠죠? df.plot(y = "KBS") df["KBS"].plot() 위의 두 가지방법으로 출력할 수 있습니다. KBS의 시청률이 시간에 지남에 따라 감소하는 것을 알 수 있네요. 2. 막대그래프(Bar graph..
-
데이터 사이언스: Pandas 로 큰 데이터를 다루기(info, describe, unique, value_counts, sort_values), 데이터합치기(merge)데이터 사이언스 2020. 7. 26. 23:31
Pandas로 큰 데이터를 다루어 봅시다! 우선 데이터를 하나 받아옵시다. import pandas as pd df = pd.read_csv("Downloads/laptops.csv") df 데이터 크기가 너무 클 경우에는 ...으로 표현됩니다. 그래서 데이터를 보고 싶은 부분만 가져오기 위해 head를 이용합시다 df.head(N)를 이용하면 첫번째 행부터 N번 째 행까지 가져옵니다. default 값은 5라서 아무값도 입력하지 않으면 5줄의 행만 가져옵니다. df.head() tail()은 head()와 반대로 뒤에서부터 가져옵니다. head와 마찬가지로 default 값으로 5를 갖습니다. df.tail() 데이터 프레임의 정보를 가져옵니다. df.info() RangeInd..
-
데이터 사이언스: Pandas 잘못된 데이터 고치기 (rename, set_index)데이터 사이언스 2020. 7. 25. 13:15
잘못된 데이터를 고쳐가면서 pandas를 공부해 봅시다 다음과 같은 데이터가 있습니다. import pandas as pd liverpool_df = pd.read_csv("Downloads/liverpool.csv", index_col = 0) liverpool_df 칼럼들의 이름 첫 시작을 대문자로 바꾸어 줍시다. name_set = {'position': "Position", "born": "Born", "number":"Number","nationality":"Nationality"} liverpool_df.rename(columns = name_set, inplace = True) liverpool_df 보기 편하게 행의 이름 또한 만들어 줍시다. liverpool_df.index.name = ..