PYTHON LIBRARY/Pandas Library

Python Pandas로 데이터 처리하기 : 시리즈의 레이블 접근과 산술 연산

신강희 2024. 4. 8. 23:51
728x90

< Accessing and Deleting Elements in Pandas Series - 레이블과 인덱스 >

# Pandas Series에서의 데이터 접근과 삭제

# 이전장에서 사용하였던 데이터를 사용하여 진행

 

groceries

eggs       30
apples      6
milk      Yes
bread      No
dtype: object

 

# 판다스에서는 인덱스 수를 계산하여 부를 필요없이 지정된 명칭을 사용하면 된다.

groceries['eggs']

30

 

groceries['bread']

'No'

 

# 따로 출력되는 값을 불러올때는, list 로 묶음 처리를 하여 활용

groceries[['eggs','bread']]

eggs     30
bread    No
dtype: object

 

groceries['apples' : 'bread']

apples      6
milk      Yes
bread      No
dtype: object

 

< Arithmetic Operations on Pandas Series >

# 산술연산

index = ['apples', 'oranges', 'bananas']
data = [10, 6, 3]

 

fruits = pd.Series(data= data, index= index)

 

fruits

apples     10
oranges     6
bananas     3
dtype: int64

 

# 전체 5개씩 증가

fruits = fruits + 5 => 반복문이 필요없기 때문에 판다스가 유용한것

 

fruits

apples     15
oranges    11
bananas     8
dtype: int64

 

# 오렌지가 2개 팔렸다. (한 항목 값만 변경할때)

fruits

apples     15
oranges    11
bananas     8
dtype: int64

 

# 특정한 항목만 수정된걸 그 자리에 데이터를 변경할때 사용하는 방법

fruits['oranges'] = fruits['oranges'] - 2

 

fruits

apples     15
oranges     9
bananas     8
dtype: int64

 

# 사과랑 바나나가 3개씩 팔렸다.

fruits[['apples','bananas']] - 3

apples     12
bananas     5
dtype: int64

 

fruits[['apples','bananas']] = fruits[['apples','bananas']] - 3

 

fruits

pples     12
oranges     9
bananas     5
dtype: int64

 

< 예제 연습 >

import pandas as pd

 

1. 다음과 같은 레이블과 값을 가지는 Pandas Series 를 만드세요. 변수는 dist_planets 로 만드세요.

distance_from_sun = [149.6, 1433.5, 227.9, 108.2, 778.6]

planets = ['Earth','Saturn', 'Mars','Venus', 'Jupiter']

dist_planets = 

 

2. 거리를 빛의 상수 c( 18 ) 로 나눠서, 가는 시간이 얼마나 걸리는 지 계산하여 저장하세요.
time_light = 

3. Boolean indexing을 이용해서 가는 시간이 40분보다 작은것들만 가져오세요.
close_planets = 

 

< 답안 작성 >

distance_from_sun = [149.6, 1433.5, 227.9, 108.2, 778.6]
planets = ['Earth','Saturn', 'Mars','Venus', 'Jupiter']

 

dist_planets = pd.Series(data= distance_from_sun, index= planets)

 

dist_planets

Earth       149.6
Saturn     1433.5
Mars        227.9
Venus       108.2
Jupiter     778.6
dtype: float64

 

# 거리를 빛의 상수 c( 18 ) 로 나눠서, 가는 시간이 얼마나 걸리는 지 계산

time_light = dist_planets / 18

 

time_light < 40

Earth       True
Saturn     False
Mars        True
Venus       True
Jupiter    False
dtype: bool

 

# Boolean indexing을 이용해서 가는 시간이 40분보다 작은것들만 불러옴

close_planets = time_light[ time_light < 40 ]

 

# 결과 확인

close_planets

Earth     8.311111
Mars     12.661111
Venus     6.011111
dtype: float64

 

다음 게시글에서 계속

반응형