J'ai un DataFrame simple comme le suivant:
Je veux sélectionner toutes les valeurs de la colonne «Première saison» et remplacer celles qui sont supérieures à 1990 par 1. Dans cet exemple, seuls les Ravens de Baltimore auraient le 1996 remplacé par 1 (en gardant le reste des données intactes).
J'ai utilisé ce qui suit:
df.loc[(df['First Season'] > 1990)] = 1
Mais, il remplace toutes les valeurs de cette ligne par 1, et pas seulement les valeurs de la colonne «Première saison».
Comment puis-je remplacer uniquement les valeurs de cette colonne?
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all()
. Ce que j'essaie de faire, c'est essentiellementdf['A'] = np.where(df['B'] in some_values, df['A']*2, df['A]
. Quelqu'un a-t-il une idée là-dessus?étrange que personne n'ait cette réponse, la seule partie manquante de votre code est la ['première saison'] juste après df et supprimez simplement vos accolades à l'intérieur.
la source
pour une seule condition, ie.
( 'employrate'] > 70 )
utilisez ceci:
donc la syntaxe ici est:
Pour plusieurs conditions ie.
(df['employrate'] <=55) & (df['employrate'] > 50)
utilisez ceci:
donc la syntaxe ici est:
la source
Explication:
df.loc
prend deux arguments, «index de ligne» et «index de colonne». Nous vérifions si la valeur est supérieure à 27 de chaque valeur de ligne, sous la colonne «Première saison», puis nous la remplaçons par 1.la source