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

เขียนโปรแกรมใน Python เพื่อกรององค์ประกอบคอลัมน์ City โดยลบคำนำหน้าเฉพาะใน dataframe ที่กำหนด


สมมติว่าคุณมี dataframe ผลลัพธ์สำหรับการลบชื่อเมืองที่นำหน้าเฉพาะคือ

  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 มีอยู่ในคอลัมน์เมืองหรือไม่ และพิมพ์ 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