Python 在x轴上绘制字数,并从df开始在y轴上绘制字数

Python 在x轴上绘制字数,并从df开始在y轴上绘制字数,python,pandas,dataframe,matplotlib,Python,Pandas,Dataframe,Matplotlib,我们的目标是绘制如下图: 我有下面的虚拟df。 请注意,数据=字数=x轴 data = [13,2,2,13,14,5,6,2,2,2,1,1,1,1,1,1,1,1,9,200,12,3,1,1,1,1,1,2,5,4,5,5,6,7,3,2,3,4,6,5,4,7,4,7,4,7,1,1,32,7,9,4,6,2,2,3,2,1,1] my_df = pd.DataFrame(data=data, columns=['number_of_words']) 现在我需要计算y轴,也就是出现的

我们的目标是绘制如下图:

我有下面的虚拟df。 请注意,数据=字数=x轴

data = [13,2,2,13,14,5,6,2,2,2,1,1,1,1,1,1,1,1,9,200,12,3,1,1,1,1,1,2,5,4,5,5,6,7,3,2,3,4,6,5,4,7,4,7,4,7,1,1,32,7,9,4,6,2,2,3,2,1,1]
my_df = pd.DataFrame(data=data, columns=['number_of_words'])
现在我需要计算y轴,也就是出现的单词数。例如,单词数=1的频率是多少,单词数=9的频率是多少等等。。。 我是这样做的:

data = my_df['number_of_words'].value_counts()
然后我用它创建了一个新的df:

df_occurrences = pd.DataFrame(data=data)
df_occurrences.rename(columns={"number_of_words": "occurrences"}, inplace=True)
现在我想合并它们,但它们的长度不同,因为
my_df
包含重复项

my_df.drop_duplicates(subset ="number_of_words", keep=False, inplace=True)
因此,我删除了副本

my_df.drop_duplicates(subset ="number_of_words", keep=False, inplace=True)
my_df
df_出现次数
现在具有不同的长度,我无法再合并和打印它们


知道哪里出了问题吗?

正如用户BigBen在对原始问题帖子的评论中所写的那样,
my_df.value\u counts().sort\u index().plot()
是我所需要做的一切。Quang Hoang和keithpjolley在同一评论部分提到的其他方法也有效。

我使用了集合和计数方法。循环遍历集合(数据)和计数方法计算列表中某项的出现次数。我使用排序函数。b是零项,c是嵌套列表中的第一项。图中b为x轴,c为y轴

d = sorted([[x,data.count(x)] for x in set(data)])
b = []
c = []
for i,j in d:
   b.append(i)
   c.append(j)
plt.plot(b,c)

df['ocations']=df['number'u of'u words']].map(df['number'u of'u words'].value\u counts())
。你真的在寻找类似于
my'u df.value\u counts().sort\u index().plot()
[{“number'u of'u words”:v,“ocations”:data.count(v)}对于集合中的v(data)]
@BigBen噢,我没有想到,谢谢。