{"id":549898,"date":"2025-02-27T07:31:04","date_gmt":"2025-02-27T06:31:04","guid":{"rendered":"https:\/\/blog.jetbrains.com\/pycharm\/2024\/07\/polars-vs-pandas\/"},"modified":"2025-02-27T07:31:11","modified_gmt":"2025-02-27T06:31:11","slug":"polars-vs-pandas","status":"publish","type":"pycharm","link":"https:\/\/blog.jetbrains.com\/ko\/pycharm\/2025\/02\/polars-vs-pandas\/","title":{"rendered":"Polars\uc640 pandas \ube44\uad50: \uc5b4\ub5bb\uac8c \ub2e4\ub97c\uae4c\uc694?"},"content":{"rendered":"<p>\uc9c0\ub09c \ud574\uc5d0 Python DataFrame\uc758 \ubc1c\uc804\uc744 \uc9c0\ucf1c\ubcf4\uc2e0 \ubd84\uc774\ub77c\uba74 \ub300\uaddc\ubaa8 \ub370\uc774\ud130\uc138\ud2b8 \uc791\uc5c5\uc6a9\uc73c\ub85c \uc124\uacc4\ub41c \uac15\ub825\ud55c DataFrame \ub77c\uc774\ube0c\ub7ec\ub9ac\uc778 <a href=\"https:\/\/www.pola.rs\/\" target=\"_blank\" rel=\"noopener\">Polars<\/a>\ub97c \ub4e4\uc5b4\ubcf4\uc168\uc744 \uac81\ub2c8\ub2e4.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-384206\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/02\/pc-featured_blog_1280x720_en-2.png\" alt=\"\" width=\"2560\" height=\"1440\" \/><\/figure>\n<p align=\"center\"><a class=\"jb-download-button\" href=\"https:\/\/www.jetbrains.com\/ko-kr\/pycharm\/\" target=\"_blank\" rel=\"noopener\"><br \/>PyCharm\uc5d0\uc11c Polars\ub97c \uc0ac\uc6a9\ud574 \ubcf4\uc138\uc694<br \/><\/a><\/p>\n<p><a href=\"https:\/\/spark.apache.org\/\" target=\"_blank\" rel=\"noopener\">Spark<\/a>, <a href=\"https:\/\/www.dask.org\/\" target=\"_blank\" rel=\"noopener\">Dask<\/a>\ub098 <a href=\"https:\/\/www.ray.io\/\" target=\"_blank\" rel=\"noopener\">Ray<\/a>\uc640 \uac19\uc740 \ub2e4\ub978 \ub300\uc6a9\ub7c9 \ub370\uc774\ud130\uc138\ud2b8 \ub77c\uc774\ube0c\ub7ec\ub9ac\uc640\ub294 \ub2ec\ub9ac Polars\ub294 \ud55c \ub300\uc758 \uc2dc\uc2a4\ud15c\uc5d0\uc11c \uc0ac\uc6a9\ub418\ub3c4\ub85d \uc124\uacc4\ub418\uc5c8\uae30 \ub54c\ubb38\uc5d0 <a href=\"https:\/\/pandas.pydata.org\/\" target=\"_blank\" rel=\"noopener\">pandas<\/a>\uc640 \uc720\uc0ac\ud55c \uac83\uc73c\ub85c \ub9ce\uc774 \ube44\uad50\ub429\ub2c8\ub2e4. \uadf8\ub7ec\ub098 Polars\ub294 \ub370\uc774\ud130 \ucc98\ub9ac \ubc29\uc2dd\uc774\ub098 \ucd5c\uc801\uc758 \uc801\uc6a9 \ubd84\uc57c \ub4f1\uacfc \uac19\uc774 \uc5ec\ub7ec \uc911\uc694\ud55c \ubd80\ubd84\uc5d0\uc11c pandas\uc640 \ucc28\uc774\uc810\uc774 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \uae00\uc5d0\uc11c\ub294 \ub450 DataFrame \ub77c\uc774\ube0c\ub7ec\ub9ac\uc758 \uae30\uc220\uc801\uc778 \ucc28\uc774\uc810\uacfc \uac01\uac01\uc758 \uc7a5\ub2e8\uc810\uc744 \uc54c\uc544\ubd05\ub2c8\ub2e4.<\/p>\n<p>\uc774\uc5d0 \uad00\ud574 Polars\uc758 \uc81c\uc791\uc790\uc778 <a href=\"https:\/\/github.com\/ritchie46\" target=\"_blank\" rel=\"noopener\">Ritchie Vink<\/a>\uc758 \uc124\uba85\uc744 \uc790\uc138\ud788 \ub4e4\uc5b4\ubcf4\uace0 \uc2f6\ub2e4\uba74, \uc544\ub798\uc5d0\uc11c \uc778\ud130\ubdf0\ub3c4 \ud655\uc778\ud574 \ubcf4\uc138\uc694!<\/p>\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"What is Polars?\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/QfLzEp-yt_U?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n<h2 class=\"wp-block-heading\">pandas\ubcf4\ub2e4 Polars\ub97c \uc0ac\uc6a9\ud574\uc57c \ud558\ub294 \uc774\uc720<\/h2>\n<p>\ud55c \ub9c8\ub514\ub85c \uc131\ub2a5 \ub54c\ubb38\uc785\ub2c8\ub2e4. Polars\ub294 \ucc98\uc74c\ubd80\ud130 \uc18d\ub3c4\uac00 \ube60\ub974\ub3c4\ub85d \uc124\uacc4\ub418\uc5b4 pandas\ubcf4\ub2e4 \uacf5\ud1b5 \uc5f0\uc0b0\uc744 5~10\ubc30 \uc815\ub3c4 \ube60\ub974\uac8c \ucc98\ub9ac\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub610\ud55c, pandas\ubcf4\ub2e4 Polars \uc5f0\uc0b0\uc758 \uba54\ubaa8\ub9ac \uc694\uad6c \uc0ac\ud56d\uc774 \ud6e8\uc52c \ub0ae\uc2b5\ub2c8\ub2e4. pandas\ub294 \uc5f0\uc0b0\uc744 \ucc98\ub9ac\ud558\uae30 \uc704\ud574 \ub370\uc774\ud130\uc138\ud2b8\uc758 \ud06c\uae30 \ub300\ube44 5~10\ubc30 \uc815\ub3c4\uc758 RAM\uc774 \ud544\uc694\ud55c \ubc18\uba74 Polars\ub294 2~4\ubc30\uba74 \ucda9\ubd84\ud569\ub2c8\ub2e4.<\/p>\n<p>Polars\uc758 \uc131\ub2a5\uc744 \ub2e4\ub978 DataFrame \ub77c\uc774\ube0c\ub7ec\ub9ac\uc640 \ube44\uad50\ud55c \uacb0\uacfc\ub294 <a href=\"https:\/\/duckdblabs.github.io\/db-benchmark\/\" target=\"_blank\" rel=\"noopener\">\uc5ec\uae30<\/a>\uc5d0\uc11c \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uacb0\uacfc\ub97c \ubcf4\uba74 Polars\ub294 \uacf5\ud1b5 \uc5f0\uc0b0\uc5d0\uc11c pandas\ubcf4\ub2e4 10~100\ubc30 \ub354 \ube60\ub974\uace0 \uc804\uccb4\uc801\uc73c\ub85c\ub3c4 DataFrame \ub77c\uc774\ube0c\ub7ec\ub9ac \uc911\uc5d0\uc11c \uac00\uc7a5 \ube60\ub978 \ud3b8\uc785\ub2c8\ub2e4. \uac8c\ub2e4\uac00 Polars\ub294 pandas\uc5d0\uc11c \uba54\ubaa8\ub9ac \ubd80\uc871 \uc624\ub958\uac00 \ubc1c\uc0dd\ud558\ub294 \ub300\uaddc\ubaa8 \ub370\uc774\ud130\uc138\ud2b8\ub3c4 \ucc98\ub9ac\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<h2 class=\"wp-block-heading\">Polars\uac00 \uc774\ub807\uac8c \ube60\ub978 \uc774\uc720\ub294?<\/h2>\n<p>\uacb0\uacfc\uac00 \ub9e4\uc6b0 \uc778\uc0c1\uc801\uc774\ub2e4 \ubcf4\ub2c8 &#8216;\ud55c \ub300\uc758 \uc2dc\uc2a4\ud15c\uc5d0\uc11c \uad6c\ub3d9\ub418\ub294 Polars\uac00 \uc774\ub7f0 \uc131\ub2a5\uc744 \uc5b4\ub5bb\uac8c \ub0bc \uc218 \uc788\uc744\uae4c?&#8217;\ub77c\ub294 \uad81\uae08\uc99d\uc774 \ub4dc\uc2e4 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. Polars \ub77c\uc774\ube0c\ub7ec\ub9ac\ub294 \ucc98\uc74c\ubd80\ud130 \uc131\ub2a5\uc744 \uace0\ub824\ud558\uc5ec \uc124\uacc4\ub418\uc5c8\uc73c\uba70, \uc774\ub294 \uc5ec\ub7ec \uc218\ub2e8\uc744 \ud1b5\ud574\uc11c \ub2ec\uc131\ub418\uc5c8\uc2b5\ub2c8\ub2e4.<\/p>\n<h3 class=\"wp-block-heading\">Rust\ub85c \uc791\uc131<\/h3>\n<p>Polars\uc5d0 \uad00\ub828\ud574 \uac00\uc7a5 \uc798 \uc54c\ub824\uc9c4 \uc0ac\uc2e4 \uc911 \ud558\ub098\ub294 C\ub098 C++\ub9cc\ud07c \ube60\ub978 \ub85c\uc6b0\ub808\ubca8 \uc5b8\uc5b4\uc778 <a href=\"https:\/\/www.rust-lang.org\/\" target=\"_blank\" rel=\"noopener\">Rust<\/a>\ub85c \uc791\uc131\ub418\uc5c8\ub2e4\ub294 \uc810\uc785\ub2c8\ub2e4. \ubc18\uba74\uc5d0 pandas\ub294 <a href=\"https:\/\/numpy.org\/\" target=\"_blank\" rel=\"noopener\">NumPy<\/a>\ub97c \ud3ec\ud568\ud55c \uc5ec\ub7ec Python \ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c \uae30\ubc18\uc73c\ub85c \ub9cc\ub4e4\uc5b4\uc84c\uc2b5\ub2c8\ub2e4. NumPy\uc758 \ud575\uc2ec \ubd80\ubd84\uc740 C\ub85c \uc791\uc131\ub418\uc5b4 \uc788\uae30\ub294 \ud558\uc9c0\ub9cc Python\uc774 \ubc94\uc8fc\ud615 \ub370\uc774\ud130\uc758 \ubb38\uc790\uc5f4 \ub4f1\uacfc \uac19\uc740 \ud2b9\uc815 \ud0c0\uc785\uc744 \uba54\ubaa8\ub9ac\uc5d0\uc11c \ucc98\ub9ac\ud558\ub294 \ubc29\uc2dd \ub54c\ubb38\uc5d0 \uadfc\ubcf8\uc801\uc778 \ubb38\uc81c\uac00 \uc788\uc5b4 \uc774\ub7ec\ud55c \ud0c0\uc785\uc744 \ucc98\ub9ac\ud560 \ub54c \uc131\ub2a5\uc774 \uc800\ud558\ub429\ub2c8\ub2e4(\uc790\uc138\ud55c \ub0b4\uc6a9\uc740 <a href=\"https:\/\/wesmckinney.com\/\" target=\"_blank\" rel=\"noopener\">Wes McKinney<\/a>\uac00 \uc791\uc131\ud55c <a href=\"https:\/\/wesmckinney.com\/blog\/apache-arrow-pandas-internals\/\" target=\"_blank\" rel=\"noopener\">\uc774 \ube14\ub85c\uadf8 \uac8c\uc2dc\ubb3c<\/a> \ucc38\uc870).<\/p>\n<p>Rust\ub97c \uc0ac\uc6a9\ud558\ub294 \uac83\uc758 \ub2e4\ub978 \uc7a5\uc810 \uc911 \ud558\ub098\ub294 \uc548\uc804\ud55c \ub3d9\uc2dc \uc2e4\ud589\uc785\ub2c8\ub2e4. Rust\ub294 \ubcd1\ub82c \ucc98\ub9ac\ub97c \ucd5c\ub300\ud55c \uc608\uce21\ud560 \uc218 \uc788\ub3c4\ub85d \uc124\uacc4\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \uadf8\ub807\uae30 \ub54c\ubb38\uc5d0 Polars\ub294 \ub2e4\uc218\uc758 \uc5f4\uacfc \uad00\ub828\ub41c \ubcf5\uc7a1\ud55c \ucffc\ub9ac\uc5d0\ub3c4 \uc2dc\uc2a4\ud15c\uc758 \ubaa8\ub4e0 \ucf54\uc5b4\ub97c \uc548\uc804\ud558\uac8c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\uc5d0 Ritchie Vink\ub294 Polar\uc758 \uc131\ub2a5\uc744 \ubcf4\uace0 &#8220;\uad49\uc7a5\ud788 \ubcd1\ub82c\uc801&#8221;\uc774\ub77c\uace0 \ud3c9\uac00\ud558\uae30\ub3c4 \ud588\uc2b5\ub2c8\ub2e4. \ub530\ub77c\uc11c Polars\ub294 \ud558\ub098\uc758 \ucf54\uc5b4\ub9cc \uc0ac\uc6a9\ud558\uc5ec \uc5f0\uc0b0\uc744 \ucc98\ub9ac\ud558\ub294 pandas\ubcf4\ub2e4 \uc131\ub2a5\uc774 \ub6f0\uc5b4\ub0a9\ub2c8\ub2e4. \uc62c\ud574 Nico Kreiling\uc774 PyCon DE\uc5d0\uc11c <a href=\"https:\/\/www.youtube.com\/watch?v=7xcUvzERwx0&amp;ab_channel=PyData\" target=\"_blank\" rel=\"noopener\">\uba4b\uc9c0\uac8c \ubc1c\ud45c\ud55c \ub0b4\uc6a9<\/a>\uc744 \ubcf4\uba74 Polars\uac00 \uc5b4\ub5bb\uac8c \uc774\ub7f0 \uc7a5\uc810\uc744 \ub2ec\uc131\ud588\ub294\uc9c0 \uc0c1\uc138\ud788 \uc54c\uc544\ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<h3 class=\"wp-block-heading\">Arrow \uae30\ubc18<\/h3>\n<p>Polars\uc758 \ub180\ub77c\uc6b4 \uc131\ub2a5\uc5d0 \uae30\uc5ec\ud558\ub294 \ub610 \ub2e4\ub978 \uc694\uc18c\ub294 \uc5b8\uc5b4\uc5d0 \ub3c5\ub9bd\uc801\uc778 \uba54\ubaa8\ub9ac \ud615\uc2dd\uc778 <a href=\"https:\/\/arrow.apache.org\/\" target=\"_blank\" rel=\"noopener\">Apache Arrow<\/a>\uc785\ub2c8\ub2e4. Wes McKinney\ub294 \ub370\uc774\ud130\uc758 \ud06c\uae30\uac00 \ucee4\uc9c0\uba74\uc11c pandas\uc5d0\uc11c \uba54\ubaa8\ub9ac \ubb38\uc81c\uac00 \ub9ce\uc774 \ubc1c\uc0dd\ud558\ub294 \uac83\uc744 \ubcf4\uace0 Arrow\ub97c \uacf5\ub3d9 \uac1c\ubc1c\ud558\uc600\uc2b5\ub2c8\ub2e4. \ub610\ud55c, Arrow\ub294 \uc62c\ud574 3\uc6d4\uc5d0 \ub9b4\ub9ac\uc2a4\ub41c \ub354 \ub192\uc740 \uc131\ub2a5\uc758 pandas\uc778 pandas 2.0\uc758 \ubc31\uc5d4\ub4dc\ub85c \uc0ac\uc6a9\ub418\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uadf8\ub7ec\ub098 Arrow\uc758 \ubc31\uc5d4\ub4dc\ub294 \ub77c\uc774\ube0c\ub7ec\ub9ac\ubcc4\ub85c \ub2e4\ub985\ub2c8\ub2e4. pandas 2.0\uc740 PyArrow \uae30\ubc18\uc774\uc9c0\ub9cc Polars \ud300\uc740 \uc790\uccb4 Arrow\ub97c \uad6c\ud604\ud588\uc2b5\ub2c8\ub2e4.<\/p>\n<p>Arrow\ub85c \ub370\uc774\ud130 \ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c \ub9cc\ub4e4 \ub54c\uc758 \uac00\uc7a5 \ud070 \uc7a5\uc810\uc740 \uc0c1\ud638 \uc6b4\uc6a9\uc131\uc785\ub2c8\ub2e4. Arrow\ub294 \uc5ec\ub7ec \ub77c\uc774\ube0c\ub7ec\ub9ac\uc5d0\uc11c \uc0ac\uc6a9\ub418\ub294 \uba54\ubaa8\ub9ac \ub0b4\uc758 \ub370\uc774\ud130 \ud615\uc2dd\uc744 \ud45c\uc900\ud654\ud558\ub3c4\ub85d \uc124\uacc4\ub418\uc5c8\uc73c\uba70, <a href=\"https:\/\/arrow.apache.org\/overview\/\" target=\"_blank\" rel=\"noopener\">\uc544\ub798<\/a>\uc5d0 \ub098\uc640 \uc788\ub4ef\uc774 \ub2e4\uc218\uc758 \uc8fc\uc694 \ub77c\uc774\ube0c\ub7ec\ub9ac\uc640 \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0\uc11c \uc774\ubbf8 \uc0ac\uc6a9\ub418\uace0 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-375452\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/07\/arrow.png\" alt=\"\" width=\"574\" height=\"318\" \/><\/figure>\n<\/div>\n<p><a href=\"https:\/\/datapythonista.me\/blog\/pandas-20-and-the-arrow-revolution-part-i\" target=\"_blank\" rel=\"noopener\">\uc774\ub7ec\ud55c \uc0c1\ud638 \uc6b4\uc6a9\uc131<\/a> \ub355\ubd84\uc5d0 \ub370\uc774\ud130 \ud30c\uc774\ud504\ub77c\uc778\uc758 \uc5ec\ub7ec \ub2e8\uacc4\uc5d0 \uac70\uccd0 \ub370\uc774\ud130\ub97c \uc804\ub2ec\ud560 \ub54c \ub2e4\ub978 \ud615\uc2dd\uc73c\ub85c \ubcc0\ud658\ud560 \ud544\uc694\uac00 \uc5c6\uc73c\ubbc0\ub85c(\uc989, \ub370\uc774\ud130\ub97c \uc9c1\ub82c\ud654\ud558\uac70\ub098 \uc5ed\uc9c1\ub82c\ud654\ud560 \ud544\uc694\uac00 \uc5c6\uc74c) \uc131\ub2a5\uc774 \ub192\uc544\uc9d1\ub2c8\ub2e4. \ub610\ud55c, \ub450 \uac1c\uc758 \ud504\ub85c\uc138\uc2a4\uac00 \ub370\uc774\ud130\ub97c \ubcf5\uc0ac\ud560 \ud544\uc694 \uc5c6\uc774 \uc11c\ub85c \uacf5\uc720\ud560 \uc218 \uc788\uae30 \ub54c\ubb38\uc5d0 \uba54\ubaa8\ub9ac \ud6a8\uc728\uc131\uc774 \ud5a5\uc0c1\ub429\ub2c8\ub2e4. \uc9c1\ub82c\ud654\/\uc5ed\uc9c1\ub82c\ud654\uac00 \ub370\uc774\ud130 \uc6cc\ud06c\ud50c\ub85c\uc5d0\uc11c <a href=\"https:\/\/arrow.apache.org\/faq\/\" target=\"_blank\" rel=\"noopener\">\ucef4\ud4e8\ud305 \ube44\uc6a9\uc758 80~90%\ub97c \ucc28\uc9c0\ud558\ub294 \uac83\uc73c\ub85c \ucd94\uc0b0\ub418\uae30 \ub54c\ubb38\uc5d0<\/a> Arrow\uc758 \uacf5\ud1b5 \ub370\uc774\ud130 \ud615\uc2dd\uc740 Polars\uc758 \uc131\ub2a5 \ud5a5\uc0c1\uc5d0 \ud06c\uac8c \uae30\uc5ec\ud569\ub2c8\ub2e4.<\/p>\n<p>Arrow\ub294 pandas\ubcf4\ub2e4 \ub354 \uad11\ubc94\uc704\ud55c \ub370\uc774\ud130 \uc720\ud615\uc744 \uae30\ubcf8\uc801\uc73c\ub85c \uc9c0\uc6d0\ud569\ub2c8\ub2e4. pandas\ub294 Numpy \uae30\ubc18\uc774\uae30 \ub54c\ubb38\uc5d0 \uc815\uc218 \ubc0f \ubd80\ub3d9\uc18c\uc218\uc810 \uc5f4\uc744 \ucc98\ub9ac\ud558\ub294 \ub370\ub294 \ub6f0\uc5b4\ub098\uc9c0\ub9cc \ub2e4\ub978 \ub370\uc774\ud130 \ud0c0\uc785\uc744 \ucc98\ub9ac\ud560 \ub54c\ub294 \uc6d0\ud65c\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. <a href=\"https:\/\/datapythonista.me\/blog\/pandas-20-and-the-arrow-revolution-part-i\" target=\"_blank\" rel=\"noopener\">\ubc18\uba74\uc5d0<\/a> Arrow\ub294 \ub0a0\uc9dc\uc640 \uc2dc\uac04, \ubd80\uc6b8, \ubc14\uc774\ub108\ub9ac\ub294 \ubb3c\ub860 \ubaa9\ub85d\uc744 \ud3ec\ud568\ud558\ub294 \uc5f4 \ub4f1\uc758 \ubcf5\uc7a1\ud55c \uc5f4 \ud0c0\uc785\ub3c4 \uc815\uad50\ud558\uac8c \uc9c0\uc6d0\ud569\ub2c8\ub2e4. \uc5ec\uae30\uc5d0 \ub354\ud574\uc11c \ub204\ub77d\ub41c \ub370\uc774\ud130\ub97c \ucc98\ub9ac\ud558\ub824\uba74 \uc6b0\ud68c\ubc95\uc744 \uc0ac\uc6a9\ud574\uc57c \ud558\ub294 NumPy\uc640\ub294 \ub2ec\ub9ac Arrow\ub294 \uae30\ubcf8\uc801\uc73c\ub85c \ucc98\ub9ac\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\ub9c8\uc9c0\ub9c9\uc73c\ub85c Arrow\ub294 \uc5f4 \ud615\ud0dc\uc758 \ub370\uc774\ud130 \uc800\uc7a5\uc18c\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \ub530\ub77c\uc11c \uc5b4\ub5a4 \ub370\uc774\ud130 \ud615\uc2dd\uc744 \uc0ac\uc6a9\ud558\ub354\ub77c\ub3c4 \ubaa8\ub4e0 \uc5f4\uc774 \uba54\ubaa8\ub9ac\uc0c1\uc5d0\uc11c \uc5f0\uc18d\ub418\ub294 \ube14\ub85d\uc5d0 \uc800\uc7a5\ub429\ub2c8\ub2e4. \uc774\ub807\uac8c \ud558\uba74 \ubcd1\ub82c \ucc98\ub9ac\uac00 \uc26c\uc6cc\uc9c8 \ubfd0\ub9cc \uc544\ub2c8\ub77c \ub370\uc774\ud130 \uac80\uc0c9\ub3c4 \ube68\ub77c\uc9d1\ub2c8\ub2e4.<\/p>\n<h3 class=\"wp-block-heading\">\ucffc\ub9ac \ucd5c\uc801\ud654<\/h3>\n<p>Polars\uc758 \ud575\uc2ec \uc131\ub2a5 \uc694\uc18c \uc911 \ub2e4\ub978 \ud558\ub098\ub294 \ucf54\ub4dc \ud3c9\uac00 \ubc29\uc2dd\uc785\ub2c8\ub2e4. Pandas\ub294 \uae30\ubcf8\uc801\uc73c\ub85c <em>\uc989\uc2dc \uc2e4\ud589<\/em>\ud558\ub294 \ubc29\uc2dd\uc744 \uc0ac\uc6a9\ud558\uc5ec \uc5f0\uc0b0\uc744 \uc791\uc131 \uc21c\uc11c\ub300\ub85c \ucc98\ub9ac\ud569\ub2c8\ub2e4. \ubc18\uba74\uc5d0 Polars\ub294 \uc989\uc2dc \uc2e4\ud589\uacfc \ub354\ubd88\uc5b4 \ucffc\ub9ac \ucd5c\uc801\ud654 \ub3c4\uad6c\uac00 \ud544\uc694\ud55c \ubaa8\ub4e0 \uc5f0\uc0b0\uc744 \ud3c9\uac00\ud55c \ub2e4\uc74c \ucf54\ub4dc\ub97c \uc2e4\ud589\ud558\ub294 \uac00\uc7a5 \ud6a8\uc728\uc801\uc778 \ubc29\uc2dd\uc744 \ub9e4\ud551\ud558\ub294 <em>\uc9c0\uc5f0 \uc2e4\ud589<\/em>\ub3c4 \uc9c0\uc6d0\ud569\ub2c8\ub2e4. \uc774\ub7ec\ud55c \ub9e4\ud551\uc5d0\ub294 \uc5f0\uc0b0 \uc2e4\ud589 \uc21c\uc11c \ubcc0\uacbd\uc774\ub098 \uc911\ubcf5 \uc5f0\uc0b0 \uc81c\uac70\ub3c4 \ud3ec\ud568\ub429\ub2c8\ub2e4. <code>Category<\/code>\uc758 &#8216;A&#8217;\uc640 &#8216;B&#8217; \uac01 \uce74\ud14c\uace0\ub9ac\uc5d0 \ub300\ud574 \uc5f4 <code>Number1<\/code>\uc758 \uc911\uc717\uac12\uc744 \uad6c\ud558\ub294 \ub2e4\uc74c\uc758 \ud45c\ud604\uc2dd\uc744 \uc608\uc2dc\ub85c \uc0b4\ud3b4\ubcf4\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">(\ndf\n.groupby(by = \"Category\").agg(pl.col(\"Number1\").mean())\n.filter(pl.col(\"Category\").is_in([\"A\", \"B\"]))\n)<\/pre>\n<p>\uc774 \ud45c\ud604\uc2dd\uc774 \uc989\uc2dc \uc2e4\ud589\ub418\uba74 <code>groupby<\/code> \uc5f0\uc0b0\uc774 \uc804\uccb4 DataFrame\uc5d0 \ub300\ud574 \ubd88\ud544\uc694\ud558\uac8c \uc2e4\ud589\ub41c \ub2e4\uc74c <code>Category<\/code>\ub85c \ud544\ud130\ub9c1\ub429\ub2c8\ub2e4. \uc9c0\uc5f0 \uc2e4\ud589 \ubc29\uc2dd\uc744 \uc0ac\uc6a9\ud558\uba74 DataFrame\uc774 \ud544\ud130\ub9c1\ub41c \ub2e4\uc74c <code>groupby<\/code>\uac00 \ud544\uc694\ud55c \ub370\uc774\ud130\uc5d0 \ub300\ud574\uc11c\ub9cc \uc2e4\ud589\ub429\ub2c8\ub2e4.<\/p>\n<h3 class=\"wp-block-heading\">\ud45c\ud604\ub825\uc774 \uc88b\uc740 API<\/h3>\n<p>\ub9c8\uc9c0\ub9c9\uc73c\ub85c Polars\ub294 \ud45c\ud604\ub825\uc774 \ub9e4\uc6b0 \uc88b\uc740 API\ub97c \uc0ac\uc6a9\ud558\ubbc0\ub85c, \uc2e4\ud589\ud558\uace0 \uc2f6\uc740 \uac70\uc758 \ubaa8\ub4e0 \uc5f0\uc0b0\uc744 Polars \uba54\uc11c\ub4dc\ub85c \ud45c\ud604\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ubc18\uba74\uc5d0 \ubcf5\uc7a1\ud55c \uc5f0\uc0b0\uc744 pandas\uc5d0\uc11c \uc0ac\uc6a9\ud558\ub824\uba74 \ub78c\ub2e4 \uc2dd\uc73c\ub85c <code>apply<\/code> \uba54\uc11c\ub4dc\uc5d0 \uc804\ub2ec\ud574\uc57c \ud558\ub294 \uacbd\uc6b0\uac00 \ub9ce\uc2b5\ub2c8\ub2e4. <code>apply<\/code> \uba54\uc11c\ub4dc\uc758 \ubb38\uc81c\uc810\uc740 DataFrame\uc758 \ud589\uc744 \ud55c \ubc88\uc5d0 \ud558\ub098\uc529 \uc21c\ucc28\uc801\uc73c\ub85c \ucc98\ub9ac\ud558\uba70 \ubc18\ubcf5\ud55c\ub2e4\ub294 \uc810\uc785\ub2c8\ub2e4. \uae30\ubcf8 \uc81c\uacf5\ub418\ub294 \uba54\uc11c\ub4dc\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4\uba74 \uc5f4 \ub2e8\uc704\ub85c \uc791\uc5c5\ud560 \uc218 \uc788\uc73c\uba70 SIMD\ub77c\ub294 \ub2e4\ub978 \ud615\ud0dc\uc758 \ubcd1\ub82c \ucc98\ub9ac \ubc29\uc2dd\ub3c4 \uc774\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<h2 class=\"wp-block-heading\">pandas\ub97c \uc0ac\uc6a9\ud574\uc57c \ud558\ub294 \uacbd\uc6b0\ub294?<\/h2>\n<p>\uc9c0\uae08\uae4c\uc9c0 \ub4e4\uc740 \uc131\ub2a5\uc774 \ub108\ubb34 \uc88b\uc544\uc11c pandas\ub294 \uc774\uc81c \uc4f8 \uc774\uc720\uac00 \ud558\ub098\ub3c4 \uc5c6\ub294 \uac83 \uc544\ub2cc\uac00 \ud558\ub294 \uc758\ubb38\uc774 \ub4dc\uc2e4 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. \ud558\uc9c0\ub9cc \uc544\uc9c1\uc740 \uadf8\ub807\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. Polars\uac00 \ub370\uc774\ud130 \ubcc0\ud658\uc744 \ub9e4\uc6b0 \ud6a8\uc728\uc801\uc73c\ub85c \ucc98\ub9ac\ud560 \uc218\ub294 \uc788\uc9c0\ub9cc, \uba38\uc2e0\ub7ec\ub2dd \ud30c\uc774\ud504\ub77c\uc778\uc758 \uc77c\ubd80\ub85c \uc0ac\uc6a9\ud558\uac70\ub098 \ub370\uc774\ud130 \ud0d0\uc0c9 \ubaa9\uc801\uc73c\ub85c \uc0ac\uc6a9\ud558\uae30\uc5d0\ub294 \ud604\uc7ac \ucd5c\uc801\uc758 \uc120\ud0dd\uc9c0\uac00 \uc544\ub2d9\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uc601\uc5ed\uc5d0\uc11c\ub294 pandas\uac00 \uc5ec\uc804\ud788 \ube5b\uc744 \ubc1c\ud569\ub2c8\ub2e4.<\/p>\n<p>\uadf8 \uc774\uc720 \uc911 \ud558\ub098\ub294 Polars\uac00 Arrow\ub97c \uc0ac\uc6a9\ud558\uae30 \ub54c\ubb38\uc5d0 \ub2e4\ub978 \ud328\ud0a4\uc9c0\uc640\uc758 \ud638\ud658\uc131\uc774 \ub6f0\uc5b4\ub098\uc9c0\ub9cc, <em>\uc544\uc9c1\uc740<\/em> \ub300\ub2e4\uc218\uc758 Python \ub370\uc774\ud130 \uc2dc\uac01\ud654 \ud328\ud0a4\uc9c0\ub098 <a href=\"https:\/\/scikit-learn.org\/stable\/\" target=\"_blank\" rel=\"noopener\">scikit-learn<\/a> \ub610\ub294 <a href=\"https:\/\/pytorch.org\/\" target=\"_blank\" rel=\"noopener\">PyTorch<\/a>\uc640 \uac19\uc740 \uba38\uc2e0\ub7ec\ub2dd \ub77c\uc774\ube0c\ub7ec\ub9ac\uc640 \ud638\ud658\ub418\uc9c0 \uc54a\uae30 \ub54c\ubb38\uc785\ub2c8\ub2e4. Polars DataFrame\uc744 \uc0ac\uc6a9\ud558\uc5ec \uc9c1\uc811 \ucc28\ud2b8\ub97c \uadf8\ub9b4 \uc218 \uc788\ub294 \uc720\uc77c\ud55c \uc608\uc678\ub294 <a href=\"https:\/\/plotly.com\/\" target=\"_blank\" rel=\"noopener\">Plotly<\/a>\uc785\ub2c8\ub2e4.<\/p>\n<p>\ud604\uc7ac \ub17c\uc758 \uc911\uc778 \uc194\ub8e8\uc158\uc740 <a href=\"https:\/\/data-apis.org\/dataframe-protocol\/latest\/index.html\" target=\"_blank\" rel=\"noopener\">Python DataFrame \uc0c1\ud638 \uad50\ud658 \ud504\ub85c\ud1a0\ucf5c<\/a>\uc744 \uc774\ub7ec\ud55c \ud328\ud0a4\uc9c0\uc5d0 \uc0ac\uc6a9\ud558\uc5ec \ub2e4\uc591\ud55c DataFrame \ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c \uc9c0\uc6d0\ud558\ub294 \uac83\uc785\ub2c8\ub2e4. \uc774\ub807\uac8c \ud558\uba74 \ub370\uc774\ud130 \uacfc\ud559\uc774\ub098 \uba38\uc2e0\ub7ec\ub2dd \uc6cc\ud06c\ud50c\ub85c\uc5d0\uc11c pandas \ub54c\ubb38\uc5d0 \ubcd1\ubaa9 \ud604\uc0c1\uc774 \ubc1c\uc0dd\ud560 \uc77c\uc774 \uc5c6\uc2b5\ub2c8\ub2e4. \uadf8\ub7ec\ub098 \uc774\ub294 \ube44\uad50\uc801 \ucd5c\uadfc\uc5d0 \ub098\uc628 \uc544\uc774\ub514\uc5b4\uc774\uace0 \uc774\ub7ec\ud55c \ud504\ub85c\uc81d\ud2b8\ub97c \uc2e4\ud589\ud558\ub824\uba74 \uc2dc\uac04\uc774 \uac78\ub9bd\ub2c8\ub2e4.<\/p>\n<h2 class=\"wp-block-heading\">Polars \ubc0f pandas \ub3c4\uad6c<\/h2>\n<p>\uae00\uc744 \ub2e4 \uc77d\uc73c\uc168\ub2e4\uba74 \ubd84\uba85 Polars\ub97c \uc9c1\uc811 \ubc30\uc6b0\uace0 \uc2f6\uc73c\uc2e4 \uac81\ub2c8\ub2e4! <a href=\"https:\/\/www.jetbrains.com\/ko-kr\/pycharm\/\" target=\"_blank\" rel=\"noopener\" data-type=\"link\" data-id=\"https:\/\/www.jetbrains.com\/ko-kr\/pycharm\/download\/?section=mac\">\ub370\uc774\ud130 \uacfc\ud559\uc6a9 PyCharm Professional<\/a>\uc740 Jupyter Notebook\uc5d0\uc11c pandas\ub098 Polars\ub85c \uc791\uc5c5\ud560 \ub54c \ud6cc\ub96d\ud55c \ub3c4\uad6c\uc785\ub2c8\ub2e4. \ud2b9\ud788 pandas\uc640 Polars DataFrame\uc774 \ub300\ud654\ud615\uc73c\ub85c \ud45c\uc2dc\ub418\uc5b4 \ub370\uc774\ud130\ub97c \ub354\uc6b1 \ube60\ub974\uace0 \ud3b8\ub9ac\ud558\uac8c \ud0d0\uc0c9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\uc800 \uac1c\uc778\uc801\uc73c\ub85c\ub294 DataFrame\uc758 \ubaa8\ub4e0 \ud589\uacfc \uc5f4\uc744 \uc798\ub9bc \uc5c6\uc774 \uc2a4\ud06c\ub864\ud558\uac70\ub098 \ud074\ub9ad \ud55c \ubc88\uc73c\ub85c DataFrame \uac12\uc758 \ud569\uacc4\ub97c \uad6c\ud558\ub294 \uae30\ub2a5, DataFrame\uc744 \ub2e4\uc591\ud55c \ud615\uc2dd(Markdown \ud3ec\ud568)\uc73c\ub85c \ub0b4\ubcf4\ub0b4\ub294 \uae30\ub2a5\uc774 \uc815\ub9d0 \ub9c8\uc74c\uc5d0 \ub4e4\uc5c8\uc2b5\ub2c8\ub2e4!<\/p>\n<p>\uc544\uc9c1 PyCharm\uc744 \uc0ac\uc6a9\ud574 \ubcf8 \uc801\uc774 \uc5c6\ub2e4\uba74 \uc544\ub798 \ub9c1\ud06c\ub97c \uc0ac\uc6a9\ud558\uc5ec \ubb34\ub8cc\ub85c 30\uc77c \ub3d9\uc548 \uccb4\ud5d8\ud574 \ubcf4\uc138\uc694.<\/p>\n<p align=\"center\"><a class=\"jb-download-button\" href=\"https:\/\/www.jetbrains.com\/ko-kr\/pycharm\/\" target=\"_blank\" rel=\"noopener\"><br \/>\uc9c0\uae08 \uc0ac\uc6a9\ud574 \ubcf4\uc138\uc694!<br \/><\/a><\/p>\n<p><em>\uac8c\uc2dc\ubb3c \uc6d0\ubb38 \uc791\uc131\uc790<\/em><\/p>\n\n    <div class=\"about-author \">\n        <div class=\"about-author__box\">\n            <div class=\"row\">\n                <div class=\"about-author__box-img\">\n                    <img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/11\/BK7A9876_korr_sRGB_8_1000x1500px_square_resized-200x200.jpg\" width=\"200\" height=\"200\" alt=\"Jodie Burchell\" loading=\"lazy\"  class=\"avatar avatar-200 wp-user-avatar wp-user-avatar-200 photo avatar-default\">\n                <\/div>\n                <div class=\"about-author__box-text\">\n                                            <h4>Jodie Burchell<\/h4>\n                                        <p>Dr. Jodie Burchell is the Developer Advocate in Data Science at JetBrains, and was previously a Lead Data Scientist at Verve Group Europe. She completed a PhD in clinical psychology and a postdoc in biostatistics, before leaving academia for a data science career. She has worked for 7 years as a data scientist in both Australia and Germany, developing a range of products including recommendation systems, analysis platforms, search engine improvements and audience profiling. She has held a broad range of responsibilities in her career, doing everything from data analytics to maintaining machine learning solutions in production. She is a long time content creator in data science, across conference and user group presentations, books, webinars, and posts on both her own and JetBrain&#8217;s blogs.<\/p>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n","protected":false},"author":1336,"featured_media":547330,"comment_status":"closed","ping_status":"closed","template":"","categories":[952],"tags":[566,8152],"cross-post-tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/pycharm\/549898"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/pycharm"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/types\/pycharm"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/users\/1336"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/comments?post=549898"}],"version-history":[{"count":9,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/pycharm\/549898\/revisions"}],"predecessor-version":[{"id":549913,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/pycharm\/549898\/revisions\/549913"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/media\/547330"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/media?parent=549898"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/categories?post=549898"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/tags?post=549898"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/cross-post-tag?post=549898"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}