मुख्य सामग्री पर जाएं

Polars का परिचय: बड़े पैमाने पर डेटा विश्लेषण के लिए Python का टूल

Polars, एक सक्षम Python लाइब्रेरी, जो हाई-परफॉर्मेंस डेटा मैनिपुलेशन और विश्लेषण के लिए बनाई गई है, को जानें। इसकी विशेषताओं, pandas पर इसके लाभ, और यह आपके डेटा विश्लेषण प्रक्रियाओं को कैसे बदल सकती है, के बारे में सीखें।
अपडेट किया गया 25 सित॰ 2026  · 9 मि॰ पढ़ें

AI के साथ खोजें

ChatGPTClaudePerplexity

डेटा विश्लेषण की दुनिया में, Python अपनी बहुमुखी प्रतिभा और लाइब्रेरियों के व्यापक इकोसिस्टम के कारण एक लोकप्रिय भाषा है। डेटा मैनिपुलेशन और विश्लेषण, इनसाइट निकालने और सूचित निर्णय लेने में महत्वपूर्ण भूमिका निभाते हैं। हालांकि, जैसे-जैसे डेटासेट आकार और जटिलता में बढ़ते हैं, हाई-परफॉर्मेंस समाधान की आवश्यकता सर्वोपरि हो जाती है।

बड़े डेटासेट को कुशलतापूर्वक संभालने के लिए ऐसे टूल चाहिए जो तेज़ कंप्यूटेशन और अनुकूलित ऑपरेशन दे सकें। यहीं Polars काम आता है। Polars एक शक्तिशाली ओपन-सोर्स लाइब्रेरी है, जिसे खास तौर पर Python में हाई-परफॉर्मेंस डेटा मैनिपुलेशन और विश्लेषण के लिए डिज़ाइन किया गया है।

Polars की विशेषताएं

Polars एक DataFrame लाइब्रेरी है जो पूरी तरह Rust में लिखी गई है और Python डेवलपर्स को डेटा संभालने के लिए एक स्केलेबल और कुशल फ़्रेमवर्क प्रदान करती है। इसे लोकप्रिय pandas लाइब्रेरी के विकल्प के रूप में भी देखा जाता है। यह विभिन्न डेटा मैनिपुलेशन और विश्लेषण कार्यों के लिए व्यापक फ़ंक्शनैलिटी प्रदान करता है। Polars का उपयोग करने की कुछ प्रमुख विशेषताएं और लाभ हैं:

1. गति और प्रदर्शन

Polars को प्रदर्शन को ध्यान में रखकर तैयार किया गया है। यह पैरेलल प्रोसेसिंग और मेमोरी ऑप्टिमाइज़ेशन तकनीकों का लाभ उठाता है, जिससे यह पारंपरिक तरीकों की तुलना में बड़े डेटासेट को कहीं तेज़ी से प्रोसेस कर सकता है।

2. डेटा मैनिपुलेशन क्षमता

Polars डेटा मैनिपुलेशन के लिए एक समग्र टूलकिट प्रदान करता है, जिसमें फ़िल्टरिंग, सॉर्टिंग, ग्रूपिंग, जॉइनिंग और एग्रीगेटिंग जैसे आवश्यक ऑपरेशन शामिल हैं। यद्यपि अपनी अपेक्षाकृत नवीनता के कारण Polars में pandas जितनी व्यापक सुविधाएँ नहीं हैं, फिर भी यह Pandas में मिलने वाले लगभग 80% सामान्य ऑपरेशन को कवर करता है।

3. अभिव्यक्तिपूर्ण सिंटैक्स

Polars संक्षिप्त और सहज सिंटैक्स अपनाता है, जिससे इसे सीखना और उपयोग करना आसान हो जाता है। इसका सिंटैक्स pandas जैसी लोकप्रिय Python लाइब्रेरियों की याद दिलाता है, जिससे उपयोगकर्ता जल्दी अनुकूल हो सकते हैं और अपने मौजूदा ज्ञान का लाभ उठा सकते हैं।

4. DataFrame और Series संरचनाएं

Polars के केंद्र में DataFrame और Series संरचनाएं हैं, जो सारणीबद्ध डेटा के साथ काम करने के लिए एक परिचित और सशक्त एब्स्ट्रैक्शन प्रदान करती हैं। Polars में DataFrame ऑपरेशंस को चेन किया जा सकता है, जिससे कुशल और संक्षिप्त डेटा ट्रांसफॉर्मेशन संभव होते हैं।

