반응형

데이터분석 44

<python pandas> Grouping Data 데이터 그룹화하기

1. value_counts 2. 공통된 데이터를 기준으로 그룹화하기 groupby 3. 활용 [코로나 확진자 여행지별 증감율] 오늘은 pandas로 가져온 데이터에서 column 안에 있는 데이터의 수를 세고, 공통 인자를 기준으로 묶어서 분석하는 법에 대해서 알아보겠습니다. 알아보기 위해 오늘은 공공데이터를 활용하겠습니다. 공공데이터 포털에서 서울시 코로나19 확진자 현황.csv를 사용하겠습니다. 받은 직후에 바로 pandas에서 읽어오려고 하면 encoding 문제가 뜹니다. 별별 인코딩들을 다 써봤지만 안열려서, 그냥 엑셀로 열어서 엑셀에서 다시 csv 파일로 저장해서 읽어왔습니다... 각설하고, 시작하겠습니다. 변수 이름을 df로 하고 csv 파일을 불러옵니다. csv 파일 이름은 '서울시 코로..

<Python matplotlib> Pie chart 만들기

오늘은 파이 차트을 만드는 방법에 대해서 알아보도록 하겠습니다. 1. 기본 생성법 2. 기능 추가 1) 강조 하기 2) 음영 처리 3) 비율 표시 1. 기본 생성법 기본적으로 파이 차트는 각 요소별 비율을 나타내는 차트입니다. 60,40,30,20 을 가지고 파이차트를 만들어보겠습니다. 각각의 수치에 라벨을 '육십', '사십', '삼십', '이십' 으로 정하겠습니다. 아래의 코드로 실행합니다. 1 2 3 4 5 6 7 8 from matplotlib import pyplot as plt slices = [60,40,30,20] labels = ['육십','사십','삼십','이십'] plt.pie(slices, labels=labels) plt.title("파이차트") plt.tight_layout() p..

<Python Pandas> 데이터 정렬하기 sort_values

1. 데이터 정렬하기 2. 오름차순 내림차순 3. 복수의 데이터 정렬하기 4. 복수의 데이터 각각 정렬하기 5. 되돌리기 (index 이용해서 정렬하기) 6. column 하나만 골라서 정렬하기 먼저 pandas에 데이터프레임을 하나 만들어 줍니다. 1. 데이터 정렬하기 df.sort_values(by = '기준이 될 columns 이름') 저는 나이 순으로 정렬을 하고 싶습니다. 그렇다면 by = 에 age를 넣어야겠지요. df.sort_values(by = 'age') 2. 내림차순으로 정렬하기 기본적으로 sort_values는 오름차순으로 정렬합니다. 그렇기에 내림차순으로 정렬하기 위해서는 ascending = False를 추가해 주셔야 합니다. 3. 두 개 이상의 데이터 정렬하기 먼저 나이에 따라..

<Python matplotlib> matplotlib 한글 폰트 깨짐 수정[진짜 되는 수정] 따라만 하세요

1. 오류의 형태 2. 해결 과정 3. 해결 방법 [바로 해결 방법으로 가실 분은 해결방법을 눌러 이동하세요] 파이썬과 matplotlib 등 모든 언어와 라이브러리가 영어를 주 언어로 사용하다보니 한글 사용할 때마다 지독한 앓이를 하고 넘어가는 것 같습니다. matplotlib에서 한글을 사용하면 기본 폰트에 한글 폰트가 없기 때문에 한글들이 깨져 나오게 됩니다. 그래서 구글링을 통해 해결을 하려고 했습니다. 그러자 matplotlib의 폰트문제를 해결하는 방법이 몇개 나오더군요. 네이버에서 나눔글꼴을 다운 받아 mpl-data 폴더 안에 있는 matplotlibrc 안에서 기본 폰트를 Nanum폰트로 바꾸라고 해서 'NamunGothic'을 깔고 변경해보았습니다. 하지만 여전히 해결이 되지 않았습니다..

<Python Pandas> 행,열 추가 제거

