teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

4

問題切り分けのための、実行結果追記

2021/02/02 16:08

投稿

666_paru
666_paru

スコア20

title CHANGED
File without changes
body CHANGED
@@ -88,4 +88,37 @@
88
88
  エラー文としては、整数の引数に小数を入れたのでエラーです、というような内容なので、どこかで型を指定すればよいのかと思うのですが、型変換も受け付けてもらえず、どう対処したらよいかわからないです。
89
89
 
90
90
  ご存知の方おられましたら教えて頂きたく思います。
91
- よろしくお願い致します。
91
+ よろしくお願い致します。
92
+
93
+ 追記:
94
+ toast-uz様からの質問での実行結果
95
+ ```python
96
+ for i in range(2, len(preds)):
97
+ print(preds[:i])
98
+
99
+ 結果
100
+ Traceback (most recent call last):
101
+ File "C:/Users/jimog/OneDrive/Desktop/Programing/Coin_Trade/DeepLearning/Training/Training_DBGT_Main.py", line 82, in <module>
102
+ print(preds[:i])
103
+ File "C:\Users\jimog\anaconda3\envs\Bit_Trade\lib\site-packages\numpy\core\arrayprint.py", line 1490, in _array_str_implementation
104
+ return array2string(a, max_line_width, precision, suppress_small, ' ', "")
105
+ File "C:\Users\jimog\anaconda3\envs\Bit_Trade\lib\site-packages\numpy\core\arrayprint.py", line 692, in array2string
106
+ return _array2string(a, options, separator, prefix)
107
+ File "C:\Users\jimog\anaconda3\envs\Bit_Trade\lib\site-packages\numpy\core\arrayprint.py", line 468, in wrapper
108
+ return f(self, *args, **kwargs)
109
+ File "C:\Users\jimog\anaconda3\envs\Bit_Trade\lib\site-packages\numpy\core\arrayprint.py", line 494, in _array2string
110
+ format_function = _get_format_function(data, **options)
111
+ File "C:\Users\jimog\anaconda3\envs\Bit_Trade\lib\site-packages\numpy\core\arrayprint.py", line 427, in _get_format_function
112
+ return formatdict['float']()
113
+ File "C:\Users\jimog\anaconda3\envs\Bit_Trade\lib\site-packages\numpy\core\arrayprint.py", line 367, in <lambda>
114
+ data, precision, floatmode, suppress, sign, legacy=legacy),
115
+ File "C:\Users\jimog\anaconda3\envs\Bit_Trade\lib\site-packages\numpy\core\arrayprint.py", line 861, in __init__
116
+ self.fillFormat(data)
117
+ File "C:\Users\jimog\anaconda3\envs\Bit_Trade\lib\site-packages\numpy\core\arrayprint.py", line 918, in fillFormat
118
+ int_part, frac_part = zip(*(s.split('.') for s in strs))
119
+ File "C:\Users\jimog\anaconda3\envs\Bit_Trade\lib\site-packages\numpy\core\arrayprint.py", line 918, in <genexpr>
120
+ int_part, frac_part = zip(*(s.split('.') for s in strs))
121
+ File "C:\Users\jimog\anaconda3\envs\Bit_Trade\lib\site-packages\numpy\core\arrayprint.py", line 917, in <genexpr>
122
+ for x in finite_vals)
123
+ TypeError: integer argument expected, got float
124
+ ```

3

追記

2021/02/02 16:08

投稿

666_paru
666_paru

スコア20

title CHANGED
File without changes
body CHANGED
@@ -79,6 +79,8 @@
79
79
  環境は、
80
80
  Window10
81
81
  Python 3.7.9
82
+ numpy 1.19.2
83
+ xgboost 0.90
82
84
  (anacondaの仮想環境)
83
85
  pycharm
84
86
  です。

2

エラーメッセージ全文追記

2021/02/02 16:02

投稿

666_paru
666_paru

スコア20

