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

pandas read_csv() ट्यूटोरियल: डेटा आयात करना

किसी भी डेटा साइंस प्रोजेक्ट में डेटा आयात करना पहला कदम होता है। जानें कि आज के डेटा साइंटिस्ट्स इसके लिए pandas read_csv() फ़ंक्शन को क्यों पसंद करते हैं।
अपडेट किया गया 25 सित॰ 2026  · 10 मि॰ पढ़ें

AI के साथ खोजें

ChatGPTClaudePerplexity

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

टैब्युलर फ़ॉर्मेट में उपलब्ध और CSV फ़ाइल के रूप में स्टोर किए गए डेटा के लिए, आप read_csv() फ़ंक्शन का उपयोग करके pandas में उसे मेमोरी में पढ़ सकते हैं, जो एक pandas डेटाफ़्रेम लौटाता है।

इस लेख में, आप read_csv() फ़ंक्शन के बारे में विस्तार से सीखेंगे और आउटपुट को अनुकूलित करने के लिए इसके पैरामीटर कैसे बदलें। हम यह भी कवर करेंगे कि pandas डेटाफ़्रेम को CSV फ़ाइल में कैसे लिखा जाए।

ध्यान दें: कोड के साथ फॉलो करने के लिए इस DataLab वर्कबुक को देखें।

read_csv() फ़ंक्शन का उपयोग करके CSV फ़ाइल आयात करना

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

अब, read_csv() का उपयोग करके फ़ाइल आयात करने के लिए थोड़ा कोड लिखते हैं। फिर, हम चर्चा करेंगे कि अंदर क्या हो रहा है और जब हम डेटा को मेमोरी में पढ़ते हैं तो प्राप्त आउटपुट को कैसे अनुकूलित कर सकते हैं।

# Tip: For faster performance on large files in pandas 2.0+, use the pyarrow engine
# airbnb_data = pd.read_csv("data/listings_austin.csv", engine="pyarrow")
import pandas as pd

# Read the CSV file
airbnb_data = pd.read_csv("data/listings_austin.csv")

# View the first 5 rows
airbnb_data.head()

read pandas initial data

ऊपर दिए गए कोड में हमने बस यह किया है:

  1. pandas लाइब्रेरी को अपने एनवायरनमेंट में इम्पोर्ट किया
  2. फ़ाइलपथ को read_csv() में पास किया ताकि डेटा को pandas डेटाफ़्रेम के रूप में मेमोरी में पढ़ा जा सके।
  3. डेटाफ़्रेम की पहली पाँच पंक्तियाँ प्रिंट कीं।

लेकिन read_csv() फ़ंक्शन में इसके अलावा भी बहुत कुछ है।

किसी कॉलम को इंडेक्स के रूप में सेट करना

डिफ़ॉल्ट रूप से, pandas मेमोरी में लोड की गई CSV फ़ाइल से लौटाए गए डेटाफ़्रेम में एक आरंभीक इंडेक्स जोड़ देता है। हालाँकि, आप index_col पैरामीटर सेट करके read_csv() फ़ंक्शन को स्पष्ट रूप से बता सकते हैं कि किस कॉलम को इंडेक्स बनाना है।

ध्यान दें कि index_col को दिया गया मान स्ट्रिंग नाम, कॉलम इंडेक्स, या स्ट्रिंग नामों/कॉलम इंडेक्सों के अनुक्रम के रूप में हो सकता है। पैरामीटर को एक अनुक्रम असाइन करने से मल्टीइंडेक्स बनता है (कई स्तरों द्वारा डेटा का समूह बनाना)।

आइए डेटा को फिर से पढ़ते हैं और id कॉलम को इंडेक्स के रूप में सेट करते हैं।

# Setting the id column as the index
airbnb_data = pd.read_csv("data/listings_austin.csv", index_col="id")
# airbnb_data = pd.read_csv("data/listings_austin.csv", index_col=0)

# Preview first 5 rows
airbnb_data.head()

id index

मेमोरी में पढ़ने के लिए विशिष्ट कॉलम चुनना

