DataFrame把变量类型转为float报错,ValueError: could not convert string to float:
遇到上面报错,说明数据中有空的数据结构,比如有空的字符串''
,处理方法如下:
# 把空的字符串转为np.nan
def transform_str(x):
if x == '':
return np.nan
else:
return float(x)
for col in ['col1','col2','col3']:
df[col] = df[col].apply(lambda x:transform_str(x))
# 将df中的有nan的行删除
df = df.dropna()
拓展
对于None
、False
、0
、''
、()
、[]
、{}
这些空的数据结构或序列,它们的type不同,多这些空置做判断时,可采用以下代码:
if a:
print('非空')
else:
print('空')