簡體   English   中英

如何找到float64中一列和另一列是對象(字符串)的兩列pandas數據幀之間的相關性

[英]How to find correlation between two columns of pandas dataframe of one column in float64 and other column is object(string)

就我而言,它介於天空條件和能見度之間

Skycondition visibility
 CLR.                 10SM
SCT103.              7SM

由於您有一個名義變量,因此您實際上無法計算相關性本身。 但是,您可以了解變量之間關系強度的一種方法是為它們定義虛擬變量並執行一系列多元線性回歸。 例如,假設您的數據位於名為data的數據幀中,為了清楚起見,我對其進行了略微重新格式化:

       Skycond   Vis
    0      CLR  10SM
    1   SCT103    7S

然后我們生成虛擬變量:

demo = pd.get_dummies(data)

       Skycond_CLR  Skycond_SCT103  vis_10SM    vis_7SM
    0            1               0         1          0
    1            0               1         0          1

最后擬合線性回歸模型。 在這里,我選擇將Skycond_CLR與可見性變量進行比較:

from sklearn.preprocessing import LinearRegression

model.fit(demo[list(demo.columns[2:])],
          demo[demo.columns[0]])

print("Model slope:    ", model.coef_)
print("Model intercept:", model.intercept_)

這使:

Model slope:     [-0.33333333  0.33333333 -0.33333333]
Model intercept: 0.6666666666666666

當然,對於兩個樣本,回歸並沒有告訴你太多。 隨着您添加更多數據,梯度系數將開始指示與所選因變量的某種關系,這可以解釋為相關性的替代。

暫無
暫無

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

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