【发布时间】:2021-11-23 21:24:14
【问题描述】:
在 Pandas 中,我想按两列分组并计算共享了多少第三列值。增加了对更多共享的偏好。
在下面的数据框中,将 col1 值分组,将 col2 值分组并计算 col2 值共享 col3 值的频率。
结果是:ID1 和 ID2 共享一个 col3 值 (2)。 ID3 与无共享 (1)。但是,ID1、ID2 和 ID4 也共享一个值 (3)。由于 ID1 和 ID2 已经共享一个值,因此采用两个 ID 共享的值和更多 (3)。因此答案是 3,1。计数列表必须始终 = 唯一的 col2 值。
| col1 | col2 | col3 |
|---|---|---|
| A | ID1 | 15 |
| A | ID1 | 16 |
| A | ID1 | 12 |
| A | ID2 | 15 |
| A | ID2 | 12 |
| A | ID3 | 18 |
| A | ID4 | 19 |
| A | ID4 | 12 |
【问题讨论】:
-
你能提供你实际想要的结果吗?不仅仅是对中间结果的解释
-
@SangeerththanBalachandran - 我拒绝了您的编辑,因为您可以使用
pd.read_html('https://stackoverflow.com/q/69419264/14277722')[0]将此表读入数据框。您的修改让事情变得更加困难。 -
感谢您的反馈!答案很简单(对于 A):A:3,1。它可以是 dict 或 df ,其中第二列是列表,没关系。实际上,第一列中会有 B、C 等,所以进一步的结果