1. 程式人生 > >python報TypeError: cannot convert the series to <class 'float'>

python報TypeError: cannot convert the series to <class 'float'>

場景:在使用python進行資料格式轉換時,想將利用正則表示式取出的一列值轉換為float格式,轉換前檢查該列的格式是object

1:原格式檢視

in:     data1['coupon_money'].dtype

out:     dtype('O')

2:轉換

in:   data1['coupon_money']=float(data1['coupon_money'])

out:    TypeError: cannot convert the series to <class 'float'>

解決過程:解決該問題時走了很多彎路,嘗試了很多方法進行轉換,最後都沒有成功,最後根據報錯,是資料裡有series,所以轉而尋找資料裡的series。

解決方案:在該列裡使用value_counts發現,資料裡有空值,該空值比較特殊,既不是None,也不是Null,而是一個空格

in:        data1['coupon_money'].value_count()

out:      1         12

                       143

            2         45

數量為143的值就是報錯點,找到這些值後刪除這些行,再進行轉換就可以了