[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 |
댓글