Python:绘制类型系列的熊猫数据帧

时间:2017-09-18 15:17:24

标签: python pandas numpy plot series

我有一个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%肯定,但我认为它包含ndarrays,我会告诉你我的信息:

type(df)
pandas.core.series.Series

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

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

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

One row plotted

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

df.plot
plt.plot()

All rows plotted

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

1 个答案:

答案 0 :(得分: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()

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