반응형

데이터분석/Python Pandas 10

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

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

<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 Pandas> 5.Column 이름과 Rows 변경하기 1

1. column 이름 변경 *x.upper() **df.columns.dtr.replace ***rename 2. row 변경 - df.loc[] 오늘은 columns의 이름 rows를 변경해보겠습니다. 먼저 데이터프레임을 짜줍니다. 1. column 이름 변경 그리고 df.columns를 이용하면 columns들이 잡혀나옵니다. 그리고 그 안에는 columns의 이름인 name age address가 들어있는 것을 알 수 있습니다. 잡아온 columns들의 내용을 바꿔주겠습니다. 형식은 df.columns 안에 들어 있듯이 같은 형태로 합니다. df.columns = ['이름','나이','주소'] 이렇게 실행을 해주면 column들의 이름이 바뀌어 있는 것을 확인 할 수 있습니다. *영어로 colum..

<Python Pandas> 4. 중간점검 공공 데이터에 적용해보기

1. 생략된 row나 column 모두 표시하기 2. 데이터 형을 확인하고 숫자형 자료형으로 변경하기 df.dtypes, pd.to_numeric 3. 필터 생성하여 검색하기 4. 정렬하기와 인덱스 지정하기 df_sort_by_values, df.set_index 지금까지 알아보았던 것들을 복습도 할겸 371rows와 13개의 column을 가지고 있는 코로나 관련 공공데이터를 가지고 왔습니다. 1. 생략된 row나 column 모두 표시하기 df 에 넣어서 출력했더니 너무 길어서 중간에 생략을 했습니다. 이렇게 생략된 자료를 보기 위해서는 pd.set_option('display.max_rows',371)을 사용해 줍니다. * column의 수가 많아 생략이 되었다면 pd.set_option('disp..

<Pandas 사용하기> 3.검색 필터 작성하기 [1]

Pandas를 사용하여 데이터 안에서 원하는 조건에 맞는 데이터를 찾을 수 있는 필터를 작성하는 법에 대해 알아보겠습니다. 우선 people를 pandas를 사용하여 DataFrame을 짜 줍니다. 그러면 위의 표 형식으로 출력이 됩니다. 그럼 여기서 나이가 24인 row를 찾으려면 필터를 작성해 줘야합니다. 1. 필터 작성하기 (1)필터로 쓸 변수의 이름을 'filt'로 정하겠습니다. *파이썬에는 내장 함수로 filter가 있습니다. 그래서 filter를 직접 변수로 쓰지 마시고 다른 이름들을 사용해 주시면 더 좋습니다. (2)그리고 필터를 작성해줍니다. 데이터프레임의 이름이 df 이므로 df 안에 'age' 속성이 '24'인 row를 찾아야 합니다. df['age'] == '24' 라고 표현할 수 있..

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

<Python> pandas 시작하기( pandas 설치, csv 읽기,행과 열 정보 읽기, 데이터 형태 알아내기)

Pandas를 사용하기에는 Jupyter notebook을 사용하는 것이 좋습니다. 바로바로 시각화된 자료를 쉽고 깔끔하게 볼 수 있기 때문입니다. 1. Pandas 설치하기 pip을 사용하여 pandas를 설치할수 있습니다. pip install pandas 2. csv 파일 불러오기 *공공 데이터 중 충청북도_날씨 현황을 예제로 사용했습니다. (1) pandas를 사용하기에 앞서 pandas를 pd로 import 해 옵니다. import pandas as pd (2) df 라는 변수에 csv 파일 안의 내용을 저장해 봅시다. df = pd.read_csv('충청북도_날씨 현황_20200930.csv') *한글로 된 CSV 파일을 불러올 때 는 제대로 불러오지 못하는 현상이 발생할 수 있습니다. 이럴때..

반응형