Python Pandas:TypeError:第一个参数必须是用户定义函数中的字符串或编译模式

我定义了一个如下所示的函数:


def incident_rate(substation,year,events):


    age = conductor_yearly_df.loc[conductor_yearly_df['SUBSTATION']==substation,conductor_yearly_df.columns.str.contains(year)].reset_index(drop=True).values[0][0]

    length = conductor_yearly_df.loc[conductor_yearly_df['SUBSTATION']==substation,conductor_yearly_df.columns.str.contains(year)].reset_index(drop=True).values[0][1]

    temp = events / (age * length) 

    return temp

当我在代码中调用该函数时(例如:incident_rate('WB',2019,6),它会抛出以下错误:


TypeError: first argument must be string or compiled pattern

我不确定我在哪里犯了错误。谁能指导我如何解决错误?


智慧大石
浏览 521回答 1
1回答

尚方宝剑之说

将年份更改为字符串str(year),因为str.contains接受字符串类型age = conductor_yearly_df.loc[conductor_yearly_df['SUBSTATION']==substation,conductor_yearly_df.columns.str.contains(str(year))].reset_index(drop=True).values[0][0]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python