【发布时间】:2014-10-10 05:50:00
【问题描述】:
有几个关于字符串操作的问题,但我找不到允许我执行以下操作的答案——我认为它应该很简单......
我有一个 DataFrame,其中包含一个包含文件名和路径的列
下面产生一个有代表性的例子DataFrame:
df = pd.DataFrame({
'root': {'1': 'C:\\folder1\\folder2\\folder3\\folder4\\filename.csv'}
})
root
1 C:\folder1\folder2\folder3\folder4\filename.csv
我只想得到字符串的“文件名”部分。行数较多,路径不固定,无法使用str.replace
我可以像这样去掉最右边的“.csv”部分:
df['root'] = df['root'].str.rstrip('.csv')
root
1 C:\folder1\folder2\folder3\folder4\filename
但是我无法使用我读过的任何方法来删除字符串左侧的路径部分。
如果路径的前面元素可以从记录更改为记录,我如何仅返回此路径的“文件名”部分(字符串)?
【问题讨论】:
-
根据文件名的形式,DSM 的答案更可靠,但如果我所做的假设是真的,我希望基于
str的方法在矢量化时会更快跨度> -
谢谢,EdChum,这么快就回答了,真的很有帮助。很难知道要选择哪个答案,但我认为您在 DSM 的答案中承认的稳健性,以及有关 rstrip 的额外信息提示了规模......不过,感谢您的帮助。
-
您可以随时为多个答案投票,因为您可以接受一个
标签: python pandas string os.path