使用第三方库sklearn.feature_extraction:
1 #字典特征提取 2 from sklearn.feature_extraction import DictVectorizer 3 #字典特征提取 4 def dict_demo(): 5 data = [{'city':'北京','temperature':100}, {"city":'上海',"temperature":60}, {"city":'深圳',"temperature":30}] 6 #1实例化转换器对象(默认sparse=True返回值为稀疏矩阵) 7 transfer = DictVectorizer(sparse=False) 8 #2调用函数特征提取fit_transform() 9 data_new = transfer.fit_transform(data) 10 print("data_new:\n",data_new) 11 if __name__ == '__main__': 12 dict_demo()
结果截图:
图①:
实例化转换器对象DictVectorizer()时,参数默认为:sparse=True时:
结果截图:
图②:
结果图②中的元组代表的是图①中的非0点的位置,当sparse=true时,大大节省了内存(没有存放值为0的点)