我正在编写一个名为series_from_counts(count_dict)
的函数:
以字典对象形式输入前一个函数返回值的格式作为输入
创建并返回名为Count
索引是字母
还使用seaborn.barplot为每个字母绘制一个带条形图的条形图
并使用下面给出的两行:
sns.barplot() # fill in the parentheses
plt.show() # do not change
我的代码是:
def series_from_counts(count_dict):
dictionary = count_dict
data = dictionary
names = list(data.keys())
values = list(data.values())
Count = pd.Series(data, index=keys)
index = pd.set_index('letter')
sns.barplot(range(len(data)),values,tick_label=names))
plt.show() # do not change
我需要在代码中更改以生成正确的条形图,该条形图将字典作为输入并返回一个系列,其中字典中的字母是索引,而计数(整数)存储在系列中。系列被重命名为“Count”,其中该函数生成一个条形图,显示每个字母的计数,并生成一个垂直方向的图形,标题为“逐字逐字”。
预期输出如下:
例如,如果输入字典是:
{'g': 3, 'c': 1, 'f': 1}
输出系列将是:
c1
f1
g3
Name: Count, dtype: int64
答案 0 :(得分:1)
让我试着重新陈述你的问题:
你有一个字典,字母为键,整数为值。您想要生成一个条形图,其中字典键是标签,字典值是条形的高度。
如果那是对的,以下将做你想做的事:
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
d = {'g': 3, 'c': 1, 'f': 1}
s = pd.Series(d)
sns.barplot(s.index, s.values).set_title('Word count by letter')
plt.show()