問題タブ [python-xarray]
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 - _FillValue と missing_value の競合を避けるために、xarray でデータセットをインポートおよびデコードする
xarray open_dataset または open_mfdataset を使用して NARR netcdf データセット (例: ftp://ftp.cdc.noaa.gov/Datasets/NARR/monolevel/air.2m.2010.nc ) をロードすると、xarray は「競合する _FillValue とmissing_values".
入力:
ds = xarray.open_dataset('air.2m.2010.nc')
このエラーが発生します:
ValueError: ('Discovered conflicting _FillValue and missing_value. Considering opening the offending dataset using decode_cf=False, corrected the attributes', 'and decoding explicitly using xray.conventions.decode_cf(ds)')
提案を使用してそのように開く場合:
ds = xarray.open_dataset('air.2m.2010.nc',decode_cf=False)
、
データセットは開かれますが、変数、時間、座標などは (明らかに) デコードされません。明示的に使用xarray.decode_cf(ds)
しても、同じエラーが発生するため、データセットを正常にデコードするのに役立たないようです。
このエラーは、NARR データセットが Lambert Conformal であるため、xarray によって開かれたグリッドの形状が原因で値が欠落しているために発生すると考えられます。何らかの理由で、これは塗りつぶし値と競合します。
このファイルを xarray で開いてデコードする最良の方法は何ですか?
NB netcdf4-python を使用して開いてデコードすることができましたが、これを xarray で実行して、dask によって提供されるコア計算機能を利用できるようにしたいと考えています。
python - Python での非常に大きな netcdf ファイルの読み込みの高速化
PythonでnetCDF4を使用して読んでいる非常に大きなnetCDFファイルがあります
このファイルのサイズ (1200 x 720 x 1440) は、ファイル全体を一度にメモリに入れるには大きすぎるため、一度にすべてを読み取ることはできません。最初の次元は時間を表し、次の 2 次元はそれぞれ緯度と経度を表します。
しかし、一度に 1 年ずつ読むのは非常に遅いです。以下のユースケースでこれを高速化するにはどうすればよいですか?
- 編集
チャンクサイズは 1
年の範囲を読み取ることができます: nc_file.variables[変数名][0:100, :, :]
いくつかのユースケースがあります:
年の年:
/li>
python - xarray 変数を 2D numpy 配列で乗算する際の値エラー
次のエラーが表示されます。
2 つの配列の形状は次のとおりです。
このエラーを修正するにはどうすればよいですか?
python - xarray でデータセット座標を置き換える (Python)
、およびのIntensity
3 つの次元の値で構成される NetCDF4 形式で保存されたデータセットがあります。座標に次元と同じ名前を付けました(良いか悪いかわかりません...)Loop
Delay
Wavelength
Python でxarray (以前の xray)を使用してデータセットをロードしています。
ここで、元のデータを追跡しながらデータを操作したいと考えています。たとえば、次のようにします。
Delay
座標にオフセットを適用し、元のデータ配列を変更しないでDelay
ください。これは次のように行われるようです:ds_ = ds.assign_coords(Delay_corr=ds_.Delay.copy(deep=True) + 25)
データセット内の関連するすべてのデータ配列の座標
Delay
を置き換えます。Delay_corr
ただし、これを行う方法がわかりません。ドキュメントには何も見つかりませんでした。
アイテム#2の実行方法を知っている人はいますか?
テスト データを含む NetCDF4 ファイルをダウンロードするには: http://1drv.ms/1QHQTRy
python - 競合する座標を持つ xArray データセットをマージする方法
2 つのデータセットがあり、それぞれに対象となる異なる変数が含まれており、インデックスが不完全 (ただし競合していない) であるとします。
これにより、適切にマージされるように見える 2 つのデータ セットが作成されます。
しかし、そうではありません-試行ages.merge(heights)
すると次のことが発生しValueError
ます:
座標を削除kid_names
すると問題が解決します。
座標が のように処理されているように見えますが、DataArrays
値が異なるとエラーが発生します。しかし、2 つのインデックスのスーパーセットに拡張するなど、ベース座標のように扱うべきではありませんか? それとも、私がしなければならない別の操作がありますか?
私はxarray 0.7.2とnumpy 1.10.4を使用してpython 3.5を使用しています
python - 2D DataFrames/Arrays の Dict から DataArray を作成
レパートリーを広げるため Pandas
にXarray
forから forに移行しようとしています。N-Dimensional DataArrays
現実的には、特定の軸 (以下のモックの例では患者) に沿ってさまざまなpd.DataFrames
(この場合は行 = 月、列 = 属性) を持ち、それらをマージします (パネルやマルチインデックスを使用せずに) :)、 ありがとうございました)。xr.DataArrays
それらを変換して、それらに次元を構築できるようにしたいと考えています。私が話していることの要点を示すために、モック データセットを作成しました。
私が作成したこのデータセットについて100 patients, 12 months, 10000 attributes, 3 replicates (per attribute)
、典型的な 4D データセットを想像してみてください。基本的に、私は2D (row=months, col=attributes) で終わるので、この DataFrame3 replicates per attribute
は私の辞書の値であり、それが由来する患者がキーです (つまり (patient_x : DataFrame_X) )mean
pd.DataFrame
また、np.ndarray
プレースホルダーで行ったラウンドアバウトの方法も含めますが、キーが patient_x で値が DataFrame_X である辞書から N 次元の DataArray を生成できれば非常に便利です。
の辞書をDataArray
使用して N 次元を作成するにはどうすればよいですか?Xarray
Pandas DataFrames
python - Python xarray: 複数のパラメーターによるグループ化
Python 2.7 の xarray パッケージを使用する場合、パンダのように複数のパラメーターをグループ化できますか? 本質的には、次のような操作です。
データセットの各年と月の平均値を取得したい場合。