Python Pandas – 从两个 DataFrames 合并并创建笛卡尔积
要合并PandasDataFrame,请使用该merge()函数。通过在函数的“如何”参数下设置,笛卡尔积在两个数据帧上实现,merge()即-
how = “cross”
首先,让我们使用别名导入pandas库-
import pandas as pd
创建DataFrame1-
dataFrame1 = pd.DataFrame(
{
"Car": ['BMW', 'Mustang', 'Bentley', 'Jaguar'],"Units": [100, 150, 110, 120]
}
)创建DataFrame2
dataFrame2 = pd.DataFrame(
{
"Car": ['BMW', 'Tesla', 'Jaguar'],"Reg_Price": [7000, 8000, 9000]
}
)接下来,将DataFrames与“how”参数中的“cross”合并,即笛卡尔积-
mergedRes = pd.merge(dataFrame1, dataFrame2, how ="cross")
示例
以下是代码
import pandas as pd
#创建DataFrame1
dataFrame1 = pd.DataFrame(
{
"Car": ['BMW', 'Mustang', 'Bentley', 'Jaguar'],"Units": [100, 150, 110, 120]
}
)
print("DataFrame1 ...\n",dataFrame1)
#创建DataFrame2
dataFrame2 = pd.DataFrame(
{
"Car": ['BMW', 'Tesla', 'Jaguar'],"Reg_Price": [7000, 8000, 9000]
}
)
print("\nDataFrame2 ...\n",dataFrame2)
# merge DataFrames with "cross" in "how" parameteri.eCartesian Product
mergedRes = pd.merge(dataFrame1, dataFrame2, how ="cross")
print("\nMerged dataframe with cartesian product...\n", mergedRes)输出结果这将产生以下输出-
DataFrame1 ...
Car Units
0 BMW 100
1 Mustang 150
2 Bentley 110
3 Jaguar 120
DataFrame2 ...
Car Reg_Price
0 BMW 7000
1 Tesla 8000
2 Jaguar 9000
Merged dataframe with cartesian product...
Car Units Car_y Reg_Price
0 BMW 100 BMW 7000
1 BMW 100 Tesla 8000
2 BMW 180 Jaguar 9000
3 Mustang 150 BMW 7000
4 Mustang 150 Tesla 8000
5 Mustang 150 Jaguar 9000
6 Bentley 110 BMW 7000
7 Bentley 110 Tesla 8000
8 Bentley 110 Jaguar 9000
9 Jaguar 120 BMW 7000
10 Jaguar 120 Tesla 8000
11 Jaguar 120 Jaguar 9000热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短