Maison > développement back-end > Tutoriel Python > Comment créer efficacement un DataFrame Pandas avec des lignes séquentielles ?

Comment créer efficacement un DataFrame Pandas avec des lignes séquentielles ?

Mary-Kate Olsen
Libérer: 2024-12-16 11:59:10
original
297 Les gens l'ont consulté

How to Efficiently Create a Pandas DataFrame with Sequential Rows?

Création d'un Dataframe Pandas avec des lignes séquentielles

Dans la tâche d'analyse des données, il est souvent nécessaire de créer un DataFrame Pandas et d'ajouter de manière itérative lignes à cela. Pour y parvenir, plusieurs méthodes sont disponibles, chacune avec ses propres avantages.

Une approche consiste à utiliser le constructeur pd.DataFrame() avec le paramètre columns pour spécifier les noms de colonnes souhaités. Un DataFrame vide est créé, puis les lignes peuvent être ajoutées une par une à l'aide de la méthode _set_value() pour définir les valeurs de champ individuelles. Cependant, cette méthode est inefficace si plusieurs champs doivent être ajoutés simultanément pour chaque ligne.

Une solution plus efficace consiste à utiliser la syntaxe df.loc[i], où i représente l'index de la ligne. En attribuant une liste de valeurs à df.loc[i], la ligne entière à l'index i peut être remplie en une seule étape. Cette approche est considérablement plus rapide pour les grands ensembles de données, car elle évite le besoin de plusieurs appels à _set_value().

Pour illustrer cette méthode, considérez l'extrait de code suivant :

import numpy as np
import pandas as pd

df = pd.DataFrame(columns=['lib', 'qty1', 'qty2'])
for i in range(5):
    df.loc[i] = ['name' + str(i)] + list(np.random.randint(10, size=2))

print(df)
Copier après la connexion

Ce code crée un DataFrame vide avec trois colonnes : 'lib', 'qty1' et 'qty2'. Il génère ensuite cinq lignes de données, avec « nom » suivi de deux valeurs entières générées aléatoirement dans les colonnes restantes. Le résultat est un DataFrame avec la structure et les données spécifiées :

     lib qty1 qty2
0  name0    3    3
1  name1    2    4
2  name2    2    8
3  name3    2    1
4  name4    9    6
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