numpy配列を整数から文字列に変換しようとしていますが、私の方法が機能していないので、私の問題に対してより洗練された方法があると思います。Numpy整数から文字列へ
私は土地利用のカテゴリを表す一連の数字である "landuse"と呼ばれるnumpy整数配列を持っています。これは、私が試した私の現在のアプローチ...(つまり働いていないATM)
landuse2 = landuse.astype('S10')
for name in landuse2:
if name == '1.0':
name = 'Forest'
elif name = '2.0'
name = 'Water'
else:
name = 'Urban'
ある文がコールする場合だけで数1、「1」、「1.0」、運のない1 *。エラーなしで実行され、landuse2は10文字の文字列に変換されます(ただし、 '1.0'のみが配列に書き込まれます)が、forループはテーブルを更新しません。
編集
申し訳ありませんが、私は私の配列の編成方法について、より具体的なされている必要があります。 Landuseは、10列と10,000行を持つDataという大きな配列の一部です。
landuse2 = Data[Landuse]
を次のように私は単にしかし、私は最初の土地利用を変換する必要があり、私はこれが働くだろうと思い、私はその後、landuse2
で元のデータ[土地利用]を置き換えることを意図していたlanduse2を定義している
int型
astypeによって整数にそのフロートを変更する私の試みは無駄 されてきたがData[Landuse]=np.array([a.setdefault(i,'Urban') for i in Data[Landuse]],dtype='|S10')
にフロート
Data[Landuse]= Data[Landuse].astype('int')
ありがとう...それは有用で明確な説明でした – BJEBN