Use el diccionario para reemplazar una cadena dentro de una cadena en las columnas de Pandas

owwoow14

Estoy tratando de usar un dictionary keypara reemplazar stringsen una pandascolumna con su values. Sin embargo, cada columna contiene frases. Por lo tanto, primero debo tokenizar las oraciones y detectar si una palabra en la oración se corresponde con una clave en mi diccionario, luego reemplazar la cadena con el valor correspondiente.

Sin embargo, el resultado que sigo obteniendo es ninguno. ¿Existe una forma pitónica mejor de abordar este problema?

Aquí está mi MVC por el momento. En los comentarios, especifiqué dónde está sucediendo el problema.

import pandas as pd

data = {'Categories': ['animal','plant','object'],
    'Type': ['tree','dog','rock'],
        'Comment': ['The NYC tree is very big','The cat from the UK is small','The rock was found in LA.']
}

ids = {'Id':['NYC','LA','UK'],
      'City':['New York City','Los Angeles','United Kingdom']}


df = pd.DataFrame(data)
ids = pd.DataFrame(ids)

def col2dict(ids):
    data = ids[['Id', 'City']]
    idDict = data.set_index('Id').to_dict()['City']
    return idDict

def replaceIds(data,idDict):
    ids = idDict.keys()
    types = idDict.values()
    data['commentTest'] = data['Comment']
    words = data['commentTest'].apply(lambda x: x.split())
    for (i,word) in enumerate(words):
        #Here we can see that the words appear
        print word
        print ids
        if word in ids:
        #Here we can see that they are not being recognized. What happened?
            print ids
            print word
            words[i] = idDict[word]
            data['commentTest'] = ' '.apply(lambda x: ''.join(x))
    return data

idDict = col2dict(ids)
results = replaceIds(df, idDict)

Resultados:

None

Estoy usando python2.7y cuando estoy imprimiendo dict, hay u'de Unicode.

Mi resultado esperado es:

Categorías

Comentario

Tipo

howTest

  Categories  Comment  Type commentTest
0 animal  The NYC tree is very big tree The New York City tree is very big 
1 plant The cat from the UK is small dog  The cat from the United Kingdom is small 
2 object  The rock was found in LA. rock  The rock was found in Los Angeles. 
Jezreel

Puede crear dictionaryy luego replace:

ids = {'Id':['NYC','LA','UK'],
      'City':['New York City','Los Angeles','United Kingdom']}

ids = dict(zip(ids['Id'], ids['City']))
print (ids)
{'UK': 'United Kingdom', 'LA': 'Los Angeles', 'NYC': 'New York City'}

df['commentTest'] = df['Comment'].replace(ids, regex=True)
print (df)
  Categories                       Comment  Type  \
0     animal      The NYC tree is very big  tree   
1      plant  The cat from the UK is small   dog   
2     object     The rock was found in LA.  rock   

                                commentTest  
0        The New York City tree is very big  
1  The cat from the United Kingdom is small  
2        The rock was found in Los Angeles.  

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

Python usa el diccionario para reemplazar variables en una cadena

Cómo reemplazar el valor de una cadena dentro de una cadena en javascript

reemplazar el primer valor en una cadena de datos pandas

Pandas: convierte todas las columnas en el marco de datos en una cadena

Dividir una cadena e insertar las partes en las columnas correctas dentro de una tabla

R: pasa un vector de cadenas para reemplazar todas las instancias dentro de una cadena

Métodos de cadena en Swift para reemplazar el primer carácter de una cadena

Reemplazar todas las apariciones de ";;" en una cadena en Java

Reemplazar una cadena en una columna para cada fila de un marco de datos de pandas

Reemplazar una cadena en una columna para cada fila de un marco de datos de pandas

En una cadena quiero reemplazar todas las palabras dentro de corchetes con su tercera cadena de bloque cuadrado

Reemplazar números dentro de una cadena

Reemplazar dentro de una cadena, Javascript

Elimine todas las filas que contengan una parte de una cadena en varias columnas en pandas

reemplace las subcadenas basadas en el rango de índice con valores de diccionario de una cadena

Reemplazar todas las apariciones de una cadena en un marco de datos de pandas (Python)

Reemplazar 2 caracteres dentro de una cadena en JavaScript

Reemplazar todas las apariciones de una cadena en JavaScript no funciona

Agregue una cadena a las columnas coincidentes (con varios tipos de datos) en el mismo marco de datos de Pandas

El método más rápido para reemplazar todas las instancias de un personaje en una cadena

Reemplazar varias palabras en una cadena con el diccionario (python)

Reemplazar varias palabras en una cadena con el diccionario (python)

Reemplazar una cadena usando el diccionario - regex

agregar el índice de caracteres de una letra recurrente dentro de una cadena en el diccionario de Python

¿Cómo reemplazar las vocales de una cadena con otras vocales para el cifrado?

Cómo anteponer una cadena a los nombres de las columnas para el marco de datos en R

Reemplazar todas las apariciones de una cadena dada con registros coincidentes en una cadena

Obtenga los nombres de las columnas del marco de datos de pandas en una lista cuando el valor de una celda sea igual a una cadena específica

sed para reemplazar el texto medio de una cadena dada

TOP Lista

  1. 1

    ¿Cómo ocultar la aplicación web de los robots de búsqueda? (ASP.NET)

  2. 2

    OAuth 2.0 utilizando Spring Security + WSO2 Identity Server

  3. 3

    Manera correcta de agregar referencias al proyecto C # de modo que sean compatibles con el control de versiones

  4. 4

    Ver todos los comentarios en un video de YouTube

  5. 5

    uitableview delete button image in iOS

  6. 6

    ¿Título del selector de SwiftUI?

  7. 7

    Swift / Firebase : Facebook 사용자가 계정을 만들 때 Firebase 데이터베이스에 제대로 저장하려면 어떻게해야합니까?

  8. 8

    ¿Es posible reemplazar los valores de un archivo config.properties a través de TFS?

  9. 9

    Representación de mapas 3D en juegos

  10. 10

    Golang ListenAndServeTLS devuelve datos cuando no se usa https en el navegador

  11. 11

    Declarar propiedades reactivas (agregar bloques de componentes dinámicamente desde la inserción de matriz)

  12. 12

    Cómo hacer que SwiftUI Text multilineTextAlignment comience desde arriba y centro

  13. 13

    Cómo depurar una aplicación React en Visual Studio 2019 usando la plantilla "Blank Node.js"

  14. 14

    Múltiples relaciones en la misma tabla con dos columnas Laravel

  15. 15

    No existe tal archivo o directorio cuando se inicia el nombre del directorio con /

  16. 16

    Verilog : 입력 신호를 한 클럭 주기로 지연시키는 방법은 무엇입니까?

  17. 17

    ¿Cómo hacer un generador de ruido Perlin más suave?

  18. 18

    Problème avec le dessin d'un élément Qml avec des appels OpenGL bruts

  19. 19

    El nombre 'HttpContext' no existe en el contexto actual en Razor

  20. 20

    WPF pleine largeur DataGridColumn sur la largeur de DataGrid

  21. 21

    Tengo algunos problemas con el syscall de golang cuando llamo a dll en win7-64

CalienteEtiquetas

Archivo