回答編集履歴
2
a or b の判定は、まずはaからのみなのでそのような記述に修正
test
CHANGED
@@ -16,7 +16,7 @@
|
|
16
16
|
|
17
17
|
|
18
18
|
|
19
|
-
対して、Series同士の or の演算では、a or b とした場合、まず a
|
19
|
+
対して、Series同士の or の演算では、a or b とした場合、まず aを boolに変換してチェックするようで、その際にSeriesで定義された
|
20
20
|
|
21
21
|
```__bool__```が呼び出されるようで、そこでエラーとなるようです。(```__bool__=__nonzero__```と定義されているので、ログに出るのは```__nonzero__```の方のようですが)
|
22
22
|
|
@@ -34,7 +34,7 @@
|
|
34
34
|
|
35
35
|
| は、or は別物で、| に関しては、pandasのSeriesで実装されており要素同士の | の結果をSeriesとして返却してくれる
|
36
36
|
|
37
|
-
or は、a or b とした場合
|
37
|
+
or は、a or b とした場合まずaを一旦boolに変換する処理が実行され、そのboolに変換する処理がpandasのSeriesで実装されているがエラーを返すだけの実装になっている。
|
38
38
|
|
39
39
|
|
40
40
|
|
1
__が表示されていなかったので修正
test
CHANGED
@@ -16,11 +16,13 @@
|
|
16
16
|
|
17
17
|
|
18
18
|
|
19
|
+
対して、Series同士の or の演算では、a or b とした場合、まず aとb を boolに変換してチェックするようで、その際にSeriesで定義された
|
20
|
+
|
19
|
-
|
21
|
+
```__bool__```が呼び出されるようで、そこでエラーとなるようです。(```__bool__=__nonzero__```と定義されているので、ログに出るのは```__nonzero__```の方のようですが)
|
20
22
|
|
21
23
|
|
22
24
|
|
23
|
-
実際に、エラーが出ていた__nonzero__の関数をreturn Trueを返すように修正すると
|
25
|
+
実際に、エラーが出ていた```__nonzero__```の関数をreturn Trueを返すように修正すると
|
24
26
|
|
25
27
|
(order_data['status']==1) or (order_data['status']==2)
|
26
28
|
|