問題タブ [pytables]
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 - Pythonでのcarraysの問題
私はこのコードを持っています:
それは永遠の実行を必要とします。これをスピードアップする方法はありますか?
注:x [i、:]ではなくx [:、i]である必要があります
python - PyTables を使用した画像とメタデータの保存
PyTables を使用して、いくつかの画像をArray
データCArray
型として保存しています。これらの画像ごとに、いくつかの基本的なメタデータ ( EXIFデータなど) も保存したいと考えています。
AttributeSet
これらのデータ形式の両方を格納するには、メタデータをクラスごとに格納する方法から、すべてのメタデータにArray
をCArray
使用する方法まで、さまざまな方法があると想像できます。Table
私の質問は次のとおりです。処理のために究極の hdf5 ファイルから画像を効率的にクエリおよび抽出できるようにしたい場合、最良のアプローチは何ですか? たとえば、特定の時間 (午後 12 時から午後 3 時) に撮影された画像を抽出し、そのデータのサブセットを処理して、コピーをデータベースに挿入するか、既存の配列を置き換えられるようにしたいと考えています。
助けてくれてありがとう。
一番、
ニック
[編集 (明確化): 現在、これらの画像を NumPy 配列として処理しており、その機能を保持したいと考えています]
python - Python:PyTablesにnumpy多次元配列を格納する方法は?
PyTablesを使用してHDF5ファイルにnumpy多次元配列を配置するにはどうすればよいですか?
私の知る限り、配列フィールドをpytablesテーブルに配置することはできません。
また、この配列に関する情報を保存して、数学的な計算を実行できるようにする必要があります。
助言がありますか?
python - pytables 配列で検索する
pytables に格納されている多次元配列があります。
それを検索するにはどうすればよいですか。
例: 検索を実行して、この次元のすべての値の合計が 10 より大きい配列の次元を返すのが好きです。
ありがとう
python - より効率的なpytablesの使用: scipy.sparseまたはnumpy密行列?
を使用する場合pytables
、(私が知る限り)scipy.sparse
マトリックス形式はサポートされていないため、マトリックスを格納するには、たとえば、何らかの変換を行う必要があります。
問題は、get_sparse
関数が(ディスクからの読み取りに)時間がかかることです。私が正しく理解していれば、データをメモリに収める必要もあります。
他の唯一のオプションは、マトリックスを密な形式( )に変換してから通常どおりnumpy array
使用するようです。pytables
しかし、これはかなり効率が悪いようですが、おそらくpytables
圧縮自体を処理するのでしょうか?
java - Java、Python、PyTables、HDF5を組み合わせるためのシンプルで効果的なソリューション
私はPython、PyTables、HDF5の初心者です。私は自分の問題に対するシンプルで最良の解決策を探しています。
次は問題です。一方では、データを含む多くのXMLファイルがあります。これらのファイルを解析して、反対側のhdf5ファイルにデータを入れたいだけです。後で、このデータをいくつかの検索条件で使用します。なぜHDF5なのですか?大きなデータセットを配置する必要があるため、そして速度のため。RDBMSを使用すると、JOIN操作中のパフォーマンスに問題が発生します。ソリューションは、速度と優れたメモリパフォーマンスを提供する必要があります。
いくつかのグーグルの後、私はPythonとPyTablesを可能な解決策として見つけました。私の考えは、JavaでXMLからデータを解析し(このコードはJavaで作成する必要があります)、その後、PyTables APIを使用してhdf5にデータを挿入し、JavaからPythonスクリプトを実行するPythonスクリプトを作成します。だから、私はJavaプログラムからPythonスクリプトを書いて実行しています。JavaでPythonスクリプトを作成するために、java.io。*パッケージを使用し、JavaでProcessクラスを実行します。例えば:
p.exec( "cmd / c C:\ MyScripts \ myscript.py")
この解決策が良いかどうかはわかりません。私にとって、java.io。*を使用してJavaからスクリプトを書くのはクールではありません。おそらく、後でスクリプトから結果を読み取る際に問題が発生します(PythonスクリプトとPyTables APIを使用して検索条件を作成する場合)。
ですから、私の問題についていくつか質問があります。一方の側でXMLデータを解析し、もう一方の側でデータをhdf5に保存するための最良の解決策は何ですか?私はこのソリューション(JavaコードからPythonスクリプトを記述して実行する)で正しい方向に進んでいますか?PythonとPyTablesはどうですか?これらのテクノロジーは私の問題の良い解決策ですか?また、Jythonに関するいくつかのことを読みましたが、PyTablesと組み合わせることが可能かどうかわかりません。
専門家からの意見やアドバイスは大歓迎です。助けてくれてありがとう。
python - PyTablesセルに任意の形状の多次元配列を格納することは可能ですか?
PyTables は、IsDescription クラスから継承するユーザー定義クラスからのテーブルの作成をサポートしています。これには、ドキュメントの次の例のように、多次元セルのサポートが含まれます。
しかし、任意の形状の多次元配列を単一のセルに格納することは可能ですか? 上記の例に従うと、各行の挿入時にpressure = Float32Col(shape=(x, y))
wherex
およびare が決定されるようなものです。y
そうでない場合、好ましいアプローチは何ですか?各 (任意の形状の) 多次元配列をCArray
一意の名前で格納し、それらの名前をマスター インデックス テーブルに格納しますか? 私が想像しているアプリケーションは、画像と関連するメタデータを保存していて、クエリと使用の両方ができるようにしたいと考えていますnumexpr
。
PyTables のベスト プラクティスへのポインタは大歓迎です。
python - Python辞書はpytablesにどのように保存する必要がありますか?
pytables は Python 辞書をネイティブにサポートしていません。私がアプローチした方法は、次の形式のデータ構造を作成することです。
(キーの長さが 40 文字未満であることを確認することに注意してください)、次の構造を使用してテーブルを作成します。
次に、次のものを入力します。
次の方法でデータを取得します。
これは問題なく動作しますが、辞書を読み戻すのは非常に遅くなります。問題は、関数が辞書全体をメモリにロードさせていることだと思いますがread()
、これは実際には必要ではありません。これを行うより良い方法はありますか?
python - PyTable のインストールに失敗しました
easy_install
どちらかまたは両方を使用して PyTables をインストールしようとしていますpip
が、両方の試行で同じエラーが発生します。
error: Command "gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DNDEBUG=1 -DHAVE_LZO2_LIB=1 -DHAVE_BZ2_LIB=1 -Iblosc -I/usr/lib/pymodules/python2.7/numpy/core/include -I/usr/include/python2.7 -c src/H5ARRAY.c -o build/temp.linux-x86_64-2.7/src/H5ARRAY.o -Isrc -DH5_USE_16_API" failed with exit status 1
すべての依存関係がインストールされています。
- numexpr 1.4.2 パッケージがインストールされていることがわかりました。
- Cython 0.14.1 パッケージがインストールされていることがわかりました。
- で HDF5 ヘッダーが見つかりました。
/usr/include
ライブラリは/usr/lib
です。 - で LZO 2 ヘッダーが見つかりました。
/usr/include
ライブラリは/usr/lib
です。 - LZO 2 はすでに見つかっているため、LZO 1 の検出をスキップします。
- で bzip2 ヘッダーが見つかりました。
/usr/local/include
ライブラリは/usr/local/lib
です。
しかし、まだ警告があります:
.. WARNING:: Could not find the bzip2 runtime. The bzip2 shared library was *not* found in the default library paths. In case of runtime problems, please remember to install it.
この警告により、PyTables の正常なインストールが妨げられる可能性はありますか?
numpy - NumPy が処理できるデータ量
と を使用しようとしていPyTables
ますNumPy
。
後者が処理できるデータ量を教えてください。
現在、1 億 4000 万行のデータを処理していますが、処理できるかどうかを知りたいですNumPy
。せめて2列1億4000万行は扱えるといいですね。現在、8 GB の RAM を搭載した 64 ビット バージョンの Windows を使用しています。
この量のデータを処理できない場合NumPy
、統計と機械学習アルゴリズムの実装の代替手段は何ですか?