Réponse :
Les valeurs manquantes peuvent être gérées en utilisant df.dropna() pour supprimer les lignes/colonnes contenant des NaNs, ou df.fillna() pour remplacer les NaNs par une valeur spécifique (par exemple, 0, moyenne, médiane, ou remplissage avant/arrière). Le choix dépend des données et des objectifs de l'analyse.
Expliquez la différence entre loc et iloc pour l'indexation de DataFrame.
Réponse :
loc est principalement une indexation basée sur les étiquettes, ce qui signifie que vous utilisez les étiquettes de lignes/colonnes pour sélectionner les données. iloc est une indexation basée sur la position entière, ce qui signifie que vous utilisez les positions entières (de 0 à longueur-1) pour sélectionner les données. Les deux peuvent être utilisés pour des sélections uniques ou du slicing.
Réponse :
Les JOINs de type SQL sont effectués à l'aide de la fonction pd.merge(). Vous spécifiez les DataFrames, l'argument on pour les colonnes communes, et l'argument how pour le type de jointure (par exemple, 'inner', 'left', 'right', 'outer').
Réponse :
Les données sont groupées en utilisant la méthode df.groupby(), en spécifiant la ou les colonnes par lesquelles grouper. Après le groupement, une fonction d'agrégation comme sum(), mean(), count(), min(), ou max() peut être appliquée à l'objet groupé pour résumer les données.
Réponse :
Pour les opérations par colonne, utilisez df['column'].apply(custom_func). Pour les opérations par ligne ou élément par élément sur plusieurs colonnes, utilisez df.apply(custom_func, axis=1) pour les lignes ou df.apply(custom_func, axis=0) pour les colonnes. Les opérations vectorisées sont généralement préférées pour les performances.
À quoi sert pivot_table, et en quoi diffère-t-il de groupby ?
Réponse :
pivot_table est utilisé pour créer un tableau croisé dynamique de style feuille de calcul sous forme de DataFrame, résumant les données par une ou plusieurs clés de colonnes. Alors que groupby agrège les données en fonction d'une ou plusieurs clés, pivot_table permet également de "désempiler" (unstack) et de remodeler les données dans un nouveau format tabulaire avec des index, des colonnes et des valeurs spécifiés.
Réponse :
Le type de données d'une colonne peut être changé en utilisant la méthode astype(), par exemple df['column'] = df['column'].astype('int') ou df['column'] = pd.to_datetime(df['column']) pour les dates. Ceci est crucial pour une manipulation et une analyse correctes des données.
Réponse :
Les lignes dupliquées peuvent être supprimées en utilisant la méthode df.drop_duplicates(). Par défaut, elle considère toutes les colonnes et conserve la première occurrence. Vous pouvez spécifier un sous-ensemble de colonnes en utilisant l'argument subset et si vous souhaitez conserver les doublons 'first', 'last', ou False (tous).
Réponse :
De nouvelles colonnes peuvent être créées en effectuant des opérations sur des colonnes existantes, par exemple df['new_col'] = df['col1'] + df['col2']. Pour une logique plus complexe, la méthode apply() avec une fonction lambda ou une fonction définie peut être utilisée, ou np.where() pour les affectations conditionnelles.
Quel est le but de stack() et unstack() dans Pandas ?
Réponse :
stack() transforme un DataFrame (ou une Series) du format large au format long, en pivotant l'index de colonne le plus interne pour en faire l'index de ligne le plus interne. unstack() effectue l'opération inverse, en pivotant l'index de ligne le plus interne pour en faire l'index de colonne le plus interne, transformant du format long au format large.
Réponse :
Un DataFrame peut être trié en utilisant la méthode df.sort_values(). Vous spécifiez l'argument by avec un nom de colonne ou une liste de noms de colonnes. L'argument ascending (par défaut True) contrôle l'ordre de tri, et inplace=True peut modifier le DataFrame directement.
Quand utiliseriez-vous pd.concat() par rapport à pd.merge() ?
Réponse :
pd.concat() est utilisé pour combiner des DataFrames le long d'un axe (par ligne ou par colonne) lorsqu'ils ont des structures similaires ou que vous souhaitez les empiler. pd.merge() est utilisé pour combiner des DataFrames basés sur des colonnes communes (clés), similaire aux jointures SQL, lorsque vous souhaitez combiner des données liées provenant de différentes sources.