পরিচয়
ইনডেক্স পজিশন ব্যবহার করে বা ইনডেক্স লেবেল ব্যবহার করে ডেটার উপসেট নির্বাচন করার জন্য পান্ডাদের দ্বৈত নির্বাচন ক্ষমতা রয়েছে। এই পোস্টে, আমি আপনাকে দেখাব কিভাবে ইনডেক্স লেবেল ব্যবহার করে "ইনডেক্স লেবেল ব্যবহার করে ডেটার একটি উপসেট নির্বাচন করুন"।
মনে রাখবেন, পাইথন অভিধান এবং তালিকাগুলি অন্তর্নির্মিত ডেটা স্ট্রাকচার যা সূচী লেবেল বা সূচী অবস্থানের দ্বারা তাদের ডেটা নির্বাচন করে। একটি অভিধানের কী অবশ্যই একটি স্ট্রিং, পূর্ণসংখ্যা বা টুপল হতে হবে যখন একটি তালিকাকে অবশ্যই নির্বাচনের জন্য পূর্ণসংখ্যা (পজিশন) বা স্লাইসঅবজেক্ট ব্যবহার করতে হবে।
পান্ডাদের কাছে .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 এর পরবর্তী সিনেমা কখন?"]]
কী ত্রুটি:'কোনও অনুপস্থিত লেবেল সহ .loc বা []-এ তালিকা-লাইক পাস করা আর সমর্থিত নয়, https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#deprecate-loc-reindex দেখুন -লিস্টলাইক'
যত্ন নেওয়ার একটি উপায় হল সরাসরি সূচকের মানগুলি পরীক্ষা করা৷
৷"অ্যাভেঞ্জার্সের পরবর্তী সিনেমা কখন?" movies.index
আউটপুট
মিথ্যা
আপনি যদি ত্রুটিটি উপেক্ষা করতে চান এবং এগিয়ে যেতে চান তবে আপনি নীচের পদ্ধতিটি ব্যবহার করতে পারেন
movies.query("এতে শিরোনাম ('অবতার','অ্যাভেঞ্জার্সের পরবর্তী মুভি কখন?')")
বাজেট ভোট_গড় ভোট_গণনা_অবতার 237000000 7.2 11800