Python中文
首页
教程
问答
标签
搜索
登录
注册
通过匹配lis中的字符串值在pandas数据帧中构建新列
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我正在尝试在pandas数据框中基于dataframe中已经存在的另一列<code>SearchCol3</code>构建一个新列<code>NewCol4</code>。测试<code>SearchCol3</code>的每个值,看它是否包含列表<code>stings</code>中的任何子字符串。如果<code>SearchCol3</code>中的值包含列表<code>strings</code>中的一个子字符串,则列表<code>replacement</code>中的相应值将插入到子字符串所在行的列<code>NewCol4</code>中。如果在<code>SearchCol3</code>的值中找不到子字符串,<code>Col2</code>中的值将插入<code>NewCol4</code>。在</p> <p>预期结果:</p> <pre><code> Col1 Col2 SearchCol3 NewCol4 0 20 'May' 'abc(feb)' 'February' 1 30 'March' 'def | mar' 'March' 2 40 'June' 'ghi | feb' 'February' 3 50 'July' 'jkl(apr)' 'April' 4 60 'May' 'mno(mar)' 'March' 5 70 'March' 'abc' 'March' </code></pre> <p>目前我正在使用此代码的工作。在</p> ^{pr2}$ <p>我的数据、搜索和替换数据帧和列表比本例要长得多。我正在寻找比我目前使用的更有效的方法来节省时间。有什么建议吗?在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>还有一种方法:</p> <pre><code>data['NewCol4'] = data.Col2 for i,s in enumerate(strings): data.loc[data.SearchCol3.str.contains(s),'NewCol4']=replacement[i] </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何添加虚拟方法
3 回答
如何添加表示整数的擦边字符串?
10 回答
如何添加要在Bokeh中使用的新font.ttf文件?
9 回答
如何添加要显示的矩阵XY轴编号和XY轴
2 回答
如何添加计数?
4 回答
如何添加计数器函数?
3 回答
如何添加计数器列来计算数据帧中另一列中的特定值?
4 回答
如何添加计数器来跟踪while循环中的月份和年份?
5 回答
如何添加计数并删除countplot的顶部和右侧脊椎?
2 回答
如何添加计时器wx.应用程序更新窗口对象的主循环?
8 回答
如何添加评论到帖子?PostDetailVew,Django 2.1.5
3 回答
如何添加评论拉梅尔亚姆
5 回答
如何添加诸如矩阵Python/Pandas之类的数据帧?
3 回答
如何添加谷歌地点自动完成到Flask?
3 回答
如何添加超时、python discord bot
3 回答
如何添加超过1dp的检查
8 回答
如何添加距离方法
8 回答
如何添加跟随游戏的敌人精灵
7 回答
如何添加路径以便python可以找到程序?
7 回答
如何添加身份验证/安全性以使用happybase访问HBase?
5 回答