問題タブ [h5py]

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.

0 投票する
2 に答える
2264 参照

python - Mac OSX10.6.3にh5pyをインストールします

Mac OSX10.6.3にh5pyをインストールしようとしています。

最初に、次のコマンドを使用してHDF51.8をインストールしました。

次に、h5pyをインストールします。

次に、エラーが発生しました。

Xcodeを更新したばかりですが、これがgccのデフォルト設定によるものかどうかはわかりません。もしそうなら、どうすればこのエラーを取り除くことができますか?

ありがとう。

0 投票する
4 に答える
6715 参照

python - h5py データセットをテキストに出力する高速な方法は何ですか?

HDF5 形式のファイルを読み取るために、h5py python パッケージを使用しています。(例 somefile.h5) データセットの内容をテキスト ファイルに書き込みたいと思います。

たとえば、次の内容のテキスト ファイルを作成したいと思います: 1,20,31,75,142,324,78,12,3,90,8,21,1

このコードを使用して、Python でデータセットにアクセスできます。

私のデータセットには 20000 を超えるエントリがあるため、私の素朴なアプローチは遅すぎます。

これをファイルに書き込むより速い方法はありますか? おそらく、データセットを NumPy 配列または Python リストに変換してから、ファイル書き込みツールを使用できますか?

(ファイルに書き込む前に、値をより大きな文字列に連結して実験することもできますが、完全にエレガントなものがあることを願っています)

0 投票する
2 に答える
8660 参照

python - Python でビッグデータの分析作業を行うために h5py を使用した経験はありますか?

私は多くの統計作業を行っており、Python をメイン言語として使用しています。私が扱っているデータ セットの中には 20 GB のメモリを必要とするものもあるため、numpy、scipy、および PyIMSL でインメモリ関数を使用してそれらを操作することはほとんど不可能です。統計分析言語 SAS には、厳密なインメモリ処理とは対照的に、ハードディスクからのデータを操作できるという大きな利点があります。しかし、(さまざまな理由で) SAS で大量のコードを記述する必要がないようにしたいため、Python でどのようなオプションがあるかを判断しようとしています (ハードウェアとメモリを追加購入する以外に)。

map-reduce のようなアプローチは、完全なデータ セットを操作する必要があるため (分位数の計算やロジスティック回帰モデルのフィッティングなど) 、私の作業の多くには役立たないことを明確にしておく必要があります。

最近、 h5pyをいじり始めましたが、numpy/scipy/matplotlib などを活用しながら、Python が SAS のように動作し、(hdf5 ファイルを介して) ディスクからのデータを操作できるようにするための最良のオプションだと思います。同様の設定で Python と h5py を使用した経験があるかどうか、また彼らが発見したことを知りたいです。これまでSASが支配していた「ビッグデータ」設定でPythonを使用できた人はいますか?

編集:ハードウェア/メモリを追加購入することは確かに役立ちますが、IT の観点からは、Python (または R、または MATLAB など) がデータをメモリに保持する必要がある場合に、巨大なデータ セットを分析する必要がある組織に Python を販売することは困難です。 . ディスクベースの分析は遅くなる可能性がありますが、巨大なデータ セットを自信を持って処理できるため、SAS は引き続き強力なセールス ポイントを持っています。ですから、Stackoverflow の専門家が、Python を主要なビッグデータ分析言語として使用することに関して認識されているリスクを軽減する方法を理解するのに役立つことを願っています。

0 投票する
2 に答える
2770 参照

python - hdf5 ファイル内のデータにアクセスできるように h5py を拡張するにはどうすればよいですか?

h5py モジュールを使用して hdf5 ファイルを作成する小さな python プログラムがあります。hdf5 ファイルのデータを処理する Python モジュールを作成したいと考えています。どうすればそれができますか?

より具体的には、numpy 配列を PyArrayObject に設定し、PyArg_ParseTuple を使用して読み取ることができます。このようにして、Python モジュールを作成しているときに、numpy 配列から要素を読み取ることができます。個々の要素にアクセスできるように hdf5 ファイルを読み取る方法は?

更新: 以下の回答に感謝します。Python からではなく、C から hdf5 ファイルを読み取る必要があります。その方法はわかっています。例えば:

これで、「\tmp\tmp.h5」という hdf5 ファイルができました。私がする必要があるのは、(python ではなく) C を使用して hdf5 ファイルから個々の配列要素を読み取って、それらの要素で何かを行うことができるようにすることです。これは、numpy 配列を拡張する方法を示しています。hdf5を拡張するには?

編集:文法

0 投票する
3 に答える
32710 参照

python - PythonでHDF5ファイルを書く最速の方法は?

テキスト/数字が混在する大きな(数十GB)CSVファイルを考えると、メモリ使用量を適切に保ちながら、同じコンテンツでHDF5ファイルを作成する最も速い方法は何ですか?

