python - 如何处理“无法将字符串转换为浮点数”错误
问题描述
这个问题在这里被问了好几次,我检查了其中的大部分,但不知道如何处理它。我读取了一个 CSV 文件,并尝试将其值转换为浮点数,如下所示:
testdataframe = pd.read_csv(r'H:\myCSVfile.csv')
testdataset = testdataframe.values
testdataset = testdataset.astype('float32')
我收到此错误:ValueError:无法将字符串转换为浮点数:'2020-08-05 22:45:00'
这是测试数据框:
array([['2020-08-05 22:45:00', 5.670524],
['2020-08-05 23:00:00', 5.6840434],
['2020-08-05 23:15:00', 5.6911097],
['2020-08-05 23:30:00', 5.6869917],
['2020-08-05 23:45:00', 5.6786237],
['2020-08-06 00:00:00', 5.6710806]], dtype=object
在此先感谢您的帮助。
解决方案
正如@John Gordon正确提到的那样,它是一个日期/时间字符串您应该应用于astype(float)
数字列。但是,如果您仍想继续应用相同的内容,这里有忽略“错误”的逻辑
df=pd.DataFrame({"A":[1.2,'1.2','a'],"B":['2020-10-2 10:00:00','2020-10-2 11:00:00','2020-10-2 12:00:00']})
df.astype(float, errors='ignore')
推荐阅读
- spring - 构造函数只获取引用实体的 ID,但 getter 返回实体本身 - 可能吗?
- python - Python Selenium 标题包含 xpath 的某些单词并跳转到下一页
- r - 如何按组计算 FPKM 基因计数的平均值和 sd 并将平均值和 sd 组合为数据框?
- while-loop - 试图找到平均产量 TypeError: unsupported operand type(s) for +: 'int' and 'str'
- javascript - Cloudflare 流媒体标签“自动播放”在 IOS 上不起作用
- java - RecyclerView ItemTouchHelper.Callback:拖动交换条件
- regex - 如何在 Dart 的 RegEx 文本中获取组的开始和结束索引?
- c# - 为什么我不允许在返回 IAsyncEnumerable 的方法中返回 IAsyncEnumerable
- javascript - TypeError:尝试创建另一个脚本文件的类的新实例时出现非法构造函数
- python - 根据先前列的最新值在数据框中创建新列