DataFrames बनाना
सूचियों की डिक्शनरी, डिक्शनरी की सूचियों और NumPy ऐरे से DataFrames बनाइए, फिर shape, columns और dtypes का निरीक्षण कीजिए।
DataFrames बनाना, CoddyKit पर Pandas & NumPy Academy का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Pandas & NumPy Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Pandas & NumPy Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
DataFrame क्या है?
DataFrame दो-आयामी, आकार में बदली जा सकने वाली और लेबलयुक्त डेटा संरचना है—मूल रूप से पंक्तियों और कॉलम वाली एक तालिका, जो स्प्रेडशीट या SQL तालिका जैसी होती है। प्रत्येक कॉलम समान पंक्ति इंडेक्स साझा करने वाला Pandas Series होता है। DataFrames में अलग-अलग dtypes वाले कॉलम हो सकते हैं, इसलिए वे संख्याओं, पाठ और तारीखों वाले वास्तविक दुनिया के डेटासेट के लिए बिल्कुल उपयुक्त हैं।
import pandas as pd
df = pd.DataFrame({'name': ['Alice', 'Bob', 'Carol'],
'age': [30, 25, 35],
'score': [88.5, 72.0, 95.3]})
print(df)सूचियों की डिक्शनरी से बनाना
DataFrame बनाने का सबसे सामान्य तरीका सूचियों की dict से बनाना है: कुंजियाँ कॉलम नाम बनती हैं और सूचियाँ कॉलम मान। सभी सूचियों की लंबाई समान होनी चाहिए। जब तक आप index= से कोई इंडेक्स निर्दिष्ट न करें, पंक्ति इंडेक्स डिफ़ॉल्ट रूप से 0, 1, 2, ... होता है। यह तरीका Python में CSV डेटा के सामान्य निरूपण से मेल खाता है।
import pandas as pd
df = pd.DataFrame({
'city': ['Berlin', 'Paris', 'Rome'],
'pop': [3.6, 2.2, 2.8],
'country': ['DE', 'FR', 'IT']
})
print(df.shape) # (3, 3)
print(df.dtypes)डिक्शनरी की सूची से बनाना
आप dict की सूची भी पास कर सकते हैं, जिसमें प्रत्येक dict एक पंक्ति को दर्शाता है। किसी भी dict में अनुपस्थित कुंजियों के लिए उस कॉलम में NaN उत्पन्न होता है। JSON API से रिकॉर्ड ऑब्जेक्ट की सूची प्राप्त करते समय यह प्रारूप सामान्य है। Pandas सभी dict की कुंजियों को स्वचालित रूप से संरेखित करके कॉलम का सेट बनाता है।
import pandas as pd
rows = [
{'name': 'Alice', 'age': 30, 'dept': 'Eng'},
{'name': 'Bob', 'age': 25}, # 'dept' missing -> NaN
{'name': 'Carol', 'age': 35, 'dept': 'HR'}
]
df = pd.DataFrame(rows)
print(df)NumPy ऐरे से बनाना
2-D NumPy ऐरे पास करने पर पूर्णांक कॉलम नामों (0, 1, 2, ...) वाला DataFrame बनता है और डिफ़ॉल्ट रूप से RangeIndex उपयोग होता है। अर्थपूर्ण लेबल जोड़ने के लिए columns= और index= दें। यह NumPy की संख्यात्मक गणना और Pandas के लेबलयुक्त डेटा विश्लेषण के बीच का सेतु है।
import pandas as pd
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
df = pd.DataFrame(arr,
columns=['x', 'y', 'z'],
index=['r1', 'r2', 'r3'])
print(df)बनाते समय कस्टम इंडेक्स सेट करना
index= पैरामीटर बनाते समय पंक्ति लेबल सेट करता है। आम विकल्पों में तारीख के स्ट्रिंग, आईडी या श्रेणी नाम शामिल हैं, जो पंक्ति लुकअप को अर्थपूर्ण बनाते हैं। अच्छी तरह चुना गया इंडेक्स .loc से पहुँच को सहज बनाता है और इंडेक्स DatetimeIndex होने पर शक्तिशाली समय-श्रृंखला संचालन सक्षम करता है।
import pandas as pd
df = pd.DataFrame(
{'revenue': [100, 200, 150], 'costs': [80, 160, 90]},
index=['Jan', 'Feb', 'Mar']
)
print(df)
print(df.loc['Feb']) # select row 'Feb'कॉलम, dtypes और इंडेक्स का निरीक्षण
तीन विशेषताएँ तुरंत DataFrame की संरचना बताती हैं: df.columns कॉलम नामों का Index देता है, df.dtypes प्रत्येक कॉलम को उसके dtype से जोड़ने वाला Series लौटाता है, और df.index पंक्ति लेबल का वर्णन करता है। किसी भी नए DataFrame पर डेटा में बदलाव करने से पहले यह समझने के लिए यही पहली जाँच होनी चाहिए कि आपके पास कौन-सा डेटा है।
import pandas as pd
df = pd.DataFrame({'a': [1, 2], 'b': [3.0, 4.0], 'c': ['x', 'y']})
print(df.columns) # Index(['a', 'b', 'c'], dtype='object')
print(df.dtypes)
# a int64
# b float64
# c object
print(df.index) # RangeIndex(start=0, stop=2, step=1)कॉलम का क्रम निर्दिष्ट करना
डिक्शनरी से बनाते समय कॉलम का क्रम डिक्शनरी में कुंजियाँ जोड़ने के क्रम का अनुसरण करता है (Python 3.7+)। यदि आपको कोई विशेष क्रम चाहिए, तो कॉलम नामों की सूची के साथ columns= पैरामीटर पास करें। डेटा में मौजूद न होने वाला कोई भी नाम NaN कॉलम बनाएगा; डेटा में मौजूद लेकिन सूची में न होने वाला कोई भी नाम शामिल नहीं किया जाएगा। इससे आप बनाते समय ही कॉलम चुन और क्रमबद्ध कर सकते हैं।
import pandas as pd
data = {'c': [3, 6], 'a': [1, 4], 'b': [2, 5]}
df = pd.DataFrame(data, columns=['a', 'b', 'c'])
print(df.columns.tolist()) # ['a', 'b', 'c']Series की डिक्शनरी से बनाना
Pandas Series की डिक्शनरी पास करने पर सभी इंडेक्स का संघ लेकर संरेखण किया जाता है। जहाँ किसी Series में वह लेबल अनुपस्थित होता है जो किसी अन्य Series में मौजूद है, वहाँ परिणाम सेल में NaN होता है। यह इंडेक्स के प्रति सबसे अधिक सजग निर्माण विधि है और इसका उपयोग अलग-अलग गणना किए गए कॉलमों को मिलाने के लिए किया जाता है, जिनमें पंक्तियों की संख्या या लेबल अलग हो सकते हैं।
import pandas as pd
s1 = pd.Series([1, 2, 3], index=['a', 'b', 'c'])
s2 = pd.Series([10, 20], index=['b', 'c'])
df = pd.DataFrame({'col1': s1, 'col2': s2})
print(df)
# col1 col2
# a 1.0 NaN
# b 2.0 10.0
# c 3.0 20.0shape, len और size
df.shape एक टपल (nrows, ncols) लौटाता है। len(df) पंक्तियों की संख्या लौटाता है। df.size कुल सेल की संख्या (पंक्तियाँ × कॉलम) लौटाता है। डेटा लोड करने के बाद ये सबसे तेज़ प्रारंभिक जाँच हैं, जिनसे पुष्टि होती है कि अपेक्षित संख्या में रिकॉर्ड मिले हैं और कोई कॉलम चुपचाप हटाया नहीं गया।
import pandas as pd
df = pd.DataFrame({'a': range(5), 'b': range(5), 'c': range(5)})
print(df.shape) # (5, 3)
print(len(df)) # 5
print(df.size) # 15 (5 rows x 3 cols)खाली DataFrame बनाना
आप किसी टेम्पलेट या संचायक के रूप में उपयोग करने के लिए विशिष्ट कॉलम नामों और dtypes वाला खाली DataFrame बना सकते हैं। pd.concat([df, new_row])m से पंक्तियाँ जोड़ें। बनाते समय dtypes निर्दिष्ट करने से बाद में पंक्तियाँ जोड़ने पर महँगा प्रकार-अनुमान लगाने की आवश्यकता नहीं रहती। खाली DataFrame पुनरावृत्त डेटा-संग्रह लूप में प्रारंभिक आधार के रूप में भी उपयोगी है।
import pandas as pd
df = pd.DataFrame(columns=['name', 'score'])
new_row = pd.DataFrame([{'name': 'Alice', 'score': 90}])
df = pd.concat([df, new_row], ignore_index=True)
print(df)DataFrame की कॉपी बनाना
DataFrame को किसी नए चर में असाइन करने पर कॉपी नहीं, बल्कि संदर्भ बनता है—एक में बदलाव करने पर दूसरे में भी बदलाव होता है। स्वतंत्र कॉपी बनाने के लिए df.copy() का उपयोग करें। यह उन रूपांतरणों से पहले महत्वपूर्ण है जिन्हें आप मूल डेटा पर लागू नहीं करना चाहते, या जब साफ़ किए गए संस्करण पर काम करते समय पहले की सफ़ाई से पहले का बैकअप रखना चाहते हैं।
import pandas as pd
original = pd.DataFrame({'a': [1, 2, 3]})
ref = original # same object!
copy = original.copy() # independent copy
ref['a'] = 99
print(original['a'].tolist()) # [99 99 99] -- ref modified original
print(copy['a'].tolist()) # [1, 2, 3] -- copy unchangedत्वरित जाँच
इस पाठ में DataFrames बनाने की अपनी समझ जाँचें।
पाठ का पुनरावलोकन
इस पाठ में आपने सीखा: DataFrames को सूचियों की dict, dict की सूचियों या NumPy ऐरे से बनाया जा सकता है, columns, dtypes और index विशेषताएँ तालिका की संरचना बताती हैं, और संदर्भ के बजाय स्वतंत्र कॉपी पाने के लिए df.copy() आवश्यक है। अब हम ब्रैकेट नोटेशन, .loc और .iloc का उपयोग करके विशिष्ट कॉलम और पंक्तियाँ चुनेंगे।
एआई शिक्षक के साथ Python सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 30
- पाठ
- 120
अक्सर पूछे जाने वाले प्रश्न
क्या “DataFrames बनाना” पाठ निःशुल्क है?
हाँ—“DataFrames बनाना” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Pandas & NumPy Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Pandas & NumPy Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“DataFrames बनाना” में मैं क्या सीखूँगा?
सूचियों की डिक्शनरी, डिक्शनरी की सूचियों और NumPy ऐरे से DataFrames बनाइए, फिर shape, columns और dtypes का निरीक्षण कीजिए। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Pandas & NumPy Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Pandas & NumPy Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Pandas & NumPy Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।
“DataFrames बनाना” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Pandas & NumPy Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Pandas & NumPy Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।