【发布时间】:2020-02-19 02:34:07
【问题描述】:
我有一个看起来像这样的数据集-
ID Search Provider
1 Yes A
1 Yes B
1 No B
1 No C
2 Yes D
2 Yes A
2 Yes B
2 No B
2 No C
我想知道Search==Yes 的提供者是否与给定ID 的Search==No 不同。例如 - 'ID 1'、'Search=No' 发给提供商 B、C,而 'Search=Yes' 发给提供商 A、B。所以提供者 A 对于 ID 1 来说是新的。
我知道我可以使用isin 函数来识别两个列表之间的唯一值。但是,如何跨多行 ID 和 Search 执行此操作?以及如何将 Provider 值编译到由 ID 和 Search 定义的每个子组的列表中?我想我将需要使用嵌套循环但无法编写代码。如果有人可以帮助我,我将不胜感激。
【问题讨论】:
-
不能 100% 确定您想要的输出。但似乎你想拆分然后你可以
outermerge用一个指示器来确定两者中存在哪些提供程序,只有是或只有否。见stackoverflow.com/questions/53645882/pandas-merging-101
标签: python pandas loops dataframe