본문 바로가기

분류 전체보기

(171)
공공데이터 '아파트 분양가격' 동향 파악하기 - 2단계 지난 시간에 했던 공공데이터 분석의 2단계입니다. 시각화 작업을 할겁니다. 우선, 시각화 작업하기 전에 pandas, seaborn 위주로 시작화를 하긴할겁니다. 헌데, 이 때 알아두셔야 하는 것은 그래프를 여러 가지 형태로 그린다는 데 초점을 맞추면 좋을 것 같습니다. 세부적인 그래프의 모든 옵션은 일일히 직접 입력해보면서 그래프의 변화를 관찰하면서 만드는 게 좋다고 생각합니다. 만약, 보고서 또는 공모전 용도로 한다면 디자인에 대한 생각을 해야겠지만 이 프로젝트 개인적인 토이 프로젝트 느낌이며 공부하는 용도이기에 조금은 라이트하게 하려고 합니다. 또, 그래프 쓸 때마다 매번 시프트,탭을 눌러서 한 번 확인하고 하는 것이 좋습니다. 기본적으로 x y 축에 데이터프레임의 컬럼을 타입에 맞게 넣고, hue..
pandas 로 공분산과 상관관계 이해하기 상관분석은 변수들 간의 연관성을 분석하는 방법입니다. 상관관계는 두 개의 변수를 기준으로 양의 방향과 음의 방향으로 일정한 규칙이 나타나는 '선형'관계의 형태와 연관 정도를 수치로 나타냅니다. 키와 몸무게 관계, 광고비와 매출액 관계 등이 그 예에 해당됩니다. 상관관계에 대해 이해할 때는 산포도를 이해할 필요가 있습니다. 판다스로 아이리스 데이터를 산점도로 그려보면 위와 같이 나옵니다. 산포도 개념을 머리 속에 넣으셨다면, 잠시 상관계수에 대해 이야기 해보겠습니다. 공분산은 두 개의 확률변수에 대한 흩어짐의 정도가 동일한 방향인 양의 방향인지 음의 방향인지를 나타내는 수치입니다. 두 변수가 서로 변하는 정도를 수치로 나타낸 것입니다. 그런데 두 변수 간의 단위에 다르기 때문에 변동 크기량이 모호해집니다...
pandas series dataframe 이번 시간에는 pandas 데이터의 시리즈와 데이터프레임에 대해 알아보겠습니다. pandas가 NumPy의 스타일을 많이 차용했지만 가장 큰 차이점은 pandas 는 표 형식의 데이터나 다양한 형태의 데이터를 다루는 데 초점을 맞춰 설계했다는 것입니다. NumPy는 단일 산술배열 데이터를 다루는 데 특화되어 있습니다. 1) Series - 일련의 객체를 담을 수 있는 1차원 배열 같은 자료구조입니다. - 색인(index)라고 하는 배열의 데이터와 연관된 이름을 가지고 있습니다. Series 객체의 문자열 표현은 왼쪽에 색인을 보여주고 오른쪽에 해당 색인의 값을 보여줍니다. 위 샘플에서는 데이터의 색인을 지정하지 않았기에 기본 색인인 정수 0에서 N - 1 (N은 데이터의 길이)까지 숫자가 표시됩니다. S..
공공데이터 '아파트 분양가격' 동향 파악하기 - 1단계 이번시간에는 공공데이터에 있는 아파트 분양가격 데이터셋으로 분석을 해보는 포스팅을 해보겠습니다. 인프런 '공공데이터로 파이썬 데이터 분석 시작하기' 강의를 따라하면서 정리하는 영상입니다. 강의를 찍은 시점이 2018년 11월이었는데, 2020년 3월 초, 이 파트 강의가 리뉴얼되었습니다. 강의가 최신 데이터로 업데이트되어서 다시 진행하였고, 좀 더 디테일한 방식으로 바뀌었습니다. 참고해주세요 :) 먼저, 데이터셋은 https://www.data.go.kr/dataset/3035522/fileData.do 공공데이터포털 국가에서 보유하고 있는 다양한 데이터를『공공데이터의 제공 및 이용 활성화에 관한 법률(제11956호)』에 따라 개방하여 국민들이 보다 쉽고 용이하게 공유•활용할 수 있도록 공공데이터(Dat..
pandas dataframe 문자열 칼럼 숫자형(int,float)으로 변환 pandas Dataframe 에서 문자열 칼럼을 숫자형으로 바꿔야할 때가 종종 있습니다. 그 때 쓰는 메서드는 보통 pd.to_numeric() dataframe.astype() 이렇게 2가지가 있습니다. 하나하나 살펴보겠습니다. 1) to_numeric() 시리즈 데이터를 하나 만들었습니다. 여기에 pd.to_numeric( ) 을 하겠습니다. 시리즈 데이터로 넣었더니, 타입이 int 로 만들어진 것을 확인할 수 있습니다. 근데, 만약에 dataframe으 모든 칼럼을 숫자형으로 바꾸고 싶다면 어떨까요? 이 때는 apply 라는 메서드를 통해서 사용합니다. apply 메서드에 대해 잠깐 살펴보겠습니다. apply 메서드 안에는 커스텀함수나 기존의 메서드들을 인자로 넣어주시면 됩니다. 한 칼럼의 최대값..
matplotlib 한글폰트 설정하기 python 으로 데이터 시각화할때 많이들 쓰시는 matplotlib 에서 한글이 깨지는데요. 이에 대해 설정을 해줘야 할 필요가 있습니다. 오늘은 이에 대해 다뤄 보겠습니다. 이 설정은 유튜브 'todaycode오늘코드' 를 참고 했구요. 맨 아래 링크를 첨부 했습니다 :) 필요한 라이브러리를 부르고 임의의 숫자들로 데이터를 구성해보겠습니다 :) 이 상태에서 시각화를 한 번 해볼게요. 한글이 깨지네요... 근데 그전에 저 그래프 창 보려고 하는데 뭔놈의 경고창 같은게 굉장히 많이 뜨네요. 제가 알기로는 라이브러리나 파이썬 버전 문제같은 거에 대한 경고? 같습니다. 위 캡쳐에는 별로 없지만, 사실 제 주피터에서는 마우스 스크롤 바퀴를 3바퀴정도 돌려야 위 그래프가 보였습니다. 저러한 거 안 보이게 해주는..
SQL JOIN - left join, inner join (feat. MY SQL) SQL을 공부한다면, 꼭 알아야하는 개념이 'JOIN'입니다. 이번 시간에는 이에 대해 차근차근 설명해보도록 하겠습니다. 먼저, 곱집합에 대해서 설명하겠습니다. 3개의 원소를 가진 2개의 집합을 곱하면 총 9쌍의 원소로 이루어진 집합이 생깁니다. mysql 로 확인해보겠습니다. 2개의 테이블(=집합)이 있습니다. 각각 원소가 3개씩 들었는데, 이를 카티전 곱 해보겠습니다. 간단합니다. 두 개의 테이블을 콤마(,)로 연결했더니, 곱집합이 생겼습니다. 3 x 3 으로 9 개의 원소가 되었습니다. Point! From 구에 복수의 테이블을 지정하면 교차결합(=곱집합)을 한다! 데이터를 넣어본 테이블로 다시 보겠습니다. 3개의 로우(데이터)가 들은 2개의 테이블이 있습니다. 이를 내부결합할건데요. 그전에 각 테..
Mysql - LIKE , IF, CASE = 연산자로 검색하면 열 값이 완전히 일치할 때만 참이 됩니다. 만약, 일부분만 일치 여부를 알고 싶다면 뭘 써야할까요? 바로 LIKE 입니다. 1) 열명 LIKE '패턴' 을 사용하면 열 값이 부분적으로 일치하는 경우에도 참이 됩니다. 패턴을 정의할 때 % _ 퍼센트와 언더스코어를 쓸 수 있습니다. 퍼센트(%) 는 임의의 문자열을 의미하며, 언더스코어(_) 는 임의의 문자 하나를 의미합니다. * (애스터리스크) 는 LIKE 에서 사용할 수 없습니다. -Point!- LIKE 술어를 사용하여 패턴 매칭으로 검색할 수 있다! 패턴을 정의할 때 사용할 수 있는 메타문자로는 % 와 _ 가 있다! 이제 예제를 보겠습니다. 위 테이블에서 SQL 이라는 글자를 중심으로 로우를 찾아보겠습니다. %SQL% : SQL ..