2016-04-08 4 views
1

私は2つのデータフレームを持っています。両方とも同じ数の行を持ち、列nameは同じです。ここで今、私は3番目の列がデータフレームで数値変換を行う方法

DF3期待 value/count

の結果であることが、新しいデータフレームを作成する例

DF1

  name  value 
0 000001.XSHE  50000 
1 000002.XSHE  100000 
2 000009.XSHE  75000 

DF2

  name  count 
0 000001.XSHE   20 
1 000002.XSHE  100 
2 000009.XSHE   50 

です

  name  result 
0 000001.XSHE  2500 
1 000002.XSHE  1000 
2 000009.XSHE  1500 

最終的にはDataFrame.applyが変換を実行するための適切な機能だと思いますが、それを行う最も効率的な方法は何か分かりません。

答えて

3

あなたmerge 2つのDFSその後、操作が簡単な割り算の場合:

In [29]: 
df2 = df.merge(df1) 
df2['result'] = df2['value']/df2['count'] 
df2 

Out[29]: 
      name value count result 
0 000001.XSHE 50000  20 2500.0 
1 000002.XSHE 100000 100 1000.0 
2 000009.XSHE 75000  50 1500.0 

マージは、値が両方のDFS

に同意共通の列に一致します
関連する問題