<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><br></div><div><div>On Dec 21, 2012, at 3:27 PM, Collin Sellman <<a href="mailto:collin.sellman@gmail.com">collin.sellman@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><span style="font-family: arial, sans-serif;">Thanks, Wes and team.  I've been looking through the new features, but haven't found any documentation on the integration with the Google Analytics API.  I was just in the midst of trying to pull data into Pandas from GA in v.0.9.0, so would love to try what you built in .10.</span><div style="font-family: arial, sans-serif;"><br></div><div style="font-family: arial, sans-serif;">-Collin</div><br>On Monday, December 17, 2012 10:19:49 AM UTC-7, Wes McKinney wrote:<blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; position: static; z-index: auto; ">hi all,
<br>
<br>I'm super excited to announce the pandas 0.10.0 release. This is
<br>a major release including a new high performance file reading
<br>engine with tons of new user-facing functionality as well, a
<br>bunch of work on the HDF5/PyTables integration layer,
<br>much-expanded Unicode support, a new option/configuration
<br>interface, integration with the Google Analytics API, and a wide
<br>array of other new features, bug fixes, and performance
<br>improvements. I strongly recommend that all users get upgraded as
<br>soon as feasible. Many performance improvements made are quite
<br>substantial over 0.9.x, see vbenchmarks at the end of the e-mail.
<br>
<br>As of this release, we are no longer supporting Python 2.5. Also,
<br>this is the first release to officially support Python 3.3.
<br>
<br>Note: there are a number of minor, but necessary API changes that
<br>long-time pandas users should pay attention to in the What's New.
<br>
<br>Thanks to all who contributed to this release, especially Chang
<br>She, Yoval P, and Jeff Reback (and everyone else listed in the
<br>commit log!).
<br>
<br>As always source archives and Windows installers are on PyPI.
<br>
<br>What's new: <a href="http://pandas.pydata.org/pandas-docs/stable/whatsnew.html" target="_blank">http://pandas.pydata.org/<wbr>pandas-docs/stable/whatsnew.<wbr>html</a>
<br>Installers: <a href="http://pypi.python.org/pypi/pandas" target="_blank">http://pypi.python.org/pypi/<wbr>pandas</a>
<br>
<br>$ git log v0.9.1..v0.10.0 --pretty=format:%aN | sort | uniq -c | sort -rn
<br>    246 Wes McKinney
<br>    140 y-p
<br>     99 Chang She
<br>     45 jreback
<br>     18 Abraham Flaxman
<br>     17 Jeff Reback
<br>     14 locojaydev
<br>     11 Keith Hughitt
<br>      5 Adam Obeng
<br>      2 Dieter Vandenbussche
<br>      1 zach powers
<br>      1 Luke Lee
<br>      1 Laurent Gautier
<br>      1 Ken Van Haren
<br>      1 Jay Bourque
<br>      1 Donald Curtis
<br>      1 Chris Mulligan
<br>      1 alex arsenovic
<br>      1 A. Flaxman
<br>
<br>Happy data hacking!
<br>
<br>- Wes
<br>
<br>What is it
<br>==========
<br>pandas is a Python package providing fast, flexible, and
<br>expressive data structures designed to make working with
<br>relational, time series, or any other kind of labeled data both
<br>easy and intuitive. It aims to be the fundamental high-level
<br>building block for doing practical, real world data analysis in
<br>Python.
<br>
<br>Links
<br>=====
<br>Release Notes: <a href="http://github.com/pydata/pandas/blob/master/RELEASE.rst" target="_blank">http://github.com/pydata/<wbr>pandas/blob/master/RELEASE.rst</a>
<br>Documentation: <a href="http://pandas.pydata.org/" target="_blank">http://pandas.pydata.org</a>
<br>Installers: <a href="http://pypi.python.org/pypi/pandas" target="_blank">http://pypi.python.org/pypi/<wbr>pandas</a>
<br>Code Repository: <a href="http://github.com/pydata/pandas" target="_blank">http://github.com/pydata/<wbr>pandas</a>
<br>Mailing List: <a href="http://groups.google.com/group/pydata" target="_blank">http://groups.google.com/<wbr>group/pydata</a>
<br>
<br>Performance vs. v0.9.0
<br>======================
<br>
<br>Benchmarks from <a href="https://github.com/pydata/pandas/tree/master/vb_suite" target="_blank">https://github.com/pydata/<wbr>pandas/tree/master/vb_suite</a>
<br>Ratio < 1 means that v0.10.0 is faster
<br>
<br>                                           v0.10.0     v0.9.0      ratio
<br>name
<br>unstack_sparse_keyspace                     1.2813   144.1262     0.0089
<br>groupby_frame_apply_overhead               20.1520   337.3330     0.0597
<br>read_csv_comment2                          25.3097   363.2860     0.0697
<br>groupbym_frame_apply                       75.1554   504.1661     0.1491
<br>frame_iteritems_cached                      0.0711     0.3919     0.1815
<br>read_csv_thou_vb                           35.2690   191.9360     0.1838
<br>concat_small_frames                        12.9019    55.3561     0.2331
<br>join_dataframe_integer_2key                 5.8184    21.5823     0.2696
<br>series_value_counts_strings                 5.3824    19.1262     0.2814
<br>append_frame_single_homogenous              0.3413     0.9319     0.3662
<br>read_csv_vb                                18.4084    46.9500     0.3921
<br>read_csv_standard                          12.0651    29.9940     0.4023
<br>panel_from_dict_all_different_<wbr>indexes      73.6860   158.2949     0.4655
<br>frame_constructor_ndarray                   0.0471     0.0958     0.4918
<br>groupby_first                               3.8502     7.1988     0.5348
<br>groupby_last                                3.6962     6.7792     0.5452
<br>panel_from_dict_two_different_<wbr>indexes      50.7428    86.4980     0.5866
<br>append_frame_single_mixed                   1.2950     2.1930     0.5905
<br>frame_get_numeric_data                      0.0695     0.1119     0.6212
<br>replace_fillna                              4.6349     7.0540     0.6571
<br>frame_to_csv                              281.9340   427.7921     0.6590
<br>replace_replacena                           4.7154     7.1207     0.6622
<br>frame_iteritems                             2.5862     3.7463     0.6903
<br>series_align_int64_index                   29.7370    41.2791     0.7204
<br>join_dataframe_integer_key                  1.7980     2.4303     0.7398
<br>groupby_multi_size                         31.0066    41.7001     0.7436
<br>groupby_frame_singlekey_<wbr>integer             2.3579     3.1649     0.7450
<br>write_csv_standard                        326.8259   427.3241     0.7648
<br>groupby_simple_compress_timing             41.2113    52.3993     0.7865
<br>frame_fillna_inplace                       16.2843    20.0491     0.8122
<br>reindex_fillna_backfill                     0.1364     0.1667     0.8181
<br>groupby_multi_series_op                    15.2914    18.6651     0.8193
<br>groupby_multi_cython                       17.2169    20.4420     0.8422
<br>frame_fillna_many_columns_pad              14.9510    17.5114     0.8538
<br>panel_from_dict_equiv_indexes              25.8427    29.9682     0.8623
<br>merge_2intkey_nosort                       19.0755    22.1138     0.8626
<br>sparse_series_to_frame                    167.8529   192.9920     0.8697
<br>reindex_fillna_pad                          0.1410     0.1617     0.8720
<br>merge_2intkey_sort                         44.7863    51.3315     0.8725
<br>reshape_stack_simple                        2.6698     3.0502     0.8753
<br>groupby_indices                             7.2264     8.2314     0.8779
<br>sort_level_one                              4.3845     4.9902     0.8786
<br>sort_level_zero                             4.3362     4.9198     0.8814
<br>write_store                                16.0587    18.2042     0.8821
<br>frame_reindex_both_axes                     0.3726     0.4183     0.8907
<br>groupby_multi_different_numpy_<wbr>functions    13.4164    15.0509     0.8914
<br>index_int64_intersection                   25.3705    28.1867     0.9001
<br>groupby_frame_median                        7.7491     8.6011     0.9009
<br>frame_drop_dup_na_inplace                   2.6290     2.9155     0.9017
<br>dataframe_reindex_columns                   0.3052     0.3372     0.9049
<br>join_dataframe_index_multi                 20.5651    22.6893     0.9064
<br>frame_ctor_list_of_dict                   101.7439   112.2260     0.9066
<br>groupby_pivot_table                        18.4551    20.3184     0.9083
<br>reindex_frame_level_align                   0.9644     1.0531     0.9158
<br>stat_ops_level_series_sum_<wbr>multiple          7.3637     8.0230     0.9178
<br>write_store_mixed                          38.2528    41.6604     0.9182
<br>frame_reindex_both_axes_ix                  0.4550     0.4950     0.9192
<br>stat_ops_level_frame_sum_<wbr>multiple           8.1975     8.9055     0.9205
<br>panel_from_dict_same_index                 25.7938    28.0147     0.9207
<br>groupby_series_simple_cython                5.1310     5.5624     0.9224
<br>frame_sort_index_by_columns                41.9577    45.1816     0.9286
<br>groupby_multi_python                       54.9727    59.0400     0.9311
<br>datetimeindex_add_offset                    0.2417     0.2584     0.9356
<br>frame_boolean_row_select                    0.2905     0.3100     0.9373
<br>frame_reindex_axis1                         2.9760     3.1742     0.9376
<br>stat_ops_level_series_sum                   2.3382     2.4937     0.9376
<br>groupby_multi_different_<wbr>functions          14.0333    14.9571     0.9382
<br>timeseries_timestamp_tzinfo_<wbr>cons            0.0159     0.0169     0.9397
<br>stats_rolling_mean                          1.6904     1.7959     0.9413
<br>melt_dataframe                              1.5236     1.6181     0.9416
<br>timeseries_asof_single                      0.0548     0.0582     0.9416
<br>frame_ctor_nested_dict_int64              134.3100   142.6389     0.9416
<br>join_dataframe_index_single_<wbr>key_bigger     15.6578    16.5949     0.9435
<br>stat_ops_level_frame_sum                    3.2475     3.4414     0.9437
<br>indexing_dataframe_boolean_<wbr>rows             0.2382     0.2518     0.9459
<br>timeseries_asof_nan                        10.0433    10.6006     0.9474
<br>frame_reindex_axis0                         1.4403     1.5184     0.9485
<br>concat_series_axis1                        69.2988    72.8099     0.9518
<br>join_dataframe_index_single_<wbr>key_small       6.8492     7.1847     0.9533
<br>dataframe_reindex_daterange                 0.4054     0.4240     0.9562
<br>join_dataframe_index_single_<wbr>key_bigger      6.4616     6.7578     0.9562
<br>timeseries_timestamp_<wbr>downsample_mean        4.5849     4.7787     0.9594
<br>frame_fancy_lookup                          2.5498     2.6544     0.9606
<br>series_value_counts_int64                   2.5569     2.6581     0.9619
<br>frame_fancy_lookup_all                     30.7510    31.8465     0.9656
<br>index_int64_union                          82.2279    85.1500     0.9657
<br>indexing_dataframe_boolean_<wbr>rows_object      0.4809     0.4977     0.9662
<br>frame_ctor_nested_dict                     91.6129    94.8122     0.9663
<br>stat_ops_series_std                         0.2450     0.2533     0.9673
<br>groupby_frame_cython_many_<wbr>columns           3.7642     3.8894     0.9678
<br>timeseries_asof                            10.4352    10.7721     0.9687
<br>series_ctor_from_dict                       3.7707     3.8749     0.9731
<br>frame_drop_dup_inplace                      3.0007     3.0746     0.9760
<br>timeseries_large_lookup_value               0.0242     0.0248     0.9764
<br>read_table_multiple_date_<wbr>baseline        1201.2930  1224.3881     0.9811
<br>dti_reset_index                             0.6339     0.6457     0.9817
<br>read_table_multiple_date                 2600.7280  2647.8729     0.9822
<br>reindex_frame_level_reindex                 0.9524     0.9674     0.9845
<br>reindex_multiindex                          1.3483     1.3685     0.9853
<br>frame_insert_500_columns                  102.1249   103.4329     0.9874
<br>frame_drop_duplicates                      19.3780    19.6157     0.9879
<br>reindex_daterange_backfill                  0.1870     0.1889     0.9899
<br>stats_rank2d_axis0_average                 25.0480    25.2801     0.9908
<br>series_align_left_monotonic                13.1929    13.2558     0.9953
<br>timeseries_add_irregular                   22.4635    22.5122     0.9978
<br>read_store_mixed                           13.4398    13.4560     0.9988
<br>lib_fast_zip                               11.1289    11.1354     0.9994
<br>match_strings                               0.3831     0.3833     0.9995
<br>read_store                                  5.5526     5.5290     1.0043
<br>timeseries_sort_index                      22.7172    22.5976     1.0053
<br>timeseries_1min_5min_mean                   0.6224     0.6175     1.0079
<br>stats_rank2d_axis1_average                 14.6569    14.5339     1.0085
<br>reindex_daterange_pad                       0.1886     0.1867     1.0102
<br>timeseries_period_downsample_<wbr>mean           6.4241     6.3480     1.0120
<br>frame_drop_duplicates_na                   19.3303    19.0970     1.0122
<br>stats_rank_average_int                     23.3569    22.9996     1.0155
<br>lib_fast_zip_fillna                        14.1394    13.8473     1.0211
<br>index_datetime_intersection                17.2626    16.8986     1.0215
<br>timeseries_1min_5min_ohlc                   0.7054     0.6891     1.0237
<br>stats_rank_average                         31.3440    30.3845     1.0316
<br>timeseries_infer_freq                      10.9854    10.6439     1.0321
<br>timeseries_slice_minutely                   0.0637     0.0611     1.0418
<br>index_datetime_union                       17.9083    17.1640     1.0434
<br>series_align_irregular_string              89.9470    85.1344     1.0565
<br>series_constructor_ndarray                  0.0127     0.0119     1.0742
<br>indexing_panel_subset                       0.5692     0.5214     1.0917
<br>groupby_apply_dict_return                  46.3497    42.3220     1.0952
<br>reshape_unstack_simple                      3.2901     2.9089     1.1310
<br>timeseries_to_datetime_iso8601              4.2305     3.6015     1.1746
<br>frame_to_string_floats                     53.6217    37.2041     1.4413
<br>reshape_pivot_time_series                 170.4340   107.9068     1.5795
<br>sparse_frame_constructor                    6.2714     3.5053     1.7891
<br>datetimeindex_normalize                    37.2718     6.9329     5.3761
<br>
<br>Columns: test_name | target_duration [ms] | baseline_duration [ms] | ratio
<br></blockquote></blockquote></div><br><div><br></div><div>Hi Collin, </div><div><br></div><div>I didn't add it to the official docs because of the authentication step complicating the doc build, but you can reference this brief blog post I wrote here: </div><div><a href="http://quantabee.wordpress.com/2012/12/17/google-analytics-pandas/">http://quantabee.wordpress.com/2012/12/17/google-analytics-pandas/</a></div><div><br></div><div>Best,</div><div><br></div><div>Chang</div></body></html>