콘텐츠로 이동

1차원 데이터 시리즈

Pandas 시리즈 생성하기

import numpy as np
import pandas as pd


# 1차원 배열 -> Series
# 2차원 배열 -> DataFrame


# 1차원 배열 -> Series
# value와 index(label)로 구성
# index는 숫자 또는 label 문자열로 구성

s = pd.Series(values, index)


# 리스트로 부터 생성
d = ['홍길동', '이순신', '율곡']

s = pd.Series(d)
print(s)


# 인덱스를 지정하여 생성
d = ['홍길동', '이순신', '율곡']
ix = ['A', 'B', 'C']

s = pd.Series(d, index=ix)
print(s)


# 딕셔너리로 인덱스와 값 같이 지정
d = {'A':'홍길동', 'B':'이순신', 'C':'율곡'}
s = pd.Series(d)
print(s)

시리즈 정보 확인

d = {'A':'홍길동', 'B':'이순신', 'C':'율곡'}
s = pd.Series(d)
print(s.values)
print(s.index)
print(s.size)
print(s.dtype)

인덱스 변경

d = {'A':'홍길동', 'B':'이순신', 'C':'율곡'}
s = pd.Series(d)
s.index = ['가', '나', '다']
print(s)

값 읽기

d = {'A':'홍길동', 'B':'이순신', 'C':'율곡'}
s = pd.Series(d)

print(s[2])
print(s['A'])

# 값 읽기 슬라이싱
print(s[0:2])

특정 위치 또는 특정 레이블 읽기

d = {'A':'홍길동', 'B':'이순신', 'C':'율곡'}
s = pd.Series(d)

idx = [0, 1]
s1 = s[idx]
print(s1)


idx = ['A', 'C']
s1 = s[idx]
print(s1)

시리즈 통계 함수

s.describe()
s.count()
s.mean()
s.var()
s.std()
s.min()
s.max()
s.median()
s.quantile(q=0.5)
s.unique()
s.value_counts()
s.mode()

요소 추가하기

a = pd.Series([3], index=['apple'])
s = s.append(a)

# 요소 삭제하기
s = s.drop('apple')

# 정렬하기
s1 = s.sort_index()
s2 = s.sort_values()