프로그래밍/Pandas

Pandas - Pandas Series

LeeSeunghyuk 2020. 12. 28. 16:07
반응형

안녕하세요.

이승혁입니다.

 

판다스 라이브러리에 대해 공부한 내용을 공유하겠습니다.

 

※ Pandas Library

 

     데이터 분석 라이브러리

     데이터 수집, 정리에 최적화된 도구

     오픈소스로 무료로 사용 가능 - 파이썬 내장함수

     가장 배우기 쉬운 언어인 파이썬 기반

 

 

### 데이터 분석 과정과 사용 라이브러리

 

     1. 데이터 수집 , 설명          - Pandas

     2. 데이터 탐색 및 시각화     - Pandas , matplotlib , seaborn

     3. 머신러닝 모델 훈련         - sklearn

     4. 머신러닝 모델 평가         - Pandas

     5. 머신러닝 모델 성능 개선   - Pandas

 

 


 

※ Pandas 자료구조

 

       분석을 위해 다양한 소스로 다양한 형태의 데이터들이 수집됩니다.

       서로 다른 형식의 데이터를 컴퓨터가 이해할 수 있도록 동일한 구조로 통합할 필요가 있습니다.

      판다스의 1차적인 목적은 서로 다른 유형의 데이터를 공통의 포맷으로 정리하는 것입니다.

 

 

     -  판다스 데이터 형식

     1. Pandas Series

     2. Pandas DataFrame

 

### Pandas Series

      판다스 시리즈는 데이터가 순차적으로 나열된 1차원 배열의 형태를 갖습니다.

      인덱스(index) : 데이터값(value) 1:1 대응이 됩니다.

 

      판다스 시리즈 생성은 다음과 같이 할 수 있습니다.

 

import pandas as pd
data={'a':1,'b':2,'c':3}
series=pd.Series(data)
print(series)

series=pd.Series({'a':4,'b':5,'c':6})
print(series)

print(type(series))

인덱스 : 'a', 'b', 'c'데이터값 : 1, 2, 3, 4, 5, 6dtype : int64 --> 시리즈를 구성하는 값의 자료형시리즈의 데이터 유형은 판다스 시리즈 객체

 

 

 

      ## Index

       

           인덱스는 대응하는 데이터 값, 주소를 저장합니다.

           인덱스를 잘 다룬다면 데이터 탐색, 정렬, 선택, 결합과 같은 데이터 조작을 쉽게 할 수 있습니다.

           index 속성을 이용해 인덱스만 , values 속성을 이용해 데이터 값만 추출 할 수도 있습니다.

           인덱스에는 2가지 종류가 있습니다.

 

           1. 인덱스 이름(index name) or 인덱스 라벨(index label)

           2. 정수형 위치 인덱스(integer position)

 

print(series.index) # 인덱스만 추출 , 인덱스 이름
print(series.values) # 데이터 값만 추출

print(series[0])    # 정수형 인덱스
print(series[1])    # 정수형 인덱스
print(series[2])    # 정수형 인덱스

인덱스를 따로 지정하지 않으면 ? ,

파이썬 리스트를 시리즈로 만들면 ?

--> 알아서 정수 인덱스가 출력됩니다.

 

index를 출력해보면 ?

-->  해당 범위의 range 객체로 표시됩니다

 

series_data=['a','b','c']
sd=pd.Series(series_data)
print(sd)
print(sd.index)

 

인덱스가 있다는 말은 원하는 데이터, 원소만 출력할 수 있다는 뜻입니다.

인덱스의 종류가 2개는 출력할 때 서로 다르게 사용합니다.

 

정수 인덱스 : series[인덱스] or series[ [ 인덱스1, 인덱스2 ... ] ]

인덱스 이름 : series['인덱스'] , or series [ [ '인덱스1', '인덱스2' ... ] ]

 

인덱스 이름은 문자니까 따옴표만 적어주면 됩니다.

하나의 원소일 때는 대괄호만 [] , 2개 이상일 경우 리스트 형태로 대괄호 안에 작성합니다.

인덱스는 시리즈 객체 생성시 따로 지정해줄 수 있습니다.

data=['이승혁','1995-02-28','010-1234-5678','남']
# 시리즈 객체 생성 시 함께 인덱스 지정
series_data=pd.Series(data,index=['이름','생년월일','전화번호','성별'])

print(series_data,'\n--------')
print(series_data['이름'],'\n--------')
print(series_data[['이름','성별']])

print('-'*10+'\n'+'-'*10)

series_data=pd.Series(data)
# index 속성을 이용해 리스트로 부여
series_data.index=['이름','생년월일','전화번호','성별']
print(series_data)

슬라이싱을 사용해서 출력할 수도 있습니다.

 

 

반응형