python的corr函數(python的corr函數的應用)

本文目錄一覽:

python計算多個數組的相關性

線性相關:主要採用皮爾遜相關係數來度量連續變量之間的線性相關強度;

線性相關係數|r| 相關程度

0=|r|0.3 低度相關

0.3=|r|0.8 中度相關

0.8=|r|1 高度相關

1 函數

相關分析函數:

DataFrame.corr()

Series.corr(other)

說明:

如果由數據框調用corr方法,那麼將會計算每個列兩兩之間的相似度

如果由序列調用corr方法,那麼只是計算該序列與傳入序列之間的相關度

返回值:

dataFrame調用:返回DataFrame

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

2 案例

import pandas

data=pandas.read_csv(‘C:\\Users\\Desktop\\test.csv’)

print(data.corr())

#由數據框調用corr方法,將會計算每個列兩兩之間的相似度,返回的是一個矩形

print(data[‘人口’].corr(data[‘文盲率’]))

#由某一列調用corr方法,只是計算該序列與傳入序列(本例中的’文盲率’)之間的相關度

print(data[‘超市購物率’,’網上購物率’,’文盲率’,’人口’]).corr()

python相關性分析如何生成兩個相關性最強的兩門?

方法/步驟

第一步我們首先需要知道相關性主要有兩個方向,一個是正方向一個是負方向,相關性係數是衡量兩個變量之間影響程度,如下圖所示:

請點擊輸入圖片描述

第二步下面通過公式計算兩個變量之間相關性係數,代碼如下:

import numpy

import pandas

X = [52,19,7,33,2]

Y = [162,61,22,100,6]

#公式計算#均值XMean = numpy.mean(X)

YMean = numpy.mean(Y)

#標準差XSD = numpy.std(X)

YSD = numpy.std(Y)

#z分數ZX = (X-XMean)/XSD

ZY = (Y-YMean)/YSD#相關係數

r = numpy.sum(ZX*ZY)/(len(X))

print(r)

請點擊輸入圖片描述

第三步運行程序,可以得到相關性係數r ,r的值是0.999674032661831,相關性非常高,如下圖所示:

請點擊輸入圖片描述

第四步我們也可以通過numpy的corrcoef方法計算相關性係數,輸入代碼

t=numpy.corrcoef(X,Y)

print(t)

可以看到X與Y和Y與X的相關性係數,如下圖所示:

請點擊輸入圖片描述

請點擊輸入圖片描述

第五步我們也可以通過pandas的corr方法計算相關性係數,代碼

data = pandas.DataFrame({‘X’:X,’Y’:Y})

t2=data.corr()

print(t2)

得到了相同的結果,如下圖所示:

請點擊輸入圖片描述

請點擊輸入圖片描述

python數據分析模塊:numpy、pandas全解

一維數組情況:

二維數組情況:

3參數情況:

2參數情況:

1參數情況:

一維情況:

二維情況:

一維情況:

二維情況:

一維情況:

二維情況:第三個參數指定維度

只查看行數、或者列數

逗號隔開兩個索引

某些行

某些列

可以看出append()函數在二維數組中添加元素,結果轉為了一維數組。

那怎麼保持二維數組呢?可以設置axis參數按行或者按列添加

可以看出先把二維數組降成了一維數組,再在索引為1的位置添加元素。

那麼怎麼保持在二維添加元素呢? 同樣設置axis參數

也分按行和按列刪除

標記缺失值: isnan()函數

補充缺失值:

同樣axis參數可以指定拼接按行還是按列

2. hstack()函數:以水平堆疊的方式拼接數組

3. vstack()函數:以垂直堆疊的方式拼接數組

第二個參數還可以是數組,指定拆分的位置

hsplit()函數:橫向拆成幾個數組

vsplit()函數:縱向拆成幾個數組

數組與數組之間的運算

數組與數值的運算

可以指定整個數組求和,還是按行或者按列

axis=0:每一列的元素求和

axis=1:每一行的元素求和

axis=0:每一列求均值

axis=1:每一行求均值

