倚天杖
您可以添加更多逻辑,具体取决于如果您提供的N大于字符串长度的情况会发生什么(目前我在列表中返回原始字符串)。字符串切片,将切片开始和停止索引增加 1,并确保到达字符串末尾后停止,否则可能会返回长度 <N 的子字符串。import numpy as npdef split_str(s, N): rmax = np.clip(len(s)-N, a_min=0, a_max=None)+1 return [s[0+i:N+i] for i in range(0, rmax)]df['col1'].apply(lambda x: split_str(x, 3))#0 [AAP, AP , P C, CO, CO., O. , . L, LT, LTD, ...#1 [AAS, AS , S d, dd, dds, ds , s d, dT, dTd, ...#Name: col1, dtype: object# To show actual valuesdf['col1'].apply(lambda x: split_str(x, 3))[0]#['AAP', 'AP ', 'P C', ' CO', 'CO.', 'O. ', '. L', ' LT', 'LTD', 'TD.']
繁花不似锦
我想这就是你所需要的:)。如果需要使用不同于 3 的参数 n 来运行它,那么他们可以相应地更改括号中的 i+3df["col2"] = df.apply(lambda x: [x[0][i:i+3] for i in range(0, len(x[0]))],axis=1) #The result looks as follows col1 col20 AAP CO. LTD. [AAP, AP , P C, CO, CO., O. , . L, LT, LTD, ... 1 AAS dds dTdD. [AAS, AS , S d, dd, dds, ds , s d, dT, dTd, ...