2016-12-09 9 views
0

私はpandasシリーズと、シリーズ内の値を取り、データフレームを返す関数を持っています。シリーズに関数を適用し、結果を自然な方法で照合する方法はありますか?pandas series/dataframeの各値をn> 1次元にマップする

私が実際にやっていることは、マルチインデックスが値を取得するために使用されるパラメータを保持するデータ分析パイプラインの各ステップで結果を追跡するためにpandas series/multiindexを使用することです。たとえば、シリーズ(下の図)は、データ分析パイプラインのステップ0の結果です。ステップ1では、x個のディメンション(下の2つはデータフレーム)を試して、別のシリーズに結果を照合したいと考えています。

私たちは以下より優れていますか?どこでstack()呼び出しが少し過剰に見えます。 xarrayライブラリは私のユースケースに適していますか?

In [112]: s 
Out[112]: 

a 0 
b 1 
c 2 
dtype: int64 

In [113]: d = s.apply(lambda x: pd.DataFrame([[x,x*2],[x*3,x*4]]).stack()).stack().stack() 

In [114]: d 
Out[114]: 

a 0 0 0 
     1 0 
    1 0 0 
     1 0 
b 0 0 1 
     1 3 
    1 0 2 
     1 4 
c 0 0 2 
     1 6 
    1 0 4 
     1 8 
dtype: int64 

答えて

0

これは、DataSetの2D配列を与え、それらを整列させるはずです。特定の方法で名前を付ける/特定のサイズにする場合は、あらかじめディメンションを設定することをお勧めします。

xr.Dataset(k: func(v) for k, v in series.items())

関連する問題