使用python 读取csv,对其故障机组列的故障机组名称进行频次统计,并绘制故障机组柱状图和饼图
时间: 2024-12-28 10:41:22 浏览: 9
在Python中,我们可以使用pandas库来读取CSV文件,然后对特定列(例如故障机组列)进行计数分析,最后通过matplotlib库生成柱状图和饼图来展示频次统计结果。以下是一个简单的步骤说明:
1. 首先,导入所需的库:
```python
import pandas as pd
import matplotlib.pyplot as plt
```
2. 使用pandas的`read_csv`函数读取CSV文件:
```python
data = pd.read_csv('your_file.csv') # 将'your_file.csv'替换为实际文件路径
```
3. 确定故障机组列的名称,假设为'faulty_units':
```python
faulty_units_column = 'faulty_units'
```
4. 使用`value_counts`计算故障机组的频次:
```python
frequency_counts = data[faulty_units_column].value_counts()
```
5. 创建柱状图和饼图:
```python
# 柱状图
plt.figure(figsize=(10, 6)) # 设置图形尺寸
frequency_counts.plot(kind='bar', title='故障机组频次柱状图')
# 饼图
plt.figure(figsize=(8, 8), subplot_kw={'aspect': 'equal'}) # 保持饼图圆形
plt.pie(frequency_counts.values, labels=frequency_counts.index, autopct='%1.1f%%', title='故障机组百分比饼图')
```
6. 显示图表:
```python
plt.show()
```
完整代码示例:
```python
import pandas as pd
import matplotlib.pyplot as plt
# 读取CSV文件
data = pd.read_csv('your_file.csv')
# 故障机组列名
faulty_units_column = 'faulty_units'
# 计算频次
frequency_counts = data[faulty_units_column].value_counts()
# 绘制柱状图和饼图
plt.figure(figsize=(10, 6))
frequency_counts.plot(kind='bar', title='故障机组频次柱状图')
plt.figure(figsize=(8, 8), subplot_kw={'aspect': 'equal'})
plt.pie(frequency_counts.values, labels=frequency_counts.index, autopct='%1.1f%%', title='故障机组百分比饼图')
plt.show()
```
别忘了替换`your_file.csv`为您实际的CSV文件路径。运行这段代码后,它会显示故障机组的频次分布情况。
阅读全文