Kết quả để in tên palindrome là -
Palindrome names are: Id Name 0 1 bob 2 3 hannah
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các cách tiếp cận dưới đây -
Giải pháp 1
-
Xác định khung dữ liệu
-
Tạo khả năng hiểu danh sách bên trong vòng lặp set for để truy cập tất cả các giá trị từ cột df [‘Name’] bằng cách sử dụng biến i và đặt điều kiện if để so sánh i ==i [::- 1] sau đó thêm giá trị i vào danh sách
l = [ i for i in df['Name'] if(i==i[::-1])]
-
Cuối cùng, hãy kiểm tra các giá trị danh sách có trong cột df [‘Name’] bằng cách sử dụng isin ()
df[df['Name'].isin(l)]
Ví dụ
Hãy kiểm tra đoạn mã sau để hiểu rõ hơn -
import pandas as pd data = {'Id':[1,2,3,4,5],'Name':['bob','peter','hannah','james','david']} df = pd.DataFrame(data) print("DataFrame is:\n", df) l = [ i for i in df['Name'] if(i==i[::-1])] print("Palindrome names are:\n", df[df['Name'].isin(l)])
Đầu ra
DataFrame is: Id Name 0 1 bob 1 2 peter 2 3 hannah 3 4 james 4 5 david Palindrome names are: Id Name 0 1 bob 2 3 hannah
Giải pháp 2
-
Xác định khung dữ liệu
-
Áp dụng hàm lọc lambda để so sánh df [‘Tên’] từng giá trị có hàm được đảo ngược trả về kết quả giống nhau hay không. Nếu các giá trị được khớp thì hãy lưu trữ nó dưới dạng danh sách kết quả.
result = list(filter(lambda x:(x=="".join(reversed(x))),df['Name']
-
Cuối cùng, hãy kiểm tra các giá trị danh sách có trong cột df [‘Name’] bằng cách sử dụng isin ()
df[df['Name'].isin(result)]
Ví dụ
Hãy kiểm tra đoạn mã sau để hiểu rõ hơn -
import pandas as pd data = {'Id':[1,2,3,4,5],'Name':['bob','peter','hannah','james','david']} df = pd.DataFrame(data) print("DataFrame is:\n", df) result = list(filter(lambda x:(x=="".join(reversed(x))),df['Name'])) print("Palindrome names are:\n", df[df['Name'].isin(result)])
Đầu ra
DataFrame is: Id Name 0 1 bob 1 2 peter 2 3 hannah 3 4 james 4 5 david Palindrome names are: Id Name 0 1 bob 2 3 hannah