我有如下資料框。我發現“host1”和“host2”之間的皮爾遜相關性。
Print(df)
Server Timestamp Value
host1 12/20/2021 12:53 83.73
host1 12/20/2021 12:54 55.32
host1 12/20/2021 12:56 76.52
host1 12/20/2021 12:57 7.57
host1 12/20/2021 12:58 81.59
host1 12/20/2021 13:00 5.72
host1 12/20/2021 13:01 26.33
host2 12/20/2021 12:53 82.41
host2 12/20/2021 12:54 65.8
host2 12/20/2021 12:56 71.64
host2 12/20/2021 12:57 39.45
host2 12/20/2021 12:58 8.37
host2 12/20/2021 13:00 82.89
host2 12/20/2021 13:01 15.54
創建 df1 和 df2 資料幀以分隔欄位并檢查兩個資料幀之間的相關性。
df1=df.loc[0:6, ['Value']]
df2=df.loc[7:14, ['Value']]
df1.corr(df2)
Error-
ValueError: The truth value of a DataFrame is ambiguous. Use a.empty,
a.bool(), a.item(), a.any() or a.all().
預期輸出-
Relationship matrix
host1 host2
host1 1 0.5
host2 0.5 1
uj5u.com熱心網友回復:
您可以先旋轉資料框以使用“host1”和“host2”值創建兩列,然后使用corr()以下方法計算相關性:
df.pivot(columns='Server', values='Value')\
.apply(lambda r: r.dropna()\
.reset_index(drop=True)).corr()
Server host1 host2
Server
host1 1.00000 0.04225
host2 0.04225 1.00000
uj5u.com熱心網友回復:
對您的代碼進行以下更改,您將很高興:
df1=df.loc[0:6, 'Value']
df2=df.loc[7:14, 'Value']
df1.corr(df2)
uj5u.com熱心網友回復:
df1=df[0:6]
df2=df[7:14]
data=[df1.Value , df2.Value]
labels = ["host1","host2"]
df3 = pd.concat(data, axis=1,keys=headers)
df4=df3.corr(method='pearson', min_periods=1)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/387635.html
上一篇:從嵌套字典串列生成excel檔案
下一篇:DataFrame對列的劃分
