我已经开始尝试数据分析以及相关工具:Pandas、Numpy、Jupyter等...
我正在处理的任务很简单,我可以轻松地使用常规Python完成。然而,我更感兴趣的是探索Pandas,并因此寻找Pandas解决方案。
我有这个简单的Pandas DataFrame。时间戳列只是一个Unix时间戳,但为了使事情更易读,我只是放置了一个更舒适的数字:
id | 时间戳 | 成功 |
---|---|---|
1 | 9999 | 是 |
2 | 1111 | 是 |
3 | 9999 | 否 |
4 | 1111 | 是 |
5 | 9999 | 是 |
6 | 1111 | 是 |
我想按时间戳进行分组,但我想要另一个聚合列,这是成功列的结果:如果为True,则计为1,如果为False,则计为0。
我希望下面的表可以说明我尝试实现的内容。基本上,1111有三个True,因此总和为3。9999有两个True和一个False,因此总和为2。
时间戳 | 成功 |
---|---|
1111 | 3 |
9999 | 2 |
reset_index()
会删除旧索引并将其设置回默认的0、1、2。您可以尝试将其删除。它会给出相同的结果,但在1111和9999前面会有0 1。现在关于sum()
部分。尝试用数字替换True和False。您会看到差异。如果我没记错的话,Python在添加布尔值时将True转换为1,将False转换为0。因此,对它们求和会得到所需的结果。如果您的True和False值是数字,我们无法使用此方法来查找频率。 - Skapis9999