코딩을 하다 보면 각종 연산자들 때문에 머리가 아프다.
언어를 하나만 다루면 그나마 좀 다행인데,
언어를 몇개를 하다 보면 언어마다 연산자를
미세하게 다르게 쓰기 때문에 헷갈릴 때마다 찾아보게 된다.
파이썬에서도 연산자가 있는데,
오늘 판다스 관련 예제를 풀다가 의문이 생겼다.
데이터는 아래와 같았다.
문제는 아래 링크 27번 문제였다. 그냥 간단하게 판다스 개념이나 API들을 점검하기 좋은 기본문제가 있다.
관심 있는 분들은 풀어보면 기본을 익히는데 도움이 될 듯하다.
https://www.datamanim.com/dataset/99_pandas/pandasMain.html
아무튼, 본론으로 돌아와서 문제는 그냥
문제 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
흠.. 이 글을 참조해서 추측해 볼 때,
파이썬의 데이터프레임에서 쓰는 조건식에는 비트연산을 하는 것으로 보인다.
비트연산은 쉽게 말하면 컴퓨터의 숫자인 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 |