如何绘制列中单个元素的频率?

How to plot the frequency of the single elements of my column?

我的程序有点问题。

我有一个如下所示的数据框:


Person     FavMovie
1          Ma Se Fr
2          Ma
3          Se Ma
4          Fr Ma
5          Se

我想计算 Ma、Se 和 Fr 的总频率并绘制条形图。 但是,我不确定该怎么做。 我考虑创建一个列表,然后循环计算我找到特定电影的次数;我是这样开始写代码的:

favmovies_list = dataset['FavMovies'].tolist()
for element in favmovies_list:
        singlemovie = element.strip()
        print(singlemovie)

但这显然不起作用,因为我只是分隔行而不是单部电影。 也许还有另一种更直接的方法,但我是一个真正的初学者,我不确定。 非常感谢您。

d = pd.DataFrame({'Person':[1,2,3,4,5], 'FavMovie': ['Ma Se Fr', 'Ma', 'Se Ma', 'Fr Ma', 'Se']})

lst = d.FavMovie.tolist()

lst = [elem.strip().split() for elem in lst]
lst = [elem for sub_lst in lst for elem in sub_lst]

fig, ax = plt.subplots(1,1)
pd.DataFrame({'freq' : lst}).groupby('freq', as_index=True).size().plot(kind = 'bar', ax=ax)

fig # plot saved in fig