यदि आप केवल कुछ खास कॉलम ही मेमोरी में पढ़ना चाहते हैं क्योंकि सभी महत्वपूर्ण नहीं हैं, तो क्या करें? वास्तविक दुनिया में यह एक सामान्य परिदृश्य है। read_csv() फ़ंक्शन का उपयोग करके, आप फ़ाइल लोड करने के बाद केवल आवश्यक कॉलम चुन सकते हैं, लेकिन इसका मतलब है कि यदि आप यह ऑपरेशन read_csv() के भीतर से करना चाहते हैं तो आपको पहले से पता होना चाहिए कि किन कॉलमों की ज़रूरत है।

यदि आपको आवश्यक कॉलमों का पता है, तो अच्छी बात है; आप read_csv() के usecols पैरामीटर को सूची-जैसी ऑब्जेक्ट पास करके समय और मेमोरी बचा सकते हैं।

# Defining the columns to read
usecols = ["id", "name", "host_id", "neighbourhood", "room_type", "price", "minimum_nights"]

# Read data with subset of columns
airbnb_data = pd.read_csv("data/listings_austin.csv", index_col="id", usecols=usecols)

# Preview first 5 rows
airbnb_data.head()

read_csv_usecols

हमने read_csv() फ़ंक्शन के आउटपुट को अनुकूलित करने के विभिन्न तरीकों की सतह भर खरोंची है, लेकिन और गहराई में जाना निश्चित रूप से जानकारी की अधिकता हो जाएगी। इसके लिए, आप संदर्भ के रूप में निम्न तालिका का उपयोग कर सकते हैं:

सामान्य read_csv() पैरामीटर

ParameterDescriptionExample usage
filepath_or_bufferपढ़ी जाने वाली CSV फ़ाइल का पथ या URL।pd.read_csv("data/listings_austin.csv")
sepउपयोग किया जाने वाला डिलीमीटर। डिफ़ॉल्ट है , ।pd.read_csv("data.csv", sep=';')
index_colइंडेक्स के रूप में सेट करने के लिए कॉलम। कॉलम लेबल या पूर्णांक हो सकता है।pd.read_csv("data.csv", index_col="id")
usecolsकॉलमों के उपसमुच्चय को लौटाएँ। कॉलम नामों या इंडेक्सों की सूची-जैसी वस्तु लेता है।pd.read_csv("data.csv", usecols=["id", "name", "price"])
namesउपयोग करने के लिए कॉलम नामों की सूची। यदि फ़ाइल में हेडर पंक्ति नहीं है।pd.read_csv("data.csv", names=["A", "B", "C"])
headerकॉलम नामों के रूप में उपयोग करने के लिए पंक्ति संख्या(एँ)। डिफ़ॉल्ट 0 (पहली पंक्ति)।pd.read_csv("data.csv", header=1)
dtypeडेटा या कॉलमों के लिए डेटा प्रकार।pd.read_csv("data.csv", dtype={"id": int, "price": float})
na_valuesNA/NaN के रूप में पहचानने के लिए अतिरिक्त स्ट्रिंग्स।pd.read_csv("data.csv", na_values=["NA", "N/A"])
parse_datesतिथियों को पार्स करने का प्रयास। boolean या कॉलम नामों की सूची हो सकता है।pd.read_csv("data.csv", parse_dates=["date"])
engineपार्सर इंजन: 'c' (डिफ़ॉल्ट), 'python', या 'pyarrow' (सबसे तेज़, pyarrow पैकेज आवश्यक)।pd.read_csv("data.csv", engine="pyarrow")
skiprowsछोड़े जाने वाली पंक्ति संख्याएँ (0-इंडेक्स्ड) या शुरुआत में छोड़ी जाने वाली पंक्तियों की संख्या।pd.read_csv("data.csv", skiprows=3)
nrowsपढ़ी जाने वाली पंक्तियों की संख्या। बड़े फ़ाइलों का पूर्वावलोकन करने में उपयोगी।pd.read_csv("data.csv", nrows=100)

chunksize के साथ बड़े डेटासेट संभालना

बड़े डेटासेट पर काम करते समय, पूरी फ़ाइल को एक बार में मेमोरी में लोड करना संभव नहीं हो सकता, खासकर मेमोरी-सीमित वातावरण में। read_csv() फ़ंक्शन एक उपयोगी chunksize पैरामीटर देता है, जो आपको डेटा को छोटे, प्रबंधनीय हिस्सों में पढ़ने की अनुमति देता है।

