三行代码  ›  专栏  ›  技术社区  ›  Kiera.K

如何将多条路径的基名存储在pandas中的一列中

  •  0
  • Kiera.K  · 技术社区  · 1 月前

    我有一个熊猫数据框:

    
    Term.            DocFreq.  TermFreq.  Ngram.  Filenames
    
    witness says     1        1          2       '/Users/KieraKatsalapov/Desktop//LuceneIndexing/Docs/cnnValBartCnnDocs/doc657.txt'
    witness says of  2        2          3       '/Users/KieraKatsalapov/Desktop/LuceneIndexing/Docs/cnnValBartCnnDocs/doc192.txt,/Users/KieraKatsalapov/Desktop/LuceneIndexing/Docs/cnnValBartCnnDocs/doc153.txt'
    .
    .
    .
    

    我需要将文件名转换为基名。我知道我可以使用

    df['Filenames'] = df['Filenames'].apply(os.path.basenames)
    

    但这只转换最后一个文件名。例如,它将第二个条目中的filenamne直接转换为“doc153.txt”。

    我假设我需要使用lambda函数,该函数将接受整个文件名值并返回包含多个文件名的输出。但我不知道如何继续。

    请帮忙。

    1 回复  |  直到 1 月前
        1
  •  0
  •   jezrael    1 月前

    您可以按以下方式拆分值: , 对于每个值调用 os.path.basename ,最后由 , :

    df['Filenames'] = df['Filenames'].apply(lambda x:','.join(os.path.basename(y) for y in x.split(',')))