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

2024-04-18 11:16:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我有熊猫数据帧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()

Tags: 数据dflentitle格式abc产量abcd
2条回答

使用内置的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

相关问题 更多 >