Maison  >  Article  >  développement back-end  >  Comment puis-je concaténer des lignes de deux DataFrames dans Pandas, et existe-t-il des méthodes alternatives pour combiner des dataframes ?

Comment puis-je concaténer des lignes de deux DataFrames dans Pandas, et existe-t-il des méthodes alternatives pour combiner des dataframes ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-30 03:44:28954parcourir

How can I concatenate rows of two DataFrames in Pandas, and are there any alternative methods for combining dataframes?

Concaténation de lignes de deux dataframes dans Pandas : un guide

Lorsque vous travaillez avec des données dans Pandas, il arrive souvent qu'il devienne nécessaire de combiner des données provenant de plusieurs sources. Ceci peut être réalisé par diverses méthodes, dont la concaténation. La concaténation permet l'alignement horizontal et la fusion de trames de données, présentant une vue complète des données.

Concaténation de lignes de deux trames de données

Le processus de concaténation de lignes dans deux trames de données , df_a et df_b, est simple. En appelant la fonction concat et en spécifiant axis=1, vous pouvez concaténer les trames de données par colonne, ce qui donne une trame de données avec le même nombre de lignes (nRow) que df_a et df_b et un nombre de colonnes égal à la somme du nombre. de colonnes dans les deux dataframes.

Considérons l'exemple suivant :

<code class="python">dict_data = {'Treatment': ['C', 'C', 'C'], 'Biorep': ['A', 'A', 'A'], 'Techrep': [1, 1, 1], 'AAseq': ['ELVISLIVES', 'ELVISLIVES', 'ELVISLIVES'], 'mz':[500.0, 500.5, 501.0]}
df_a = pd.DataFrame(dict_data)
dict_data = {'Treatment1': ['C', 'C', 'C'], 'Biorep1': ['A', 'A', 'A'], 'Techrep1': [1, 1, 1], 'AAseq1': ['ELVISLIVES', 'ELVISLIVES', 'ELVISLIVES'], 'inte1':[1100.0, 1050.0, 1010.0]}
df_b = pd.DataFrame(dict_data)</code>

Pour concaténer ces dataframes horizontalement, vous utiliseriez le code suivant :

<code class="python">pd.concat([df_a,df_b], axis=1)</code>

Le résultat dataframe aurait la structure suivante :

<code class="python">        AAseq Biorep  Techrep Treatment     mz      AAseq1 Biorep1  Techrep1  \
0  ELVISLIVES      A        1         C  500.0  ELVISLIVES       A         1   
1  ELVISLIVES      A        1         C  500.5  ELVISLIVES       A         1   
2  ELVISLIVES      A        1         C  501.0  ELVISLIVES       A         1   

  Treatment1  inte1  
0          C   1100  
1          C   1050  
2          C   1010  </code>

Méthodes alternatives

En plus de la concaténation, il existe des méthodes alternatives qui peuvent être utilisées pour combiner des dataframes. Ces méthodes incluent la fusion et la jointure.

Fusion

La fusion de cadres de données les combine en fonction d'une colonne ou d'une clé spécifique. Ceci est utile lorsque les dataframes partagent une colonne commune et que vous souhaitez combiner les données en fonction de cette colonne. Pour les dataframes df_a et df_b donnés ci-dessus, qui ont le même nombre de lignes, vous pouvez les fusionner en utilisant les indices comme suit :

<code class="python">df_a.merge(df_b, left_index=True, right_index=True)</code>

Joining

Joining Les dataframes sont similaires à la fusion, mais au lieu de combiner les dataframes en fonction d'une colonne spécifique, ils les rejoignent en fonction de la position des lignes. Encore une fois, pour df_a et df_b, qui ont le même nombre de lignes et aucun index en double, vous pouvez les joindre comme suit :

<code class="python">df_a.join(df_b)</code>

Le choix de la méthode à utiliser dépend des exigences de vos données particulières. tâche d'analyse. La concaténation, la fusion et la jonction offrent toutes des moyens pratiques de combiner des trames de données et offrent la flexibilité nécessaire pour gérer divers scénarios.

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