Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Melakukan Produk Cartesian DataFrames dalam Panda?

Bagaimana untuk Melakukan Produk Cartesian DataFrames dalam Panda?

Patricia Arquette
Lepaskan: 2024-12-24 08:19:13
asal
339 orang telah melayarinya

How to Perform a Cartesian Product of DataFrames in Pandas?

Produk Cartesian dalam Panda

Dalam tugasan manipulasi data, selalunya perlu untuk menggabungkan baris daripada berbilang bingkai data menjadi satu bingkai data. Satu cara untuk mencapai matlamat ini ialah dengan melaksanakan produk cartesian, yang menjana semua kemungkinan gabungan baris daripada bingkai data input.

Untuk versi Pandas >= 1.2, fungsi gabungan menyediakan kaedah terbina dalam untuk produk cartesian pengiraan. Kod berikut menunjukkan penggunaannya:

import pandas as pd
df1 = pd.DataFrame({'col1':[1,2],'col2':[3,4]})
df2 = pd.DataFrame({'col3':[5,6]})    

df1.merge(df2, how='cross')
Salin selepas log masuk

Output:

   col1  col2  col3
0     1     3     5
1     1     3     6
2     2     4     5
3     2     4     6
Salin selepas log masuk
Salin selepas log masuk

Untuk versi Pandas < 1.2, pendekatan alternatif menggunakan fungsi gabungan tersedia. Dalam kaedah ini, kunci biasa ditambahkan pada setiap bingkai data untuk memudahkan penggabungan:

import pandas as pd
df1 = pd.DataFrame({'key':[1,1], 'col1':[1,2],'col2':[3,4]})
df2 = pd.DataFrame({'key':[1,1], 'col3':[5,6]})

pd.merge(df1, df2,on='key')[['col1', 'col2', 'col3']]
Salin selepas log masuk

Output:

   col1  col2  col3
0     1     3     5
1     1     3     6
2     2     4     5
3     2     4     6
Salin selepas log masuk
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Melakukan Produk Cartesian DataFrames dalam Panda?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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