- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在 django-rest-framework 中开发一个 API,根据您的输入参数,您会得到不同的响应。API 正在计算将根据数据库返回给用户的指标。
我编写了一个函数来处理 NaN 值,如下所示:
def nan_to_none(value):
if not isinstance(value, str) and value is not None and np.isnan(value):
return None
return value
这是弹出错误的响应元素:
"prog": nan_to_none(row["average_items_prog"])
这是引发问题的 SQL 行:
((((coalesce(qte_art, 0) / nullif(nb_client, 0)) - (coalesce(qte_art_n1, 0) / nullif(nb_client_n1, 0))) / (coalesce(qte_art_n1, 0) / nullif(nb_client_n1, 0))) * 100) as average_items_prog,
这是错误消息:
File "C:\Users\wdc\views.py", line 464, in get
"prog": nan_to_none(row["average_items_prog"])},
File "C:\Users\wdc\views.py", line 28, in nan_to_none
if not isinstance(value, str) and value is not None and np.isnan(value):
File "C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\generic.py", line 1478, in __nonzero__
.format(self.__class__.__name__))
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
我不知道如何解决这个问题!
最佳答案
尝试改变:
"prog": nan_to_none(row["average_items_prog"])
与Series.apply
:
"prog": row["average_items_prog"].apply(nan_to_none)
测试:
s = pd.Series(['a', 0, 0, 1, None, np.nan])
print (s)
0 a
1 0
2 0
3 1
4 None
5 NaN
dtype: object
def nan_to_none(value):
if not isinstance(value, str) and value is not None and np.isnan(value):
return None
return value
print (s.apply(nan_to_none))
#in your solution
#"prog": row["average_items_prog"].apply(nan_to_none)
0 a
1 0
2 0
3 1
4 None
5 None
dtype: object
似乎解决方案应该通过测试来简化 np.nan != np.nan
:
def nan_to_none(value):
if value != value:
return None
return value
print (s.apply(nan_to_none))
#in your solution
#"prog": row["average_items_prog"].apply(nan_to_none)
0 a
1 0
2 0
3 1
4 None
5 None
dtype: object
或者设置None
为Series.mask
:
print (s.mask(s.isna(), None))
#in your solution
#"prog": row["average_items_prog"].mask(s.isna(), None)
0 a
1 0
2 0
3 1
4 None
5 None
dtype: object
关于python - ValueError:系列的真值不明确(API NaN 处理),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57473368/
我想获取百分比值大于 90% 的所有项,但该部分的顺序无关紧要。这是一个例子: Person Score Location 1 91 US 2
在大多数语言中,包括 Python,变量的真实值可以在条件表达式中隐式使用,即: is_selected = True If is_selected: #do some
是否可以将 hibernate 设置为将 -1 而不是 1 作为数据库中 boolean 字段的真值?我需要 -1 来保持与其他 Delphi 程序的兼容性。 最佳答案 @Type(type="com
使用文档运行 rasa_core 示例 › python3 -m rasa_core.run -d models/dialogue -u models/nlu/default/current 并在对话
如果我的对象包含一个具有真值的键,我真的很困惑如何返回一个简单的真/假。我不想返回键或值本身,只是断言它确实包含一个真值。 例如 var fruits = { apples: false, orang
我正在尝试编写一个 JUnit 测试,它检查接收到的 JSON 的值。我使用 jsonPath 访问 JSON 中的这些值。我想检查一个值是否为true。对于简单的 jsonPaths,它对我有用,但
我正在尝试检查 Angular HTML 中的 bool 值真实性,但得到了一个奇怪的结果。看完this SO post我以为我明白发生了什么。我希望能够使用 === 运算符,但正如我下面的最后一个示
在 REST Web 服务中,POST JSON 正文如下所示: { "printRequest" : { "printName" : "XYZ", "enab
我是一名优秀的程序员,十分优秀!