스택큐힙리스트

판다스 시리즈의 요소별 논리 NOT을 어떻게 얻을 수 있나요? 본문

카테고리 없음

판다스 시리즈의 요소별 논리 NOT을 어떻게 얻을 수 있나요?

스택큐힙리스트 2023. 4. 28. 11:05
반응형

저는 부울 값이 포함된 판다스 객체를 가지고 있습니다. 각 값을 논리적으로 연산한 결과를 시리즈로 어떻게 얻을 수 있을까요?

예를 들어, 다음과 같은 시리즈를 고려해보십시오:

True

True

True

False

저는 얻고 싶은 시리즈는 다음을 포함해야 합니다 :

False

False

False

True

이건 관대하고 쉽게 보이지만, 내 모조랑은 어디 죽었는지 몰라서 그런가봅니다 =(

답변 1

부울 시리즈를 반전시키려면 use ~s :

In [7]: s = pd.Series([True, True, False, True])

In [8]: ~s

Out[8]:

0 False

1 False

2 True

3 False

dtype: bool

파이썬2.7, NumPy 1.8.0, Pandas 0.13.1을 사용하여:

In [119]: s = pd.Series([True, True, False, True]*10000)

In [10]: %timeit np.invert(s)

10000 loops, best of 3: 91.8 µs per loop

In [11]: %timeit ~s

10000 loops, best of 3: 73.5 µs per loop

In [12]: %timeit (-s)

10000 loops, best of 3: 73.5 µs per loop

Pandas 0.13.0부터 Series는 더 이상 numpy.ndarray의 하위 클래스가 아니라 #$**^@&$&의 하위 클래스입니다. 이것은 #$&#@*$!*$&가 더 이상 #$&**&@$& 또는 -s보다 빠르지 않은 이유 중 일부일 수 있습니다.

주의: 하드웨어, 컴파일러, 운영 체제, Python, NumPy 및 Pandas 버전을 포함한 많은 요인에 따라 결과가 달라질 수 있습니다.

답변 2

판다스(Pandas)는 Python 언어를 사용하는 데이터 분석 도구로, 시리즈(Series)와 데이터프레임(DataFrame)이라는 두 가지 주요 데이터 구조를 제공합니다. 시리즈는 1차원 배열로, 배열 안의 원소들은 동일한 자료형을 가지고 있습니다.

시리즈 내 원소들의 논리적 NOT을 구하는 방법에 대해 살펴보겠습니다. 시리즈 요소의 NOT 연산을 수행하기 위해서는 `~` 연산자를 사용해야 합니다.

예시를 들어보겠습니다. 아래와 같은 시리즈를 만들어봅시다.

``` python

import pandas as pd

s = pd.Series([True, False, True])

```

이 시리즈 s는 `[True, False, True]`와 같은 요소를 가지고 있습니다. 각각의 요소들에 NOT 연산을 적용하기 위해서는 아래와 같이 작성합니다.

``` python

s_not = ~s

print(s_not)

```

위의 코드를 실행하면 `[False, True, False]`을 출력할 수 있습니다. 즉, 원소들의 논리적 NOT 결과를 얻을 수 있습니다.

판다스에서 시리즈는 다양한 통계적 함수와 연산자를 지원하며, 이 중에서 논리 연산자는 매우 유용합니다. `&` 연산자는 시리즈 내 요소들을 AND 연산하며(`<`), `|` 연산자는 OR 연산하고(`<`), `^` 연산자는 XOR 연산합니다(`<`). 이렇게 시리즈에서 논리연산을 할 수 있기 때문에, 데이터 분석에서 필요한 다양한 연산을 쉽게 수행할 수 있습니다.

결론적으로, 판다스에서 시리즈의 논리적 NOT을 구하는 방법은 `~` 연산자를 사용하면 됩니다. 이외에도 다양한 연산자를 사용하여 논리연산을 수행할 수 있으니, 데이터 분석에 필요한 연산을 적극적으로 활용해보시기 바랍니다.

반응형
Comments