Python 如何创建将应用于条件的函数
这里没有任何人,任何人的帮助都将不胜感激。 我需要创建一个函数,该函数将基于来自同一数据帧的不同系列(国家)上的条件值应用于数据帧上的pandas系列(zipcode) 我创建的函数Python 如何创建将应用于条件的函数,python,pandas,Python,Pandas,这里没有任何人,任何人的帮助都将不胜感激。 我需要创建一个函数,该函数将基于来自同一数据帧的不同系列(国家)上的条件值应用于数据帧上的pandas系列(zipcode) 我创建的函数 ## function for retrieving only numeric characters num_pattern = '(\d+)' def numeric(x,y): try : a = re.search(x,y).group() except: a
## function for retrieving only numeric characters
num_pattern = '(\d+)'
def numeric(x,y):
try :
a = re.search(x,y).group()
except:
a = None
return a
df['zip'] = df['zip'].apply(lambda x: numeric(num_pattern,x))
仅当my
df['country']
列中的值等于'US'
时,才需要传递此函数。您可以在df行上应用:
df['zip'] = df.apply(lambda x: numeric(num_pattern,x['zip']) if x['country']=='US' else x['zip'], axis=1)
你真的需要条件在函数中吗?否则你可以使用
.loc
这样你的函数将只应用于“我们”这应该可以做到:df['zip']=df.apply(lambda x:numeric(x.col_1),axis=1)
@JuanC你能分享一个例子吗?如果你能编辑你的文章,包括这里概述的例子,那会很有帮助:例如,向我们展示一个包含3或4行、2或3列且df=pd.DataFrame的“before”数据框示例({..
然后,通过手动创建所需的结果来再次执行此操作。(此外,请阅读链接文章并将其应用于您的问题。)谢谢!但我收到此错误消息indexer:('country','accurrented at index email'))即使有axis=1参数?哇,我真是个白痴,如果我在上面滚动的话会有帮助的。非常感谢!