小编Car*_*mer的帖子

大熊猫行具体适用

此R问题类似,我想使用Pandas将函数应用于Series(或DataFrame中的每一行)中的每个项目,但是希望将该行的索引或id用作此函数的参数.作为一个简单的例子,假设有人想要创建[(index_i,value_i),...,(index_n,value_n)]形式的元组列表.使用简单的Python for循环,我可以这样做:

In [1] L = []
In [2] s = Series(['six', 'seven', 'six', 'seven', 'six'],
           index=['a', 'b', 'c', 'd', 'e'])
In [3] for i, item in enumerate(s):
           L.append((i,item))
In [4] L
Out[4] [(0, 'six'), (1, 'seven'), (2, 'six'), (3, 'seven'), (4, 'six')]
Run Code Online (Sandbox Code Playgroud)

但必须有一个更有效的方法来做到这一点?或许更像Panda-likeh喜欢Series.apply?实际上,我并不担心(在这种情况下)返回任何有意义的东西,但更多的是为了"应用"之类的效率.有任何想法吗?

python pandas

9
推荐指数
1
解决办法
2291
查看次数

类似于浏览器的 async_hooks 之类的东西?

我正在尝试调试在浏览器上下文中运行的一些(第三方)代码,并且我想跟踪所有下游异步函数调用,这几乎正是async_hooksNodejs 提供的。本质上,类似https://github.com/mafintosh/why-is-node-running但在浏览器中。我会满足于“接近的东西”,或者如果必须的话甚至修补全局变量......

有谁知道有什么距离很近的东西吗?这(/sf/answers/3447180271/)看起来很有希望,但它似乎不适用于我的子调用?!

我应该指出,我在这里的实际用途实际上只是记录异步函数调用的计数,以便在测试结束时,我知道我是否“泄漏”了异步调用。

我还应该指出,这(https://github.com/AndreasMadsen/async-hook/issues/15)似乎表明我在浏览器中可能不走运(尽管我只接受大约正确的结果)结果)。

javascript debugging async-await

8
推荐指数
1
解决办法
1370
查看次数

matplotlib - 控制线条集合的大小/大量的线条

与前一个我的问题类似,我想控制使用matplotlib绘制的线条的capstyle.但是,我有非常多的行,并且除了行集合之外的任何绘图都需要太长时间.是否有任何变通方法以通用方式控制行集合中的行的capstyle(或者,绘制大量Line2D行的超快速方式).例如,我尝试过使用matplotlib rc设置:

import matplotlib as mpl
mpl.rcParams['lines.solid_capstyle'] = 'round'
mpl.rcParams['lines.solid_joinstyle'] = 'round'
Run Code Online (Sandbox Code Playgroud)

但这似乎没有任何影响.来自docstring collections.py:

这些类并不意味着像它们的单个元素一样灵活(例如,您可能无法选择所有的线条样式),但它们对于常见用例来说是快速的(例如,大量的实线选择)

这解释了为什么我似乎无法控制各种参数,但我仍然想要这样做!我已经看过AGG后端的代码了(_backend_agg.cpp不是我真的理解它),看来line_cap和line_join是由gc.cap和控制的gc.join,其中gc来自GCAgg类.有谁知道如何从Python控制这个?我在这里问正确的问题吗?也许这是控制这些参数的更简单方法?

非常感谢任何帮助......我非常渴望得到这个工作,所以即使是疯狂的黑客也欢迎!

谢谢,

卡森

python lines matplotlib

7
推荐指数
2
解决办法
1371
查看次数

networkx draw_networkx_edges capstyle

有没有人知道在通过(例如)绘制networkx边缘时是否可以对线属性进行细粒度控制draw_networkx_edges?我想控制线solid_capstylesolid_joinstyle(matplotlib)Line2D属性.

>>> import networkx as nx
>>> import matplotlib.pyplot as plt
>>> G = nx.dodecahedral_graph()
>>> edges = nx.draw_networkx_edges(G, pos=nx.spring_layout(G), width=7)
>>> plt.show()
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,边缘之间存在"间隙",我想通过控制capstyle隐藏它们.我想要以恰当的大小添加节点来填充间隙,但是我最终绘图中的边缘是彩色的,因此添加节点不会削减它.我无法从文档中弄清楚或者看看edges.properties()如何做我想做的事......有什么建议吗?

卡森

python matplotlib networkx

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