ValueError: Cannot convert non-finite values (NA or inf) to integer

解决 pandas报错:

ValueError: Cannot convert non-finite values (NA or inf) to integer

问题:

字符串类型的数据,被错误地标记为浮点型;

在数据处理时发现了问题,有问题地数据显示如下

ValueError: Cannot convert non-finite values (NA or inf) to integer_第1张图片

 解决办法:

1 先将浮点型转为整数型

2 将整型转为字符串型

第一步:

从第二步的打印结果来看,初始数据的格式为float64

因此,转换时正确的书写格式为Int64

data1 =pd.read_excel(filename,sheet_name ='原始数据')

#1、将sku取出

data1['sku编码'] = data1['sku编码'].astype("Int64")
print(data1['sku编码'].head())

ValueError: Cannot convert non-finite values (NA or inf) to integer_第2张图片

 成功转整型!!!

第二步,转字符串型

并将这部分数据从列表中截取出来~

for Column_Name1 in ['sku编码']:
    data1[Column_Name1] = data1[Column_Name1].apply(lambda x: str(x))  # 将sku编码转为字符串的格式
# 取出sku编码
sku_ = data1['sku编码'].tolist()

print('=========')
sku_ = str(sku_)[1:len(str(sku_))-1]
print(sku_)

打印结果:

ValueError: Cannot convert non-finite values (NA or inf) to integer_第3张图片

 从结果来看,木得问题啦~~~~~~~~~~~~~

你可能感兴趣的:(Python,pandas)