Python中文
首页
教程
问答
标签
搜索
登录
注册
Pandas实现分类特征的省去编码
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我最近看了一段欧文·张卡格尔排名第一的选手的视频: <a href="https://youtu.be/LgLcfZjNF44" rel="nofollow">https://youtu.be/LgLcfZjNF44</a> 他解释了一种将分类特征编码为数字的技术,称为遗漏编码。他对一个范畴特征所做的是将一个值与每个观察值相关联,这是对同一类别的所有其他观察值的响应的平均值。在</p> <p>我一直在尝试使用pandas在python中实现这个策略。虽然我已经成功地构建了一个代码,但事实上我的数据集大小达数千万,它的性能非常缓慢。 如果有人能提出一个更快的解决方案,我将非常感激。在</p> <p>这是我目前为止的代码:</p> <pre><code>def categ2numeric(data, train=True): def f(series): indexes = series.index.values pomseries = pd.Series() for i, index in enumerate(indexes): pom = np.delete(indexes, i) pomseries.loc[index] = series[pom].mean() series = pomseries return series if train: categ = data.groupby(by=['Cliente_ID'])['Demanda_uni_equil'].apply(f) </code></pre> <p>我需要把这个系列</p> ^{pr2}$ <p>为此:</p> <pre><code> 159812 39.00 464556 25.25 717223 34.75 1043801 40.75 1152917 44.25 dtype: float64 </code></pre> <p>或在数学上,索引为159812的元素等于所有其他元素的平均值,或:</p> <p>39=(83+45+21+7)/4</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>用级数和元素之和的差替换级数中的每个元素,然后除以级数的长度减去1。假设<code>s</code>是您的系列:</p> <pre><code>s = (s.sum() - s)/(len(s) - 1) </code></pre> <p>结果输出:</p> ^{pr2}$
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何添加虚拟方法
9 回答
如何添加表示整数的擦边字符串?
5 回答
如何添加要在Bokeh中使用的新font.ttf文件?
1 回答
如何添加要显示的矩阵XY轴编号和XY轴
5 回答
如何添加计数?
8 回答
如何添加计数器函数?
8 回答
如何添加计数器列来计算数据帧中另一列中的特定值?
8 回答
如何添加计数器来跟踪while循环中的月份和年份?
6 回答
如何添加计数并删除countplot的顶部和右侧脊椎?
6 回答
如何添加计时器wx.应用程序更新窗口对象的主循环?
3 回答
如何添加评论到帖子?PostDetailVew,Django 2.1.5
2 回答
如何添加评论拉梅尔亚姆
9 回答
如何添加诸如矩阵Python/Pandas之类的数据帧?
4 回答
如何添加谷歌地点自动完成到Flask?
10 回答
如何添加超时、python discord bot
9 回答
如何添加超过1dp的检查
4 回答
如何添加距离方法
9 回答
如何添加跟随游戏的敌人精灵
2 回答
如何添加路径以便python可以找到程序?
10 回答
如何添加身份验证/安全性以使用happybase访问HBase?
7 回答