小编SLa*_*r01的帖子

numpy数组中非唯一行的快速组合,映射到列(即快速数据透视表问题,没有Pandas)

我想知道是否有人可以提供有关以下编码问题的任何想法或建议,我对快速Python实现特别感兴趣(即避免使用Pandas)。

我有一组(虚拟示例)数据,例如:

|   User   |   Day   |   Place   |   Foo   |   Bar   |
      1         10        5          True     False
      1         11        8          True     False
      1         11        9          True     False
      2         11        9          True     False
      2         12        1          False    True
      1         12        2          False    True
Run Code Online (Sandbox Code Playgroud)

在给定的日期/地点包含2个用户(“ user1”和“ user2”)的数据,其中有2个布尔值(这里称为foo和bar)。

我只对在同一天和同一地点为两个用户记录数据的情况感兴趣。有了这些相关的数据行,我接下来要为日期/地点条目创建新列,以将用户和foo / bar描述为bool。

|   Day   |   Place   |   User 1 Foo   |   User 1 Bar   |   User 2 Foo   |   User 2 Bar   |
    11           9          True            False              True           False
Run Code Online (Sandbox Code Playgroud)

每个列数据存储在numpy数组中。我感谢这是使用枢纽分析表功能(例如Pandas解决方案是:

user = np.array([1, …
Run Code Online (Sandbox Code Playgroud)

python arrays numpy vectorization pandas

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

在Python中计算大型复杂数组的指数[exp()]函数的最快方法

我正在开发使用 scipy 的 complex_ode 集成 ODE 的代码,其中被积函数包括傅立叶变换和作用于大量复数值的指数运算符。

为了优化性能,我已经对此进行了分析,发现主要瓶颈是(在使用 PyFFTW 等优化 FFT 之后):

val = np.exp(float_value * arr)
Run Code Online (Sandbox Code Playgroud)

我目前正在使用 numpy,我理解它称为 C 代码 - 因此应该很快。但是有什么办法可以进一步提高性能吗?

我已经研究过使用 Numba,但由于我的主循环也包含 FFT,我认为它无法编译(nopython=True 标志会导致错误),因此,我怀疑它没有任何收益。

这是我要优化的代码的测试示例:

arr = np.random.rand(2**14) + 1j *np.random.rand(2**14)
float_value = 0.5
%timeit np.exp(float_value * arr)
Run Code Online (Sandbox Code Playgroud)

任何建议欢迎感谢。

python optimization numpy ode numba

5
推荐指数
1
解决办法
3837
查看次数

Matplotlib 箭袋绘图与恒定的箭头大小

我正在尝试绘制一个简单的箭袋图(例如在 matplotlib 库中:http : //matplotlib.org/examples/pylab_examples/quiver_demo.html),尽管我不希望启用自动缩放功能。

我只想显示场方向,而不是幅度。

有没有办法将箭头大小设置为常量?我尝试使用比例和比例单位,但这似乎只是通过一些共同因素改变了所有箭头。

谢谢

python field vector matplotlib

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

标签 统计

python ×3

numpy ×2

arrays ×1

field ×1

matplotlib ×1

numba ×1

ode ×1

optimization ×1

pandas ×1

vector ×1

vectorization ×1