Skip to content

Commit bd2b70e

Browse files
authored
DOC: Replace .values with .to_numpy()
As suggested in pandas-dev#24807 (comment) Replace `.values` with `.to_numpy()` in the benchmark demonstration code.
1 parent 20fa58d commit bd2b70e

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

doc/source/user_guide/enhancingperf.rst

+6-6
Original file line numberDiff line numberDiff line change
@@ -234,14 +234,14 @@ the rows, applying our ``integrate_f_typed``, and putting this in the zeros arra
234234

235235
.. code-block:: ipython
236236
237-
In [4]: %timeit apply_integrate_f(df['a'].values, df['b'].values, df['N'].values)
237+
In [4]: %timeit apply_integrate_f(df['a'].to_numpy(), df['b'].to_numpy(), df['N'].to_numpy())
238238
1000 loops, best of 3: 1.25 ms per loop
239239
240240
We've gotten another big improvement. Let's check again where the time is spent:
241241

242242
.. ipython:: python
243243
244-
%prun -l 4 apply_integrate_f(df['a'].values, df['b'].values, df['N'].values)
244+
%prun -l 4 apply_integrate_f(df['a'].to_numpy(), df['b'].to_numpy(), df['N'].to_numpy())
245245
246246
As one might expect, the majority of the time is now spent in ``apply_integrate_f``,
247247
so if we wanted to make anymore efficiencies we must continue to concentrate our
@@ -286,7 +286,7 @@ advanced Cython techniques:
286286

287287
.. code-block:: ipython
288288
289-
In [4]: %timeit apply_integrate_f_wrap(df['a'].values, df['b'].values, df['N'].values)
289+
In [4]: %timeit apply_integrate_f_wrap(df['a'].to_numpy(), df['b'].to_numpy(), df['N'].to_numpy())
290290
1000 loops, best of 3: 987 us per loop
291291
292292
Even faster, with the caveat that a bug in our Cython code (an off-by-one error,
@@ -349,8 +349,8 @@ take the plain Python code from above and annotate with the ``@jit`` decorator.
349349
350350
351351
def compute_numba(df):
352-
result = apply_integrate_f_numba(df['a'].values, df['b'].values,
353-
df['N'].values)
352+
result = apply_integrate_f_numba(df['a'].to_numpy(), df['b'].to_numpy(),
353+
df['N'].to_numpy())
354354
return pd.Series(result, index=df.index, name='result')
355355
356356
Note that we directly pass NumPy arrays to the Numba function. ``compute_numba`` is just a wrapper that provides a
@@ -394,7 +394,7 @@ Consider the following toy example of doubling each observation:
394394
1000 loops, best of 3: 233 us per loop
395395
396396
# Custom function with numba
397-
In [7]: %timeit (df['col1_doubled'] = double_every_value_withnumba(df.a.values)
397+
In [7]: %timeit (df['col1_doubled'] = double_every_value_withnumba(df.a.to_numpy())
398398
1000 loops, best of 3: 145 us per loop
399399
400400
Caveats

0 commit comments

Comments
 (0)