我在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。但是我可能错过了一些。
答案 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