gpt4 book ai didi

python Pandas : Merge two tables without keys (Multiply 2 dataframes with broadcasting all elements; NxN dataframe)

转载 作者:太空狗 更新时间:2023-10-29 21:42:21 24 4
gpt4 key购买 nike

我想合并 2 个具有广播关系的数据帧:没有公共(public)索引,只想找到 2 个数据框中的所有行对。所以想要制作 N 行数据框 x M 行数据框 = N*M 行数据框。是否有任何规则可以在不使用 itertool 的情况下实现这一点?

DF1=
id quantity
0 1 20
1 2 23

DF2=
name part
0 'A' 3
1 'B' 4
2 'C' 5

DF_merged=
id quantity name part
0 1 20 'A' 3
1 1 20 'B' 4
2 1 20 'C' 5
3 2 23 'A' 3
4 2 23 'B' 4
5 2 23 'C' 5

最佳答案

您可以在 DataFramesmerge 中使用辅助列 tmp 填充 1在这个专栏上。最后你可以drop它:

DF1['tmp'] = 1
DF2['tmp'] = 1

print DF1
id quantity tmp
0 1 20 1
1 2 23 1

print DF2
name part tmp
0 'A' 3 1
1 'B' 4 1
2 'C' 5 1

DF = pd.merge(DF1, DF2, on=['tmp'])
print DF
id quantity tmp name part
0 1 20 1 'A' 3
1 1 20 1 'B' 4
2 1 20 1 'C' 5
3 2 23 1 'A' 3
4 2 23 1 'B' 4
5 2 23 1 'C' 5

print DF.drop('tmp', axis=1)
id quantity name part
0 1 20 'A' 3
1 1 20 'B' 4
2 1 20 'C' 5
3 2 23 'A' 3
4 2 23 'B' 4
5 2 23 'C' 5

关于 python Pandas : Merge two tables without keys (Multiply 2 dataframes with broadcasting all elements; NxN dataframe),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35234012/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com