본문 바로가기

Data_Analysis

(294)
판다스 - 컬럼(열 or 변수)간 상관계수 : corr corr함수를 통해 상관계수 연산 (-1, 1 사이의 결과) ㅇ 변수와 상관관계 : 변수간 흐름이 얼마나 비슷한가를 나타내는 척도 - a가 증가하면 b도 증가하냐/감소하냐 - 증가의 성향이 얼마나 비슷한가 ㅇ 1에 가까울 수록 두개가 비슷하게 증가 ㅇ -1에 가까울 수록 하나 증가/ 하나 감소 ㅇ 0에 가까울수록 두개간 관계가 없다 ㅇ 연속성(숫자형)데이터에 대해서만 연산 ㅇ 인과관계를 의미할 수도 아닐 수도 있음 데이터 불러오기 correlation을 뜻하는 corr함수를 이용하면 각 컬럼간의 양상을 확인할 수 있다. 당연하게도 우측하향 대각선은 1의 값을 가진다. 이를 숫자로만 보면 파악하기 어려우니 시각화를 해보자 1. plt.matshow() matplotlib.pyplot을 이용해서 아주 간단하..
판다스 - 누락데이터를 그룹별로 대체하여 컬럼(열) 만들기 : insert, groupby, transform, fillna 데이터 불러오기 타이타닉의 train 데이터셋을 받아왔다. https://steadiness-193.tistory.com/14 판다스 - 누락 데이터 확인(isnull(), count_nonzero()) 타이타닉 데이터 불러오기 deck 컬럼의 경우 전체 891개의 행 중 203개의 행만 값이 채워진 것을 볼 수 있다. value_counts()로 누락값 개수 확인하기 누락데이터의 개수를 확인하고자 하면 value_counts에 steadiness-193.tistory.com 위 포스팅 내용을 이용해 각 컬럼별 누락값을 살펴보면 총 3컬럼에서 누락값이 있는 것을 확인할 수 있다. 그 중 Age 컬럼을 채우는 방법을 살펴보자 사실 그냥 Age컬럼의 평균값으로 누락값을 채워도 되지만 이는 위험할 수도 있다...
판다스 - 원하는 위치에 조건에 맞는 컬럼(열) 추가 : insert 응용 데이터프레임.insert(원하는 컬럼의 위치, 새롭게 들어갈 컬럼의 이름, 조건) - 컬럼의 위치는 0부터 시작 - 조건을 변수에 넣어서도 이용 가능 데이터 불러오기 위 컬럼들의 자료형을 보자 마력은 숫자로 구성된 것 같은데 자료형이 object이다. 이를 파악하기 위해 unique 메서드로 살펴보자 숫자들 사이에 ?라는 값이 있어 object형으로 표시된 것이다. [목표 : horsepower 컬럼 옆에 자료형이 float인 horsepower 사본 컬럼 추가] https://steadiness-193.tistory.com/18 판다스 - 자료형 변환 (astype, pd.to_numeric) 데이터 불러오기 문제가 있는 열은 total_bill로서, [1, 3, 5, 7]행은 missing이라는 문자..
판다스 - 원하는 위치에 컬럼(열) 추가 : insert 데이터프레임.insert(원하는 컬럼의 위치, 새롭게 들어갈 컬럼의 이름, 조건) - 컬럼의 위치는 0부터 시작 - 조건을 변수에 넣어서도 이용 가능 데이터 불러오기 [목표 : weight 컬럼 옆에 weight 컬럼을 정규화한 컬럼을 추가] 우선 무게 컬럼의 최대값으로 각 값들을 나눠주자 최대값은 5140이며 이를 이용해 weight 컬럼을 나눠주면 정규화된 시리즈를 얻을 수 있다. 보통 컬럼을 추가하면 기존 데이터프레임의 맨 끝에 붙지만 지금은 insert를 이용해보자 6번째 컬럼 위치에 weight_norm이라는 이름의 컬럼을 추가 했고 이는 정규화된 값들이다. -----------------------------------------------------------------------------..
판다스 - 여러 대용량 데이터 처리하기 : os.listdir https://steadiness-193.tistory.com/27 판다스 - 여러 대용량 데이터 처리하기 (glob) 이 다섯개의 csv 파일을 불러와 한꺼번에 보고자 한다. glob 라이브러리, glob 메서드 이용 glob 라이브러리의 glob메서드는 특정한 패턴의 이름을 가진 파일을 한번에 읽어들일 수 있다. 방법1. 하나�� steadiness-193.tistory.com 여러 대용량 데이터를 한꺼번에 모아서 여는 방법은 위 포스팅의 glob 말고도 os 라이브러리를 이용하는 방법도 있다. data 폴더 안의 파일들 위 파일들 중 fhv로 시작하는 뉴욕 택시 데이터들만 불러와서 한꺼번에 보고자 한다. import os os.listdir 사용 data 폴더에 있는 모든 파일을 다 읽어올 수 있다..
판다스 - 미국 신생아 이름 : 이름의 성별 변화 https://steadiness-193.tistory.com/85 판다스 - 신생아 이름 (전처리) 데이터 불러오기 신생아 이름에 관련된 데이터는 메모장에 쉼표로 구분되어 있으며 연도별로 파일이 구성되어 있다. 이렇게 2010년까지 있다. 2002년의 메모장을 살펴보면 이름,성별,출생 수 이렇 steadiness-193.tistory.com 위 포스팅 끝부분에 얻어낸 top1000 데이터프레임을 이용한다. 예전에는 남자 이름으로 선호되던 이름이 시간이 지날수록 여자 이름으로 사용되는 경우를 보자 대표적으로 Lesley, Leslie라는 이름이 그렇다. 우선 lesl로 시작하는 이름을 포함하는 목록을 만들어야 한다. 대소문자 구별을 피하기 위해 우선 lower함수를 적용하고 str.contains()를 ..
판다스 - 인덱스, 컬럼(열) 이름 변경 : rename 데이터 만들기 행 인덱스 이름 변경 - DataFrame.rename({기존 인덱스: 새 인덱스}, axis=0) - DataFrame.rename({기존 인덱스: 새 인덱스}, axis='index') - DataFrame.rename(index={기존 인덱스: 새 인덱스}) 열 이름 변경 - DataFrame.rename({기존 컬럼명: 새 컬럼명}, axis=1) - DataFrame.rename ({기존 컬럼명: 새 컬럼명}, axis='columns') - DataFrame.rename (columns={기존 컬럼명: 새 컬럼명}) 행 인덱스 이름 변경 DataFrame.rename({기존 인덱스: 새 인덱스}, axis=0) DataFrame.rename({기존 인덱스: 새 인덱스}, axis..
판다스 - reindex를 활용한 멀티인덱스 컬럼(열) 추출 https://steadiness-193.tistory.com/89 판다스 - reindex() reindex() 메서드를 사용하면 데이터프레임의 행/열 인덱스를 새로운 배열로 재지정할 수 있다. 기존 객체를 변경하지 않고 새로운 데이터프레임 객체를 반환한다. 데이터 생성하기 위 df의 (행)인� steadiness-193.tistory.com 위 포스팅의 활용 데이터 불러오기 위 데이터프레임은 컬럼이 이중으로 되어있다. 만약에 1880년, 1881년의 여자 / 남자별 컬럼을 얻고 싶다면 어떻게 할까? 컬럼명으로만 해도, xs 인덱서로 해도 에러가 나온다. 한번에는 안되고 반복 작업 이후에 concat을 이용해야 한다. 하지만 이는 너무 귀찮으니 이때 활용하는 것이 reindex이다. reindex를 활..