Как разделить строки в столбце фрейма данных на основе разделителя? - PullRequest
0 голосов
/ 29 мая 2020

Итак, у меня есть фрейм данных, который выглядит следующим образом:

enter image description here

Я хочу разделить значения в столбце «Имя файла» на строки на основе "-" и "." а также удалите имя расширения. Затем я хочу разделить значения в столбце «Путь» на строки на основе «\» и «:». Как мне это сделать?

1 Ответ

1 голос
/ 29 мая 2020

Не совсем понятно, что вы здесь ищете. Но вот моя лучшая интерпретация.

Настройка:

df = pd.DataFrame({
    "Filename": ["doc-hi.txt", "oh-my-god.txt"],
    "Path": ["C:\asdf\asdf\asdf\kd.txt", "C:\asdcsc.docx"]
})

Отдельные строки

# "separate the values in 'Filename' column into strings based on '-' and '.' and also remove the extension name"
df["Filename_split"] = df["Filename"].apply(lambda _: os.path.splitext(_)[0]).str.split(r'\.|-')

# "separate the values in 'Path' column into strings based on '\' and ':'"
df["Path_split"] = df["Path"].str.split(r'\\|:')

Промежуточный Вывод

    Filename        Path                    Filename_split  Path_split
0   doc-hi.txt      C:sdf\sdf\sdf\kd.txt    [doc, hi]       [C, , asdf, asdf, asdf, kd.txt]
1   oh-my-god.txt   C:sdcsc.docx            [oh, my, god]   [C, sdcsc.docx]

Объединение токенов вместе

Чтобы объединить список строк обратно вместе в отдельные строки, вы str.join:

df['Filename_split'].str.join(' ')
df['Path_split'].str.join(' ')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...