python - 使用 pandas 和 matplotlib 来自 csv 文件的图表
问题描述
我在列表中有字典形式的数据,从 csv 文件生成。
df = [{'Line Number': 11, 'Report Hour': 6, 'Kits Completed': 34}, {'Line Number': 11, 'Report Hour': 7, 'Kits Completed': 55}, {'Line Number': 12, 'Report Hour': 6, 'Kits Completed': 67}, {'Line Number': 12, 'Report Hour': 7, 'Kits Completed': 56}, {'Line Number': 14, 'Report Hour': 6, 'Kits Completed': 0}, {'Line Number': 14, 'Report Hour': 7, 'Kits Completed': 0}, {'Line Number': 15, 'Report Hour': 6, 'Kits Completed': 123}, {'Line Number': 15, 'Report Hour': 7, 'Kits Completed': 97
为了达到上面显示的结果,我使用了以下代码:
df = df.to_dict('records')
我感兴趣的是得到结果:第 11 行:x (axis) o'clock, y (axis) of boxes。第 15 行:做了 x(轴)点,y(轴)的盒子。
然后在同一张图上,放置第 14、15 行的结果,以此类推。效果应该类似于下图:
我会很感激帮助:)
解决方案
您可能不应该将 pandas 数据框转换为字典,使用 pandas 进行绘图要容易得多:
df = [{'Line Number': 11, 'Report Hour': 6, 'Kits Completed': 34}, {'Line Number': 11, 'Report Hour': 7, 'Kits Completed': 55}, {'Line Number': 12, 'Report Hour': 6, 'Kits Completed': 67}, {'Line Number': 12, 'Report Hour': 7, 'Kits Completed': 56}, {'Line Number': 14, 'Report Hour': 6, 'Kits Completed': 0}, {'Line Number': 14, 'Report Hour': 7, 'Kits Completed': 0}, {'Line Number': 15, 'Report Hour': 6, 'Kits Completed': 123}, {'Line Number': 15, 'Report Hour': 7, 'Kits Completed': 97}]
df = pd.DataFrame(df)
table = df.pivot(index='Report Hour', columns='Line Number', values = 'Kits Completed')
table.plot.bar()
给出:
推荐阅读
- reactjs - 如何在泛型函数中获取接口键类型?
- javascript - 将特定元素的 SetState 从 false 变为 true
- clojure - 使用许多取决于上下文的谓词简化过滤子句
- javascript - 打字稿错误:使用 React JS 时从 RGBA 创建 Alpha 作为输入,而不是字符串?
- javascript - Javascript 检查对象数组中的所有值是否为空
- postgresql - 选择哪个 postgis 扩展?
- tizen - 自定义 genlist 中的 1text 项 - 并接收突出显示的信号
- pyinstaller - pyinstaller - 如何获取随机生成的临时文件夹的名称?
- c# - .NET Core 3 与 MVC Razor - 更改日期格式
- express - 带有快速车把的 webpack