chunksize सेट करने पर, read_csv() एक iterable ऑब्जेक्ट लौटाता है जहाँ प्रत्येक iteration में pandas डेटाफ़्रेम के रूप में डेटा का एक chunk मिलता है। यह तरीका बैच में प्रोसेसिंग करने या तब विशेष रूप से उपयोगी है जब डेटासेट का आकार उपलब्ध मेमोरी से अधिक हो।

chunksize पैरामीटर का उपयोग इस तरह कर सकते हैं:

import pandas as pd
import os  # Import the standard OS library

file_path = "data/large_dataset.csv"
output_file = "data/processed_large_dataset.csv"
chunk_size = 10000

# Process and write chunks
for chunk in pd.read_csv(file_path, chunksize=chunk_size):
    # Example: Filter rows based on a condition
    filtered_chunk = chunk[chunk['column_name'] > 50]
    
    # Check if header is needed (only if file doesn't exist yet)
    write_header = not os.path.exists(output_file)
    
    # Append to a new CSV file
    filtered_chunk.to_csv(output_file, mode='a', header=write_header, index=False)

यदि आपका लक्ष्य पूरे डेटासेट पर कोई ऑपरेशन करना है, जैसे किसी कॉलम का कुल योग निकालना, तो आप chunks पर इटरेट करते हुए परिणामों को एकत्रित कर सकते हैं:

total_sum = 0

for chunk in pd.read_csv(file_path, chunksize=chunk_size):
    # Add the sum of the specific column for each chunk
    total_sum += chunk['column_name'].sum()

print(f"Total sum of the column: {total_sum}")

आप chunksize का उपयोग करके डेटा के हिस्सों को क्रमशः प्रोसेस कर एक नई फ़ाइल में सहेज भी सकते हैं:

# Output file path
output_file = "data/processed_large_dataset.csv"

# Process and write chunks
for chunk in pd.read_csv(file_path, chunksize=chunk_size):
    # Example: Filter rows based on a condition
    filtered_chunk = chunk[chunk['column_name'] > 50]
    # Append to a new CSV file
    filtered_chunk.to_csv(output_file, mode='a', header=not os.path.exists(output_file), index=False)

हम अगले भागों में to_csv() मेथड के बारे में और देखेंगे।

chunksize पैरामीटर अनिवार्य हो जाता है जब:

  • डेटासेट उपलब्ध मेमोरी से बड़ा हो।
  • डेटा क्लीनिंग या ट्रांसफॉर्मेशन चरणों में करना हो।
  • बड़ी फ़ाइलों का क्रमिक विश्लेषण या प्रोसेसिंग करनी हो।

URL से डेटा पढ़ना

एक बार जब आप स्थानीय स्टोरेज से CSV फ़ाइल को मेमोरी में पढ़ना सीख लेते हैं, तो अन्य स्रोतों से डेटा पढ़ना आसान हो जाता है। प्रक्रिया वही रहती है, बस अब आप फ़ाइल पथ पास नहीं कर रहे होते।

मान लें कि किसी विशेष वेबपेज पर वह डेटा है जिसे आप चाहते हैं; आप उसे मेमोरी में कैसे पढ़ेंगे?

मैं उदाहरण के रूप में UCI रिपॉज़िटरी का Iris डेटासेट उपयोग करूँगा:

# Webpage URL
url = "https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data"

# Define the column names
col_names = ["sepal_length_in_cm",
            "sepal_width_in_cm",
            "petal_length_in_cm",
            "petal_width_in_cm",
            "class"]

# Read data from URL
iris_data = pd.read_csv(url, names=col_names)

iris_data.head() 

iris dataset

वाह!

हमने स्ट्रिंग्स की एक सूची को names पैरामीटर में असाइन किया। क्योंकि कच्चे Iris डेटा में हेडर पंक्ति नहीं है, यह आर्गुमेंट pandas को बताता है कि हमारी सूची को कॉलम नामों के रूप में उपयोग करे। (ध्यान दें: यदि फ़ाइल में हेडर पंक्ति होती, तो आपको pandas को उसे बदलने के लिए header=0 भी देना पड़ता)।

