Maison  >  Article  >  développement back-end  >  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
Linda Hamiltonoriginal
2024-11-02 08:50:29677parcourir

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']

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']

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

    A  B
0  12  NaN
1  23  ['foo', 'bar']

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

df['B'] = df['B'].astype('object')

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!

Déclaration:
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