代码报错:TypeError: Object with dtype category cannot perform the numpy op add

一、代码报错

最近在跑代码的时候:

# Total number of people in the family
data["Family_Size"] = data['Marital_Status'] + data['Kidhome'] + data['Teenhome']

报错内容如下:

TypeError: Object with dtype category cannot perform the numpy op add

我们的数据集如下所示:

代码报错:TypeError: Object with dtype category cannot perform the numpy op add_第1张图片

二、改错

这个错误是因为在执行 data['Marital_Status'] + data['Kidhome'] + data['Teenhome'] 操作时,其中一个或多个列的数据类型为 category,而 numpy 不支持在 category 类型的数据上执行加法操作。

解决这个问题的方法是将涉及到的 category 类型的列转换为其他数值类型,例如整数类型,然后再执行加法操作。可以使用 astype() 方法将 category 类型的列转换为整数类型,如下所示:

data['Marital_Status'] = data['Marital_Status'].astype(int)  # 将 Marital_Status 列转换为整数类型
data['Family_Size'] = data['Marital_Status'] + data['Kidhome'] + data['Teenhome']  # 执行加法操作

这样,将 Marital_Status 列从 category 类型转换为整数类型后,再执行加法操作,就不会出现 TypeError 错误。请注意,转换数据类型时需要谨慎,确保不会丢失或错误地处理数据。

在这里插入图片描述
顺利完成!

你可能感兴趣的:(错误或者警告类型解决办法总结,numpy,python,开发语言)