Numpyで配列のフィールド名でインデックスする方法
numpyでは、カラム名でインデックスをつけるには以下の方法を利用できます。
- np.recarrayを使用する:フィールド名を属性として使用してレコードをインデックス付けることができます。まず、NumPy配列をnp.recarray型に変換し、次にフィールド名を属性として使用して、対応するフィールドにアクセスします。以下に例を示します。
import numpy as np
# 创建一个带有字段名的结构化数组
data = np.array([(1, 'apple', 0.5), (2, 'banana', 0.3)],
dtype=[('id', int), ('fruit', 'U10'), ('price', float)])
# 将数组转换为np.recarray类型
rec_data = np.rec.array(data)
# 使用字段名作为属性来索引记录
print(rec_data.id)
print(rec_data.fruit)
print(rec_data.price)
ネイティブな日本語で言い換えてください。ただし、1つしか必要ありません。出力:
[1 2]
['apple' 'banana']
[0.5 0.3]
- numpy配列
- ndarray.item()
- np.ndarray.itemset()
import numpy as np
# 创建一个带有字段名的结构化数组
data = np.array([(1, 'apple', 0.5), (2, 'banana', 0.3)],
dtype=[('id', int), ('fruit', 'U10'), ('price', float)])
# 使用字段名作为索引来获取记录
record = data[0]
# 通过字段名进行索引和赋值
print(record.item('id'))
record.itemset('id', 3)
print(record.item('id'))
どのように使えばいいの?
1
3
この方法でフィールド名をインデックス化して取得または設定できるのは一度に1レコード分の値のみで、複数のレコード分の値を一度に取得または設定することはできません。