python-3.x - 如何添加从现有列添加和求和计数的新列?
问题描述
我有这个python代码:
counting_bach_new = counting_bach.groupby(['User Name', 'time_diff', 'Logon Time']).size()
print("\ncounting_bach_new")
print(counting_bach_new)
...得到这个整洁的结果:
counting_bach_new
User Name time_diff Logon Time
122770 -132 days +21:38:00 1 1
-122 days +00:41:00 1 1
123526 -30 days +12:04:00 1 1
-29 days +16:39:00 1 1
-27 days +18:16:00 1 1
..
201685 -131 days +21:21:00 1 1
202047 -106 days +10:14:00 1 1
202076 -132 days +10:22:00 1 1
-132 days +14:46:00 1 1
-131 days +21:21:00 1 1
那么如何添加新列来添加和汇总现有列的计数?最右边带有 1 的列应该被忽略,而我——另一方面——想添加一个新列,总结每个“用户名”的“时间差异”计数,即新列中的结果应该总和 #每个用户列出的观察结果。总结 # of time_diffs 或 Logon Time's。对于用户名 122770,新列的总和应为 2,对于 123526,它的总和应为 3,依此类推....
我尝试了几次尝试,包括(但不工作)......
counting_bach_new.groupby('User Name').agg(MySum=('Logon Time', 'sum'), MyCount=('Logon Time', 'count'))
任何帮助,将不胜感激。谢谢你,你的善意支持。来自@Hubsandspokes 的圣诞问候
解决方案
如果我正确理解了请求,请尝试:
counting_bach_new.reset_index().groupby(['User Name'])['Logon Time'].count()
如果您需要保存起始列数,请尝试:
counting_bach_new.reset_index().groupby(['User Name'])['Logon Time'].transform('count')
推荐阅读
- java - 如何在 JAVA 中一次传递一个类的两个单独实例以对该类中的某些数据进行排序
- java - 测试邮件是否使用Java成功发送
- wordpress - 如何在本地、测试和生产环境中高效地部署 Wordpress
- c# - Unity2D相机按玩家到物体的距离缩小,当它远离物体时放大
- python - 在类常量中调用类方法
- jenkins - Jenkins - 如何设置 XML 属性然后写回 XML 文件
- sql-server - 有没有办法用导入过程替换所有本地表?
- sql - 试图理解标量函数的作用
- excel - 尝试从带有参数的模块类调用子方法时出现错误 438
- swift - Swift 纪录片:参数显示在额外的框中