다시 이음

pandas 기초 이해 본문

AI 일별 공부 정리

pandas 기초 이해

Taeho(Damon) 2021. 7. 10. 17:34
import numpy as np

import pandas as pd

 

pandas 툴을 불러오는 키워드

 

판다스(pandas)의 기본 자료구조

판다스는 R을 모티브로하여 만든 파이썬 라이브러리이다. 

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

 

즉, 시리즈는 1개의 열로 각기 index를 가지고 있다.

 

series 구조 분석

-series에 값을 입력하기

 

series_data = pd.series(['value1', 'value2'...])

 

이렇게 하면 1개의 열에 해당 value가 입력되어 시리즈를 형성하게 된다.

 

 

여기서 시리즈에 연결되는 index를 만들기 위해서는

 

series_data

= pd.series(['value1', 'value2'...], index= ['index값',...])

 

위의 코드를 통해 index명을 입력할 수 가 있다.

 

 

-시리즈 인덱싱(값 찾기)

 

index를 지정하지 않았을 경우는 행의 숫자로 인덱싱이 가능하고,

index를 지정하였을 때는 행의 숫자와 index명을 사용하여 인덱싱이 가능하다.

 

# index를 출력하지 않고 series값만 출력할 때 / 대괄호가 한번만 있으면 된다.
print(series_data[0])
print(series_data['index1','index2'])

# index명과 series값을 같이 출력할 때1 ( 쉼표를 사용하여 불러올 때 ) / 대괄호 2번 필요
print(series_data[[0,1]])
print(series_data[['index1','index2']])

# index명과 series값을 같이 출력할 때2 ( :콜론을 이용해 불러올 때 ) / 대괄호 1번
print(series_data[0:1])  # 1행의 값이 포함되지 않음
print(series_data['index1':'index4']]) # index4행의 값이 포함됨

 

데이터 프레임 구조 분석

 

데이터 프레임은 여러 개의 행, 열로 이루어져 행(index), 열(column)값을 가지게 된다.

 

- inex, column

 

index와 column는 name을 가지는 데 해당 값을 변경하고 싶으면 하기의 메소드를 사용하면 된다.

 

1.

df.index = ['index1', 'index2']
df.columns = ['col1', 'col2']

2. rename함수 사용하기

df.rename(columns={변경 전 열이름, 변경 후 열이름}, inplace=True)
#columns 대신 index를 넣으면 행이름 변경 가능
# inplace = True를 입력하면 원본에 직접 변경 가능

 

- index,column 삭제

 

# 한 개의 행,열을 제거할 경우

drop('행 또는 열이름', axis = 0 or 1, inplace =True)
# axis 란 0 일 때는 행에 적용, 1일 때는 열에 적용한다는 의미이다.
# axis는 디폴드값이 0으로 행 삭제시에는 스킵하고 작성 가능

# 한 개 이상의 행,열을 제거할 경우
drop(['행,열이름','행,열이름1'], axis = 0 or 1, inplace =True)

 

- 데이터프레임 인덱싱(행을 찾자)

 

#loc는 이름
#iloc는 숫자
1개 선택
df.loc['index1']
df.iloc[0]

각각 선택
df.loc[['index1', 'index2']]
df.iloc[[0, 2]]

범위 선택
df.loc['index1':'index4']
df.iloc[0:3]

 

-열 찾기

 

열(column)을 찾는 데에는 따로 함수가 필요하지 않다.

 

df['열 이름']
df['열 이름1', '열 이름2']

 

- 한 개의 값 불러오기

 

1개의 값
df.loc['index','column']
df.iloc[0,2] # 0행 2열 값 불러오기

1개의 행의 여러가지 값
df.loc['index',['col1','col2']] # index행의 col1,col2열 값을 불러오기
df.iloc[0,[2,3]] # 0행의 2,3열 값 불러오기

여러행,여러열의 값
df.loc[['index1','index2']],[['col1','col2']]
df.loc['index1':'index2'],['col1':'col2']
df.iloc[0:2],[2:3]

 

데이터 타입 확인하기

 

type(series_data)  #해당 입렵값에 type을 알 수 있는 코드

 

[out put]

<class 'pandas.core.series.Series'> # 1열로 이루어진 series이기에 series라는 값이 나온다.