簡體   English   中英

不同數據框的列之間的相關性

[英]Correlation between columns of different dataframes

我有很多數據框。 它們都共享相同的列結構"date", "open_position_profit", "more columns..."

    date    open_position_profit col2   col3
0   2008-04-01  -260.0  1   290.0
1   2008-04-02  -340.0  1   -60.0
2   2008-04-03  100.0   1   40.0
3   2008-04-04  180.0   1   -90.0
4   2008-04-05  0.0 0   0.0 0.0 1

盡管所有數據框中都存在"date" ,但是它們可能具有或沒有相同的計數(某些日期可能在一個數據框中,而在另一個數據框中則沒有)。

我想計算所有這些數據"open_position_profit""open_position_profit"列的相關矩陣。

我已經試過了

dfs = [df1[["date", "open_position_profit"]], df2[["date", "open_position_profit"]], ...]
pd.concat(dfs).groupby('date', as_index=False).corr()

但這為我提供了每個單元格的一系列相關性:

                           open_position_profit
0    open_position_profit                   1.0
1    open_position_profit                   1.0
2    open_position_profit                   1.0
3    open_position_profit                   1.0
4    open_position_profit                   NaN

我想要整個時間序列的相關性,而不是每個單元格的相關性。 我怎樣才能做到這一點?

如果我正確理解了您的意圖,則必須先進行外部聯接。 以下代碼按date鍵進行外部聯接。 缺失值可以用NaN表示。

df = pd.merge(df1, df2, on='date', how='outer')
         date  open_position_profit_x  open_position_profit_y  ... ...
0  2019-01-01       ... 
1  2019-01-02       ...
2  2019-01-03       ...
3  2019-01-04       ...

然后,您可以計算與新DataFrame的相關性。

df.corr()
                         open_position_profit_x  open_position_profit_y  ... ...
open_position_profit_x   1.000000                0.866025        
open_position_profit_y   0.866025                1.000000  
...                      1.000000                1.000000  
...                      1.000000                1.000000 

請參閱: pd.merge

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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