【发布时间】:2016-05-20 09:35:57
【问题描述】:
我想使用 python 代码插入 nan 而不是 float 值。这是我正在尝试的,并且总是以类型转换错误结束:
example input_map <int, float> {1:0.9, 2:0.8, 3:NaN}
for key in input_map:
if (not math.isnan(input_map[key])):
out_values[key] = values[key]
else:
out_values[key] = float('nan')
尝试了 else float(nan) | 中所有可能的组合float('NaN') |float("NaN") 等
// Insert statement to be executed:
insert into keyspace.cfamily (var1, var2, map_data) values ('value1', 'value2', {1:0.9, 2:0.8, 3:nan})
cql 错误: cassandra.InvalidRequest: code=2200 [Invalid query] message="Unable to make float from 'nan'"
C* 版本详情: cqlsh:keyspace> 显示版本 [cqlsh 5.0.1 |卡桑德拉 2.2.4 | CQL 规范 3.3.1 |原生协议 v4]
Python 版本: $python3 --版本 Python 3.4.3
感谢您的宝贵时间!
【问题讨论】:
-
快速更新:numpy.nan 或 float('nan') 以值 nan 响应 cql 查询失败,但当我手动将其更改为 NaN 时,相同的 cql 工作正常
标签: python-3.x cassandra cqlsh