title CHANGED
File without changes
body CHANGED
@@ -5,7 +5,36 @@
5
5
  ```python
6
6
  model = XGBRegressor(objective="reg:squarederror", max_depth=10, min_child_weight=4)
7
7
  model.fit(train_x, train_y)
8
+
8
9
  preds = model.predict(test_x)
10
+ print(preds)
11
+
12
+ ※ エラーメッセージ追記
13
+ Traceback (most recent call last):
14
+ File "C:/Users/jimog/OneDrive/Desktop/Programing/Coin_Trade/DeepLearning/Training/Training_DBGT_Main.py", line 71, in <module>
15
+ print(preds)
16
+ File "C:\Users\jimog\anaconda3\envs\Bit_Trade\lib\site-packages\numpy\core\arrayprint.py", line 1490, in _array_str_implementation
17
+ return array2string(a, max_line_width, precision, suppress_small, ' ', "")
18
+ File "C:\Users\jimog\anaconda3\envs\Bit_Trade\lib\site-packages\numpy\core\arrayprint.py", line 692, in array2string
19
+ return _array2string(a, options, separator, prefix)
20
+ File "C:\Users\jimog\anaconda3\envs\Bit_Trade\lib\site-packages\numpy\core\arrayprint.py", line 468, in wrapper
21
+ return f(self, *args, **kwargs)
22
+ File "C:\Users\jimog\anaconda3\envs\Bit_Trade\lib\site-packages\numpy\core\arrayprint.py", line 494, in _array2string
23
+ format_function = _get_format_function(data, **options)
24
+ File "C:\Users\jimog\anaconda3\envs\Bit_Trade\lib\site-packages\numpy\core\arrayprint.py", line 427, in _get_format_function
25
+ return formatdict['float']()
26
+ File "C:\Users\jimog\anaconda3\envs\Bit_Trade\lib\site-packages\numpy\core\arrayprint.py", line 367, in <lambda>
27
+ data, precision, floatmode, suppress, sign, legacy=legacy),
28
+ File "C:\Users\jimog\anaconda3\envs\Bit_Trade\lib\site-packages\numpy\core\arrayprint.py", line 861, in __init__
29
+ self.fillFormat(data)
30
+ File "C:\Users\jimog\anaconda3\envs\Bit_Trade\lib\site-packages\numpy\core\arrayprint.py", line 891, in fillFormat
31
+ frac_strs, _, exp_strs = zip(*(s.partition('e') for s in strs))
32
+ File "C:\Users\jimog\anaconda3\envs\Bit_Trade\lib\site-packages\numpy\core\arrayprint.py", line 891, in <genexpr>
33
+ frac_strs, _, exp_strs = zip(*(s.partition('e') for s in strs))
34
+ File "C:\Users\jimog\anaconda3\envs\Bit_Trade\lib\site-packages\numpy\core\arrayprint.py", line 890, in <genexpr>
35
+ for x in finite_vals)
36
+ TypeError: integer argument expected, got float
37
+
9
38
  ```
10
39
  結果のデータは以下のように、マイナスありの小数です。
11
40
  ```python
@@ -36,12 +65,12 @@
36
65
 
37
66
  試したこと
38
67
  ・上記のように、for文で回すとエラー無し(全て型はnumpy.float32でした)
39
- ・print(list(preds))で変換すると表示できます。
68
+ ・print(list(preds))でリストに変換すると表示できます。
40
- ・print(np.array(preds))は同エラーでできませんでした。
69
+ ・print(np.array(preds))で再度ndarray変換は同エラーでできませんでした。
41
70
  ・print(preds.dtype)はfloat32が表示されます。
42
- ・print(preds.astype(np.float))では、同エラーでした。(float32,float64でも同じくエラー)
71
+ ・print(preds.astype(np.float))で型変換は、同エラーでした。(float32,float64でも同じくエラー)
43
72
  ・print(np.array(list(preds)))でも同エラーでした。
44
- ・以下のように、一度変数に代入しても、エラーになるのはprint()
73
+ ・以下のように、一度変数に代入しても、エラーになるのはprint()の行でした。
45
74
  ```python
46
75
  a=preds.astype(np.float)
47
76
  print(a)

1

記載ミス修正

2021/02/02 03:18

投稿

666_paru
666_paru

スコア20

title CHANGED
File without changes
body CHANGED
@@ -36,10 +36,10 @@
36
36
 
37
37
  試したこと
38
38
  ・上記のように、for文で回すとエラー無し(全て型はnumpy.float32でした)
39
- ・list(preds)で変換すると表示できます。
39
+ print(list(preds))で変換すると表示できます。
40
- ・np.array(preds)は同エラーでできませんでした。
40
+ print(np.array(preds))は同エラーでできませんでした。
41
41
  ・print(preds.dtype)はfloat32が表示されます。
42
- ・preds.astype(np.float)では、同エラーでした。
42
+ print(preds.astype(np.float))では、同エラーでした。(float32,float64でも同じくエラー)
43
43
  ・print(np.array(list(preds)))でも同エラーでした。
44
44
  ・以下のように、一度変数に代入しても、エラーになるのはprint()時
45
45
  ```python
@@ -52,8 +52,8 @@
52
52
  Python 3.7.9
53
53
  (anacondaの仮想環境)
54
54
  pycharm
55
+ です。
55
56
 
56
-
57
57
  エラー文としては、整数の引数に小数を入れたのでエラーです、というような内容なので、どこかで型を指定すればよいのかと思うのですが、型変換も受け付けてもらえず、どう対処したらよいかわからないです。
58
58
 
59
59
  ご存知の方おられましたら教えて頂きたく思います。