原因: 类型和int类型相加减

解决方法:

此时的 类型可能是‘12.3’这样str格式的数字,如果要运算必须进行格式转换: 
可采用如下方法(convert_ s):

dt_df = dt_df.convert_ s(convert_numeric=True)

在数据处理过程中
比如从CSV文件中导入数据

data_df = pd.read_csv(\"names.csv\")

在处理之前一定要查看数据的类型

data_df.info()

*RangeIndex: 891 entries, 0 to 890 

Data columns (total 12 columns): 
Name 891 non-null  
Sex 891 non-null  
Age 714 non-null float64 
SibSp 891 non-null int64 
Parch 891 non-null int64 
Ticket 891 non-null  
Fare 891 non-null float64 
Cabin 204 non-null  
Embarked 889 non-null  
dtypes: float64(2), int64(5), (5) 
memory usage: 83.6+ KB* 
以上 , int64, 以及 float64 便是数据的类型。 
如果我们需要对列数据进行相互之间的运算的吧,必须注意的一点是: 
两列的数据类型是否是相同的!! 
如果一个 类型与int64的类型相加,便会发生错误 
错误提示可能如下:

TypeError: ufunc \'add\' not contain a loop with signature matching types dtype(\'<U32\') dtype(\'<U32\')  dtype(\'<U32\')

此时的 类型可能是‘12.3’这样str格式的数字,如果要运算必须进行格式转换: 
可采用如下方法(convert_ s):

dt_df = dt_df.convert_ s(convert_numeric=True)

亲测有效。 
再提醒一遍!得到数据一定要先查看数据类型!!!
--------------------- 
作者:chestnut-- 
来源:CSDN 
原文:https://blog.csdn.net/m0_37477175/article/details/77887274 
版权声明:本文为博主原创文章,转载请附上博文链接!

收藏 打印