일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백준
- 토픽모델링
- 파이썬
- 나무자르기
- rest api
- tweepy
- pip install mariadb
- Pythonic
- KONLPY
- MariaDB
- 프로그래머스
- ELASTIC
- dead lock
- 완주하지못한선수
- Java
- ShallowCopy
- js
- bs4
- pyLDAvis
- gensim
- dataframe
- Jpype
- jvm.py
- elastic search
- Python.h
- ChromeDriverManager
- git bash
- centos8
- pandas
- bulk post
- Today
- Total
부리부리부리
[pandas] DataFrame을 사용하는 이유 본문
본인은 컴퓨터 활용능력 1급 자격증을 소지하고 있다. 엑셀의 활용을 어느 정도 할 줄 안다는 뜻이다.
하지만 Python을 이용하여 데이터를 처리하고 인공지능을 학습하는 업무를 맡다보니, 데이터를 가공 및 처리 해야하는 순간엔 당연하게도 pandas의 DataFrame을 사용하곤 했다.
간단한 Feature를 추가로 생성해야할 일이 있었다. DataFrame의 apply 메소드가 생각나지 않아 좀 삐걱댔다.
뒤에서 보던 교수님은 조용히 엑셀을 키시더니 엑셀의 기능만을 활용하여 순식간에 해당 컬럼을 만들었다. (...)
당연히.. 당연히.. 엑셀에서의 데이터 처리와 DataFrame의 데이터 처리는 장단점이 있겠지..
간단히 생각해봐도 엑셀이야 뭐 UI가 있으니 접근성이 좋고 클릭 몇번으로 수많은 내부 기능을 사용할 수 있겠고
DataFrame은 엑셀에서 사용자 함수로 처리하기가 다소 번거로운 것들을 python 코드와 각종 module들의 method와 함께 처리할 수 있는 자유도가 높을테니..
궁금증이 들었던건 과연 사람들은 왜 DataFrame을 국룰처럼 쓰냐는 것이다. 도대체 이 녀석의 시스템적인 장점이 뭔가! 에서의 의문점을 해결하고 싶었다.
Why is Pandas so madly fast? How to define such functions?
I tried comparing the performance of Pandas and the traditional loop. I realized that with the same input and output, Pandas performed terribly fast calculations compared to the traditional loop. My
stackoverflow.com
Pandas is so fast because it uses numpy under the hood. Numpy implements highly efficient array operations. Also, the original creator of pandas, Wes McKinney, is kinda obsessed with efficiency and speed.
음.. Numpy 기반이기 때문에. Numpy 자체가 array 작업을 효율적으로 처리하도록 되어있으니 그렇단다.
이 뿐만 아니라,
pandas의 데이터 프레임은 메모리상에서 전개되기 때문에 수백만 행 정도의 스몰 데이터라면 매우 빠른 처리가 가능하다.
-출처 : 빅데이터를 지탱하는 기술(저자 :니시다 케이스케)
데이터 프레임 자체가 메모리 상(RAM)에서 전개된다. 메모리 인 방식을 채택했기 때문에, 빨라서 좋다는거네.
그와 동시에 너무 용량이 커버리면 out-of-memory 에러가 뜬다고!
그런데.. 지금은 스몰 데이터를 다루고 있기에 걱정이 없지만 빅데이터를 다루다보면 보통 용량이 클텐데 DataFrame을 다룰땐 어떡하냐?
https://3months.tistory.com/566
PySpark DataFrame 을 사용하는 이유와 pandas 와의 차이점
PySpark DataFrame 을 사용하는 이유와 pandas 와의 차이점 /* DeepPlay 2022-08-26 */ 왜 PySpark 인가? 한 마디로 빅데이터 환경에서 전통적인 데이터 처리 툴들 (R, pandas) 을 활용하기 어렵기 때문이다. 토이 데
3months.tistory.com
아하.. 이래서 PySpark를 쓰는거군요.. 갈 길이 너무 멀어요!!
'언어 > Python' 카테고리의 다른 글
[Python] pyLDAvis & gensim_models 오류 (0) | 2022.01.21 |
---|---|
[Python] 회사 자동 출근 프로그램 (pyinstaller 이용) (0) | 2022.01.11 |
Anaconda 명령어 모음 (0) | 2022.01.11 |
[Python] gensim - LDA parameters (0) | 2021.12.15 |
[Python] module konlpy 관련 오류 해결 (0) | 2021.12.13 |