5. Polars में लेज़ी इवैल्यूएशन का समर्थन

Polars लेज़ी इवैल्यूएशन को शामिल करता है, जिसमें क्वेरी की जाँच और उनका अनुकूलन शामिल है ताकि प्रदर्शन बेहतर हो और मेमोरी खपत न्यूनतम रहे। Polars के साथ काम करते समय, लाइब्रेरी आपकी क्वेरी का विश्लेषण करती है और उनके निष्पादन में तेजी लाने या मेमोरी उपयोग घटाने के अवसर ढूंढती है। इसके विपरीत, Pandas केवल ईगर इवैल्यूएशन का समर्थन करता है, जिसमें एक्सप्रेशन मिलते ही तुरंत इवैल्यूएट हो जाते हैं।

जब pandas है तो Polars क्यों चुनें?

pandas, व्यापक रूप से अपनाई गई लाइब्रेरी, अपनी लचीलेपन और उपयोग में आसानी के लिए जानी जाती है। हालांकि, बड़े डेटासेट के साथ काम करते समय, Pandas का सिंगल-थ्रेडेड निष्पादन पर निर्भर रहना प्रदर्शन में बाधाएँ पैदा कर सकता है। जैसे-जैसे डेटासेट का आकार बढ़ता है, प्रोसेसिंग समय अत्यधिक लंबा हो सकता है, जिससे उत्पादकता सीमित होती है।

Polars को विशेष रूप से बड़े डेटासेट को कुशलतापूर्वक संभालने के लिए डिज़ाइन किया गया है। अपनी लेज़ी इवैल्यूएशन रणनीति और पैरेलल निष्पादन क्षमताओं के साथ, Polars बड़े पैमाने पर डेटा को तेज़ी से प्रोसेस करने में माहिर है। कई CPU कोर में कंप्यूटेशन वितरित करके, Polars पैरेललिज़्म का लाभ उठाता है और प्रभावशाली परफॉर्मेंस गेन देता है। Yuki द्वारा Pandas और Polars के बीच स्पीड तुलना परीक्षण देखें।

image4.png

इमेज स्रोत

Polars बनाम pandas की पूरी तुलना के लिए हमारा अलग लेख देखें।

Polars इंस्टॉल करना

Polars को pip, यानी Python पैकेज मैनेजर, के माध्यम से इंस्टॉल किया जा सकता है। अपना कमांड-लाइन इंटरफ़ेस खोलें और निम्न कमांड चलाएं:

install polars

Polars में डेटासेट लोड करना

Polars विभिन्न स्रोतों से डेटा लोड करने के सुविधाजनक तरीके प्रदान करता है, जिनमें CSV फ़ाइलें, Parquet फ़ाइलें और Pandas DataFrames शामिल हैं। CSV या parquet फ़ाइल पढ़ने के तरीके pandas लाइब्रेरी जैसे ही हैं।

# read csv file
import polars as pl
data = pl.read_csv('https://raw.githubusercontent.com/pycaret/pycaret/master/datasets/diamond.csv')


# check the head
data.head()

आउटपुट:

image2.png

data का प्रकार polars.DataFrame है।

type(data)
>>> polars.dataframe.frame.DataFrame

आउटपुट:

image7.png

Polars के साथ सामान्य डेटा मैनिपुलेशन फ़ंक्शन

Polars डेटा मैनिपुलेशन के लिए व्यापक फ़ंक्शनैलिटी प्रदान करता है, जिससे आप आसानी से अपने डेटा को चुन, फ़िल्टर, सॉर्ट, ट्रांसफ़ॉर्म और साफ़ कर सकते हैं। आइए कुछ सामान्य डेटा मैनिपुलेशन कार्यों और उन्हें Polars का उपयोग करके करने के तरीकों को देखें:

1. डेटा चुनना और फ़िल्टर करना

DataFrame से विशिष्ट कॉलम चुनने के लिए आप select() मेथड का उपयोग कर सकते हैं। उदाहरण देखें:

import polars as pl


# Load diamond data from a CSV file
df = pl.read_csv('https://raw.githubusercontent.com/pycaret/pycaret/master/datasets/diamond.csv')


# Select specific columns: carat, cut, and price
selected_df = df.select(['Carat Weight', 'Cut', 'Price'])


# show selected_df head
selected_df.head()

आउटपुट:

image1.png

निर्दिष्ट शर्तों के आधार पर पंक्तियों को फ़िल्टर करना filter() मेथड से किया जा सकता है। उदाहरण के लिए, उन पंक्तियों को फ़िल्टर करने के लिए जहाँ कैरट 1.0 से अधिक है, आप यह कर सकते हैं:

import polars as pl


# Load diamond data from a CSV file
df = pl.read_csv('https://raw.githubusercontent.com/pycaret/pycaret/master/datasets/diamond.csv')


# filter the df with condition
filtered_df = df.filter(pl.col('Carat Weight') > 2.0)


# show filtered_df head
filtered_df.head()

आउटपुट:

image9.png

2. डेटा को सॉर्ट और क्रमबद्ध करना

Polars एक या अधिक कॉलम के आधार पर DataFrame को सॉर्ट करने के लिए sort() मेथड प्रदान करता है। उदाहरण देखें:

import polars as pl


# Load diamond data from a CSV file
df = pl.read_csv('https://raw.githubusercontent.com/pycaret/pycaret/master/datasets/diamond.csv')


# sort the df by price
sorted_df = df.sort(by='Price')


# show sorted_df head
sorted_df.head()

आउटपुट:

image12.png

3. मिसिंग वैल्यू संभालना

Polars मिसिंग वैल्यू संभालने के लिए सुविधाजनक मेथड प्रदान करता है। drop_nulls() मेथड उन पंक्तियों को हटा देता है जिनमें कोई भी मिसिंग वैल्यू होती है:

import polars as pl


# Load diamond data from a CSV file
df = pl.read_csv('https://raw.githubusercontent.com/pycaret/pycaret/master/datasets/diamond.csv')


# drop missing values
cleaned_df = df.drop_nulls()


# show cleaned_df head
cleaned_df.head()

आउटपुट:

image5.png

वैकल्पिक रूप से, आप fill_nulls() मेथड का उपयोग करके मिसिंग वैल्यू को किसी निर्दिष्ट डिफ़ॉल्ट मान या फ़िल विधि से बदल सकते हैं।

4. विशिष्ट कॉलम के आधार पर ग्रूपिंग

विशिष्ट कॉलम के आधार पर डेटा को समूहबद्ध करने के लिए आप groupby() मेथड का उपयोग कर सकते हैं। यहाँ एक उदाहरण है जो Cut कॉलम के आधार पर डेटा को समूहबद्ध करता है और प्रत्येक समूह के लिए औसत Price की गणना करता है:

import polars as pl


# Load diamond data from a CSV file
df = pl.read_csv('https://raw.githubusercontent.com/pycaret/pycaret/master/datasets/diamond.csv')


# group by cut and calc mean of price
grouped_df = df.groupby(by='Cut').agg(pl.col('Price').mean())


# show grouped_df head
grouped_df.head()

आउटपुट:

image8.png

ऊपर के आउटपुट में, आप Cut डायमेंशन के अनुसार हीरों की औसत कीमत देख सकते हैं।

5. DataFrames को जोड़ना और संयोजित करना

Polars, DataFrames को जोड़ने और संयोजित करने के लिए लचीले विकल्प प्रदान करता है, जिससे आप विभिन्न स्रोतों से डेटा मर्ज और कंकैटनेट कर सकते हैं। जॉइन ऑपरेशन करने के लिए आप join() मेथड का उपयोग कर सकते हैं। यहाँ एक उदाहरण है जो एक सामान्य की कॉलम के आधार पर दो DataFrames के बीच इनर जॉइन दिखाता है:

import polars as pl


# Create the first DataFrame
df1 = pl.DataFrame({
    'id': [1, 2, 3, 4],
    'name': ['Alice', 'Bob', 'Charlie', 'David']
})


# Create the second DataFrame
df2 = pl.DataFrame({
    'id': [2, 3, 5],
    'age': [25, 30, 35]
})


# Perform an inner join on the 'id' column
joined_df = df1.join(df2, on='id')


# Display the joined DataFrame
joined_df

आउटपुट:

image6.png

इस उदाहरण में, हम pl.DataFrame कंस्ट्रक्टर का उपयोग करके दो DataFrames (df1 और df2) बनाते हैं। पहला DataFrame df1 में id और name कॉलम हैं, और दूसरा DataFrame df2 में id और age कॉलम हैं। फिर हम join() मेथड का उपयोग करके id कॉलम पर इनर जॉइन करते हैं और id कॉलम को जॉइन की के रूप में निर्दिष्ट करते हैं।

इंटीग्रेशन और इंटरऑपरेबिलिटी