목차 1. columns 합치기 2. columns 제거하기 3. columns 나누기 4. row 추가하기 5. rows 추가하기(표 합치기) 6. rows 제거하기 1. columns 합치기 먼저 pandas를 이용해 데이터프레임을 짜줍니다. 합치고 싶은 column들을 df[]를 통해서 잡아서 +로 합쳐줍니다. 저는 중간에 공백을 남겨두고 합칠 것입니다. 그래야 나중에 다시 나눌 때 공백을 이용해서 쉽게 나눌 수 있기 때문입니다. 그리고 표에 적용을 하고 싶다면 새로운 column을 만들어서 넣어 줘야 합니다. 새로운 column의 이름은 'name_address'로 하겠습니다. 이제 'name'과 'address'를 합쳐서 'name_address' 행을 만들었으니, 'name'과 'address..

<python> Tesseract 설치하기 OCR

1. 아래의 링크를 통해서 테서렉트 홈페이지로 이동합니다. https://tesseract-ocr.github.io/tessdoc/ Tesseract User Manual Tesseract documentation tesseract-ocr.github.io 위의 링크로 들어가면 아래와 같은 페이지가 나옵니다. 그리고 아래로 내려가시다 보면 'compiling and installation' 아래에 'Installation' 항목을 클릭합니다. 아래로 쭈욱 내리면서 자신의 OS에 맞는 버전으로 다운받으시면 됩니다. 윈도우 부분은 따로 'Tesseract at UB Mannheim' 글자를 클릭하여 들어갑니다. 아래의 링크에서 자신의 윈도우 버전에 맞게 다운 받으시면 됩니다. 다운 받으시고 installer..

<Python> 파이참 설치하기

1. 먼저 공식 홈페이지로 가서 파이참을 다운받습니다. https://www.jetbrains.com/pycharm/ PyCharm: the Python IDE for Professional Developers by JetBrains The Python & Django IDE with intelligent code completion, on-the-fly error checking, quick-fixes, and much more... www.jetbrains.com 다운로드를 누르시면 화면이 나오는데 화면에서 window, mac, Linux 중 맞는 Os를 선택하시고, 무료버전인 community 버전을 다운로드하시면됩니다. 2. 다운로드 받은 파일 pycharm-community-2021.2.exe..

<pandas> 6. columns 내용 변경하기 (map,replace)

오늘은 이전 시간에 봤던 columns의 이름 변경, row 내용 변경에 이어서 columns의 내용을 변경하는 방법에 대해서 알아보겠습니다. 먼저 데이터프레임을 하나 만들어 줍니다. df['columns의 이름'].map df['columns의 이름'].map({기존 column의 value:변경할 column의 value})를 사용하여 값을 변경할 수 있습니다. name column에 김똘칠의 이름과 박달달의 이름을 변경해보겠습니다. 다만, df['columns의 이름'].map을 사용하면 지정하지 않은 값은 NaN 즉 아무것도 들어가지 않는 값이 됩니다. 바꾸고 싶은 columns만 지정해서 바꾸고 싶다면 df['columns의 이름'].replace를 사용해주시면 됩니다. df['columns의 ..

Python matplotlib 사용하기 2. 막대 그래프 [가로로 눕히기]

1. 막대 그래프를 사용할 때 x축에 글자 수가 많다면 서로 겹쳐져서 가시성이 크게 떨어지는 경우가 있습니다. 이럴때는 x,y축을 바꿔서 바를 눕힌 가로바를 이용하면 좀 더 가시성을 회복할 수 있습니다. 기존은 세로 바 그래프를 만들기 위해서 plt.bar()를 사용했다면 가로로 눕히기 위해서는 plt.barh()를 사용해 주시면 됩니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 from matplotlib import pyplot as plt language = ['JavaScript', 'HTML/CSS', 'SQL', 'Python', 'Java', 'Bash/Shell/PowerShell', 'C#', 'PHP', 'C++', 'TypeScript', 'C', 'Other(s):..

Python matplotlib 사용하기 2. 막대 그래프

1. 막대그래프 기본적인 사용법 2. 2개 이상의 막대그래프 그리기 1. 막대그래프 기본적인 사용법 1 2 3 4 5 6 7 8 9 10 11 12 13 from matplotlib import pyplot as plt plt.style.use("fivethirtyeight") ages_x = [] for i in range(25,36): ages_x.append(i) dev_y = [38496, 42000, 46752, 49320, 53200, 56000, 62316,64928, 67317, 68748, 73752] plt.bar(ages_x,dev_y, label = "All Devs") plt.legend() plt.title("Median Salary (usd) by age") plt.xlabel..

반응형