我有一个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])
由于我有一个类型为“系列”的数据框,我希望使用
df.plot
plt.plot()
将是解决方案,但它不会绘制任何内容。你知道我做错了吗?
答案 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()
上面的代码将两个图添加到我的图中