import pandas as pd
columns_list=['sport','home','away','selection','odds','tipster','stake',
'is_won','profit','bookie']
df = pd.DataFrame(columns=columns_list)
def bet(sport,home,away,selection,odds,tipster,stake,profit,bookie):
if profit > 0:
is_won = True
elif profit < 0:
is_won = False
temp_df = pd.DataFrame([[sport,home,away,selection,odds,tipster,stake,
is_won,profit,bookie]], columns=columns_list)
df.append(temp_df, ignore_index=True)
#print(smemels has been inserted)
#add market
bet(sport="football",home="sporting",away="porto",selection="sporting",
odds=2.7,tipster="me",stake=500,profit=500,bookie="marathon")
私は、関数を作成することによって、空のDataFrame
を作成し、新しい行を追加しようとしていますので、私は値のみを配置する必要があり、それが自動的に挿入されます。コードbet(...)
を実行すると、実際にデータが追加されることはありません。作成するのではなく、データフレームにデータを追加する関数を作成するにはどうすればよいですか?
def bet(sport,home,away,selection,odds,tipster,stake,profit,bookie):
global df
if profit > 0:
is_won = True
elif profit < 0:
is_won = False
temp_df = pd.DataFrame([[sport,home,away,selection,odds,tipster,stake,
is_won,profit,bookie]], columns=columns_list)
df.append(temp_df, ignore_index=True, inplace = True)
最初のものは、関数(関数の外)グローバル取るために指示変数DF:
関数から 'df'を返し、' df = bet(..) 'と呼び出す必要があります。それはあなたが現在放棄する新しいオブジェクトを作成します。 – roganjosh
申し訳ありません、 'return df.append(temp_df、ignore_index = True)' – roganjosh
これは私が探しているものではありません –