質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

992閲覧

コードの一部if文内の内容が分からない所があり、教えて頂きたいです。

amaturePy

総合スコア131

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2020/06/23 12:34

以下のコードの表記の理解が合っているかご教授頂きたいです。
【解釈】
①num_dataの要素数の範囲内でループ
②num_dataの中の要素でnum_data0の要素より大きな物があれば、
③train_dataの中の要素をリストaとリストcで被っている要素と同様に扱う??
すみません。このif以下の処理がざっくりでも把握出たらと思ったのですが、
理解できませんでした。

またこのリストの添え字iはリストの中の各要素を指している認識で合ってますでしょうか?
上記日本語になっていなかいかもしれませんが、よろしくお願いします。

該当のコード for i in range(num_data): if i<num_data0: train_data[i] = a[int(c[i])] train_label[i] = b[int(c[i]),1] else: j = i-num_data0 test_data[j] = a[int(c[i])] test_label[j] = b[int(c[i]),1]
変数train_dataの中身 [[0. 0. 0. ... 0. 0. 0.] [0. 0. 0. ... 0. 0. 0.] [0. 0. 0. ... 0. 0. 0.] ... [0. 0. 0. ... 0. 0. 0.] [0. 0. 0. ... 0. 0. 0.] [0. 0. 0. ... 0. 0. 0.]]
変数train_labelの中身 [[4.67131455e-310] [4.67131458e-310] [4.67131455e-310] [4.67131458e-310] [6.90001134e-310] [6.90001138e-310] [4.67131056e-310] [4.67131056e-310] [6.90001134e-310] [6.90001138e-310] [4.67131056e-310] [6.90001138e-310] [6.89992796e-310]]
変数aの中身 [[-0.99999994 -1. -0.71303463 ... -0.99981546 -0.9780141 0.47286406] [-1. -1. -0.01654136 ... -0.99963975 -0.97721887 -0.7882347 ] [-1. -1. 0.31501168 ... -0.9996391 -0.9860934 -0.68352365]]
変数bの中身 [[0.00e+00 3.36e-01] [1.00e+00 9.93e-01] [2.00e+00 8.55e-01] ... [5.79e+02 0.00e+00] [5.80e+02 0.00e+00] [5.81e+02 0.00e+00]]
変数cの中身 [120. 298. 345. 288. 184. 468. 380. 186. 535. 447. 493. 386. 487. 132. 320. 65. 432. 527. 61. 373. 91. 542. 204. 164. 503. 210. 514. 562. 471. 314. 230. 439. 452. 467. 523. 25. 543. 176. 357. 400. 450. 301. 299. 127. 302. 240. 496. 333. 2. 307. 232. 277. 70. 416. 190. 141. 376. 261. 319. 197. 532. 474. 257. 253. 464. 248. 578. 263. 374. 369.

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jeanbiego

2020/06/23 14:12

num_dataの中身は何でしょうか。 ・range(n)のnは基本的にintです ・num_dataの要素の範囲内でループにするなら for i in num_data: としないといけません。
amaturePy

2020/06/23 14:39

num_dataの中身は num_data = a.shape[0] で出力結果は582になります。 aと言う変数の行数を取得しているようです。
amaturePy

2020/06/23 14:39

なるほど。 参考にさせて頂きます! ありがとうございます!
meg_

2020/06/23 22:13

「添え字iはリストの中の各要素を指している」かどうかは、対象リスト長にもよりますし、num_dataおよびnum_data0の値次第でしょう。
amaturePy

2020/06/24 15:29

添え字がリストの各要素を必ずしも指していると思うのが間違いですね>< 勉強になります!ありがとうございます!
guest

回答1

0

ベストアンサー

①num_dataの要素数の範囲内でループ
→num_data"未満"の整数でループ 例:i=0,1,2,...,581

②num_dataの中の要素でnum_data0の要素より大きな物があれば、
if i<num_data0: は、上記のiの並びでnum_data0(これもintまたはfloatのはず)より小さい間はその処理を行う

③train_dataの中の要素をリストaとリストcで被っている要素と同様に扱う??
train_data[i] = a[int(c[i])]
train_dataのi番目の要素に、「cのi番目の要素を整数化したその番号の、aの要素」を代入する。

という感じです。最後が入り組んでますね。

投稿2020/06/23 22:59

jeanbiego

総合スコア3966

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

amaturePy

2020/06/24 15:27

ありがとうございます! 最後入り組んでますね。。。 ①、②も納得致しました! 再度、参考にさせて頂きながらコードを読んでみます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問