gpt4 book ai didi

Python Pandas 数据帧 : Compare rows two by two recusively.

转载 作者:太空宇宙 更新时间:2023-11-03 13:35:30 26 4
gpt4 key购买 nike

我想两两比较表中的行,只保留相似的匹配项。

import pandas as pd
df = pd.DataFrame.from_items([('a', [0,1,1,0]), ('b', [0,0,1,1]),('c',[1,0,0,1]), ('d',[1,0,1,0])], orient='index', columns=['A', 'B', 'C', 'D'])
df

A B C D
a 0 1 1 0
b 0 0 1 1
c 1 0 0 1
d 1 0 1 0

并在此表中进行转换:

     A  B  C  D
a/b 0 0 1 0
a/c 0 0 0 0
a/d 0 0 1 0
a/d 0 0 0 0
b/c 0 0 0 1
b/d 0 0 1 0
c/d 1 0 0 0

最佳答案

您可以使用 itertools 遍历所有行组合来创建一组新的项目,如下所示:

import itertools
new_items = [('{}/{}'.format(i1, i2), r1 * r2)
for (i1, r1), (i2, r2) in itertools.combinations(df.iterrows(), 2)]
transformed = pd.DataFrame.from_items(new_items, orient='index', columns=['A', 'B', 'C', 'D'])

关于Python Pandas 数据帧 : Compare rows two by two recusively.,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40472787/

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