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

我有一个 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    boxes


34      pjp-custom|3cex 10


20      pjp-cusm|4cex 8


12      pjp-ctom|5cex 6


40      pjp-custom|6cex 14

期望的输出


Quantity        code    boxes


34      3cex 10


20      4cex 8


12      5cex 6


40      6cex 14


弑天下
浏览 158回答 2
2回答

慕妹3242003

这正是您希望它在 1 行代码中执行的操作:#Theres actually 4 things going on in this 1 line of codedf['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]

www说

我认为你实际上应该这样做:df[column] = df[column].str.replace("pjp-*|","")希望它有帮助,我们需要更多信息在这里
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python