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

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

新規登録して質問してみよう
ただいま回答率
85.35%
多次元配列

1次元配列内にさらに配列を格納している配列を、多次元配列と呼びます。

NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

Python

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

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

Q&A

解決済

3回答

1117閲覧

配列の末尾に配列を追加したい

Noriri12

総合スコア8

多次元配列

1次元配列内にさらに配列を格納している配列を、多次元配列と呼びます。

NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

Python

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

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

0グッド

0クリップ

投稿2021/07/29 06:51

前提・実現したいこと

for文で繰り返し作業を行い,出力された結果をその前に出力された配列の末尾に追加したいと思っています.
例えば
1回目の繰り返しの出力結果→[1,2,3,4,5,6]
2回目の繰り返しの出力結果→[7,8,9,10,11,12]
という結果になったら,
[[1,2,3,4,5,6],[7,8,9,10,11,12]]
というリストを作りたいといった感じです.

発生している問題

以下のようなコードで作成しましたが,すべてのリストが連結してしまいました.

該当のソースコード

python

1#配列を入れるもとの配列作成 2lnG1_all=np.zeros((0)) 3 4for p in range(3): 5 G1=np.array(range(10, 151, 10)) 6 lnG1=[math.log(n) for n in G1] 7 lnG1_all=np.append(lnG1_all,lnG1,axis=0) 8 9print(lnG1_all) 10
[2.30258509 2.99573227 3.40119738 3.68887945 3.91202301 4.09434456 4.24849524 4.38202663 4.49980967 4.60517019 4.70048037 4.78749174 4.86753445 4.94164242 5.01063529 2.30258509 2.99573227 3.40119738 3.68887945 3.91202301 4.09434456 4.24849524 4.38202663 4.49980967 4.60517019 4.70048037 4.78749174 4.86753445 4.94164242 5.01063529 2.30258509 2.99573227 3.40119738 3.68887945 3.91202301 4.09434456 4.24849524 4.38202663 4.49980967 4.60517019 4.70048037 4.78749174 4.86753445 4.94164242 5.01063529]

試したこと

最初,appendの軸を設定していなかったので設定したのですが,それでもできませんでした.
なにか設定しなければいけない箇所がまだあるのでしょうか?

補足情報(FW/ツールのバージョンなど)

anaconda
spyder(Python 3.8)

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

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

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

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

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

guest

回答3

0

python

1np.concatenate([[np.log(np.arange(10, 151, 10))] for _ in range(3)])

投稿2021/07/30 06:38

編集2021/07/30 06:39
kirara0048

総合スコア1399

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

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

0

Python

1for p in range(3): 2 G1=np.array(range(10, 151, 10)) 3 lnG1=[math.log(n) for n in G1] 4 #lnG1_all=np.append(lnG1_all,lnG1,axis=0) 5 if p == 0: 6 lnG1_all = lnG1_all.reshape(0, len(G1)) 7 lnG1_all=np.append(lnG1_all, [lnG1], axis=0) 8

投稿2021/07/29 07:41

lehshell

総合スコア1156

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

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

0

ベストアンサー

リストを作りたいと書かれていますが、なんとなく二次元のndarrayを欲しいような気がするので、それを作るコードです。

python

1>>> import numpy as np 2>>> import math 3>>> 4>>> lnG1_all=np.zeros((0,15)) 5>>> 6>>> for p in range(3): 7... G1=np.array(range(10, 151, 10)) 8... lnG1=np.array([math.log(n) for n in G1]).reshape(1,15) 9... lnG1_all=np.append(lnG1_all,lnG1,axis=0) 10... 11>>> print(lnG1_all) 12[[2.30258509 2.99573227 3.40119738 3.68887945 3.91202301 4.09434456 13 4.24849524 4.38202663 4.49980967 4.60517019 4.70048037 4.78749174 14 4.86753445 4.94164242 5.01063529] 15 [2.30258509 2.99573227 3.40119738 3.68887945 3.91202301 4.09434456 16 4.24849524 4.38202663 4.49980967 4.60517019 4.70048037 4.78749174 17 4.86753445 4.94164242 5.01063529] 18 [2.30258509 2.99573227 3.40119738 3.68887945 3.91202301 4.09434456 19 4.24849524 4.38202663 4.49980967 4.60517019 4.70048037 4.78749174 20 4.86753445 4.94164242 5.01063529]]

投稿2021/07/29 07:19

ppaul

総合スコア24670

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

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

Noriri12

2021/08/04 01:39

元のコードをほぼ変えない形で作成していただきありがとうございます!わかりやすかったです!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問