码迷,mamicode.com
首页 > 其他好文 > 详细

关于value_count

时间:2018-08-12 23:40:11      阅读:382      评论:0      收藏:0      [点我收藏+]

标签:selector   tran   median   nic   false   learn   wrap   cto   enc   

value_counts将会对于指定列的数据进行group,然后统计出各个出现的值的数量,并且按照从高到低的顺序进行排序
1 train_data = load_titanic_data("train.csv")
2 train_data["Pclass"].value_counts()
输出:
3 491 
1 216 
2 184 
Name: Pclass, dtype: int64
代表Pclass这个字段共有三种值:1,2,3;出现的次数分别为216,184以及491,上面的列表就是按照出现“值”的数量从高到低排列以及数量进行排列;
原则即使:在对于NaN值处理常规的一种方案就是对于数字型取“中位数”,对于Category的(文字型)填充则取出现频率最高的;下面就是实现对于文字型填充Null值;
 1 from sklearn.pipeline import Pipeline
 2 from sklearn.preprocessing import Imputer
 3 
 4 num_pipeline = Pipeline([
 5         ("select_numeric", DataFrameSelector(["Age", "SibSp", "Parch", "Fare"])),
 6         ("imputer", Imputer(strategy="median")),
 7     ])
 8 
 9 class MostFrequentImputer(BaseEstimator, TransformerMixin):
10     def fit(self, X, y=None):
11         self.most_frequent_ = pd.Series([X[c].value_counts().index[0] for c in X],
12                                         index=X.columns)
13         return self
14     def transform(self, X, y=None):
15         return X.fillna(self.most_frequent_)
16 
17 from future_encoders import OneHotEncoder
18 cat_pipeline = Pipeline([
19         ("select_cat", DataFrameSelector(["Pclass", "Sex", "Embarked"])),
20         ("imputer", MostFrequentImputer()),
21         ("cat_encoder", OneHotEncoder(sparse=False)),
22     ])
23 
24 cat_pipeline.fit_transform(train_data)

 

 参考:

关于value_count

标签:selector   tran   median   nic   false   learn   wrap   cto   enc   

原文地址:https://www.cnblogs.com/xiashiwendao/p/9465344.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!