Maison > développement back-end > Tutoriel Python > Comment insérer des listes dans des cellules Pandas DataFrame sans erreurs ?

Comment insérer des listes dans des cellules Pandas DataFrame sans erreurs ?

Linda Hamilton
Libérer: 2024-11-02 08:50:29
original
775 Les gens l'ont consulté

How to Insert Lists into Pandas DataFrame Cells Without Errors?

Insertion de listes dans des cellules Pandas

Problème

En Python, tenter d'insérer une liste dans une cellule d'un Pandas DataFrame peut entraîner des erreurs ou des résultats inattendus. Par exemple, lorsque vous essayez d'insérer une liste dans la cellule 1B d'un DataFrame df :

df = pd.DataFrame({'A': [12, 23], 'B': [np.nan, np.nan]})
abc = ['foo', 'bar']
Copier après la connexion

Ce qui suit tente d'insérer la liste abc dans 1B, mais produit des erreurs ou une insertion incorrecte :

  1. df.ix[1,'B'] = abc - Erreur : doit avoir des clés et une valeur len égales lors de la configuration avec un itérable
  2. df.ix[1,'B'] = [abc ] - Insère une liste avec un élément : [['foo', 'bar']]
  3. df.ix[1,'B'] = ', '.join(abc) - Insère une chaîne : "foo, bar"
  4. df.ix[1,'B'] = [', '.join(abc)] - Insère une liste avec un élément : ['foo, bar']

Solution

Pour insérer des listes dans les cellules d'un DataFrame sans erreur, utilisez la méthode at, qui fait toujours référence à une seule valeur :

df.at[1, 'B'] = ['foo', 'bar']
Copier après la connexion

Cela insérera la abc list en 1B comme prévu :

    A  B
0  12  NaN
1  23  ['foo', 'bar']
Copier après la connexion

Notez que la colonne DataFrame doit avoir dtype=object pour permettre l'insertion de liste. Par exemple :

df['B'] = df['B'].astype('object')
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal