Maison  >  Article  >  développement back-end  >  Comment combiner deux DataFrames avec un nombre égal de lignes dans Pandas ?

Comment combiner deux DataFrames avec un nombre égal de lignes dans Pandas ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-26 19:40:03327parcourir

How to Combine Two DataFrames with Equal Number of Rows in Pandas?

Concaténer des lignes de deux dataframes dans Pandas

Pour concaténer horizontalement deux dataframes, df_a et df_b, avec un nombre égal de lignes sans tenir compte des clés , utilisez la fonction concat avec le paramètre axis défini sur 1 :

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

Par exemple, considérons les deux dataframes suivants :

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

En utilisant la fonction concat avec axis=1, nous peut concaténer ces dataframes par colonne :

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

Cela donnera un dataframe avec le même nombre de lignes (3) et le nombre de colonnes égal à la somme des colonnes dans les deux dataframes (9) :

        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  

Notez que comme il n'y a pas de colonnes qui se chevauchent, le dataframe fusionné combine directement les colonnes en une seule table.

De plus, vous pouvez fusionner les dataframes en utilisant leurs indices puisqu'ils ont le même nombre de lignes, ce qui donne le même résultat :

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

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