簡體   English   中英

從Python的Dataframe列中的String中刪除子目錄

[英]Remove subdirectories from String in Dataframe Column in Python

我正在嘗試使用l和rsplit從此數據幀中刪除子目錄,並僅在數據幀的列中保留文件名。

import pandas as pd
data = ['D:/xyz/abc/123/file_1.txt', 'D:/xyz/abc/file2.txt', 'D:/xyz/file_2.txt']
data = pd.DataFrame(data)
data[0].str.rsplit('/').str[3]

返回值:

Out[1]: 
0          123
1    file2.txt
2          NaN
Name: 0, dtype: object

如您所見,無論str[]函數如何,它都不會僅保留txt文件名。

所需的輸出:

Out[1]: 
0    file_1.txt
1    file2.txt
2    file_2.txt
Name: 0, dtype: object

任何見識將不勝感激。 謝謝。

嘗試使用限制1的rsplit並選擇最后一項

data[0].str.rsplit('/', n=1).str[-1]

Out[194]:
0    file_1.txt
1     file2.txt
2    file_2.txt
Name: 0, dtype: object

可以使用os.path.split來獲取路徑的最后一部分

https://docs.python.org/3.3/library/os.path.html?highlight=path#os.path.split

import os

f = lambda x: os.path.split(x)[1]
data[0] = data[0].map(f)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM