
15.1.2 Values considered “missing” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 732
15.2 Datetimes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 733
15.3 Inserting missing data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734
15.4 Calculations with missing data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 735
15.4.1 Sum/Prod of Empties/Nans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 736
15.4.2 NA values in GroupBy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 737
15.5 Cleaning / filling missing data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 737
15.5.1 Filling missing values: fillna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 737
15.5.2 Filling with a PandasObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 739
15.5.3 Dropping axis labels with missing data: dropna . . . . . . . . . . . . . . . . . . . . . . . . 740
15.5.4 Interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 741
15.5.4.1 Interpolation Limits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 746
15.5.5 Replacing Generic Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 747
15.5.6 String/Regular Expression Replacement . . . . . . . . . . . . . . . . . . . . . . . . . . . . 748
15.5.7 Numeric Replacement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 750
15.6 Missing data casting rules and indexing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 752
16 Group By: split-apply-combine 755
16.1 Splitting an object into groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 756
16.1.1 GroupBy sorting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 757
16.1.2 GroupBy object attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 758
16.1.3 GroupBy with MultiIndex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 759
16.1.4 Grouping DataFrame with Index Levels and Columns . . . . . . . . . . . . . . . . . . . . . 761
16.1.5 DataFrame column selection in GroupBy . . . . . . . . . . . . . . . . . . . . . . . . . . . 762
16.2 Iterating through groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763
16.3 Selecting a group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 764
16.4 Aggregation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 764
16.4.1 Applying multiple functions at once . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 766
16.4.2 Applying different functions to DataFrame columns . . . . . . . . . . . . . . . . . . . . . . 767
16.4.3 Cython-optimized aggregation functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 768
16.5 Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 768
16.5.1 New syntax to window and resample operations . . . . . . . . . . . . . . . . . . . . . . . . 773
16.6 Filtration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 775
16.7 Dispatching to instance methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 777
16.8 Flexible apply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 778
16.9 Other useful features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 780
16.9.1 Automatic exclusion of “nuisance” columns . . . . . . . . . . . . . . . . . . . . . . . . . . 780
16.9.2 NA and NaT group handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 781
16.9.3 Grouping with ordered factors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 781
16.9.4 Grouping with a Grouper specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 781
16.9.5 Taking the first rows of each group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 783
16.9.6 Taking the nth row of each group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 783
16.9.7 Enumerate group items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 785
16.9.8 Enumerate groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 786
16.9.9 Plotting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 787
16.9.10 Piping function calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 788
16.10 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 788
16.10.1 Regrouping by factor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 788
16.10.2 Multi-column factorization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 789
16.10.3 Groupby by Indexer to ‘resample’ data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 790
16.10.4 Returning a Series to propagate names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 790
17 Merge, join, and concatenate 793
17.1 Concatenating objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 793
xvi