繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2025 STACKOOM.COM