반응형

pandas 8

서울 코로나 요일별 확진자 비율 (2020.01.24~ 2021.08.17 )

*pie chart를 이용하여 요일별 확진자 비율을 시각화해 보았습니다. *explode를 이용해 최고비율_요일와 최저비율_요일를 강조했습니다. *비율의 0아래의 자릿수를 두자리로 제한했습니다. [전체 코드] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 import pandas as pd from matplotlib import pyplot as plt df = pd.read_csv("seoul_corona_now - seoul_corona_now.csv",parse_dates = ['확진일','등록일','수정일']) df['확진_요일']=df['확진일'].dt.day_name() count_요일 = df['확진_요일'].value_co..

서울 일별 코로나 확진자 수 그래프 그리기

지금까지 배웠던 pandas와 matplotlib을 이용하여 서울 코로나 확진자 수를 그래프로 나타내 보았습니다. row 값에 환자 한명의 정보가 나타나 있기 때문에 확진일을 이용하여 value_counts()를 사용해 일일 확진자의 수를 뽑았습니다. xtick이 너무 많아서 '2020-01-24','2020-05-24','2020-10-24','2021-03-24','2021-08-17' 이렇게 다섯 날짜만 표시되도록 했습니다. 평균값을 중심으로 평균 이상과 평균 이하를 표현하기 위해 plt.fill_between을 사용했습니다. 선의 굵기의 기본값인 2는 너무 굵어서 1.5로 선의 굵기를 변경했습니다. [전체 코드] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19..

어느 정도 노하우가 쌓인 xml 공공데이터 parsing과 CSV 저장

* 필요한 라이브러리 1. 파싱하기 전에 반드시 해야 할것 1)미리보기를 통한 데이터형태 파악하기 2)참고문서 다운받기 2. 파싱시작하기 1) 라이브러리 불러오기 2) 요청 명세를 보고 url 잘게자르기 3) Beautifulsoup와 lxml을 이용하여 데이터 파싱하여 다시 형태파악 4) 파싱할 함수 짜기 (예외처리 반드시 넣기) 5) pandas에 사용할 수 있는 표 형태로 저장하기 3. 다음에 빠르게 불러 올 수 있게 csv 파일로 저장하기 4. 전체 코드 바로가기 *이 글은 pandas를 편하게 사용하기 위해 jupyter notebook을 사용했습니다. **이 글을 위해 사용한 공공데이터는 "공공데이터활용지원센터_보건복지부 코로나19 감염 현황" 입니다. ***공공데이터 xml을 파싱하기 위해서..

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

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

<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. 두 개 이상의 데이터 정렬하기 먼저 나이에 따라..

<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의 ..

pandas 사용하기 2 index 바꾸기 (df.set_index())

pandas에서 CSV 파일을 불러들이면 가장 앞에 index부분이 0부터 시작하는 숫자로 지정되며, 그 column의 이름이 지정되지 않습니다. 그렇기에 앞서 살펴본 loc으로 하는 검색에 불편함이 생길 수 있습니다. 오늘은 초기 지정되는 index column을 표 내부의 내용으로 바꿔서 loc로 하는 검색이 원활해 질 수 있는 set_index()에 대해 살펴보겠습니다. 초기에 dic 자료형인 people를 DataFrame으로 df를 만들면 위에서 보는 바와 같이 가장 앞에 인덱스 값이 0,1,2로 나오며 이 곳의 name은 지정되지 않습니다. 이 인덱스를 address값으로 바꿔보겠습니다. 방법은 간단합니다. df.set_index('adress') 를 실행해 주면 됩니다. 그리고 다시 df를 ..

<Python> Pandas 사용하기 [list와 dictionary 자료형의 사용]

dictionary 자료형의 형태는 표의 형태와 비슷합니다. dictionary 자료형의 모습은 이렇게 중괄호 안에 Key 값 : value 값으로 나눠져 있습니다. 마치 자바의 해쉬맵과 흡사한 구조입니다. dictionary 자료형은 key 값에 여러 value 값을 list로 지정할 수 있습니다. 이런식으로 name 이라는 key 값에 김똘칠, 박달달, 홍복길 이라는 value 값을 넣을 수 있습니다. name을 column에 넣고, 김똘칠, 박달달, 홍복길을 그 값으로 넣을 수 있습니다. name 김똘복 박달달 홍복길 pandas 의 데이터프레임에 dic형 자료 people를 넣으면 pandas에서 표로 만들어 줍니다. (1) column안의 값 찾기 df['column의 이름'] df['addre..

반응형