Kshitij Yadav:
J'ai un dataframe qui est quelque chose comme ceci:
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
J'ai un dictionnaire qui a valeur par rapport à chaque mot:
{apple:1,
ball:2,
cat:3,
dog:4,
eel:5}
Je veux utiliser ce dictionnaire pour remplacer des valeurs dans la trame de données et trouver la somme de chaque ligne. Comment puis je faire ça?
En fin de compte, je veux quelque chose comme ceci:
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
alors map
la valeur
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)