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

Bagaimana untuk Melakukan Produk Cartesian DataFrames dalam Panda?

Patricia Arquette
Patricia Arquetteasal
2024-12-24 08:19:13342semak imbas

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

Output:

   col1  col2  col3
0     1     3     5
1     1     3     6
2     2     4     5
3     2     4     6

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

Output:

   col1  col2  col3
0     1     3     5
1     1     3     6
2     2     4     5
3     2     4     6

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!

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