Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah saya boleh menggabungkan baris dua DataFrames dalam Panda, dan adakah terdapat kaedah alternatif untuk menggabungkan bingkai data?

Bagaimanakah saya boleh menggabungkan baris dua DataFrames dalam Panda, dan adakah terdapat kaedah alternatif untuk menggabungkan bingkai data?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-30 03:44:28954semak imbas

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

Menggabungkan Baris Dua Bingkai Data dalam Panda: Panduan

Apabila bekerja dengan data dalam panda, selalunya terdapat keadaan di mana ia menjadi perlu untuk menggabungkan data daripada pelbagai sumber. Ini boleh dicapai melalui pelbagai kaedah, salah satunya adalah penggabungan. Penggabungan membenarkan penjajaran mendatar dan penggabungan bingkai data, mempersembahkan paparan data yang komprehensif.

Menggabungkan Baris Dua Bingkai Data

Proses menggabungkan baris dalam dua bingkai data , df_a dan df_b, adalah mudah. Dengan memanggil fungsi concat dan menentukan paksi=1, anda boleh menggabungkan bingkai data mengikut lajur, menghasilkan bingkai data dengan bilangan baris yang sama (nRow) dengan kedua-dua df_a dan df_b dan bilangan lajur yang sama dengan jumlah nombor lajur dalam kedua-dua bingkai data.

Pertimbangkan contoh berikut:

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

Untuk menggabungkan bingkai data ini secara mendatar, anda akan menggunakan kod berikut:

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

Yang terhasil kerangka data akan mempunyai struktur berikut:

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

Kaedah Alternatif

Selain penggabungan, terdapat kaedah alternatif yang boleh digunakan untuk menggabungkan bingkai data. Kaedah ini termasuk penggabungan dan penggabungan.

Penggabungan

Penggabungan bingkai data menggabungkannya berdasarkan lajur atau kunci tertentu. Ini berguna apabila bingkai data berkongsi lajur biasa dan anda ingin menggabungkan data berdasarkan lajur tersebut. Untuk bingkai data df_a dan df_b yang diberikan di atas, yang mempunyai bilangan baris yang sama, anda boleh menggabungkannya menggunakan indeks seperti berikut:

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

Menyertai

Menyertai bingkai data adalah serupa dengan penggabungan, tetapi bukannya menggabungkan bingkai data berdasarkan lajur tertentu, ia bergabung dengan bingkai data berdasarkan kedudukan baris. Sekali lagi, untuk df_a dan df_b, yang mempunyai bilangan baris yang sama dan tiada indeks pendua, anda boleh menyertainya seperti berikut:

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

Pilihan kaedah yang hendak digunakan bergantung pada keperluan data tertentu anda tugas analisis. Penggabungan, penggabungan dan penggabungan semuanya menawarkan cara yang mudah untuk menggabungkan bingkai data dan memberikan kefleksibelan untuk mengendalikan pelbagai senario.

Atas ialah kandungan terperinci Bagaimanakah saya boleh menggabungkan baris dua DataFrames dalam Panda, dan adakah terdapat kaedah alternatif untuk menggabungkan bingkai data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn