很多時候在資料分析之前,我們需要對樣本進行校驗,以確定樣本的價值。
先寫入資料:
importpandas as pd
import
numpy as np
df = pd.dataframe()
#判斷是否為缺失值(空值)
df.isnull()
#統計出每一列的缺失值數目
每一列缺失比例
df.isnull().sum()/df.shape[0]
#判斷非空值的數目
筆記:這裡也可以用到describe方法,如下:
#使用describe方法檢視資料的完整性,統計出了非空值的數目
忘了describe方法的話,請檢視《python之pandas知識點》
很多樣本的時間資料並不是以datatime64型別儲存的,此時我們得先進行「資料型別修改」
詳見:《python之pandas知識點》的4.3資料修改
之後進行最大最小相減就ok了。
print(date.max()-date.min())#dataframe.drop_duplicates(subset=none, keep='first', inplace=false)二班和四班是相同的
df1 = pd.dataframe()
#特徵重複檢驗相比樣本重複檢驗要麻煩一點,因為沒有現成的函式可呼叫。刪除重複樣本(行)
計算樣本重複率
(df1.shape[0] - df1.drop_duplicates().shape[0])/df1.shape[0]
需要用到相似度的概念,如下:
#使用pandas的方法:dataframe.corr(method='pearson')
asso = df1.corr()
#輸出asso,看一下是怎樣的先
不難看出,這是乙個對稱矩陣,所以我們只需要判斷右上半形的資料便可。
#輸出應刪除的columns,1.0可根據需求改動
delcol =
for i in
range(len(asso)):
for j in range(i+1,len(asso)):
if asso.iloc[i,j] == 1.0:
print(delcol)
#效果如下:輸入dataframe,輸出特徵重複的列名,可直接複製呼叫
def drop_features(data,way = '
pearson
',assorate = 1.0):
'''此函式用於求取相似度大於assorate的兩列中的乙個,主要目的用於去除數值型特徵的重複
data:資料框,無缺省
assorate:相似度,預設為1
'''assomat = data.corr(method =way)
delcol =
length =len(assomat)
for i in
range(length):
for j in range(i+1,length):
if asso.iloc[i,j] >=assorate:
return(delcol)
drop_features(df1)是不是超好用,巨方便~~~不謝資料分析 資料分析概述
了解業務 了解資料 確認業務和資料 預期分析和管理 資料分析方式01.了解資料資料 1.測量標度型別 屬性本源並不是數字或者符號,通過測量標度將數值或者符號和物件的屬性建立關聯。屬性的型別 測量尺度 nominal 標稱 等於或者不等於 一對一的變換 ordinal 序數 大於或者小於 單調函式的變...
資料分析 資料分析的誤區
在資料分析的過程中,我們難免會走一些彎路,但有些彎路是可以避免的,下面我將介紹幾個資料分析過程中常見的誤區 我們一定都聽說過二戰中的乙個經典示例 軍方為了提高戰鬥機飛行員的生還率,打算在飛機上增加裝甲的厚度,但不能在所有部位加厚,這樣會喪失戰機的靈活性,於是軍方請了統計學家來研究,這些專家在一開始就...
資料分析 資料準備
數值 文字 日期 貨幣 會計專用 時間 百分比 分數 科學計數 特殊等。資料表的設計要求 一維表與二維表 匯入文字資料 自動匯入 資料 a.數值型 輸入被調查者實際填入的數值即可 b.單選題 採用1 2 3 4分別代表a b c d四個選項 c.多選題 二分法 把每乙個相應選項定義為乙個變數,每乙個...