python - 如果Python中存在分隔符,如何提取字符串

标签 python pandas string

我有以下数据框示例:

df = pd.DataFrame({'Path':['Main\Customer1\Project1\Project_LEAD', 'Main\Customer1\Project1\Project_PM','Main\Customer1\Project1\Project_QA', 'Main\Customer1\Project1\DEV',
                         'Main\Customer1\ProjectSAS\Project_LEAD', 'Main\Customer1\ProjectSAS\Project_PM','Main\Customer1\ProjectSAS\Project_SA', 'Main\Customer1\ProjectSAS\DEV']})

我想在定界符之后提取字符串,在这种情况下是 _,但是有些行 _ 不存在。

我期望的结果是

enter image description here

你能推荐一下吗?

最佳答案

您可以使用 str.split 并保留最后一项:

df['Role'] = df['Path'].str.split(r'[_\\]').str[-1]
print(df)

# Output
                                     Path  Role
0    Main\Customer1\Project1\Project_LEAD  LEAD
1      Main\Customer1\Project1\Project_PM    PM
2      Main\Customer1\Project1\Project_QA    QA
3             Main\Customer1\Project1\DEV   DEV
4  Main\Customer1\ProjectSAS\Project_LEAD  LEAD
5    Main\Customer1\ProjectSAS\Project_PM    PM
6    Main\Customer1\ProjectSAS\Project_SA    SA
7           Main\Customer1\ProjectSAS\DEV   DEV

关于python - 如果Python中存在分隔符,如何提取字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71491964/

相关文章:

ios - 如何通过 Swift 3 在字典中获取具有单个值的不同键

python - 被 pandas dtype 转换为 np.float16 值 2053 变成 2052 感到困惑

python - TypeError : super() argument 1 must be type, 不是 MagicMock - azure-devops python 包

python - Azure 上的 Flask 应用程序为 POST 请求提供 400 错误代码

python - Geopandas:如何将列几何转换为字符串?

python - 如何在 Pandas 数据框中创建一个 boolean 空列?

python - 如何使用 Python 只读取 CSV 文件的标题列?

c - 将 strcmp 与数组索引一起使用

Python:如何检查导入的模块/包/类是否来自标准库

c++ - 编写 c++ 函数 format_string 进行格式化,如 std::string 的 sprintf