使用python 读取csv,对其故障机组列的内容进行统计,统计该内容,在C01到C16,B01到B16,中出现的次数,画出柱状图和饼图
时间: 2024-12-28 16:36:47 浏览: 12
在Python中,我们可以使用pandas库来读取CSV文件并进行数据分析。首先,我们需要导入必要的库,如pandas、matplotlib(用于绘制图形)和numpy。
1. **读取CSV文件**:
```python
import pandas as pd
# 读取CSV文件
data = pd.read_csv('filename.csv')
```
请替换`filename.csv`为实际的CSV文件名。
2. **故障机组列统计**:
假设故障机组列名为`faulty_units`,我们对C01到C16和B01到B16进行分组计数:
```python
c_range = list(range(1, 17))
b_range = list(range(1, 17))
counts = data['faulty_units'].str.extract(r'(C\d|B\d)', expand=False).value_counts()
grouped_counts = counts.reindex(pd.Index(c_range + b_range)).fillna(0)
```
这里我们使用正则表达式提取字母和数字组合,并合并C和B系列的数据。
3. **柱状图(Bar Chart)**:
```python
import matplotlib.pyplot as plt
fig, axs = plt.subplots(nrows=2, ncols=1, sharex=True)
axs[0].bar(counts.index, grouped_counts.values)
axs[0].set_title('Faulty Units Count by Range (Bar Chart)')
axs[0].set_ylabel('Count')
# 饼图(Pie Chart)
axs[1].pie(grouped_counts.values, labels=counts.index, autopct='%1.1f%%')
axs[1].set_title('Faulty Units Percentage (Pie Chart)')
plt.tight_layout()
plt.show()
```
这将分别生成一个柱状图展示每一段故障机组的计数值,以及一个饼图显示各部分占总数量的比例。
阅读全文