簡體   English   中英

pandas 多個 dataframe plot

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM