मान लें आपके पास एक डेटाफ्रेम है, यूनिक प्रीफिक्स सिटी नाम हटाने का परिणाम:
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])
दोहराए गए कैरेक्टर को फ़िल्टर करने के लिए एक और खाली सूची बनाएं
फॉर लूप और if शर्त सेट करके यूनिक कैरेक्टर जोड़ें। इसे नीचे परिभाषित किया गया है:
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)
अंत में, isin() का उपयोग करके l2 एलिमेंट सिटी कॉलम में मौजूद हैं या नहीं सत्यापित करें और डेटाफ्रेम प्रिंट करें।
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