首页 > 解决方案 > 从数据框中按行绘制分类数据

问题描述

我有一些显示机器性能的数据。其中一列用于当它制造的管道未通过特定质量检查导致机器自动切割管道时。根据机器和它的设置方式,这种情况大约发生在 1% 的时间,我正在尝试绘制一个显示故障率与时间的关系图 - 我的理论是,某些工具使用的时间越长,他们产生更多的失败。

这是机器每 24 小时生成的 excel 文件的示例。

数据片段

“剪切事件”列是我感兴趣的。在剪辑中,“/”符号表示没有进行剪切,当进行剪切时,该列中的单元格将显示“速度”、“椭圆形”或“厚度”作为一个原因(德语)。我想做的是通过一个数据框,只捕获失败的行,即不是正斜杠。

这是我通过阅读 SO 和其他教程获得的信息。机器“说”德语顺便说一句,因此更长的单词,

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

#fig = plt.gcf()

df = pd.read_excel("W03 tool with cuts and dates.xlsx",
                   dtype=object)


df = df[['Time','Cut_Event']]
df['Cut_Event'].loc[df['Cut_Event'] == 'Geschwindigkeitsschwankung'] = 'Speed Cut Event'
df['Cut_Event'].loc[df['Cut_Event'] == 'Kugelfehler'] = 'Kugel Cut Event'
df['Cut_Event'].loc[df['Cut_Event'] == '/'] = 'No Cut Event'

print (df)

我坚持的是传递这些事件以进行绘制。到目前为止,我学到的 python 是关于在数字数据框的特定列中绘制所有内容,而不仅仅是分类数据的特定事件,因此我得到了错误。我尝试了seaborn,但一无所获。

真诚感谢所有帮助。

编辑:添加数据集

Datum    WKZ_code    Time        Rad_t1   Not Important   Cut_Event
10 Sep  W03          00:00:00    100           250           /
10 Sep  W03          00:00:01    100           250           /
10 Sep  W03          00:00:02    100           250           /
10 Sep  W03          00:00:03    100           250           /
10 Sep  W03          00:00:04    100           250           /
10 Sep  W03          00:00:00    100           250           Speed Cut

标签: pythonpandasmatplotlibseaborncategorical-data

解决方案


推荐阅读