【问题标题】:Plotting each Pandas Dataframe row as a separate plot将每个 Pandas Dataframe 行绘制为单独的图
【发布时间】:2019-05-12 13:39:41
【问题描述】:

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

这是为 Jupyter Notebook 准备的。我曾尝试直接读取 CSV 文件,但发现 pandas 更容易使用。但是,我只是从数据框中提取我的 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 数组吗?不使用 pandas 直接读取 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 个位置,某种循环是理想的。我也阅读了 pandas 的强大功能,并想了解更多信息,以便获得使用它的经验,所以我更愿意坚持使用 pandas,但如果没有,任何帮助或指导将不胜感激。

【问题讨论】:

  • 您可以转置和绘图,例如df.T.plot().
  • 糟糕线程错误!

标签: python pandas numpy matplotlib


【解决方案1】:

你可以在绘图时转置:

df.T.plot()

或者当使用切片跳过第一列时:

df[1:].T.plot()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-11
    • 2014-04-24
    • 2018-03-31
    • 2015-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多