gpt4 book ai didi

python - Pandas 数据框从父列和子列中删除最后一个 "\"

转载 作者:行者123 更新时间:2023-11-28 19:46:46 25 4
gpt4 key购买 nike

我有一个 pandas 数据框,我希望删除之前和最后一个 \ 的所有内容,以便剩下的就是可执行文件。这就是我想要实现的:C:\Windows\System32\services.exeservices.exe

    Parent                              Child                           PID     PID System_Or_User
0 C:\Windows\System32\services.exe C:\Windows\System32\svchost.exe 10396 752 System
1 C:\Windows\System32\services.exe C:\Windows\System32\svchost.exe 11688 752 System
2 C:\Windows\System32\services.exe C:\Windows\System32\svchost.exe 11624 752 System

我已经尝试过一些这样的事情,但似乎无法正确处理,可能是因为 Windows 和 Python 不喜欢它使用的 \:

PID['Parent'] = PID['Parent'].apply(lambda x: x[0].split('\ ')[-1])

PID['Parent'] = PID['Parent'].apply(lambda x: x[0].split(' \ ')[+1])

最佳答案

使用str.split通过使用索引转义 \ - 选择 lists 的最后一个值:

PID['Parent'] = PID['Parent'].str.split('\\').str[-1]
PID['Child'] = PID['Child'].str.split('\\').str[-1]

另一个类似的想法 - 使用 str.rsplit n=1 被最后一个 \ 分割以获得更好的性能:

PID['Parent'] = PID['Parent'].str.rsplit('\\', n=1).str[-1]
PID['Child'] = PID['Child'].str.rsplit('\\', n=1).str[-1]

详细信息:

print (PID['Parent'].str.rsplit('\\', n=1))
0 [C:\Windows\System32, services.exe]
1 [C:\Windows\System32, services.exe]
2 [C:\Windows\System32, services.exe]
Name: Parent, dtype: object

print (PID)
Parent Child PID PID System_Or_User
0 services.exe svchost.exe 10396 752 System
1 services.exe svchost.exe 11688 752 System
2 services.exe svchost.exe 11624 752 System

关于python - Pandas 数据框从父列和子列中删除最后一个 "\",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51583544/

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