J'ai une base de données existante à laquelle je dois ajouter une colonne supplémentaire qui contiendra la même valeur pour chaque ligne.
Df existant:
Date, Open, High, Low, Close
01-01-2015, 565, 600, 400, 450
Nouveau df:
Name, Date, Open, High, Low, Close
abc, 01-01-2015, 565, 600, 400, 450
Je sais comment ajouter une colonne series/dataframe existante. Mais il s'agit d'une situation différente, car tout ce dont j'ai besoin est d'ajouter la colonne "Nom" et de définir chaque ligne avec la même valeur, dans ce cas "abc".
Je ne sais pas trop comment faire ça.
df['Name']='abc'
ajoutera la nouvelle colonne et définira toutes les lignes sur cette valeur:
In [79]:
df
Out[79]:
Date, Open, High, Low, Close
0 01-01-2015, 565, 600, 400, 450
In [80]:
df['Name'] = 'abc'
df
Out[80]:
Date, Open, High, Low, Close Name
0 01-01-2015, 565, 600, 400, 450 abc
Vous pouvez utiliser insert
pour spécifier l'emplacement de la nouvelle colonne. Dans ce cas, j'utilise 0
pour placer la nouvelle colonne à gauche.
df.insert(0, 'Name', 'abc')
Name Date Open High Low Close
0 abc 01-01-2015 565 600 400 450
Travaux de doublure unique
df['Name'] = 'abc'
Crée une colonne Name
et définit toutes les lignes sur la valeur abc
Résumer ce que les autres ont suggéré et ajouter une troisième manière
Vous pouvez:
df.assign(Name='abc')
accédez à la nouvelle série de colonnes (elle sera créée) et définissez-la:
df['Name'] = 'abc'
insert (loc, colonne, valeur, allow_duplicates = False)
df.insert(0, 'Name', 'abc')
où l'argument loc (0 <= loc <= len (colonnes)) vous permet d'insérer la colonne à l'endroit souhaité.
'loc' vous donne l'indice que votre colonne sera à après l'insertion. Par exemple, le code ci-dessus insère le nom de la colonne en tant que 0e colonne, c’est-à-dire qu’il sera inséré avant la première colonne, devenant ainsi la nouvelle première colonne. (L'indexation commence à 0).
Toutes ces méthodes vous permettent également d'ajouter une nouvelle colonne à partir d'une série (il suffit de remplacer l'argument par défaut 'abc' ci-dessus par la série).