[英]pandas multiple dataframe plot
我有兩個數據框。 它們具有相同的結構,但來自兩個不同的 model。 基本上,我想比較它們以找出差異。 我想做的第一件事是 plot 兩行,第一行來自第一個數據幀,第二行來自另一個。
這就是我所做的:我閱讀了兩個 csv 文件,
PRICES = pd.read_csv('test_model_1.csv',sep=';',index_col=0, header = 0)
PRICES_B = pd.read_csv('bench_mark.csv',sep=';',index_col=0, header = 0)
然后我 plot 兩者的第 8 列,如:
rowM = PRICES.iloc[8]
rowB = PRICES_B.iloc[8]
rowM.plot()
rowB.plot()
這似乎不是正確的方法。 確實,我無法選擇標簽或圖例。
結果如下:第一個 dataframe 的第 8 行和第二個 dataframe 的第 8 行之間的比較
有人可以建議我比較兩個數據框和 plot 某些選定列的正確方法嗎?
讓我們准備一些測試數據:
mtx1 = np.random.rand(10,8)*1.1+2
mtx2 = np.random.rand(10,8)+2
df1 = pd.DataFrame(mtx1)
df2 = pd.DataFrame(mtx2)
df1 的示例 output:
Out[60]:
0 1 2 3
0 2.604748 2.233979 2.575730 2.491230
1 3.005079 2.984622 2.745642 2.082218
2 2.577554 3.001736 2.560687 2.838092
3 2.342114 2.435438 2.449978 2.984128
4 2.416953 2.124780 2.476963 2.766410
5 2.468492 2.662972 2.975939 3.026482
6 2.738153 3.024694 2.916784 2.988288
7 2.082538 3.030582 2.959201 2.438686
8 2.917811 2.798586 2.648060 2.991314
9 2.133571 2.162194 2.085843 2.927913
現在讓我們 plot 吧:
import matplotlib.pyplot as plt
%matplotlib inline
i = range(0,len(df1.loc[6,:])) # from 0 to 3
plt.plot(i,df1.loc[6,:]) # take whole row 6
plt.plot(i,df2.loc[6,:]) # take whole row 6
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.