DataFrame स्ट्रक्चर के मेथड और एट्रिब्यूट्स

pandas लाइब्रेरी में सबसे सामान्य ऑब्जेक्ट डेटाफ़्रेम ऑब्जेक्ट है। यह पंक्तियों और कॉलमों वाली 2-आयामी लेबलयुक्त डेटा संरचना है, जिनके डेटा प्रकार अलग-अलग हो सकते हैं (जैसे float, numeric, categorical, आदि)।

सैद्धांतिक रूप से, आप pandas डेटाफ़्रेम को स्प्रेडशीट, SQL टेबल, या series ऑब्जेक्ट्स की डिक्शनरी की तरह समझ सकते हैं—जो भी आपको अधिक परिचित हो। pandas डेटाफ़्रेम की खासियत यह है कि इसमें कई मेथड होते हैं जो आपको अपने डेटा से जल्दी परिचित होने में मदद करते हैं।

आपने उन मेथड्स में से एक पहले ही देखा है: iris_data.head(), जो पहली n (डिफ़ॉल्ट 5) पंक्तियाँ दिखाता है। head() का “विपरीत” मेथड tail() है, जो डेटाफ़्रेम ऑब्जेक्ट की आखिरी n (डिफ़ॉल्ट 5) पंक्तियाँ दिखाता है। उदाहरण के लिए:

iris_data.tail()

head

आप अपने डेटाफ़्रेम ऑब्जेक्ट पर columns एट्रिब्यूट का उपयोग करके कॉलम नाम जल्दी खोज सकते हैं:

# Discover the column names
iris_data.columns

"""
Index(['sepal_length_in_cm', 'sepal_width_in_cm', 'petal_length_in_cm',
      'petal_width_in_cm', 'class'],
      dtype='object')
"""

एक और महत्वपूर्ण मेथड जो आप अपने डेटाफ़्रेम ऑब्जेक्ट पर उपयोग कर सकते हैं वह है info()। यह मेथड डेटाफ़्रेम का संक्षिप्त सारांश प्रिंट करता है, जिसमें इंडेक्स, डेटा प्रकार, कॉलम, non-null मान और मेमोरी उपयोग की जानकारी शामिल होती है।

# Get summary information of the dataframe
iris_data.info()

"""
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 150 entries, 0 to 149
Data columns (total 5 columns):
#   Column              Non-Null Count  Dtype 
---  ------              --------------  ----- 
0   sepal_length_in_cm  150 non-null    float64
1   sepal_width_in_cm   150 non-null    float64
2   petal_length_in_cm  150 non-null    float64
3   petal_width_in_cm   150 non-null    float64
4   class               150 non-null    object
dtypes: float64(4), object(1)
memory usage: 6.0+ KB
"""

DataFrame.describe() वर्णनात्मक सांख्यिकी उत्पन्न करता है, जिसमें औसत प्रवृत्ति, फैलाव और वितरण के आकार को संक्षेपित करने वाले माप शामिल होते हैं। यदि आपके डेटा में missing values हैं, तो चिंता न करें; उन्हें वर्णनात्मक सांख्यिकी में शामिल नहीं किया जाता।

आइए Iris डेटासेट पर describe मेथड कॉल करें:

# Get descriptive statistics
iris_data.describe()

describe

DataFrame को CSV फ़ाइल में निर्यात करना

pandas डेटाफ़्रेम ऑब्जेक्ट्स के लिए उपलब्ध एक और मेथड to_csv() है। जब आप अपना डेटा क्लीन और प्रीप्रोसेस कर लेते हैं, तो अगला कदम डेटाफ़्रेम को फ़ाइल में निर्यात करना हो सकता है—यह काफी सरल है:

# Export the file to the current working directory
iris_data.to_csv("cleaned_iris_data.csv")

इस कोड को चलाने से वर्तमान कार्यशील निर्देशिका में cleaned_iris_data.csv नाम की CSV बन जाएगी।

लेकिन यदि आप डेटा की इकाई की शुरुआत और अंत को चिह्नित करने के लिए अलग डिलीमीटर का उपयोग करना चाहते हैं, या यह निर्दिष्ट करना चाहते हैं कि आपकी missing values को कैसे दर्शाया जाए? हो सकता है आप हेडर को फ़ाइल में निर्यात नहीं करना चाहते।

