DataAnalysis/Python Pandas

1 . 누락값이란? 데이터에서 누락값은 NaN 혹은 nan 혹은 NAN과 같은 표기를 지니고 있으며, 이는 Not a Number의 약자이기도 하다. 우선적으로 누락값을 numpy 라이브러리에서 불러와보자. 한가지 유의해야할것은 NaN값은 0 혹은 ' '(White Space)과 다른 의미를 지니고 있다. 누락값 NaN은 '데이터 자체'가 없음을 의미한다. 그렇기에 '같다'의 의미 자체가 성립되지 않는 존재이다. 이러한 정의가 가능하기에 누락값은 자기 자신과 비교해도 Boolean Type의 값은 False로 출력된다. 누락값을 확인 할 수 있는 방법은 두가지가 있다. 1 . pandas 라이브러리를 이용 not null 메소드는 누락값이 아닌것에 대한 확인이다. 2 . numpy 라이브러리를 이용 누락..
csv파일을 불러오던 중에 다음과 같은 오류가 출력되는 것을 볼 수 있었다. UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc1 in position 0: invalid start byte 에 대한 해결방안으로는 read_csv() 메소드의 매개변수 중에는 encoding이라는 매개변수가 있는데, encoding 매개변수 값을 다음과 같이 올려주면 된다. encoding = 'ISO-8859-1'
이번에는 seaborn라이브러리에서 lmplot()메소드를 이용한 산점도 그래프에서 성별에 따른 기호와 기호의 크기, 색상을 다르게 출력하여 보자. 앞에서 보았듯이 기준 변수 값에 따른 색상 변화를 주기 위해서는 hue매개변수의 값에 기준 변수명을 넣어주었다. 여기까지는 지난 포스팅에서 다루었었다. 이번에 주목해서 보아야할 매개변수 값은 markers, scatter_kws 매개변수를 주목해서 보면 된다. 우선 지불값과 성별에 따른 팁의 크기 그래프를 lmplot()으로 그려보자. hue매개변수를 이용해서 색상 구분하는거까지 해보자. 여기서 우선 성별에 따른 기호를 다르게 구분하고 싶다고 가정하자. 예시를 들어 'o'라는 기호와 'x'라는 기호로 표현하고 싶다고 하면 다음과 같이 나타내 주면 된다. ma..
이번에는 seaborn라이브러리를 좀 더 폭 넓게 활용해 보자. seaborn라이브러리도 그래프를 그릴 수 있는 라이브러리인데, seaborn라이브러리를 활용하면 matplotlib보다 더 화려하고 실용적인 그래프를 그릴 수 있다. 우선 라이브러리 호출을 해보자. matplotlib라이브러리를 활용했을 때와 동일하게 히스토그램부터 작성해 보자. seaborn라이브러리로 히스토그램 작성을 위해서는 matplotlib라이브러리와는 다르게, figure()객체 선언을 해줄 필요없이 subplot()메소드로 기본 틀만 만들어 주면된다. subplot()을 통해 기본틀을 만들어주면 다음과 같이 그래프의 기본 틀이 생성되는것을 볼 수 있다. seaborn 라이브러리 상에서 히스토그램을 그려주기 위해서는 distpl..
matplotlib는 파이썬에서 그래프를 그리기 위해서 사용하는 라이브러리 중 하나이다. matplotlib에는 여러가지 형태의 그래프를 그리기 위한 함수들이 존재하는데, seaborn 라이브러리에 내장되어있는 tips데이터를 가지고 matplotlib의 여러 형태의 그래프를 살펴보자. 우선 필요한 라이브러리를 호출하고 데이터셋을 불러오자. 우선 tips데이터 셋을 보면 변수는 total_bill, tip, sex, smoker, day, time, size로 구성 되어있는것을 볼 수 있다. 우선 간단한 히스토 그램을 그려보자. 히스토 그램이란 데이터셋의 변수에 대한 분포 및 빈도를 살펴볼 때 사용되는 그래프이다. 히스토 그램을 그릴때는 변수 하나를 사용하는데, 히스토그램과 같이 변수가 하나 사용되는 그..
이번에는 앤스콤 데이터 집합 4개 각각의 그래프를 그려보자. 각각의 그래프를 그리면 데이터 집합간의 차이점을 명확하게 파악할 수 있다는 장점이 있다. 그 전에 matplotlib라이브러리로 그래프를 그리는 순서를 알고가자. 1 . 전체 그래프가 위치할 틀 만들기 2 . 그래프를 그릴 그래프 격자 추가 3 . 격자에 그래프 하나씩 추가. 추가되는 순서는 왼쪽에서 오른쪽 4 . 격자 첫행이 꽉차면 두 번째 행에 그래프를 그린다. 이것이 matplotlib라이브러리로 그래프를 그리는 순서인 것이다. 우선 각각의 데이터 집합의 값별로 나눠주자. 그 다음 그래프가 위치할 틀을 만들어 주자. matplotlib라이브러리에서 그래프를 그리기 위해서는 figure객체와 최소 한개 이상의 subplot()을 요구하게 되..
데이터를 통계적으로 가지고 있는것도 좋지만 데이터를 시각화하는것도 매우 중요하다. 데이터 시각화의 전형적인 사례로 앤스콤 4분할 그래프가 있다. 앤스콤 4분할 그래프는 영국 프랭크 앤스콤이 데이터를 수치적으로만 확인할 때 발생할 수 있는 함정을 보여주기 위해 만든 그래프이다. 그렇다면 여기서 '함정'이라는 것은 무엇일까? 우선 앤스콤 4분할 그래프는 다음과 같이 생겼다. 데이터 그룹 I,II,III,IV가 있고 x,y열을 가지고 있다. 이 그래프에서 각 데이터 그룹을 해석해 보면 각각의 평균, 분산등의 수치값과 회귀선이 동일하다. 결론적으로 수치상으로만 보면 데이터그룹 I,II,III,IV는 모두 동일하다라는 결론이 나온다. 이 점이 바로 앤스콤이 말한 함정이라는 것이다. 데이터 그룹을 시각화 하면 데이..
이번에는 기존의 데이터를 가지고 그래프를 그려보자. 그래프를 그린다는 것은 데이터를 시각화 하는 것인데, 데이터를 시각화한다는 것은 데이터 분석에서 가장 중요한 요소인 것이다. 데이터를 가지고 그래프를 그리기 위해서는 matplotlib 라이브러리를 사용해 주어야 한다. 우선 판다스 라이브러리와 matplotlib라이브러리를 선언해 주자. %matplotlib inline부분은 주피터 노트북에서 그래프를 그리기 위해서 사용하는 매직함수부분이다. 예시로 연도별 나이의 평균을 낸다고 가정하자. 예시데이터를 불러오고 연도별로 나이의 평균을 그룹화 해보자. 필자의 경우 그룹화한 데이터 프레임을 gro라는 변수에 저장해 주었다. 필자가 사용하는 데이터의 형태는 다음과 같다. 그래프를 그리기 위해서는 다음과 같이 ..
갭마인더 데이터 집합에서 만약 내가 연도별 gdpPercap의 평균값을 알아보고 싶다고 하자. 이런 경우에는 연도별, 즉 year의 열로 '그룹화'를 한 다음 gdpPercap열의 평균을 구해주는 순서로 진행하면 된다. 이를 코드로 작성하면 다음과 같다. 처음 보기에는 막상 작성하려 보니 막막한 코드이다. 이 코드의 유도과정을 하나씩 살펴보면 이러한 순서가 나온다. 우선 연도별로 '그룹화'를 시키자. 데이터 프레임을 그룹화 시키기 위해서는 groupby()라는 메소드가 사용된다. groupby()메소드의 parameter으로는 그룹화 하려는 열의 이름이 들어가는데 만약 그룹화할 기준 열이 하나라면 작은따옴표로 묶은 후 작성해 주면 되지만 만약 그룹화 하려는 열의 이름이 2개 이상이 된다면 리스트 형태로 ..
loc과 iloc 속성을 활용하여 보자. 우선 추출할 데이터의 행, 열 지정하는 법부터 알아보자. 행과 열 지정은 행, 열 순서로 지정을 해준다. 이를 코드로 작성하면 (데이터 프레임).loc(혹은 iloc)[[행],[열]] 이 되는것이다. 행과 열 지정하는 여러 경우를 살펴보자 1 . 슬라이싱 구문법 여기서 행 부분에 ':'기호를 작성해 주었는데 이를 해석해 보면 '모든 행 데이터에서' 라고 해석하면 된다. 첫번쨰 사진은 인덱스를 이용하는 loc속성을 사용하였기에 열 지정값에 열의 이름 그대로인 문자열을 작성해 주었다. 반면 두번째 사진에서는 iloc을 이용하였기에 열의 번호(순서에 따른)가 저장된 리스트를 넣어준 것이다. 여기서 반대로 만약 loc속성의 열 지정 부분에 열의 번호가 저장된 리스트를 넣..
R 데이터 분석에서도 그랬듯이 필요한 데이터를 따로 추출해서 사용할 수 있다. 판다스에서는 데이터를 따로 추출하는데 있어서 열로 추출하기, 행으로 추출하기 두가지 방법이 존재한다. 각각의 방법에 대해서 알아보자 1 . 열 단위 데이터 추출하기 열 단위로 데이터를 추출할 때는 대괄호, 열 이름이 사용된다. 열 이름은 작은 따옴표로 묶어준다. 열 단위로 데이터를 출력할때 1개의 열만 추출하면 자료형은 -> 시리즈(series) 2개이상의 열을 추출하면 자료형은 -> 데이터 프레임(Data Frame) 이 된다. 우선 간단히 열 단위로 데이터를 추출해보자. 만약 갭마인더 데이터 집합에서 필자가 country라는 열의 데이터만 추출하고 싶다고 하자 그러면 다음과 같이 코드를 입력해 주면 된다. 형태를 보면 알겠..
판다스는 파이썬의 외부 라이브러리중 하나에 속한다. 하지만 파이썬과 판다스는 같은 자료형이라도 서로 다르게 인식한다. 파이썬과 판다스에서 자료형을 각각 다음과 같이 인식한다. 판다스 자료형 파이썬 자료형 해석 object string 문자열 int 64 int 정수 float 64 float 소수점을 지닌 숫자 dataframe64 datetime 파이썬 표준 라이브러리인 datetime이 반환되는 자료형
Hoplin
'DataAnalysis/Python Pandas' 카테고리의 글 목록