최근 Python 개발을 따라가셨다면 아마도 데이터 작업을 위한 새로운 라이브러리인 Polars에 대해 들어보셨을 것입니다. pandas는 오랫동안 인기 있는 라이브러리였지만 Polars는 특히 대규모 데이터 세트를 처리하는 데 큰 파장을 일으키고 있습니다. 그렇다면 Polars의 가장 큰 문제는 무엇입니까? 팬더와 어떻게 다른가요? 분석해 보겠습니다.
Polars는 Rust(빠르고 현대적인 프로그래밍 언어)로 구축된 무료 오픈 소스 라이브러리입니다. Python 개발자가 더 빠르고 효율적인 방식으로 데이터를 처리할 수 있도록 설계되었습니다. Pandas가 어려움을 겪을 수 있는 매우 큰 데이터 세트로 작업할 때 빛나는 Pandas의 대안이라고 생각하세요.
Pandas는 수년간 출시되어 왔으며 여전히 많은 사람들이 Pandas를 즐겨 사용하고 있습니다. 그러나 데이터가 점점 더 커지고 복잡해지면서 팬더에는 몇 가지 약점이 나타나기 시작했습니다. Polars의 창시자인 Ritchie Vink는 이러한 문제를 발견하고 더 빠르고 효율적인 것을 만들기로 결정했습니다. 팬더 창시자인 Wes McKinney도 '내가 팬더에 대해 싫어하는 10가지 점'이라는 제목의 블로그 게시물에서 팬더가 특히 대규모 데이터세트의 경우 어느 정도 개선할 수 있다는 점을 인정했습니다.
Polars는 엄청난 속도와 메모리 효율성을 제공하도록 설계되었습니다. Pandas가 빅 데이터를 처리할 때 어려움을 겪는 두 가지 문제가 있습니다.
Polars는 정말 빠릅니다. 실제로 일부 벤치마크에서는 데이터 필터링이나 그룹화와 같은 일반적인 작업을 수행할 때 Polars가 pandas보다 최대 5~10배 더 빠를 수 있는 것으로 나타났습니다. 이러한 속도 차이는 대규모 데이터 세트로 작업할 때 특히 두드러집니다.
Polars는 메모리 측면에서 훨씬 더 효율적입니다. Pandas보다 약 5~10배 적은 메모리를 사용하므로 메모리 문제 없이 훨씬 더 큰 데이터 세트로 작업할 수 있습니다.
Polars는 지연 실행이라는 기능을 사용합니다. 이는 사용자가 작성한 각 작업을 즉시 실행하지 않는다는 의미입니다. 대신 일련의 작업을 작성할 때까지 기다린 다음 모든 작업을 한 번에 실행합니다. 이를 통해 작업을 더 빠르게 최적화하고 실행할 수 있습니다. 반면 Pandas는 모든 작업을 즉시 실행하므로 대규모 작업의 경우 속도가 느려질 수 있습니다.
Polars는 여러 CPU 코어를 동시에 사용하여 데이터를 처리할 수 있으므로 대규모 데이터 세트의 경우 속도가 더욱 빨라집니다. Pandas는 대부분 단일 스레드이므로 한 번에 하나의 CPU 코어만 사용할 수 있으므로 특히 대규모 데이터 세트의 경우 속도가 느려집니다.
Polars는 다음과 같은 몇 가지 이유로 빠릅니다.
Rust와 Apache Arrow의 이러한 조합은 속도와 메모리 사용 측면에서 Polars가 팬더보다 우위에 있음을 보여줍니다.
Polars는 빅 데이터에 적합하지만 Pandas는 여전히 그 자리를 차지하고 있습니다. Pandas는 중소 규모의 데이터세트와 매우 잘 작동하며 오랫동안 사용되어 수많은 기능과 대규모 커뮤니티를 보유하고 있습니다. 따라서 대규모 데이터 세트로 작업하지 않는 경우에도 팬더가 최선의 선택일 수 있습니다.
그러나 데이터 세트가 커질수록 Pandas는 더 많은 메모리를 사용하고 속도가 느려지는 경향이 있으므로 이러한 상황에서는 Polars가 더 나은 선택이 됩니다.
다음과 같은 경우 Polars 사용을 고려해야 합니다.
폴라와 팬더 모두 장점이 있습니다. 중소 규모 데이터 세트로 작업하는 경우 Pandas는 여전히 훌륭한 도구입니다. 그러나 대규모 데이터 세트를 처리하고 더 빠르고 메모리 효율적인 것이 필요한 경우 Polars를 사용해 볼 가치가 있습니다. Rust 및 Apache Arrow 덕분에 성능이 향상되어 데이터 집약적인 작업에 환상적인 옵션이 됩니다.
Python이 계속 발전함에 따라 Polars는 빅 데이터 처리를 위한 새로운 goto 도구가 될 수도 있습니다.
즐거운 코딩이 되셨나요? ?
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3