Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

เขียนโปรแกรม Python กรองคอลัมน์ City โดยลบ Prefix ที่ Unique ออกจาก DataFrame ที่กำหนด


สมมติ คุณมี DataFrame ผลลัพธ์สำหรับการลบ Prefix ที่ Unique ของชื่อเมือง คือ

   Id     City
2   3   Kolkata
3   4   Hyderabad
6   7   Haryana
8   9   Kakinada
9   10  Kochin

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนด้านล่าง −

Solution

  • กำหนด DataFrame

  • สร้าง List ว่างเพื่อ Append ตัวอักษรแรกของคอลัมน์ City ทั้งหมด

l = []
for x in df['City']:
    l.append(x[0])
  • สร้าง List ว่างอีกตัวเพื่อกรองตัวอักษรที่ซ้ำ

ตั้ง For Loop และ If Condition Append ตัวอักษรที่ Unique คือ ด้านล่าง

l1 = []
for j in l:
    if(l.count(j)>1):
        if(j not in l1):
            l1.append(j)
  • สร้าง List ว่างอีกตัว ตั้ง For Loop เข้าถึงค่า City Column ตรวจสอบตัวอักษรแรกอยู่ใน l1 แล้ว Append เข้า List อีกตัว

l2 = []
for x in df['City']:
    if(x[0] in l1):
        l2.append(x)
  • สุดท้าย ตรวจสอบว่าองค์ประกอบใน l2 อยู่ในคอลัมน์ City หรือไม่ และพิมพ์ DataFrame ด้วย 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','B engaluru','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