পরিচয়
ইনডেক্স পজিশন ব্যবহার করে বা ইনডেক্স লেবেল ব্যবহার করে ডেটার উপসেট নির্বাচন করার জন্য পান্ডাদের দ্বৈত নির্বাচন ক্ষমতা রয়েছে। এই পোস্টে, আমি আপনাকে দেখাব কিভাবে "লেক্সিকোগ্রাফিক্যাল স্লাইসিং ব্যবহার করে ডেটার একটি উপসেট নির্বাচন করতে হয়"।
গুগল ডেটাসেটে পূর্ণ। kaggle.com-এ চলচ্চিত্রের ডেটাসেট অনুসন্ধান করুন। এই পোস্টটি ক্যাগল থেকে মুভি ডেটা সেট ব্যবহার করে৷
কিভাবে করবেন
1. শুধুমাত্র এই উদাহরণের জন্য প্রয়োজনীয় কলামগুলির সাথে মুভি ডেটাসেট আমদানি করুন৷
৷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 | ২৯ |
2. আমি সবসময় সূচী সাজানোর পরামর্শ দিই, বিশেষ করে যদি সূচীটি স্ট্রিং দিয়ে তৈরি হয়। আপনার সূচী বাছাই করার সময় আপনি যদি একটি বিশাল ডেটাসেট নিয়ে কাজ করেন তবে আপনি পার্থক্যটি লক্ষ্য করবেন৷
যদি আমি সূচী বাছাই না করি?
কোন সমস্যা নেই আপনার কোড চিরতরে চালানো যাচ্ছে. শুধু মজা করছি, ঠিক আছে যদি সূচী লেবেলগুলি সাজানো না থাকে তবে পান্ডাদের আপনার প্রশ্নের সাথে মেলে এক এক করে সমস্ত লেবেল অতিক্রম করতে হবে৷ শুধু একটি সূচী পৃষ্ঠা ছাড়া একটি অক্সফোর্ড অভিধান কল্পনা করুন, আপনি কি করতে যাচ্ছেন? সূচী বাছাই করা হলে আপনি যে লেবেলটি বের করতে চান তার কাছে দ্রুত ঝাঁপিয়ে পড়তে পারেন, পান্ডাস্তুর ক্ষেত্রেও তাই।
আমাদের সূচী বাছাই করা হয়েছে কিনা তা আগে পরীক্ষা করা যাক।
# সূচী সাজানো হয়েছে কিনা তা পরীক্ষা করুন ?movies.index.is_monotonicFalse
3. স্পষ্টতই, সূচকটি সাজানো হয়নি। আমরা A% দিয়ে শুরু করে মুভিগুলো নির্বাচন করার চেষ্টা করব। এটা লেখার মতন
মুভি থেকে * নির্বাচন করুন যেখানে শিরোনাম 'A%'
movies.loc["Aa":"Bb"]<পূর্ব>------------------------------------------------------------ ----------------------------ValueErrorTraceback (সর্বশেষ সাম্প্রতিক কল)~\anaconda3\lib\site-packages\pandas\core\indexes get_slice_bound-এ \base.py(self, labe l, side, kind)4844try:-> 4845রিটার্ন self._searchsorted_monotonic(লেবেল, সাইড) 4846 ছাড়া ValueError:~\anaconda3\lib\site-packages\pandas\core\in. _searchsorted_monotonic (se lf, label, side) 4805-> 4806raise ValueError("index অবশ্যই একঘেয়ে বৃদ্ধি বা হ্রাস হওয়া")4807ValueError:সূচকটি অবশ্যই একঘেয়ে বৃদ্ধি বা হ্রাস হতে হবে সর্বশেষ কল করুন----> 1 movies.loc["Aa":"Bb"]~\anaconda3\lib\site-packages\pandas\core\indexing.py in getitem (self, key)17661767maybe_callable =com। apply_if_callable(key, self.obj)-> 1768রিটার্ন self._getitem_axis(maybe_callable, axis=axis) 17691770def _is_scalar_access(self, key:Tuple):~\anaconda3\lib\site\packages in\copying. _getitem_axis(self, key, axis)1910if isinstance(কী, স্লাইস):1911self._validate_key(key, axis)-> 1912return self._get_slice_axis(key, axis=axis) 1913elif com.olaxis_1913elif. কী, axis=axis)~\anaconda3\lib\site-packages\pandas\core\indexing.py-এ _get_slice_axis(self, slice_ob j, axis)17941795লেবেল =obj._get_axis(axis)-> 1796indexer_sl7_slb7 .start, slice_obj.stop, slice_obj.step, kind=self.name 1798)~\anaconda3\lib\site-packages\pandas\core\indexes\base.py 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# একটি স্লাইস ফেরত দিন~\anaconda3\lib\site-packages\pandas\ slice_locs-এ core\indexes\base.py(self, start, en d, step, kind)4924start_slice =None4925if start is not None:-> 4926start_slice =self.get_slice_bound(start, "left", kind) 4927 is one if start_slice 4928start_slice =0~\anaconda3\lib\site-packages\pandas\core\in dexes\base.py get_slice_bound-এ (self, labe l, side, kind)4846 ValueError ব্যতীত:4847# raise the original KeyError-> 4848raise err48494850if isinstance(slc, np.ndarray) get_slice_bound(self, labe l, side, kind)4840#-এ \core\indexes\base.py আমাদের লেবেলটি দেখতে হবে4841try:-> 4842slc =self.get_loc(লেবেল) 4843ব্যতীত KeyError as err:4844try:~3 \lib\site-packages\pandas\core\indexes\base.py-এ get_loc(self, key, method, tolerance) 2646return self._engine.get_loc(key)2647কীError ছাড়া:-> 2648রিটার্ন self._engine.get_loc(কি) _maybe_cast_indexer(key))2649indexer =self.get_indexer([key], method=method, tolerance=tolerance) 2650if indexer.ndim> 1 or indexer.size> 1:pandas\_libs\index.pyx in pandas._libs.index. IndexEngine.get_loc() pandas\_libs\index.pyx in pandas._libs.index.IndexEngine.get_loc()pandas\_libs\index.pyx in pandas._libs.index.IndexEngine._get_loc_duplicates(bs_x_pyx) pandas._libs.index.IndexEngine._maybe_get_bool_ এ indexer() KeyError:'Aa'
4. সূচীকে ক্রমবর্ধমান ক্রমে সাজান এবং অভিধানিক স্লাইসিংয়ের জন্য বাছাই করার সুবিধা নিতে একই কমান্ড চেষ্টা করুন৷
সত্য
5. এখন আমাদের ডেটা সেট এবং লেক্সিকোগ্রাফিক্যাল স্লাইসিংয়ের জন্য প্রস্তুত। আসুন এখন 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 |
শিরোনাম | বাজেট | ভোটের_গড় | 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 |