0
位置、メトリックのリスト、再生された最小分数の3つの引数に基づいて、データフレームを作成する次の関数を定義しました。 (私はサッカーの試合データで作業しています。)データフレーム(cpd_df)はPandaSQLパッケージを使用して照会され、この新しいデータフレームが返されます。次の引数を挿入するときPythonで見つからない関数で作成されたPandasデータフレーム
def create_positional_dfs(position, list_of_metrics, minimum_minutes):
if position == 'DM':
relevant_df = DMs
elif position == 'AM':
relevant_df = AMs
else:
relevant_df = master
cpd_df = pd.DataFrame(data=relevant_df, columns=list_of_metrics)
cpd_query = """SELECT * FROM cpd_df WHERE [Total Mins] >= """ + str(minimum_minutes) + """ AND Position = '""" + position + """'"""
return psql.sqldf(cpd_query, globals())
はしかし、:
create_positional_dfs('CM', ['Passes', 'Tackles', 'Total Mins'], 450)
私は次のエラーを取得する:
PandaSQLException: (sqlite3.OperationalError) no such table: cpd_df [SQL: "SELECT * FROM cpd_df WHERE [Total Mins] >= 450 AND Position = 'DM'"]
Pythonの関数で作成しcpd_dfのデータフレームを見つけることができません表示されます。
関数内にパンダのデータフレームを作成することはできませんか?この問題を回避する最善の方法は何でしょうか?
ありがとうございます!