必须根据另一列中的长度值拆分数据框列

Arv*_*nth 2 python lambda split pandas

我有以下格式的pandas dataframe df

Title                                               
ABCABCABC   
ABCDABCDABCD                            
ABCDEABCDEABCDE             
ABEABEABE                           
Run Code Online (Sandbox Code Playgroud)

我想将Title列分成3个相等的部分。

预期产量:

Title1            Title2          Title3
ABC                ABC             ABC
ABCD               ABCD            ABCD 
ABCDE              ABCDE           ABCDE
ABE                ABE             ABE
Run Code Online (Sandbox Code Playgroud)

请帮助我知道该怎么做。

我试图获取长度,但不确定如何根据长度值进行分割。

  df['len'] = df.Title.str.len()
Run Code Online (Sandbox Code Playgroud)

use*_*203 5

使用内置textwrap模块。


import textwrap

pd.DataFrame(
  [textwrap.wrap(el, len(el)//3) for el in df['Title']]
).add_prefix('Title')
Run Code Online (Sandbox Code Playgroud)

  Title0 Title1 Title2
0    ABC    ABC    ABC
1   ABCD   ABCD   ABCD
2  ABCDE  ABCDE  ABCDE
3    ABE    ABE    ABE
Run Code Online (Sandbox Code Playgroud)