pandas – agregar una nueva columna a la ttwig de datos del diccionario

Me gustaría agregar una columna ‘D’ a un dataframe como este:

U,L 111,en 112,en 112,es 113,es 113,ja 113,zh 114,es 

basado en el siguiente Diccionario:

 d = {112: 'en', 113: 'es', 114: 'es', 111: 'en'} 

para que el dataframe resultante aparezca como:

 U,L,D 111,en,en 112,en,en 112,es,en 113,es,es 113,ja,es 113,zh,es 114,es,es 

Hasta ahora probé el método pd.join() pero no puedo entender cómo funciona con los diccionarios.

Llame al map y pase el dict. Esto realizará una búsqueda y devolverá el valor asociado para esa clave:

 In [248]: d = {112: 'en', 113: 'es', 114: 'es', 111: 'en'} df['D'] = df['U'].map(d) df Out[248]: ULD 0 111 en en 1 112 en en 2 112 es en 3 113 es es 4 113 ja es 5 113 zh es 6 114 es es 

Aquí hay una forma más simple que también debería funcionar bien:

df["D"] = pd.Series(d)

Nota: las claves dict deben estar en el índice DataFrame para esto.

TypeError: 'dict' object is not callable error TypeError: 'dict' object is not callable para la solución de EdChum cuando bash usar index.map () … Y no he encontrado una forma de obtener un índice como Serie.

Así que encontré otra solución a este problema creando primero un objeto Series del objeto dict.

 new_d = pd.Series(d) 

Y luego haz el pd. Únete a la columna que te guste. Eso puede ayudar.