কম্পিউটার

পাইথন পান্ডাসে ইনডেক্স লেবেল সহ ডেটার উপসেট কীভাবে নির্বাচন করবেন?


পরিচয়

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

মনে রাখবেন, পাইথন অভিধান এবং তালিকাগুলি অন্তর্নির্মিত ডেটা স্ট্রাকচার যা সূচী লেবেল বা সূচী অবস্থানের দ্বারা তাদের ডেটা নির্বাচন করে। একটি অভিধানের কী অবশ্যই একটি স্ট্রিং, পূর্ণসংখ্যা বা টুপল হতে হবে যখন একটি তালিকাকে অবশ্যই নির্বাচনের জন্য পূর্ণসংখ্যা (পজিশন) বা স্লাইসঅবজেক্ট ব্যবহার করতে হবে।

পান্ডাদের কাছে .loc এবং.iloc বৈশিষ্ট্য রয়েছে যা তাদের নিজস্ব অনন্য উপায়ে সূচক অপারেশনগুলি সম্পাদন করতে পারে। ) সঙ্গে.iloc অ্যাট্রিবিউট,পান্ডা শুধুমাত্র অবস্থান অনুসারে নির্বাচন করে এবং পাইথন তালিকার অনুরূপভাবে কাজ করে। .loc অ্যাট্রিবিউট শুধুমাত্র সূচী লেবেল দ্বারা নির্বাচন করে, যেটি পাইথন অভিধান কিভাবে কাজ করে তার অনুরূপ।

.loc[] সহ সূচক লেবেল ব্যবহার করে ডেটার একটি উপসেট নির্বাচন করুন[]

loc এবং iloc বৈশিষ্ট্যগুলি সিরিজ এবং ডেটাফ্রেম

উভয়েই উপলব্ধ

1. সূচক হিসাবে শিরোনাম সহ চলচ্চিত্র ডেটাসেট আমদানি করুন৷

pdmovies =pd.read_csv("https://raw.githubusercontent.com/sasankac/TestDataSet/master/movies_data.csv", index_col="title",usecols=["title","budget" হিসাবে পান্ডা আমদানি করুন ,"ভোট_গড়","ভোট_গণনা"])

আমি সর্বদা সূচী বাছাই করার পরামর্শ দিই, বিশেষ করে যদি সূচকটি স্ট্রিং দ্বারা গঠিত হয়। আপনার সূচী সাজানোর সময় আপনি যদি একটি বিশাল ডেটাসেট নিয়ে কাজ করেন তবে আপনি পার্থক্যটি লক্ষ্য করবেন।

movies.sort_index(inplace =True)movies.head(3)


 বাজেট ভোট_গড় ভোট_গণনা___________________________________#Horror 1500000 3.3 52(500) Days of Summer 7500000 7.2 290410 Cloverfield Lane 15000000 6.8 2468

আমি sort_index এবং "inplace =True" প্যারামিটার ব্যবহার করে সূচী সাজিয়েছি।

1. loc পদ্ধতির সিনট্যাক্স সম্পর্কে একটি আকর্ষণীয় জিনিস হল যে এটি বন্ধনী() নেয় না বরং স্কোয়ারব্র্যাকেট নেয়[]। আমি মনে করি (ভুল হতে পারে) এর কারণ তারা ধারাবাহিকতা চেয়েছিল যেমন আপনি একটি সিরিজে [] ব্যবহার করতে পারেন এক্সট্র্যাক্টরো করতে, ডেটাফ্রেমে প্রয়োগ করার সময় আপনাকে কলামগুলি নিয়ে আসবে৷

# নির্যাস "স্পাইডার-ম্যান 3" (আমি স্পাইডির বড় ভক্ত নই)movies.loc["স্পাইডার-ম্যান 3"]


বাজেট 258000000.0vote_average 5.9vote_count 3576.0Name:Spider-Man 3, dtype:float64

1. অনেক মান বের করতে একটি স্লাইস ব্যবহার করুন। আমি যে সিনেমাগুলো দেখিনি সেগুলো টেনে আনতে যাচ্ছি। কারণ এটি একটি স্ট্রিং লেবেল আমরা "অবতার" সহ আমাদের অনুসন্ধানের মানদণ্ডের জন্য সমস্ত ডেটা পেতে যাচ্ছি৷

মনে রাখবেন - আপনি যদি পাইথন তালিকার সাথে কাজ করেন তবে শেষ মানটি বাদ দেওয়া হবে কিন্তু যেহেতু আমরা স্ট্রিংগুলির সাথে কাজ করছি এটি অন্তর্ভুক্ত।

movies.loc["Alien":"Avatar"]


 বাজেট ভোট_ভঙ্গ 11000000 7.9 4470alien জোন 0 4.0 3alien:পুনরুত্থান 70000000 5.9 1365aliens 18500000 722020aliens Attic 45000000 5.3 244 ... ... ... ... অস্ট্রেলিয়া 130000000 6.3 694auto ফোকাস 7000000 6.1 5600000000 5.6 670automn নিউ ইয়র্কে 65000000 5.7 135Avatar 237000000 7.2 11800

