[英]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.extract
和concat
:
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.