【问题标题】:Plotting each dataframe row separately (on separate plots) using for loop使用 for 循环分别绘制每个数据帧行(在单独的图上)
【发布时间】:2018-12-13 21:04:30
【问题描述】:

我一直在尝试使用 for 循环绘制 265 行数据帧的每一行。但是,代码所做的只是将所有 265 行绘制在一个图形中,而不是我的目标是 265 个单独的图形。以下是我的代码:

for q in range(265):
    print('This is for row',q)
    row = dataframe.iloc[q].plot()
    row.plot()

【问题讨论】:

    标签: python pandas matplotlib


    【解决方案1】:

    每次调用 plot() 都会简单地将另一位艺术家添加到当前打开的绘图中。如果你想单独保存你的图,你的循环应该打开一个新图,在其中绘制()图,保存它,然后为数据框中的每一行关闭它。

    说到这一点 - DataFrames 有一个 iterrows 方法,它可以让您直接访问每一行,这样您就不必在循环的每次迭代中按索引定位。

    【讨论】:

      【解决方案2】:
      import matplotlib.pyplot as plt
      import pandas as pd
      dataframe = pd.DataFrame(np.random.randint(0,10,size=(10, 4)), columns=range(4))
      for q in range(dataframe.shape[0]):
          print('This is for row',q)
          plt.figure(figsize=(5,5))
          plt.plot(dataframe.iloc[q,:])
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-08-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-08
        相关资源
        最近更新 更多