কম্পিউটার

পাইথন পান্ডায় লেক্সিকোগ্রাফিক্যাল স্লাইসিং ব্যবহার করে ডেটার একটি উপসেট কীভাবে নির্বাচন করবেন?


পরিচয়

ইনডেক্স পজিশন ব্যবহার করে বা ইনডেক্স লেবেল ব্যবহার করে ডেটার উপসেট নির্বাচন করার জন্য পান্ডাদের দ্বৈত নির্বাচন ক্ষমতা রয়েছে। এই পোস্টে, আমি আপনাকে দেখাব কিভাবে "লেক্সিকোগ্রাফিক্যাল স্লাইসিং ব্যবহার করে ডেটার একটি উপসেট নির্বাচন করতে হয়"।

গুগল ডেটাসেটে পূর্ণ। 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



  1. পাইথন - পান্ডাস সূচকে ডেটা উপস্থাপন করে একটি অ্যারে ফেরত দিন

  2. পাইথন - পান্ডাস সূচকে সুনির্দিষ্ট ডেটা আছে কিনা তা পরীক্ষা করুন

  3. পাইথন - কিভাবে একটি পান্ডাস ডেটাফ্রেমের একটি উপসেট নির্বাচন করবেন

  4. পাইথন ব্যবহার করে একটি ফাইলে বাইনারি ডেটা কীভাবে লিখবেন?