पैलिंड्रोम नाम प्रिंट करने का परिणाम:
Palindrome names are: Id Name 0 1 bob 2 3 hannah
इसे हल करने के लिए, हम नीचे दिए गए दृष्टिकोण का पालन करेंगे:
समाधान 1
एक डेटाफ्रेम परिभाषित करें
लिस्ट कॉम्प्रिहेंशन के अंदर फॉर लूप सेट करके df['Name'] कॉलम से सभी मान i वेरिएबल का उपयोग करके एक्सेस करें और if शर्त सेट करें i == i[::-1] से तुलना करें तो i मान को सूची में जोड़ें
l = [i for i in df['Name'] if i == i[::-1]]
अंत में, isin() का उपयोग करके सूची मान df['Name'] कॉलम में मौजूद हैं या नहीं जांचें
df[df['Name'].isin(l)]
उदाहरण
बेहतर समझ के लिए निम्न कोड देखें:
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)])
आउटपुट
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
समाधान 2
एक डेटाफ्रेम परिभाषित करें
लैम्ब्डा फ़िल्टर फ़ंक्शन लागू करके df['Name'] के प्रत्येक मान की तुलना reversed फ़ंक्शन से करें जो समान परिणाम लौटाता है या नहीं। यदि मान मेल खाते हैं तो इसे रिजल्ट सूची के रूप में स्टोर करें।
result = list(filter(lambda x: x == "".join(reversed(x)), df['Name']))
अंत में, isin() का उपयोग करके सूची मान df['Name'] कॉलम में मौजूद हैं या नहीं जांचें
df[df['Name'].isin(result)]
उदाहरण
बेहतर समझ के लिए निम्न कोड देखें:
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)])
आउटपुट
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