खैर, आप to_csv() मेथड के पैरामीटर्स को अपनी आवश्यकताओं के अनुसार समायोजित कर सकते हैं।

आइए कुछ उदाहरण देखें कि आप to_csv() के आउटपुट को कैसे समायोजित कर सकते हैं:

  • वर्तमान कार्यशील निर्देशिका में डेटा निर्यात करें लेकिन टैब डिलीमीटर का उपयोग करें:
# Change the delimiter to a tab
iris_data.to_csv("tab_separated_iris_data.csv", sep="\t")
  • इंडेक्स के बिना डेटा निर्यात करना:
# Export data without the index
iris_data.to_csv("tab_separated_iris_data.csv", sep="\t", index=False)

# If you get UnicodeEncodeError use this... 
# iris_data.to_csv("tab_separated_iris_data.csv", sep="\t", index=False, encoding='utf-8')
  • missing values के नाम को बदलें (डिफ़ॉल्ट ““ है):
# Replace missing values with "Unknown"
iris_data.to_csv("tab_separated_iris_data.csv", sep="\t", na_rep="Unknown")
  • हेडर (कॉलम नाम) के बिना डेटाफ़्रेम को फ़ाइल में निर्यात करें:
# Do not include headers when exporting the data
iris_data.to_csv("tab_separated_iris_data.csv", sep="\t", na_rep="Unknown", header=False)

एन्कोडिंग समस्याओं को संभालना

कभी-कभी, आपको एन्कोडिंग त्रुटियाँ मिल सकती हैं, खासकर यदि आप ऐसे सिस्टम पर काम कर रहे हैं जहाँ डिफ़ॉल्ट एन्कोडिंग UTF-8 नहीं है या आपके डेटा में non-ASCII अक्षर हैं। इन समस्याओं को हल करने के लिए, आप encoding पैरामीटर का उपयोग करके उपयुक्त एन्कोडिंग निर्दिष्ट कर सकते हैं।

# Export data with a specified encoding
iris_data.to_csv("cleaned_iris_data.csv", encoding="utf-8")

यदि आपका सिस्टम अलग एन्कोडिंग उपयोग करता है, जैसे Windows-1252 (जो Windows सिस्टम पर आम है), तो आप इसे स्पष्ट रूप से निर्दिष्ट कर सकते हैं:

# Export data using a different encoding
iris_data.to_csv("cleaned_iris_data.csv", encoding="cp1252")

अतिरिक्त पैरामीटर के साथ उदाहरण:

# Handle missing values and encoding issues
iris_data.to_csv("cleaned_iris_data.csv", na_rep="Unknown", encoding="utf-8", index=False)

उपरोक्त उदाहरण यह सुनिश्चित करता है कि आपकी निर्यातित CSV फ़ाइल विभिन्न सिस्टम और अनुप्रयोगों के साथ संगत हो।

सामान्य to_csv() पैरामीटर

ParameterDescriptionExample usage
path_or_bufफ़ाइल पथ या ऑब्जेक्ट, यदि None दिया गया है, तो परिणाम स्ट्रिंग के रूप में लौटता है।df.to_csv("output.csv")
sepलंबाई 1 की स्ट्रिंग। आउटपुट फ़ाइल के लिए फ़ील्ड डिलीमीटर। डिफ़ॉल्ट ','.df.to_csv("output.csv", sep=';')
na_repमिसिंग डेटा का निरूपण।df.to_csv("output.csv", na_rep='Unknown')
float_formatफ़्लोटिंग-पॉइंट संख्याओं के लिए फ़ॉर्मेट स्ट्रिंग।df.to_csv("output.csv", float_format='%.2f')
columnsलिखने के लिए कॉलम। डिफ़ॉल्ट रूप से सभी कॉलम लिखता है।df.to_csv("output.csv", columns=["id", "name"])
headerकॉलम नाम लिखें। यदि स्ट्रिंग्स की सूची दी जाती है, तो उन्हें कॉलम नामों के उपनाम माना जाता है।df.to_csv("output.csv", header=False)
indexपंक्ति नाम (इंडेक्स) लिखें। डिफ़ॉल्ट True।df.to_csv("output.csv", index=False)
modePython लिखने का मोड। डिफ़ॉल्ट 'w'।df.to_csv("output.csv", mode='a')
encodingआउटपुट फ़ाइल में उपयोग की जाने वाली एन्कोडिंग का स्ट्रिंग।df.to_csv("output.csv", encoding='utf-8')

