将每个Pandas Dataframe行绘制为单独的图

时间:2019-05-12 03:59:47

标签: python pandas numpy matplotlib

我在CSV文件中存储了几行数据。我想遍历每一行并将每一行绘制为单独的图。经过一些研究,看起来熊猫将是解决此问题的方法。

这是针对Jupyter Notebook的。我尝试直接读取CSV文件,但发现熊猫更容易使用。但是,我只是从数据框中提取我的y值。我用我的x值定义了一个单独的numpy数组。

例如,我有:

 x_values = np.array([1, 2, 3, 4, 5, 6, 7, 8])
 my_data = pd.read_csv('example_data.csv') 

在我的数据中,我将第一列列为“位置”,范围为1到20英里。之后,我有8列填充了值。我想遍历每一行,可以为每个位置创建一个图形。因为我正在使用子图,所以我需要将迭代转换为numpy数组吗?不使用熊猫就读入CSV文件会更好吗?

 fig, ax1 = plt.subplots(1,1, figsize=(4,3))
 ax1.plot (x_values, my_data) # would like this to loop for each row

我可以切片数据框并手动创建图形,但是有20个位置,某种形式的循环是理想的。我还阅读了熊猫的功能,并想学习更多,以便获得使用熊猫的经验,所以我更愿意坚持使用熊猫,但是如果没有,任何帮助或指导都将不胜感激。

1 个答案:

答案 0 :(得分:1)

您可以在绘图时转置:

df.T.plot()

或者跳过带有切片的第一列:

df[1:].T.plot()