python - 如何将数据框转换为字典变量并从中制作条形图
问题描述
我需要将数据框查询转换为字典变量,但它将状态和出现次数保存为一个变量。我需要将它们分开,以便从中绘制条形图我做错了吗?
用于 dict 的数据框代码
df = pd.DataFrame(data_dict)
df = df['xyz'].value_counts().to_frame()
df.to_dict('dict')
print (dict)
我想用来绘制条形图的代码
data = (dict)
names = list(data.keys())
values = list(data.values())
plt.bar(range(len(data)),values,tick_label=names)
plt.show()
解决方案
dictionary
在我看来,没有必要转换回,Series.plot.bar
而是使用:
df = pd.DataFrame(data_dict)
s = df['STATE'].value_counts()
s.plot.bar()
解决方案pyplot.bar
:
plt.bar(range(len(s)),s,tick_label=s.index)
编辑:你真的很接近,只删除to_frame
转换Series
为dict
:
df = pd.DataFrame(data_dict)
s = df['STATE'].value_counts()
data = s.to_dict()
names = list(data.keys())
values = list(data.values())
plt.bar(range(len(data)),values,tick_label=names)
plt.show()
STATE
如果想在转换为之前使用一列 DataFrame 添加dict
:
df = df['STATE'].value_counts().to_frame()
#select column `STATE`
data = df['STATE'].to_dict('dict')
names = list(data.keys())
values = list(data.values())
plt.bar(range(len(data)),values,tick_label=names)
plt.show()
推荐阅读
- spring - 引起:java.lang.ClassNotFoundException:org.springframework.boot.actuate.health.StatusAggregator
- symfony - Symfony 3.1 作曲家冲突
- flutter - 如何拥有一个列表视图,其子项将包含在 Flutter 中
- python - Pandas/jsonl:如何在包含多个字符串的字符串中添加换行符?
- javascript - React Native 需要手动刷新 ctrl+s 才能显示数据
- authentication - 客户端私钥设置为客户端证书身份验证的一部分
- reactjs - 为什么我在新的 React 应用程序上得到一个白色/空白页面?
- c++ - 使用向量时 [] 运算符的问题
- javascript - 空格后的数字不会在 jquery 中发送
- node.js - 如何在 linux 上安装 nodejs 和 npm 并拥有一个工作的 semver 模块