DataAnalysis

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라는 변수에 저장해 주었다. 필자가 사용하는 데이터의 형태는 다음과 같다. 그래프를 그리기 위해서는 다음과 같이 ..
문제 및 조건 사용 데이터 : ggplot2패키지의 midwest데이터 1 . pop adults는 해당 지역의 성인인구, poptotal은 전체 인구를 나타낸다. midwest데이터에 전체 인구 대비 미성년 인구 백분율 변수를 추가하시오 2 . 미성년 인구 백분율이 가장 높은 상위 5개 county의 미성년 인구 백분율을 출력하시오 3 . 분류표의 기준에 따라 미성년 비율 등급 변수를 추가하고 각 등급에 몇 개의 지역이 존재하는지 알아보시오 분류 기준 large 40%이상 middle 30~40%미만 small 30%미만 4 . popasian은 해당 지역의 아시아인 인구를 나타낸다. 전체 인구 대비 아시아인 인구 백분율 변수를 추가하고 하위 10개 지역의 state county아시아인 인구 백분율을 ..
mpg데이터에는 해당 차량에 들어가는 연비의 종류가 표시된 fl변수가 존재한다. fl 변수에는 c(CNG), d(Disel), e(Ethanol), p(Premium), r(Regular)을 의미하는 변수가 있다. mpg데이터 변수에 만약 내가 갤런당의 가격을 넣고 싶다고 하자. mpg데이터에 추가를 하기 위한 데이터 프레임을 다음과 같이 만들었다. 결론적으로는 '연료별 가격' 을 의미하기 때문에 기준 변수는 fl변수가 될것이고, 이는 새로운 데이터의 변수를 추가하는 것이기 때문에 가로로 붙이는것에 해당이 된다. mpg데이터에 방금 만든 fuel이라는 데이터 프레임을 붙여보자. 다음과 같이 말이다. 데이터를 부착하고 출력을 시키고 보면 다음과 같이 나올것이다. 결과를 보면 맨 오른쪽에 price_fl이라..
경우에 따라서 주어진 데이터에서 추가적인 데이터를 추가하여 새로운 데이터를 생성하고, 그 데이터로 분석을 하는 경우가 생길 수 도 있다. 예를 들면 학교에서 각반의 시험 데이터를 모아서 합친 후 데이터를 분석한다는 등을 예시로 들 수 있다. 데이터를 합치는데 있어서 두가지 경우로 또 나눌 수 있다. 1 . 같은 변수의 데이터를 가진 데이터를 합치는 경우(세로로 합치는 경우) 2 . 새로운 변수의 데이터를 가진 데이터를 합치는 경우(가로로 합치는 경우) 간단히 말해서 가로로 합치기, 세로로 합치기라고 하자. 가로로 합칠때는 left_join()이라는 함수를 이용하고 세로로 합치는 경우에는 bind_rows()라는 함수를 이용한다. 이 두 함수 또한 데이터를 전처리하는 경우에 사용하는 함수들이기 때문에 dp..
어떠한 집단에 대한 평균 및 빈도등 각 집단의요약을 구할때는 summaries()함수와 group_by()함수를 사용해 준다. summaries()함수와 group_by()함수 또한 데이터 전처리를 위한 함수이므로 dplyr 패키지 안에 내장되어있는 함수이다. 이번에도 동일하게 dplyr패키지와 실습용 데이터를 불러오자. 우선 summaries()함수를 이용하여 보자. 해당 코드는 과학과목의 평균을 구한다음에 Average라는 변수에 저장하여 출력하는 코드이다. mean()함수는 전체 데이터에 대한 평균값을 구하기 위해서 사용된다. summaries()함수는 group_by()함수와 집단별 요약표를 만들때 유용하게 사용된다. group_by()함수에 매개변수로 변수 이름을 넣어주게 되면 해당 변수의 데이..
Hoplin
'DataAnalysis' 카테고리의 글 목록