如何通过索引删除字符串中的特殊字符-Pandas DF

时间:2019-06-10 09:27:29

标签: string pandas dataframe

我在Names表中有一个df列:

Names
ARTBAT0043243232r0
ARTBAF005401241740
BTNKLA012325122540
KOPLFT087656754440

预期结果 我需要删除前3个字符和第6个字符。因此,第一行的示例应为: ARTBAT0043243232r0-> BA0043243232r0

我已经阅读了SO上的文章,但对我的情况没有任何帮助。我可以这样做,但我更喜欢使用pandas方法,因为coz文件具有4百万条记录。

我的尝试:

首先删除3个拳头字符:

df1['Names'].str[3:18]

然后尝试将6th替换为空:

df1['Names'].replace(df1['Names'].str[6], '')

但是我40分钟前运行了它,但它仍在工作(所以我什至不知道它是否在工作,可能会抛出错误)。也许是更快地删除或替换它的更好方法?

关于SO处理的大多数帖子都删除了一个字符串,而不是a:b和g。但是我可能错过了一些。

1 个答案:

答案 0 :(得分:1)

您可以使用series.str.slice_replace()

df.Names.str[3:].str.slice_replace(2,3,'')

0    BA0043243232r0
1    BA005401241740
2    KL012325122540
3    LF087656754440
Name: Names, dtype: object