"'str' object has no attribute 'iloc'"
df4:S0G S1G S2G S3G L1G L2G L3G
[无异常] [异常1] [异常2]
如果L3G不为空,输出L3G值,如果L3G为空,L2G不为空则输出L2G值,以此类推......
def get_result(S0G,S1G,S2G,S3G,L1G,L2G,L3G):
if pd.notnull(L3G):
return L3G
elif pd.notnull(L2G):
return L2G
elif pd.notnull(L1G):
return L1G
elif pd.notnull(S3G):
return S3G
elif pd.notnull(S2G):
return S2G
elif pd.notnull(S1G):
return S1G
else:
return S0G
df4['最终输出结果'] = df4.apply(lambda x:get_result(x['S0G'].iloc,x['S1G'].iloc,x['S2G'].iloc,x['S3G'].iloc,x['L1G'].iloc,x['L2G'].iloc,x['L3G'].iloc),axis=1)
最后:AttributeError: ("'str' object has no attribute 'iloc'", 'occurred at index 0')
请问这是什么问题?如何解决呀? 本帖最后由 suchocolate 于 2020-12-8 12:26 编辑
x['S0G']取出的是字符串,df4的原始数据能提供一下吗?上面的格式看的不准哪个空哪个不空。 suchocolate 发表于 2020-12-8 12:21
x['S0G']取出的是字符串,df4的原始数据能提供一下吗?上面的格式看的不准哪个空哪个不空。
已解决,x['S0G']就已经把需要的字符串取出来了,iloc是多余的 看你这个写法,很奇怪啊,既然用了自定义函数,用了apply,怎么还用lambda传入?直接用函数来操作处理不行么?
页:
[1]