如何根据条件在 pandas 数据帧上应用字符串拆分方法?

Hor*_*aje 2 python string split pandas data-cleaning

我想替换数据框中以错误格式输入的一些值。例如,850/07-498745 应为 07-498745。现在,我成功地使用了字符串分割来做到这一点。但是,它将所有先前格式正确的字符串转换为 NaN。我尝试根据条件进行判断,但仍然遇到同样的问题。我该如何解决它?

输入示例:

mylist = ['850/07-498745', '850/07-148465', '07-499015']
df = pd.DataFrame(mylist)
df.rename(columns={ df.columns[0]: "mycolumn" }, inplace = True)
Run Code Online (Sandbox Code Playgroud)

我的尝试:

df['mycolumn'] = df[df.mycolumn.str.contains('/') == True].mycolumn.str.split('/', 1).str[1]
df
Run Code Online (Sandbox Code Playgroud)

输出:

在此输入图像描述

我想要什么:

在此输入图像描述

ank*_*_91 5

您可以使用splitwith/并从列表中获取最后一个返回的字符串:

df['mycolumn'].str.split('/').str[-1]

0    07-498745
1    07-148465
2    07-499015
Name: mycolumn, dtype: object
Run Code Online (Sandbox Code Playgroud)