2016-05-07 5 views
0

私はMayaviまたはmatplotlibを使って天体物理シミュレーションを視覚化しようとしています。私はすべて(25,25,25)のインデックスを持つデータキューブを含む多くのファイルを与えられています。彼らは惑星(または惑星の形成)を表し、物理的な位置と物理的な大きさを持っています。物理的なサイズに応じて拡大縮小し、その位置に応じて配置できるプロットに追加するなど、データセットを拡大/縮小する方法はありますか?同じ形状(numpyの形状)であるが物理的なサイズと位置が異なるデータセットをプロットする

Fx:私は、惑星上の座標(178,178,178)から25 * 25 * 25のインデックスのデータセットを持っており、データセットは物理サイズ(0.62,0.62,0.62)を表しています。また、kooordinate(6,6,6)とサイズ(0.11,0.11,0.11)から25 * 25 * 25の次元を持つ別のデータセット。物理的な位置と大きさに応じて縮尺が変わるように、それらを1つの配列(またはプロット)に追加する方法は?

+0

一般的に言えば、共通の空間スケール(たとえば、最も細かくサンプリングされたデータセットのものと同じである可能性があります)を選択してから、ある形式の補間を使って他のデータセットを同じスケールにアップサンプリングします.interpolate'、 'scipy.ndimage.interpolation')です。 「1つの配列にそれらを追加する」という意味は私には分かりません。文字通りその合計を計算したいのですか、もっと複雑なものを意味しましたか?あなたはプロットについて言及していますが、どのようなプロットをしたいのか説明していません。 –

+0

これらを1つの配列に追加すると、すべてのデータセットが25 * 25 * 25個のnumpy配列で構成され、1つの大きな配列に追加されてプロットされます。データセットを一度に1つずつプロットに追加してからスケールする方法はありますか?私が使用するプロットは、mayavi quiver3d、音量や合理化ですが、どのプロットをどのように作成するかが重要ではありません。 – user2969792

+0

"add"の意味はまだ分かりません。大きな配列の値は文字通り、小さな配列の値の* sums *でなければなりませんか、それとも他の方法で組み合わせることを意味しますか? –

答えて

0

あなたの質問については、今かなり確信しています。私が間違っていたら私に知らせてください。私の理解では、たくさんのファイルがあり、すべてのファイルを惑星のサイズや位置によって1つのプロットにプロットしたいのですか?

あなたはグロブとパンダのデータフレームを使用して複数のファイルをロードすることができるかもしれない:

import os 
import pandas as pd 
from path import path 

document = [] 
p = path("C:\Users\....") #your data path 
for f in p.files(pattern='*.csv'): # loop thourgh all files depends on your file type 
    with open (f) as file: 
     data = file.read() 
     document.append(data) 
df = pd.DataFrame(document) 

次にあなたが大きさや位置によってデータフレームでデータを並べ替えることができます。

df.sort(column='size',ascending=True) 

・ホープ、この意志助けて。

+0

うまくいけば、私の質問を編集しました。もっと明確になります:) – user2969792

+0

私は参照してください。 'df1 = pd.read_csv( 'your_file_1.csv')'と は 'all_data = pd.append(df1、df2、df3 .....)'を使用して、各ファイルを追加して結合します同じデータフレームにそして、あなたはall_dataをソートすることができます –

+0

これは私が探しているものではありません。私はデータを並べ替える必要はありません。今私はその位置に従ってデータをプロットしています。 Fx。10の異なる座標位置がある場合、最小位置は第1行にあり、第2位置は第2位置にあり、以下同様である。しかし、実際には機能しません。なぜなら、物理的な位置が均等にならず、物理的なサイズも異なるからです。これが理にかなってほしい。 – user2969792

関連する問題