Pandas:astype错误字符串浮动(无法将字符串转换为浮点数:' 7,50')

时间:2017-07-07 08:51:17

标签: python pandas

我正在尝试将数据帧字段从字符串转换为Pandas中的float。

这是字段:

In:

print(merged['platnosc_total'].head(100))

Out:

0     0,00
1     4,50
2     0,00
3     0,00
4     0,00
5     4,50
6     6,10
7     7,99
8     4,00
9     7,69
10    7,50

请注意最后一行中的7,50,这似乎会导致错误:

In: 

merged['platnosc_total'].astype(float)

Out:

ValueError: could not convert string to float: '7,50'

这是否意味着其余部分被转换,只有7,50的行才是原因?

如何将此字段/列实际转换为浮动?

2 个答案:

答案 0 :(得分:2)

首先需要replace

print (merged['platnosc_total'].replace(',','.', regex=True).astype(float))
0    0.00
1    4.50
2    0.00
3    0.00
4    0.00
5    4.50
6    6.10
7    7.99
8    4.00
Name: platnosc_total, dtype: float64

答案 1 :(得分:0)

如果您的列中有astype(float)或空白行,则merged.replace('', np.nan).dropna(subset=['platnosc_total'], inplace=True) merged['platnosc_total'].astype(float) 将不起作用。

您应该尝试

StartDate EndDate NumberofDays 
20190916  20191031 ?