【发布时间】:2019-12-08 12:59:12
【问题描述】:
我有一个熊猫数据框,里面有一些列。我感兴趣的专栏是这样的,
df['col'] = ['A', 'A', 'B', 'C', 'B', 'A']
我想让另一列说col_count,这样它会在col 中显示从该索引到列末尾的计数值。
列中的第一个 A 应该具有值 3,因为在该索引的列中出现了 3 次 A。第二个 A 将具有值 2 等等。
最后,我想得到如下结果,
col col_count
0 A 3
1 A 2
2 B 2
3 C 1
4 B 1
5 A 1
如何在 pandas 中有效地做到这一点。?我可以通过循环遍历数据帧并为切片数据帧获取该值的唯一计数来做到这一点。
有没有一种有效的方法来做到这一点。最好是没有循环的东西。
问题的另一部分是,我有另一个这样的专栏以及col,
df['X'] = [10, 40, 10, 50, 30, 20]
我想以与计算列col 相同的方式总结此列。
例如,在索引 0 处,我将有 10 + 40 + 20 作为总和。在索引 1 处,总和将为 40 + 20。简而言之,我不想计算,而是想对另一列求和。
结果会是这样,
col col_count X X_sum
0 A 3 10 70
1 A 2 40 60
2 B 2 10 40
3 C 1 50 50
4 B 1 30 30
5 A 1 20 20
【问题讨论】:
-
这不是重复的,实际上另一个问题与这个无关