시리즈는 데이터프레임의 하위 자료형으로, 1개의 열이 시리즈이고 이 시리즈가 다수 모여 데이터프레임을 형성한다고 이해하면 쉽다.

import pandas as pd
index = ['eggs', 'apples', 'milk', 'bread']
data = [30, 6, 'Yes', 'No']
groceries = pd.Series(data = data, index = index)
groceries
eggs       30
apples      6
milk      Yes
bread      No
dtype: object

시리즈 변수에 []기호 안에 숫자 인덱스나, 정해놓은 인덱스를 넣으면 되고, 두개이상 쓸때는 배열로 넣는다.

groceries[0]
groceries[['eggs','bread']]
30

eggs     30
bread    No
dtype: object

다음은 데이터프레임을 생성해보겠다.

import pandas as pd

# We create a dictionary of Pandas Series 
items = {'Bob' : pd.Series(data = [245, 25, 55], index = ['bike', 'pants', 'watch']),
         'Alice' : pd.Series(data = [40, 110, 500, 45], index = ['book', 'glasses', 'bike', 'pants'])}
df = pd.DataFrame(data = items)
df

DataFrame

마찬가지로 데이터 억세스는 []로 한다.

column

두번째는 행과 열의 정보로, 데이터를 가져오는 방법 사람용인, 인덱스와 컬럼명으로 데이터를 억세스(가져오는) 방법이다. loc[인덱스, 컬럼명]

loc

세번째는 컴퓨터가 자동으로 매기는 인덱스로, 행과 열을 가져오는 방법이다.

엑셀에서 사용하는 피벗테이블과 같은 기능을 처리하는 방법을 알아보자. 아래는 예제에 사용할 데이터다.

데이터
pivot_table

pandas.pivot_table(data, values=None, index=None, aggfunc='mean')

data: DataFrame

values: 열 자리에 들어갈 column

index: 인덱스에 들어갈 column

aggfunc: 적용할 함수

데이터
hist2d

hist2d()를 이용해 히트맵을 그린다. 파라미터는 x,y에 column bins에 간격을 넣고 cmin cmap으로 색을 꾸민다.

data
scatter

scatter(data = DataFrame , x = column, y = column)로 그래프를 그리고, 제목과 라벨을 넣는다.

regplot

replot(data = DataFrame, x = column, y = column)을 통해 그래프를 그린다. 그래프에 선은 회귀를 나타낸 것이다.

corr()을 통해서도 알 수 있다.

'데이터 분석 > 데이터 시각화' 카테고리의 다른 글

파이썬 corr()과 상관분석 시각화  (0) 2022.05.04
파이썬 hist2d() 히트맵  (0) 2022.05.03
파이썬 hist() 히스토그램  (0) 2022.05.03
파이썬 pie charts  (0) 2022.05.03
파이썬 countplot() bar charts  (0) 2022.05.03

히스토그램

구간을 설정하여 해당 구간에 포함되는 데이터가 몇개 있는 세는 차트를 히스토그램이라고 한다.
구간을 전문용어로! bin 이라고 부른다, bin 이 여러개니까, bins라고 부른다, 히스토그램의 데이터는 동일하지만,
구간을 어떻게 나누냐에 따라서, 차트 모양이 여러가지로 나온다.

data

위는 예제에 쓸 데이터다.

hist

hist(data = 데이터프레임, x = 데이터프레임의 열, rwidth = 막대 넓이, bins = 막대 간격)을 통해 그래프를 그린다.

pie chart

데이터 df는 전글에 이어서 그대로 사용한다. sorted_data를 value_count()로 구해 대입한다.

autopct는 소수점을 나타내고, labels에는 index를 넣어준다.

stratangle을 통해 chart를 회전할 수 있고 wedgeprops로 중간에 구멍을 뚫을 수 있다.

title과 legend(범례)를 넣어준다

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sb

%matplotlib inline
df = pd.read_csv('../data/pokemon.csv')

기본적인 라이브러리를 import하고 csv파일을 pd.read_csv()로 읽어와 df라는 변수에 저장했다.

데이터 정보

generation_id column에 관한 차트를 그리기 위해 categorical data인지 확인해본다.

categorical data

807행 중 7개의 카테고리로 나눠져있다.

base_color = sb.color_palette()[2]
my_order = df['generation_id'].value_counts().index

countplot

sb.color_palette()를 통해 색을 지정하고 value_counts().index로 내림차순 인덱스를 얻어서 x에 원하는 column을 대입했다.

plot

 

데이터 합치기

데이터 분석을 하기 위해 여러 곳에서 데이터를 수집해 합쳐야 한다.

데이터 예시

pd.concat()함수는 데이터프레임을 말그대로 물리적으로 이어 붙여주는 함수다.

concat

pd.merge()함수는 두 데이터프레임을 각 데이터에 존재하는 고유값(key)을 기준으로 병합할때 사용한다.
pd.merge(df_left, df_right, how='inner', on=None)이 default이다.

'Employee ID' 를 연결고리로 합친다.

merge

pd.join() 함수를이용한 데이터프레임 합치기다. pd.join()은 인덱스를 기준으로 왼쪽으로 순차적으로 연결되는 방식이다. 어떤 인덱스를 기준으로 하느냐에 따라 배열이 달라진다.

join

 

특정 column을 기준으로 내림차순,오름차순으로 정렬해주는 함수인 sort_values()에 대해 알아보겠다

다음은 예제에 쓰일 데이터이다.

data

첫 번째 parameter에는 기준을 써주고 ascending이 True면 오름차순 False면 내림차순이다.

sort

여러개의 정렬 기준을 정하고 싶으면 배열을 쓰면 된다.

sort

+ Recent posts