Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah saya boleh menggabungkan dua Pandas DataFrames secara mendatar (secara lajur) dalam Python, serupa dengan fungsi `cbind` dalam R?

Bagaimanakah saya boleh menggabungkan dua Pandas DataFrames secara mendatar (secara lajur) dalam Python, serupa dengan fungsi `cbind` dalam R?

Barbara Streisand
Lepaskan: 2024-10-27 08:35:03
asal
737 orang telah melayarinya

How can I combine two Pandas DataFrames horizontally (column-wise) in Python, similar to the `cbind` function in R?

Sambungkan Baris Dua Bingkai Data dalam Panda

Soalan:
Bagaimana saya boleh menggabungkan dua bingkai data secara mendatar (bijak lajur) dalam Python Pustaka Pandas, serupa dengan fungsi cbind dalam R?

Penyelesaian:
Untuk menggabungkan bingkai data secara mendatar tanpa mengambil kira kekunci, gunakan fungsi pd.concat() dengan axis=1 parameter . Parameter ini menentukan penyatuan sepanjang lajur:

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

Contoh:
Pertimbangkan contoh berikut:

<code class="python">import pandas as pd

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)

result = pd.concat([df_a, df_b], axis=1)

print(result)</code>
Salin selepas log masuk

Output:

        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  
Salin selepas log masuk

Seperti yang anda lihat, bingkai data yang terhasil mempunyai bilangan baris dan lajur yang sama dengan jumlah dua bingkai data asal.

Kaedah Alternatif:
Selain pd.concat(), anda juga boleh menggunakan merge() atau join() untuk penggabungan kolumnar buta. Walau bagaimanapun, kaedah ini memerlukan padanan indeks atau kunci antara bingkai data:

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

# Using join()
result = df_a.join(df_b)</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah saya boleh menggabungkan dua Pandas DataFrames secara mendatar (secara lajur) dalam Python, serupa dengan fungsi `cbind` dalam R?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan