首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何将“是”和“否”之和成一个总数,使用matplotlib、熊猫、从CSV导入的python绘制一个图。

如何将“是”和“否”之和成一个总数,使用matplotlib、熊猫、从CSV导入的python绘制一个图。
EN

Stack Overflow用户
提问于 2019-09-16 21:20:00
回答 2查看 3.2K关注 0票数 0

M [][1]

问题1)一般来说,我对python和编码都很陌生。我想从CSV获取我的数据,CSV有一列标有“美国OSHA可记录?”。在那一栏中,每一个答案都是“是”或“否”。我想显示一个plot.bar,显示"23是的“和"7的不”。本质上,将“是”和“否”的总和相加在列中,然后在1张干净的条形图中显示总数。它将显示两个条形图,在两个条形图的上方都有总数……问题是,条形图现在在X轴上有一行,每一行大约27次地说“不,是,不,是的,不”。我希望用户能够轻松地看到一个条形图,它的顶部只有两个条形图,总显示在像这张图像的顶部。

这是我的代码,我不知道我需要在列中总结是和否。

代码语言:javascript
运行
AI代码解释
复制
import pandas as pd # powerful data visualization library
import numpy as np
import matplotlib.pyplot as plt # allows us to plot things
import csv # allows us to import and use CSV commands which are simple but effective


data = pd.read_csv(r'C:\Users\rmond\Downloads\PS_csvFile.csv', encoding="ISO-8859-1", skiprows=6) #skiprows allows you to skip the comments on top... & ecoding allows pandas to work on this CSV
data.head() # this will give the first row that you want it to read the header
data.plot.bar(x='U.S. OSHA Recordable?') #creates a plot in pandas
plt.show() # shows the plot to the user
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-09-16 21:23:42

代码语言:javascript
运行
AI代码解释
复制
df['Val'].value_counts().plot(kind='bar')

这里,Val是包含“是”和“否”的列的名称。

票数 3
EN

Stack Overflow用户

发布于 2019-09-17 00:14:25

代码语言:javascript
运行
AI代码解释
复制
import pandas as pd # powerful data visualization library
import numpy as np
import matplotlib.pyplot as plt # allows us to plot things
import csv # allows us to import and use CSV commands which are simple but effective
import seaborn as sns # it counts everything for you and outputs it exactly like I want
# This website saved my life https://www.pythonforengineers.com/introduction-to-pandas/
# use this to check the available styles: plt.style.available


data = pd.read_csv(r'C:\Users\rmond\Downloads\PS_csvFile.csv', encoding="ISO-8859-1", skiprows=6) #skiprows allows you to skip the comments on top... & ecoding allows pandas to work on this CSV
sns.set(style="whitegrid")
ax = sns.countplot(x='U.S. OSHA Recordable?', data=data)
plt.show() # shows the plot to the user

所以有趣的是,我发现了“海运”,我安装了它,并给它一次尝试。它应该从URL中提取数据,但是在查看了堆栈溢出的其他几个页面之后,我发现了一个很好的建议。不管怎么说,这件事做得很好,为我做了一切。我对这个解决方案很满意。现在进入下一个问题lol。我希望这对将来的其他人有帮助。

我的图表看起来和SF发布的一模一样。工作很棒

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57967761

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文