167 সারি × 3 কলাম

1. আমি কি দুই বা ততোধিক র্যান্ডম সিনেমা পেতে পারি যা একে অপরের পাশে নেই? অবশ্যই হ্যাঁ, তবে আপনার প্রয়োজনীয় চলচ্চিত্রগুলির একটি তালিকা পাস করার জন্য আপনাকে আরও প্রচেষ্টা করতে হবে৷

আমি বলতে চাচ্ছিলাম যে আপনার একটি বর্গাকার বন্ধনীর সাথে বর্গাকার বন্ধনী থাকা দরকার।

movies.loc[["Avatar","Avengers:Age of Ultron"]]
বাজেট ভোট_গড় ভোট_গণনা_অবতার 237000000 7.2 11800Avengers:Age of Ultron 280000000 7.3 6767

6. আমি কি নির্বাচনের ক্রম পরিবর্তন করতে পারি? অবশ্যই, আপনি একটি অর্ডারে আপনার প্রয়োজনীয় লেবেলগুলির তালিকা নির্দিষ্ট করে নিজেকে সাহায্য করতে পারেন৷

আপনি যে লেবেলগুলি বের করতে চান তার তালিকা নির্দিষ্ট করার জন্য এটি দুর্দান্ত দেখায়, আপনি কি জানেন যদি আপনি একটি মান ভুল বানান করেন তাহলে কি হবে? ভুল বানান লেবেলের জন্য পান্ডাস অনুপস্থিত মান (NaN) আটকে থাকবে। কিন্তু সেই দিনগুলি চলে গেছে, সাম্প্রতিক আপডেটের সাথে এটি একটি ব্যতিক্রম উত্থাপন করে৷

movies.loc[["Avengers:Age of Ultron","Avatar","Avengers এর পরবর্তী সিনেমা কখন?"]]


<পূর্ব>------------------------------------------------------------ ---------------------------- কী ত্রুটি ট্র্যাসব্যাক (সর্বশেষ সাম্প্রতিক কল) <মডিউল>--এ --> 1 movies.loc[["Avengers:Age of Ultron","Avatar","Avengers এর পরবর্তী মুভি কখন?"]]~\anaconda3\lib\site-packages\pandas\core\indexing.py in__getitem__( self, key)17661767 maybe_callable =com.apply_if_callable(key,self.obj)-> 1768রিটার্ন self._getitem_axis(maybe_callable,axis =axis)17691770 def_is_scalar_access:Telf\Conpana(self\'scalar_access) pandas\core\indexing.pyin_getitem_axis(self, key, axis)1952 raiseValueError("মাল্টিডাইমেনশনাল কী দিয়ে ইন্ডেক্স করা যাবে না")1953-> 1954 রিটার্ন সেলফ। \site-packages\pandas\core\indexing.pyin_getitem_iterable(self, key, axis)1593 else:1594 # কী-এর একটি সংগ্রহ-> 1595 keyarr,indexer=self._get_listlike_indexer(key,axis,raise_missing)=False return1596 .obj._reindex_with_indexers(1597 {axis:[keyarr,ind exer]},copy=True,allow_dups=True~\anaconda3\lib\site-packages\pandas\core\indexing.pyin_get_listlike_indexer(self, key, axis, raise_missing)1550 keyarr,indexer,new_indexer_undex_arn) 1551-> 1552 self._validate_read_indexer(1553 keyarr,indexer,o._get_axis_number(axis),raise_missing=raise_missing1554 )~\anaconda3\lib\site-packages\pandas\core\indexer,avalidate_fred,keys_fred,. raise_missing)1652 # just raising1653 ifnot(ax.is_categorical()orax.is_interval()):-> 1654 raise KeyError(1655 "লিস্ট-লাইক .loc বা []-এ পাস করা কোনো অনুপস্থিত লেবেল সহ "1656" আর সমর্থিত নয়, দেখুন "

কী ত্রুটি:'কোনও অনুপস্থিত লেবেল সহ .loc বা []-এ তালিকা-লাইক পাস করা আর সমর্থিত নয়, https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#deprecate-loc-reindex দেখুন -লিস্টলাইক'

যত্ন নেওয়ার একটি উপায় হল সরাসরি সূচকের মানগুলি পরীক্ষা করা৷

"অ্যাভেঞ্জার্সের পরবর্তী সিনেমা কখন?" movies.index

আউটপুট

মিথ্যা

আপনি যদি ত্রুটিটি উপেক্ষা করতে চান এবং এগিয়ে যেতে চান তবে আপনি নীচের পদ্ধতিটি ব্যবহার করতে পারেন

movies.query("এতে শিরোনাম ('অবতার','অ্যাভেঞ্জার্সের পরবর্তী মুভি কখন?')")


বাজেট ভোট_গড় ভোট_গণনা_অবতার 237000000 7.2 11800

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

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

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

  4. Python - পান্ডাস .query() পদ্ধতির সাহায্যে ডেটা ফিল্টার করা