Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

Python Pandas में लेक्सिकोग्राफिकल स्लाइसिंग का उपयोग करके डेटा का सबसेट कैसे चुनें?


परिचय

Pandas में इंडेक्स पोजीशन या इंडेक्स लेबल का उपयोग करके डेटा के सबसेट को चुनने की दोहरी क्षमता होती है। इस पोस्ट में, मैं आपको दिखाऊंगा कि "लेक्सिकोग्राफिकल स्लाइसिंग का उपयोग करके डेटा का सबसेट कैसे चुनें"।

Google डेटासेट से भरा पड़ा है। Kaggle.com पर मूवीज डेटासेट खोजें। इस पोस्ट में Kaggle से मूवीज डेटासेट का उपयोग किया गया है।

कैसे करें

1. केवल इस उदाहरण के लिए आवश्यक कॉलम के साथ मूवीज डेटासेट आयात करें।

import pandas as pd
import numpy as np

movies = pd.read_csv("https://raw.githubusercontent.com/sasankac/TestDataSet/master/movies_data.csv",
                     index_col="title",
                     usecols=["title", "budget", "vote_average", "vote_count"])

movies.sample(n=5)
titlebudgetvote_averagevote_count
Little Voice06.661
Grown Ups 2800000005.81155
The Best Years of Our Lives21000007.6143
Tusk28000005.1366
Operation Chromite05.829

2. मैं हमेशा इंडेक्स को सॉर्ट करने की सलाह देता हूं, खासकर यदि इंडेक्स स्ट्रिंग्स से बना हो। आप अंतर देखेंगे यदि आप एक विशाल डेटासेट के साथ काम कर रहे हैं जब आपका इंडेक्स सॉर्ट किया गया हो।

यदि मैं इंडेक्स सॉर्ट न करूं तो क्या होगा?

कोई समस्या नहीं, आपका कोड हमेशा के लिए चलेगा। मजाक कर रहा हूं, खैर यदि इंडेक्स लेबल अनसॉर्टेड हैं तो Pandas को आपके क्वेरी से मिलान करने के लिए सभी लेबल को एक-एक करके पार करना होगा। बस ऑक्सफोर्ड डिक्शनरी की कल्पना करें बिना इंडेक्स पेज के, आप क्या करेंगे? सॉर्ट किए गए इंडेक्स के साथ आप जल्दी से उस लेबल पर जा सकते हैं जिसे आप निकालना चाहते हैं, Pandas के साथ भी ऐसा ही है।

आइए पहले जांचें कि हमारा इंडेक्स सॉर्टेड है या नहीं।

# जांचें कि इंडेक्स सॉर्टेड है या नहीं?
movies.index.is_monotonic
# Output: False

3. स्पष्ट रूप से, इंडेक्स अनसॉर्टेड है। हम 'A' से शुरू होने वाली फिल्मों को चुनने का प्रयास करेंगे। यह लिखने जैसा है:

select * from movies where title like 'A%'
movies.loc["Aa":"Bb"]
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
...
ValueError: index must be monotonic increasing or decreasing
...
KeyError: 'Aa'

4. इंडेक्स को आरोही क्रम में सॉर्ट करें और लेक्सिकोग्राफिकल स्लाइसिंग के लिए सॉर्टिंग का लाभ लेने के लिए उसी कमांड को फिर से आज़माएं।

movies.sort_index(inplace=True)
movies.index.is_monotonic
# Output: True

5. अब हमारा डेटा सेट हो गया है और लेक्सिकोग्राफिकल स्लाइसिंग के लिए तैयार है। आइए अब अक्षर A से लेकर अक्षर B तक शुरू होने वाले सभी मूवी टाइटल चुनें।

movies.loc["Aa":"Bb"]
titlebudgetvote_averagevote_count
Abandon250000004.645
Abandoned05.827
Abduction350000005.6961
Aberdeen07.06
About Last Night125000006.0210
............
Battle for the Planet of the Apes17000005.5215
Battle of the Year200000005.988
Battle: Los Angeles700000005.51448
Battlefield Earth440000003.0255
Battleship2090000005.52114

292 rows × 3 columns

यदि हम रिवर्स ऑर्डर में स्लाइस करने का प्रयास करते हैं:

movies.loc["Bb":"Aa"]

यह एक खाली DataFrame लौटाएगा क्योंकि डेटा आरोही क्रम में सॉर्टेड है। आइए अक्षरों को उल्टा करें और फिर से चलाएं।

movies.loc["Bb":"Aa"]
titlebudgetvote_averagevote_count
B-Girl05.57
Ayurveda: Art of Being3000005.53
Away We Go170000006.7189
Awake860000006.3395
Avengers: Age of Ultron2800000007.36767
............
About Last Night125000006.0210
Aberdeen07.06
Abduction350000005.6961
Abandoned05.827
Abandon250000004.645

228 rows × 3 columns

  1. - Python Pandas - इंडेक्स में डेटा का प्रतिनिधित्व करने वाली सरणी लौटाएं

    परिचय पैंडास इंडेक्स में डेटा का प्रतिनिधित्व करने वाली नम्पाई सरणी (numpy array) प्राप्त करने के लिए index.values प्रॉपर्टी का उपयोग करें। आवश्यक लाइब्रेरी आयात करें import pandas as pd इंडेक्स बनाएं index = pd.Index([Car, Bike, Truck, Ship, Airplane]) इंडेक्स प्रदर्शित करें print(पैंडास इंडेक्स

  1. - पायथन - जांचें कि पैंडास इंडेक्स कैटेगोरिकल डेटा रखता है या नहीं

    जांचने के लिए कि पैंडास इंडेक्स कैटेगोरिकल डेटा रखता है या नहीं, पैंडास में index.is_categorical() मेथड का उपयोग करें। सबसे पहले आवश्यक लाइब्रेरी इम्पोर्ट करें: import pandas as pd astype() मेथड का उपयोग करके टाइप को category के रूप में सेट करके पैंडास इंडेक्स बनाएं: index = pd.Index([Electronics,Ac

  1. पायथन - पैंडास DataFrame के सबसेट का चयन कैसे करें पायथन - पैंडास DataFrame के सबसेट का चयन कैसे करें

    मान लीजिए हमारी CSV फ़ाइल की सामग्री Microsoft Excel में निम्नलिखित है:सबसे पहले, CSV फ़ाइल से डेटा पैंडास DataFrame में लोड करें:dataFrame = pd.read_csv(C:\\Users\\amit_\\Desktop\\SalesData.csv)सबसेट का चयन करने के लिए वर्गाकार ब्रैकेट का उपयोग करें। ब्रैकेट में कॉलम का उल्लेख करें और पूरे डेटासेट