Python में CSV हैंडलिंग के वैकल्पिक लाइब्रेरी

हालाँकि pandas CSV फ़ाइलों के साथ काम करने के लिए शक्तिशाली और बहुमुखी लाइब्रेरी है, यह Python में एकमात्र विकल्प नहीं है। आपके उपयोग-केस के आधार पर, अन्य लाइब्रेरी कुछ विशिष्ट कार्यों के लिए अधिक उपयुक्त हो सकती हैं:

csv मॉड्यूल (स्टैंडर्ड लाइब्रेरी)

csv मॉड्यूल Python की स्टैंडर्ड लाइब्रेरी का हिस्सा है और CSV फ़ाइलों को संभालने के लिए एक हल्का विकल्प है। यह अतिरिक्त इंस्टॉलेशन के बिना CSV फ़ाइलें पढ़ने और लिखने की बुनियादी कार्यक्षमता प्रदान करता है। csv के फायदे हैं:

  • कोई बाहरी निर्भरता नहीं।
  • सरल CSV कार्यों के लिए हल्का और आसान।
  • रीडिंग और राइटिंग ऑपरेशनों पर सूक्ष्म नियंत्रण।

उदाहरण:

import csv

# Reading a CSV file
with open("data/sample.csv", mode="r") as file:
    reader = csv.reader(file)
    for row in reader:
        print(row)

# Writing to a CSV file
with open("data/output.csv", mode="w", newline="") as file:
    writer = csv.writer(file)
    writer.writerow(["Column1", "Column2"])
    writer.writerow(["Value1", "Value2"])

NumPy

NumPy Python में संख्यात्मक कंप्यूटिंग के लिए लाइब्रेरी है जो CSV हैंडलिंग का भी समर्थन करती है। यह विशेष रूप से तब उपयोगी है जब आप संख्यात्मक डेटा के साथ काम कर रहे हों या प्रदर्शन महत्वपूर्ण हो। इसके फायदे हैं: 

  • संख्यात्मक डेटा के लिए उच्च प्रदर्शन।
  • array-आधारित वर्कफ़्लो के साथ एकीकरण।
  • बड़े डेटासेट का कुशल हैंडलिंग।

उदाहरण:

import numpy as np

# Reading a CSV file into a NumPy array
data = np.loadtxt("data/sample.csv", delimiter=",", skiprows=1)

# Writing a NumPy array to a CSV file
np.savetxt("data/output.csv", data, delimiter=",")

हालाँकि NumPy कुशल है, यह pandas में उपलब्ध समृद्ध डेटा मैनिप्युलेशन और एक्सप्लोरेटरी सुविधाएँ प्रदान नहीं करता।

Polars

यदि आप बहुत बड़े डेटासेट पर काम कर रहे हैं जहाँ pandas धीमा लगता है या मेमोरी खत्म हो जाती है, तो Polars एक आधुनिक उत्तराधिकारी है जिसके बारे में आपको पता होना चाहिए। यह Rust में लिखी गई एक DataFrame लाइब्रेरी है जिसे अत्यंत तेज़ प्रदर्शन और समानांतर प्रोसेसिंग के लिए डिज़ाइन किया गया है।

जैसा कि हम अपने Polars ट्यूटोरियल में देखते हैं, Polars के फायदे हैं:

  • स्पीड: यह मल्टी-थ्रेडेड है, यानी यह आपके सभी CPU कोर का उपयोग करके pandas की तुलना में डेटा को काफी तेज़ी से पढ़ता-लिखता है।
  • मेमोरी दक्षता: यह मेमोरी को बहुत कुशलता से हैंडल करता है, जिससे अक्सर आप उसी मशीन पर बड़े डेटासेट के साथ काम कर सकते हैं।
  • लेज़ी इवैल्युएशन: यह क्वेरीज़ को चलाने से पहले ऑप्टिमाइज़ कर सकता है, जिससे जटिल ऑपरेशनों में समय बचता है।

