データ型を維持しながら NumPy 配列を異なるデータ型と組み合わせるには?

Susan Sarandon
リリース: 2024-10-21 17:59:18
オリジナル
526 人が閲覧しました

How to Combine NumPy Arrays with Different Datatypes While Preserving Data Types?

NumPy で複数のデータ型を持つ配列を結合する

異なるデータ型を含む配列を、各列の対応するデータ型を持つ 1 つの配列に連結したいという要望挑戦です。 np.concatenate() を使用する一般的なアプローチでは、残念ながら配列全体が文字列データ型に変換され、メモリ効率が低下します。

この制限を克服するには、実行可能な解決策として、レコード配列または構造化配列を使用します。

レコード配列

レコード配列を使用すると、属性を通じて個々のデータ フィールドにアクセスできます。各フィールドのデータ型を指定することで、複数のデータ型を 1 つの配列に組み合わせることができます:

<code class="python">import numpy as np

a = np.array(['a', 'b', 'c', 'd', 'e'])
b = np.arange(5)
records = np.rec.fromarrays((a, b), names=('keys', 'data'))

print(records)</code>
ログイン後にコピー

出力:

rec.array([('a', 0), ('b', 1), ('c', 2), ('d', 3), ('e', 4)], 
      dtype=[('keys', '|S1'), ('data', '<i8')])
ログイン後にコピー

構造化配列

構造化配列も同様で、各列のデータ型を定義する機能を提供します。ただし、レコード配列のような属性アクセスはサポートしていません:

<code class="python">arr = np.array([('a', 0), ('b', 1)], 
                      dtype=([('keys', '|S1'), ('data', 'i8')]))

print(arr)</code>
ログイン後にコピー

出力:

array([('a', 0), ('b', 1)], 
      dtype=[('keys', '|S1'), ('data', '<i8')])
ログイン後にコピー

レコード配列と構造化配列の選択

レコード配列と構造化配列のどちらを選択するかは、個々の使用例によって異なります。レコード配列は属性アクセスの利便性を提供しますが、より複雑なデータ構造には構造化配列が推奨される場合があります。どちらのアプローチも、NumPy で配列をさまざまなデータ型と組み合わせる便利な方法を提供し、データ操作の柔軟性と効率性を提供します。

以上がデータ型を維持しながら NumPy 配列を異なるデータ型と組み合わせるには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!