小编Chi*_*ony的帖子

大熊猫在一组中不包括重叠的时间间隔求和

我有一个数据框,其中每一行都有一个开始时间和一个结束时间。每行也有一个他们所属的组。我想要一个新列,以秒为单位给出该组中所有时间的总和。

例如,如果我们有一个如下所示的组:

         id1:    |----|
         id2:       |-----|
         id3:                      |--------|
                 .  .  .  .  .  .  .  .  .  .  .
time ->        12:00    12:04    12:07    12:10
Run Code Online (Sandbox Code Playgroud)

然后对于属于该组的所有行将获得 4+3 分钟 = 420 秒的总和时间

如果它们完全重叠,那么我们会得到这样的场景:

         id1:    |--------|
         id2:    |--------|
                 .  .  .  .  .  .  .  .  .  .  .
time ->        12:00    12:04    12:07    12:10
Run Code Online (Sandbox Code Playgroud)

这会给我们结果 4 分钟 = 240 秒。

下面是一些虚拟数据:


import pandas as pd

ids = [x for x in range(10)]
group = [0, 1, 1, 2, 2, 3, 4, …
Run Code Online (Sandbox Code Playgroud)

python python-3.x pandas pandas-groupby

4
推荐指数
1
解决办法
923
查看次数

根据权重,从python中的列表列表中随机选择列表

我有一个列表列表,其中每个列表与分数/重量相关联.我想通过从第一个列表中随机选择来生成一个新的列表列表,以便那些得分较高的列表更频繁地出现.当population只是一个普通的列表时,下面的行工作正常.但我希望将它列为清单列表.

population = [['a','b'],['b','a'],['c','b']]
list_of_prob = [0.2, 0.2, 0.6]

population = np.random.choice(population, 10, replace=True, p=list_of_prob)
Run Code Online (Sandbox Code Playgroud)

这将给出输出 ValueError: a must be 1-dimensional

python random numpy list

3
推荐指数
1
解决办法
939
查看次数

检查 DAG 的两个节点是否在恒定时间内位于同一条路径上

我有一个 DAG(有向无环图),它由边列表表示,例如

edges = [('a','b'),('a','c'),('b','d')]
Run Code Online (Sandbox Code Playgroud)

将给出图表

a - > b -> d
|
v
c
Run Code Online (Sandbox Code Playgroud)

我正在执行许多操作,我必须检查两个节点是否位于同一路径上(b并且d位于同一路径上,b而 和c不是来自上面的示例),这反过来又减慢了我的程序。我希望我能以某种方式遍历该图一次并保存所有路径,这样我就可以在恒定的时间内检查它。

这种加速可能吗?我将如何在 python 中实现它?

编辑:请注意,我需要检查两个方向,因此如果我有一对节点,(a,b)我需要检查atobbto a

python algorithm graph-traversal directed-acyclic-graphs graph-algorithm

3
推荐指数
1
解决办法
744
查看次数