본문 바로가기
Data_Analysis/Numpy, Pandas

[Pandas] Series

by Classic! 2020. 7. 13.

[Pandas (Panel Datas)]

- numpy를 기반으로 한 라이브러리

- 데이터 분석을 위한 효율적인 자료 구조를 제공하여 파이썬을 이용한 데이터 분석에서 가장 많이 사용.

- pandas 차원

  1) series(1차원) : vector
  2) DataFrame(2차원) : Metrix  >> 가장 빈번하게 쓰는 구조
  3) Panel(3차원)


[Series]

- 시리즈 생성, 구조 확인

import numpy as np
import pandas as pd
from pandas import Series, DataFrame

# 시리즈 생성
# 시리즈는 인덱스를 명시적으로 지정하지 않으면 자동으로 0~N -1까지의 정수로 지정
np.random.seed(0)
ser1=Series(np.random.randint(10,20,5),index=list('abcde'))
print(ser1.index)	# Index(['a', 'b', 'c', 'd', 'e'], dtype='object')
print(ser1.values)	# [15 10 13 13 17] >> 시리즈는 np배열과 같아 동일한 자료형만 담을 수 있다.
print(ser1.dtype)	# int32

 

- 시리즈의 값을 조회

'''
단일한 값, 여러값을 선택할 때
1) 인덱스로 지정 -- [1: 4] >> 마지막 숫자를 포함.
2) 라벨로 지정 -- ['a':'c'] >> 마지막 숫자를 포함 안함.

'''
print(ser1[1])		#10
print(ser1['b'])	#10
print(ser1[1:4])
'''
b    10
c    13
d    13
dtype: int32
'''

print(ser1['b':'d'])
'''
b    10
c    13
d    13
dtype: int32
'''

ser1=ser1[::-1]
print(ser1)
'''
e    17
d    13
c    13
b    10
a    15
dtype: int32
'''

ser1_1=ser1[::2]
print(ser1_1)
'''
e    17
c    13
a    15
dtype: int32
'''

 

- 누락 데이터 조회

ser1=ser1[::-1]
print(ser1)
'''
e    17
d    13
c    13
b    10
a    15
dtype: int32
'''

ser1_1=ser1[::2]
print(ser1_1)
'''
e    17
c    13
a    15
dtype: int32
'''

# 시리즈간의 연산
# 인덱스가 없는 시리즈의 연산은 NaN 출력....누락데이터
result=ser1+ser1_1
result
'''
a    30.0
b     NaN
c    26.0
d     NaN
e    34.0
dtype: float64
'''

 

>> Serues는 Numpy 배열과 같음. 따라서 배열 안에 있는 요소의 자료형이 같아야 함.
>> NaN의 자료형은 float. 따라서 int만 넣고 연산해도 Nan이 있으면 isnull 할 때 float형으로 나옴.

 

# 2. 누락데이터 조회하는 함수...isnull() notnull()
result

print(result.isnull())
'''
a    False
b     True
c    False
d     True
e    False
dtype: bool
'''

print(result.isnull().sum())	# 누락데이터 개수 : 2개

print(result.notnull().sum())	# 3

print(result[result.isnull()])	
'''
b   NaN
d   NaN
dtype: float64
'''

print(result[result.notnull()])
'''
a    30.0
c    26.0
e    34.0
dtype: float64
'''

'Data_Analysis > Numpy, Pandas' 카테고리의 다른 글

[Pandas] DataFrame 구조 확인  (0) 2020.07.21
[Pandas] DataFrame 생성  (0) 2020.07.21
[Numpy] 함수  (0) 2020.07.13
[Numpy] 배열 인덱싱, 슬라이싱  (0) 2020.07.12
[Numpy] 배열 생성  (0) 2020.07.10

댓글