Python中文
首页
教程
问答
标签
搜索
登录
注册
有没有更好的方法用“菲尔”法对Pandas进行分段填充?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>让我解释一下这种情况。问题是我目前正在处理的数据有时是分类的,有时不是。所以我决定用带有“ffil”的菲尔娜熊猫作为方法。我只是觉得这不是最佳和/或更清洁的解决方案。如果有人能帮我找到更好的办法,我将不胜感激。这里有一些代码来说明这一点:</p> <pre class="lang-py prettyprint-override"><code>data = { "detail":['apple mac', 'apple iphone x', 'samsumg galaxy s10', 'samsumg galaxy s10', 'hp computer'], 'category': ['computer', 'phone', 'phone', np.NaN, np.NaN] } df = pd.DataFrame(data) </code></pre> <p>返回</p> <pre class="lang-py prettyprint-override"><code> detail category 0 apple mac computer 1 apple iphone x phone 2 samsumg galaxy s10 phone 3 samsumg galaxy s10 NaN 4 hp computer NaN </code></pre> <p>首先,我过滤了没有类别的细节值:</p> <pre class="lang-py prettyprint-override"><code>details_without_cats = df[df.category.isnull()].detail.unique() </code></pre> <p>然后我循环这些值以填充对应项:</p> <pre class="lang-py prettyprint-override"><code>for detail_wc in details_without_cats: df[df.detail == detail_wc] = df[df.detail == detail_wc].fillna(method = 'ffill') print(df) </code></pre> <p>返回的正是我想要的</p> <pre><code> detail category 0 apple mac computer 1 apple iphone x phone 2 samsumg galaxy s10 phone 3 samsumg galaxy s10 phone 4 hp computer NaN </code></pre> <p>困境如下。如果我有数千或数百万样本的情况会发生什么。有更好的办法吗?请帮忙</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>我们能做到</p> <pre><code>df['category']=df.groupby('detail')['category'].ffill() df detail category 0 apple mac computer 1 apple iphone x phone 2 samsumg galaxy s10 phone 3 samsumg galaxy s10 phone 4 hp computer NaN </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
无法使用Django/mongoengine连接到MongoDB(身份验证失败)
1 回答
无法使用Django\u mssql\u后端迁移到外部hos
8 回答
无法使用Django&Python3.4连接到MySql
10 回答
无法使用Django+nginx上载媒体文件
9 回答
无法使用Django1.6导入名称模式
6 回答
无法使用Django1.7和mongodb登录管理站点
6 回答
无法使用Djangoadmin创建项目,进程使用了错误的路径,因为我事先安装了错误的Python
6 回答
无法使用Djangockedi验证CBV中的字段
5 回答
无法使用Djangocketditor上载图像(错误400)
9 回答
无法使用Djangocron进行函数调用
1 回答
无法使用Djangofiler djang上载文件
4 回答
无法使用Djangokronos
1 回答
无法使用Djangomssql provid
2 回答
无法使用Djangomssql连接到带有Django 1.11的MS SQL Server 2016
9 回答
无法使用Djangomssq迁移Django数据库
3 回答
无法使用Djangonox创建用户
6 回答
无法使用Djangopyodb从Django查询SQL Server
3 回答
无法使用Djangopython3ldap连接到ldap
10 回答
无法使用Djangoredis连接到redis
5 回答
无法使用Django中的FK创建新表
2 回答