Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬 리스트로 판다스 시리즈의 정수 나눗셈 연산 수행하는 방법

정수 나눗셈(floor division) 연산은 판다스 시리즈의 요소에 대해 리스트나 튜플 같은 다른 파이썬 시퀀스를 기준으로도 적용할 수 있습니다.

판다스 시리즈 클래스에서 제공하는 floordiv() 메서드를 사용하면, 시리즈 객체의 각 요소를 다른 시리즈, 스칼라 값 또는 리스트 형태의 객체와 요소 단위(element-wise)로 정수 나눗셈할 수 있습니다.

이 글에서는 몇 가지 예제를 통해 floordiv() 메서드가 파이썬 리스트의 요소들과 어떻게 정수 나눗셈 연산을 수행하는지 살펴보겠습니다.

예제 1

아래는 floordiv() 메서드를 활용한 정수 나눗셈 연산의 동작 방식을 이해하기 위한 예제입니다.

import pandas as pd
import numpy as np

# 판다스 시리즈 생성
s = pd.Series({'A':None,'B':58,"C":85, "D":28, 'E':np.nan, 'G':60 })

print("Series object:",s)

# 정수 리스트를 사용해 floordiv() 적용
print("Output:")
print(s.floordiv(other=[18, 16, 9, 15, 14, 6]))

설명

위 코드에서는 floordiv() 함수를 사용하여 시리즈 객체 "s"를 파이썬 리스트와 정수 나눗셈합니다. 주어진 시리즈 객체 "s"에는 인덱스 위치 "A"와 "E"에 결측값(missing value)이 포함되어 있습니다.

출력 결과

실행하면 다음과 같은 출력을 얻을 수 있습니다.

Series object:
A     NaN
B     58.0
C     85.0
D     28.0
E     NaN
G     60.0
dtype: float64

Output:
A     NaN
B     3.0
C     9.0
D     1.0
E     NaN
G     10.0
dtype: float64

위 출력 결과에서 볼 수 있듯이, floordiv() 메서드는 주어진 시리즈 객체를 파이썬 리스트로 정수 나눗셈한 결과를 성공적으로 반환했습니다. fill_value 매개변수에 값을 지정하지 않았기 때문에 결측값(NaN)은 그대로 결과에 유지됩니다.

예제 2

이번에는 fill_value 매개변수를 사용하여 결측값을 대체한 상태에서 정수 나눗셈 연산을 적용해 보겠습니다.

import pandas as pd
import numpy as np

# 판다스 시리즈 생성
s = pd.Series({'A':None,'B':58,"C":85, "D":28, 'E':np.nan, 'G':60 })

print("Series object:",s)

# fill_value로 결측값을 대체하며 floordiv() 적용
print("Output:")
print(s.floordiv(other=[18, 16, 9, 15, 14, 6], fill_value=20))

출력 결과

실행 결과는 아래와 같습니다.

Series object:
A     NaN
B     58.0
C     85.0
D     28.0
E     NaN
G     60.0
dtype: float64

Output:
A     1.0
B     3.0
C     9.0
D     1.0
E     1.0
G     10.0
dtype: float64

위 코드를 실행하면 결측값이 스칼라 값 20으로 대체된 후 정수 나눗셈 연산이 수행됩니다. 그 결과 인덱스 "A"와 "E" 위치의 NaN 값이 각각 20 ÷ 18 = 1, 20 ÷ 14 = 1로 계산되어 출력된 것을 확인할 수 있습니다.