python: cómo crear una nueva columna basada en pandas de columnas existentes

CorePress2024-01-25  14

Hola. Actualmente, para_str es una novela dividida en párrafos. Estoy tratando de ver si cada fila de para_str contiene diálogo buscando oraciones que comiencen y terminen con comillas. Si tienen comillas, quiero que la columna text_type de esa fila muestre "Diálogo" y si no, entonces "Narrativa". ¿Cómo puedo hacer esto?

Probé esto, pero parece que no funciona:

dfp.loc[dfp['para_str'].str.contains('"\w+"', regex=True), 'text_type'] = "Dialogue"


------------------------------------

Si quieres usar df.loc, solo necesitas crear una máscara de diálogo y luego puedes cambiarla a diálogo/narrativa

Dialogue = df['para_str'].str.contains('"', na=True)
df.loc[Dialogue, 'text_type'] = "Dialogue"
df.replace(to_replace = "None", value = "Narrative")```



------------------------------------

Copiar columna:

df['Dialogue'] = df['para_str']

Aplicar REGEX:

import re

def getQuotes(string):
    return re.findall(r'"([^"]*)"', string)

df2 = df['Dialogue'].apply(lambda x: getQuotes(x))
df['Dialogue'] = df2

Su guía para un futuro mejor - libreflare
Su guía para un futuro mejor - libreflare