0

おそらく異なる次元のpython用のlarryパッケージを使用して、2Dラベル付きの行列を持っています。ラベルを揃えて追加する必要があります。larry パッケージはこれを処理しますが、2 つの行列の加算には同じ次元が必要です。

しかし、私の仕事では、各次元には異なる順序で異なるラベルがあります。ラリーは追加中にそれを処理します

例えば:

la.add(lar1, lar2, join='inner')

しかし、lar1 と lar2 の両方が同じ次元であることが期待されますが、ラベルの順序が異なるだけでなく、行列の次元も異なる場合があります。

私が欲しいものの例:

ADD([[1,2][3,4]],[[5,6,7][5,7,2]],label=[[A,B,C][X,Y]])

追加中に欠落している次元をゼロでパディングし、最大次元の出力が得られるはずです。

pandas パッケージは上記のタスクを達成できますか? pandas を使用して回答することもできますか? このリンクは、パンダが上記を達成するために整列関数と再索引付け関数を持っていることを説明していますが、自動再次元化と整列で追加を達成し、最大次元を支持する方法は?

4

2 に答える 2

1

pandas算術演算子をオーバーライドして、必要なことを正確に実行します。現在、インデックスの結合を制御するオプションはありません。デフォルトで外部結合を行います。

In [39]: a = DataFrame([[1, 2], [3, 4]], columns=list('CD'), index=list('AB'))

In [40]: b = DataFrame([[1, 2, 5], [1, 3, 4], [6, 7, 8]], columns=list('CDY'), index=list('ABX'))

In [41]: a + b
Out[41]:
    C   D   Y
A   2   4 NaN
B   4   7 NaN
X NaN NaN NaN

これについては、GitHub に未解決の問題があります。

于 2013-09-23T04:12:39.513 に答える