微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

我有一个如下所示的Dataframe:

OwnerID    Value
1            A
1            B
1            C
1            D

这是缩短版本,我拥有数千个OwnerID的值.我想为Value列创建对,其中每个Value与其他每个Value配对,并将结果作为对列表.

例如,对于OwnerID 1,结果集应该是以下列表:

[A,B]

[A,C]

[A,D]

[B,C]

[B,D]

[C,D]

我可以编写2 for循环来实现这一点,但这不会非常有效或pythonic.有人知道更好的方法来实现这一目标吗?

任何帮助将非常感激.

解决方法:

import itertools as iter
df2 = df.groupby('OwnerID').Value.apply(lambda x: list(iter.combinations(x, 2)))

将为每个唯一所有者ID返回所需的输出

OwnerID
1    [(A, B), (A, C), (A, D), (B, C), (B, D), (C, D)]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