现在,你好,我想展示的是喜欢的欺骗性。第一栏的人可能喜欢第二栏的人。基本上,最好有4列A、B、C、d,为每个人显示他们喜欢的人,为那个人显示下一个,等等,基本上从(A、B)元组到(A、B)、(B、C)、(C、d)。 我只知道它必须是递归的,但我不知道如何签入不同的列并以递归的方式检查它们。所以多人可以喜欢一个人,但不是每个人都必须喜欢一个人。但如果是这样的话,它只能发生在3个人身上
所以,我有一个这样的数据帧:
import pandas as pd
d = {'col1': ['Ben', 'Mike', 'Carla', 'Maggy', 'Josh', 'Kai', 'Maria', 'Sophie'], 'col2': ['Carla', 'Carla', 'Josh', 'Ben', 'Lena', 'Maggy', 'Mike', 'Chad']}
df = pd.DataFrame(data=d)
df
我想要这样的输出:
d = {'A': ['Ben', 'Mike', 'Carla', 'Maggy', 'Josh', 'Kai', 'Maria', 'Sophie'], 'B': ['Carla', 'Carla', 'Josh', 'Ben', 'Lena', 'Maggy', 'Mike', 'Chad'], 'C': ['Josh', 'Josh', 'Lena', 'NA', 'NA', 'Ben', 'Carla', 'NA'], 'D': ['Lena', 'Lena', 'NA', 'NA', 'NA', 'NA', 'Josh', 'NA']}
df = pd.DataFrame(data=d)
df
我认为规则是这样的:
我怎样才能做到这一点?多谢各位
您需要的是两个左连接(合并)操作
以下是代码,为了清晰起见,分为几个步骤:
结果是:
相关问题 更多 >
编程相关推荐