Polars अन्य लोकप्रिय Python लाइब्रेरियों के साथ सहज इंटीग्रेशन प्रदान करता है, जिससे डेटा विश्लेषक विविध टूल और फ़ंक्शनैलिटी का लाभ उठा सकते हैं। आइए इंटीग्रेशन के दो मुख्य पहलुओं का अन्वेषण करें: अन्य लाइब्रेरियों के साथ काम करना और Pandas के साथ इंटरऑपरेबिलिटी।

अन्य Python लाइब्रेरियों के साथ Polars का इंटीग्रेशन

Polars, NumPy और PyArrow जैसी लाइब्रेरियों के साथ सुविधाजनक रूप से इंटीग्रेट होता है, जिससे उपयोगकर्ता अपनी डेटा विश्लेषण वर्कफ़्लो में कई टूल की ताकतों को जोड़ सकते हैं। NumPy इंटीग्रेशन के साथ, Polars, Polars DataFrames और NumPy arrays के बीच आसानी से रूपांतरण करता है और NumPy की शक्तिशाली वैज्ञानिक कंप्यूटिंग क्षमताओं का लाभ उठाता है। यह इंटीग्रेशन डेटा का सुचारू ट्रांज़िशन सुनिश्चित करता है और विश्लेषकों को सीधे NumPy फ़ंक्शन Polars डेटा पर लागू करने देता है।

इसी प्रकार, PyArrow का लाभ उठाकर, Polars, Polars और Arrow-आधारित प्रणालियों के बीच डेटा ट्रांसफ़र को अनुकूलित करता है। यह इंटीग्रेशन Arrow फ़ॉर्मेट में संग्रहीत डेटा के साथ सहज काम करने में सक्षम बनाता है और Polars की हाई-परफॉर्मेंस डेटा मैनिपुलेशन क्षमताओं का उपयोग कराता है।

Polars DataFrames को pandas DataFrames में बदलना

Polars, Polars DataFrames को Pandas DataFrames में सहज रूप से परिवर्तित करता है। यहाँ Polars से pandas में रूपांतरण का एक उदाहरण है।

import polars as pl
import pandas as pd


# Create a Polars DataFrame
df_polars = pl.DataFrame({
    'column_A': [1, 2, 3],
    'column_B': ['apple', 'banana', 'orange']
})


# Convert Polars DataFrame to Pandas DataFrame
df_pandas = df_polars.to_pandas()


# Display the Pandas DataFrame
df_pandas

आउटपुट:

image3.png

निष्कर्ष

Polars Python में हाई-परफॉर्मेंस डेटा मैनिपुलेशन और विश्लेषण के लिए एक शक्तिशाली लाइब्रेरी है। इसकी गति और परफॉर्मेंस ऑप्टिमाइज़ेशन इसे बड़े डेटासेट को कुशलतापूर्वक संभालने के लिए आदर्श विकल्प बनाते हैं।

अपने अभिव्यक्तिपूर्ण सिंटैक्स और DataFrame संरचनाओं के साथ, Polars डेटा मैनिपुलेशन कार्यों के लिए एक परिचित और सहज इंटरफ़ेस प्रदान करता है। साथ ही, Polars, NumPy और PyArrow जैसी अन्य Python लाइब्रेरियों के साथ सहज इंटीग्रेट होता है, जिससे इसकी क्षमताएँ बढ़ती हैं और उपयोगकर्ता विविध टूल्स के इकोसिस्टम का लाभ उठा सकते हैं।

Polars DataFrames को pandas DataFrames में बदलने की क्षमता इंटरऑपरेबिलिटी सुनिश्चित करती है और मौजूदा वर्कफ़्लो में Polars को शामिल करना आसान बनाती है। चाहे आप जटिल डेटा प्रकारों के साथ काम कर रहे हों, बड़े डेटासेट संभाल रहे हों, या प्रदर्शन में सुधार की तलाश में हों, Polars आपके डेटा विश्लेषण प्रयासों की पूरी क्षमता खोलने के लिए एक समग्र टूलकिट प्रदान करता है।


Moez Ali's photo
Author
Moez Ali
LinkedIn
Twitter

डेटा साइंटिस्ट, PyCaret के संस्थापक और निर्माता

विषय
Python

श्रेष्ठ Python डेटा मैनिपुलेशन कोर्स

कोर्स

pandas के साथ Data Manipulation

4 घंटा
565.6K
डेटा इम्पोर्ट और क्लीनिंग, सांख्यिकी गणना, और pandas के साथ विज़ुअलाइज़ेशन बनाना सीखें।
विवरण देखेंRight Arrow
पाठ्यक्रम शुरू करें
और देखेंRight Arrow