Python中文
首页
教程
问答
标签
搜索
登录
注册
如何基于数据中多个分隔符的值在数据帧中创建组?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有一个数据框,如下所示:</p> <pre><code>data = { 'Name': ['AVY', 'SCOT', 'JYN', 'MAZ', 'SAS', 'LEN', 'PAUL'], 'Value': ['A/A', 'A|G', 'GG|GG', 'G/GGGG', 'G|GG', 'AA/AA', 'TTT|TTT'] } df = pd.DataFrame(data) </code></pre> <p>df</p> <pre><code> Name Value 0 AVY A/A 1 SCOT A|G 2 JYN GG|GG 3 MAZ G/GGGG 4 SAS G|GG 5 LEN AA/AA 6 PAUL TTT|TTT </code></pre> <p>我想通过使用多个分隔符拆分df['Value']来添加一个新列。分隔符是<code>/</code>和<code>|</code>。如果分割的值相等,则将其分组为<code>G1</code>或<code>G2</code>。预期产出如下:</p> <pre><code> Name Value Group 0 AVY A/A G1 1 SCOT A|G G2 2 JYN GG|GG G1 3 MAZ G/GGGG G2 4 SAS G|GG G2 5 LEN AA/AA G1 6 PAUL TTT|TTT G1 </code></pre> <p>我试过:</p> <pre><code>df['Group'] = df.Value.apply(lambda col:'G1' if col.find('/')!=-1 else 'G2') </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>让我们试试列表理解:</p> <pre><code>df['Group']=['G1' if x==y else 'G2' for x,y in df['Value'].str.split(r'[|/]',n=1)] </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何添加虚拟方法
6 回答
如何添加表示整数的擦边字符串?
2 回答
如何添加要在Bokeh中使用的新font.ttf文件?
5 回答
如何添加要显示的矩阵XY轴编号和XY轴
7 回答
如何添加计数?
2 回答
如何添加计数器函数?
10 回答
如何添加计数器列来计算数据帧中另一列中的特定值?
1 回答
如何添加计数器来跟踪while循环中的月份和年份?
10 回答
如何添加计数并删除countplot的顶部和右侧脊椎?
5 回答
如何添加计时器wx.应用程序更新窗口对象的主循环?
1 回答
如何添加评论到帖子?PostDetailVew,Django 2.1.5
8 回答
如何添加评论拉梅尔亚姆
10 回答
如何添加诸如矩阵Python/Pandas之类的数据帧?
9 回答
如何添加谷歌地点自动完成到Flask?
7 回答
如何添加超时、python discord bot
5 回答
如何添加超过1dp的检查
5 回答
如何添加距离方法
9 回答
如何添加跟随游戏的敌人精灵
8 回答
如何添加路径以便python可以找到程序?
1 回答
如何添加身份验证/安全性以使用happybase访问HBase?
8 回答