統計所有帶有null的特徵

2021-09-27 09:20:33 字數 1324 閱讀 4137

以下**僅僅適用於numerical特徵,不適用於category特徵

**如下:

#統計有缺失值的特徵列

np.set_printoptions(threshold=2000)#全部輸出

pd.set_option('display.max_colwidth',2000)#全部輸出

pd.set_option('max_colwidth',2000)

pd.set_option('display.max_rows',none)

pd.set_option('display.max_columns',none)

def missing_values(df):

df1 = pd.dataframe(df.isnull().sum()).reset_index()

df1.columns = ['features', 'freq']

df1['percentage'] = df1['freq']/df.shape[0]

df1.sort_values('percentage', ascending = false, inplace = true)

return df1

missing_train = missing_values(train)

missing_train.columns = ['features', 'freq_tr', 'percentage_tr']

missing_train

結果如下:

第三列freq_tr是缺失值數量

第四列percentage_tr是缺失值比例

既可以用來看訓練集,也可以用來看測試集:

missing_test = missing_values(test)

missing_test.columns = ['features', 'freq_te', 'percentage_te']

missing_test

也可以訓練集和測試集按照特徵縱向拼接以後,看總體的缺失值情況:

missing = missing_train.merge(missing_test, on = 'features')

missing.head(10)

也可以指定只看乙個特徵的null情況:

missing[missing['features']=='d7']

如何刪除所有紀錄都為NULL的表

這個需求是今天看到一在論壇提出的問題,這裡的紀錄為null,是指的紀錄為 null 值,而並不是表的紀錄數為0,所以我們可以通過checksum函式來實現這個需求,下面是實現的demo 執行環境 sql server 2005 use tempdb go set nocount on if obje...

帶有Lowe s演算法的SURF特徵提取和匹配

直接使用surf提取,匹配的效果還是相當糟糕的,如果我們拿著這樣子的匹配結果去實現影象拼接或者物體追蹤,效果肯定是極差的。所以我們需要進一步篩選匹配點,來獲取優秀的匹配點,這就是所謂的 去粗取精 這裡我們採用了lowe s演算法來進一步獲取優秀匹配點。為了排除因為影象遮擋和背景混亂而產生的無匹配關係...

帶有Lowe s演算法的SIFT特徵提取和匹配

採用lowe s的演算法選出優秀匹配點。include highgui highgui.hpp include opencv2 nonfree nonfree.hpp include opencv2 legacy legacy.hpp include using namespace cv using...