उदाहरण: इसका सिंटैक्स अक्सर pandas के काफी समान होता है, जिससे इसे सीखना आसान हो जाता है:

import polars as pl

# Read a CSV file (automatically uses multiple threads)
df = pl.read_csv("data/large_dataset.csv")

# View the first 5 rows
print(df.head())

# Write to a CSV file
df.write_csv("data/polars_output.csv")

अंतिम विचार

आइए इस ट्यूटोरियल में कवर की गई बातों को दोहराएँ; आपने सीखा कि कैसे:

  • pandas लाइब्रेरी के read_csv() फ़ंक्शन का उपयोग करके CSV फ़ाइल आयात करें।
  • अपना डेटा मेमोरी में पढ़ते समय कॉलम इंडेक्स सेट करें।
  • अपने डेटा में वे कॉलम निर्दिष्ट करें जिन्हें आप read_csv() फ़ंक्शन से लौटाना चाहते हैं।
  • URL से pandas.read_csv() के साथ डेटा पढ़ें।
  • अपने डेटाफ़्रेम ऑब्जेक्ट पर मेथड्स और एट्रिब्यूट्स का उपयोग करके अपने डेटा के बारे में जल्दी insights जुटाएँ।
  • डेटाफ़्रेम ऑब्जेक्ट को CSV फ़ाइल में निर्यात करें।
  • to_csv() मेथड से निर्यात फ़ाइल के आउटपुट को अनुकूलित करें।

इस ट्यूटोरियल में, मैंने केवल CSV फ़ाइल के परिप्रेक्ष्य से डेटा को आयात और निर्यात करने पर ध्यान केंद्रित किया; अब आपको यह अच्छी तरह समझ है कि CSV फ़ाइलों को आयात और निर्यात करते समय pandas कितना उपयोगी है। CSV सबसे आम डेटा स्टोरेज फ़ॉर्मेट में से एक है, लेकिन यह एकमात्र नहीं है। डेटा साइंस में parquet, JSON और Excel जैसे कई अन्य फ़ाइल फ़ॉर्मेट भी उपयोग होते हैं।

वेब पर बहुत-से उपयोगी, उच्च-गुणवत्ता वाले डेटासेट होस्ट किए जाते हैं, जिन तक आप उदाहरण के लिए APIs के माध्यम से पहुँच सकते हैं। यदि आप Python में डेटा लोड करना अधिक विस्तार से समझना चाहते हैं, तो DataCamp का Introduction to Importing Data in Python कोर्स आपको सभी श्रेष्ठ अभ्यास सिखाएगा।

pandas में JSON और HTML डेटा आयात करने और शुरुआती-अनुकूल pandas अल्टीमेट गाइड पर भी ट्यूटोरियल हैं। pandas फ्रेमवर्क में गहराई से जाने के लिए उन्हें ज़रूर देखें।

FAQs

क्या pandas सेमीकोलन या टैब जैसे अलग डिलीमीटर वाली CSV फ़ाइलें पढ़ सकता है?

हाँ, pandas विभिन्न डिलीमीटर वाली CSV फ़ाइलें पढ़ सकता है, इसके लिए sep पैरामीटर का उपयोग करें जो read_csv() फ़ंक्शन में होता है। उदाहरण के लिए, सेमीकोलन-डिलीमिटेड फ़ाइलों के लिए आप pd.read_csv('file.csv', sep=';') उपयोग कर सकते हैं।

यदि मेरी CSV फ़ाइल में missing values हैं जिन्हें मैं फ़ाइल पढ़ते समय संभालना चाहता हूँ तो मुझे क्या करना चाहिए?

आप na_values पैरामीटर का उपयोग read_csv() फ़ंक्शन में कर सकते हैं ताकि अतिरिक्त स्ट्रिंग्स को NA/NaN के रूप में पहचाना जाए। उदाहरण के लिए, pd.read_csv('file.csv', na_values=['NA', 'missing'])।

मैं pandas के साथ बड़ी CSV फ़ाइल को कुशलतापूर्वक कैसे पढ़ सकता/सकती हूँ?

