PERF: multi-column sort_values speedup
Speedup achieved for sorting by multiple columns: lexsort over multiple columns
replaced with mergesort of columns in reverse order than specified in "by"
argument of DataFrame.sort_values()

 - [ ] closes #17111
 - [x] tests added / passed
 - [x] passes ``git diff upstream/master -u -- "*.py" | flake8 --diff``
 - [x] whatsnew entry

# [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/17141?src=pr&el=h1) Report
> Merging [#17141](https://codecov.io/gh/pandas-dev/pandas/pull/17141?src=pr&el=desc) into [master](https://codecov.io/gh/pandas-dev/pandas/commit/6fe68325de93a5f745ff49eac57589d33a1d53c1?src=pr&el=desc) will **decrease** coverage by `0.01%`.
> The diff coverage is `100%`.

[![Impacted file tree graph](https://codecov.io/gh/pandas-dev/pandas/pull/17141/graphs/tree.svg?token=eZ4WkYLtcO&src=pr&height=150&width=650)](https://codecov.io/gh/pandas-dev/pandas/pull/17141?src=pr&el=tree)

```diff
@@            Coverage Diff             @@
##           master   #17141      +/-   ##
==========================================
- Coverage   91.02%   91.01%   -0.02%     
==========================================
  Files         162      163       +1     
  Lines       49539    49552      +13     
==========================================
+ Hits        45095    45101       +6     
- Misses       4444     4451       +7
```

| Flag | Coverage Δ | |
|---|---|---|
| #multiple | `88.79% <100%> (ø)` | :arrow_up: |
| #single | `40.25% <0%> (-0.07%)` | :arrow_down: |

| [Impacted Files](https://codecov.io/gh/pandas-dev/pandas/pull/17141?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [pandas/core/frame.py](https://codecov.io/gh/pandas-dev/pandas/pull/17141?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvZnJhbWUucHk=) | `97.71% <100%> (-0.11%)` | :arrow_down: |
| [pandas/io/gbq.py](https://codecov.io/gh/pandas-dev/pandas/pull/17141?src=pr&el=tree#diff-cGFuZGFzL2lvL2dicS5weQ==) | `25% <0%> (-58.34%)` | :arrow_down: |
| [pandas/core/indexes/range.py](https://codecov.io/gh/pandas-dev/pandas/pull/17141?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvaW5kZXhlcy9yYW5nZS5weQ==) | `92.18% <0%> (-0.63%)` | :arrow_down: |
| [pandas/compat/numpy/\_\_init\_\_.py](https://codecov.io/gh/pandas-dev/pandas/pull/17141?src=pr&el=tree#diff-cGFuZGFzL2NvbXBhdC9udW1weS9fX2luaXRfXy5weQ==) | `93.93% <0%> (-0.18%)` | :arrow_down: |
| [pandas/tseries/frequencies.py](https://codecov.io/gh/pandas-dev/pandas/pull/17141?src=pr&el=tree#diff-cGFuZGFzL3RzZXJpZXMvZnJlcXVlbmNpZXMucHk=) | `96.51% <0%> (-0.16%)` | :arrow_down: |
| [pandas/core/missing.py](https://codecov.io/gh/pandas-dev/pandas/pull/17141?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvbWlzc2luZy5weQ==) | `84.3% <0%> (-0.07%)` | :arrow_down: |
| [pandas/core/indexes/base.py](https://codecov.io/gh/pandas-dev/pandas/pull/17141?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvaW5kZXhlcy9iYXNlLnB5) | `95.88% <0%> (-0.06%)` | :arrow_down: |
| [pandas/core/base.py](https://codecov.io/gh/pandas-dev/pandas/pull/17141?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvYmFzZS5weQ==) | `95.96% <0%> (-0.06%)` | :arrow_down: |
| [pandas/core/series.py](https://codecov.io/gh/pandas-dev/pandas/pull/17141?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvc2VyaWVzLnB5) | `94.95% <0%> (-0.05%)` | :arrow_down: |
| ... and [25 more](https://codecov.io/gh/pandas-dev/pandas/pull/17141?src=pr&el=tree-more) | |

------

[Continue to review full report at Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/17141?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/17141?src=pr&el=footer). Last update [6fe6832...41a7a99](https://codecov.io/gh/pandas-dev/pandas/pull/17141?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
 Thanks @jreback for feedback and hints.
I added some asv benchmarks and realized, that proposed sorting works well for all types except string, which is weird. I have to profile the code, find the speed issue and decide what is the problem. It happens only if a `str` column is sorted, i.e. I guess something with copying of values...  can you rebase / update Hello @mficek! Thanks for updating the PR.

 - In the file [`asv_bench/benchmarks/frame_methods.py`](https://github.com/pandas-dev/pandas/blob/41a7a99b77e4dc181dffed442c2f236f4254175d/asv_bench/benchmarks/frame_methods.py), following are the PEP8 issues :

> [Line 351:9](https://github.com/pandas-dev/pandas/blob/41a7a99b77e4dc181dffed442c2f236f4254175d/asv_bench/benchmarks/frame_methods.py#L351): [E122](https://duckduckgo.com/?q=pep8%20E122) continuation line missing indentation or outdented
> [Line 538:80](https://github.com/pandas-dev/pandas/blob/41a7a99b77e4dc181dffed442c2f236f4254175d/asv_bench/benchmarks/frame_methods.py#L538): [E501](https://duckduckgo.com/?q=pep8%20E501) line too long (103 > 79 characters)
> [Line 554:13](https://github.com/pandas-dev/pandas/blob/41a7a99b77e4dc181dffed442c2f236f4254175d/asv_bench/benchmarks/frame_methods.py#L554): [E124](https://duckduckgo.com/?q=pep8%20E124) closing bracket does not match visual indentation
> [Line 559:80](https://github.com/pandas-dev/pandas/blob/41a7a99b77e4dc181dffed442c2f236f4254175d/asv_bench/benchmarks/frame_methods.py#L559): [E501](https://duckduckgo.com/?q=pep8%20E501) line too long (110 > 79 characters)
> [Line 560:80](https://github.com/pandas-dev/pandas/blob/41a7a99b77e4dc181dffed442c2f236f4254175d/asv_bench/benchmarks/frame_methods.py#L560): [E501](https://duckduckgo.com/?q=pep8%20E501) line too long (115 > 79 characters)
> [Line 561:80](https://github.com/pandas-dev/pandas/blob/41a7a99b77e4dc181dffed442c2f236f4254175d/asv_bench/benchmarks/frame_methods.py#L561): [E501](https://duckduckgo.com/?q=pep8%20E501) line too long (120 > 79 characters)
> [Line 562:80](https://github.com/pandas-dev/pandas/blob/41a7a99b77e4dc181dffed442c2f236f4254175d/asv_bench/benchmarks/frame_methods.py#L562): [E501](https://duckduckgo.com/?q=pep8%20E501) line too long (117 > 79 characters)
> [Line 563:80](https://github.com/pandas-dev/pandas/blob/41a7a99b77e4dc181dffed442c2f236f4254175d/asv_bench/benchmarks/frame_methods.py#L563): [E501](https://duckduckgo.com/?q=pep8%20E501) line too long (127 > 79 characters)
> [Line 566:5](https://github.com/pandas-dev/pandas/blob/41a7a99b77e4dc181dffed442c2f236f4254175d/asv_bench/benchmarks/frame_methods.py#L566): [E303](https://duckduckgo.com/?q=pep8%20E303) too many blank lines (2)







##### Comment last updated on August 29, 2017 at 14:30 Hours UTC Please find below some results from ASV benchmark. As I observed before, when string-typed column is sorted, then my proposed method is slow. I have to find some time and benchmark the sorting code to find out if that is caused by copying of underlaying data or rather missing lexsort, which is in original version. I'm not sure if making some "hybrid" sort based on column data-types would be a good way to continue.
```
       before           after         ratio
     [f2b0bdc9]       [d3ee46c3]
+     5.14±0.04ms      10.3±0.07ms     2.00  frame_methods.frame_sort_values_by_multiple_columns.time_frame_sort_values_by_multiple_columns('repeated_strings|date')
+     5.12±0.06ms      9.87±0.04ms     1.93  frame_methods.frame_sort_values_by_multiple_columns.time_frame_sort_values_by_multiple_columns('repeated_strings|timedelta')
+     8.17±0.06ms      12.1±0.05ms     1.48  frame_methods.frame_sort_values_by_multiple_columns.time_frame_sort_values_by_multiple_columns('repeated_strings|repeated_category|less_repeated_category|float|timedelta')
+      10.6±0.2ms      15.1±0.08ms     1.43  frame_methods.frame_sort_values_by_multiple_columns.time_frame_sort_values_by_multiple_columns('repeated_strings|float|int_sorted|date|timedelta')
+      9.76±0.1ms      12.1±0.09ms     1.24  frame_methods.frame_sort_values_by_multiple_columns.time_frame_sort_values_by_multiple_columns('repeated_strings|repeated_category|float|int_sorted|int_random')
+      17.5±0.2ms       21.6±0.1ms     1.23  frame_methods.frame_sort_values_by_multiple_columns.time_frame_sort_values_by_multiple_columns('repeated_strings|less_repeated_strings|less_repeated_category|int_random|timedelta')
+      9.35±0.1ms       11.1±0.1ms     1.19  frame_methods.frame_sort_values_by_multiple_columns.time_frame_sort_values_by_multiple_columns('repeated_strings|repeated_category|float|date|timedelta')
-      14.4±0.1ms       12.8±0.1ms     0.89  frame_methods.frame_sort_values_by_multiple_columns.time_frame_sort_values_by_multiple_columns('less_repeated_strings|date')
-     4.24±0.06ms      2.60±0.04ms     0.61  frame_methods.frame_sort_values_by_multiple_columns.time_frame_sort_values_by_multiple_columns('less_repeated_category|int_sorted')
-      4.30±0.1ms      2.53±0.01ms     0.59  frame_methods.frame_sort_values_by_multiple_columns.time_frame_sort_values_by_multiple_columns('less_repeated_category|timedelta')
-     6.87±0.07ms      3.56±0.04ms     0.52  frame_methods.frame_sort_values_by_multiple_columns.time_frame_sort_values_by_multiple_columns('float|int_random')
-     6.00±0.08ms      2.78±0.03ms     0.46  frame_methods.frame_sort_values_by_multiple_columns.time_frame_sort_values_by_multiple_columns('int_random|date')
-     6.28±0.08ms      2.86±0.04ms     0.46  frame_methods.frame_sort_values_by_multiple_columns.time_frame_sort_values_by_multiple_columns('float|date')

       before           after         ratio
     [6fe68325]       [bbba95b1]
+      58.0±0.9ms        130±0.5ms     2.24  frame_methods.frame_sort_values_by_multiple_columns.time_frame_sort_values_by_multiple_columns('less_repeated_strings|timedelta')
+        58.8±1ms        129±0.2ms     2.20  frame_methods.frame_sort_values_by_multiple_columns.time_frame_sort_values_by_multiple_columns('less_repeated_strings|int_sorted')
+      64.9±0.7ms        140±0.9ms     2.16  frame_methods.frame_sort_values_by_multiple_columns.time_frame_sort_values_by_multiple_columns('less_repeated_strings|int_random')
+         112±1ms          179±1ms     1.59  frame_methods.frame_sort_values_by_multiple_columns.time_frame_sort_values_by_multiple_columns('less_repeated_strings|repeated_category|int_sorted|int_random|date')
+         115±1ms        173±0.5ms     1.51  frame_methods.frame_sort_values_by_multiple_columns.time_frame_sort_values_by_multiple_columns('less_repeated_strings|repeated_category|int_random|date|timedelta')
+       122±0.8ms          181±2ms     1.49  frame_methods.frame_sort_values_by_multiple_columns.time_frame_sort_values_by_multiple_columns('less_repeated_strings|repeated_category|float|int_random|date')
+       101±0.8ms          148±1ms     1.47  frame_methods.frame_sort_values_by_multiple_columns.time_frame_sort_values_by_multiple_columns('less_repeated_strings|repeated_category|less_repeated_category|float|timedelta')
+         136±3ms        188±0.7ms     1.38  frame_methods.frame_sort_values_by_multiple_columns.time_frame_sort_values_by_multiple_columns('less_repeated_strings|float|int_sorted|int_random|date')
+         114±1ms          128±1ms     1.12  frame_methods.frame_sort_values_by_multiple_columns.time_frame_sort_values_by_multiple_columns('less_repeated_strings|less_repeated_category|int_sorted|int_random|timedelta')
-      21.3±0.3ms      18.8±0.08ms     0.89  frame_methods.frame_sort_values_by_multiple_columns.time_frame_sort_values_by_multiple_columns('repeated_category|less_repeated_category')
-       112±0.7ms       69.4±0.2ms     0.62  frame_methods.frame_sort_values_by_multiple_columns.time_frame_sort_values_by_multiple_columns('less_repeated_category|float|int_sorted|int_random|timedelta')
-         112±1ms       67.9±0.5ms     0.60  frame_methods.frame_sort_values_by_multiple_columns.time_frame_sort_values_by_multiple_columns('less_repeated_category|float|int_sorted|int_random|date')
-      44.8±0.9ms       26.3±0.2ms     0.59  frame_methods.frame_sort_values_by_multiple_columns.time_frame_sort_values_by_multiple_columns('less_repeated_category|float')
-         112±1ms       64.4±0.3ms     0.57  frame_methods.frame_sort_values_by_multiple_columns.time_frame_sort_values_by_multiple_columns('repeated_category|float|int_sorted|int_random|date')
-      92.0±0.6ms       51.8±0.2ms     0.56  frame_methods.frame_sort_values_by_multiple_columns.time_frame_sort_values_by_multiple_columns('repeated_category|less_repeated_category|int_random|date|timedelta')
-      45.0±0.3ms      23.1±0.09ms     0.51  frame_methods.frame_sort_values_by_multiple_columns.time_frame_sort_values_by_multiple_columns('repeated_category|float')
-         124±1ms         62.9±2ms     0.51  frame_methods.frame_sort_values_by_multiple_columns.time_frame_sort_values_by_multiple_columns('float|int_sorted|int_random|date|timedelta')
-      43.7±0.8ms       22.1±0.2ms     0.50  frame_methods.frame_sort_values_by_multiple_columns.time_frame_sort_values_by_multiple_columns('repeated_category|int_random')
-         106±1ms       51.1±0.3ms     0.48  frame_methods.frame_sort_values_by_multiple_columns.time_frame_sort_values_by_multiple_columns('less_repeated_category|float|int_sorted|date|timedelta')
-      64.4±0.9ms       30.5±0.2ms     0.47  frame_methods.frame_sort_values_by_multiple_columns.time_frame_sort_values_by_multiple_columns('float|int_random')
-        34.3±1ms      12.7±0.04ms     0.37  frame_methods.frame_sort_values_by_multiple_columns.time_frame_sort_values_by_multiple_columns('repeated_category|date')
-        34.6±1ms      12.8±0.07ms     0.37  frame_methods.frame_sort_values_by_multiple_columns.time_frame_sort_values_by_multiple_columns('repeated_category|int_sorted')
-        57.5±2ms       21.2±0.7ms     0.37  frame_methods.frame_sort_values_by_multiple_columns.time_frame_sort_values_by_multiple_columns('float|date')
-        57.4±1ms       19.8±0.6ms     0.34  frame_methods.frame_sort_values_by_multiple_columns.time_frame_sort_values_by_multiple_columns('int_random|date')
-        39.0±2ms      10.3±0.08ms     0.26  frame_methods.frame_sort_values_by_multiple_columns.time_frame_sort_values_by_multiple_columns('int_sorted|date')

``` @mficek The cost of factorization (IOW we turn columns into Categoricals) is higher for strings, particularly less dense strings. We need to hash them which is compartively slow (compared to integer factoriation). Though this *shouldn't* impact too much. Can you show a profile output for sorting say [strings|ints] and [ints|ints] with the same cardinality.? So the result of sorting str|int and int|int with same cardinality is as follows:
```
       before           after         ratio
     [6fe68325]       [bbba95b1]
+        24.4±1ms         86.1±2ms     3.52  frame_methods.frame_sort_values_by_multiple_columns.time_frame_sort_values_by_multiple_columns('repeated_strings|int_same_cardinality_as_repeated_strings')
+      18.4±0.4ms           25.4ms     1.38  frame_methods.frame_sort_values_by_multiple_columns.time_frame_sort_values_by_multiple_columns('int_same_cardinality_as_repeated_strings|int_same_cardinality_as_repeated_strings_copy')
```
Not nice. @jreback, any suggestions?  I profiled the int-int and str-int functions. Bellow is the profiler output. I'll try to figure out why np.argsort takes four times longer for str-int benchmark than for int-int.

```
int-int
         1697 function calls (1664 primitive calls) in 0.027 seconds

   Ordered by: cumulative time

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
        1    0.000    0.000    0.027    0.027 {built-in method builtins.exec}
        1    0.000    0.000    0.027    0.027 /home/mficek/anaconda2/envs/pandas_dev3/lib/python3.6/site-packages/asv/benchmark.py:401(method_caller)
        1    0.000    0.000    0.027    0.027 /home/mficek/repos/pandas-mficek/asv_bench/benchmarks/frame_methods.py:573(time_frame_sort_values_int_int)
        1    0.000    0.000    0.018    0.018 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/frame.py:3440(sort_values)
        2    0.002    0.001    0.015    0.007 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/sorting.py:229(nargsort)
        3    0.011    0.004    0.011    0.004 {method 'argsort' of 'numpy.ndarray' objects}
        3    0.000    0.000    0.009    0.003 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/frame.py:2058(__getitem__)
        1    0.000    0.000    0.009    0.009 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/frame.py:2101(_getitem_array)
        1    0.000    0.000    0.008    0.008 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/generic.py:2064(take)
        3    0.000    0.000    0.006    0.002 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:4082(take)
        1    0.000    0.000    0.005    0.005 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/generic.py:3388(_consolidate_inplace)
        1    0.000    0.000    0.005    0.005 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/generic.py:3378(_protect_consolidate)
        1    0.000    0.000    0.005    0.005 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/generic.py:3391(f)
        1    0.000    0.000    0.005    0.005 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:3652(consolidate)
        7    0.000    0.000    0.005    0.001 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:3668(_consolidate_inplace)
        1    0.000    0.000    0.005    0.005 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:4609(_consolidate)
        6    0.003    0.001    0.005    0.001 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:4626(_merge_blocks)
        3    0.000    0.000    0.004    0.001 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:3952(reindex_indexer)
        5    0.000    0.000    0.003    0.001 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/algorithms.py:1290(take_nd)
        3    0.000    0.000    0.002    0.001 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:1162(take_nd)
        2    0.000    0.000    0.002    0.001 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:3987(<listcomp>)
        1    0.000    0.000    0.001    0.001 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:3995(_slice_take_blocks_ax0)
        2    0.001    0.001    0.001    0.001 {pandas._libs.algos.take_2d_axis1_float64_float64}
        3    0.000    0.000    0.001    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:1787(take)
        1    0.000    0.000    0.001    0.001 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexing.py:1987(maybe_convert_indices)
        9    0.000    0.000    0.001    0.000 {method 'any' of 'numpy.ndarray' objects}
        9    0.000    0.000    0.001    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/numpy/core/_methods.py:37(_any)
        9    0.001    0.000    0.001    0.000 {method 'reduce' of 'numpy.ufunc' objects}
        4    0.001    0.000    0.001    0.000 {built-in method numpy.core.multiarray.concatenate}
        6    0.000    0.000    0.001    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:2785(make_block)
        1    0.000    0.000    0.001    0.001 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:4679(_vstack)
        1    0.000    0.000    0.001    0.001 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/numpy/core/shape_base.py:182(vstack)
        6    0.000    0.000    0.001    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:105(__init__)
        4    0.000    0.000    0.001    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:2881(__init__)
        3    0.001    0.000    0.001    0.000 {method 'take' of 'numpy.ndarray' objects}
       23    0.001    0.000    0.001    0.000 {built-in method numpy.core.multiarray.arange}
        5    0.000    0.000    0.001    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:2978(_rebuild_blknos_and_blklocs)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/generic.py:2093(xs)
        1    0.000    0.000    0.000    0.000 {pandas._libs.algos.take_2d_axis0_float64_float64}
        4    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/missing.py:26(isna)
        4    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/missing.py:51(_isna_new)
        6    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:224(mgr_locs)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexing.py:1139(_convert_to_indexer)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/frame.py:2084(_getitem_column)
      231    0.000    0.000    0.000    0.000 {built-in method builtins.isinstance}
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/generic.py:1791(_get_item_cache)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/missing.py:123(_isna_ndarraylike)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/numpy/core/numeric.py:660(require)
        4    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/cast.py:252(maybe_promote)
  182/149    0.000    0.000    0.000    0.000 {built-in method builtins.len}
       18    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:2922(shape)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:3675(get)
        9    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:565(values)
       21    0.000    0.000    0.000    0.000 {built-in method numpy.core.multiarray.array}
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:2581(get_indexer)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:4758(_get_blkno_placements)
       13    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/common.py:223(is_datetimetz)
       54    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:2924(<genexpr>)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/range.py:163(_data)
        4    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:3103(_verify_integrity)
        5    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:216(make_block_same_class)
       11    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:4011(_ensure_index)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/frame.py:2436(_box_item_values)
        3    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:410(_shallow_copy)
       15    0.000    0.000    0.000    0.000 {built-in method numpy.core.multiarray.empty}
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:158(__new__)
        5    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:3396(_consolidate_check)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:3704(iget)
       30    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/generic.py:7(_check)
        5    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/common.py:191(is_categorical)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/frame.py:2443(_box_col_values)
       46    0.000    0.000    0.000    0.000 {built-in method builtins.getattr}
       10    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/numpy/core/numeric.py:534(asanyarray)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/series.py:269(from_array)
       36    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/dtypes.py:84(is_dtype)
        5    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:373(_simple_new)
        5    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:3397(<listcomp>)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/numpy/core/numeric.py:729(<genexpr>)
        9    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/generic.py:3333(__setattr__)
        4    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/generic.py:3300(__finalize__)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/range.py:254(_shallow_copy)
        5    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/frame.py:305(__init__)
        2    0.000    0.000    0.000    0.000 {pandas._libs.algos.take_1d_int64_int64}
       16    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/common.py:334(is_datetime64tz_dtype)
       10    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/numpy/core/numeric.py:463(asarray)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/series.py:151(__init__)
       23    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:309(ftype)
        6    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/common.py:442(is_interval_dtype)
        3    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/numpy/core/fromnumeric.py:55(_wrapfunc)
       13    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/common.py:478(is_categorical_dtype)
        6    0.000    0.000    0.000    0.000 {built-in method pandas._libs.lib.isscalar}
       52    0.000    0.000    0.000    0.000 {built-in method builtins.hasattr}
        8    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:3388(is_consolidated)
        6    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/dtypes.py:489(is_dtype)
       20    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:4615(<lambda>)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:1980(equals)
        6    0.000    0.000    0.000    0.000 {built-in method pandas._libs.algos.ensure_int64}
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/common.py:1337(needs_i8_conversion)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/common.py:184(is_bool_indexer)
        3    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:716(_get_attributes_dict)
        2    0.000    0.000    0.000    0.000 {pandas._libs.lib.infer_dtype}
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/numpy/core/shape_base.py:237(<listcomp>)
        5    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:2452(get_loc)
       11    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/range.py:507(__len__)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/numpy/core/fromnumeric.py:1487(nonzero)
       10    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/common.py:1737(_get_dtype_type)
        4    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/numpy/core/shape_base.py:63(atleast_2d)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:1285(is_integer)
        3    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:1653(__contains__)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/common.py:355(_asarray_tuplesafe)
        6    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/generic.py:369(_get_axis)
       20    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:120(_consolidate_key)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:1581(inferred_type)
        3    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/generic.py:373(_get_block_manager_axis)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/numpy/core/fromnumeric.py:826(argsort)
        5    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/algorithms.py:1257(_get_take_nd_function)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/range.py:167(_int64index)
        6    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:4653(_extend_blocks)
        6    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/generic.py:343(_get_axis_number)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:1434(_convert_listlike_indexer)
        5    0.000    0.000    0.000    0.000 {method 'get_loc' of 'pandas._libs.index.IndexEngine' objects}
       31    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:534(__len__)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/generic.py:1887(_clear_item_cache)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:1468(_convert_arr_indexer)
        1    0.000    0.000    0.000    0.000 {built-in method builtins.sorted}
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/numeric.py:35(__new__)
        4    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/common.py:657(is_dtype_equal)
        7    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/generic.py:118(__init__)
        4    0.000    0.000    0.000    0.000 {built-in method builtins.sum}
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexing.py:232(_convert_scalar_indexer)
        4    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:2882(<listcomp>)
        1    0.000    0.000    0.000    0.000 {method 'get_indexer' of 'pandas._libs.index.IndexEngine' objects}
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/common.py:85(is_object_dtype)
       47    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:187(mgr_locs)
       46    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:305(dtype)
        1    0.000    0.000    0.000    0.000 {method 'clear' of 'dict' objects}
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/common.py:1102(is_datetime_or_timedelta_dtype)
        2    0.000    0.000    0.000    0.000 {method 'nonzero' of 'numpy.ndarray' objects}
        6    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/generic.py:356(_get_axis_name)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/common.py:409(is_period_dtype)
       10    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/common.py:1686(_get_dtype)
       10    0.000    0.000    0.000    0.000 {method 'fill' of 'numpy.ndarray' objects}
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:5379(_preprocess_slice_or_indexer)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/generic.py:1758(_indexer)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:1805(_assert_take_fillable)
        5    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/compat/__init__.py:178(iteritems)
       18    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:2926(ndim)
       17    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:3105(<genexpr>)
       30    0.000    0.000    0.000    0.000 {built-in method builtins.issubclass}
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/dtypes.py:367(is_dtype)
       19    0.000    0.000    0.000    0.000 {method 'get' of 'dict' objects}
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/generic.py:1805(_set_as_cached)
        1    0.000    0.000    0.000    0.000 {pandas._libs.lib.get_blkno_indexers}
        9    0.000    0.000    0.000    0.000 {method 'view' of 'numpy.ndarray' objects}
        5    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/generic.py:160(_init_mgr)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:4170(__init__)
       11    0.000    0.000    0.000    0.000 {built-in method builtins.max}
        6    0.000    0.000    0.000    0.000 <frozen importlib._bootstrap>:989(_handle_fromlist)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/series.py:332(name)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/series.py:296(_set_axis)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:1318(_convert_scalar_indexer)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/inference.py:233(is_list_like)
        3    0.000    0.000    0.000    0.000 {pandas._libs.lib.values_from_object}
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:4640(<listcomp>)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/common.py:511(is_string_dtype)
        2    0.000    0.000    0.000    0.000 {method 'astype' of 'numpy.ndarray' objects}
        3    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:718(<listcomp>)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/series.py:363(values)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/generic.py:1917(_set_is_copy)
        3    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/base.py:865(_values)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/missing.py:255(array_equivalent)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/common.py:975(is_datetime64_any_dtype)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/series.py:336(name)
       11    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:297(shape)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:570(get_values)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/common.py:1511(is_bool_dtype)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:4310(external_values)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexing.py:93(__init__)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexing.py:2037(is_list_like_indexer)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:1632(shape)
        5    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:528(_reset_identity)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:1552(_engine)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:1687(__getitem__)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/inference.py:396(is_sequence)
        5    0.000    0.000    0.000    0.000 {built-in method pandas._libs.lib.is_float}
        3    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:183(fill_value)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/generic.py:3317(__getattr__)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:1555(<lambda>)
        4    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/dtypes.py:32(__str__)
        3    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/common.py:444(_apply_if_callable)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/common.py:297(is_datetime64_dtype)
        8    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:2999(_get_items)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:2738(_maybe_promote)
       10    0.000    0.000    0.000    0.000 {method 'items' of 'dict' objects}
        1    0.000    0.000    0.000    0.000 {built-in method builtins.setattr}
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:2966(_is_single_block)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/generic.py:437(ndim)
        3    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:555(dtype)
        5    0.000    0.000    0.000    0.000 {built-in method pandas._libs.algos.ensure_platform_int}
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/common.py:372(is_timedelta64_dtype)
        6    0.000    0.000    0.000    0.000 {built-in method builtins.iter}
        1    0.000    0.000    0.000    0.000 <frozen importlib._bootstrap>:402(parent)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexing.py:1897(convert_to_index_sliceable)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:330(iget)
        4    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/frame.py:294(_constructor)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/missing.py:579(clean_reindex_fill_method)
        4    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/dtypes.py:29(__unicode__)
       10    0.000    0.000    0.000    0.000 {built-in method pandas._libs.lib.is_integer}
       12    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
        3    0.000    0.000    0.000    0.000 {method 'update' of 'dict' objects}
        5    0.000    0.000    0.000    0.000 {built-in method __new__ of type object at 0x7f8a71299e80}
        5    0.000    0.000    0.000    0.000 {built-in method builtins.hash}
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/series.py:322(_set_subtyp)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/numeric.py:90(is_all_dates)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:508(is_)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/categorical.py:1588(__len__)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/util/_validators.py:220(validate_bool_kwarg)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/common.py:790(is_signed_integer_dtype)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/common.py:839(is_unsigned_integer_dtype)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/inference.py:364(is_hashable)
        2    0.000    0.000    0.000    0.000 {built-in method pandas._libs.lib.checknull}
        3    0.000    0.000    0.000    0.000 {built-in method pandas._libs.lib.is_bool}
        1    0.000    0.000    0.000    0.000 {method 'split' of 'str' objects}
        1    0.000    0.000    0.000    0.000 {method 'upper' of 'str' objects}
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:4216(_block)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:4641(<listcomp>)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:153(external_values)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexing.py:2023(is_nested_tuple)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:1273(is_unique)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/compat/numpy/function.py:38(__call__)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/missing.py:73(clean_fill_method)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/common.py:1459(is_float_dtype)
        1    0.000    0.000    0.000    0.000 {method 'setdefault' of 'dict' objects}
        1    0.000    0.000    0.000    0.000 {method 'rpartition' of 'str' objects}
        1    0.000    0.000    0.000    0.000 {built-in method builtins.min}
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:1504(_convert_list_indexer)
        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
        3    0.000    0.000    0.000    0.000 {built-in method builtins.callable}
```

```
str-int
         1933 function calls (1900 primitive calls) in 0.065 seconds

   Ordered by: cumulative time

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
        1    0.000    0.000    0.065    0.065 {built-in method builtins.exec}
        1    0.000    0.000    0.065    0.065 /home/mficek/anaconda2/envs/pandas_dev3/lib/python3.6/site-packages/asv/benchmark.py:401(method_caller)
        1    0.001    0.001    0.065    0.065 /home/mficek/repos/pandas-mficek/asv_bench/benchmarks/frame_methods.py:569(time_frame_sort_values_str_int)
        1    0.000    0.000    0.061    0.061 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/frame.py:3440(sort_values)
        2    0.002    0.001    0.055    0.028 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/sorting.py:229(nargsort)
        3    0.048    0.016    0.048    0.016 {method 'argsort' of 'numpy.ndarray' objects}
        3    0.000    0.000    0.006    0.002 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:4082(take)
        3    0.000    0.000    0.005    0.002 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:3952(reindex_indexer)
        4    0.000    0.000    0.005    0.001 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/missing.py:26(isna)
        4    0.000    0.000    0.005    0.001 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/missing.py:51(_isna_new)
        2    0.000    0.000    0.005    0.002 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/missing.py:123(_isna_ndarraylike)
        1    0.005    0.005    0.005    0.005 {pandas._libs.lib.isnaobj}
        6    0.000    0.000    0.004    0.001 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:1162(take_nd)
        8    0.000    0.000    0.004    0.001 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/algorithms.py:1290(take_nd)
        3    0.000    0.000    0.004    0.001 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/frame.py:2058(__getitem__)
        2    0.000    0.000    0.004    0.002 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:3987(<listcomp>)
        1    0.000    0.000    0.003    0.003 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/frame.py:2101(_getitem_array)
        1    0.000    0.000    0.003    0.003 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/generic.py:2064(take)
        3    0.002    0.001    0.002    0.001 {pandas._libs.algos.take_2d_axis0_object_object}
        1    0.000    0.000    0.002    0.002 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/generic.py:3388(_consolidate_inplace)
        1    0.000    0.000    0.002    0.002 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/generic.py:3378(_protect_consolidate)
        1    0.000    0.000    0.002    0.002 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/generic.py:3391(f)
        1    0.000    0.000    0.002    0.002 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:3652(consolidate)
        7    0.000    0.000    0.001    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:3668(_consolidate_inplace)
        1    0.000    0.000    0.001    0.001 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:4609(_consolidate)
        6    0.001    0.000    0.001    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:4626(_merge_blocks)
        3    0.001    0.000    0.001    0.000 {pandas._libs.algos.take_2d_axis0_float64_float64}
        1    0.000    0.000    0.001    0.001 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:3995(_slice_take_blocks_ax0)
        3    0.000    0.000    0.001    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:1787(take)
        4    0.001    0.000    0.001    0.000 {built-in method numpy.core.multiarray.concatenate}
        4    0.000    0.000    0.001    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:2881(__init__)
        1    0.000    0.000    0.001    0.001 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:4679(_vstack)
        1    0.000    0.000    0.001    0.001 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/numpy/core/shape_base.py:182(vstack)
       26    0.000    0.000    0.000    0.000 {built-in method numpy.core.multiarray.arange}
        3    0.000    0.000    0.000    0.000 {method 'take' of 'numpy.ndarray' objects}
       19    0.000    0.000    0.000    0.000 {built-in method numpy.core.multiarray.empty}
        5    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:2978(_rebuild_blknos_and_blklocs)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexing.py:1139(_convert_to_indexer)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/generic.py:2093(xs)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/frame.py:2084(_getitem_column)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/generic.py:1791(_get_item_cache)
      266    0.000    0.000    0.000    0.000 {built-in method builtins.isinstance}
        9    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:565(values)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:2581(get_indexer)
        6    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/cast.py:252(maybe_promote)
       18    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:2922(shape)
        9    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:2785(make_block)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/range.py:163(_data)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/frame.py:2436(_box_item_values)
  200/167    0.000    0.000    0.000    0.000 {built-in method builtins.len}
       11    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:4011(_ensure_index)
        4    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:3103(_verify_integrity)
        8    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:216(make_block_same_class)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/frame.py:2443(_box_col_values)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:158(__new__)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/series.py:269(from_array)
       54    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:2924(<genexpr>)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:3675(get)
        8    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/common.py:191(is_categorical)
        5    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:3396(_consolidate_check)
        9    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:105(__init__)
       20    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/common.py:223(is_datetimetz)
       19    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/common.py:478(is_categorical_dtype)
       21    0.000    0.000    0.000    0.000 {built-in method numpy.core.multiarray.array}
       40    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/generic.py:7(_check)
        5    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:373(_simple_new)
        9    0.000    0.000    0.000    0.000 {method 'any' of 'numpy.ndarray' objects}
        5    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:3397(<listcomp>)
        3    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:410(_shallow_copy)
        9    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/numpy/core/_methods.py:37(_any)
        3    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/numpy/core/fromnumeric.py:55(_wrapfunc)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/series.py:151(__init__)
       52    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/dtypes.py:84(is_dtype)
       26    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:309(ftype)
        9    0.000    0.000    0.000    0.000 {method 'reduce' of 'numpy.ufunc' objects}
       56    0.000    0.000    0.000    0.000 {built-in method builtins.getattr}
        5    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/frame.py:305(__init__)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:3704(iget)
        3    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/generic.py:373(_get_block_manager_axis)
        9    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/generic.py:3333(__setattr__)
        5    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:2452(get_loc)
        6    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/generic.py:343(_get_axis_number)
        4    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:1966(__init__)
       10    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/numpy/core/numeric.py:463(asarray)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/range.py:254(_shallow_copy)
        9    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:224(mgr_locs)
       10    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/common.py:442(is_interval_dtype)
       10    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/numpy/core/numeric.py:534(asanyarray)
        5    0.000    0.000    0.000    0.000 {method 'get_loc' of 'pandas._libs.index.IndexEngine' objects}
        8    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:3388(is_consolidated)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/numpy/core/fromnumeric.py:1487(nonzero)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:1980(equals)
       22    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/common.py:334(is_datetime64tz_dtype)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/common.py:184(is_bool_indexer)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/common.py:355(_asarray_tuplesafe)
       10    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/dtypes.py:489(is_dtype)
        2    0.000    0.000    0.000    0.000 {pandas._libs.lib.infer_dtype}
        3    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:1653(__contains__)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:1285(is_integer)
       20    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:4615(<lambda>)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/numpy/core/fromnumeric.py:826(argsort)
        6    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/generic.py:369(_get_axis)
        8    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/algorithms.py:1257(_get_take_nd_function)
       31    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:534(__len__)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:1434(_convert_listlike_indexer)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:1581(inferred_type)
        7    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/common.py:657(is_dtype_equal)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexing.py:1987(maybe_convert_indices)
       68    0.000    0.000    0.000    0.000 {built-in method builtins.hasattr}
       11    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/range.py:507(__len__)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/numpy/core/numeric.py:660(require)
        4    0.000    0.000    0.000    0.000 {built-in method builtins.sum}
        9    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/common.py:1737(_get_dtype_type)
       10    0.000    0.000    0.000    0.000 {built-in method pandas._libs.lib.is_integer}
        3    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:716(_get_attributes_dict)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:1468(_convert_arr_indexer)
       20    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:120(_consolidate_key)
        1    0.000    0.000    0.000    0.000 {built-in method builtins.sorted}
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/range.py:167(_int64index)
        1    0.000    0.000    0.000    0.000 {method 'get_indexer' of 'pandas._libs.index.IndexEngine' objects}
        7    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/generic.py:118(__init__)
        4    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:2882(<listcomp>)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexing.py:232(_convert_scalar_indexer)
       20    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:3105(<genexpr>)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/numeric.py:35(__new__)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/common.py:85(is_object_dtype)
        2    0.000    0.000    0.000    0.000 {method 'nonzero' of 'numpy.ndarray' objects}
       52    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:305(dtype)
        6    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/generic.py:356(_get_axis_name)
       10    0.000    0.000    0.000    0.000 {method 'fill' of 'numpy.ndarray' objects}
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/series.py:296(_set_axis)
        6    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:4653(_extend_blocks)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/generic.py:1887(_clear_item_cache)
        2    0.000    0.000    0.000    0.000 {pandas._libs.algos.take_1d_int64_int64}
       17    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/common.py:1686(_get_dtype)
       22    0.000    0.000    0.000    0.000 {method 'get' of 'dict' objects}
        3    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:4758(_get_blkno_placements)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/generic.py:1758(_indexer)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/common.py:1337(needs_i8_conversion)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/numpy/core/shape_base.py:237(<listcomp>)
       58    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:187(mgr_locs)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/common.py:511(is_string_dtype)
        5    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/compat/__init__.py:178(iteritems)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:4640(<listcomp>)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/common.py:409(is_period_dtype)
       41    0.000    0.000    0.000    0.000 {built-in method builtins.issubclass}
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/series.py:332(name)
       21    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:2926(ndim)
        5    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/generic.py:160(_init_mgr)
        4    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/numpy/core/shape_base.py:63(atleast_2d)
        6    0.000    0.000    0.000    0.000 <frozen importlib._bootstrap>:989(_handle_fromlist)
        1    0.000    0.000    0.000    0.000 {method 'clear' of 'dict' objects}
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/generic.py:1805(_set_as_cached)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:1318(_convert_scalar_indexer)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/dtypes.py:367(is_dtype)
        6    0.000    0.000    0.000    0.000 {built-in method pandas._libs.lib.isscalar}
        3    0.000    0.000    0.000    0.000 {pandas._libs.lib.values_from_object}
        9    0.000    0.000    0.000    0.000 {method 'view' of 'numpy.ndarray' objects}
       11    0.000    0.000    0.000    0.000 {built-in method builtins.max}
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:4170(__init__)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/series.py:363(values)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:1632(shape)
        3    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/base.py:865(_values)
        9    0.000    0.000    0.000    0.000 {built-in method pandas._libs.algos.ensure_int64}
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/series.py:336(name)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/common.py:975(is_datetime64_any_dtype)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/series.py:322(_set_subtyp)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:4310(external_values)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:5379(_preprocess_slice_or_indexer)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexing.py:93(__init__)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/generic.py:1917(_set_is_copy)
        4    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/generic.py:3300(__finalize__)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/generic.py:3317(__getattr__)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:570(get_values)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:2738(_maybe_promote)
        4    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/dtypes.py:32(__str__)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/common.py:1511(is_bool_dtype)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/numpy/core/numeric.py:729(<genexpr>)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexing.py:2037(is_list_like_indexer)
        3    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:718(<listcomp>)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:1552(_engine)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:1805(_assert_take_fillable)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/missing.py:255(array_equivalent)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/inference.py:233(is_list_like)
        6    0.000    0.000    0.000    0.000 {built-in method builtins.iter}
        6    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:183(fill_value)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:1687(__getitem__)
        4    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/frame.py:294(_constructor)
        3    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/common.py:444(_apply_if_callable)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/common.py:297(is_datetime64_dtype)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/common.py:1102(is_datetime_or_timedelta_dtype)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/inference.py:396(is_sequence)
        8    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:2999(_get_items)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/generic.py:437(ndim)
        5    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:528(_reset_identity)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:1555(<lambda>)
        5    0.000    0.000    0.000    0.000 {built-in method pandas._libs.algos.ensure_platform_int}
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/common.py:372(is_timedelta64_dtype)
        7    0.000    0.000    0.000    0.000 {built-in method pandas._libs.lib.is_float}
        5    0.000    0.000    0.000    0.000 {built-in method __new__ of type object at 0x7efd5c73be80}
        1    0.000    0.000    0.000    0.000 {built-in method builtins.setattr}
        1    0.000    0.000    0.000    0.000 <frozen importlib._bootstrap>:402(parent)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexing.py:1897(convert_to_index_sliceable)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:330(iget)
        3    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:555(dtype)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/missing.py:579(clean_reindex_fill_method)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/categorical.py:1588(__len__)
        4    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/dtypes.py:29(__unicode__)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/inference.py:364(is_hashable)
        1    0.000    0.000    0.000    0.000 {pandas._libs.lib.get_blkno_indexers}
        2    0.000    0.000    0.000    0.000 {method 'astype' of 'numpy.ndarray' objects}
        1    0.000    0.000    0.000    0.000 {method 'reshape' of 'numpy.ndarray' objects}
        3    0.000    0.000    0.000    0.000 {method 'update' of 'dict' objects}
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:2966(_is_single_block)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:153(external_values)
       14    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:297(shape)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:508(is_)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/util/_validators.py:220(validate_bool_kwarg)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/common.py:790(is_signed_integer_dtype)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/common.py:839(is_unsigned_integer_dtype)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/common.py:1422(is_string_like_dtype)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/dtypes/common.py:1459(is_float_dtype)
        2    0.000    0.000    0.000    0.000 {built-in method pandas._libs.lib.checknull}
       10    0.000    0.000    0.000    0.000 {method 'items' of 'dict' objects}
        1    0.000    0.000    0.000    0.000 {method 'split' of 'str' objects}
        1    0.000    0.000    0.000    0.000 {method 'rpartition' of 'str' objects}
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:4216(_block)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexing.py:2023(is_nested_tuple)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:1273(is_unique)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/base.py:1504(_convert_list_indexer)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/compat/numpy/function.py:38(__call__)
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/missing.py:73(clean_fill_method)
        1    0.000    0.000    0.000    0.000 {method 'ravel' of 'numpy.ndarray' objects}
       13    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
        1    0.000    0.000    0.000    0.000 {method 'setdefault' of 'dict' objects}
        1    0.000    0.000    0.000    0.000 {method 'upper' of 'str' objects}
        5    0.000    0.000    0.000    0.000 {built-in method builtins.hash}
        1    0.000    0.000    0.000    0.000 {built-in method builtins.min}
        1    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/internals.py:4641(<listcomp>)
        2    0.000    0.000    0.000    0.000 /home/mficek/repos/pandas-mficek/asv_bench/env/83b3be1235aa7b08e8a17448e2f70790/lib/python3.6/site-packages/pandas/core/indexes/numeric.py:90(is_all_dates)
        3    0.000    0.000    0.000    0.000 {built-in method pandas._libs.lib.is_bool}
        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
        3    0.000    0.000    0.000    0.000 {built-in method builtins.callable}


```
``` @mficek hmm that looks odd

> np.argsort takes four times longer for str-int benchmark than for int-int.

```
In [1]: arr = np.random.randint(0, 10000, size=1000000)

In [2]: %time arr.argsort()
CPU times: user 89.3 ms, sys: 2.1 ms, total: 91.4 ms
Wall time: 91.1 ms
Out[2]: array([874817, 319423,  52275, ...,  28951, 681090,  72309])

In [3]: arr_s = arr.astype(str)

In [5]: %time arr_s.argsort()
CPU times: user 299 ms, sys: 3.05 ms, total: 302 ms
Wall time: 303 ms
Out[5]: array([102500, 417763, 981549, ..., 826452,  58056, 345976])

In [6]: arr_s = arr.astype(object)

In [7]: %time arr_s.argsort()
CPU times: user 1.02 s, sys: 3.54 ms, total: 1.03 s
Wall time: 1.03 s
Out[7]: array([874817, 319423,  52275, ...,  28951, 681090,  72309])

``` @jreback I spotted this discussion, observing that np.sort might be faster than np.argsort. Do you think this could be a way?  @mficek did you have a link w.r.t. https://github.com/pandas-dev/pandas/pull/17141#issuecomment-328274123 ?

 Sorry, @jreback, it's here: http://numpy-discussion.10968.n7.nabble.com/argsort-speed-td36423.html so i think the speed diff is coming from the partial sortedness that is already present 

you could could not do the multi sort of this or for all int columns i suppose 

not sure you can actually use np.sort as we always deal with the indexers (we need to eventually do a take)

but it maybe possible to factorize then use np.sort on the factorized values 
(as these then are the indexers) pls rebase and update when you can @jreback Hi Jeff, I'm running out of time to finish this issue. What I can propose is a "hacky" solution with sort speedup for numeric (and categorical and dates) values only. I suggest to check for objects with fallback to current sorting logic, and sorting as coded now in this branch for numeric-like values. If you agree, I'll proceed with this. Hm? @mficek yep that would be totally fine. We can open an issue for the remaining case to investigate later. can you rebase and update as above can you rebase can you rebase / show asv's @jreback Hi Jeff, I give up :-D Today I rebased the code and the speedup simply does not work. For random numbers, I get pretty nice speedup (around 0.3-4 of original code), but for repeated numbers it's twice as long :( I don't have any ideas how to proceed further.  Moreover, I don't understand why sorting one numeric column takes longer with my code, I'm not aware of any changes in the logic of sorting for one-column sort. 

       before           after         ratio
     [04778805]       [5c75832b]
+           123ms            333ms     2.72  frame_methods.frame_sort_values_by_multiple_columns.time_frame_sort_values_by_multiple_columns('int_same_cardinality_as_repeated_strings|int_same_cardinality_as_repeated_strings_copy')
+         244±4ms         328±30ms     1.34  frame_methods.SortValues.time_frame_sort_values(True)
+       246±0.6ms         294±10ms     1.19  frame_methods.SortValues.time_frame_sort_values(False)
-           3.60s            1.49s     0.41  frame_methods.SortValues.time_frame_sort_values_two_columns(True)
-           4.04s            1.48s     0.37  frame_methods.SortValues.time_frame_sort_values_two_columns(False)

 I messed up with the branches, If you want to see the code, I can submit a new PR. Sorry for the hassle.  @mficek sorry about that. could you submit a PR just with the new asvs? (these have been changed around a lot recently). with fixed seeds.

Then we can separately evaluate whether the fix is good or not.