【问题标题】:Python: plot panda dataframe of type seriesPython:绘制系列类型的熊猫数据框
【发布时间】:2017-09-18 15:17:23
【问题描述】:

我有一个有 10 行的数据框 (df),看起来像这样

-2.00    [-24.4907, -24.4594, -24.4321, -24.4012, -24.3...
-1.75    [-23.8154, -23.7849, -23.7601, -23.7326, -23.7...
-1.00    [-23.7131, -23.6954, -23.6767, -23.6616, -23.6...
-0.75    [-22.7675, -22.7505, -22.741, -22.7173, -22.70...
-0.50    [-22.0693, -22.0718, -22.0481, -22.0328, -22.0...
 0.50    [-15.8461, -15.8247, -15.7963, -15.7784, -15.7...
 1.00    [-7.32122, -7.27283, -7.2336, -7.19238, -7.153...
 1.25    [-3.44732, -3.37547, -3.30565, -3.23125, -3.15...
 1.75    [0.541327, 0.568081, 0.597821, 0.627494, 0.667...
 2.50    [3.63716, 3.68494, 3.73379, 3.77966, 3.82584, ...
dtype: object

我不是 100% 确定,但我认为它包含 ndarray,我会给你我所拥有的信息:

type(df)
pandas.core.series.Series

whos
df  Series  -2.00    [-24.4907, -24.4<...>82584, ...\ndtype: object

无论如何,我想在一个图中绘制所有这些数组。我可以使用

绘制一个数组
plt.plot(df[1])

因为我有一个“系列”类型的数据框,我希望使用

df.plot
plt.plot()

将是解决方案,但它不会绘制任何内容。你知道我做错了什么吗?

【问题讨论】:

  • 我看到的是神经元动作电位吗?
  • 假设您的数据与答案中指出的一样,试试pd.DataFrame(df['values'].values.tolist(), index=df['id']).plot(subplots=True)?
  • @JonDeaton 哈哈是的 ^^
  • @Zero 我拥有的数据框与我认为的示例中使用的数据框有点不同。而且我不够聪明,无法将您的想法转移到我的数据框中。

标签: python pandas numpy plot series


【解决方案1】:

您必须运行一个 for 循环并使用您想要的数据重复调用 plt.plot()。当您退出 for 循环时,说 plt.show() 并且您的所有绘图都应该添加到同一个图中。这对我有用:

import matplotlib.pyplot as plt
import pandas as pd
import numpy as np

val_list = [np.array([1,2]), np.array([4,3])]
data = {"id": [1,2],
        "values": val_list
       }
df = pd.DataFrame(data)
for i in range(2):
    plt.plot(df.iloc[:, 0], df.iloc[i, 1])
    plt.plot(df.iloc[:, 0], df.iloc[i, 1])
plt.show()

上面的代码将两个图都添加到我的图中

【讨论】:

  • 感谢您的想法!我总是尽量避免使用 for 循环,你认为有没有一种方法可以在没有 for 循环的情况下绘制它?
猜你喜欢
  • 2016-01-07
  • 2022-01-08
  • 2017-06-09
  • 2020-06-03
  • 1970-01-01
  • 1970-01-01
  • 2014-10-24
  • 2020-07-28
  • 1970-01-01
相关资源
最近更新 更多