J'ai un dataframe df qui ressemble à ceci:
CustomerId Age
1 25
2 18
3 45
4 57
5 34
J'ai une liste appelée "Prix" qui ressemble à ceci:
Price = [123,345,1212,11,677]
Je veux ajouter cette liste à la trame de données. Voici mon code:
df['Price'] = Price
Cela semble fonctionner, mais lorsque j'imprime la trame de données, le champ appelé "Prix" contient toutes les informations de métadonnées telles que le nom, le type ... ainsi que la valeur du prix.
Comment puis-je créer une colonne appelée "Prix" contenant uniquement les valeurs de la liste de prix afin que la trame de données ressemble à:
CustomerId Age Price
1 25 123
2 18 345
3 45 1212
4 57 11
5 34 677
À mon avis, la solution la plus élégante consiste à utiliser assign
:
df.assign(Price=Price)
CustomerId Age Price
1 25 123
2 18 345
3 45 1212
4 57 11
5 34 677
notez que assigner réellement renvoie un DataFrame. Attribuer crée une nouvelle colonne 'Prix' (prix de gauche) avec le contenu de la liste de prix (prix de droite)
Vous pouvez ajouter la série pandas comme colonne.
import pandas as pd
df['Price'] = pd.Series(Price)
J'ai copié collé votre exemple dans une trame de données en utilisant pandas.read_clipboard puis j'ai ajouté la colonne comme ceci:
import pandas as pd
df = pd.read_clipboard()
Price = [123,345,1212,11,677]
df.loc[:,'Price'] = Price
df
Générer ceci:
CustomerId Age Price
0 1 25 123
1 2 18 345
2 3 45 1212
3 4 57 11
4 5 34 677
import pandas as pd
df['Price'] = pd.Series(Price)
si vous l'utilisez, vous n'obtiendrez pas l'erreur si vous avez moins de valeurs dans la série que dans votre trame de données, sinon vous obtiendrez l'erreur qui vous indiquera qu'il y a moins de valeurs dans la liste et qui ne peuvent pas être ajoutées.