J'ai un ataframe avec des colonnes A et B. Je veux dire pour chaque ligne si une contient "Fred" puis B est appelée "bleu".
Je peux le faire avec cette ligne p>
0 FREDDDD blue 1 dfdfa dfdf 2 dfdf dfsd 3 GFDFJESS red 4 sdfdsfds dsfd
3 Réponses :
Utilisez quelque chose comme:
print(df) #dummy dataframe
Name some_col
0 Fred 1.0
1 CHECK 1.0
2 Jess NaN
3 CHECK 3.0
4 efg NaN
5 ijk 3.0
6 lmn 1.0
7 opq 7.0
d=dict(zip(df.Name,df.Name.str.contains('Fred')))
print(d)
{'Fred': True,
'CHECK': False,
'Jess': False,
'efg': False,
'ijk': False,
'lmn': False,
'opq': False}
Utilisez p> str.extract code> avec série.map code>:
Utilisation de Findall code> avec mappe code>, puis attribuez-le
dic code> n'a-t-il toujours que deux entrées?Non, il aura des charges
juste fait 2 pour l'exemple
Ok, dans ce cas, que se passe-t-il si une contient quelque chose d'autre que Fred et Jess?
Je vois ce que vous obtenez, mais il y aura beaucoup plus de sorties, que vrai et faux. So Fred = 1, Jess = 2, George = Bleu, Matt = voiture, etc.
Devraient-ils être des matchs de mots pleins? Par exemple, «Jess» doit correspondre à "Jessie"? Devrait "Fred" correspondre "Fred Flintstone"? Beaucoup de trous dans votre question ...
Oui, ne contient pas de match complet
Question finale: Si rien n'est égalé, est le résultat Nan?
ouais serait bien