删除字符串变量的最后n个字符,其中n是变量

yptwkmov  于 2021-09-29  发布在  Java
关注(0)|答案(1)|浏览(350)

因此,我有一个 Dataframe ,试图从列的每个字符串中删除最后n个字符。通常,我会使用以下代码:

df['code_0'] = df.code_0.map(lambda x: str(x)[:-4])

这将删除4个字符。但是,需要删除的字符数取决于另一列中的值。因此,如果我有以下 Dataframe :

d = {'text': ["text that needs to be removed", "more text that needs to be removed"], 'number of characters to remove': [2, 4]}
df = pd.DataFrame(data=d)

如何仅删除第一行的最后2个字符和第二行的4个字符?

pb3skfrl

pb3skfrl1#

使用 lambda :

>>> df.apply(lambda x: x["text"][:-x["number of characters to remove"]], axis=1)
0       text that needs to be remov
1    more text that needs to be rem

相关问题