일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 데이터분석
- 머신러닝
- 사이버보안
- Yes
- 소프트웨어공학
- 네트워크
- 프로그래밍언어
- 알고리즘
- 2
- I'm Sorry
- 보안
- 자료구조
- 코딩
- 딥러닝
- 버전관리
- 데이터과학
- 빅데이터
- 컴퓨터과학
- 클라우드컴퓨팅
- 자바스크립트
- 컴퓨터비전
- 인공지능
- 소프트웨어
- 웹개발
- 파이썬
- 데이터베이스
- 프로그래밍
- 네트워크보안
- 컴퓨터공학
- 데이터구조
- Today
- Total
스택큐힙리스트
판다스 시리즈의 요소별 논리 NOT을 어떻게 얻을 수 있나요? 본문
저는 부울 값이 포함된 판다스 객체를 가지고 있습니다. 각 값을 논리적으로 연산한 결과를 시리즈로 어떻게 얻을 수 있을까요?
예를 들어, 다음과 같은 시리즈를 고려해보십시오:
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을 구하는 방법은 `~` 연산자를 사용하면 됩니다. 이외에도 다양한 연산자를 사용하여 논리연산을 수행할 수 있으니, 데이터 분석에 필요한 연산을 적극적으로 활용해보시기 바랍니다.