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