python基于csv文件用不同颜色将两列数据挑选行画直方图并以元组值为y值,行号为x值
时间: 2023-06-14 10:07:34 浏览: 185
可以使用`pandas`和`matplotlib`库来实现这个需求,具体步骤如下:
1. 使用`pandas`库读取 csv 文件,将文件中需要的两列数据读取出来。
2. 对这两列数据进行筛选,将符合条件的行挑选出来。
3. 对挑选出来的行进行分组,统计每组的数量。
4. 使用`matplotlib`库画直方图,并将每组的数量作为 y 值,行号作为 x 值。
代码示例:
```python
import pandas as pd
import matplotlib.pyplot as plt
# 读取 csv 文件
df = pd.read_csv('data.csv')
# 挑选需要的两列数据
col1 = df['col1']
col2 = df['col2']
# 筛选符合条件的行
selected_rows = df[(col1 > 10) & (col2 < 20)]
# 对挑选出来的行进行分组,统计每组数量
grouped = selected_rows.groupby(selected_rows.index)
counts = grouped.size()
# 画直方图
plt.bar(counts.index, counts.values, color='green')
# 设置 x 轴和 y 轴标签
plt.xlabel('Row number')
plt.ylabel('Count')
# 显示图像
plt.show()
```
其中,`col1`和`col2`分别表示 csv 文件中的两列数据,可以根据实际情况进行修改。`selected_rows`是挑选出来的符合条件的行,这里使用了条件筛选的方法,可以根据实际需求进行修改。`grouped`是对挑选出来的行进行分组,`counts`是每组的数量。最后使用`plt.bar()`函数画出直方图,并设置 x 轴和 y 轴的标签。
阅读全文