ValueError:不能接受列引用列表或' x '和' y '的列列表



我无法在Plotly中获得热图并获得ValueError:不能接受列引用列表

def update_graph(xaxis_column_name, yaxis_column_name,value):
dff = df[df['Year'] == value]   
fig = px.density_heatmap(

x=dff[dff['Population'] == xaxis_column_name]['Pop. Density (per sq. mi.)'],
y=dff[dff['Area (sq. mi.)'] == yaxis_column_name]['Pop. Density (per sq. mi.)'],
text_auto=True,
hover_name=dff[dff['Country'] == yaxis_column_name]['Region'])
return fig

在尝试绘制px时出现了相同的错误。通过传递一个数据帧到px的折线图。,我在网上找不到解决我具体问题的答案。我不确定您的问题是否与我的问题相同,但我发现当我试图将空数据帧传递给px时,我的错误正在发生。line -我传递给px的数据框中的数据。每次重新运行脚本时,折线图都会发生变化,有时数据框中没有数据,这就是为什么有时会得到空数据框的原因。为了解决这个问题,我简单地写了一个if语句,声明:如果我试图传递给px的数据帧。一行是空的,然后我传递了一个"假人"。数据帧到px。具有相同列标题的行,但只有一行全为零的数据,否则,传递最初预期的数据框,如下所示:

# orig_df is the dataframe I am passing to px.line
empty_df = orig_df.empty
if empty_df = True:
orig_df = pandas.DataFrame({'Col1':[0], 'Col2':[0], 'Col3':[0]}) # column names are same as in orig_df
else:
orig_df = orig_df

它解决了我在传递动态数据帧到px的任何地方的问题。折线图。我希望这对你有帮助。

最新更新