
[英]Split text in column dataframe based on another column value with regex and lambda
[英]Have to split dataframe column based on length value in another column
我有以下格式的pandas dataframe df
Title
ABCABCABC
ABCDABCDABCD
ABCDEABCDEABCDE
ABEABEABE
我想将“ Title
列分成3个相等的部分。
预期产量:
Title1 Title2 Title3
ABC ABC ABC
ABCD ABCD ABCD
ABCDE ABCDE ABCDE
ABE ABE ABE
请帮助我知道该怎么做。
我试图获取长度,但不确定如何根据长度值进行分割。
df['len'] = df.Title.str.len()
使用内置的textwrap
模块。
import textwrap
pd.DataFrame(
[textwrap.wrap(el, len(el)//3) for el in df['Title']]
).add_prefix('Title')
Title0 Title1 Title2
0 ABC ABC ABC
1 ABCD ABCD ABCD
2 ABCDE ABCDE ABCDE
3 ABE ABE ABE
这是一种方法:
pd.DataFrame([np.split(np.array(list(i)),3) for i in df.Title]).applymap(''.join)
0 1 2
0 ABC ABC ABC
1 ABCD ABCD ABCD
2 ABCDE ABCDE ABCDE
3 ABE ABE ABE
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.