如何根据范围绘制句子长度

2024-09-27 09:23:27 发布

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

这是我的代码,但我得到以下错误! df['length']是我的数据中句子的长度

我做错了什么

data = df['length']
type(data)
fig  = plt.figure()
ax   = fig.add_axes([0,0,1,1])
data0 = []
data1 = []
data2 = []
data3 = []
data4 = []

if  data.any() < 500:
    data0.append(data)
if  data.any() >= 500  &  data.any() < 1000:
    data1.append(data)
if  data.any() >= 1000 &  data.any() < 1500:
    data2.append(data)
if  data.any() >= 1500 &  data.any() < 2000:
    data3.append(data)
if  data.any() >= 2000 &  data.any() < 2500:
    data4.append(data)

langs = ['0-499', '500-999', '1000-1499', '1500-1999', '2000-2500']
ax.bar(langs, data0, color = 'b', width = 0.25)
ax.bar(langs, data1, color = 'g', width = 0.25)
ax.bar(langs, data2, color = 'r', width = 0.25)
ax.bar(langs, data3, color = 'y', width = 0.25)
ax.bar(langs, data4, color = 'o', width = 0.25)

错误:值错误:形状不匹配:无法将对象广播到单个形状


Tags: dataif错误baranyaxwidthcolor
1条回答
网友
1楼 · 发布于 2024-09-27 09:23:27

你计算得不对。如果我理解正确,这就是你真正想要的-

data0 = data[data < 500].size
data1 = data[(data >= 1300) & (data<1000)].size
data2 = data[(data >= 1000) & (data<1500)].size
data3 = data[(data >= 1500) & (data<2000)].size
data4 = data[(data >= 2000) & (data<2500)].size

您可以通过以下方法获得类似效果:

data.hist(bins=[500, 1000, 1500, 2000, 2500])

相关问题 更多 >

    热门问题