問題タブ [structured-array]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 構造化配列と再配列の出力方法を変更する
Numpy は大きなarrays
をまとめたもので、インタラクティブなセッションで作業するときに便利です。残念ながら、構造化されており、デフォルトarrays
でrecarrays
はうまく要約されていません。これを変更する方法はありますか?
デフォルトでは、array
アイテムが 1000 個以下の場合、すべてが表示されます。これ以上の項目がある場合array
はまとめて表示されます。で設定できますnp.set_printoptions(threshold=<number of items to trigger summarization>, edgeitems=<number of items to show in summary>)
。これは、次のような標準のデータ型では問題なく機能します。
結果は
ただし、より複雑なデータ型が使用される場合、要約はあまり役に立ちません。
配列は要約されていますが、サブデータ型は要約されていません。arrays
これは、複雑なデータ型を大量に使用する場合に問題になります。たとえばarray
np.zeros(1000, dtype=[('a', float, 3000), ('b', float, 10000)])
、ipython インスタンスがハングアップします。
np.array
タイプを直接使用するのではなく、サブクラス化して custom を作成することで、いくつかの回避策があります__repr__
。これは大規模なプロジェクトでは機能しますが、根本的な問題は解決されず、インタラクティブな Python セッションでデータをすばやく探索するには不便です。また、非常に長いコンソール出力を切り捨てるカスタム フィルターをエディターに実装しました。これはちょっとしたハックで、別の場所で Python セッションを開始するときには役に立ちません。
私が知らないnumpy設定、またはこれを修正できるpythonまたはipython設定はありますか?
python - レコード配列の「ベース」を見つける方法
base
レコード配列のはどのように決定されますか? ドキュメントは通常の配列と同じ動作を説明しているようですが、それはそうではありません。これは単純な配列と、そこから作成されたレコード配列です。
レコード配列のベースが正しく設定されている
はbase
、通常の配列のフィールド アクセスに対して正しく設定されます。
ただし、レコード配列の場合、ベースが何であるかを判断できません。None
私が試したのは、通常の配列、レコード配列、またはその他のものではありません。
スライスのインデックス作成で期待どおりに動作します
そして、それは間違いなくまだ同じメモリを指しています
では、レコード配列の実際のベースを見つけるにはどうすればよいでしょうか。
python - 構造化されたnumpy配列から別の配列へのデータの結合と集約
空の構造化配列があります:
に入力するデータを含む別の構造化配列がありますid_and_orders
。
私が今やりたいことは、すべてorders['value']
の対応するid
inをマップすることid_and_orders
です。その id の値の部分配列をid_and_orders
含む方法で:orders['id']
orders
id_and_orders['order_values']
サブアレイのサイズを動的に構築する方法を知っている人もいるかもしれませんが、100 の固定サイズではありません。