私がやっていることは、Pythonの断片的な関数に基づいてテーブルを作ることです。例えば、私はこのコードを書いたと言う:スカラーをヌンプイ配列と比較する
import numpy as np
from astropy.table import Table, Column
from astropy.io import ascii
x = np.array([1, 2, 3, 4, 5])
y = x * 2
data = Table([x, y], names = ['x', 'y'])
ascii.write(data, "xytable.dat")
xytable = ascii.read("xytable.dat")
print xytable
これは予想通り、それはx
値1〜5及びy
値は2、4、6、8、10
を有するテーブルを印刷動作しかしが3以下の場合にのみy
をx * 2
とし、それ以外の場合はy
をx + 2
とする場合はどうすればよいですか?
私が追加した場合:
if x > 3:
y = x + 2
それは言う:複数の要素を持つ配列の
真理値があいまいです。 a.any()またはa.all()を使用する
どのようにしてパーツ単位で機能するようにテーブルをコーディングするのですか?スカラーとナンパー配列を比較するにはどうすればいいですか?
この質問は、AstropyまたはTableクラスとは関係ありません。それは、あなたがあなたのデータをどのように読んでいるかだけです。あなたは "numpy"という質問にタグをつけ、例のためにnumpyの配列x、yを直接使うべきです。必要な作業を行うには、[numpy.where](http://docs.scipy.org/doc/numpy/reference/generated/numpy.where.html)または[numpy.choose](http:// docs。 scipy.org/doc/numpy/reference/generated/numpy.choose.html)。 – Christoph
@Christoph:良い点;更新されたタグ。 – bernie