python - 从两个列表中获取元素的所有组合?

标签 python pandas

如果我有两个列表

l1 = [ 'A', 'B' ]

l2 = [ 1, 2 ]

获得如下所示的 pandas 数据框的最优雅方法是什么:

+-----+-----+-----+
|     | l1  | l2  |
+-----+-----+-----+
|  0  | A   | 1   |
+-----+-----+-----+
|  1  | A   | 2   |
+-----+-----+-----+
|  2  | B   | 1   |
+-----+-----+-----+
|  3  | B   | 2   |
+-----+-----+-----+

注意,第一列是索引。

最佳答案

使用product来自 itertools:

>>> from itertools import product
>>> pd.DataFrame(list(product(l1, l2)), columns=['l1', 'l2'])
  l1  l2
0  A   1
1  A   2
2  B   1
3  B   2

关于python - 从两个列表中获取元素的所有组合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25634489/

相关文章:

Python Pandas - 每个值的 SequenceMatcher 列并返回最接近的匹配

python - 如何在for循环中将变量保存为不同的文件?

python - Pandas 创建显示行的绝对最大值的列,但保留负数

python - 最长公共(public)子串矩阵

python-3.x - 如何返回索引大于整数且小于上一个索引的列值?

python - 如何在 Pandas 数据框中保留每组的前 3 行?

python - 根据 python 中的 cut 对 pandas 数据帧进行排序?

python - 如何从按连续变量分层的 Pandas 数据框中获取分层随机样本

python - 具有多个维度的 numpy.argsort 的排序不变量

python - SKLearn 交叉验证 : How to pass info on fold examples to my scorer function?