繁体   English   中英

pandas 使用长度拆分列

[英]pandas split columns using length

如何使用长度拆分 pandas 中的列。 str.split需要使用分隔符。 我可以在每列上使用两次切片,如下所示

for i, col in enumerate(cols):
   df[f'mn{i}'] = df[col].str.split[1:]
   df[col] = df[col].str.split[:1]

因此,在 pandas 中寻找更高效的内置 function 可以根据长度拆分许多列。

Dataframe

Col1     Col2      Col3
012021   012021    032021
012021   012021    032021

预期 output

Col1     Col2      Col3   Col4     Col5      Col6
01       01        03     2021     2021      2021
01       01        03     2021     2021      2021

尝试使用str.extractconcat

pd.concat([df[x].str.extract('(\d{2})(\d{4})').add_prefix(f'{x}_') 
           for x in df], 
          axis=1)

Output:

  Col1_0 Col1_1 Col2_0 Col2_1 Col3_0 Col3_1
0     01   2021     01   2021     03   2021
1     01   2021     01   2021     03   2021

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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