繁体   English   中英

如何修复 Python 中的 TypeError

[英]How do I fix TypeError in Python

它显示以下错误

TypeError: can only concatenate str (not "int") to str

这是代码

data.loc[(data['Account'] == Value) & (data['Contract End Month'] >= 7),
             'End Fiscal Year'] = data['Contract End Year'] + 1

看起来你的data['Contract End Year']是一个str实例,在执行添加之前尝试将其转换为int

data.loc[(data['Account'] == Value) & (data['Contract End Month'] >= 7),'End Fiscal Year'] = int(data['Contract End Year']) + 1

错误消息表明您正在尝试将字符串与 integer 连接起来。看起来“Contract End Year”列的类型为字符串,但您正在尝试向其添加 1,就好像它是 integer 一样。您可以使用 pandas.to_numeric 方法将其转换为 int,然后加 1,稍后您可以将其转换回 str

data['Contract End Year'] = pd.to_numeric(data['Contract End Year'], errors='coerce')
data.loc[(data['Account'] == Value) & (data['Contract End Month'] >= 7),
             'End Fiscal Year'] = data['Contract End Year'] + 1
data['End Fiscal Year'] = data['End Fiscal Year'].astype(str)

这应该修复 TypeError 并允许您对“合同结束年份”列执行算术运算。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM