python - 如何连接来自两个不同数据框的行的组合?

标签 python pandas

我有两个具有不同列名的数据框。我想创建一个新的数据框,其列名是两个数据框列的串联。得到的行数将是两个数据集的行之间的所有可能组合(n_rows 选择 2)。

df1 = pd.DataFrame({'A': ['1', '2']})
df2 = pd.DataFrame({'B': ['a', 'b', 'c']})

会产生

df3 = pd.DataFrame({'A': ['1', '1', '1', '2', '2', '2'], 
                       'B': ['a', 'b', 'c', 'a', 'b', 'c']})

最佳答案

使用itertools.product() :

import itertools
pd.DataFrame(list(itertools.product(df1.A,df2.B)),columns=['A','B'])

   A  B
0  1  a
1  1  b
2  1  c
3  2  a
4  2  b
5  2  c

关于python - 如何连接来自两个不同数据框的行的组合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56260984/

相关文章:

numpy - 如何在 Ubuntu 上安装最新版本的 NumPy/Scipy/Matplotlib/IPython/Pandas

python - 用积分函数拟合数据

python - SWIG:需要可变字符串类型映射帮助

python - 使用 .groupby() 后重命名列的问题

python - Pandas:根据某些列的字符串值将数据框拆分为单独的数据框

python - 如何使用 Dask 从谷歌云存储中读取多个大型 CSV 文件的 block ,而不会使内存一次性重载

python - 使用 NumPy reduceat 计算基于组的平均值

python - 在 Python 中使用 PhantomJS 向下滚动到无限页面的底部

python - 已安装软件包的配置信息在哪里?

python - 如何用插值替换 pandas df 中的值