小编Tim*_*per的帖子

处理重叠SVG图层中的鼠标事件

我正在使用d3.js构建地图可视化.我正为美国各州和县绘制填充多边形.县的SVG层位于州的层下.填充状态,但填充不透明度设置为0; 需要填充(我认为)来捕获点击事件.

我想在州一级捕获点击事件,但我想在县一级捕捉鼠标悬停事件.

但是,mouseover事件由状态捕获,而不是传递给各个县.

有没有办法将事件传递到一个层或以其他方式触发县上的鼠标悬停事件?

javascript jquery html5 svg d3.js

9
推荐指数
2
解决办法
4450
查看次数

测试Flask路线确实存在和不存在

我正在使用正则表达式创建大量Flask路由.我想要进行单元测试,检查是否存在正确的路由以及错误的路由404.

这样做的一种方法是启动本地服务器并使用urllib2.urlopen等.但是,我希望能够在Travis上运行这个测试,我假设这不是一个选择.

我还有另一种方法可以在我的应用程序上测试路线吗?

python testing unit-testing flask

8
推荐指数
2
解决办法
6531
查看次数

查找使矩阵中的行唯一的列的最小子集

什么是通用、有效的算法来查找离散值矩阵中使行唯一的列的最小子集。

例如,考虑这个矩阵(带有命名列):

A B C D
 2 1 0 0
 2 0 0 0
 2 1 2 2
 1 2 2 2
 2 1 1 0

矩阵中的每一行都是唯一的。但是,如果我们删除列ad保持相同的属性。

我可以枚举所有可能的列组合,但是,随着矩阵的增长,这很快就会变得棘手。有没有更快、最优的算法来做到这一点?

optimization combinatorics constraint-programming

7
推荐指数
1
解决办法
575
查看次数

计算 Pandas groupby 中的唯一索引值

在 Pandas 中,有一种非常干净的方法可以按操作计算组内列中的不同值。例如

ex = pd.DataFrame([[1, 2, 3], [6, 7, 8], [1, 7, 9]], 
                  columns=["A", "B", "C"]).set_index(["A", "B"])
ex.groupby(level="A").C.nunique()
Run Code Online (Sandbox Code Playgroud)

将返回

A
1    2
6    1
Name: C, dtype: int64
Run Code Online (Sandbox Code Playgroud)

我还想B在分组时计算索引级别中的不同值A。我无法找到一个干净的方式来访问的级别Bgroupby对象。我能想到的最好的是:

ex.reset_index("B", drop=False).groupby(level="A").B.nunique()
Run Code Online (Sandbox Code Playgroud)

正确返回:

A
1    2
6    1
Name: B, dtype: int64 
Run Code Online (Sandbox Code Playgroud)

有没有办法让我在不重置索引或使用apply函数的情况下在 groupby 上执行此操作?

python pandas

6
推荐指数
1
解决办法
7621
查看次数

将级别附加到 Pandas 系列索引

我正在尝试向 Pandas 系列添加一个级别。假设创建一个简单的系列:

 series = pd.Series(range(10), index = list("ABCDEFGHIJ"))
Run Code Online (Sandbox Code Playgroud)

series具有单一索引级别。我想添加第二个级别。使用 DataFrame,您可以DataFrame.set_index干净地完成此操作。然而,如果不先将我的系列转换为 DataFrame,我想出的最简单的方法是:

 index =  [np.array(["L2" for x in series.index]), np.array(series.index)]     
 series2 = pd.Series(series.tolist(), index = index)
Run Code Online (Sandbox Code Playgroud)

series2现在有一个具有两个级别的多重索引。

有没有更简单、更干净的方法?

python pandas

5
推荐指数
2
解决办法
4329
查看次数

完成编辑单元格后自动对 DataGridView 进行排序

我有一个简单的、未绑定的 DataGridView。我希望在编辑任何单元格后对特定列进行自动排序。我试图在触发事件dataGridView1.Sort时调用CellEndEdit,但我收到一个InvalidOperationException消息操作无效,因为它导致对 SetCurrentCellAddressCore 函数的可重入调用。

知道如何使列自动排序吗?

.net c# winforms

2
推荐指数
1
解决办法
7639
查看次数

计算每天在Pandas中看到的新ID的数量

鉴于以下数据,每天有哪些用户活跃,我想使用Pandas计算每天新用户的数量.

Data:
  Day | UserID
  ----------
   1  |  A 
   1  |  B
   1  |  C
   1  |  C
   ----------
   2  |  A 
   2  |  B
   2  |  D
   2  |  A 
   2  |  E
  ----------
   3  |  B 
   3  |  D
   3  |  F

Result:    
  Day | New Users
  ---------------
   1  |  3
   2  |  2
   3  |  1
Run Code Online (Sandbox Code Playgroud)

我看到它的方式,步骤是:

  1. 计算每天的最大用户ID: df.groupby('Day').UserID.max()
  2. 使用前一天的最大UserID过滤数据(初始化为0):这里我不知道如何使用Pandas做到这一点
  3. 计算过滤数据集中唯一用户的登录数.df.filtered.groupby( '日').UserID.nunique()

有没有一个干净的方法来实现这一目标?

python pandas

2
推荐指数
1
解决办法
53
查看次数