回答編集履歴

5

追記

2018/03/14 11:05

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -27,3 +27,11 @@
27
27
  pass
28
28
 
29
29
  ```
30
+
31
+
32
+
33
+ ---
34
+
35
+ 改めて考えると、『標準偏差が0』って、『データが全部同値』ってことですよね?
36
+
37
+ 先にそっちの条件でふるい落とした方が正確な気がします。

4

訂正

2018/03/14 11:05

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -1,6 +1,6 @@
1
- 他の言語ならともかく、~~Pythonの文法に則っていないからです。~~ 普通はorを使います。
1
+ 他の言語ならともかく、~~Pythonの文法に則っていないからです。~~ Pythonでは普通はorを使います。
2
2
 
3
- `if (x_std == 0) or (y_std == 0):` が正しいですね。
3
+ ~~`if (x_std == 0) or (y_std == 0):` が正しいですね。~~
4
4
 
5
5
 
6
6
 

3

訂正

2018/03/14 11:02

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -1,4 +1,4 @@
1
- 他の言語ならともかく、Pythonの文法に則っていないからです。
1
+ 他の言語ならともかく、~~Pythonの文法に則っていないからです。~~ 普通はorを使います。
2
2
 
3
3
  `if (x_std == 0) or (y_std == 0):` が正しいですね。
4
4
 

2

修正

2018/03/14 11:01

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -22,7 +22,7 @@
22
22
 
23
23
 
24
24
 
25
- if any(std <= float_epsilon for std in (x_std, y_std)):
25
+ if any(abs(std) < float_epsilon for std in (x_std, y_std)):
26
26
 
27
27
  pass
28
28
 

1

追記

2018/03/14 11:00

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -1,3 +1,29 @@
1
1
  他の言語ならともかく、Pythonの文法に則っていないからです。
2
2
 
3
3
  `if (x_std == 0) or (y_std == 0):` が正しいですね。
4
+
5
+
6
+
7
+ ---
8
+
9
+ pandasには詳しくないのでスマートな書き方がわかりませんが...
10
+
11
+ ```Python
12
+
13
+ import sys
14
+
15
+ float_epsilon = sys.float_info.epsilon
16
+
17
+
18
+
19
+ x_std = x.std()[0]
20
+
21
+ y_std = y.std()[0]
22
+
23
+
24
+
25
+ if any(std <= float_epsilon for std in (x_std, y_std)):
26
+
27
+ pass
28
+
29
+ ```