बड़ी CSV फ़ाइलों के लिए, chunksize पैरामीटर का उपयोग करके फ़ाइल को छोटे हिस्सों में पढ़ें। यह डेटा को भागों में पढ़ता है और मेमोरी के लिहाज़ से अधिक कुशल हो सकता है। उदाहरण के लिए, pd.read_csv('file.csv', chunksize=1000)।

क्या pandas के साथ CSV फ़ाइल पढ़ते समय कुछ पंक्तियाँ स्किप करना संभव है?

हाँ, आप skiprows पैरामीटर का उपयोग read_csv() में कर सकते हैं। आप छोड़ी जाने वाली पंक्तियों की संख्या या छोड़ी जाने वाली पंक्ति इंडेक्सों की सूची निर्दिष्ट कर सकते हैं।

CSV फ़ाइल पढ़ते समय किसी कॉलम को एक विशिष्ट डेटा प्रकार कैसे असाइन करूँ?

किसी कॉलम के लिए विशेष डेटा प्रकार सुनिश्चित करने के लिए dtype पैरामीटर का उपयोग करें। उदाहरण के लिए, pd.read_csv('file.csv', dtype={'column_name': 'int32'})।

क्या मैं pandas का उपयोग करते हुए CSV फ़ाइल पढ़ते समय तिथियों को पार्स कर सकता/सकती हूँ?

हाँ, आप parse_dates पैरामीटर का उपयोग करके तिथियाँ पार्स कर सकते हैं। आप किन कॉलमों को तिथि के रूप में पार्स करना है, यह निर्दिष्ट कर सकते हैं, जैसे pd.read_csv('file.csv', parse_dates=['date_column'])।

यदि मेरी CSV फ़ाइल में टिप्पणियाँ हैं जिन्हें मैं आयात के दौरान अनदेखा करना चाहता/चाहती हूँ तो क्या करूँ?

comment पैरामीटर का उपयोग करें ताकि उस अक्षर को निर्दिष्ट किया जा सके जो टिप्पणी की शुरुआत को चिह्नित करता है। इस अक्षर से शुरू होने वाली पंक्तियाँ स्किप हो जाएँगी। उदाहरण के लिए, pd.read_csv('file.csv', comment='#')।

मैं उन CSV फ़ाइलों को कैसे संभालूँ जिनमें कई हेडर पंक्तियाँ हों?

header पैरामीटर का उपयोग करें ताकि यह निर्दिष्ट किया जा सके कि किस पंक्ति को कॉलम नामों के रूप में उपयोग करना है। यदि कई हेडर पंक्तियाँ हैं, तो आप names पैरामीटर का उपयोग करके नए कॉलम नाम असाइन कर सकते हैं।

यदि CSV फ़ाइल में कई टेबल हैं, तो मैं pandas का उपयोग करके किसी विशिष्ट टेबल को कैसे पढ़ सकता/सकती हूँ?

यदि फ़ाइल संरचना जटिल है, तो आपको फ़ाइल को प्री-प्रोसेस करने या किसी विशेष टेबल को निकालने के लिए अतिरिक्त लाइब्रेरी का उपयोग करने की आवश्यकता हो सकती है। केवल pandas जटिल मल्टी-टेबल CSV फ़ाइलों को सीधे हैंडल नहीं कर सकता।

pandas के साथ CSV फ़ाइल पढ़ते समय एन्कोडिंग से जुड़ी समस्याओं को मैं कैसे संभालूँ?

फ़ाइल की एन्कोडिंग निर्दिष्ट करने के लिए encoding पैरामीटर का उपयोग करें। उदाहरण के लिए, यदि एन्कोडिंग त्रुटियाँ मिलती हैं, तो pd.read_csv('file.csv', encoding='utf-8') या pd.read_csv('file.csv', encoding='latin1')।

विषय
Python

Python और pandas के बारे में और जानें

{count, plural, one {कोर्स} other {कोर्स}}

स्प्रेडशीट उपयोगकर्ताओं के लिए Pandas Joins

{hours} घंटा
4.5K
Python Pandas लाइब्रेरी का उपयोग करके सारणीबद्ध प्रारूप में डेटासेट्स को प्रभावी और कुशलतापूर्वक जोड़ना सीखें।
विवरण देखेंRight Arrow
पाठ्यक्रम शुरू करें
और देखेंRight Arrow