没有合适的资源?快使用搜索试试~ 我知道了~
首页Pandas 0.23.3 更新亮点:数据分析工具包
Pandas 0.23.3 更新亮点:数据分析工具包
需积分: 10 6 下载量 29 浏览量
更新于2024-07-18
收藏 9.91MB PDF 举报
"Pandas是一个强大的Python数据分析工具包,由Wes McKinney和PyData开发团队发布。这个工具包在持续更新中,如版本0.23.3、0.23.2、0.23.1和0.23.0,每个版本都包含新特性、性能改进、bug修复和逻辑减少等功能。例如,v0.23.3修复了一些回归问题,并在构建方面进行了改动。v0.23.2引入了对整个DataFrame的逻辑减少操作。v0.23.1则专注于固定回归并提升了性能。在v0.23.0中,Pandas引入了多个新特性,如JSON读写可与orient='table'进行环回操作,assign()函数现在可以接受依赖参数,支持基于列和索引级别的合并与排序,还允许用户自定义类型扩展Pandas(实验性功能),并添加了observed关键字用于分组时排除未观察到的类别,以及rolling/expanding.apply()接受raw=False参数将Series传递给函数等。此外,DataFrame.interpolate方法增加了limit_area参数,get_dummies现在支持dtype参数,而timedelta模块也添加了mod方法。"
Pandas是Python数据科学领域中不可或缺的一部分,它提供了一系列高效的数据结构,如DataFrame和Series,用于处理和分析数据。此工具包在不断进化以满足日益复杂的数据处理需求。通过版本更新,Pandas致力于提高数据操作的便捷性和效率。
在v0.23.3中,主要关注的是错误修复和构建系统的优化。这表明Pandas团队致力于保持软件的稳定性和兼容性,确保用户能够顺利地进行数据分析工作。
v0.23.2引入了一个重要的新功能——逻辑减少操作,这允许用户在整个DataFrame上执行布尔操作,从而简化了数据过滤和处理的过程。
在v0.23.1中,性能改进和回归修复是重点。性能提升对于大数据分析至关重要,因为它直接影响到代码运行的速度和效率。
v0.23.0的更新尤为显著,新特性包括JSON文件的读写增强,使数据交换更加灵活;assign()函数允许依赖参数,使得数据列的动态添加更为简便;以及对多列和索引级别进行合并和排序的能力,这对于复杂的多维度数据操作非常有用。此外,Pandas还鼓励用户通过实验性功能扩展其内置类型,以适应特定的数据需求。新加入的observed关键字在groupby操作中提供了更精细的控制,而rolling和expanding的apply方法接受raw=False参数,使得数据处理更加灵活。最后,DataFrame.interpolate方法的新参数limit_area和get_dummies的dtype参数,以及timedelta模块的mod方法,都进一步丰富了Pandas的功能,使其在处理时间和数值数据时更具灵活性。
Pandas工具包通过不断迭代升级,提供了丰富的数据处理功能,满足了数据分析的各种需求,无论是在数据清洗、转换、聚合还是可视化等方面,都表现出强大的能力。对于数据科学家和分析师来说,熟练掌握Pandas是提升工作效率的关键。
9.1 Head and Tail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 589
9.2 Attributes and the raw ndarray(s) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 590
9.3 Accelerated operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591
9.4 Flexible binary operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591
9.4.1 Matching / broadcasting behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 592
9.4.2 Missing data / operations with fill values . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595
9.4.3 Flexible Comparisons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 596
9.4.4 Boolean Reductions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 596
9.4.5 Comparing if objects are equivalent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 598
9.4.6 Comparing array-like objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 598
9.4.7 Combining overlapping data sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 599
9.4.8 General DataFrame Combine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 600
9.5 Descriptive statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 601
9.5.1 Summarizing data: describe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603
9.5.2 Index of Min/Max Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 606
9.5.3 Value counts (histogramming) / Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607
9.5.4 Discretization and quantiling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 608
9.6 Function application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 609
9.6.1 Tablewise Function Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 609
9.6.2 Row or Column-wise Function Application . . . . . . . . . . . . . . . . . . . . . . . . . . 611
9.6.3 Aggregation API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613
9.6.3.1 Aggregating with multiple functions . . . . . . . . . . . . . . . . . . . . . . . . . 614
9.6.3.2 Aggregating with a dict . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615
9.6.3.3 Mixed Dtypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615
9.6.3.4 Custom describe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616
9.6.4 Transform API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616
9.6.4.1 Transform with multiple functions . . . . . . . . . . . . . . . . . . . . . . . . . . 618
9.6.4.2 Transforming with a dict . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619
9.6.5 Applying Elementwise Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619
9.6.6 Applying with a Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621
9.7 Reindexing and altering labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623
9.7.1 Reindexing to align with another object . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625
9.7.2 Aligning objects with each other with align . . . . . . . . . . . . . . . . . . . . . . . . . 626
9.7.3 Filling while reindexing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 628
9.7.4 Limits on filling while reindexing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629
9.7.5 Dropping labels from an axis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 630
9.7.6 Renaming / mapping labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 631
9.8 Iteration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 632
9.8.1 iteritems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633
9.8.2 iterrows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634
9.8.3 itertuples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635
9.9 .dt accessor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 636
9.10 Vectorized string methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 639
9.11 Sorting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640
9.11.1 By Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640
9.11.2 By Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 641
9.11.3 By Indexes and Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 642
9.11.4 searchsorted . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643
9.11.5 smallest / largest values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643
9.11.6 Sorting by a multi-index column . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645
9.12 Copying . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645
9.13 dtypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645
9.13.1 defaults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 648
9.13.2 upcasting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 648
xiv
9.13.3 astype . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 649
9.13.4 object conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 651
9.13.5 gotchas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654
9.14 Selecting columns based on dtype . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655
10 Working with Text Data 659
10.1 Splitting and Replacing Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 661
10.2 Concatenation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664
10.2.1 Concatenating a single Series into a string . . . . . . . . . . . . . . . . . . . . . . . . . . . 664
10.2.2 Concatenating a Series and something list-like into a Series . . . . . . . . . . . . . . . . . . 665
10.2.3 Concatenating a Series and something array-like into a Series . . . . . . . . . . . . . . . . . 665
10.2.4 Concatenating a Series and an indexed object into a Series, with alignment . . . . . . . . . . 666
10.2.5 Concatenating a Series and many objects into a Series . . . . . . . . . . . . . . . . . . . . . 668
10.3 Indexing with .str . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 670
10.4 Extracting Substrings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 670
10.4.1 Extract first match in each subject (extract) . . . . . . . . . . . . . . . . . . . . . . . . . . 670
10.4.2 Extract all matches in each subject (extractall) . . . . . . . . . . . . . . . . . . . . . . . . . 672
10.5 Testing for Strings that Match or Contain a Pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . 674
10.6 Creating Indicator Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675
10.7 Method Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675
11 Options and Settings 679
11.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 679
11.2 Getting and Setting Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 680
11.3 Setting Startup Options in python/ipython Environment . . . . . . . . . . . . . . . . . . . . . . . . 681
11.4 Frequently Used Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 681
11.5 Available Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 687
11.6 Number Formatting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 688
11.7 Unicode Formatting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 689
11.8 Table Schema Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 690
12 Indexing and Selecting Data 691
12.1 Different Choices for Indexing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 691
12.2 Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 692
12.3 Attribute Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 695
12.4 Slicing ranges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697
12.5 Selection By Label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 698
12.5.1 Slicing with labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 701
12.6 Selection By Position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 702
12.7 Selection By Callable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 706
12.8 IX Indexer is Deprecated . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 708
12.9 Indexing with list with missing labels is Deprecated . . . . . . . . . . . . . . . . . . . . . . . . . . 709
12.9.1 Reindexing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 710
12.10 Selecting Random Samples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 711
12.11 Setting With Enlargement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 713
12.12 Fast scalar value getting and setting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714
12.13 Boolean indexing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715
12.14 Indexing with isin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 716
12.15 The where() Method and Masking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 719
12.15.1 Mask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 722
12.16 The query() Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 723
12.16.1 MultiIndex query() Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 725
12.16.2 query() Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 726
12.16.3 query() Python versus pandas Syntax Comparison . . . . . . . . . . . . . . . . . . . . . 727
xv
12.16.4 The in and not in operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 728
12.16.5 Special use of the == operator with list objects . . . . . . . . . . . . . . . . . . . . . . . 730
12.16.6 Boolean Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 732
12.16.7 Performance of query() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 733
12.17 Duplicate Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 733
12.18 Dictionary-like get() method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 736
12.19 The lookup() Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 737
12.20 Index objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 737
12.20.1 Setting metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 738
12.20.2 Set operations on Index objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 739
12.20.3 Missing values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 739
12.21 Set / Reset Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 740
12.21.1 Set an index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 740
12.21.2 Reset the index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 741
12.21.3 Adding an ad hoc index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 742
12.22 Returning a view versus a copy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 742
12.22.1 Why does assignment fail when using chained indexing? . . . . . . . . . . . . . . . . . . . 743
12.22.2 Evaluation order matters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 744
13 MultiIndex / Advanced Indexing 747
13.1 Hierarchical indexing (MultiIndex) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 747
13.1.1 Creating a MultiIndex (hierarchical index) object . . . . . . . . . . . . . . . . . . . . . . . 747
13.1.2 Reconstructing the level labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 750
13.1.3 Basic indexing on axis with MultiIndex . . . . . . . . . . . . . . . . . . . . . . . . . . . . 750
13.1.4 Defined Levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 751
13.1.5 Data alignment and using reindex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 752
13.2 Advanced indexing with hierarchical index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 753
13.2.1 Using slicers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 755
13.2.2 Cross-section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 759
13.2.3 Advanced reindexing and alignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 761
13.2.4 Swapping levels with swaplevel() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 762
13.2.5 Reordering levels with reorder_levels() . . . . . . . . . . . . . . . . . . . . . . . . 762
13.3 Sorting a MultiIndex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763
13.4 Take Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 766
13.5 Index Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 767
13.5.1 CategoricalIndex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 767
13.5.2 Int64Index and RangeIndex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 770
13.5.3 Float64Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 770
13.5.4 IntervalIndex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 773
13.5.4.1 Generating Ranges of Intervals . . . . . . . . . . . . . . . . . . . . . . . . . . . . 774
13.6 Miscellaneous indexing FAQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 776
13.6.1 Integer indexing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 776
13.6.2 Non-monotonic indexes require exact matches . . . . . . . . . . . . . . . . . . . . . . . . . 776
13.6.3 Endpoints are inclusive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 778
13.6.4 Indexing potentially changes underlying Series dtype . . . . . . . . . . . . . . . . . . . . . 778
14 Computational tools 781
14.1 Statistical Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 781
14.1.1 Percent Change . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 781
14.1.2 Covariance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 781
14.1.3 Correlation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 783
14.1.4 Data ranking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784
14.2 Window Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 785
14.2.1 Method Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 788
xvi
14.2.2 Rolling Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 790
14.2.3 Time-aware Rolling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 792
14.2.4 Rolling Window Endpoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 794
14.2.5 Time-aware Rolling vs. Resampling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 795
14.2.6 Centering Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 795
14.2.7 Binary Window Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 796
14.2.8 Computing rolling pairwise covariances and correlations . . . . . . . . . . . . . . . . . . . 797
14.3 Aggregation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 799
14.3.1 Applying multiple functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 801
14.3.2 Applying different functions to DataFrame columns . . . . . . . . . . . . . . . . . . . . . . 802
14.4 Expanding Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 803
14.4.1 Method Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 804
14.5 Exponentially Weighted Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 806
15 Working with missing data 811
15.1 Missing data basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 811
15.1.1 When / why does data become missing? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 811
15.1.2 Values considered “missing” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 812
15.2 Datetimes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 813
15.3 Inserting missing data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 814
15.4 Calculations with missing data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 815
15.4.1 Sum/Prod of Empties/Nans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 816
15.4.2 NA values in GroupBy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 817
15.5 Cleaning / filling missing data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 817
15.5.1 Filling missing values: fillna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 817
15.5.2 Filling with a PandasObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 819
15.5.3 Dropping axis labels with missing data: dropna . . . . . . . . . . . . . . . . . . . . . . . . 820
15.5.4 Interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 821
15.5.4.1 Interpolation Limits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 827
15.5.5 Replacing Generic Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 829
15.5.6 String/Regular Expression Replacement . . . . . . . . . . . . . . . . . . . . . . . . . . . . 830
15.5.7 Numeric Replacement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 832
15.6 Missing data casting rules and indexing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 834
16 Group By: split-apply-combine 837
16.1 Splitting an object into groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 838
16.1.1 GroupBy sorting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 840
16.1.2 GroupBy object attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 840
16.1.3 GroupBy with MultiIndex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 841
16.1.4 Grouping DataFrame with Index Levels and Columns . . . . . . . . . . . . . . . . . . . . . 843
16.1.5 DataFrame column selection in GroupBy . . . . . . . . . . . . . . . . . . . . . . . . . . . 844
16.2 Iterating through groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 845
16.3 Selecting a group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 846
16.4 Aggregation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 846
16.4.1 Applying multiple functions at once . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 848
16.4.2 Applying different functions to DataFrame columns . . . . . . . . . . . . . . . . . . . . . . 849
16.4.3 Cython-optimized aggregation functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 850
16.5 Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 851
16.5.1 New syntax to window and resample operations . . . . . . . . . . . . . . . . . . . . . . . . 856
16.6 Filtration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 858
16.7 Dispatching to instance methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 860
16.8 Flexible apply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 861
16.9 Other useful features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 864
16.9.1 Automatic exclusion of “nuisance” columns . . . . . . . . . . . . . . . . . . . . . . . . . . 864
xvii
16.9.2 Handling of (un)observed Categorical values . . . . . . . . . . . . . . . . . . . . . . . . . 864
16.9.3 NA and NaT group handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 865
16.9.4 Grouping with ordered factors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 865
16.9.5 Grouping with a Grouper specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 865
16.9.6 Taking the first rows of each group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 867
16.9.7 Taking the nth row of each group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 867
16.9.8 Enumerate group items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 869
16.9.9 Enumerate groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 870
16.9.10 Plotting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 871
16.9.11 Piping function calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 872
16.10 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 873
16.10.1 Regrouping by factor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 873
16.10.2 Multi-column factorization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 873
16.10.3 Groupby by Indexer to ‘resample’ data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 874
16.10.4 Returning a Series to propagate names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 874
17 Merge, join, and concatenate 877
17.1 Concatenating objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 877
17.1.1 Set logic on the other axes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 880
17.1.2 Concatenating using append . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 881
17.1.3 Ignoring indexes on the concatenation axis . . . . . . . . . . . . . . . . . . . . . . . . . . . 883
17.1.4 Concatenating with mixed ndims . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 883
17.1.5 More concatenating with group keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 885
17.1.6 Appending rows to a DataFrame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 888
17.2 Database-style DataFrame joining/merging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 889
17.2.1 Brief primer on merge methods (relational algebra) . . . . . . . . . . . . . . . . . . . . . . 891
17.2.2 Checking for duplicate keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 894
17.2.3 The merge indicator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 894
17.2.4 Merge Dtypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 895
17.2.5 Joining on index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 898
17.2.6 Joining key columns on an index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 899
17.2.7 Joining a single Index to a Multi-index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 901
17.2.8 Joining with two multi-indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 902
17.2.9 Merging on a combination of columns and index levels . . . . . . . . . . . . . . . . . . . . 902
17.2.10 Overlapping value columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 903
17.2.11 Joining multiple DataFrame or Panel objects . . . . . . . . . . . . . . . . . . . . . . . . . . 904
17.2.12 Merging together values within Series or DataFrame columns . . . . . . . . . . . . . . . . . 905
17.3 Timeseries friendly merging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 905
17.3.1 Merging Ordered Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 905
17.3.2 Merging AsOf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 906
18 Reshaping and Pivot Tables 909
18.1 Reshaping by pivoting DataFrame objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 909
18.2 Reshaping by stacking and unstacking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 911
18.2.1 Multiple Levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 915
18.2.2 Missing Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 916
18.2.3 With a MultiIndex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 918
18.3 Reshaping by Melt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 919
18.4 Combining with stats and GroupBy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 921
18.5 Pivot tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 922
18.5.1 Adding margins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 925
18.6 Cross tabulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 925
18.6.1 Normalization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 926
18.6.2 Adding Margins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 927
xviii
剩余2616页未读,继续阅读
2024-03-17 上传
2024-03-17 上传
2024-03-17 上传
2024-03-17 上传
2024-03-17 上传
2024-03-17 上传
lsw_ruc
- 粉丝: 2
- 资源: 49
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 探索数据转换实验平台在设备装置中的应用
- 使用git-log-to-tikz.py将Git日志转换为TIKZ图形
- 小栗子源码2.9.3版本发布
- 使用Tinder-Hack-Client实现Tinder API交互
- Android Studio新模板:个性化Material Design导航抽屉
- React API分页模块:数据获取与页面管理
- C语言实现顺序表的动态分配方法
- 光催化分解水产氢固溶体催化剂制备技术揭秘
- VS2013环境下tinyxml库的32位与64位编译指南
- 网易云歌词情感分析系统实现与架构
- React应用展示GitHub用户详细信息及项目分析
- LayUI2.1.6帮助文档API功能详解
- 全栈开发实现的chatgpt应用可打包小程序/H5/App
- C++实现顺序表的动态内存分配技术
- Java制作水果格斗游戏:策略与随机性的结合
- 基于若依框架的后台管理系统开发实例解析
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功