データフレームの行を別のデータフレーム内の同じインデックス行で分割しようとしています。各データフレームには同じ量の列があります。インデックス別のデータフレームでデータフレームを分割する
目的は、列のリストを別の列のリストで除算することです。 パンダでこれを行う方法はありますか?ここで
はサンプルデータです:import pandas as pd
import numpy as np
data1 = {"a":[10.,20.,30.,40.,50.],
"b":[900.,800.,700.,600.,500.],
"c":[2.,4.,6.,8.,10.]}
data2 = {"f":[1.,2.,3.,4.],
"g":[900.,800.,700.,600.],
"h":[10.,20.,30.,40.]}
df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)
予想される出力:
今のようa/f b/g c/h
0 10.0 1.0 0.2
1 10.0 1.0 0.2
2 10.0 1.0 0.2
3 10.0 1.0 0.2
4 NaN NaN NaN
、私は私が書いたこの小さな機能を使用しています:
def divDF(df1, df2):
nRow, nCol = df1.shape
result = pd.DataFrame(np.empty((nRow, nCol)), index=df1.index)
for col in range(nCol):
result.iloc[:,col] = df1.iloc[:,col]/df2.iloc[:,col]
return result
はです。この唯一の方法かこれを行うより速い方法がありますか?
時々、私は単にオーバーだと思いますいくつかの解決策。ニースpiRSquared。 –
@ScottBostonは私を信じています...そうです..私は! – piRSquared
サンプルデータを更新しました。これは異なる量の索引で動作しますか? – Oligg