2016-07-29 6 views
0

私はn×mのパンダのデータフレームと長さgのパンダシリーズを持っています。インデックスに基づいてシリーズごとにデータフレームを分割するにはどうすればよいですか?パンダはdf n x mをインデックスで直列長で割る

これまでのところ、私はこのシリーズをデータフレームとマージしています。単純に1つのセルをもう一方のセルに分割しています。

おかげ

+1

あなたが代表を投稿することができます例えば実際に依存している例です。例えば、長さが一致しない場合は失敗します。 – EdChum

答えて

0

IIUC Seriesの長さはdf使用divの長さと同じである場合:

df = pd.DataFrame({'A':[1,2,3], 
        'B':[4,5,6], 
        'C':[7,8,9], 
        'D':[1,3,5], 
        'E':[5,3,6], 
        'F':[7,4,3]}) 

print (df) 
    A B C D E F 
0 1 4 7 1 5 7 
1 2 5 8 3 3 4 
2 3 6 9 5 6 3 

s = pd.Series([1,2,3]) 
print (s) 
0 1 
1 2 
2 3 
dtype: int6 

print (df.div(s, axis=0)) 
    A B C   D E F 
0 1.0 4.0 7.0 1.000000 5.0 7.0 
1 1.0 2.5 4.0 1.500000 1.5 2.0 
2 1.0 2.0 3.0 1.666667 2.0 1.0 

長さが異なる場合は、あなたがNaNを得る:

s = pd.Series([1,2]) 
print (s) 
0 1 
1 2 
dtype: int64 

print (df.div(s, axis=0)) 
    A B C D E F 
0 1.0 4.0 7.0 1.0 5.0 7.0 
1 1.0 2.5 4.0 1.5 1.5 2.0 
2 NaN NaN NaN NaN NaN NaN 
+0

私は別の長さを持っていますが、インデックスは同じです。だから私はインデックスで割ります – tadalendas

+0

私の解決策はあなたのために働くことはありません?そうでない場合は、私のサンプルで希望の出力を追加できますか? – jezrael

+0

は小さなタイプでしたが、ソリューションのおかげで – tadalendas

関連する問題