元のデータフレームを変更せずにデータフレームコピーの値を変更できる関数を作成しようとしています。オリジナルを変更せずに関数内のデータフレームのコピーを作成
def home_undervalued(df):
local_df = df
local_df['total_games'] = 0
local_df['total_wins'] = 0
cond_1 = local_df['predicted_spread'] > local_df['vegas_spread']
cond_2 = local_df['actual_spread'] > local_df['vegas_spread']
cond_3 = local_df['predicted_spread'] - local_df['vegas_spread'] >= 3
local_df.loc[cond_1 & cond_3 , 'total_games'] = 1
local_df.loc[cond_1 & cond_2 & cond_3 , 'total_wins'] = 1
total_games = sum(local_df.total_games)
total_wins = sum(local_df.total_wins)
return float(total_wins)/float(total_games)
が、私はその後、
home_undervalued(df)
動作しているよう
で関数を呼び出したが、その後、私は[「total_games」]とDFの[」DFの値を実現:これは私がこれまで持っているものですtotal_wins ']が変更されました。私はlocal_dfの値を変更しようとしていますが、dfの値は保持しています。どのようにこれを修正するための任意のアイデア?
新しいコピーを作成する代わりに何をお勧めしますか?列を追加していますか? – user3294779
私はあなたがコピーが必要だと思っている理由を検討しますが、必要があるかもしれませんが、おそらくより効果的な解決策があります。列を追加したり、既存のものを置き換えることは必要ないでしょう。 –
意味があります。ありがとうございました。 – user3294779