1. 程式人生 > >Python中的相關分析correlation analysis

Python中的相關分析correlation analysis

相關分析(correlation analysis)

研究兩個或兩個以上隨機變數之間相互依存關係的方向和密切程度的方法。
線性相關關係主要採用皮爾遜(Pearson)相關係數r來度量連續變數之間線性相關強度;
r>0,線性正相關;r<0,線性負相關;
r=0,兩個變數之間不存線上性關係,並不代表兩個變數之間不存在任何關係。


相關分析函式
DataFrame.corr()
Series.corr(other)

函式說明:
如果由資料框呼叫corr函式,那麼將會計算每個列兩兩之間的相似度
如果由序列呼叫corr方法,那麼只是該序列與傳入的序列之間的相關度

返回值:
DataFrame呼叫;返回DataFrame

Series呼叫:返回一個數值型,大小為相關度

import numpy
import pandas

data = pandas.read_csv(
    'C:/Users/ZL/Desktop/Python/5.4/data.csv'
)

bins = [
    min(data.年齡)-1, 20, 30, 40, max(data.年齡)+1
]
labels = [
    '20歲以及以下', '21歲到30歲', '31歲到40歲', '41歲以上'
]

data['年齡分層'] = pandas.cut(
    data.年齡, 
    bins, 
    labels=labels
)

ptResult = data.pivot_table(
    values=['年齡'], 
    index=['年齡分層'], 
    columns=['性別'], 
    aggfunc=[numpy.size]
  File "<ipython-input-1-ae921a24967f>", line 25
    aggfunc=[numpy.size]
                        ^
SyntaxError: unexpected EOF while parsing


import numpy
import pandas

data = pandas.read_csv(
    'C:/Users/ZL/Desktop/Python/5.4/data.csv'
)

bins = [
    min(data.年齡)-1, 20, 30, 40, max(data.年齡)+1
]
labels = [
    '20歲以及以下', '21歲到30歲', '31歲到40歲', '41歲以上'
]

data['年齡分層'] = pandas.cut(
    data.年齡, 
    bins, 
    labels=labels
)

ptResult = data.pivot_table(
    values=['年齡'], 
    index=['年齡分層'], 
    columns=['性別'], 
    aggfunc=[numpy.size]
)

ptResult
Out[4]: 
         size       
           年齡       
性別          女      男
年齡分層                
20歲以及以下   111   1950
21歲到30歲  2903  43955
31歲到40歲   735   7994
41歲以上     567    886