Python:在数据框中创建包含列表作为其值的两列的组合

斯里曼斯

我有一个列中有列表的数据框,我试图找出最有效的方法来找到两个列表的组合 -

df = pd.DataFrame([[['a','b','c'],['l','m']],[['d','e','f'],['n','o']]],columns = ['col1','col2'])

现在在这种情况下的输出将是 -

     col1   col2
0   [a, l]  [a, m]
1   [b, l]  [b, m]
2   [c, l]  [c, m]
3   [d, n]  [d, o]
4   [e, n]  [e, o]
5   [f, n]  [f, o]

我尝试遍历每一行,然后应用 itertools.combinations。但是它使我的系统因数据框中的行数增加而崩溃。你能建议我任何有效的方法来做到这一点吗?提前致谢。

亨利·伊克

您还可以使用itertools.productnumpy.reshape

from itertools import product

print (pd.DataFrame(np.reshape([list(product(a,b))
                                for a,b in df.to_numpy()],
                               (-1,2,2)).tolist()))

        0       1
0  [a, l]  [a, m]
1  [b, l]  [b, m]
2  [c, l]  [c, m]
3  [d, n]  [d, o]
4  [e, n]  [e, o]
5  [f, n]  [f, o]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Python:在Python数据框中创建包含列表作为其值的两列的组合

从包含字典作为其值的列表中检索数据(python)

python pandas在数据框列中添加列表作为默认值

在数据框中扩展列表,但包含包含列表的两列

在数据框中使用包含嵌套列表名称的值创建新的标识符列

在数据框中为组合创建 na 值

如何组合熊猫数据框中的两列并为其设置值?

如何通过在数据框R中创建列值列表来对列值进行分组

如何在两个不同列表中包含的基于数据框的值中创建新列?

创建一个表以显示列表是否包含在数据框的分组列中

根据其值计数在数据框中删除列

在数据库的两列中搜索值组合

在数据框列表中创建列表名称列

从包含列表作为列值的数据框中进行绘图

如何基于包含值作为列表的列联接数据框

如何使用python在数据框中将一列中的列表分为两列?

遍历列表以在数据框中创建新列

根据其他列值/ Pandas -Python 在数据框中创建 ID 列

根据它们的值组合熊猫数据框中的两列

Python - 如何检查列表中的所有值是否都在数据框列中?

在数据框的列中创建值对的Pythonic方法

使用列值在数据框中创建新行

从dict调用值以在数据框中创建布尔列

在数据框中旋转选择表以在 Python 中创建值列标题

如何基于python数据框中的两列组合创建唯一的代码

可扩展的方法,以Python中的pandas将列表中的值作为数据框中的列值

在数据框python中减去两行值

使用列表作为行中的值创建Pandas数据框

Python Pandas:使用三个不同的值在数据框中创建一列