编写Python代码以过滤给定数据框中的回文名称

打印回文名称的结果是-

Palindrome names are:

 Id Name

0 1 bob

2 3 hannah

为了解决这个问题,我们将遵循以下方法-

解决方案1

  • 定义一个数据框

  • 在set for循环内创建列表推导,以使用i变量访问df ['Name']列中的所有值,并设置条件以比较i == i [::-1],然后将i值添加到列表中

l = [ i for i in df['Name'] if(i==i[::-1])]

  • 最后,使用以下命令检查df ['Name']列中存在的列表值 isin()

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

解决方案2

  • 定义一个数据框

  • 应用lambda过滤器功能将df ['Name']与具有反向功能的每个值进行比较,以得出是否相同的结果。如果值匹配,则将其存储为结果列表。

result = list(filter(lambda x:(x=="".join(reversed(x))),df['Name']

  • 最后,使用以下命令检查df ['Name']列中存在的列表值 isin()

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

以上是 编写Python代码以过滤给定数据框中的回文名称 的全部内容, 来源链接: utcz.com/z/333869.html

回到顶部