अनुक्रमण, फ़िल्टरिंग और बूलियन मास्क
loc, iloc और बूलियन शर्तों से पंक्तियाँ व कॉलम चुनें।
अनुक्रमण, फ़िल्टरिंग और बूलियन मास्क, CoddyKit पर Python Academy का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Python Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Python Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
लेबल-आधारित बनाम स्थिति-आधारित चयन
loc लेबल के आधार पर चयन करता है, जबकि iloc पूर्णांक स्थिति के आधार पर चयन करता है। इन्हें कभी आपस में न मिलाएँ।
import pandas as pd
df = pd.DataFrame({"a":[1,2,3],"b":[4,5,6]}, index=["x","y","z"])
print(df.loc["y"]) # row with label y
print(df.iloc[1]) # row at position 1 (same row)
print(df.loc["x":"y"]) # rows x to y inclusiveबूलियन मास्क से फ़िल्टर करना
एक बूलियन Series बनाएँ और उसका उपयोग पंक्तियों का चयन करने के लिए करें। यह NumPy के बूलियन इंडेक्सिंग के समतुल्य pandas तरीका है।
import pandas as pd
df = pd.DataFrame({"name":["Alice","Bob","Carol"],"age":[30,17,25]})
adults = df[df["age"] >= 18]
print(adults)
# Alice 30
# Carol 25कई शर्तें
बूलियन शर्तों को & (और) तथा | (या) से मिलाएँ। प्रत्येक शर्त को कोष्ठक में रखें।
import pandas as pd
df = pd.DataFrame({"city":["NY","LA","NY","LA"],"score":[80,90,70,85]})
result = df[(df["city"]=="NY") & (df["score"]>75)]
print(result)query() विधि
df.query("expression") एक स्ट्रिंग अभिव्यक्ति स्वीकार करता है, जो अक्सर बूलियन मास्क की तुलना में अधिक पठनीय होती है।
import pandas as pd
df = pd.DataFrame({"age":[30,17,25],"score":[90,80,70]})
result = df.query("age >= 18 and score > 75")
print(result)isin() से फ़िल्टर करना
isin(list) उन पंक्तियों को फ़िल्टर करता है जिनमें किसी कॉलम का मान दी गई सूची में मौजूद होता है।
import pandas as pd
df = pd.DataFrame({"city":["NY","LA","Chicago","NY"],"val":[1,2,3,4]})
print(df[df["city"].isin(["NY","LA"])])
# rows with NY or LAसीमा फ़िल्टर करने के लिए between()
series.between(left, right) उन मानों के लिए True लौटाता है जो [left, right] में होते हैं — डिफ़ॉल्ट रूप से दोनों सीमाएँ शामिल होती हैं।
import pandas as pd
df = pd.DataFrame({"score":[55,70,85,95,40]})
print(df[df["score"].between(60, 90)])
# 70 and 85असाइनमेंट के लिए loc
इन-प्लेस असाइनमेंट के लिए हमेशा loc/iloc का उपयोग करें, ताकि SettingWithCopyWarning से बचा जा सके।
import pandas as pd
df = pd.DataFrame({"val":[1,2,3,4]})
df.loc[df["val"] > 2, "val"] = 99
print(df)
# 0:1 1:2 2:99 3:99एकल मानों के लिए at और iat
at[label, col] और iat[i, j] तेज़ स्केलर एक्सेस प्रदान करते हैं — एकल मानों के लिए ये loc/iloc से तेज़ होते हैं।
import pandas as pd
df = pd.DataFrame({"a":[10,20],"b":[30,40]})
print(df.at[0,"a"]) # 10 (by label)
print(df.iat[1,1]) # 40 (by position)डेटा प्रकार के आधार पर चयन
select_dtypes(include/exclude) डेटा प्रकार के आधार पर कॉलम चुनता है।
import pandas as pd
df = pd.DataFrame({"x":[1,2],"name":["a","b"],"score":[1.5,2.5]})
nums = df.select_dtypes(include=["number"])
print(nums.columns.tolist()) # ['x', 'score']डुप्लिकेट हटाना
drop_duplicates() डुप्लिकेट पंक्तियों को हटाता है। केवल कुछ कॉलमों की तुलना करने के लिए subset निर्दिष्ट करें।
import pandas as pd
df = pd.DataFrame({"name":["Alice","Bob","Alice"],"age":[30,25,30]})
print(df.drop_duplicates())
# keeps first Alice, removes secondnlargest और सबसे छोटे मान
किसी कॉलम के मान के आधार पर शीर्ष या निचली N पंक्तियों का कुशलतापूर्वक चयन करें।
import pandas as pd
df = pd.DataFrame({"product":["A","B","C","D"],"sales":[500,300,800,200]})
print(df.nlargest(2,"sales"))
# C 800
# A 500त्वरित जाँच
loc और iloc में क्या अंतर है?
पुनरावलोकन
लेबल-आधारित चयन के लिए loc[label] और स्थिति-आधारित चयन के लिए iloc[i] का उपयोग करें। &/| से जोड़े गए बूलियन मास्क से पंक्तियों को फ़िल्टर करें। पठनीय फ़िल्टर के लिए query(), सदस्यता जाँच के लिए isin() का उपयोग करें और SettingWithCopyWarning से बचने के लिए हमेशा loc के माध्यम से असाइन करें।
एआई शिक्षक के साथ Python सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 76
- पाठ
- 320
अक्सर पूछे जाने वाले प्रश्न
क्या “अनुक्रमण, फ़िल्टरिंग और बूलियन मास्क” पाठ निःशुल्क है?
हाँ—“अनुक्रमण, फ़िल्टरिंग और बूलियन मास्क” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Python Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Python Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“अनुक्रमण, फ़िल्टरिंग और बूलियन मास्क” में मैं क्या सीखूँगा?
loc, iloc और बूलियन शर्तों से पंक्तियाँ व कॉलम चुनें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Python Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Python Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Python Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।
“अनुक्रमण, फ़िल्टरिंग और बूलियन मास्क” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Python Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Python Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- Series और DataFrame की मूल बातें
- अनुक्रमण, फ़िल्टरिंग और बूलियन मास्क
- GroupBy, एग्रीगेशन और पिवट टेबल
- मर्जिंग, जॉइनिंग और डेटा सफ़ाई