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

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

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

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

133閲覧

Pythonのarangeの表記方法の違い

renji

総合スコア41

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2018/08/02 03:10

import numpy as np

として

X = np.arange(10)

とすると

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]ができると思います。

Y = np.array([np.arange(10)])

とする場合と、

X = np.arange(10)とは、どういった違いがあるのでしょうか?

たとえば、X のほうが

X = np.arange(10).reshape(2,5)のとき、

Y = np.array([np.arange(10)]) とXとを計算すると、

Yのほうが自動でXのほうの形に合わせてくれる、とかでしょうか?

私の解釈がまったく違っていたら、すみません。。

教えていただけたら、幸いです。

よろしくお願いします。

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

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

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

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

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

otn

2018/08/03 00:30

1行ずつ空行が空いて、非常に読みにくいです。今後の投稿時は気をつけてください。
guest

回答1

0

ベストアンサー

np.arange(10)array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])になりますが、これは0~9を要素に持つ1次元のnumpy配列です。この結果を①とします。

[np.arange(10)][array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])]で、①の結果を要素に持つ長さ1のリストですね。この結果を②とします。

np.array([np.arange(10)])は②をnumpy配列に変換しているコードで、結果はarray([[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])という2次元のnumpy配列になりますね。


Yのほうが自動でXのほうの形に合わせてくれる

そんな機能はありません。

投稿2018/08/02 03:16

編集2018/08/02 03:53
hayataka2049

総合スコア30933

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

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

renji

2018/08/02 03:48

ありがとうございました。 ひとつひとつの式を分解して教えてくださったので、とても分かりやすかったです。 ひとつだけ疑問があるのですが、 一次元のnumpy配列が[1,2]などで 二次元のnumpy配列が[[1,2],[3,4]]と 思っていたのですが、 >([[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]]) ([ ] の中に[ ] があるような形) というような場合も二次元になるのでしょうか? 丁寧に教えていただいたにもかかわらず、初歩的な質問をしているかと思い、恐縮ですが、アドバイスいただけると幸いです。 よろしくお願い致します。
hayataka2049

2018/08/02 03:54

1行10列の2次元配列ですね ここでいう1次元、2次元の数字はarray.ndimで確認できます。また、array.shapeで実際にどんな形をしているのか確認できます >>> np.array([np.arange(10)]).ndim 2 >>> np.array([np.arange(10)]).shape (1, 10)
renji

2018/08/02 04:05

ありがとうございました。 いろいろと検索して調べていましたが、hayataka2049様のアドバイスでようやく、理解できました。 また、ndimとshapeの使い方を教えていただき、ありがとうございます。勉強になりました。 2次元や1次元はまだまだ把握するのが大変ですが、すこしずつ、学んでいきたいです。 今回は二度も教えていただき、ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問