为了账号安全,请及时绑定邮箱和手机立即绑定

在 python pandas 数据框中删除模式的出现

在 python pandas 数据框中删除模式的出现

弑天下 2021-12-09 18:19:54
我有一个 python 数据框,其中一列的元素以 pjp- 开头并以 | 结尾,例如 pjp-XYA|,我想删除 pjp- 中的所有内容,直到第一次出现“|” 在熊猫数据框中。我试过这样做,但我收到一个错误,说它只适用于字符串。f = pd.read_csv("test.csv",delimiter=",")df = pd.DataFrame(f)if df.str.startswith('pjp-'):        df = df.replace(["pjp-*|"],[""])print(df)头(df)Quantity        code    boxes34      pjp-custom|3cex 1020      pjp-cusm|4cex 812      pjp-ctom|5cex 640      pjp-custom|6cex 14期望的输出Quantity        code    boxes34      3cex 1020      4cex 812      5cex 640      6cex 14
查看完整描述

2 回答

?
慕妹3242003

TA贡献1824条经验 获得超6个赞

这正是您希望它在 1 行代码中执行的操作:


#Theres actually 4 things going on in this 1 line of code

df['Code_Boxes'] = (((df['Code_Boxes'].str.rsplit('pjp-')).str[1]).str.rsplit('|')).str[1]

只有当你说的是真的 'pjp-' 总是在前面并且 '|' 时,这才有效 是在您要拆分的末尾。只是为了让您了解我所做的事情,请参阅以下 4 个步骤。


#these 4 things can actually be done in one line, but its easy to see what we're doing this way.

df['Code_Boxes'] = df['Code_Boxes'].str.rsplit('pjp-')

df['Code_Boxes'] = df['Code_Boxes'].str[1]

df['Code_Boxes'] = df['Code_Boxes'].str.rsplit('|')

df['Code_Boxes'] = df['Code_Boxes'].str[1]


查看完整回答
反对 回复 2021-12-09
?
www说

TA贡献1775条经验 获得超8个赞

我认为你实际上应该这样做:

df[column] = df[column].str.replace("pjp-*|","")

希望它有帮助,我们需要更多信息在这里


查看完整回答
反对 回复 2021-12-09
  • 2 回答
  • 0 关注
  • 157 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信