Pandasで以下のコードような計算をすると、1時間程度かかってしまいます。
df1を使ってdf2の各項目のデータを計算しています。
一般にfor文を使うと時間がとてもかかると聞きましたが、では以下のコードをどう改善すれば実行時間をみじかくできるでしょうか?

df1の行数が50万であり、以下のコードではfor文で1行ずつ参照しています。

df1 = pd.DataFrame(***)
df2 = pd.DataFrame(***)
for i in range(500000):
  df2.ix[df2['CustomerID'][i],df2['ProductID'][i]] += df2['Quantity'][i]




-------追記(2/12 19:38)-------

コメントでご指摘くださった通り、コードを書き間違えていました。
4行目は正しくは以下の通りです。

  df2.ix[df1['CustomerID'][i],df1['ProductID'][i]] += df1['Quantity'][i]