gpt4 book ai didi

Python - 正则表达式在Dataframe中拆分数据

转载 作者:太空宇宙 更新时间:2023-11-04 08:37:09 27 4
gpt4 key购买 nike

我有一列包含值。我想根据正则表达式拆分它。如果正则表达式匹配,原始值将替换为拆分的左侧。新列将包含拆分的右侧。

下面是一些示例代码。我觉得我很接近,但它不太管用。

import pandas as pd
import re

df = pd.DataFrame({ 'A' : ["test123","foo"]})

// Regex example to split it if it ends in numbers
r = r"^(.+?)(\d*)$"

df['A'], df['B'] = zip(*df['A'].apply(lambda x: x.split(r, 1)))
print(df)

在上面的示例中,我希望得到以下输出

         A        B
0 test 123
1 foo

我是 Python 的新手,我认为这是可行的方法。但是,看来我还没有完全达到目标。有人能帮我改正这个例子吗?

最佳答案

只是基于你自己的正则表达式

df.A.str.split(r,expand=True).replace('',np.nan).dropna(thresh=1,axis=1).fillna('')
Out[158]:
1 2
0 test 123
1 foo


df[['A','B']]=df.A.str.split(r,expand=True).replace('',np.nan).dropna(thresh=1,axis=1).fillna('')
df
Out[160]:
A B
0 test 123
1 foo

关于Python - 正则表达式在Dataframe中拆分数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48119915/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com