前提・実現したいこと
data[:, 0]=[1386. 327. 1449. 1276. 994. 1262. 1912. 180. 2019. 2177. 1349. 1800.
403. 1935. 2397. 1482. 285. 2097. 1987. 2461. 820. 2412. 1761.]
matching_DMHalos = [1032, 1032, 1032, 1032, 1032, 915, 915, 915, 915, 915, 915, 915, 915, 915, 915, 915, 915, 915, 915, 915, 915, 915, 915]
Rmin = [1.6052288644248351, 1.6052288644248351, 1.6052288644248351, 1.6052288644248351, 1.6052288644248351, 0.29822959829614104, 0.29822959829614104, 0.29822959829614104, 0.29822959829614104, 0.29822959829614104, 0.29822959829614104, 0.29822959829614104, 0.29822959829614104, 0.29822959829614104, 0.29822959829614104, 0.29822959829614104, 0.29822959829614104, 0.29822959829614104, 0.29822959829614104, 0.29822959829614104, 0.29822959829614104, 0.29822959829614104, 0.29822959829614104]
という3つのデータを23*3の配列に結合させたいです。
該当のソースコード
python
1matched = np.concatenate([data1[:,0], matching_DMHalos,Rmin],1) 2output_fname = "hogehoge.dat" 3np.savetxt(output_fname, matched)
発生している問題・エラーメッセージ
Traceback (most recent call last): File "match_0227.py", line 203, in <module> matched = np.concatenate([data1[:,0], matching_DMHalos,Rmin],1) numpy.core._internal.AxisError: axis 1 is out of bounds for array of dimension 1
###他に試して見たこと
matched = np.hstack([data1[:,0], matching_DMHalos,Rmin]) matched = np.concatenate([[data1[:,0]],[matching_DMHalos],[Rmin]], 1)
上記の二通りを試してprint(matched)したところ,
[[7.22000000e+02 7.61000000e+02 7.97000000e+02 8.48000000e+02
8.52000000e+02 8.68000000e+02 9.60000000e+02 1.02400000e+03
1.14800000e+03 1.17000000e+03 1.17900000e+03 1.19100000e+03
1.20300000e+03 1.25700000e+03 1.29800000e+03 1.32800000e+03
1.38600000e+03 1.39400000e+03 1.40500000e+03 1.43600000e+03
1.43900000e+03 1.45700000e+03 1.45800000e+03 1.03200000e+03
1.03200000e+03 1.03200000e+03 1.03200000e+03 1.03200000e+03
9.15000000e+02 9.15000000e+02 9.15000000e+02 9.15000000e+02
9.15000000e+02 9.15000000e+02 9.15000000e+02 9.15000000e+02
9.15000000e+02 9.15000000e+02 9.15000000e+02 9.15000000e+02
9.15000000e+02 9.15000000e+02 9.15000000e+02 9.15000000e+02
9.15000000e+02 9.15000000e+02 1.60522886e+00 1.60522886e+00
1.60522886e+00 1.60522886e+00 1.60522886e+00 2.98229598e-01
2.98229598e-01 2.98229598e-01 2.98229598e-01 2.98229598e-01
2.98229598e-01 2.98229598e-01 2.98229598e-01 2.98229598e-01
2.98229598e-01 2.98229598e-01 2.98229598e-01 2.98229598e-01
2.98229598e-01 2.98229598e-01 2.98229598e-01 2.98229598e-01]
となりました。
私が作りたいものは
matched =[[1386. 1032 1.6052288644248351],
[327. 1032 1.6052288644248351],
....]
のような23*3の配列です。
補足情報(FW/ツールのバージョンなど)
python3です
回答2件
あなたの回答
tips
プレビュー