h5pyできればモジュールを使いたいです。

以下のおもちゃの例では、HDF5にデータを書き込むための信じられないほど遅くて信じられないほど速い方法を見つけました。10,000行程度のチャンクでHDF5に書き込むのがベストプラクティスでしょうか?または、そのようなファイルに大量のデータを書き込むためのより良い方法はありますか?

0 投票する
2 に答える
2242 参照

python - h5pyを含む複合データ型:属性内のデータ型

HDF5でSiloを使用していますが、h5pyで一部のメタデータにアクセスできません。かなり珍しいHDF5構造を吐き出し、DATATYPE内部にを配置しDATATYPEます。これがからの出力の抜粋ですh5dump

基本的に、正しくフォーマットされたすべてのデータを含むが、データ型に関連付けられたラベルを含まないをf['sigma_t'].attrs['silo']返します。tuple(名前などを知る必要がありますmeshidvalue0これを取得する方法はありますか?私は途方に暮れています。

サンプルファイルとスクリプト

HDF5ファイルには「sigma_t」フィールドが含まれており、実際のデータはに保存され/.silo/#000004ます。

脚本:

結果:

私も欲しいのは次のようなものです:

これは可能ですか?

0 投票する
2 に答える
3607 参照

python - OS X に h5py をインストールする

Pythonのモジュールを機能させるために1日を費やしましたh5pyが、成功しませんでした。HDF5 共有ライブラリをインストールし、Web で見つけた指示に従って正しくインストールしました。以下は、モジュールをPythonにインポートしようとしたときに表示されるエラーメッセージです。私も MacPorts 経由でインストールしようとしましたが、やはりうまくいきません。

私はPython27 32ビットを使用しています(別のモジュールにもあったため、i386 HDF5ライブラリをインストールしました...そうであれば?)

どんな助けでも大歓迎です!

ありがとうございました !

0 投票する
2 に答える
560 参照

python - インスタンス変数としてh5pyオブジェクトを使用した複雑な代入動作

h5py を使用して HDF5 ファイルにアクセスし、h5py File オブジェクトをクラスに格納しています。しかし、閉じた h5py ファイル インスタンス変数を新しい変数に再割り当てしようとすると、奇妙な動作が発生します。

出力:

新しく開いた h5py File オブジェクトでインスタンス変数を更新しようとすると、何らかの形でオブジェクトの状態に影響を与え、オブジェクトが閉じられたようです。h5py 側の実装に関係なく、Python 言語 (つまり、代入演算子のオーバーロードがないこと) の理解から、この動作がどのように理にかなっているのかわかりません。

この例は Python 2.6.5 と h5py 1.3.0 で実行されます。この例を試してみたいが、HDF5 ファイルが手元にない場合は、ファイル アクセス モードを 'r' から 'a' に変更するだけです。

0 投票する
1 に答える
2779 参照

python - PythonHDF5H5Pyが複数のファイルを開く際の問題

私は、64ビットバージョンのEnthought Pythonを使用して、複数のHDF5ファイル間でデータを処理しています。64ビットWindowsでh5pyバージョン1.3.1(HDF5 1.8.4)を使用しています。

特定のデータ階層への便利なインターフェイスを提供するオブジェクトがありますが、h5py.File(fname、'r')を個別にテストすると同じ結果が得られます。私は長いリスト(一度に最大100個のファイル)を繰り返し処理し、ファイルから特定の情報を引き出しようとしています。私が抱えている問題は、いくつかのファイルから同じ情報を取得していることです。私のループは次のようになります。

hdfviewのようなものを使用してファイルを検査すると、内部が異なることがわかります。ただし、取得したcsvは、すべてのファイルに同じデータが含まれていることを示しているようです。誰かが以前にこの振る舞いを見たことがありますか?この問題のデバッグを開始するために行くことができる提案はありますか?

0 投票する
1 に答える
915 参照

python - Python用HDF5:高レベルと低レベルのインターフェース。h5py

私はとを使用してHDF5ファイルを操作してきましたがCMatlabどちらもデータセットの読み取りと書き込みに同じ方法を使用しています。

  • でファイルを開くh5f
  • でデータセットを開くh5d
  • スペースを選択h5s

等々...

しかし、現在私はを使用してPythonおり、そのh5pyライブラリを使用すると、HDF5を管理する方法が2つあることがわかります。高レベルと低レベルのインターフェイスです。前者を使用すると、ファイルの単一の変数から情報を取得するために必要なコード行が少なくなります。

高レベルのインターフェイスを使用すると、パフォーマンスが著しく低下しますか?
たとえば、内部に多くの変数があるファイルを処理する場合、そのうちの1つだけを読み取る必要があります。