如何使用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)
参数:
- dataset_name_1, dataset_name_2:这里,这些名字指的是需要做卡方乘积的数据集名称。
- dataset_1, dataset_2: 这里,这些术语指的是需要做卡方积的完整数据集。
- data1:它指的是一个数据框架对象。
- data2:它指的是另一个数据框架对象。
- on:必须要连接的列名。
一步一步实现:
第1步:首先,导入Pandas库。
import pandas as pd
第2步:然后,获得你想进行笛卡尔乘积的数据集。
data1 = pd.DataFrame({'column_name': [dataset_1]})
data2 = pd.DataFrame({'column_name': [dataset_2]})
步骤3:进一步,使用合并函数对获得的数据集进行笛卡尔乘积。
data3 = pd.merge(data1.assign(key=1), data2.assign(key=1),
on='key').drop('key', axis=1)
第4步:最后,打印得到的笛卡尔乘积。
print(data3)
示例:
# 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)
输出:
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
极客教程