axis=0:每一列求最大值

axis=1:每一行求最大值

pandas有兩個重要的數據結構對象:Series和DataFrame。

Series是創建一個一維數組對象,會自動生成行標籤。

會自動生成行列標籤

也可以用字典形式生成數據

在用字典生成數據的基礎上,同時指定行標籤

例如對下表的數據進行讀取

4月是第四個表,我們應把sheet_name參數指定為3;因為索引是從0開始的。

可以看出read_excel()函數自動創建了一個DataFrame對象,同時自動把第一行數據當做列標籤。

可以看出不給出header參數時,該參數默認為0。

header=1時結果如下:

header=None時結果如下:

index_col=0時,第0列為列標籤

index_col=0時

usecols=[2]:指定第二列

指定多列

數據如下:

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-j1SHxY8y-1637655972909)(C:Users14051AppDataRoamingTypora ypora-user-imagesimage-20211114192949607.png)]

nrows=3時

head()函數中參數為空默認前5行

指定head(3)時如下

numpy模塊也是shape

查看特定列的書庫類型

特定列數據類型轉換

先查看一下所有數據

與單行相比,結果顯示的格式不一樣了

iloc()挑選:

或者給出區間

挑選數據要麼標籤,要麼索引挑選

或者

或者寫成區間

標籤挑選

或者索引挑選

先查看一下數據

或者用字典一對一修改

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-a6QKIoie-1637655972912)(C:Users14051AppDataRoamingTypora ypora-user-imagesimage-20211123110431201.png)]

isin()函數查看錶中是否有該值

查看特定列是否有該值

可以看出上述代碼並沒有替換,那怎麼替換呢?

末尾插入一列

指定插入到哪列

axis參數可以指定刪除行還是刪除列

指定標籤刪除

指定索引刪除

方法三

指定行標籤刪除

指定索引刪除

方法三:

先查看所有數據

info()函數查看數據類型,還可以查看是否有缺失值

isnull()函數查看是否有缺失值

在numpy模塊中用isnan()函數

刪除有缺失值的行

刪除整行都為缺失值的行: 需要指定how參數

不同列的缺失值設置不同的填充值

默認保留第一個重複值所在的行,刪除其他重複值所在的行

保留第一個重複值所在的行

保留最後一個重複值所在的行

是重複的就刪除

降序如下

參數指定first時,表示在數據有重複值時,越先出現的數據排名越靠前

獲取產品為單肩包的行數據

獲取數量60的行數據

獲取產品為單肩包 且 數量60 的行數據

獲取產品為單肩包 或 數量60 的行數據

stack()函數轉換成樹形結構

how參數指定外連接

on參數指定按哪一列合併

concat()函數採用 全連接 的方式,沒有的數設置為缺失值

重置行標籤

效果與concat()一樣

末尾添加行元素

指定列求和

指定列求均值

指定列求最值

獲取單列的

corr()函數獲取相關係數

獲取指定列與其他列的相關係數

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-46g9qgQw-1637655972913)(C:Users14051AppDataRoamingTypora ypora-user-imagesimage-20211123135643804.png)]

groupby()函數返回的是一個DataFrameBy對象,該對象包含分組後的數據,但是不能直觀地顯示出來。

分組後獲取指定列的匯總情況

獲取多列的匯總情況

獲取多列的情況

ta = pd.read_excel(‘相關性分析.xlsx’)

print(data)

corr()函數獲取相關係數

獲取指定列與其他列的相關係數

[外鏈圖片轉存中…(img-46g9qgQw-1637655972913)]

groupby()函數返回的是一個DataFrameBy對象,該對象包含分組後的數據,但是不能直觀地顯示出來。

分組後獲取指定列的匯總情況

獲取多列的匯總情況

獲取多列的情況

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/278923.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-20 15:02
下一篇 2024-12-20 15:02

相關推薦

  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智能、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • 蝴蝶優化算法Python版

    蝴蝶優化算法是一種基於仿生學的優化算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化算法Python版…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29

發表回復

登錄後才能評論