debugging 计数图错误:min()arg是空序列

qvtsj1bj  于 2022-11-14  发布在  其他
关注(0)|答案(1)|浏览(82)

我遇到了一个问题,sns.countplot无法工作。我得到了每年最流行的颜色的名称,并试图用它来绘制一个countplot,它将显示每种颜色的数量(计数)。类似于.value_counts(),但在一个图形中。
下面是我编写的代码:

most_popular_color = df_merged_full.groupby('year')[['name_cr_invp_inv']].agg({lambda color_name: color_name.value_counts().idxmax()}).reset_index()

并返回以下内容(示例不是完整文件):

现在,当我尝试进行计数图时:

sns.countplot(most_popular_color['name_cr_invp_inv'],
              palette={color: color for color in most_popular_color['name_cr_invp_inv'].drop_duplicates()})

它将返回一个错误:min()arg是一个空序列。
问题出在哪里,我找不到吗?

ddrv8njm

ddrv8njm1#

从这个问题看,您似乎在尝试用每种颜色绘制条目数,并将颜色Map到条形图。(在本例中是相同的)并将其用作调色板。我使用了您在上面提供的数据并创建了此调色板。由于白色是颜色之一,我已经加了边框,这样你就可以看到酒吧了。希望这是你要找的...

## Create dictionary with mapping of colors to the various unique entries in data
cmap = dict(zip(df_merged_full.name_cr_invp_inv.unique(), df_merged_full.name_cr_invp_inv.unique())) 
fig, ax = plt.subplots() ## To add border, we will need ax
ax=sns.countplot(x=df_merged_full.name_cr_invp_inv, palette=cmap) ## Plot with pallette=cmap
plt.setp(ax.patches, linewidth=1, edgecolor='black') ## Add border

相关问题