코딩을 하다 보면 각종 연산자들 때문에 머리가 아프다.
언어를 하나만 다루면 그나마 좀 다행인데,
언어를 몇개를 하다 보면 언어마다 연산자를
미세하게 다르게 쓰기 때문에 헷갈릴 때마다 찾아보게 된다.
파이썬에서도 연산자가 있는데,
오늘 판다스 관련 예제를 풀다가 의문이 생겼다.
데이터는 아래와 같았다.
문제는 아래 링크 27번 문제였다. 그냥 간단하게 판다스 개념이나 API들을 점검하기 좋은 기본문제가 있다.
관심 있는 분들은 풀어보면 기본을 익히는데 도움이 될 듯하다.
https://www.datamanim.com/dataset/99_pandas/pandasMain.html
판다스 연습 튜토리얼 — DataManim
Question 43 df의 데이터 중 new_price값이 lst에 해당하는 경우의 데이터 프레임을 구하고 그 갯수를 출력하라 lst =[1.69, 2.39, 3.39, 4.45, 9.25, 10.98, 11.75, 16.98]
www.datamanim.com
아무튼, 본론으로 돌아와서 문제는 그냥
문제 27 : new_price값이 9 이하이고 item_name 값이 Chicken Salad Bowl 인 데이터 프레임을 추출하라
라는 간단한 index 문제인데, 처음에는
그럼 and와 &는 머가 다를까..
인터넷에는 정리가 잘 된 글들이 많다.
http://pythonstudy.xyz/python/article/8-%EC%97% B0% EC%82% B0% EC% 9E%90
예제로 배우는 파이썬 프로그래밍 - 연산자
연산자 파이썬은 산술연산자, 비교연산자, 할당연산자, 논리연산자, Bitwise 연산자, 멤버쉽연산자, Identity연산자를 지원한다. 1. 산술연산자 산술연산자에는 (1) 사칙연산자 +, -, *, / 와 (2) 제곱을
pythonstudy.xyz
흠.. 이 글을 참조해서 추측해 볼 때,
파이썬의 데이터프레임에서 쓰는 조건식에는 비트연산을 하는 것으로 보인다.
비트연산은 쉽게 말하면 컴퓨터의 숫자인 0과 1을 가지고 연산을 하는 것인데,
두 조건을 동시에 만족한다고 생각해서 논리연산자 and를 썼던 게, 에러폭력의 원인이었다.
판다스나 넘파이 같은 데이터를 다루는 파이썬의 프레임워크들은 C를 기반으로 만들어져 있다고 하는데,
그래서 조건식에도 비트연산자를 이용해서 조금 더 성능을 높인 것이 아닐까??
-_-; 어디까지나 나의 뇌피셜이다.. 혹시 더 정확한 이유를 아시는 분은 댓을 부탁드립니다.
그만 20000~ 😋😋
[파이썬] reversed 함수의 return값은 iterable객체 (0) | 2023.02.08 |
---|---|
[파이썬 pandas] 주피터노트북 알아두면 유용한 키워드 모음(?,*) (0) | 2023.02.06 |
오늘 배운 파이썬[1] (0) | 2022.12.08 |
파이썬 얕은 복사와 깊은복사 개념 정리 (0) | 2022.12.03 |
파이썬 and & 차이점 (0) | 2022.11.25 |