ধরুন আপনার কাছে একটি ডেটাফ্রেম আছে, ইউনিক প্রিফিক্স রিমুভ করার পর সিটি নামের ফলাফল নিচের মতো:
Id City 2 3 Kolkata 3 4 Hyderabad 6 7 Haryana 8 9 Kakinada 9 10 Kochin
এটি সমাধানের জন্য নিচের ধাপগুলো অনুসরণ করব:
সমাধান
একটি ডেটাফ্রেম ডিফাইন করুন।
একটি খালি লিস্ট তৈরি করুন সিটি কলামের সব ফার্স্ট ক্যারেক্টার অ্যাপেন্ড করার জন্য।
l = []
for x in df['City']:
l.append(x[0])
আরেকটি খালি লিস্ট তৈরি করুন রিপিটেড ক্যারেক্টার ফিল্টার করার জন্য।
ফর লুপ এবং ইফ কন্ডিশন সেট করুন ইউনিক ক্যারেক্টার অ্যাপেন্ড করার জন্য। নিচে ডিফাইন করা হলো:
l1 = []
for j in l:
if l.count(j) > 1:
if j not in l1:
l1.append(j)
আরেকটি খালি লিস্ট তৈরি করুন। ফর লুপ সেট করুন সিটি কলাম অ্যাক্সেস করতে এবং এলিমেন্টের ফার্স্ট ক্যারেক্টার l1-এ আছে কিনা চেক করুন। থাকলে অন্য লিস্টে অ্যাপেন্ড করুন।
l2 = []
for x in df['City']:
if x[0] in l1:
l2.append(x)
শেষে l2 এলিমেন্টগুলো সিটি কলামে আছে কিনা যাচাই করুন isin() ব্যবহার করে এবং ডেটাফ্রেম প্রিন্ট করুন।
df[df['City'].isin(l2)]
উদাহরণ
নিচের কোডটি দেখুন আরও ভালো বুঝতে:
import pandas as pd
df = pd.DataFrame({'Id':[1,2,3,4,5,6,7,8,9,10],
'City':['Chennai','Delhi','Kolkata','Hyderabad','Pune','Mumbai','Haryana','Bengaluru','Kakinada','Kochin']})
l = []
for x in df['City']:
l.append(x[0])
l1 = []
for j in l:
if l.count(j) > 1:
if j not in l1:
l1.append(j)
l2 = []
for x in df['City']:
if x[0] in l1:
l2.append(x)
print(df[df['City'].isin(l2)])
আউটপুট
Id City 2 3 Kolkata 3 4 Hyderabad 6 7 Haryana 8 9 Kakinada 9 10 Kochin