在python映射函数中使用通配符

在python映射函数中使用通配符,python,dictionary,dataframe,Python,Dictionary,Dataframe,是在映射函数中使用通配符的一种方法。我有这样的想法: dictionary = {'James':'James Mcree'} dictionary = {'J*s':'James Mcree'} 基本上说,只要在我的数据框中找到一个James,它就会将名称更改为James Mcree,但我想在映射函数中加入一个通配符,如下所示: dictionary = {'Jam*':'James Mcree'} 所以它会在我的数据框中,在任何有起始字母的地方,它都会变成James Mcree。所以

是在映射函数中使用通配符的一种方法。我有这样的想法:

dictionary = {'James':'James Mcree'}
dictionary = {'J*s':'James Mcree'}
基本上说,只要在我的数据框中找到一个James,它就会将名称更改为James Mcree,但我想在映射函数中加入一个通配符,如下所示:

dictionary = {'Jam*':'James Mcree'} 
所以它会在我的数据框中,在任何有起始字母的地方,它都会变成James Mcree。所以,果酱之后会发生什么并不重要。它可能被卡住了,Jamis..等等,我只想用通配符来表示它是否有这些字母,将其更改为指定的名称

如果我理解正确,星号表示从这一点上的任何东西,更改为指定的名称,即詹姆斯·麦克里

此外,如果您能够做到这一点,他们也可以这样指定:

dictionary = {'James':'James Mcree'}
dictionary = {'J*s':'James Mcree'}
所以它会寻找以J开头,以s结尾的任何东西


我还没有找到这样做的方法任何帮助都会很好,提前谢谢。

您可以使用RegEx的:

演示:

“^J.*s$”
-是一个正则表达式,意思是查找以
J
开头的字符串,然后查找后面跟着
s
的任意数量的字符

特殊正则表达式符号:

^
-字符串的开头

$
-字符串结尾


下面是一个在线服务,它解释了RegEx的:

可能的重复。您可能需要一个处理该逻辑的函数
lambda x:如果x.startswith('Jam')或(x.startswith('J')和x.endswith('s')):返回'James Mcree'…
那么当调用
map
时,您将应用此函数。是的,这很有效,['^J.*s$','Bo中的特殊字符是什么你能解释一下吗?我很清楚他们在做什么,但想看看我的理解是否正确