কম্পিউটার

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


পরিচয়

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

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


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

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

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

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