我是python的新手,请尝试了解如何执行以下操作:
我正在尝试从csv文件中绘制数据,在该文件中我具有B的A值和C的值。如何将其分组并基于“值组”和使用列值作为值绘制?
import pandas as pd
import matplotlib.pyplot as plt
csv_loader = pd.read_csv('C:/Test.csv', encoding='cp1252', sep=';', index_col=0).dropna()
#csv_loader.plot()
print(csv_loader)
fig, ax = plt.subplots()
csv_loader.groupby('Valuegroup').plot(x='Date', y='Value', ax=ax, legend=False, kind='line')
数据如下:
Calcgroup;Valuegroup;id;Date;Value
Group1;A;1;20080103;0.1
Group1;A;1;20080104;0.3
Group1;A;1;20080107;0.5
Group1;A;1;20080108;0.9
Group1;B;1;20080103;0.5
Group1;B;1;20080104;1.3
Group1;B;1;20080107;2.0
Group1;B;1;20080108;0.15
Group1;C;1;20080103;1.9
Group1;C;1;20080104;2.1
Group1;C;1;20080107;2.9
Group1;C;1;20080108;0.45
答案 0 :(得分:2)
如果您想为每个Value
取平均值Valuegroup
并用折线图显示它们,请使用
csv_loader.groupby('Valuegroup')['Value'].mean().plot()
有多种图表类型可用,请参阅pandas documentation on plot