pydata/pandas — pull request #9163 by qwhelan (2014-12-28 09:07:36+00:00)
Title: PERF: Utilize mixed dtypes in df.count() with MultiIndexes

@jreback Same underlying cause as #9136 but the solution is a bit more involved here.

Basically, we're transposing a potentially mixed-type frame before calling ```notnull(frame.values)```; the same result can be obtained by deferring the transpose until after ```notnull``` gives us a non-mixed frame.

Here are the vbench results:
```
-------------------------------------------------------------------------------
Test name | head[ms] | base[ms] | ratio |
-------------------------------------------------------------------------------
frame_dropna_axis1_any_mixed_dtypes_multi | 83.6230 | 1458.3333 | 0.0573 |
frame_dropna_axis0_all_mixed_dtypes_multi | 106.9636 | 1676.2300 | 0.0638 |
frame_dropna_axis1_all_multi | 77.6153 | 77.1544 | 1.0060 |
frame_dropna_axis0_all_multi | 52.4707 | 50.4217 | 1.0406 |
-------------------------------------------------------------------------------
Test name | head[ms] | base[ms] | ratio |
-------------------------------------------------------------------------------

Ratio < 1.0 means the target commit is faster then the baseline.
Seed used: 1234

Target [6c9b4a4] : PERF: Utilize mixed dtypes in df.count() with MultiIndexes
Base [def58c9] : Merge pull request #9128 from hsperr/expanduser
```