반응형

 

파이썬, Pandas의 Series, DataFrame 자료 예제

 

글. 수알치 오상문 

 

다음 코드는 Pandas에서 제공하는 Series 자료형과 DataFrame 자료형을 다루는 예제입니다.

 

import pandas as pd
# (1) Series 생성과 출력 
sdata = pd.Series([10, 20, 30, 40, 50])
print(sdata)
print(sdata[0], sdata[1]) 
# (2) 인덱스 직접 지정 
sdata = pd.Series([10,20,30,40], index=['2021-01-01','2021-01-02','2021-01-03','2021-01-04'])
print(sdata)
print(sdata[0], sdata['2021-01-01'])  # 인덱스는 인덱싱 번호나 지정된 문자열 모두 가능
# (3) Series 연산
sdata1 = pd.Series([10, 20, 30, 40], index=['2021-01-01', '2021-01-02', '2021-01-03', '2021-01-04'])
sdata2 = pd.Series([40, 30, 20, 10], index=['2021-01-04', '2021-01-03', '2021-01-02', '2021-01-01'])
# Series 더하기 (인덱스 이름 기준으로 덧셈, 새 시리즈의 인덱스 순서는 sdata1 기준)
print(sdata1 + sdata2)
# Serise 빼기, 곱하기, 나누기, 나머지
print(sdata1 - sdata2)
print(sdata1 * sdata2)
print(sdata1 / sdata2)
print(sdata1 // sdata2)
print(sdata1 % sdata2)
# (4) 사전 자료를 이용한 데이터프레임(dataframe) 자료 만들기
scores = {'길동':[90, 80, 70], '철수':[80, 90, 100], '영희':[100, 100, 90]}
df = pd.DataFrame(scores)
print(df)
# (5) 컬럼 순서 바꿔서 데이터프레임 만들기
df = pd.DataFrame(scores, columns=['길동','영희','철수']) 
print(df)
# (6) 인덱스 새로 지정한 데이터프레임 만들기
new_index = ['국어', '영어', '수학']
df = pd.DataFrame(scores, index = new_index)
print(df)

 

[실행 결과] (1) 시리즈 자료 생성, 출력

0    10
1    20
2    30
3    40
4    50
dtype: int64
10 20

 

[실행 결과] (2) 시리즈 자료의 인덱스 지정 
2021-01-01    10
2021-01-02    20
2021-01-03    30
2021-01-04    40
dtype: int64
10 10

 

[실행 결과] (3) 데이터프레임 자료형 더하기, 빼기, 곱하기, (실수)나누기, (정수)나누기, 나머지
2021-01-01    20
2021-01-02    40
2021-01-03    60
2021-01-04    80
dtype: int64


2021-01-01    0
2021-01-02    0
2021-01-03    0
2021-01-04    0

dtype: int64

 

2021-01-01     100
2021-01-02     400
2021-01-03     900
2021-01-04    1600
dtype: int64

 

2021-01-01    1.0
2021-01-02    1.0
2021-01-03    1.0
2021-01-04    1.0
dtype: float64

 

2021-01-01    1
2021-01-02    1
2021-01-03    1
2021-01-04    1
dtype: int64

 

2021-01-01    0
2021-01-02    0
2021-01-03    0
2021-01-04    0
dtype: int64

 

[실행 결과] (4) 데이터프레임 자료 생성, 출력 

   길동   철수   영희
0  90   80  100
1  80   90  100
2  70  100   90

 

[실행 결과] (5) 컬럼 순서 변경 
   길동   영희   철수
0  90  100   80
1  80  100   90
2  70   90  100

 

[실행 결과] (6) 인덱스 새로 지정 
    길동   철수   영희
국어  90   80  100
영어  80   90  100
수학  70  100   90

 

반응형

+ Recent posts