পরিচয়
ইনডেক্স পজিশন ব্যবহার করে বা ইনডেক্স লেবেল ব্যবহার করে ডেটার উপসেট নির্বাচন করার জন্য পান্ডাদের দ্বৈত নির্বাচন ক্ষমতা রয়েছে। এই পোস্টে, আমি আপনাকে দেখাব কিভাবে "লেক্সিকোগ্রাফিক্যাল স্লাইসিং ব্যবহার করে ডেটার একটি উপসেট নির্বাচন করতে হয়"।
গুগল ডেটাসেটে পূর্ণ। kaggle.com-এ চলচ্চিত্রের ডেটাসেট অনুসন্ধান করুন। এই পোস্টটি ক্যাগল থেকে মুভি ডেটা সেট ব্যবহার করে৷
কিভাবে করবেন
-
শুধুমাত্র এই উদাহরণের জন্য প্রয়োজনীয় কলামগুলির সাথে মুভি ডেটাসেট আমদানি করুন৷
৷
pdimport numpy হিসাবে npmovies =pd.read_csv("https://raw.githubusercontent.com/sasankac/TestDataSet/master/movies_data.csv",index_col="title",usecols=["title", হিসাবে পান্ডা আমদানি করুন "বাজেট","ভোট_গড়","ভোট_গণনা"])চলচ্চিত্র।নমুনা(n=5)
| বাজেট | ভোটের_গড় | vote_count |
---|---|---|---|
টাইটেল | | | |
লিটল ভয়েস | 0 | 6.6 | 61 |
বড় 2 | 80000000 | 5.8 | 1155 |
আমাদের জীবনের সেরা বছরগুলি৷ | 2100000 | 7.6 | 143 |
টাস্ক | 2800000 | 5.1 | 366 |
অপারেশন ক্রোমাইট | 0 | 5.8 | ২৯ |
-
আমি সর্বদা সূচী বাছাই করার পরামর্শ দিই, বিশেষ করে যদি সূচকটি স্ট্রিং দ্বারা গঠিত হয়। আপনার সূচী বাছাই করার সময় আপনি যদি একটি বিশাল ডেটাসেট নিয়ে কাজ করেন তবে আপনি পার্থক্যটি লক্ষ্য করবেন৷
যদি আমি সূচী বাছাই না করি?
কোন সমস্যা নেই আপনার কোড চিরতরে চালানো যাচ্ছে. শুধু মজা করছি, ঠিক আছে যদি সূচী লেবেলগুলি সাজানো না থাকে তবে পান্ডাদের আপনার প্রশ্নের সাথে মেলে এক এক করে সমস্ত লেবেল অতিক্রম করতে হবে৷ শুধু একটি সূচী পৃষ্ঠা ছাড়া একটি অক্সফোর্ড অভিধান কল্পনা করুন, আপনি কি করতে যাচ্ছেন? সূচী বাছাই করা হলে আপনি যে লেবেলটি বের করতে চান তার কাছে দ্রুত ঝাঁপিয়ে পড়তে পারেন, পান্ডাস্তুর ক্ষেত্রেও তাই।
আমাদের সূচী বাছাই করা হয়েছে কিনা তা আগে পরীক্ষা করা যাক।
# সূচী সাজানো হয়েছে কিনা তা পরীক্ষা করুন ?movies.index.is_monotonic
মিথ্যা
-
স্পষ্টতই, সূচকটি সাজানো হয়নি। আমরা A% দিয়ে শুরু করে মুভিগুলো নির্বাচন করার চেষ্টা করব। এটা লেখার মতন
মুভি থেকে * নির্বাচন করুন যেখানে শিরোনাম যেমন 'A%'
movies.loc["Aa":"Bb"]<প্রে> মুভি থেকে * নির্বাচন করুন যেখানে শিরোনাম যেমন 'A%' ---------------------------------- ----------------ValueErrorTraceback (সর্বশেষ সর্বশেষ কল)~\anaconda3\ lib\site-packages\pandas\core\indexes\base.py in get_slice_bound(self, labe l, side, kind)4844try:-> 4845return self._searchsorted_monotonic(lebel, side) 4846 ValueError:~li\anadaconda ছাড়া -packages\pandas\core\indexes\base.py _searchsorted_monotonic(se lf, label, side) 4805-> 4806raise ValueError("index অবশ্যই একঘেয়ে বৃদ্ধি বা হ্রাস হওয়া")4807ValueError:সূচকটি একঘেয়ে বা কমানোর হাত বাড়াতে হবে উপরে ব্যতিক্রম, আরেকটি ব্যতিক্রম ঘটেছে:KeyErrorTraceback (সর্বাধিক সাম্প্রতিক কল) ----> 1 movies.loc["Aa":"Bb"]~\anaconda3\lib\site-packages\pandas\core\indexing.py getitem-এ (self, key)17661767maybe_callable =com.apply_if_callable(key, self.obj)-> 1768রিটার্ন self._getitem_axis(maybe_callable, axis=axis) 17691770def _is_cess\n\(Tu_access)\(Tu_access\n) কী:\site-packages\pandas\core\indexing.py-এ _getitem_axis(self, key, axis)1910if isinstance(কী, স্লাইস):1911self._validate_key(key, axis)-> 1912রিটার্ন self._get_slice_axis,s=key) 1913elif com.is_bool_indexer(key):1914রিটার্ন self._getbool_axis(key, axis=axis)~\anaconda3\lib\site-packages\pandas\core\indexing.py _get_slice_axis(self, slice_obj71) এ _get_axis(axis)-> 1796indexer =labels.slice_indexer(1797slice_obj.start, slice_obj.stop, slice_obj.step, kind=self.name 1798)~\anaconda3\lib\site-packages\indexe\pandase\pandase slice_indexer-এ(self, start, end, step, kind)4711slice(1, 3)4712"""-> 4713start_slice, end_slice =self.slice_locs(start, end, step=step, kind=ki nd)47144715# রিটার্ন a slice~\anaconda3\lib\site-packages\pandas\core\indexes\base.py-এ slice_locs(self, start, en d, step, kind)4924start_slice =None4925যদি শুরু না হয়:-> 4926start_slice =self_bound_(slice) start, "left", kind) 4927if start_slice is None:4928start_slice =0~\ anaconda3\lib\site-packages\pandas\core\indexes\base.py-এ get_slice_bound(self, labe l, side, kind)4846ব্যতীত ValueError:4847# raise the original KeyError-> 4848raise err4849494850fdarsn(stdrpnc) :~\anaconda3\lib\site-packages\pandas\core\indexes\base.py in get_slice_bound(self, labe l, side, kind)4840# আমাদের লেবেলটি দেখতে হবে4841try:-> 4842slc =self.get_loc( লেবেল) 4843 err হিসাবে KeyError ব্যতীত:4844try:~\anaconda3\lib\site-packages\pandas\core\indexes\base.py in get_loc(self, key, method, tolerance)2646return self._engine.get_loc(কী)2646 :-> 2648রিটার্ন self._engine.get_loc(self._maybe_cast_indexer(key))2649indexer =self.get_indexer([key], method=method, tolerance=tolerance) 2650if indexer.ndim> 1 or indexer.pandas>\ পান্ডাসে _libs\index.pyx. পান্ডায় IndexEngine._get_loc_duplicates()pandas\_libs\index.pyx s._libs.index.IndexEngine._maybe_get_bool_indexer() কী ত্রুটি:'Aa'
-
সূচীকে ক্রমবর্ধমান ক্রমে সাজান এবং অভিধানিক স্লাইসিংয়ের জন্য সাজানোর সুবিধা নিতে একই কমান্ড ব্যবহার করে দেখুন।
সত্য
-
এখন আমাদের ডেটা সেট এবং লেক্সিকোগ্রাফিক্যাল স্লাইসিংয়ের জন্য প্রস্তুত। আসুন এখন A অক্ষর থেকে শুরু করে B অক্ষর পর্যন্ত সমস্ত সিনেমার শিরোনাম নির্বাচন করি।
| বাজেট | ভোটের_গড় | vote_count |
---|---|---|---|
শিরোনাম | | | |
ত্যাগ করুন৷ | 25000000 | 4.6 | 45 |
পরিত্যক্ত৷ | 0 | 5.8 | 27 |
অপহরণ | 35000000 | 5.6 | 961 |
আবারডিন | 0 | 7.0 | 6 |
গত রাত সম্পর্কে | 12500000 | 6.0 | 210 |
... | ... | ... | ... |
প্ল্যানেট অফ দ্য এপসের জন্য যুদ্ধ | 1700000 | 5.5 | 215 |
বছরের যুদ্ধ | 20000000 | 5.9 | 88 |
যুদ্ধ:লস এঞ্জেলেস | 70000000 | 5.5 | 1448 |
যুদ্ধক্ষেত্র আর্থ | 44000000 | 3.0 | 255 |
যুদ্ধজাহাজ | 209000000 | 5.5 | 2114 |
292 সারি × 3 কলাম
সত্য
শিরোনাম | বাজেট | ভোটের_গড় | vote_count |
---|---|---|---|
Æon Flux | 62000000 | 5.4 | 703 |
xXx:রাজ্যের ইউনিয়ন | 60000000 | 4.7 | 549 |
xXx | 70000000 | 5.8 | 1424 |
eXistenZ | 15000000 | 6.7 | 475 |
[REC]² | 5600000 | 6.4 | 489 |
বাজেট ভোট_গড় ভোট_গণনা শিরোনাম
ডাটা বিপরীত ক্রমে সাজানো থাকায় খালি ডাটাফ্রেম দেখার জন্য এটি কোন বুদ্ধিমানের কাজ নয়। আসুন আমরা অক্ষরগুলিকে বিপরীত করি এবং এটি আবার চালাই৷
শিরোনাম | বাজেট | ভোটের_গড় | vote_count |
---|---|---|---|
বি-গার্ল | 0 | 5.5 | 7 |
আয়ুর্বেদ:আর্ট অফ বিয়িং | 300000 | 5.5 | 3 |
আমরা দূরে চলে যাই | 17000000 | 6.7 | 189 |
জাগ্রত হও৷ | 86000000 | 6.3 | 395 |
অ্যাভেঞ্জার্স:এজ অফ আল্ট্রন | 280000000 | 7.3 | 6767 |
... | ... | ... | ... |
গত রাত সম্পর্কে | 12500000 | 6.0 | 210 |
আবারডিন | 0 | 7.0 | 6 |
অপহরণ | 35000000 | 5.6 | 961 |
পরিত্যক্ত৷ | 0 | 5.8 | 27 |
ত্যাগ করুন৷ | 25000000 | 4.6 | 45 |
228 সারি × 3 কলাম