我有这样一个df:
col1
AAP CO. LTD.
AAS dds dTdD.
我正在尝试创建一个函数,该函数生成一个类似col2
的列,其中每3(或n)个字符分割col1
:
col1 col2
AAP CO. LTD. ['AAP','AP ','P C','CO.','O. '...]
AAS dds dTdD. ['AAS','AS ','S d','dds','ds '...]
我尝试过这段代码,但它只是为每一行重复相同的字符串列表
def trigram(self):
for b in df.parent_org_name:
a = ["".join(j) for j in zip(*[b[i:] for i in range(3)])]
# [b[i:i+3] for i in range(len(b)-1)]
return a
# print(a)
df.apply(trigram, axis=1)
有什么想法吗
如果提供的
N
大于字符串长度(当前我在列表中返回原始字符串),则可以添加更多逻辑,具体取决于应该发生什么string slice,将slice start和stop索引增加1,并确保在到达字符串末尾时停止,否则返回的子字符串可能是<;长度N
将函数定义更改如下,而不是在所有行上循环-
我想这就是你需要的:)。如果需要使用不同于3的参数n来运行它,那么他们可以相应地更改括号中的i+3
相关问题 更多 >
编程相关推荐