利用matplotlib绘制具有不同数据帧形状的条形图

2024-04-25 23:04:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我有三个不同的数据帧下面。第一个其中两个的形状为(4,),最后一个的形状为(2,)。如何转换数据帧的形状?在

当我尝试在条形图中绘制这三种情况时,最后一个DF失败,并显示“ValueError:shape mismatch:objects cannot be broadcast to a single shape”

如何将“空”和“无效”显示为0,在同一条形图中绘制DF3。在

DF1:

Validity

Empty               2672

InValid              581

Multiple Entries     282

Valid               5526

Name: Lifecycle, dtype: int64

DF2:

^{pr2}$

DF3:

^{3}$

下面是我的代码。在

glot = sample_lot_number.groupby("Validity")

vlot = sample1_lot_number.groupby("Validity")

dplot = Data_Package_Lot_Number.dplot.groupby("Validity")

ind = np.arange(4)

width = 0.15

ax = plt.subplot()

p1 = ax.bar(ind+width,glot.Lifecycle.count(), width)

p2 = ax.bar(ind,vlot.Lifecycle.count(), width)

p3 = ax.bar(ind-width,dplot.Lifecycle.count(), width)

ax.set_xticks(ind + width / 2)

ax.set_xticklabels(("Empty","InValid","Multiple Entries","Valid"))

Tags: 数据count绘制baraxwidth形状条形图
1条回答
网友
1楼 · 发布于 2024-04-25 23:04:26

@busybear在评论中给出了正确的答案。您的代码无法运行。如果我猜一猜,你可以试试下面的代码:

glot = sample_lot_number.groupby("Validity")
vlot = sample1_lot_number.groupby("Validity")
dplot = Data_Package_Lot_Number.dplot.groupby("Validity")
df1 = glot.Lifecycle.count()
df2 = vlot.Lifecycle.count().reindex(df1)
df3 = dplot.Lifecycle.count().reindex(df1).fillna(0)

ind = np.arange(4)
width = 0.15
ax = plt.subplot()
p1 = ax.bar(ind+width, df1, width)
p2 = ax.bar(ind, df2, width)
p3 = ax.bar(ind-width, df3, width)
ax.set_xticks(ind + width / 2)
ax.set_xticklabels(("Empty","InValid","Multiple Entries","Valid"))

相关问题 更多 >