一維數(shù)組情況:
塔河ssl適用于網站、小程序/APP、API接口等需要進行數(shù)據傳輸應用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!
二維數(shù)組情況:
3參數(shù)情況:
2參數(shù)情況:
1參數(shù)情況:
一維情況:
二維情況:
一維情況:
二維情況:
一維情況:
二維情況:第三個參數(shù)指定維度
只查看行數(shù)、或者列數(shù)
逗號隔開兩個索引
某些行
某些列
可以看出append()函數(shù)在二維數(shù)組中添加元素,結果轉為了一維數(shù)組。
那怎么保持二維數(shù)組呢?可以設置axis參數(shù)按行或者按列添加
可以看出先把二維數(shù)組降成了一維數(shù)組,再在索引為1的位置添加元素。
那么怎么保持在二維添加元素呢? 同樣設置axis參數(shù)
也分按行和按列刪除
標記缺失值: isnan()函數(shù)
補充缺失值:
同樣axis參數(shù)可以指定拼接按行還是按列
2. hstack()函數(shù):以水平堆疊的方式拼接數(shù)組
3. vstack()函數(shù):以垂直堆疊的方式拼接數(shù)組
第二個參數(shù)還可以是數(shù)組,指定拆分的位置
hsplit()函數(shù):橫向拆成幾個數(shù)組
vsplit()函數(shù):縱向拆成幾個數(shù)組
數(shù)組與數(shù)組之間的運算
數(shù)組與數(shù)值的運算
可以指定整個數(shù)組求和,還是按行或者按列
axis=0:每一列的元素求和
axis=1:每一行的元素求和
axis=0:每一列求均值
axis=1:每一行求均值
axis=0:每一列求最大值
axis=1:每一行求最大值
pandas有兩個重要的數(shù)據結構對象:Series和DataFrame。
Series是創(chuàng)建一個一維數(shù)組對象,會自動生成行標簽。
會自動生成行列標簽
也可以用字典形式生成數(shù)據
在用字典生成數(shù)據的基礎上,同時指定行標簽
例如對下表的數(shù)據進行讀取
4月是第四個表,我們應把sheet_name參數(shù)指定為3;因為索引是從0開始的。
可以看出read_excel()函數(shù)自動創(chuàng)建了一個DataFrame對象,同時自動把第一行數(shù)據當做列標簽。
可以看出不給出header參數(shù)時,該參數(shù)默認為0。
header=1時結果如下:
header=None時結果如下:
index_col=0時,第0列為列標簽
index_col=0時
usecols=[2]:指定第二列
指定多列
數(shù)據如下:
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-j1SHxY8y-1637655972909)(C:Users14051AppDataRoamingTypora ypora-user-imagesimage-20211114192949607.png)]
nrows=3時
head()函數(shù)中參數(shù)為空默認前5行
指定head(3)時如下
numpy模塊也是shape
查看特定列的書庫類型
特定列數(shù)據類型轉換
先查看一下所有數(shù)據
與單行相比,結果顯示的格式不一樣了
iloc()挑選:
或者給出區(qū)間
挑選數(shù)據要么標簽,要么索引挑選
或者
或者寫成區(qū)間
標簽挑選
或者索引挑選
先查看一下數(shù)據
或者用字典一對一修改
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-a6QKIoie-1637655972912)(C:Users14051AppDataRoamingTypora ypora-user-imagesimage-20211123110431201.png)]
isin()函數(shù)查看表中是否有該值
查看特定列是否有該值
可以看出上述代碼并沒有替換,那怎么替換呢?
末尾插入一列
指定插入到哪列
axis參數(shù)可以指定刪除行還是刪除列
指定標簽刪除
指定索引刪除
方法三
指定行標簽刪除
指定索引刪除
方法三:
先查看所有數(shù)據
info()函數(shù)查看數(shù)據類型,還可以查看是否有缺失值
isnull()函數(shù)查看是否有缺失值
在numpy模塊中用isnan()函數(shù)
刪除有缺失值的行
刪除整行都為缺失值的行: 需要指定how參數(shù)
不同列的缺失值設置不同的填充值
默認保留第一個重復值所在的行,刪除其他重復值所在的行
保留第一個重復值所在的行
保留最后一個重復值所在的行
是重復的就刪除
降序如下
參數(shù)指定first時,表示在數(shù)據有重復值時,越先出現(xiàn)的數(shù)據排名越靠前
獲取產品為單肩包的行數(shù)據
獲取數(shù)量60的行數(shù)據
獲取產品為單肩包 且 數(shù)量60 的行數(shù)據
獲取產品為單肩包 或 數(shù)量60 的行數(shù)據
stack()函數(shù)轉換成樹形結構
how參數(shù)指定外連接
on參數(shù)指定按哪一列合并
concat()函數(shù)采用 全連接 的方式,沒有的數(shù)設置為缺失值
重置行標簽
效果與concat()一樣
末尾添加行元素
指定列求和
指定列求均值
指定列求最值
獲取單列的
corr()函數(shù)獲取相關系數(shù)
獲取指定列與其他列的相關系數(shù)
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-46g9qgQw-1637655972913)(C:Users14051AppDataRoamingTypora ypora-user-imagesimage-20211123135643804.png)]
groupby()函數(shù)返回的是一個DataFrameBy對象,該對象包含分組后的數(shù)據,但是不能直觀地顯示出來。
分組后獲取指定列的匯總情況
獲取多列的匯總情況
獲取多列的情況
ta = pd.read_excel(‘相關性分析.xlsx’)
print(data)
corr()函數(shù)獲取相關系數(shù)
獲取指定列與其他列的相關系數(shù)
[外鏈圖片轉存中…(img-46g9qgQw-1637655972913)]
groupby()函數(shù)返回的是一個DataFrameBy對象,該對象包含分組后的數(shù)據,但是不能直觀地顯示出來。
分組后獲取指定列的匯總情況
獲取多列的匯總情況
獲取多列的情況
線性相關:主要采用皮爾遜相關系數(shù)來度量連續(xù)變量之間的線性相關強度;
線性相關系數(shù)|r| 相關程度
0=|r|0.3 低度相關
0.3=|r|0.8 中度相關
0.8=|r|1 高度相關
1 函數(shù)
相關分析函數(shù):
DataFrame.corr()
Series.corr(other)
說明:
如果由數(shù)據框調用corr方法,那么將會計算每個列兩兩之間的相似度
如果由序列調用corr方法,那么只是計算該序列與傳入序列之間的相關度
返回值:
dataFrame調用:返回DataFrame
Series調用: 返回一個數(shù)值型,大小為相關度
2 案例
import pandas
data=pandas.read_csv('C:\\Users\\Desktop\\test.csv')
print(data.corr())
#由數(shù)據框調用corr方法,將會計算每個列兩兩之間的相似度,返回的是一個矩形
print(data['人口'].corr(data['文盲率']))
#由某一列調用corr方法,只是計算該序列與傳入序列(本例中的'文盲率')之間的相關度
print(data['超市購物率','網上購物率','文盲率','人口']).corr()
輸入數(shù)據后需要對數(shù)據進行預處理,只有處理得當?shù)臄?shù)據才能進到數(shù)據挖掘的步驟。而處理數(shù)據包括對數(shù)據數(shù)量和質量的處理。我按照少—多—亂來整理。
1 對缺失的數(shù)據有添補或刪除相關行列方法,具體步驟自己判斷(如果數(shù)據量本來就很少還堅持刪除不就作死了是吧)
★添補:常用拉格朗日插值或牛頓插值法,也蠻好理解,屬于數(shù)理基礎知識。(pandas庫里自帶拉格朗日插值函數(shù),而且這個好處是還可以在插值前對數(shù)據進行異常值檢測,如果異常那么該數(shù)據就也被視為需要進行插值的對象)
★刪除:這個也好理解,就是對結果分析沒有直接影響的數(shù)據刪刪刪愛少少不去管。
2 異常值
這個是否剔除需要視情況而定
★像問題1中視為缺失值重新插值
★刪除含有異常值的記錄(可能會造成樣本量不足,改變原有分布)
★平均值修正(用前后兩個觀測值平均值)
綜上,還是方案一靠譜。
人生苦短,學好python
3 數(shù)據量太多,有三種方法:集成,規(guī)約,變換
(1)數(shù)據是分散的時,這個就是指要從多個分散的數(shù)據倉庫中抽取數(shù)據,此時可能會造成冗余的情況。此時要做的是【數(shù)據集成】。
數(shù)據集成有兩方面內容:
①冗余屬性識別②矛盾實體識別
屬性:
對于冗余屬性個人理解是具有相關性的屬性分別從不同的倉庫中被調出整合到新表中,而新表中由于屬性太多造成冗余,這時可以靠相關性分析來分析屬性a和屬性b的相關系數(shù),來度量一個屬性在多大程度上蘊含另一個屬性。(這個用python的pandas庫里corr()函數(shù)也可以實現(xiàn)),檢測出了再將其刪除。
實體:(這個是要靠自己甄別源表,所以源倉庫里的實體含義要清楚)
a,同名異義——改名字
b,異名同義——刪一個
c,單位不統(tǒng)一—換
(2)數(shù)據規(guī)約
又包括兩方面
屬性規(guī)約和數(shù)量規(guī)約
①屬性規(guī)約:就是減少屬性個數(shù)或合并舊屬性成一個新屬性,可以特征子集選擇(刪除不需要作挖掘的屬性),主成分分析(通過對方差的決定性大小分析并降維),決策樹歸納,向前/向后刪除。
具體的如果不了解可以找個實例試一下。
②數(shù)量規(guī)約:通過選擇替代的,較小的數(shù)據來減少數(shù)據量,包括有參數(shù)和無參數(shù)。
有參數(shù):建模,并且只需存放模型的參數(shù),例如一些回歸模型,用參數(shù)來評估數(shù)據。
無參數(shù):需要存放實際數(shù)據,用圖表存放并顯示數(shù)據,例如用直方圖時可把步長設置一定的區(qū)間,來衡量區(qū)間內的頻數(shù),也起到了規(guī)約的目的。還有一些聚類(用簇來替換實際數(shù)據)。還有抽樣(聚類抽樣,分層抽樣)
代碼里夾雜中文的方式很不好,應該報把所有中文字符串放到一個單獨的配置文件里。
我估計是第一個大括號最右邊漏了一個逗號吧invalid syntax,這樣會更容易定位錯誤,或者你敲成了中文的逗號!
參考文獻:
1. python 皮爾森相關系數(shù)
2. 統(tǒng)計學之三大相關性系數(shù)(pearson、spearman、kendall)
皮爾森系數(shù)
重點關注第一個等號后面的公式,最后面的是推導計算,暫時不用管它們。看到沒有,兩個變量(X, Y)的皮爾森相關性系數(shù)(ρX,Y)等于它們之間的協(xié)方差cov(X,Y)除以它們各自標準差的乘積(σX, σY)。
公式的分母是變量的標準差,這就意味著計算皮爾森相關性系數(shù)時,變量的標準差不能為0(分母不能為0),也就是說你的兩個變量中任何一個的值不能都是相同的。如果沒有變化,用皮爾森相關系數(shù)是沒辦法算出這個變量與另一個變量之間是不是有相關性的。
皮爾森相關系數(shù)(Pearson correlation coefficient)也稱皮爾森積矩相關系數(shù)(Pearson product-moment correlation coefficient) ,是一種線性相關系數(shù)。皮爾森相關系數(shù)是用來反映兩個變量線性相關程度的統(tǒng)計量。相關系數(shù)用r表示,其中n為樣本量,分別為兩個變量的觀測值和均值。r描述的是兩個變量間線性相關強弱的程度。r的絕對值越大表明相關性越強。
簡單的相關系數(shù)的分類
0.8-1.0 極強相關
0.6-0.8 強相關
0.4-0.6 中等程度相關
0.2-0.4 弱相關
0.0-0.2 極弱相關或無相關
r描述的是兩個變量間線性相關強弱的程度。r的取值在-1與+1之間,若r0,表明兩個變量是正相關,即一個變量的值越大,另一個變量的值也會越大;若r0,表明兩個變量是負相關,即一個變量的值越大另一個變量的值反而會越小。r 的絕對值越大表明相關性越強,要注意的是這里并不存在因果關系。
斯皮爾曼相關性系數(shù),通常也叫斯皮爾曼秩相關系數(shù)。“秩”,可以理解成就是一種順序或者排序,那么它就是根據原始數(shù)據的排序位置進行求解,這種表征形式就沒有了求皮爾森相關性系數(shù)時那些限制。下面來看一下它的計算公式:
計算過程就是:首先對兩個變量(X, Y)的數(shù)據進行排序,然后記下排序以后的位置(X’, Y’),(X’, Y’)的值就稱為秩次,秩次的差值就是上面公式中的di,n就是變量中數(shù)據的個數(shù),最后帶入公式就可求解結果
帶入公式,求得斯皮爾曼相關性系數(shù):ρs= 1-6 (1+1+1+9)/6 35=0.657
而且,即便在變量值沒有變化的情況下,也不會出現(xiàn)像皮爾森系數(shù)那樣分母為0而無法計算的情況。另外,即使出現(xiàn)異常值,由于異常值的秩次通常不會有明顯的變化(比如過大或者過小,那要么排第一,要么排最后),所以對斯皮爾曼相關性系數(shù)的影響也非常小!
由于斯皮爾曼相關性系數(shù)沒有那些數(shù)據條件要求,適用的范圍就廣多了。
肯德爾相關性系數(shù),又稱肯德爾秩相關系數(shù),它也是一種秩相關系數(shù),不過它所計算的對象是分類變量。
分類變量可以理解成有類別的變量,可以分為
無序的,比如性別(男、女)、血型(A、B、O、AB);
有序的,比如肥胖等級(重度肥胖,中度肥胖、輕度肥胖、不肥胖)。
通常需要求相關性系數(shù)的都是有序分類變量。
舉個例子。比如評委對選手的評分(優(yōu)、中、差等),我們想看兩個(或者多個)評委對幾位選手的評價標準是否一致;或者醫(yī)院的尿糖化驗報告,想檢驗各個醫(yī)院對尿糖的化驗結果是否一致,這時候就可以使用肯德爾相關性系數(shù)進行衡量。
pandas.DataFrame.corr()
DataFrame.corr(method='pearson', min_periods=1)[source]
Compute pairwise correlation of columns, excluding NA/null values
Parameters:
method : {‘pearson’, ‘kendall’, ‘spearman’}
pearson : standard correlation coefficient
kendall : Kendall Tau correlation coefficient
spearman : Spearman rank correlation
min_periods : int, optional
Minimum number of observations required per pair of columns to have a valid result. Currently only available for pearson and spearman correlation
Returns:
y : DataFrame
numpy.corrcoef(x,y = None,rowvar = True,bias = class'numpy._globals._NoValue',ddof = class'numpy._globals._NoValue' )
返回Pearson乘積矩相關系數(shù)。
cov有關更多詳細信息,請參閱文檔。相關系數(shù)矩陣R和協(xié)方差矩陣C之間的關系為
R的值在-1和1之間(含)。
參數(shù):
x:array_like
包含多個變量和觀察值的1維或2維數(shù)組。x的每一行代表一個變量,每一列都是對所有這些變量的單獨觀察。另請參閱下面的rowvar。
y:array_like,可選
一組額外的變量和觀察。y的形狀與x相同。
rowvar:布爾,可選
如果rowvar為True(默認),則每行表示一個變量,并在列中有觀察值。否則,該關系將被轉置:每列表示一個變量,而行包含觀察值。
bias : _NoValue, optional Has no effect, do not use. Deprecated since version 1.10.0.
ddof : _NoValue, optional Has no effect, do not use. Deprecated since version 1.10.0.
返回:
R:ndarray 變量的相關系數(shù)矩陣。
網頁題目:corr函數(shù)python,corr函數(shù)的計算公式
文章URL:http://aaarwkj.com/article4/dssjdie.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供全網營銷推廣、標簽優(yōu)化、外貿網站建設、網站設計公司、用戶體驗、品牌網站設計
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)