Les Pandas - la Création d'une Nouvelle Colonne
J'ai toujours fait de nouvelles colonnes dans les pandas en utilisant les éléments suivants:
df['new_column'] = value
Je suis en utilisant cette méthode, cependant, je suis la réception de l'avertissement pour la définition d'une copie.
Quel est le moyen de faire une nouvelle colonne sans la création d'une copie?
- De cette manière, est l'un de plusieurs façons correctes. L'avertissement que vous obtenez est parce que
df
est une copie de quelque chose d'autre et maintenant vous essayez de changerdf
. Vous devez vous assurer que vous êtes ok avecdf
dissocié de ce qu'il a été copié à partir de. Une fois que vous êtes, vous pouvez soitdf.is_copy = None
oudf = df.copy()
. Il y a d'autres façons de traiter avec elle. La façon dont je veux m'assurer de ne jamais voir c'est que lorsque je créedf
d'autres soures, j'ai l'habitude de fairedf = other_df.loc[:, :]
à l'Aide deloc
dissocie pour moi. Alors quedf = other_df[my_cols]
ne le fait pas. - Fournir la version de python et les pandas clairement étroit vers le bas de la racine de l'avertissement.
- J'ai interprété la question de dire: comment puis-je effectuer une modification à un DataFrame où la modification est la création d'une nouvelle colonne en allouer plus de mémoire à l'existant DataFrame, et pas la copie.
Vous devez vous connecter pour publier un commentaire.
Essayez d'utiliser
Comme piRSquared commentaires,
df
est probablement une copie d'un autre DataFrame et lorsque vous définissez des valeurs pourdf
probablement engage dans ce qui est appelé de la chaîne d'indexation. Reportez-vous à les pandas docs pour de plus amples informations.