在数据列拆分值并其添加到带有pandas条件的新列
it1352
帮助1人
问题说明
我有一个df,
name Value
Sri is a cricketer Sri,is
Ram player Ram
Ravi is a singer is
cricket and foot is ball and,is,foot
和一个列表
my_list=["is", "foot"]
我正在尝试将df ["value"]除以(,),并将该值添加到新列(如果my_list中存在该值). 我的预期输出是
I am trying to split df["value"] by (,) and adding the value to a new column if the value exists in my_list. My expected output is
name Value my_list
Sri is a cricketer Sri is
Ram player Ram
Ravi is a singer is
cricket and foot is ball and is,foot
请帮助实现这一目标,在此先感谢
please help to achieve this, thanks in advance
正确答案
#1
使用 str.join
:
my_list=["is", "foot"]
df['my_list'] = df['Value'].str.findall('(' '|'.join(my_list) ')').str.join(',')
print (df)
name Value my_list
0 Sri is a cricketer Sri,is is
1 Ram player Ram
2 Ravi is a singer is is
3 cricket and foot is ball and,is,foot is,foot
使用 split
并获得set
个中的intersection
个:
my_list=["is", "foot"]
df['my_list']=df['Value'].str.split(',').apply(lambda x: set(x) & set(my_list)).str.join(',')
print (df)
name Value my_list
0 Sri is a cricketer Sri,is is
1 Ram player Ram
2 Ravi is a singer is is
3 cricket and foot is ball and,is,foot is,foot
最后:
df['Value'] = (df['Value'].str.replace('(' '|,'.join(my_list) ')', '')
.str.replace('[,]{2,}',',')
.str.strip(','))
print (df)
name Value my_list
0 Sri is a cricketer Sri is
1 Ram player Ram
2 Ravi is a singer is
3 cricket and foot is ball and is,foot
或者:
my_list=["is", "foot"]
s1 = df['Value'].str.split(',')
df['my_list'] = s1.apply(lambda x: set(x) & set(my_list)).str.join(',')
df['Value'] = s1.apply(lambda x: set(x) - set(my_list)).str.join(',')
print (df)
name Value my_list
0 Sri is a cricketer Sri is
1 Ram player Ram
2 Ravi is a singer is
3 cricket and foot is ball and is,foot
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /reply/detail/tanheccjbk
系列文章
更多
同类精品
更多
-
YouTube API 不能在 iOS (iPhone/iPad) 工作,但在桌面浏览器工作正常?
it1352 07-30 -
保持在后台运行的 iPhone 应用程序完全可操作
it1352 07-25 -
iPhone,一张图像叠加到另一张图像上以创建要保存的新图像?(水印)
it1352 07-17 -
使用 iPhone 进行移动设备管理
it1352 07-23 -
在android同时打开手电筒和前置摄像头
it1352 09-28 -
扫描 NFC 标签时是否可以启动应用程序?
it1352 08-02 -
检查邮件是否发送成功
it1352 07-25 -
Android App 和三星 Galaxy S4 不兼容
it1352 07-20 -
复制文件夹/文件而不修改属性?
it1352 07-15 -
Android微调工具-删除当前选择
it1352 06-20