Kshitij Yadav:
Tengo una trama de datos que es algo como esto:
column1 column2
1 apple,apple,apple
2 ball,ball,ball
3 cat,dog,eel
4 dog,dog,dog
5 apple,cat,eel
6 apple,ball,cat
Tengo un diccionario que tiene valor frente cada palabra:
{apple:1,
ball:2,
cat:3,
dog:4,
eel:5}
Quiero utilizar este diccionario para sustituir los valores en la trama de datos y encontrar suma de cada fila. ¿Cómo puedo hacer eso?
Al final quiero algo como esto:
column1 column2 column3
1 apple,apple,apple 3
2 ball,ball,ball 6
3 cat,dog,eel 12
4 dog,dog,dog 12
5 apple,cat,eel 9
6 apple,ball,cat 6
YOBEN_S:
IIUC split
+ explode
entonces map
el valor
df.column2.str.split(',').explode().map(d).sum(level=0)
Out[286]:
0 3
1 6
2 12
3 12
4 9
5 6
Name: column2, dtype: int64
df['column3']=df.column2.str.split(',').explode().map(d).sum(level=0)