ধরুন আপনার কাছে আর্মস্ট্রং নম্বর ফিল্টার করার জন্য একটি সিরিজ এবং ফলাফল আছে,
original series is 0 153 1 323 2 371 3 420 4 500 dtype: int64 Armstrong numbers are:- 0 153 2 371 dtype: int64
এটি সমাধান করার জন্য, আমরা নীচে দেওয়া পদক্ষেপগুলি অনুসরণ করব -
-
একটি সিরিজ সংজ্ঞায়িত করুন।
-
একটি খালি তালিকা তৈরি করুন এবং সমস্ত সিরিজ ডেটা অ্যাক্সেস করার জন্য লুপের জন্য সেট করুন৷
-
আর্মস্ট্রং প্রারম্ভিক মান 0 সেট করুন এবং একের পর এক সিরিজ উপাদান সংরক্ষণ করতে টেম্প ভেরিয়েবল তৈরি করুন। এটি নীচে সংজ্ঞায়িত করা হয়েছে,
l = [] for val in data: armstrong = 0 temp = val
-
যখন লুপ তৈরি করুন এবং temp> 0 চেক করুন এবং temp%10 দ্বারা অবশিষ্ট গণনা করুন। অবশিষ্ট কিউব নিয়ে আর্মস্ট্রং মান যোগ করুন এবং টেম্প মানটিকে 10 দ্বারা ভাগ করুন যতক্ষণ না এটি লুপটি বন্ধ করতে 0 এ পৌঁছায়। এটি নীচে সংজ্ঞায়িত করা হয়েছে,
while(temp>0): rem = temp % 10 armstrong = armstrong + (rem**3) temp = temp // 10
-
টেম্প ভ্যালুর সাথে একটি আসল মানের তুলনা করতে হলে শর্ত সেট করুন। যদি এটি মিলে যায়, তাহলে তালিকায় মান যোগ করুন।
if(armstrong==val): l.append(val)
-
অবশেষে, isin() ব্যবহার করে সিরিজে উপস্থিত তালিকার মান পরীক্ষা করুন। এটি নীচে সংজ্ঞায়িত করা হয়েছে,
data[data.isin(l)]
উদাহরণ
আরো ভালো বাস্তবায়নের জন্য নিচের কোডটি দেখি -
import pandas as pd data = pd.Series([153,323,371,420,500]) print("original series is\n", data) l = [] for val in data: armstrong = 0 temp = val while(temp>0): rem = temp % 10 armstrong = armstrong + (rem**3) temp = temp // 10 if(armstrong==val): l.append(val) print("Armstrong numbers are:-") print(data[data.isin(l)])
আউটপুট
original series is 0 153 1 323 2 371 3 420 4 500 dtype: int64 Armstrong numbers are:- 0 153 2 371 dtype: int64