CSV全文按照不固定数量的空格拆分,拆分后有50列,把所有标题字段以"a","bb","ccc"结尾的分类,剩余所有的为一组,把这4个折线图画在一张纸上
时间: 2023-07-06 08:27:12 浏览: 83
好的,请参考以下代码实现:
```python
import csv
import matplotlib.pyplot as plt
import pandas as pd
# 读取 CSV 文件并按照空格拆分为各个字段
with open('your_csv_file.csv', 'r') as f:
reader = csv.reader(f)
rows = [row for row in reader]
# 将拆分后的数据转换成 Pandas 的 DataFrame
df = pd.DataFrame(rows)
# 筛选出所有以"a", "bb", "ccc"结尾的标题字段
a_df = df.filter(regex='a$', axis=1)
bb_df = df.filter(regex='bb$', axis=1)
ccc_df = df.filter(regex='ccc$', axis=1)
# 将剩余的所有字段作为一组
other_df = df.drop(a_df.columns, axis=1).drop(bb_df.columns, axis=1).drop(ccc_df.columns, axis=1)
# 绘制折线图
fig, ax = plt.subplots()
a_df.plot(ax=ax)
bb_df.plot(ax=ax)
ccc_df.plot(ax=ax)
other_df.plot(ax=ax)
plt.legend(['a', 'bb', 'ccc', 'other'])
plt.show()
```
上述代码首先使用 csv 模块读取 CSV 文件并拆分成各个字段,然后使用 Pandas 的 DataFrame 将拆分后的数据存储起来。接着,使用 Pandas 的 filter() 函数筛选出所有以"a", "bb", "ccc"结尾的标题字段,并将剩余的字段作为一组。最后,使用 Matplotlib 库绘制折线图,并使用 legend() 函数添加图例。
阅读全文