使用python 读取csv,对其故障机组列的内容进行统计,统计内容重复的次数,画出柱状图和饼图
时间: 2024-12-28 10:36:57 浏览: 10
在Python中,你可以使用pandas库来处理CSV文件并进行数据分析。首先,你需要导入必要的模块:
```python
import pandas as pd
import matplotlib.pyplot as plt
```
然后,按照以下步骤操作:
1. **读取CSV数据**:
```python
data = pd.read_csv('your_file.csv') # 替换 'your_file.csv' 为你实际的文件名
```
2. **统计故障机组列的重复次数**:
```python
duplicates = data['故障机组'].duplicated() # '故障机组' 是你的列名,如果不同则替换
counts = duplicates.value_counts() # 统计重复次数
```
3. **计算非重复值和总值**:
```python
unique_count = ~duplicates.sum()
total_rows = len(data)
```
4. **画出柱状图**:
```python
fig, ax1 = plt.subplots()
ax1.bar(counts.index, counts.values, label='重复次数')
ax1.set_xlabel('故障机组')
ax1.set_ylabel('次数')
ax1.legend()
non_unique_count_series = pd.Series([unique_count], index=['非重复值'])
ax2 = ax1.twinx() # 创建第二个坐标轴
non_unique_count_series.plot(kind='bar', color='r', alpha=0.5, ax=ax2)
ax2.set_ylabel('非重复值')
plt.show()
```
5. **画出饼图**:
```python
def plot_pie(total_rows):
labels = ['重复', '非重复']
sizes = [counts.sum(), unique_count]
colors = ['#393B79', '#FFA500'] # 选择颜色
plt.pie(sizes, labels=labels, autopct='%1.1f%%', startangle=140, colors=colors)
plt.title('故障机组重复情况占比')
plt.axis('equal') # 确保饼图圆形
plt.show()
plot_pie(total_rows)
```
记得将上述代码中的 `'your_file.csv'` 和列名替换为你实际的数据文件和列标题。
阅读全文