Maison >développement back-end >Tutoriel Python >Comment insérer efficacement une liste dans une cellule spécifique d'un Pandas DataFrame ?
Lorsque vous travaillez avec des dataframes, il est souvent nécessaire d'ajuster le contenu des cellules. Dans ce cas, la tâche consiste à insérer une liste spécifique, « abc », dans la cellule 1B d'une trame de données. Diverses tentatives ont été faites, mais chacune a rencontré ses propres défis.
Initialement, une tentative d'attribuer la liste entière directement à la cellule à l'aide de df.ix[1,'B'] = abc a entraîné une ValueError en raison d'une inadéquation entre le nombre de clés et de valeurs. Utiliser df.ix[1,'B'] = [abc] crée à la place une liste avec la liste 'abc' comme seul élément, ce qui n'est pas souhaité.
Conversion de la liste en chaîne à l'aide de df. ix[1,'B'] = ', '.join(abc) produit le contenu prévu sous forme de chaîne plutôt que de liste. De même, l'utilisation de df.ix[1,'B'] = [', '.join(abc)] crée une liste avec un seul élément de chaîne.
Tentatives ultérieures d'insertion de la liste dans des dataframes avec des les types de colonnes, impliquant à la fois des entiers et des chaînes, rencontrent une erreur. Cela suggère que le problème réside dans les types de données mixtes des colonnes.
Pour résoudre ce problème, il est recommandé d'utiliser l'attribut at au lieu de loc. Cette méthode fait systématiquement référence à une valeur unique, évitant ainsi les problèmes rencontrés avec loc. De plus, s'assurer que la colonne dans laquelle est insérée a dtype=object évite d'autres erreurs.
Par exemple, le code suivant insère avec succès la liste 'abc' dans la cellule 1B du dataframe df2 :
import pandas as pd abc = ['foo', 'bar'] df2 = pd.DataFrame(data={'A': [12, 23], 'B': [None, None], 'C': ['bla', 'bla bla']}) df2['B'] = df2['B'].astype('object') # Ensure 'B' has dtype=object df2.at[1, 'B'] = abc print(df2)
Sortie :
A B C 0 12 NaN bla 1 23 [foo, bar] bla bla
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!