从用户输入调用特定的 Pandas Dataframe 以在函数中使用?
Calling a specific Pandas Dataframe from user input to use in a function?
这可能已经得到解答,但我找不到合适的词组来搜索以找到我遇到的问题的答案。
情况:
我有几个可以插入函数的数据框。该函数要求我命名数据框,以便它可以呈现形状。
def heatmap(table, cmap=cm.inferno, vmin=None, vmax=None, inner_r=0.25, pie_args={}:
n, m = table.shape
我希望用户能够像这样指定要用作 table 的数据框:
table_name= input('specify Table to Graph: ')
heatmap(table_name)
期望:如果用户输入是 TableXYZ,那么变量 table_name 将引用 TableXYZ,因此该函数将能够找到 TableXYZ 的形状以使用该信息在函数的其他部分。
实际发生了什么:当我尝试 运行 代码时,我得到一个“AttribureError:'str' 没有属性 'shape'。 “我看到 table_name 输入是一个字符串对象,但我试图引用数据框本身,而不是名称。
我觉得我缺少将用户的输入转化为函数实际可以采用的形式的步骤。
我建议将每个数据帧分配给一个字典,然后从字典中按名称检索数据帧以将其传递给 heatmap
函数。
例如:
df_by_name = {"df_a": pd.DataFrame(), "df_b": pd.DataFrame()}
table_name= input('specify Table to Graph: ')
df = df_by_name[table_name]
heatmap(df)
将第一行中的 pd.DataFrame()
替换为您想要 select 来自的实际数据帧。
这可能已经得到解答,但我找不到合适的词组来搜索以找到我遇到的问题的答案。
情况: 我有几个可以插入函数的数据框。该函数要求我命名数据框,以便它可以呈现形状。
def heatmap(table, cmap=cm.inferno, vmin=None, vmax=None, inner_r=0.25, pie_args={}:
n, m = table.shape
我希望用户能够像这样指定要用作 table 的数据框:
table_name= input('specify Table to Graph: ')
heatmap(table_name)
期望:如果用户输入是 TableXYZ,那么变量 table_name 将引用 TableXYZ,因此该函数将能够找到 TableXYZ 的形状以使用该信息在函数的其他部分。
实际发生了什么:当我尝试 运行 代码时,我得到一个“AttribureError:'str' 没有属性 'shape'。 “我看到 table_name 输入是一个字符串对象,但我试图引用数据框本身,而不是名称。
我觉得我缺少将用户的输入转化为函数实际可以采用的形式的步骤。
我建议将每个数据帧分配给一个字典,然后从字典中按名称检索数据帧以将其传递给 heatmap
函数。
例如:
df_by_name = {"df_a": pd.DataFrame(), "df_b": pd.DataFrame()}
table_name= input('specify Table to Graph: ')
df = df_by_name[table_name]
heatmap(df)
将第一行中的 pd.DataFrame()
替换为您想要 select 来自的实际数据帧。