如何使用Python中的Pandas获得巨大数据集的笛卡尔乘积

如何使用Python中的Pandas获得巨大数据集的笛卡尔乘积

在这篇文章中,我们将讨论如何对一个巨大的数据集进行笛卡尔乘积。我们在这里用来做笛卡尔乘积的函数是合并函数,它是所有标准数据库在DataFrame对象之间进行连接操作的入口。

语法:

data1 = pd.DataFrame({dataset_name_1’: [dataset_1]})
data2 = pd.DataFrame({dataset_name_2’: [dataset_2]})
data3 = pd.merge(data1.assign(key=1), data2.assign(key=1), on='key') .drop('key', axis=1)
Bash

参数:

  • dataset_name_1, dataset_name_2:这里,这些名字指的是需要做卡方乘积的数据集名称。
  • dataset_1, dataset_2: 这里,这些术语指的是需要做卡方积的完整数据集。
  • data1:它指的是一个数据框架对象。
  • data2:它指的是另一个数据框架对象。
  • on:必须要连接的列名。

一步一步实现:

第1步:首先,导入Pandas库。

import pandas as pd
Python

第2步:然后,获得你想进行笛卡尔乘积的数据集。

data1 = pd.DataFrame({'column_name': [dataset_1]})
data2 = pd.DataFrame({'column_name': [dataset_2]})
Python

步骤3:进一步,使用合并函数对获得的数据集进行笛卡尔乘积。

data3 = pd.merge(data1.assign(key=1), data2.assign(key=1),
                 on='key').drop('key', axis=1)
Python

第4步:最后,打印得到的笛卡尔乘积。

print(data3)
Python

示例:

# Python program to get Cartesian
# product of huge dataset
  
# Import the library Pandas
import pandas as pd
  
# Obtaining the dataset 1
data1 = pd.DataFrame({'P': [1,3,5]})
  
# Obtaining the dataset 2
data2 = pd.DataFrame({'Q': [2,4,6]})
  
# Doing cartesian product of datasets 1 and 2 
data3 = pd.merge(data1.assign(key=1), data2.assign(key=1), 
                 on='key').drop('key', axis=1)
  
# Printing the cartesian product of both datasets
print(data3)
Python

输出:

   P  Q
0  1  2
1  1  4
2  1  6
3  3  2
4  3  4
5  3  6
6  5  2
7  5  4
8  5  6
Python

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册