Computer >> Máy Tính >  >> Lập trình >> Python

Viết chương trình bằng Python để lọc các phần tử cột Thành phố bằng cách xóa tiền tố duy nhất trong khung dữ liệu nhất định

Giả sử bạn có một khung dữ liệu, kết quả để xóa các tên thành phố có tiền tố duy nhất là,

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

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước dưới đây -

Giải pháp

  • Xác định khung dữ liệu

  • Tạo một danh sách trống để nối tất cả các giá trị của cột thành phố đầu tiên của ký tự,

l = []
for x in df['City']:
   l.append(x[0])
  • Tạo một danh sách trống khác để lọc các ký tự lặp lại.

Đặt vòng lặp for và if condtion để nối thêm các ký tự duy nhất. Nó được định nghĩa bên dưới,

l1 = []
for j in l:
   if(l.count(j)>1):
      if(j not in l1):
         l1.append(j)
  • Tạo một danh sách trống khác. Đặt vòng lặp for để truy cập các giá trị cột thành phố và kiểm tra các phần tử đầu tiên char có trong l1 rồi nối nó vào một danh sách khác.

l2 = []
for x in df['City']:
   if(x[0] in l1):
      l2.append(x)
  • Cuối cùng, xác minh các phần tử l2 có trong cột thành phố hay không và in khung dữ liệu bằng isin ().

df[df['City'].isin(l2)]

Ví dụ

Hãy kiểm tra đoạn mã sau để hiểu rõ hơn -

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)])

Đầu ra

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