以下**僅僅適用於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...