2017-05-11 10 views
0

私はこの質問をどのようにするべきかについては確かではありませんでしたが、これにアプローチする方法についてのアドバイスは参考になります。以下は私が遭遇している問題の例です。私は私だけで簡単に自身でdf_totals.PPGを実行し、数で入力しますが、私は私が通過し、番号を変更することなく、異なるデータに入力することができますどこにそれをしたいと思います可能性が知っているPythonで単一のデータフレーム内の異なるインデックスにどのように乗算するのですか?

import pandas as pd 
df = pd.DataFrame([('Isaac', 8), ('Jacob', 12), ('Adam', 4), ('Totals', 55)], columns=('Name', 'PPG'),index_col = 0) 
Totals = df['Name'] == 'Totals' 
df_totals = df[Totals] 
df.PPG/df_totals.PPG 

答えて

0

使用iat/iloc番号を抽出し、次に分割する:

df.PPG/df_totals.PPG.iat[0] 

#0 0.145455 
#1 0.218182 
#2 0.072727 
#3 1.000000 
#Name: PPG, dtype: float64 
0
#set PPG to PPG/Total for non total rows. 
df.loc[df.Name!='Totals','PPG'] /= df.loc[df.Name=='Totals','PPG'].iloc[0] 

df 
Out[872]: 
    Name  PPG 
0 Isaac 0.145455 
1 Jacob 0.218182 
2 Adam 0.072727 
3 Totals 55.000000 
関連する問題