我是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

最佳答案

如果要为每个Value取平均值Valuegroup并用折线图显示它们,请使用

csv_loader.groupby('Valuegroup')['Value'].mean().plot()


有多种图表类型可用,请参考pandas documentation on plot

关于python - 从CSV绘制数据和列中的组值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51181171/

10-11 06:22