522 KB
/srv/reproducible-results/rbuild-debian/r-b-build.hN8cf35f/b1/pandas_2.2.3+dfsg-8_amd64.changes vs.
/srv/reproducible-results/rbuild-debian/r-b-build.hN8cf35f/b2/pandas_2.2.3+dfsg-8_amd64.changes
524 B
Files
    
Offset 1, 5 lines modifiedOffset 1, 5 lines modified
  
1 ·119053e4dbd2ebf8845e73abee59689f·10794968·doc·optional·python-pandas-doc_2.2.3+dfsg-8_all.deb1 ·44c692f6152084b83cd9468612ef29a6·10794604·doc·optional·python-pandas-doc_2.2.3+dfsg-8_all.deb
2 ·f1f9f2170310b8b59540f1504ae4f513·35864748·debug·optional·python3-pandas-lib-dbgsym_2.2.3+dfsg-8_amd64.deb2 ·f1f9f2170310b8b59540f1504ae4f513·35864748·debug·optional·python3-pandas-lib-dbgsym_2.2.3+dfsg-8_amd64.deb
3 ·551836e9c52e65c9632807c82058672b·4515236·python·optional·python3-pandas-lib_2.2.3+dfsg-8_amd64.deb3 ·551836e9c52e65c9632807c82058672b·4515236·python·optional·python3-pandas-lib_2.2.3+dfsg-8_amd64.deb
4 ·3aeb8fc374254d23864c68b1017c67e2·3096900·python·optional·python3-pandas_2.2.3+dfsg-8_all.deb4 ·3aeb8fc374254d23864c68b1017c67e2·3096900·python·optional·python3-pandas_2.2.3+dfsg-8_all.deb
521 KB
python-pandas-doc_2.2.3+dfsg-8_all.deb
452 B
file list
    
Offset 1, 3 lines modifiedOffset 1, 3 lines modified
1 -rw-r--r--···0········0········0········4·2025-02-01·18:39:17.000000·debian-binary1 -rw-r--r--···0········0········0········4·2025-02-01·18:39:17.000000·debian-binary
2 -rw-r--r--···0········0········0···147388·2025-02-01·18:39:17.000000·control.tar.xz2 -rw-r--r--···0········0········0···147404·2025-02-01·18:39:17.000000·control.tar.xz
3 -rw-r--r--···0········0········0·10647388·2025-02-01·18:39:17.000000·data.tar.xz3 -rw-r--r--···0········0········0·10647008·2025-02-01·18:39:17.000000·data.tar.xz
604 B
control.tar.xz
576 B
control.tar
506 B
./control
    
Offset 1, 13 lines modifiedOffset 1, 13 lines modified
1 Package:·python-pandas-doc1 Package:·python-pandas-doc
2 Source:·pandas2 Source:·pandas
3 Version:·2.2.3+dfsg-83 Version:·2.2.3+dfsg-8
4 Architecture:·all4 Architecture:·all
5 Maintainer:·Debian·Science·Team·<debian-science-maintainers@lists.alioth.debian.org>5 Maintainer:·Debian·Science·Team·<debian-science-maintainers@lists.alioth.debian.org>
6 Installed-Size:·2099006 Installed-Size:·209896
7 Depends:·libjs-sphinxdoc·(>=·8.1),·libjs-mathjax7 Depends:·libjs-sphinxdoc·(>=·8.1),·libjs-mathjax
8 Suggests:·python3-pandas8 Suggests:·python3-pandas
9 Section:·doc9 Section:·doc
10 Priority:·optional10 Priority:·optional
11 Multi-Arch:·foreign11 Multi-Arch:·foreign
12 Homepage:·https://pandas.pydata.org/12 Homepage:·https://pandas.pydata.org/
13 Description:·data·structures·for·"relational"·or·"labeled"·data·-·documentation13 Description:·data·structures·for·"relational"·or·"labeled"·data·-·documentation
48.0 B
./md5sums
30.0 B
./md5sums
Files differ
520 KB
data.tar.xz
520 KB
data.tar
13.7 KB
file list
    
Offset 6256, 84 lines modifiedOffset 6256, 84 lines modified
6256 -rw-r--r--···0·root·········(0)·root·········(0)···210184·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/reference/series.html6256 -rw-r--r--···0·root·········(0)·root·········(0)···210184·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/reference/series.html
6257 -rw-r--r--···0·root·········(0)·root·········(0)····48665·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/reference/style.html6257 -rw-r--r--···0·root·········(0)·root·········(0)····48665·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/reference/style.html
6258 -rw-r--r--···0·root·········(0)·root·········(0)····48657·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/reference/testing.html6258 -rw-r--r--···0·root·········(0)·root·········(0)····48657·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/reference/testing.html
6259 -rw-r--r--···0·root·········(0)·root·········(0)····53295·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/reference/window.html6259 -rw-r--r--···0·root·········(0)·root·········(0)····53295·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/reference/window.html
6260 -rw-r--r--···0·root·········(0)·root·········(0)······244·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/release.html6260 -rw-r--r--···0·root·········(0)·root·········(0)······244·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/release.html
6261 -rw-r--r--···0·root·········(0)·root·········(0)······269·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/reshaping.html6261 -rw-r--r--···0·root·········(0)·root·········(0)······269·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/reshaping.html
6262 -rw-r--r--···0·root·········(0)·root·········(0)····17010·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/search.html6262 -rw-r--r--···0·root·········(0)·root·········(0)····17010·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/search.html
6263 -rw-r--r--···0·root·········(0)·root·········(0)··2358676·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/searchindex.js6263 -rw-r--r--···0·root·········(0)·root·········(0)··2358806·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/searchindex.js
6264 -rw-r--r--···0·root·········(0)·root·········(0)······259·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/sparse.html6264 -rw-r--r--···0·root·········(0)·root·········(0)······259·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/sparse.html
6265 -rw-r--r--···0·root·········(0)·root·········(0)······244·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/style.html6265 -rw-r--r--···0·root·········(0)·root·········(0)······244·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/style.html
6266 -rw-r--r--···0·root·········(0)·root·········(0)······255·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/text.html6266 -rw-r--r--···0·root·········(0)·root·········(0)······255·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/text.html
6267 -rw-r--r--···0·root·········(0)·root·········(0)······256·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/timedeltas.html6267 -rw-r--r--···0·root·········(0)·root·········(0)······256·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/timedeltas.html
6268 -rw-r--r--···0·root·········(0)·root·········(0)······277·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/timeseries.html6268 -rw-r--r--···0·root·········(0)·root·········(0)······277·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/timeseries.html
6269 -rw-r--r--···0·root·········(0)·root·········(0)······272·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/tutorials.html6269 -rw-r--r--···0·root·········(0)·root·········(0)······272·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/tutorials.html
6270 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/6270 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/
6271 -rw-r--r--···0·root·········(0)·root·········(0)···171380·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/10min.html6271 -rw-r--r--···0·root·········(0)·root·········(0)···171380·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/10min.html
6272 -rw-r--r--···0·root·········(0)·root·········(0)···283834·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/advanced.html6272 -rw-r--r--···0·root·········(0)·root·········(0)···283975·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/advanced.html
6273 -rw-r--r--···0·root·········(0)·root·········(0)···436075·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/basics.html6273 -rw-r--r--···0·root·········(0)·root·········(0)···436075·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/basics.html
6274 -rw-r--r--···0·root·········(0)·root·········(0)····36646·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/boolean.html6274 -rw-r--r--···0·root·········(0)·root·········(0)····36646·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/boolean.html
6275 -rw-r--r--···0·root·········(0)·root·········(0)···217515·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/categorical.html6275 -rw-r--r--···0·root·········(0)·root·········(0)···217515·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/categorical.html
6276 -rw-r--r--···0·root·········(0)·root·········(0)····18313·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/cookbook.html6276 -rw-r--r--···0·root·········(0)·root·········(0)····18313·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/cookbook.html
6277 -rw-r--r--···0·root·········(0)·root·········(0)····66125·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/copy_on_write.html6277 -rw-r--r--···0·root·········(0)·root·········(0)····66125·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/copy_on_write.html
6278 -rw-r--r--···0·root·········(0)·root·········(0)···160414·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/dsintro.html6278 -rw-r--r--···0·root·········(0)·root·········(0)···160414·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/dsintro.html
6279 -rw-r--r--···0·root·········(0)·root·········(0)····81376·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/duplicates.html6279 -rw-r--r--···0·root·········(0)·root·········(0)····81376·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/duplicates.html
6280 -rw-r--r--···0·root·········(0)·root·········(0)···115483·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/enhancingperf.html6280 -rw-r--r--···0·root·········(0)·root·········(0)···115461·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/enhancingperf.html
6281 -rw-r--r--···0·root·········(0)·root·········(0)···107882·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/gotchas.html6281 -rw-r--r--···0·root·········(0)·root·········(0)···107882·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/gotchas.html
6282 -rw-r--r--···0·root·········(0)·root·········(0)···300850·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/groupby.html6282 -rw-r--r--···0·root·········(0)·root·········(0)···300850·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/groupby.html
6283 -rw-r--r--···0·root·········(0)·root·········(0)····59715·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/index.html6283 -rw-r--r--···0·root·········(0)·root·········(0)····59715·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/index.html
6284 -rw-r--r--···0·root·········(0)·root·········(0)···395484·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/indexing.html6284 -rw-r--r--···0·root·········(0)·root·········(0)···395484·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/indexing.html
6285 -rw-r--r--···0·root·········(0)·root·········(0)····41778·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/integer_na.html6285 -rw-r--r--···0·root·········(0)·root·········(0)····41778·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/integer_na.html
6286 -rw-r--r--···0·root·········(0)·root·········(0)··1145820·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/io.html6286 -rw-r--r--···0·root·········(0)·root·········(0)··1145820·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/io.html
6287 -rw-r--r--···0·root·········(0)·root·········(0)···208885·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/merging.html6287 -rw-r--r--···0·root·········(0)·root·········(0)···208885·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/merging.html
6288 -rw-r--r--···0·root·········(0)·root·········(0)···178690·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/missing_data.html6288 -rw-r--r--···0·root·········(0)·root·········(0)···178690·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/missing_data.html
6289 -rw-r--r--···0·root·········(0)·root·········(0)···112153·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/options.html6289 -rw-r--r--···0·root·········(0)·root·········(0)···112153·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/options.html
6290 -rw-r--r--···0·root·········(0)·root·········(0)···147524·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/pyarrow.html6290 -rw-r--r--···0·root·········(0)·root·········(0)···147524·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/pyarrow.html
6291 -rw-r--r--···0·root·········(0)·root·········(0)···162660·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/reshaping.html6291 -rw-r--r--···0·root·········(0)·root·········(0)···162660·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/reshaping.html
6292 -rw-r--r--···0·root·········(0)·root·········(0)···115581·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/scale.html6292 -rw-r--r--···0·root·········(0)·root·········(0)···115581·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/scale.html
6293 -rw-r--r--···0·root·········(0)·root·········(0)····65546·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/sparse.html6293 -rw-r--r--···0·root·········(0)·root·········(0)····65546·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/sparse.html
6294 -rw-r--r--···0·root·········(0)·root·········(0)···698240·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/style.html6294 -rw-r--r--···0·root·········(0)·root·········(0)···698240·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/style.html
6295 -rw-r--r--···0·root·········(0)·root·········(0)····87862·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/style.ipynb.gz6295 -rw-r--r--···0·root·········(0)·root·········(0)····87822·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/style.ipynb.gz
6296 -rw-r--r--···0·root·········(0)·root·········(0)···165302·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/text.html6296 -rw-r--r--···0·root·········(0)·root·········(0)···165302·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/text.html
6297 -rw-r--r--···0·root·········(0)·root·········(0)···100947·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/timedeltas.html6297 -rw-r--r--···0·root·········(0)·root·········(0)···100947·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/timedeltas.html
6298 -rw-r--r--···0·root·········(0)·root·········(0)···486621·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/timeseries.html6298 -rw-r--r--···0·root·········(0)·root·········(0)···486621·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/timeseries.html
6299 -rw-r--r--···0·root·········(0)·root·········(0)···204341·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/visualization.html6299 -rw-r--r--···0·root·········(0)·root·········(0)···204341·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/visualization.html
6300 -rw-r--r--···0·root·········(0)·root·········(0)···141947·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/window.html6300 -rw-r--r--···0·root·········(0)·root·········(0)···141947·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/user_guide/window.html
6301 -rw-r--r--···0·root·········(0)·root·········(0)······270·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/visualization.html6301 -rw-r--r--···0·root·········(0)·root·········(0)······270·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/visualization.html
6302 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/6302 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/
6303 -rw-r--r--···0·root·········(0)·root·········(0)···107681·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/index.html6303 -rw-r--r--···0·root·········(0)·root·········(0)···107681·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/index.html
6304 -rw-r--r--···0·root·········(0)·root·········(0)····10569·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/index.html.gz6304 -rw-r--r--···0·root·········(0)·root·········(0)····10569·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/index.html.gz
6305 -rw-r--r--···0·root·········(0)·root·········(0)····83987·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.10.0.html6305 -rw-r--r--···0·root·········(0)·root·········(0)····83987·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.10.0.html
6306 -rw-r--r--···0·root·········(0)·root·········(0)····66492·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.10.1.html6306 -rw-r--r--···0·root·········(0)·root·········(0)····66492·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.10.1.html
6307 -rw-r--r--···0·root·········(0)·root·········(0)····82312·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.11.0.html6307 -rw-r--r--···0·root·········(0)·root·········(0)····82312·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.11.0.html
6308 -rw-r--r--···0·root·········(0)·root·········(0)···104316·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.12.0.html6308 -rw-r--r--···0·root·········(0)·root·········(0)···104316·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.12.0.html
6309 -rw-r--r--···0·root·········(0)·root·········(0)···222517·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.13.0.html6309 -rw-r--r--···0·root·········(0)·root·········(0)···222660·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.13.0.html
6310 -rw-r--r--···0·root·········(0)·root·········(0)····89385·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.13.1.html6310 -rw-r--r--···0·root·········(0)·root·········(0)····89385·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.13.1.html
6311 -rw-r--r--···0·root·········(0)·root·········(0)···243730·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.14.0.html6311 -rw-r--r--···0·root·········(0)·root·········(0)···243730·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.14.0.html
6312 -rw-r--r--···0·root·········(0)·root·········(0)····83262·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.14.1.html6312 -rw-r--r--···0·root·········(0)·root·········(0)····83262·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.14.1.html
6313 -rw-r--r--···0·root·········(0)·root·········(0)···252303·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.15.0.html6313 -rw-r--r--···0·root·········(0)·root·········(0)···252303·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.15.0.html
6314 -rw-r--r--···0·root·········(0)·root·········(0)····68280·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.15.1.html6314 -rw-r--r--···0·root·········(0)·root·········(0)····68280·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.15.1.html
6315 -rw-r--r--···0·root·········(0)·root·········(0)····75115·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.15.2.html6315 -rw-r--r--···0·root·········(0)·root·········(0)····75115·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.15.2.html
6316 -rw-r--r--···0·root·········(0)·root·········(0)···145199·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.16.0.html6316 -rw-r--r--···0·root·········(0)·root·········(0)···145199·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.16.0.html
6317 -rw-r--r--···0·root·········(0)·root·········(0)···115518·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.16.1.html6317 -rw-r--r--···0·root·········(0)·root·········(0)···115518·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.16.1.html
6318 -rw-r--r--···0·root·········(0)·root·········(0)····64656·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.16.2.html6318 -rw-r--r--···0·root·········(0)·root·········(0)····64656·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.16.2.html
6319 -rw-r--r--···0·root·········(0)·root·········(0)···231394·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.17.0.html6319 -rw-r--r--···0·root·········(0)·root·········(0)···231394·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.17.0.html
6320 -rw-r--r--···0·root·········(0)·root·········(0)····95028·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.17.1.html6320 -rw-r--r--···0·root·········(0)·root·········(0)····95028·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.17.1.html
6321 -rw-r--r--···0·root·········(0)·root·········(0)···224091·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.18.0.html6321 -rw-r--r--···0·root·········(0)·root·········(0)···224091·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.18.0.html
6322 -rw-r--r--···0·root·········(0)·root·········(0)···171888·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.18.1.html6322 -rw-r--r--···0·root·········(0)·root·········(0)···171419·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.18.1.html
6323 -rw-r--r--···0·root·········(0)·root·········(0)···350916·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.19.0.html6323 -rw-r--r--···0·root·········(0)·root·········(0)···349360·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.19.0.html
6324 -rw-r--r--···0·root·········(0)·root·········(0)····45179·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.19.1.html6324 -rw-r--r--···0·root·········(0)·root·········(0)····45179·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.19.1.html
6325 -rw-r--r--···0·root·········(0)·root·········(0)····48525·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.19.2.html6325 -rw-r--r--···0·root·········(0)·root·········(0)····48525·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.19.2.html
6326 -rw-r--r--···0·root·········(0)·root·········(0)···407596·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.20.0.html6326 -rw-r--r--···0·root·········(0)·root·········(0)···406081·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.20.0.html
6327 -rw-r--r--···0·root·········(0)·root·········(0)····52898·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.20.2.html6327 -rw-r--r--···0·root·········(0)·root·········(0)····52898·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.20.2.html
6328 -rw-r--r--···0·root·········(0)·root·········(0)····43404·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.20.3.html6328 -rw-r--r--···0·root·········(0)·root·········(0)····43404·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.20.3.html
6329 -rw-r--r--···0·root·········(0)·root·········(0)···255811·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.21.0.html6329 -rw-r--r--···0·root·········(0)·root·········(0)···255116·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.21.0.html
6330 -rw-r--r--···0·root·········(0)·root·········(0)····61789·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.21.1.html6330 -rw-r--r--···0·root·········(0)·root·········(0)····61789·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.21.1.html
6331 -rw-r--r--···0·root·········(0)·root·········(0)····59896·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.22.0.html6331 -rw-r--r--···0·root·········(0)·root·········(0)····59841·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.22.0.html
6332 -rw-r--r--···0·root·········(0)·root·········(0)···402831·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.23.0.html6332 -rw-r--r--···0·root·········(0)·root·········(0)···401704·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.23.0.html
6333 -rw-r--r--···0·root·········(0)·root·········(0)····59871·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.23.1.html6333 -rw-r--r--···0·root·········(0)·root·········(0)····59871·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.23.1.html
6334 -rw-r--r--···0·root·········(0)·root·········(0)····52005·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.23.2.html6334 -rw-r--r--···0·root·········(0)·root·········(0)····52005·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.23.2.html
6335 -rw-r--r--···0·root·········(0)·root·········(0)····32373·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.23.3.html6335 -rw-r--r--···0·root·········(0)·root·········(0)····32373·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.23.3.html
6336 -rw-r--r--···0·root·········(0)·root·········(0)····35785·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.23.4.html6336 -rw-r--r--···0·root·········(0)·root·········(0)····35785·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.23.4.html
6337 -rw-r--r--···0·root·········(0)·root·········(0)···520683·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.24.0.html6337 -rw-r--r--···0·root·········(0)·root·········(0)···520683·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.24.0.html
6338 -rw-r--r--···0·root·········(0)·root·········(0)····44717·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.24.1.html6338 -rw-r--r--···0·root·········(0)·root·········(0)····44717·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.24.1.html
6339 -rw-r--r--···0·root·········(0)·root·········(0)····49347·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.24.2.html6339 -rw-r--r--···0·root·········(0)·root·········(0)····49347·2025-02-01·18:39:17.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.24.2.html
79.1 KB
./usr/share/doc/python-pandas-doc/html/searchindex.js
79.0 KB
js-beautify {}
    
Offset 21500, 15 lines modifiedOffset 21500, 15 lines modified
21500 ········"00180":·2294,21500 ········"00180":·2294,
21501 ········"002":·[2193,·2264],21501 ········"002":·[2193,·2264],
21502 ········"002000":·2232,21502 ········"002000":·2232,
21503 ········"002040":·2235,21503 ········"002040":·2235,
21504 ········"002118":·[2230,·2231],21504 ········"002118":·[2230,·2231],
21505 ········"002653":·2207,21505 ········"002653":·2207,
21506 ········"002846":·2229,21506 ········"002846":·2229,
21507 ········"003":·[2185,·2193,·2235],21507 ········"003":·[2185,·2235],
21508 ········"003144":·2210,21508 ········"003144":·2210,
21509 ········"003337":·2207,21509 ········"003337":·2207,
21510 ········"003494":·15,21510 ········"003494":·15,
21511 ········"003507":·[2209,·2218],21511 ········"003507":·[2209,·2218],
21512 ········"003556":·2207,21512 ········"003556":·2207,
21513 ········"00360":·2294,21513 ········"00360":·2294,
21514 ········"003733":·2207,21514 ········"003733":·2207,
Offset 21523, 15 lines modifiedOffset 21523, 15 lines modified
21523 ········"004194":·2186,21523 ········"004194":·2186,
21524 ········"004201":·2186,21524 ········"004201":·2186,
21525 ········"004229":·2186,21525 ········"004229":·2186,
21526 ········"004474":·2184,21526 ········"004474":·2184,
21527 ········"004580":·2210,21527 ········"004580":·2210,
21528 ········"00486":·30,21528 ········"00486":·30,
21529 ········"004956":·2207,21529 ········"004956":·2207,
21530 ········"005":·2209,21530 ········"005":·[2193,·2209],
21531 ········"005000":·2218,21531 ········"005000":·2218,
21532 ········"005361":·2207,21532 ········"005361":·2207,
21533 ········"005383":·2220,21533 ········"005383":·2220,
21534 ········"005446":·2219,21534 ········"005446":·2219,
21535 ········"005462":·2191,21535 ········"005462":·2191,
21536 ········"005977":·2199,21536 ········"005977":·2199,
21537 ········"005979":·2186,21537 ········"005979":·2186,
Offset 21542, 41 lines modifiedOffset 21542, 44 lines modified
21542 ········"006438":·2215,21542 ········"006438":·2215,
21543 ········"006549":·[182,·760],21543 ········"006549":·[182,·760],
21544 ········"006695":·2186,21544 ········"006695":·2186,
21545 ········"006747":·[2185,·2197,·2199,·2202,·2204,·2215],21545 ········"006747":·[2185,·2197,·2199,·2202,·2204,·2215],
21546 ········"006871":·2212,21546 ········"006871":·2212,
21547 ········"006888":·2220,21547 ········"006888":·2220,
21548 ········"006938":·2207,21548 ········"006938":·2207,
 21549 ········"007":·2193,
21549 ········"007200":·2184,21550 ········"007200":·2184,
21550 ········"007207":·[2184,·2214],21551 ········"007207":·[2184,·2214],
21551 ········"007717":·2199,21552 ········"007717":·2199,
21552 ········"007824":·15,21553 ········"007824":·15,
21553 ········"007952":·2207,21554 ········"007952":·2207,
21554 ········"007996":·2186,21555 ········"007996":·2186,
21555 ········"007f":·203,21556 ········"007f":·203,
 21557 ········"008":·2193,
21556 ········"008182":·2204,21558 ········"008182":·2204,
21557 ········"008298":·2186,21559 ········"008298":·2186,
21558 ········"008344":·2207,21560 ········"008344":·2207,
21559 ········"008358":·2207,21561 ········"008358":·2207,
21560 ········"008500":·15,21562 ········"008500":·15,
21561 ········"008543":·[102,·1158],21563 ········"008543":·[102,·1158],
21562 ········"008943":·[102,·1158],21564 ········"008943":·[102,·1158],
 21565 ········"009":·2193,
21563 ········"009059":·2191,21566 ········"009059":·2191,
21564 ········"009207":·2207,21567 ········"009207":·2207,
21565 ········"009420":·2195,21568 ········"009420":·2195,
21566 ········"009424":·2207,21569 ········"009424":·2207,
21567 ········"009572":·2207,21570 ········"009572":·2207,
21568 ········"009673":·2195,21571 ········"009673":·2195,
21569 ········"009783":·2207,21572 ········"009783":·2207,
21570 ········"009797":·2186,21573 ········"009797":·2186,
21571 ········"009826":·[102,·1158,·2205],21574 ········"009826":·[102,·1158,·2205],
21572 ········"009920":·[2184,·2195,·2214],21575 ········"009920":·[2184,·2195,·2214],
21573 ········"00am":·2230,21576 ········"00am":·2230,
21574 ········"00index":·2218,21577 ········"00index":·2218,
21575 ········"01":·[3,·15,·16,·17,·19,·29,·30,·31,·36,·79,·80,·82,·88,·107,·121,·182,·187,·207,·213,·218,·219,·230,·242,·261,·270,·271,·276,·277,·278,·283,·286,·287,·288,·289,·290,·291,·292,·293,·294,·295,·296,·298,·299,·301,·302,·303,·304,·305,·306,·307,·308,·309,·310,·311,·312,·313,·314,·315,·316,·317,·318,·319,·320,·321,·322,·323,·324,·326,·329,·330,·331,·332,·333,·345,·362,·363,·423,·445,·510,·511,·513,·514,·515,·516,·517,·519,·521,·523,·525,·529,·531,·532,·533,·534,·535,·536,·537,·541,·542,·543,·544,·545,·546,·547,·548,·549,·551,·554,·556,·557,·558,·560,·561,·562,·563,·564,·565,·566,·575,·591,·592,·593,·600,·629,·637,·639,·640,·641,·642,·643,·644,·645,·646,·647,·649,·650,·651,·652,·654,·655,·656,·657,·658,·659,·660,·661,·662,·663,·665,·666,·667,·668,·670,·671,·673,·674,·675,·676,·677,·678,·679,·680,·684,·685,·686,·688,·689,·696,·760,·763,·781,·788,·793,·804,·817,·874,·893,·898,·899,·902,·903,·904,·905,·909,·910,·917,·919,·922,·929,·934,·939,·940,·943,·944,·945,·948,·949,·953,·954,·957,·959,·960,·969,·972,·982,·984,·997,·1000,·1001,·1003,·1004,·1005,·1011,·1014,·1016,·1017,·1020,·1021,·1024,·1051,·1075,·1078,·1106,·1118,·1122,·1141,·1144,·1145,·1147,·1157,·1164,·1170,·1171,·1176,·1180,·1185,·1192,·1195,·1197,·1206,·1214,·1221,·1227,·1228,·1233,·1239,·1245,·1246,·1253,·1256,·1258,·1268,·1269,·1270,·1271,·1272,·1273,·1274,·1275,·1277,·1278,·1279,·1280,·1282,·1283,·1284,·1285,·1286,·1287,·1288,·1290,·1291,·1292,·1293,·1294,·1295,·1296,·1297,·1344,·1345,·1367,·1391,·1392,·1393,·1436,·1447,·1452,·1475,·1488,·1490,·1498,·1500,·1501,·1506,·1524,·1542,·1560,·1620,·1699,·1720,·1741,·1793,·1815,·1857,·1930,·1947,·1982,·2036,·2054,·2090,·2108,·2127,·2163,·2184,·2185,·2186,·2188,·2191,·2193,·2195,·2197,·2198,·2199,·2200,·2201,·2202,·2204,·2205,·2206,·2207,·2209,·2210,·2212,·2214,·2215,·2216,·2217,·2218,·2219,·2220,·2221,·2222,·2223,·2225,·2226,·2228,·2229,·2230,·2231,·2232,·2235,·2238,·2240,·2241,·2246,·2249,·2261,·2264,·2265,·2271,·2283,·2289,·2294,·2298,·2302,·2307],21578 ········"01":·[3,·15,·16,·17,·19,·29,·30,·31,·36,·79,·80,·82,·88,·107,·121,·182,·187,·207,·213,·218,·219,·230,·242,·261,·270,·271,·276,·277,·278,·283,·286,·287,·288,·289,·290,·291,·292,·293,·294,·295,·296,·298,·299,·301,·302,·303,·304,·305,·306,·307,·308,·309,·310,·311,·312,·313,·314,·315,·316,·317,·318,·319,·320,·321,·322,·323,·324,·326,·329,·330,·331,·332,·333,·345,·362,·363,·423,·445,·510,·511,·513,·514,·515,·516,·517,·519,·521,·523,·525,·529,·531,·532,·533,·534,·535,·536,·537,·541,·542,·543,·544,·545,·546,·547,·548,·549,·551,·554,·556,·557,·558,·560,·561,·562,·563,·564,·565,·566,·575,·591,·592,·593,·600,·629,·637,·639,·640,·641,·642,·643,·644,·645,·646,·647,·649,·650,·651,·652,·654,·655,·656,·657,·658,·659,·660,·661,·662,·663,·665,·666,·667,·668,·670,·671,·673,·674,·675,·676,·677,·678,·679,·680,·684,·685,·686,·688,·689,·696,·760,·763,·781,·788,·793,·804,·817,·874,·893,·898,·899,·902,·903,·904,·905,·909,·910,·917,·919,·922,·929,·934,·939,·940,·943,·944,·945,·948,·949,·953,·954,·957,·959,·960,·969,·972,·982,·984,·997,·1000,·1001,·1003,·1004,·1005,·1011,·1014,·1016,·1017,·1020,·1021,·1024,·1051,·1075,·1078,·1106,·1118,·1122,·1141,·1144,·1145,·1147,·1157,·1164,·1170,·1171,·1176,·1180,·1185,·1192,·1195,·1197,·1206,·1214,·1221,·1227,·1228,·1233,·1239,·1245,·1246,·1253,·1256,·1258,·1268,·1269,·1270,·1271,·1272,·1273,·1274,·1275,·1277,·1278,·1279,·1280,·1282,·1283,·1284,·1285,·1286,·1287,·1288,·1290,·1291,·1292,·1293,·1294,·1295,·1296,·1297,·1344,·1345,·1367,·1391,·1392,·1393,·1436,·1447,·1452,·1475,·1488,·1490,·1498,·1500,·1501,·1506,·1524,·1542,·1560,·1620,·1699,·1720,·1741,·1793,·1815,·1857,·1930,·1947,·1982,·2036,·2054,·2090,·2108,·2127,·2163,·2184,·2185,·2186,·2188,·2191,·2195,·2197,·2198,·2199,·2200,·2201,·2202,·2204,·2205,·2206,·2207,·2209,·2210,·2212,·2214,·2215,·2216,·2217,·2218,·2219,·2220,·2221,·2222,·2223,·2225,·2226,·2228,·2229,·2230,·2231,·2232,·2235,·2238,·2240,·2241,·2246,·2249,·2261,·2264,·2265,·2271,·2283,·2289,·2294,·2298,·2302,·2307],
21576 ········"0100":·[575,·893,·957,·970,·997,·1004,·1014,·1016,·1020,·1021,·1498,·2186,·2199,·2210,·2246,·2271],21579 ········"0100":·[575,·893,·957,·970,·997,·1004,·1014,·1016,·1020,·1021,·1498,·2186,·2199,·2210,·2246,·2271],
21577 ········"010000":·[954,·1894],21580 ········"010000":·[954,·1894],
21578 ········"010010012":·[923,·2209],21581 ········"010010012":·[923,·2209],
21579 ········"010026":·2191,21582 ········"010026":·2191,
21580 ········"010081":·15,21583 ········"010081":·15,
21581 ········"010165":·2199,21584 ········"010165":·2199,
21582 ········"010589":·2193,21585 ········"010589":·2193,
Offset 21638, 25 lines modifiedOffset 21641, 25 lines modified
21638 ········"017106":·2207,21641 ········"017106":·2207,
21639 ········"017118":·2199,21642 ········"017118":·2199,
21640 ········"017152":·2186,21643 ········"017152":·2186,
21641 ········"017263":·2207,21644 ········"017263":·2207,
21642 ········"017276":·2191,21645 ········"017276":·2191,
21643 ········"017587":·[2184,·2195,·2214],21646 ········"017587":·[2184,·2195,·2214],
21644 ········"017796":·2207,21647 ········"017796":·2207,
21645 ········"018":·[2193,·2199],21648 ········"018":·2199,
21646 ········"018007":·2207,21649 ········"018007":·2207,
21647 ········"018117":·2191,21650 ········"018117":·2191,
21648 ········"018193":·2207,21651 ········"018193":·2207,
21649 ········"018409":·2207,21652 ········"018409":·2207,
21650 ········"018601":·[2184,·2214],21653 ········"018601":·[2184,·2214],
21651 ········"018808":·2207,21654 ········"018808":·2207,
21652 ········"018904":·2207,21655 ········"018904":·2207,
21653 ········"018941":·2207,21656 ········"018941":·2207,
21654 ········"018993":·2214,21657 ········"018993":·2214,
21655 ········"019":·2207,21658 ········"019":·[2193,·2207],
21656 ········"019449":·2207,21659 ········"019449":·2207,
21657 ········"019794":·2197,21660 ········"019794":·2197,
21658 ········"01t00":·[2163,·2199,·2210,·2235,·2246,·2261],21661 ········"01t00":·[2163,·2199,·2210,·2235,·2246,·2261],
21659 ········"01t01":·2210,21662 ········"01t01":·2210,
21660 ········"01t03":·2210,21663 ········"01t03":·2210,
21661 ········"01t05":·[909,·2210,·2235],21664 ········"01t05":·[909,·2210,·2235],
21662 ········"01t07":·1280,21665 ········"01t07":·1280,
Offset 21669, 50 lines modifiedOffset 21672, 47 lines modified
21669 ········"020208":·2195,21672 ········"020208":·2195,
21670 ········"020376":·2207,21673 ········"020376":·2207,
21671 ········"020399":·2195,21674 ········"020399":·2195,
21672 ········"020485":·2207,21675 ········"020485":·2207,
21673 ········"020544":·2186,21676 ········"020544":·2186,
21674 ········"020762":·2220,21677 ········"020762":·2220,
21675 ········"020940":·2230,21678 ········"020940":·2230,
21676 ········"021":·2193, 
21677 ········"021244":·2207,21679 ········"021244":·2207,
21678 ········"021255":·2230,21680 ········"021255":·2230,
21679 ········"021292":·2186,21681 ········"021292":·2186,
21680 ········"021377":·2207,21682 ········"021377":·2207,
21681 ········"021382":·2184,21683 ········"021382":·2184,
21682 ········"021499":·2186,21684 ········"021499":·2186,
21683 ········"02155":·30,21685 ········"02155":·30,
21684 ········"022":·2193, 
21685 ········"022070":·2184,21686 ········"022070":·2184,
21686 ········"022196":·2207,21687 ········"022196":·2207,
21687 ········"022777":·2207,21688 ········"022777":·2207,
21688 ········"023":·[1447,·2200,·2232],21689 ········"023":·[1447,·2200,·2232],
21689 ········"023100":·2195,21690 ········"023100":·2195,
21690 ········"023167":·15,21691 ········"023167":·15,
21691 ········"023202":·2199,21692 ········"023202":·2199,
21692 ········"023526":·2191,21693 ········"023526":·2191,
Max diff block lines reached; 73316/80867 bytes (90.66%) of diff not shown.
4.63 KB
./usr/share/doc/python-pandas-doc/html/user_guide/advanced.html
    
Offset 1847, 25 lines modifiedOffset 1847, 26 lines modified
1847 <span·class="gp">In·[141]:·</span><span·class="n">indexer</span>·<span·class="o">=</span>·<span·class="n">np</span><span·class="o">.</span><span·class="n">arange</span><span·class="p">(</span><span·class="mi">10000</span><span·class="p">)</span>1847 <span·class="gp">In·[141]:·</span><span·class="n">indexer</span>·<span·class="o">=</span>·<span·class="n">np</span><span·class="o">.</span><span·class="n">arange</span><span·class="p">(</span><span·class="mi">10000</span><span·class="p">)</span>
  
1848 <span·class="gp">In·[142]:·</span><span·class="n">random</span><span·class="o">.</span><span·class="n">shuffle</span><span·class="p">(</span><span·class="n">indexer</span><span·class="p">)</span>1848 <span·class="gp">In·[142]:·</span><span·class="n">random</span><span·class="o">.</span><span·class="n">shuffle</span><span·class="p">(</span><span·class="n">indexer</span><span·class="p">)</span>
  
1849 <span·class="gp">In·[143]:·</span><span·class="o">%</span><span·class="k">timeit</span>·arr[indexer]1849 <span·class="gp">In·[143]:·</span><span·class="o">%</span><span·class="k">timeit</span>·arr[indexer]
1850 <span·class="gp">···.....:·</span><span·class="o">%</span><span·class="k">timeit</span>·arr.take(indexer,·axis=0)1850 <span·class="gp">···.....:·</span><span·class="o">%</span><span·class="k">timeit</span>·arr.take(indexer,·axis=0)
1851 <span·class="gp">···.....:·</span>1851 <span·class="gp">···.....:·</span>
1852 <span·class="go">544·us·+-·49.3·us·per·loop·(mean·+-·std.·dev.·of·7·runs,·1,000·loops·each)</span>1852 <span·class="go">350·us·+-·169·us·per·loop·(mean·+-·std.·dev.·of·7·runs,·1,000·loops·each)</span>
1853 <span·class="go">122·us·+-·6.36·us·per·loop·(mean·+-·std.·dev.·of·7·runs,·10,000·loops·each)</span>1853 <span·class="go">106·us·+-·19.1·us·per·loop·(mean·+-·std.·dev.·of·7·runs,·10,000·loops·each)</span>
1854 </pre></div>1854 </pre></div>
1855 </div>1855 </div>
1856 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[144]:·</span><span·class="n">ser</span>·<span·class="o">=</span>·<span·class="n">pd</span><span·class="o">.</span><span·class="n">Series</span><span·class="p">(</span><span·class="n">arr</span><span·class="p">[:,</span>·<span·class="mi">0</span><span·class="p">])</span>1856 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[144]:·</span><span·class="n">ser</span>·<span·class="o">=</span>·<span·class="n">pd</span><span·class="o">.</span><span·class="n">Series</span><span·class="p">(</span><span·class="n">arr</span><span·class="p">[:,</span>·<span·class="mi">0</span><span·class="p">])</span>
  
1857 <span·class="gp">In·[145]:·</span><span·class="o">%</span><span·class="k">timeit</span>·ser.iloc[indexer]1857 <span·class="gp">In·[145]:·</span><span·class="o">%</span><span·class="k">timeit</span>·ser.iloc[indexer]
1858 <span·class="gp">···.....:·</span><span·class="o">%</span><span·class="k">timeit</span>·ser.take(indexer)1858 <span·class="gp">···.....:·</span><span·class="o">%</span><span·class="k">timeit</span>·ser.take(indexer)
1859 <span·class="gp">···.....:·</span>1859 <span·class="gp">···.....:·</span>
1860 <span·class="go">284·us·+-·22.1·us·per·loop·(mean·+-·std.·dev.·of·7·runs,·1,000·loops·each)</span> 
1861 <span·class="go">266·us·+-·16.8·us·per·loop·(mean·+-·std.·dev.·of·7·runs,·1,000·loops·each)</span>1860 <span·class="go">251·us·+-·69.4·us·per·loop·(mean·+-·std.·dev.·of·7·runs,·10,000·loops·each)</span>
 1861 <span·class="go">The·slowest·run·took·7.62·times·longer·than·the·fastest.·This·could·mean·that·an·intermediate·result·is·being·cached.</span>
 1862 <span·class="go">499·us·+-·435·us·per·loop·(mean·+-·std.·dev.·of·7·runs,·1,000·loops·each)</span>
1862 </pre></div>1863 </pre></div>
1863 </div>1864 </div>
1864 </section>1865 </section>
1865 <section·id="index-types">1866 <section·id="index-types">
1866 <span·id="advanced-index-types"></span><h2>Index·types<a·class="headerlink"·href="#index-types"·title="Link·to·this·heading">#</a></h2>1867 <span·id="advanced-index-types"></span><h2>Index·types<a·class="headerlink"·href="#index-types"·title="Link·to·this·heading">#</a></h2>
1867 <p>We·have·discussed·<code·class="docutils·literal·notranslate"><span·class="pre">MultiIndex</span></code>·in·the·previous·sections·pretty·extensively.1868 <p>We·have·discussed·<code·class="docutils·literal·notranslate"><span·class="pre">MultiIndex</span></code>·in·the·previous·sections·pretty·extensively.
1868 Documentation·about·<code·class="docutils·literal·notranslate"><span·class="pre">DatetimeIndex</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">PeriodIndex</span></code>·are·shown·<a·class="reference·internal"·href="timeseries.html#timeseries-overview"><span·class="std·std-ref">here</span></a>,1869 Documentation·about·<code·class="docutils·literal·notranslate"><span·class="pre">DatetimeIndex</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">PeriodIndex</span></code>·are·shown·<a·class="reference·internal"·href="timeseries.html#timeseries-overview"><span·class="std·std-ref">here</span></a>,
1.58 KB
html2text {}
    
Offset 1245, 23 lines modifiedOffset 1245, 25 lines modified
1245 In·[141]:·indexer·=·np.arange(10000)1245 In·[141]:·indexer·=·np.arange(10000)
  
1246 In·[142]:·random.shuffle(indexer)1246 In·[142]:·random.shuffle(indexer)
  
1247 In·[143]:·%timeit·arr[indexer]1247 In·[143]:·%timeit·arr[indexer]
1248 ···.....:·%timeit·arr.take(indexer,·axis=0)1248 ···.....:·%timeit·arr.take(indexer,·axis=0)
1249 ···.....:1249 ···.....:
1250 544·us·+-·49.3·us·per·loop·(mean·+-·std.·dev.·of·7·runs,·1,000·loops·each)1250 350·us·+-·169·us·per·loop·(mean·+-·std.·dev.·of·7·runs,·1,000·loops·each)
1251 122·us·+-·6.36·us·per·loop·(mean·+-·std.·dev.·of·7·runs,·10,000·loops·each)1251 106·us·+-·19.1·us·per·loop·(mean·+-·std.·dev.·of·7·runs,·10,000·loops·each)
1252 In·[144]:·ser·=·pd.Series(arr[:,·0])1252 In·[144]:·ser·=·pd.Series(arr[:,·0])
  
1253 In·[145]:·%timeit·ser.iloc[indexer]1253 In·[145]:·%timeit·ser.iloc[indexer]
1254 ···.....:·%timeit·ser.take(indexer)1254 ···.....:·%timeit·ser.take(indexer)
1255 ···.....:1255 ···.....:
1256 284·us·+-·22.1·us·per·loop·(mean·+-·std.·dev.·of·7·runs,·1,000·loops·each) 
1257 266·us·+-·16.8·us·per·loop·(mean·+-·std.·dev.·of·7·runs,·1,000·loops·each)1256 251·us·+-·69.4·us·per·loop·(mean·+-·std.·dev.·of·7·runs,·10,000·loops·each)
 1257 The·slowest·run·took·7.62·times·longer·than·the·fastest.·This·could·mean·that
 1258 an·intermediate·result·is·being·cached.
 1259 499·us·+-·435·us·per·loop·(mean·+-·std.·dev.·of·7·runs,·1,000·loops·each)
1258 *\x8**\x8**\x8**\x8**\x8*·I\x8In\x8nd\x8de\x8ex\x8x·t\x8ty\x8yp\x8pe\x8es\x8s_\x8#\x8#·*\x8**\x8**\x8**\x8**\x8*1260 *\x8**\x8**\x8**\x8**\x8*·I\x8In\x8nd\x8de\x8ex\x8x·t\x8ty\x8yp\x8pe\x8es\x8s_\x8#\x8#·*\x8**\x8**\x8**\x8**\x8*
1259 We·have·discussed·MultiIndex·in·the·previous·sections·pretty·extensively.1261 We·have·discussed·MultiIndex·in·the·previous·sections·pretty·extensively.
1260 Documentation·about·DatetimeIndex·and·PeriodIndex·are·shown·_\x8h_\x8e_\x8r_\x8e,·and1262 Documentation·about·DatetimeIndex·and·PeriodIndex·are·shown·_\x8h_\x8e_\x8r_\x8e,·and
1261 documentation·about·TimedeltaIndex·is·found·_\x8h_\x8e_\x8r_\x8e.1263 documentation·about·TimedeltaIndex·is·found·_\x8h_\x8e_\x8r_\x8e.
1262 In·the·following·sub-sections·we·will·highlight·some·other·index·types.1264 In·the·following·sub-sections·we·will·highlight·some·other·index·types.
1263 *\x8**\x8**\x8**\x8*·C\x8Ca\x8at\x8te\x8eg\x8go\x8or\x8ri\x8ic\x8ca\x8al\x8lI\x8In\x8nd\x8de\x8ex\x8x_\x8#\x8#·*\x8**\x8**\x8**\x8*1265 *\x8**\x8**\x8**\x8*·C\x8Ca\x8at\x8te\x8eg\x8go\x8or\x8ri\x8ic\x8ca\x8al\x8lI\x8In\x8nd\x8de\x8ex\x8x_\x8#\x8#·*\x8**\x8**\x8**\x8*
1264 _\x8C_\x8a_\x8t_\x8e_\x8g_\x8o_\x8r_\x8i_\x8c_\x8a_\x8l_\x8I_\x8n_\x8d_\x8e_\x8x·is·a·type·of·index·that·is·useful·for·supporting·indexing·with1266 _\x8C_\x8a_\x8t_\x8e_\x8g_\x8o_\x8r_\x8i_\x8c_\x8a_\x8l_\x8I_\x8n_\x8d_\x8e_\x8x·is·a·type·of·index·that·is·useful·for·supporting·indexing·with
33.5 KB
./usr/share/doc/python-pandas-doc/html/user_guide/enhancingperf.html
    
Offset 592, 31 lines modifiedOffset 592, 31 lines modified
592 <span·class="gp">···...:·</span>········<span·class="n">s</span>·<span·class="o">+=</span>·<span·class="n">f</span><span·class="p">(</span><span·class="n">a</span>·<span·class="o">+</span>·<span·class="n">i</span>·<span·class="o">*</span>·<span·class="n">dx</span><span·class="p">)</span>592 <span·class="gp">···...:·</span>········<span·class="n">s</span>·<span·class="o">+=</span>·<span·class="n">f</span><span·class="p">(</span><span·class="n">a</span>·<span·class="o">+</span>·<span·class="n">i</span>·<span·class="o">*</span>·<span·class="n">dx</span><span·class="p">)</span>
593 <span·class="gp">···...:·</span>····<span·class="k">return</span>·<span·class="n">s</span>·<span·class="o">*</span>·<span·class="n">dx</span>593 <span·class="gp">···...:·</span>····<span·class="k">return</span>·<span·class="n">s</span>·<span·class="o">*</span>·<span·class="n">dx</span>
594 <span·class="gp">···...:·</span>594 <span·class="gp">···...:·</span>
595 </pre></div>595 </pre></div>
596 </div>596 </div>
597 <p>We·achieve·our·result·by·using·<a·class="reference·internal"·href="../reference/api/pandas.DataFrame.apply.html#pandas.DataFrame.apply"·title="pandas.DataFrame.apply"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">DataFrame.apply()</span></code></a>·(row-wise):</p>597 <p>We·achieve·our·result·by·using·<a·class="reference·internal"·href="../reference/api/pandas.DataFrame.apply.html#pandas.DataFrame.apply"·title="pandas.DataFrame.apply"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">DataFrame.apply()</span></code></a>·(row-wise):</p>
598 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[5]:·</span><span·class="o">%</span><span·class="k">timeit</span>·df.apply(lambda·x:·integrate_f(x[&quot;a&quot;],·x[&quot;b&quot;],·x[&quot;N&quot;]),·axis=1)598 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[5]:·</span><span·class="o">%</span><span·class="k">timeit</span>·df.apply(lambda·x:·integrate_f(x[&quot;a&quot;],·x[&quot;b&quot;],·x[&quot;N&quot;]),·axis=1)
599 <span·class="go">211·ms·+-·18.6·ms·per·loop·(mean·+-·std.·dev.·of·7·runs,·10·loops·each)</span>599 <span·class="go">159·ms·+-·68.7·ms·per·loop·(mean·+-·std.·dev.·of·7·runs,·10·loops·each)</span>
600 </pre></div>600 </pre></div>
601 </div>601 </div>
602 <p>Let’s·take·a·look·and·see·where·the·time·is·spent·during·this·operation602 <p>Let’s·take·a·look·and·see·where·the·time·is·spent·during·this·operation
603 using·the·<a·class="reference·external"·href="https://ipython.readthedocs.io/en/stable/interactive/magics.html#magic-prun">prun·ipython·magic·function</a>:</p>603 using·the·<a·class="reference·external"·href="https://ipython.readthedocs.io/en/stable/interactive/magics.html#magic-prun">prun·ipython·magic·function</a>:</p>
604 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="go">#·most·time·consuming·4·calls</span>604 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="go">#·most·time·consuming·4·calls</span>
605 <span·class="gp">In·[6]:·</span><span·class="o">%</span><span·class="k">prun</span>·-l·4·df.apply(lambda·x:·integrate_f(x[&quot;a&quot;],·x[&quot;b&quot;],·x[&quot;N&quot;]),·axis=1)··#·noqa·E999605 <span·class="gp">In·[6]:·</span><span·class="o">%</span><span·class="k">prun</span>·-l·4·df.apply(lambda·x:·integrate_f(x[&quot;a&quot;],·x[&quot;b&quot;],·x[&quot;N&quot;]),·axis=1)··#·noqa·E999
606 <span·class="go">·········605946·function·calls·(605928·primitive·calls)·in·1.397·seconds</span>606 <span·class="go">·········605946·function·calls·(605928·primitive·calls)·in·0.618·seconds</span>
  
607 <span·class="go">···Ordered·by:·internal·time</span>607 <span·class="go">···Ordered·by:·internal·time</span>
608 <span·class="go">···List·reduced·from·159·to·4·due·to·restriction·&lt;4&gt;</span>608 <span·class="go">···List·reduced·from·159·to·4·due·to·restriction·&lt;4&gt;</span>
  
609 <span·class="go">···ncalls··tottime··percall··cumtime··percall·filename:lineno(function)</span>609 <span·class="go">···ncalls··tottime··percall··cumtime··percall·filename:lineno(function)</span>
610 <span·class="go">·····1000····0.758····0.001····1.236····0.001·&lt;ipython-input-4-c2a74e076cf0&gt;:1(integrate_f)</span>610 <span·class="go">·····1000····0.362····0.000····0.512····0.001·&lt;ipython-input-4-c2a74e076cf0&gt;:1(integrate_f)</span>
611 <span·class="go">···552423····0.478····0.000····0.478····0.000·&lt;ipython-input-3-c138bdd570e3&gt;:1(f)</span>611 <span·class="go">···552423····0.150····0.000····0.150····0.000·&lt;ipython-input-3-c138bdd570e3&gt;:1(f)</span>
 612 <span·class="go">········1····0.015····0.015····0.615····0.615·apply.py:1070(apply_series_generator)</span>
612 <span·class="go">·····3000····0.025····0.000····0.111····0.000·series.py:1095(__getitem__)</span>613 <span·class="go">·····3000····0.014····0.000····0.029····0.000·series.py:1220(_get_value)</span>
613 <span·class="go">····16098····0.018····0.000····0.024····0.000·{built-in·method·builtins.isinstance}</span> 
614 </pre></div>614 </pre></div>
615 </div>615 </div>
616 <p>By·far·the·majority·of·time·is·spend·inside·either·<code·class="docutils·literal·notranslate"><span·class="pre">integrate_f</span></code>·or·<code·class="docutils·literal·notranslate"><span·class="pre">f</span></code>,616 <p>By·far·the·majority·of·time·is·spend·inside·either·<code·class="docutils·literal·notranslate"><span·class="pre">integrate_f</span></code>·or·<code·class="docutils·literal·notranslate"><span·class="pre">f</span></code>,
617 hence·we’ll·concentrate·our·efforts·cythonizing·these·two·functions.</p>617 hence·we’ll·concentrate·our·efforts·cythonizing·these·two·functions.</p>
618 </section>618 </section>
619 <section·id="plain-cython">619 <section·id="plain-cython">
620 <span·id="enhancingperf-plain"></span><h3>Plain·Cython<a·class="headerlink"·href="#plain-cython"·title="Link·to·this·heading">#</a></h3>620 <span·id="enhancingperf-plain"></span><h3>Plain·Cython<a·class="headerlink"·href="#plain-cython"·title="Link·to·this·heading">#</a></h3>
Offset 634, 15 lines modifiedOffset 634, 15 lines modified
634 <span·class="gp">···...:·</span>····for·i·in·range(N):634 <span·class="gp">···...:·</span>····for·i·in·range(N):
635 <span·class="gp">···...:·</span>········s·+=·f_plain(a·+·i·*·dx)635 <span·class="gp">···...:·</span>········s·+=·f_plain(a·+·i·*·dx)
636 <span·class="gp">···...:·</span>····return·s·*·dx636 <span·class="gp">···...:·</span>····return·s·*·dx
637 <span·class="gp">···...:·</span>637 <span·class="gp">···...:·</span>
638 </pre></div>638 </pre></div>
639 </div>639 </div>
640 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[9]:·</span><span·class="o">%</span><span·class="k">timeit</span>·df.apply(lambda·x:·integrate_f_plain(x[&quot;a&quot;],·x[&quot;b&quot;],·x[&quot;N&quot;]),·axis=1)640 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[9]:·</span><span·class="o">%</span><span·class="k">timeit</span>·df.apply(lambda·x:·integrate_f_plain(x[&quot;a&quot;],·x[&quot;b&quot;],·x[&quot;N&quot;]),·axis=1)
641 <span·class="go">135·ms·+-·12.6·ms·per·loop·(mean·+-·std.·dev.·of·7·runs,·10·loops·each)</span>641 <span·class="go">131·ms·+-·42.2·ms·per·loop·(mean·+-·std.·dev.·of·7·runs,·10·loops·each)</span>
642 </pre></div>642 </pre></div>
643 </div>643 </div>
644 <p>This·has·improved·the·performance·compared·to·the·pure·Python·approach·by·one-third.</p>644 <p>This·has·improved·the·performance·compared·to·the·pure·Python·approach·by·one-third.</p>
645 </section>645 </section>
646 <section·id="declaring-c-types">646 <section·id="declaring-c-types">
647 <span·id="enhancingperf-type"></span><h3>Declaring·C·types<a·class="headerlink"·href="#declaring-c-types"·title="Link·to·this·heading">#</a></h3>647 <span·id="enhancingperf-type"></span><h3>Declaring·C·types<a·class="headerlink"·href="#declaring-c-types"·title="Link·to·this·heading">#</a></h3>
648 <p>We·can·annotate·the·function·variables·and·return·types·as·well·as·use·<code·class="docutils·literal·notranslate"><span·class="pre">cdef</span></code>648 <p>We·can·annotate·the·function·variables·and·return·types·as·well·as·use·<code·class="docutils·literal·notranslate"><span·class="pre">cdef</span></code>
Offset 658, 36 lines modifiedOffset 658, 36 lines modified
658 <span·class="gp">···....:·</span>····for·i·in·range(N):658 <span·class="gp">···....:·</span>····for·i·in·range(N):
659 <span·class="gp">···....:·</span>········s·+=·f_typed(a·+·i·*·dx)659 <span·class="gp">···....:·</span>········s·+=·f_typed(a·+·i·*·dx)
660 <span·class="gp">···....:·</span>····return·s·*·dx660 <span·class="gp">···....:·</span>····return·s·*·dx
661 <span·class="gp">···....:·</span>661 <span·class="gp">···....:·</span>
662 </pre></div>662 </pre></div>
663 </div>663 </div>
664 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[11]:·</span><span·class="o">%</span><span·class="k">timeit</span>·df.apply(lambda·x:·integrate_f_typed(x[&quot;a&quot;],·x[&quot;b&quot;],·x[&quot;N&quot;]),·axis=1)664 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[11]:·</span><span·class="o">%</span><span·class="k">timeit</span>·df.apply(lambda·x:·integrate_f_typed(x[&quot;a&quot;],·x[&quot;b&quot;],·x[&quot;N&quot;]),·axis=1)
665 <span·class="go">25.7·ms·+-·899·us·per·loop·(mean·+-·std.·dev.·of·7·runs,·10·loops·each)</span>665 <span·class="go">18.6·ms·+-·634·us·per·loop·(mean·+-·std.·dev.·of·7·runs,·10·loops·each)</span>
666 </pre></div>666 </pre></div>
667 </div>667 </div>
668 <p>Annotating·the·functions·with·C·types·yields·an·over·ten·times·performance·improvement·compared·to668 <p>Annotating·the·functions·with·C·types·yields·an·over·ten·times·performance·improvement·compared·to
669 the·original·Python·implementation.</p>669 the·original·Python·implementation.</p>
670 </section>670 </section>
671 <section·id="using-ndarray">671 <section·id="using-ndarray">
672 <span·id="enhancingperf-ndarray"></span><h3>Using·ndarray<a·class="headerlink"·href="#using-ndarray"·title="Link·to·this·heading">#</a></h3>672 <span·id="enhancingperf-ndarray"></span><h3>Using·ndarray<a·class="headerlink"·href="#using-ndarray"·title="Link·to·this·heading">#</a></h3>
673 <p>When·re-profiling,·time·is·spent·creating·a·<a·class="reference·internal"·href="../reference/api/pandas.Series.html#pandas.Series"·title="pandas.Series"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Series</span></code></a>·from·each·row,·and·calling·<code·class="docutils·literal·notranslate"><span·class="pre">__getitem__</span></code>·from·both673 <p>When·re-profiling,·time·is·spent·creating·a·<a·class="reference·internal"·href="../reference/api/pandas.Series.html#pandas.Series"·title="pandas.Series"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Series</span></code></a>·from·each·row,·and·calling·<code·class="docutils·literal·notranslate"><span·class="pre">__getitem__</span></code>·from·both
674 the·index·and·the·series·(three·times·for·each·row).·These·Python·function·calls·are·expensive·and674 the·index·and·the·series·(three·times·for·each·row).·These·Python·function·calls·are·expensive·and
675 can·be·improved·by·passing·an·<code·class="docutils·literal·notranslate"><span·class="pre">np.ndarray</span></code>.</p>675 can·be·improved·by·passing·an·<code·class="docutils·literal·notranslate"><span·class="pre">np.ndarray</span></code>.</p>
676 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[12]:·</span><span·class="o">%</span><span·class="k">prun</span>·-l·4·df.apply(lambda·x:·integrate_f_typed(x[&quot;a&quot;],·x[&quot;b&quot;],·x[&quot;N&quot;]),·axis=1)676 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[12]:·</span><span·class="o">%</span><span·class="k">prun</span>·-l·4·df.apply(lambda·x:·integrate_f_typed(x[&quot;a&quot;],·x[&quot;b&quot;],·x[&quot;N&quot;]),·axis=1)
677 <span·class="go">·········52523·function·calls·(52505·primitive·calls)·in·0.134·seconds</span>677 <span·class="go">·········52523·function·calls·(52505·primitive·calls)·in·0.062·seconds</span>
  
678 <span·class="go">···Ordered·by:·internal·time</span>678 <span·class="go">···Ordered·by:·internal·time</span>
679 <span·class="go">···List·reduced·from·157·to·4·due·to·restriction·&lt;4&gt;</span>679 <span·class="go">···List·reduced·from·157·to·4·due·to·restriction·&lt;4&gt;</span>
  
680 <span·class="go">···ncalls··tottime··percall··cumtime··percall·filename:lineno(function)</span>680 <span·class="go">···ncalls··tottime··percall··cumtime··percall·filename:lineno(function)</span>
681 <span·class="go">·····3000····0.022····0.000····0.094····0.000·series.py:1095(__getitem__)</span>681 <span·class="go">·····3000····0.009····0.000····0.039····0.000·series.py:1095(__getitem__)</span>
 682 <span·class="go">·····3000····0.008····0.000····0.009····0.000·base.py:3777(get_loc)</span>
 683 <span·class="go">·····3000····0.007····0.000····0.019····0.000·series.py:1220(_get_value)</span>
682 <span·class="go">····16098····0.015····0.000····0.021····0.000·{built-in·method·builtins.isinstance}</span>684 <span·class="go">····16098····0.005····0.000····0.007····0.000·{built-in·method·builtins.isinstance}</span>
683 <span·class="go">·····3000····0.015····0.000····0.038····0.000·series.py:1220(_get_value)</span> 
684 <span·class="go">·····3000····0.014····0.000····0.024····0.000·indexing.py:2765(check_dict_or_set_indexers)</span> 
685 </pre></div>685 </pre></div>
686 </div>686 </div>
687 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[13]:·</span><span·class="o">%%</span><span·class="k">cython</span>687 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[13]:·</span><span·class="o">%%</span><span·class="k">cython</span>
688 <span·class="gp">···....:·</span>cimport·numpy·as·np688 <span·class="gp">···....:·</span>cimport·numpy·as·np
689 <span·class="gp">···....:·</span>import·numpy·as·np689 <span·class="gp">···....:·</span>import·numpy·as·np
690 <span·class="gp">···....:·</span>cdef·double·f_typed(double·x)·except?·-2:690 <span·class="gp">···....:·</span>cdef·double·f_typed(double·x)·except?·-2:
691 <span·class="gp">···....:·</span>····return·x·*·(x·-·1)691 <span·class="gp">···....:·</span>····return·x·*·(x·-·1)
Offset 722, 34 lines modifiedOffset 722, 34 lines modified
722 </div>722 </div>
723 <p>This·implementation·creates·an·array·of·zeros·and·inserts·the·result723 <p>This·implementation·creates·an·array·of·zeros·and·inserts·the·result
724 of·<code·class="docutils·literal·notranslate"><span·class="pre">integrate_f_typed</span></code>·applied·over·each·row.·Looping·over·an·<code·class="docutils·literal·notranslate"><span·class="pre">ndarray</span></code>·is·faster724 of·<code·class="docutils·literal·notranslate"><span·class="pre">integrate_f_typed</span></code>·applied·over·each·row.·Looping·over·an·<code·class="docutils·literal·notranslate"><span·class="pre">ndarray</span></code>·is·faster
725 in·Cython·than·looping·over·a·<a·class="reference·internal"·href="../reference/api/pandas.Series.html#pandas.Series"·title="pandas.Series"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Series</span></code></a>·object.</p>725 in·Cython·than·looping·over·a·<a·class="reference·internal"·href="../reference/api/pandas.Series.html#pandas.Series"·title="pandas.Series"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Series</span></code></a>·object.</p>
726 <p>Since·<code·class="docutils·literal·notranslate"><span·class="pre">apply_integrate_f</span></code>·is·typed·to·accept·an·<code·class="docutils·literal·notranslate"><span·class="pre">np.ndarray</span></code>,·<a·class="reference·internal"·href="../reference/api/pandas.Series.to_numpy.html#pandas.Series.to_numpy"·title="pandas.Series.to_numpy"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">Series.to_numpy()</span></code></a>726 <p>Since·<code·class="docutils·literal·notranslate"><span·class="pre">apply_integrate_f</span></code>·is·typed·to·accept·an·<code·class="docutils·literal·notranslate"><span·class="pre">np.ndarray</span></code>,·<a·class="reference·internal"·href="../reference/api/pandas.Series.to_numpy.html#pandas.Series.to_numpy"·title="pandas.Series.to_numpy"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">Series.to_numpy()</span></code></a>
727 calls·are·needed·to·utilize·this·function.</p>727 calls·are·needed·to·utilize·this·function.</p>
728 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[14]:·</span><span·class="o">%</span><span·class="k">timeit</span>·apply_integrate_f(df[&quot;a&quot;].to_numpy(),·df[&quot;b&quot;].to_numpy(),·df[&quot;N&quot;].to_numpy())728 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[14]:·</span><span·class="o">%</span><span·class="k">timeit</span>·apply_integrate_f(df[&quot;a&quot;].to_numpy(),·df[&quot;b&quot;].to_numpy(),·df[&quot;N&quot;].to_numpy())
729 <span·class="go">2.14·ms·+-·23.7·us·per·loop·(mean·+-·std.·dev.·of·7·runs,·100·loops·each)</span>729 <span·class="go">1.69·ms·+-·153·us·per·loop·(mean·+-·std.·dev.·of·7·runs,·100·loops·each)</span>
730 </pre></div>730 </pre></div>
731 </div>731 </div>
732 <p>Performance·has·improved·from·the·prior·implementation·by·almost·ten·times.</p>732 <p>Performance·has·improved·from·the·prior·implementation·by·almost·ten·times.</p>
733 </section>733 </section>
734 <section·id="disabling-compiler-directives">734 <section·id="disabling-compiler-directives">
735 <span·id="enhancingperf-boundswrap"></span><h3>Disabling·compiler·directives<a·class="headerlink"·href="#disabling-compiler-directives"·title="Link·to·this·heading">#</a></h3>735 <span·id="enhancingperf-boundswrap"></span><h3>Disabling·compiler·directives<a·class="headerlink"·href="#disabling-compiler-directives"·title="Link·to·this·heading">#</a></h3>
736 <p>The·majority·of·the·time·is·now·spent·in·<code·class="docutils·literal·notranslate"><span·class="pre">apply_integrate_f</span></code>.·Disabling·Cython’s·<code·class="docutils·literal·notranslate"><span·class="pre">boundscheck</span></code>736 <p>The·majority·of·the·time·is·now·spent·in·<code·class="docutils·literal·notranslate"><span·class="pre">apply_integrate_f</span></code>.·Disabling·Cython’s·<code·class="docutils·literal·notranslate"><span·class="pre">boundscheck</span></code>
737 and·<code·class="docutils·literal·notranslate"><span·class="pre">wraparound</span></code>·checks·can·yield·more·performance.</p>737 and·<code·class="docutils·literal·notranslate"><span·class="pre">wraparound</span></code>·checks·can·yield·more·performance.</p>
738 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[15]:·</span><span·class="o">%</span><span·class="k">prun</span>·-l·4·apply_integrate_f(df[&quot;a&quot;].to_numpy(),·df[&quot;b&quot;].to_numpy(),·df[&quot;N&quot;].to_numpy())738 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[15]:·</span><span·class="o">%</span><span·class="k">prun</span>·-l·4·apply_integrate_f(df[&quot;a&quot;].to_numpy(),·df[&quot;b&quot;].to_numpy(),·df[&quot;N&quot;].to_numpy())
739 <span·class="go">·········78·function·calls·in·0.003·seconds</span>739 <span·class="go">·········78·function·calls·in·0.002·seconds</span>
  
740 <span·class="go">···Ordered·by:·internal·time</span>740 <span·class="go">···Ordered·by:·internal·time</span>
741 <span·class="go">···List·reduced·from·21·to·4·due·to·restriction·&lt;4&gt;</span>741 <span·class="go">···List·reduced·from·21·to·4·due·to·restriction·&lt;4&gt;</span>
  
742 <span·class="go">···ncalls··tottime··percall··cumtime··percall·filename:lineno(function)</span>742 <span·class="go">···ncalls··tottime··percall··cumtime··percall·filename:lineno(function)</span>
743 <span·class="go">········1····0.002····0.002····0.002····0.002·&lt;string&gt;:1(&lt;module&gt;)</span>743 <span·class="go">········1····0.002····0.002····0.002····0.002·&lt;string&gt;:1(&lt;module&gt;)</span>
744 <span·class="go">········1····0.000····0.000····0.000····0.000·{method·&#39;disable&#39;·of·&#39;_lsprof.Profiler&#39;·objects}</span>744 <span·class="go">········1····0.000····0.000····0.000····0.000·{method·&#39;disable&#39;·of·&#39;_lsprof.Profiler&#39;·objects}</span>
745 <span·class="go">········1····0.000····0.000····0.003····0.003·{built-in·method·builtins.exec}</span>745 <span·class="go">········1····0.000····0.000····0.002····0.002·{built-in·method·builtins.exec}</span>
746 <span·class="go">········3····0.000····0.000····0.000····0.000·managers.py:1993(dtype)</span>746 <span·class="go">········3····0.000····0.000····0.000····0.000·frame.py:4062(__getitem__)</span>
747 </pre></div>747 </pre></div>
748 </div>748 </div>
749 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[16]:·</span><span·class="o">%%</span><span·class="k">cython</span>749 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[16]:·</span><span·class="o">%%</span><span·class="k">cython</span>
750 <span·class="gp">···....:·</span>cimport·cython750 <span·class="gp">···....:·</span>cimport·cython
751 <span·class="gp">···....:·</span>cimport·numpy·as·np751 <span·class="gp">···....:·</span>cimport·numpy·as·np
752 <span·class="gp">···....:·</span>import·numpy·as·np752 <span·class="gp">···....:·</span>import·numpy·as·np
753 <span·class="gp">···....:·</span>cdef·np.float64_t·f_typed(np.float64_t·x)·except?·-2:753 <span·class="gp">···....:·</span>cdef·np.float64_t·f_typed(np.float64_t·x)·except?·-2:
Offset 782, 15 lines modifiedOffset 782, 15 lines modified
782 <span·class="go">·················from·/build/reproducible-path/pandas-2.2.3+dfsg/buildtmp/.cache/ipython/cython/_cython_magic_883da8958ecc60be73b28b7124368f9c7cc2d174.c:1251:</span>782 <span·class="go">·················from·/build/reproducible-path/pandas-2.2.3+dfsg/buildtmp/.cache/ipython/cython/_cython_magic_883da8958ecc60be73b28b7124368f9c7cc2d174.c:1251:</span>
783 <span·class="go">/usr/lib/x86_64-linux-gnu/python3-numpy/numpy/_core/include/numpy/npy_1_7_deprecated_api.h:17:2:·warning:·#warning·&quot;Using·deprecated·NumPy·API,·disable·it·with·&quot;·&quot;#define·NPY_NO_DEPRECATED_API·NPY_1_7_API_VERSION&quot;·[-Wcpp]</span>783 <span·class="go">/usr/lib/x86_64-linux-gnu/python3-numpy/numpy/_core/include/numpy/npy_1_7_deprecated_api.h:17:2:·warning:·#warning·&quot;Using·deprecated·NumPy·API,·disable·it·with·&quot;·&quot;#define·NPY_NO_DEPRECATED_API·NPY_1_7_API_VERSION&quot;·[-Wcpp]</span>
784 <span·class="go">···17·|·#warning·&quot;Using·deprecated·NumPy·API,·disable·it·with·&quot;·\</span>784 <span·class="go">···17·|·#warning·&quot;Using·deprecated·NumPy·API,·disable·it·with·&quot;·\</span>
785 <span·class="go">······|··^~~~~~~</span>785 <span·class="go">······|··^~~~~~~</span>
Max diff block lines reached; 9446/22605 bytes (41.79%) of diff not shown.
11.3 KB
html2text {}
    
Offset 110, 33 lines modifiedOffset 110, 33 lines modified
110 ···...:·····dx·=·(b·-·a)·/·N110 ···...:·····dx·=·(b·-·a)·/·N
111 ···...:·····for·i·in·range(N):111 ···...:·····for·i·in·range(N):
112 ···...:·········s·+=·f(a·+·i·*·dx)112 ···...:·········s·+=·f(a·+·i·*·dx)
113 ···...:·····return·s·*·dx113 ···...:·····return·s·*·dx
114 ···...:114 ···...:
115 We·achieve·our·result·by·using·_\x8D_\x8a_\x8t_\x8a_\x8F_\x8r_\x8a_\x8m_\x8e_\x8._\x8a_\x8p_\x8p_\x8l_\x8y_\x8(_\x8)·(row-wise):115 We·achieve·our·result·by·using·_\x8D_\x8a_\x8t_\x8a_\x8F_\x8r_\x8a_\x8m_\x8e_\x8._\x8a_\x8p_\x8p_\x8l_\x8y_\x8(_\x8)·(row-wise):
116 In·[5]:·%timeit·df.apply(lambda·x:·integrate_f(x["a"],·x["b"],·x["N"]),·axis=1)116 In·[5]:·%timeit·df.apply(lambda·x:·integrate_f(x["a"],·x["b"],·x["N"]),·axis=1)
117 211·ms·+-·18.6·ms·per·loop·(mean·+-·std.·dev.·of·7·runs,·10·loops·each)117 159·ms·+-·68.7·ms·per·loop·(mean·+-·std.·dev.·of·7·runs,·10·loops·each)
118 Let’s·take·a·look·and·see·where·the·time·is·spent·during·this·operation·using118 Let’s·take·a·look·and·see·where·the·time·is·spent·during·this·operation·using
119 the·_\x8p_\x8r_\x8u_\x8n_\x8·_\x8i_\x8p_\x8y_\x8t_\x8h_\x8o_\x8n_\x8·_\x8m_\x8a_\x8g_\x8i_\x8c_\x8·_\x8f_\x8u_\x8n_\x8c_\x8t_\x8i_\x8o_\x8n:119 the·_\x8p_\x8r_\x8u_\x8n_\x8·_\x8i_\x8p_\x8y_\x8t_\x8h_\x8o_\x8n_\x8·_\x8m_\x8a_\x8g_\x8i_\x8c_\x8·_\x8f_\x8u_\x8n_\x8c_\x8t_\x8i_\x8o_\x8n:
120 #·most·time·consuming·4·calls120 #·most·time·consuming·4·calls
121 In·[6]:·%prun·-l·4·df.apply(lambda·x:·integrate_f(x["a"],·x["b"],·x["N"]),121 In·[6]:·%prun·-l·4·df.apply(lambda·x:·integrate_f(x["a"],·x["b"],·x["N"]),
122 axis=1)··#·noqa·E999122 axis=1)··#·noqa·E999
123 ·········605946·function·calls·(605928·primitive·calls)·in·1.397·seconds123 ·········605946·function·calls·(605928·primitive·calls)·in·0.618·seconds
  
124 ···Ordered·by:·internal·time124 ···Ordered·by:·internal·time
125 ···List·reduced·from·159·to·4·due·to·restriction·<4>125 ···List·reduced·from·159·to·4·due·to·restriction·<4>
  
126 ···ncalls··tottime··percall··cumtime··percall·filename:lineno(function)126 ···ncalls··tottime··percall··cumtime··percall·filename:lineno(function)
127 ·····1000····0.758····0.001····1.236····0.001·<ipython-input-4-c2a74e076cf0>:1127 ·····1000····0.362····0.000····0.512····0.001·<ipython-input-4-c2a74e076cf0>:1
128 (integrate_f)128 (integrate_f)
129 ···552423····0.478····0.000····0.478····0.000·<ipython-input-3-c138bdd570e3>:1129 ···552423····0.150····0.000····0.150····0.000·<ipython-input-3-c138bdd570e3>:1
130 (f)130 (f)
 131 ········1····0.015····0.015····0.615····0.615·apply.py:1070
 132 (apply_series_generator)
131 ·····3000····0.025····0.000····0.111····0.000·series.py:1095(__getitem__)133 ·····3000····0.014····0.000····0.029····0.000·series.py:1220(_get_value)
132 ····16098····0.018····0.000····0.024····0.000·{built-in·method 
133 builtins.isinstance} 
134 By·far·the·majority·of·time·is·spend·inside·either·integrate_f·or·f,·hence134 By·far·the·majority·of·time·is·spend·inside·either·integrate_f·or·f,·hence
135 we’ll·concentrate·our·efforts·cythonizing·these·two·functions.135 we’ll·concentrate·our·efforts·cythonizing·these·two·functions.
136 *\x8**\x8**\x8**\x8*·P\x8Pl\x8la\x8ai\x8in\x8n·C\x8Cy\x8yt\x8th\x8ho\x8on\x8n_\x8#\x8#·*\x8**\x8**\x8**\x8*136 *\x8**\x8**\x8**\x8*·P\x8Pl\x8la\x8ai\x8in\x8n·C\x8Cy\x8yt\x8th\x8ho\x8on\x8n_\x8#\x8#·*\x8**\x8**\x8**\x8*
137 First·we’re·going·to·need·to·import·the·Cython·magic·function·to·IPython:137 First·we’re·going·to·need·to·import·the·Cython·magic·function·to·IPython:
138 In·[7]:·%load_ext·Cython138 In·[7]:·%load_ext·Cython
139 Now,·let’s·simply·copy·our·functions·over·to·Cython:139 Now,·let’s·simply·copy·our·functions·over·to·Cython:
140 In·[8]:·%%cython140 In·[8]:·%%cython
Offset 147, 15 lines modifiedOffset 147, 15 lines modified
147 ···...:·····dx·=·(b·-·a)·/·N147 ···...:·····dx·=·(b·-·a)·/·N
148 ···...:·····for·i·in·range(N):148 ···...:·····for·i·in·range(N):
149 ···...:·········s·+=·f_plain(a·+·i·*·dx)149 ···...:·········s·+=·f_plain(a·+·i·*·dx)
150 ···...:·····return·s·*·dx150 ···...:·····return·s·*·dx
151 ···...:151 ···...:
152 In·[9]:·%timeit·df.apply(lambda·x:·integrate_f_plain(x["a"],·x["b"],·x["N"]),152 In·[9]:·%timeit·df.apply(lambda·x:·integrate_f_plain(x["a"],·x["b"],·x["N"]),
153 axis=1)153 axis=1)
154 135·ms·+-·12.6·ms·per·loop·(mean·+-·std.·dev.·of·7·runs,·10·loops·each)154 131·ms·+-·42.2·ms·per·loop·(mean·+-·std.·dev.·of·7·runs,·10·loops·each)
155 This·has·improved·the·performance·compared·to·the·pure·Python·approach·by·one-155 This·has·improved·the·performance·compared·to·the·pure·Python·approach·by·one-
156 third.156 third.
157 *\x8**\x8**\x8**\x8*·D\x8De\x8ec\x8cl\x8la\x8ar\x8ri\x8in\x8ng\x8g·C\x8C·t\x8ty\x8yp\x8pe\x8es\x8s_\x8#\x8#·*\x8**\x8**\x8**\x8*157 *\x8**\x8**\x8**\x8*·D\x8De\x8ec\x8cl\x8la\x8ar\x8ri\x8in\x8ng\x8g·C\x8C·t\x8ty\x8yp\x8pe\x8es\x8s_\x8#\x8#·*\x8**\x8**\x8**\x8*
158 We·can·annotate·the·function·variables·and·return·types·as·well·as·use·cdef·and158 We·can·annotate·the·function·variables·and·return·types·as·well·as·use·cdef·and
159 cpdef·to·improve·performance:159 cpdef·to·improve·performance:
160 In·[10]:·%%cython160 In·[10]:·%%cython
161 ···....:·cdef·double·f_typed(double·x)·except?·-2:161 ···....:·cdef·double·f_typed(double·x)·except?·-2:
Offset 167, 36 lines modifiedOffset 167, 35 lines modified
167 ···....:·····dx·=·(b·-·a)·/·N167 ···....:·····dx·=·(b·-·a)·/·N
168 ···....:·····for·i·in·range(N):168 ···....:·····for·i·in·range(N):
169 ···....:·········s·+=·f_typed(a·+·i·*·dx)169 ···....:·········s·+=·f_typed(a·+·i·*·dx)
170 ···....:·····return·s·*·dx170 ···....:·····return·s·*·dx
171 ···....:171 ···....:
172 In·[11]:·%timeit·df.apply(lambda·x:·integrate_f_typed(x["a"],·x["b"],·x["N"]),172 In·[11]:·%timeit·df.apply(lambda·x:·integrate_f_typed(x["a"],·x["b"],·x["N"]),
173 axis=1)173 axis=1)
174 25.7·ms·+-·899·us·per·loop·(mean·+-·std.·dev.·of·7·runs,·10·loops·each)174 18.6·ms·+-·634·us·per·loop·(mean·+-·std.·dev.·of·7·runs,·10·loops·each)
175 Annotating·the·functions·with·C·types·yields·an·over·ten·times·performance175 Annotating·the·functions·with·C·types·yields·an·over·ten·times·performance
176 improvement·compared·to·the·original·Python·implementation.176 improvement·compared·to·the·original·Python·implementation.
177 *\x8**\x8**\x8**\x8*·U\x8Us\x8si\x8in\x8ng\x8g·n\x8nd\x8da\x8ar\x8rr\x8ra\x8ay\x8y_\x8#\x8#·*\x8**\x8**\x8**\x8*177 *\x8**\x8**\x8**\x8*·U\x8Us\x8si\x8in\x8ng\x8g·n\x8nd\x8da\x8ar\x8rr\x8ra\x8ay\x8y_\x8#\x8#·*\x8**\x8**\x8**\x8*
178 When·re-profiling,·time·is·spent·creating·a·_\x8S_\x8e_\x8r_\x8i_\x8e_\x8s·from·each·row,·and·calling178 When·re-profiling,·time·is·spent·creating·a·_\x8S_\x8e_\x8r_\x8i_\x8e_\x8s·from·each·row,·and·calling
179 __getitem__·from·both·the·index·and·the·series·(three·times·for·each·row).179 __getitem__·from·both·the·index·and·the·series·(three·times·for·each·row).
180 These·Python·function·calls·are·expensive·and·can·be·improved·by·passing·an180 These·Python·function·calls·are·expensive·and·can·be·improved·by·passing·an
181 np.ndarray.181 np.ndarray.
182 In·[12]:·%prun·-l·4·df.apply(lambda·x:·integrate_f_typed(x["a"],·x["b"],·x182 In·[12]:·%prun·-l·4·df.apply(lambda·x:·integrate_f_typed(x["a"],·x["b"],·x
183 ["N"]),·axis=1)183 ["N"]),·axis=1)
184 ·········52523·function·calls·(52505·primitive·calls)·in·0.134·seconds184 ·········52523·function·calls·(52505·primitive·calls)·in·0.062·seconds
  
185 ···Ordered·by:·internal·time185 ···Ordered·by:·internal·time
186 ···List·reduced·from·157·to·4·due·to·restriction·<4>186 ···List·reduced·from·157·to·4·due·to·restriction·<4>
  
187 ···ncalls··tottime··percall··cumtime··percall·filename:lineno(function)187 ···ncalls··tottime··percall··cumtime··percall·filename:lineno(function)
188 ·····3000····0.022····0.000····0.094····0.000·series.py:1095(__getitem__)188 ·····3000····0.009····0.000····0.039····0.000·series.py:1095(__getitem__)
 189 ·····3000····0.008····0.000····0.009····0.000·base.py:3777(get_loc)
 190 ·····3000····0.007····0.000····0.019····0.000·series.py:1220(_get_value)
189 ····16098····0.015····0.000····0.021····0.000·{built-in·method191 ····16098····0.005····0.000····0.007····0.000·{built-in·method
190 builtins.isinstance}192 builtins.isinstance}
191 ·····3000····0.015····0.000····0.038····0.000·series.py:1220(_get_value) 
192 ·····3000····0.014····0.000····0.024····0.000·indexing.py:2765 
193 (check_dict_or_set_indexers) 
194 In·[13]:·%%cython193 In·[13]:·%%cython
195 ···....:·cimport·numpy·as·np194 ···....:·cimport·numpy·as·np
196 ···....:·import·numpy·as·np195 ···....:·import·numpy·as·np
197 ···....:·cdef·double·f_typed(double·x)·except?·-2:196 ···....:·cdef·double·f_typed(double·x)·except?·-2:
198 ···....:·····return·x·*·(x·-·1)197 ···....:·····return·x·*·(x·-·1)
199 ···....:·cpdef·double·integrate_f_typed(double·a,·double·b,·int·N):198 ···....:·cpdef·double·integrate_f_typed(double·a,·double·b,·int·N):
200 ···....:·····cdef·int·i199 ···....:·····cdef·int·i
Offset 237, 32 lines modifiedOffset 236, 32 lines modified
237 This·implementation·creates·an·array·of·zeros·and·inserts·the·result·of236 This·implementation·creates·an·array·of·zeros·and·inserts·the·result·of
238 integrate_f_typed·applied·over·each·row.·Looping·over·an·ndarray·is·faster·in237 integrate_f_typed·applied·over·each·row.·Looping·over·an·ndarray·is·faster·in
239 Cython·than·looping·over·a·_\x8S_\x8e_\x8r_\x8i_\x8e_\x8s·object.238 Cython·than·looping·over·a·_\x8S_\x8e_\x8r_\x8i_\x8e_\x8s·object.
240 Since·apply_integrate_f·is·typed·to·accept·an·np.ndarray,·_\x8S_\x8e_\x8r_\x8i_\x8e_\x8s_\x8._\x8t_\x8o_\x8__\x8n_\x8u_\x8m_\x8p_\x8y_\x8(_\x8)239 Since·apply_integrate_f·is·typed·to·accept·an·np.ndarray,·_\x8S_\x8e_\x8r_\x8i_\x8e_\x8s_\x8._\x8t_\x8o_\x8__\x8n_\x8u_\x8m_\x8p_\x8y_\x8(_\x8)
241 calls·are·needed·to·utilize·this·function.240 calls·are·needed·to·utilize·this·function.
242 In·[14]:·%timeit·apply_integrate_f(df["a"].to_numpy(),·df["b"].to_numpy(),·df241 In·[14]:·%timeit·apply_integrate_f(df["a"].to_numpy(),·df["b"].to_numpy(),·df
243 ["N"].to_numpy())242 ["N"].to_numpy())
244 2.14·ms·+-·23.7·us·per·loop·(mean·+-·std.·dev.·of·7·runs,·100·loops·each)243 1.69·ms·+-·153·us·per·loop·(mean·+-·std.·dev.·of·7·runs,·100·loops·each)
245 Performance·has·improved·from·the·prior·implementation·by·almost·ten·times.244 Performance·has·improved·from·the·prior·implementation·by·almost·ten·times.
246 *\x8**\x8**\x8**\x8*·D\x8Di\x8is\x8sa\x8ab\x8bl\x8li\x8in\x8ng\x8g·c\x8co\x8om\x8mp\x8pi\x8il\x8le\x8er\x8r·d\x8di\x8ir\x8re\x8ec\x8ct\x8ti\x8iv\x8ve\x8es\x8s_\x8#\x8#·*\x8**\x8**\x8**\x8*245 *\x8**\x8**\x8**\x8*·D\x8Di\x8is\x8sa\x8ab\x8bl\x8li\x8in\x8ng\x8g·c\x8co\x8om\x8mp\x8pi\x8il\x8le\x8er\x8r·d\x8di\x8ir\x8re\x8ec\x8ct\x8ti\x8iv\x8ve\x8es\x8s_\x8#\x8#·*\x8**\x8**\x8**\x8*
247 The·majority·of·the·time·is·now·spent·in·apply_integrate_f.·Disabling·Cython’s246 The·majority·of·the·time·is·now·spent·in·apply_integrate_f.·Disabling·Cython’s
248 boundscheck·and·wraparound·checks·can·yield·more·performance.247 boundscheck·and·wraparound·checks·can·yield·more·performance.
249 In·[15]:·%prun·-l·4·apply_integrate_f(df["a"].to_numpy(),·df["b"].to_numpy(),248 In·[15]:·%prun·-l·4·apply_integrate_f(df["a"].to_numpy(),·df["b"].to_numpy(),
250 df["N"].to_numpy())249 df["N"].to_numpy())
251 ·········78·function·calls·in·0.003·seconds250 ·········78·function·calls·in·0.002·seconds
  
252 ···Ordered·by:·internal·time251 ···Ordered·by:·internal·time
253 ···List·reduced·from·21·to·4·due·to·restriction·<4>252 ···List·reduced·from·21·to·4·due·to·restriction·<4>
  
254 ···ncalls··tottime··percall··cumtime··percall·filename:lineno(function)253 ···ncalls··tottime··percall··cumtime··percall·filename:lineno(function)
255 ········1····0.002····0.002····0.002····0.002·<string>:1(<module>)254 ········1····0.002····0.002····0.002····0.002·<string>:1(<module>)
256 ········1····0.000····0.000····0.000····0.000·{method·'disable'·of255 ········1····0.000····0.000····0.000····0.000·{method·'disable'·of
257 '_lsprof.Profiler'·objects}256 '_lsprof.Profiler'·objects}
258 ········1····0.000····0.000····0.003····0.003·{built-in·method·builtins.exec}257 ········1····0.000····0.000····0.002····0.002·{built-in·method·builtins.exec}
259 ········3····0.000····0.000····0.000····0.000·managers.py:1993(dtype)258 ········3····0.000····0.000····0.000····0.000·frame.py:4062(__getitem__)
260 In·[16]:·%%cython259 In·[16]:·%%cython
261 ···....:·cimport·cython260 ···....:·cimport·cython
262 ···....:·cimport·numpy·as·np261 ···....:·cimport·numpy·as·np
263 ···....:·import·numpy·as·np262 ···....:·import·numpy·as·np
264 ···....:·cdef·np.float64_t·f_typed(np.float64_t·x)·except?·-2:263 ···....:·cdef·np.float64_t·f_typed(np.float64_t·x)·except?·-2:
265 ···....:·····return·x·*·(x·-·1)264 ···....:·····return·x·*·(x·-·1)
266 ···....:·cpdef·np.float64_t·integrate_f_typed(np.float64_t·a,·np.float64_t·b,265 ···....:·cpdef·np.float64_t·integrate_f_typed(np.float64_t·a,·np.float64_t·b,
Offset 300, 15 lines modifiedOffset 299, 15 lines modified
300 /usr/lib/x86_64-linux-gnu/python3-numpy/numpy/_core/include/numpy/299 /usr/lib/x86_64-linux-gnu/python3-numpy/numpy/_core/include/numpy/
301 npy_1_7_deprecated_api.h:17:2:·warning:·#warning·"Using·deprecated·NumPy·API,300 npy_1_7_deprecated_api.h:17:2:·warning:·#warning·"Using·deprecated·NumPy·API,
302 disable·it·with·"·"#define·NPY_NO_DEPRECATED_API·NPY_1_7_API_VERSION"·[-Wcpp]301 disable·it·with·"·"#define·NPY_NO_DEPRECATED_API·NPY_1_7_API_VERSION"·[-Wcpp]
Max diff block lines reached; 4152/11536 bytes (35.99%) of diff not shown.
4.07 KB
./usr/share/doc/python-pandas-doc/html/user_guide/scale.html
    
Offset 1086, 16 lines modifiedOffset 1086, 16 lines modified
1086 <span·class="gp">···....:·</span><span·class="n">files</span>·<span·class="o">=</span>·<span·class="n">pathlib</span><span·class="o">.</span><span·class="n">Path</span><span·class="p">(</span><span·class="s2">&quot;data/timeseries/&quot;</span><span·class="p">)</span><span·class="o">.</span><span·class="n">glob</span><span·class="p">(</span><span·class="s2">&quot;ts*.parquet&quot;</span><span·class="p">)</span>1086 <span·class="gp">···....:·</span><span·class="n">files</span>·<span·class="o">=</span>·<span·class="n">pathlib</span><span·class="o">.</span><span·class="n">Path</span><span·class="p">(</span><span·class="s2">&quot;data/timeseries/&quot;</span><span·class="p">)</span><span·class="o">.</span><span·class="n">glob</span><span·class="p">(</span><span·class="s2">&quot;ts*.parquet&quot;</span><span·class="p">)</span>
1087 <span·class="gp">···....:·</span><span·class="n">counts</span>·<span·class="o">=</span>·<span·class="n">pd</span><span·class="o">.</span><span·class="n">Series</span><span·class="p">(</span><span·class="n">dtype</span><span·class="o">=</span><span·class="nb">int</span><span·class="p">)</span>1087 <span·class="gp">···....:·</span><span·class="n">counts</span>·<span·class="o">=</span>·<span·class="n">pd</span><span·class="o">.</span><span·class="n">Series</span><span·class="p">(</span><span·class="n">dtype</span><span·class="o">=</span><span·class="nb">int</span><span·class="p">)</span>
1088 <span·class="gp">···....:·</span><span·class="k">for</span>·<span·class="n">path</span>·<span·class="ow">in</span>·<span·class="n">files</span><span·class="p">:</span>1088 <span·class="gp">···....:·</span><span·class="k">for</span>·<span·class="n">path</span>·<span·class="ow">in</span>·<span·class="n">files</span><span·class="p">:</span>
1089 <span·class="gp">···....:·</span>····<span·class="n">df</span>·<span·class="o">=</span>·<span·class="n">pd</span><span·class="o">.</span><span·class="n">read_parquet</span><span·class="p">(</span><span·class="n">path</span><span·class="p">)</span>1089 <span·class="gp">···....:·</span>····<span·class="n">df</span>·<span·class="o">=</span>·<span·class="n">pd</span><span·class="o">.</span><span·class="n">read_parquet</span><span·class="p">(</span><span·class="n">path</span><span·class="p">)</span>
1090 <span·class="gp">···....:·</span>····<span·class="n">counts</span>·<span·class="o">=</span>·<span·class="n">counts</span><span·class="o">.</span><span·class="n">add</span><span·class="p">(</span><span·class="n">df</span><span·class="p">[</span><span·class="s2">&quot;name&quot;</span><span·class="p">]</span><span·class="o">.</span><span·class="n">value_counts</span><span·class="p">(),</span>·<span·class="n">fill_value</span><span·class="o">=</span><span·class="mi">0</span><span·class="p">)</span>1090 <span·class="gp">···....:·</span>····<span·class="n">counts</span>·<span·class="o">=</span>·<span·class="n">counts</span><span·class="o">.</span><span·class="n">add</span><span·class="p">(</span><span·class="n">df</span><span·class="p">[</span><span·class="s2">&quot;name&quot;</span><span·class="p">]</span><span·class="o">.</span><span·class="n">value_counts</span><span·class="p">(),</span>·<span·class="n">fill_value</span><span·class="o">=</span><span·class="mi">0</span><span·class="p">)</span>
1091 <span·class="gp">···....:·</span><span·class="n">counts</span><span·class="o">.</span><span·class="n">astype</span><span·class="p">(</span><span·class="nb">int</span><span·class="p">)</span>1091 <span·class="gp">···....:·</span><span·class="n">counts</span><span·class="o">.</span><span·class="n">astype</span><span·class="p">(</span><span·class="nb">int</span><span·class="p">)</span>
1092 <span·class="gp">···....:·</span>1092 <span·class="gp">···....:·</span>
1093 <span·class="go">CPU·times:·user·625·us,·sys:·244·us,·total:·869·us</span>1093 <span·class="go">CPU·times:·user·331·us,·sys:·287·us,·total:·618·us</span>
1094 <span·class="go">Wall·time:·879·us</span>1094 <span·class="go">Wall·time:·627·us</span>
1095 <span·class="gh">Out[32]:·</span><span·class="go">Series([],·dtype:·int64)</span>1095 <span·class="gh">Out[32]:·</span><span·class="go">Series([],·dtype:·int64)</span>
1096 </pre></div>1096 </pre></div>
1097 </div>1097 </div>
1098 <p>Some·readers,·like·<a·class="reference·internal"·href="../reference/api/pandas.read_csv.html#pandas.read_csv"·title="pandas.read_csv"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">pandas.read_csv()</span></code></a>,·offer·parameters·to·control·the1098 <p>Some·readers,·like·<a·class="reference·internal"·href="../reference/api/pandas.read_csv.html#pandas.read_csv"·title="pandas.read_csv"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">pandas.read_csv()</span></code></a>,·offer·parameters·to·control·the
1099 <code·class="docutils·literal·notranslate"><span·class="pre">chunksize</span></code>·when·reading·a·single·file.</p>1099 <code·class="docutils·literal·notranslate"><span·class="pre">chunksize</span></code>·when·reading·a·single·file.</p>
1100 <p>Manually·chunking·is·an·OK·option·for·workflows·that·don’t1100 <p>Manually·chunking·is·an·OK·option·for·workflows·that·don’t
1101 require·too·sophisticated·of·operations.·Some·operations,·like·<a·class="reference·internal"·href="../reference/api/pandas.DataFrame.groupby.html#pandas.DataFrame.groupby"·title="pandas.DataFrame.groupby"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">pandas.DataFrame.groupby()</span></code></a>,·are1101 require·too·sophisticated·of·operations.·Some·operations,·like·<a·class="reference·internal"·href="../reference/api/pandas.DataFrame.groupby.html#pandas.DataFrame.groupby"·title="pandas.DataFrame.groupby"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">pandas.DataFrame.groupby()</span></code></a>,·are
1020 B
html2text {}
    
Offset 644, 16 lines modifiedOffset 644, 16 lines modified
644 ···....:·files·=·pathlib.Path("data/timeseries/").glob("ts*.parquet")644 ···....:·files·=·pathlib.Path("data/timeseries/").glob("ts*.parquet")
645 ···....:·counts·=·pd.Series(dtype=int)645 ···....:·counts·=·pd.Series(dtype=int)
646 ···....:·for·path·in·files:646 ···....:·for·path·in·files:
647 ···....:·····df·=·pd.read_parquet(path)647 ···....:·····df·=·pd.read_parquet(path)
648 ···....:·····counts·=·counts.add(df["name"].value_counts(),·fill_value=0)648 ···....:·····counts·=·counts.add(df["name"].value_counts(),·fill_value=0)
649 ···....:·counts.astype(int)649 ···....:·counts.astype(int)
650 ···....:650 ···....:
651 CPU·times:·user·625·us,·sys:·244·us,·total:·869·us651 CPU·times:·user·331·us,·sys:·287·us,·total:·618·us
652 Wall·time:·879·us652 Wall·time:·627·us
653 Out[32]:·Series([],·dtype:·int64)653 Out[32]:·Series([],·dtype:·int64)
654 Some·readers,·like·_\x8p_\x8a_\x8n_\x8d_\x8a_\x8s_\x8._\x8r_\x8e_\x8a_\x8d_\x8__\x8c_\x8s_\x8v_\x8(_\x8),·offer·parameters·to·control·the·chunksize654 Some·readers,·like·_\x8p_\x8a_\x8n_\x8d_\x8a_\x8s_\x8._\x8r_\x8e_\x8a_\x8d_\x8__\x8c_\x8s_\x8v_\x8(_\x8),·offer·parameters·to·control·the·chunksize
655 when·reading·a·single·file.655 when·reading·a·single·file.
656 Manually·chunking·is·an·OK·option·for·workflows·that·don’t·require·too656 Manually·chunking·is·an·OK·option·for·workflows·that·don’t·require·too
657 sophisticated·of·operations.·Some·operations,·like·_\x8p_\x8a_\x8n_\x8d_\x8a_\x8s_\x8._\x8D_\x8a_\x8t_\x8a_\x8F_\x8r_\x8a_\x8m_\x8e_\x8._\x8g_\x8r_\x8o_\x8u_\x8p_\x8b_\x8y_\x8(_\x8),657 sophisticated·of·operations.·Some·operations,·like·_\x8p_\x8a_\x8n_\x8d_\x8a_\x8s_\x8._\x8D_\x8a_\x8t_\x8a_\x8F_\x8r_\x8a_\x8m_\x8e_\x8._\x8g_\x8r_\x8o_\x8u_\x8p_\x8b_\x8y_\x8(_\x8),
658 are·much·harder·to·do·chunkwise.·In·these·cases,·you·may·be·better·switching·to658 are·much·harder·to·do·chunkwise.·In·these·cases,·you·may·be·better·switching·to
659 a·different·library·that·implements·these·out-of-core·algorithms·for·you.659 a·different·library·that·implements·these·out-of-core·algorithms·for·you.
89.1 KB
./usr/share/doc/python-pandas-doc/html/user_guide/style.ipynb.gz
88.9 KB
style.ipynb
88.9 KB
Pretty-printed
Similarity: 0.9985610875706213% Differences: {"'cells'": "{1: {'metadata': {'execution': {'iopub.execute_input': '2026-04-12T08:06:59.315130Z', " "'iopub.status.busy': '2026-04-12T08:06:59.314874Z', 'iopub.status.idle': " "'2026-04-12T08:06:59.674203Z', 'shell.execute_reply': " "'2026-04-12T08:06:59.673472Z'}}}, 3: {'metadata': {'execution': " "{'iopub.execute_input': '2026-04-12T08:06:59.677437Z', 'iopub.status.busy': " "'2026-04-12T08:06:59.676672Z', 'iopub.status.idle': '2026-04-12T08:06:5 […]
    
Offset 39, 18 lines modifiedOffset 39, 18 lines modified
39 ············]39 ············]
40 ········},40 ········},
41 ········{41 ········{
42 ············"cell_type":·"code",42 ············"cell_type":·"code",
43 ············"execution_count":·1,43 ············"execution_count":·1,
44 ············"metadata":·{44 ············"metadata":·{
45 ················"execution":·{45 ················"execution":·{
46 ····················"iopub.execute_input":·"2025-03-10T00:14:26.077877Z",46 ····················"iopub.execute_input":·"2026-04-12T08:06:59.315130Z",
47 ····················"iopub.status.busy":·"2025-03-10T00:14:26.077533Z",47 ····················"iopub.status.busy":·"2026-04-12T08:06:59.314874Z",
48 ····················"iopub.status.idle":·"2025-03-10T00:14:26.722736Z",48 ····················"iopub.status.idle":·"2026-04-12T08:06:59.674203Z",
49 ····················"shell.execute_reply":·"2025-03-10T00:14:26.721547Z"49 ····················"shell.execute_reply":·"2026-04-12T08:06:59.673472Z"
50 ················},50 ················},
51 ················"nbsphinx":·"hidden"51 ················"nbsphinx":·"hidden"
52 ············},52 ············},
53 ············"outputs":·[],53 ············"outputs":·[],
54 ············"source":·[54 ············"source":·[
55 ················"import·matplotlib.pyplot\n",55 ················"import·matplotlib.pyplot\n",
56 ················"#·We·have·this·here·to·trigger·matplotlib's·font·cache·stuff.\n",56 ················"#·We·have·this·here·to·trigger·matplotlib's·font·cache·stuff.\n",
Offset 77, 36 lines modifiedOffset 77, 36 lines modified
77 ············]77 ············]
78 ········},78 ········},
79 ········{79 ········{
80 ············"cell_type":·"code",80 ············"cell_type":·"code",
81 ············"execution_count":·2,81 ············"execution_count":·2,
82 ············"metadata":·{82 ············"metadata":·{
83 ················"execution":·{83 ················"execution":·{
84 ····················"iopub.execute_input":·"2025-03-10T00:14:26.726930Z",84 ····················"iopub.execute_input":·"2026-04-12T08:06:59.677437Z",
85 ····················"iopub.status.busy":·"2025-03-10T00:14:26.726471Z",85 ····················"iopub.status.busy":·"2026-04-12T08:06:59.676672Z",
86 ····················"iopub.status.idle":·"2025-03-10T00:14:27.107788Z",86 ····················"iopub.status.idle":·"2026-04-12T08:06:59.910277Z",
87 ····················"shell.execute_reply":·"2025-03-10T00:14:27.106646Z"87 ····················"shell.execute_reply":·"2026-04-12T08:06:59.909550Z"
88 ················}88 ················}
89 ············},89 ············},
90 ············"outputs":·[],90 ············"outputs":·[],
91 ············"source":·[91 ············"source":·[
92 ················"import·pandas·as·pd\n",92 ················"import·pandas·as·pd\n",
93 ················"import·numpy·as·np\n",93 ················"import·numpy·as·np\n",
94 ················"import·matplotlib·as·mpl\n"94 ················"import·matplotlib·as·mpl\n"
95 ············]95 ············]
96 ········},96 ········},
97 ········{97 ········{
98 ············"cell_type":·"code",98 ············"cell_type":·"code",
99 ············"execution_count":·3,99 ············"execution_count":·3,
100 ············"metadata":·{100 ············"metadata":·{
101 ················"execution":·{101 ················"execution":·{
102 ····················"iopub.execute_input":·"2025-03-10T00:14:27.113754Z",102 ····················"iopub.execute_input":·"2026-04-12T08:06:59.912896Z",
103 ····················"iopub.status.busy":·"2025-03-10T00:14:27.113258Z",103 ····················"iopub.status.busy":·"2026-04-12T08:06:59.912501Z",
104 ····················"iopub.status.idle":·"2025-03-10T00:14:27.308722Z",104 ····················"iopub.status.idle":·"2026-04-12T08:07:00.031423Z",
105 ····················"shell.execute_reply":·"2025-03-10T00:14:27.307617Z"105 ····················"shell.execute_reply":·"2026-04-12T08:07:00.030723Z"
106 ················},106 ················},
107 ················"nbsphinx":·"hidden"107 ················"nbsphinx":·"hidden"
108 ············},108 ············},
109 ············"outputs":·[],109 ············"outputs":·[],
110 ············"source":·[110 ············"source":·[
111 ················"#·For·reproducibility·-·this·doesn't·respect·uuid_len·or·positionally-passed·uuid·but·the·places·here·that·use·that·coincidentally·bypass·this·anyway\n",111 ················"#·For·reproducibility·-·this·doesn't·respect·uuid_len·or·positionally-passed·uuid·but·the·places·here·that·use·that·coincidentally·bypass·this·anyway\n",
112 ················"from·pandas.io.formats.style·import·Styler\n",112 ················"from·pandas.io.formats.style·import·Styler\n",
Offset 123, 18 lines modifiedOffset 123, 18 lines modified
123 ············]123 ············]
124 ········},124 ········},
125 ········{125 ········{
126 ············"cell_type":·"code",126 ············"cell_type":·"code",
127 ············"execution_count":·4,127 ············"execution_count":·4,
128 ············"metadata":·{128 ············"metadata":·{
129 ················"execution":·{129 ················"execution":·{
130 ····················"iopub.execute_input":·"2025-03-10T00:14:27.312900Z",130 ····················"iopub.execute_input":·"2026-04-12T08:07:00.033871Z",
131 ····················"iopub.status.busy":·"2025-03-10T00:14:27.312389Z",131 ····················"iopub.status.busy":·"2026-04-12T08:07:00.033551Z",
132 ····················"iopub.status.idle":·"2025-03-10T00:14:27.328547Z",132 ····················"iopub.status.idle":·"2026-04-12T08:07:00.043357Z",
133 ····················"shell.execute_reply":·"2025-03-10T00:14:27.327436Z"133 ····················"shell.execute_reply":·"2026-04-12T08:07:00.042793Z"
134 ················}134 ················}
135 ············},135 ············},
136 ············"outputs":·[136 ············"outputs":·[
137 ················{137 ················{
138 ····················"data":·{138 ····················"data":·{
139 ························"text/html":·[139 ························"text/html":·[
140 ····························"<style·type=\"text/css\">\n",140 ····························"<style·type=\"text/css\">\n",
Offset 193, 18 lines modifiedOffset 193, 18 lines modified
193 ············]193 ············]
194 ········},194 ········},
195 ········{195 ········{
196 ············"cell_type":·"code",196 ············"cell_type":·"code",
197 ············"execution_count":·5,197 ············"execution_count":·5,
198 ············"metadata":·{198 ············"metadata":·{
199 ················"execution":·{199 ················"execution":·{
200 ····················"iopub.execute_input":·"2025-03-10T00:14:27.393356Z",200 ····················"iopub.execute_input":·"2026-04-12T08:07:00.078288Z",
201 ····················"iopub.status.busy":·"2025-03-10T00:14:27.392917Z",201 ····················"iopub.status.busy":·"2026-04-12T08:07:00.077966Z",
202 ····················"iopub.status.idle":·"2025-03-10T00:14:27.411693Z",202 ····················"iopub.status.idle":·"2026-04-12T08:07:00.090253Z",
203 ····················"shell.execute_reply":·"2025-03-10T00:14:27.410656Z"203 ····················"shell.execute_reply":·"2026-04-12T08:07:00.089652Z"
204 ················}204 ················}
205 ············},205 ············},
206 ············"outputs":·[206 ············"outputs":·[
207 ················{207 ················{
208 ····················"data":·{208 ····················"data":·{
209 ························"text/html":·[209 ························"text/html":·[
210 ····························"<div>\n",210 ····························"<div>\n",
Offset 327, 18 lines modifiedOffset 327, 18 lines modified
327 ············]327 ············]
328 ········},328 ········},
329 ········{329 ········{
330 ············"cell_type":·"code",330 ············"cell_type":·"code",
331 ············"execution_count":·6,331 ············"execution_count":·6,
332 ············"metadata":·{332 ············"metadata":·{
333 ················"execution":·{333 ················"execution":·{
334 ····················"iopub.execute_input":·"2025-03-10T00:14:27.415047Z",334 ····················"iopub.execute_input":·"2026-04-12T08:07:00.092637Z",
335 ····················"iopub.status.busy":·"2025-03-10T00:14:27.414650Z",335 ····················"iopub.status.busy":·"2026-04-12T08:07:00.092013Z",
336 ····················"iopub.status.idle":·"2025-03-10T00:14:27.432974Z",336 ····················"iopub.status.idle":·"2026-04-12T08:07:00.103826Z",
337 ····················"shell.execute_reply":·"2025-03-10T00:14:27.431942Z"337 ····················"shell.execute_reply":·"2026-04-12T08:07:00.103254Z"
338 ················}338 ················}
339 ············},339 ············},
340 ············"outputs":·[340 ············"outputs":·[
341 ················{341 ················{
342 ····················"data":·{342 ····················"data":·{
343 ························"text/html":·[343 ························"text/html":·[
344 ····························"<style·type=\"text/css\">\n",344 ····························"<style·type=\"text/css\">\n",
Offset 448, 18 lines modifiedOffset 448, 18 lines modified
448 ············]448 ············]
449 ········},449 ········},
450 ········{450 ········{
451 ············"cell_type":·"code",451 ············"cell_type":·"code",
452 ············"execution_count":·7,452 ············"execution_count":·7,
453 ············"metadata":·{453 ············"metadata":·{
454 ················"execution":·{454 ················"execution":·{
455 ····················"iopub.execute_input":·"2025-03-10T00:14:27.436468Z",455 ····················"iopub.execute_input":·"2026-04-12T08:07:00.105803Z",
456 ····················"iopub.status.busy":·"2025-03-10T00:14:27.436105Z",456 ····················"iopub.status.busy":·"2026-04-12T08:07:00.105560Z",
457 ····················"iopub.status.idle":·"2025-03-10T00:14:27.447975Z",457 ····················"iopub.status.idle":·"2026-04-12T08:07:00.112650Z",
458 ····················"shell.execute_reply":·"2025-03-10T00:14:27.446953Z"458 ····················"shell.execute_reply":·"2026-04-12T08:07:00.112083Z"
459 ················}459 ················}
460 ············},460 ············},
461 ············"outputs":·[461 ············"outputs":·[
Max diff block lines reached; 83518/90470 bytes (92.32%) of diff not shown.
4.03 KB
./usr/share/doc/python-pandas-doc/html/whatsnew/v0.13.0.html
    
Offset 1613, 20 lines modifiedOffset 1613, 21 lines modified
1613 <span·class="gp">In·[94]:·</span><span·class="n">df1</span><span·class="p">,</span>·<span·class="n">df2</span><span·class="p">,</span>·<span·class="n">df3</span><span·class="p">,</span>·<span·class="n">df4</span>·<span·class="o">=</span>·<span·class="p">[</span><span·class="n">pd</span><span·class="o">.</span><span·class="n">DataFrame</span><span·class="p">(</span><span·class="n">np</span><span·class="o">.</span><span·class="n">random</span><span·class="o">.</span><span·class="n">randn</span><span·class="p">(</span><span·class="n">nrows</span><span·class="p">,</span>·<span·class="n">ncols</span><span·class="p">))</span>1613 <span·class="gp">In·[94]:·</span><span·class="n">df1</span><span·class="p">,</span>·<span·class="n">df2</span><span·class="p">,</span>·<span·class="n">df3</span><span·class="p">,</span>·<span·class="n">df4</span>·<span·class="o">=</span>·<span·class="p">[</span><span·class="n">pd</span><span·class="o">.</span><span·class="n">DataFrame</span><span·class="p">(</span><span·class="n">np</span><span·class="o">.</span><span·class="n">random</span><span·class="o">.</span><span·class="n">randn</span><span·class="p">(</span><span·class="n">nrows</span><span·class="p">,</span>·<span·class="n">ncols</span><span·class="p">))</span>
1614 <span·class="gp">···....:·</span>······················<span·class="k">for</span>·<span·class="n">_</span>·<span·class="ow">in</span>·<span·class="nb">range</span><span·class="p">(</span><span·class="mi">4</span><span·class="p">)]</span>1614 <span·class="gp">···....:·</span>······················<span·class="k">for</span>·<span·class="n">_</span>·<span·class="ow">in</span>·<span·class="nb">range</span><span·class="p">(</span><span·class="mi">4</span><span·class="p">)]</span>
1615 <span·class="gp">···....:·</span>1615 <span·class="gp">···....:·</span>
1616 </pre></div>1616 </pre></div>
1617 </div>1617 </div>
1618 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="go">#·eval·with·NumExpr·backend</span>1618 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="go">#·eval·with·NumExpr·backend</span>
1619 <span·class="gp">In·[95]:·</span><span·class="o">%</span><span·class="k">timeit</span>·pd.eval(&#39;df1·+·df2·+·df3·+·df4&#39;)1619 <span·class="gp">In·[95]:·</span><span·class="o">%</span><span·class="k">timeit</span>·pd.eval(&#39;df1·+·df2·+·df3·+·df4&#39;)
 1620 <span·class="go">The·slowest·run·took·4.05·times·longer·than·the·fastest.·This·could·mean·that·an·intermediate·result·is·being·cached.</span>
1620 <span·class="go">13.6·ms·+-·397·us·per·loop·(mean·+-·std.·dev.·of·7·runs,·100·loops·each)</span>1621 <span·class="go">12.1·ms·+-·6.53·ms·per·loop·(mean·+-·std.·dev.·of·7·runs,·100·loops·each)</span>
1621 </pre></div>1622 </pre></div>
1622 </div>1623 </div>
1623 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="go">#·pure·Python·evaluation</span>1624 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="go">#·pure·Python·evaluation</span>
1624 <span·class="gp">In·[96]:·</span><span·class="o">%</span><span·class="k">timeit</span>·df1·+·df2·+·df3·+·df41625 <span·class="gp">In·[96]:·</span><span·class="o">%</span><span·class="k">timeit</span>·df1·+·df2·+·df3·+·df4
1625 <span·class="go">18.6·ms·+-·955·us·per·loop·(mean·+-·std.·dev.·of·7·runs,·100·loops·each)</span>1626 <span·class="go">16.1·ms·+-·2.06·ms·per·loop·(mean·+-·std.·dev.·of·7·runs,·10·loops·each)</span>
1626 </pre></div>1627 </pre></div>
1627 </div>1628 </div>
1628 <p>For·more·details,·see·the·<a·class="reference·internal"·href="../user_guide/enhancingperf.html#enhancingperf-eval"><span·class="std·std-ref">the·docs</span></a></p>1629 <p>For·more·details,·see·the·<a·class="reference·internal"·href="../user_guide/enhancingperf.html#enhancingperf-eval"><span·class="std·std-ref">the·docs</span></a></p>
1629 </li>1630 </li>
1630 <li><p>Similar·to·<code·class="docutils·literal·notranslate"><span·class="pre">pandas.eval</span></code>,·<a·class="reference·internal"·href="../reference/api/pandas.DataFrame.html#pandas.DataFrame"·title="pandas.DataFrame"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DataFrame</span></code></a>·has·a·new1631 <li><p>Similar·to·<code·class="docutils·literal·notranslate"><span·class="pre">pandas.eval</span></code>,·<a·class="reference·internal"·href="../reference/api/pandas.DataFrame.html#pandas.DataFrame"·title="pandas.DataFrame"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DataFrame</span></code></a>·has·a·new
1631 <code·class="docutils·literal·notranslate"><span·class="pre">DataFrame.eval</span></code>·method·that·evaluates·an·expression·in·the·context·of1632 <code·class="docutils·literal·notranslate"><span·class="pre">DataFrame.eval</span></code>·method·that·evaluates·an·expression·in·the·context·of
1632 the·<code·class="docutils·literal·notranslate"><span·class="pre">DataFrame</span></code>.·For·example,</p>1633 the·<code·class="docutils·literal·notranslate"><span·class="pre">DataFrame</span></code>.·For·example,</p>
1.17 KB
html2text {}
    
Offset 965, 18 lines modifiedOffset 965, 20 lines modified
  
965 ······In·[94]:·df1,·df2,·df3,·df4·=·[pd.DataFrame(np.random.randn(nrows,965 ······In·[94]:·df1,·df2,·df3,·df4·=·[pd.DataFrame(np.random.randn(nrows,
966 ······ncols))966 ······ncols))
967 ·········....:·······················for·_·in·range(4)]967 ·········....:·······················for·_·in·range(4)]
968 ·········....:968 ·········....:
969 ······#·eval·with·NumExpr·backend969 ······#·eval·with·NumExpr·backend
970 ······In·[95]:·%timeit·pd.eval('df1·+·df2·+·df3·+·df4')970 ······In·[95]:·%timeit·pd.eval('df1·+·df2·+·df3·+·df4')
 971 ······The·slowest·run·took·4.05·times·longer·than·the·fastest.·This·could·mean
 972 ······that·an·intermediate·result·is·being·cached.
971 ······13.6·ms·+-·397·us·per·loop·(mean·+-·std.·dev.·of·7·runs,·100·loops·each)973 ······12.1·ms·+-·6.53·ms·per·loop·(mean·+-·std.·dev.·of·7·runs,·100·loops·each)
972 ······#·pure·Python·evaluation974 ······#·pure·Python·evaluation
973 ······In·[96]:·%timeit·df1·+·df2·+·df3·+·df4975 ······In·[96]:·%timeit·df1·+·df2·+·df3·+·df4
974 ······18.6·ms·+-·955·us·per·loop·(mean·+-·std.·dev.·of·7·runs,·100·loops·each)976 ······16.1·ms·+-·2.06·ms·per·loop·(mean·+-·std.·dev.·of·7·runs,·10·loops·each)
975 ······For·more·details,·see·the·_\x8t_\x8h_\x8e_\x8·_\x8d_\x8o_\x8c_\x8s977 ······For·more·details,·see·the·_\x8t_\x8h_\x8e_\x8·_\x8d_\x8o_\x8c_\x8s
976 ····*·Similar·to·pandas.eval,·_\x8D_\x8a_\x8t_\x8a_\x8F_\x8r_\x8a_\x8m_\x8e·has·a·new·DataFrame.eval·method·that978 ····*·Similar·to·pandas.eval,·_\x8D_\x8a_\x8t_\x8a_\x8F_\x8r_\x8a_\x8m_\x8e·has·a·new·DataFrame.eval·method·that
977 ······evaluates·an·expression·in·the·context·of·the·DataFrame.·For·example,979 ······evaluates·an·expression·in·the·context·of·the·DataFrame.·For·example,
978 ······In·[97]:·df·=·pd.DataFrame(np.random.randn(10,·2),·columns=['a',·'b'])980 ······In·[97]:·df·=·pd.DataFrame(np.random.randn(10,·2),·columns=['a',·'b'])
  
979 ······In·[98]:·df.eval('a·+·b')981 ······In·[98]:·df.eval('a·+·b')
980 ······Out[98]:982 ······Out[98]:
2.96 KB
./usr/share/doc/python-pandas-doc/html/whatsnew/v0.17.0.html
    
Offset 1458, 18 lines modifiedOffset 1458, 18 lines modified
1458 </div>1458 </div>
1459 <div·class="admonition·note">1459 <div·class="admonition·note">
1460 <p·class="admonition-title">Note</p>1460 <p·class="admonition-title">Note</p>
1461 <p>If·you·want·to·perform·calculations·based·on·today’s·date,·use·<code·class="docutils·literal·notranslate"><span·class="pre">Timestamp.now()</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">pandas.tseries.offsets</span></code>.</p>1461 <p>If·you·want·to·perform·calculations·based·on·today’s·date,·use·<code·class="docutils·literal·notranslate"><span·class="pre">Timestamp.now()</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">pandas.tseries.offsets</span></code>.</p>
1462 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[65]:·</span><span·class="kn">import</span>·<span·class="nn">pandas.tseries.offsets</span>·<span·class="k">as</span>·<span·class="nn">offsets</span>1462 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[65]:·</span><span·class="kn">import</span>·<span·class="nn">pandas.tseries.offsets</span>·<span·class="k">as</span>·<span·class="nn">offsets</span>
  
1463 <span·class="gp">In·[66]:·</span><span·class="n">pd</span><span·class="o">.</span><span·class="n">Timestamp</span><span·class="o">.</span><span·class="n">now</span><span·class="p">()</span>1463 <span·class="gp">In·[66]:·</span><span·class="n">pd</span><span·class="o">.</span><span·class="n">Timestamp</span><span·class="o">.</span><span·class="n">now</span><span·class="p">()</span>
1464 <span·class="gh">Out[66]:·</span><span·class="go">Timestamp(&#39;2025-03-09·12:11:19.491572&#39;)</span>1464 <span·class="gh">Out[66]:·</span><span·class="go">Timestamp(&#39;2026-04-12·22:04:33.209014&#39;)</span>
  
1465 <span·class="gp">In·[67]:·</span><span·class="n">pd</span><span·class="o">.</span><span·class="n">Timestamp</span><span·class="o">.</span><span·class="n">now</span><span·class="p">()</span>·<span·class="o">+</span>·<span·class="n">offsets</span><span·class="o">.</span><span·class="n">DateOffset</span><span·class="p">(</span><span·class="n">years</span><span·class="o">=</span><span·class="mi">1</span><span·class="p">)</span>1465 <span·class="gp">In·[67]:·</span><span·class="n">pd</span><span·class="o">.</span><span·class="n">Timestamp</span><span·class="o">.</span><span·class="n">now</span><span·class="p">()</span>·<span·class="o">+</span>·<span·class="n">offsets</span><span·class="o">.</span><span·class="n">DateOffset</span><span·class="p">(</span><span·class="n">years</span><span·class="o">=</span><span·class="mi">1</span><span·class="p">)</span>
1466 <span·class="gh">Out[67]:·</span><span·class="go">Timestamp(&#39;2026-03-09·12:11:19.495556&#39;)</span>1466 <span·class="gh">Out[67]:·</span><span·class="go">Timestamp(&#39;2027-04-12·22:04:33.210783&#39;)</span>
1467 </pre></div>1467 </pre></div>
1468 </div>1468 </div>
1469 </div>1469 </div>
1470 </section>1470 </section>
1471 </section>1471 </section>
1472 <section·id="changes-to-index-comparisons">1472 <section·id="changes-to-index-comparisons">
1473 <h3>Changes·to·Index·comparisons<a·class="headerlink"·href="#changes-to-index-comparisons"·title="Link·to·this·heading">#</a></h3>1473 <h3>Changes·to·Index·comparisons<a·class="headerlink"·href="#changes-to-index-comparisons"·title="Link·to·this·heading">#</a></h3>
1010 B
html2text {}
    
Offset 814, 18 lines modifiedOffset 814, 18 lines modified
814 freq=None)814 freq=None)
815 Note815 Note
816 If·you·want·to·perform·calculations·based·on·today’s·date,·use·Timestamp.now()816 If·you·want·to·perform·calculations·based·on·today’s·date,·use·Timestamp.now()
817 and·pandas.tseries.offsets.817 and·pandas.tseries.offsets.
818 In·[65]:·import·pandas.tseries.offsets·as·offsets818 In·[65]:·import·pandas.tseries.offsets·as·offsets
  
819 In·[66]:·pd.Timestamp.now()819 In·[66]:·pd.Timestamp.now()
820 Out[66]:·Timestamp('2025-03-09·12:11:19.491572')820 Out[66]:·Timestamp('2026-04-12·22:04:33.209014')
  
821 In·[67]:·pd.Timestamp.now()·+·offsets.DateOffset(years=1)821 In·[67]:·pd.Timestamp.now()·+·offsets.DateOffset(years=1)
822 Out[67]:·Timestamp('2026-03-09·12:11:19.495556')822 Out[67]:·Timestamp('2027-04-12·22:04:33.210783')
823 *\x8**\x8**\x8**\x8*·C\x8Ch\x8ha\x8an\x8ng\x8ge\x8es\x8s·t\x8to\x8o·I\x8In\x8nd\x8de\x8ex\x8x·c\x8co\x8om\x8mp\x8pa\x8ar\x8ri\x8is\x8so\x8on\x8ns\x8s_\x8#\x8#·*\x8**\x8**\x8**\x8*823 *\x8**\x8**\x8**\x8*·C\x8Ch\x8ha\x8an\x8ng\x8ge\x8es\x8s·t\x8to\x8o·I\x8In\x8nd\x8de\x8ex\x8x·c\x8co\x8om\x8mp\x8pa\x8ar\x8ri\x8is\x8so\x8on\x8ns\x8s_\x8#\x8#·*\x8**\x8**\x8**\x8*
824 Operator·equal·on·Index·should·behavior·similarly·to·Series·(_\x8G_\x8H_\x8·_\x89_\x89_\x84_\x87,·_\x8G_\x8H_\x8·_\x81_\x80_\x86_\x83_\x87)824 Operator·equal·on·Index·should·behavior·similarly·to·Series·(_\x8G_\x8H_\x8·_\x89_\x89_\x84_\x87,·_\x8G_\x8H_\x8·_\x81_\x80_\x86_\x83_\x87)
825 Starting·in·v0.17.0,·comparing·Index·objects·of·different·lengths·will·raise·a825 Starting·in·v0.17.0,·comparing·Index·objects·of·different·lengths·will·raise·a
826 ValueError.·This·is·to·be·consistent·with·the·behavior·of·Series.826 ValueError.·This·is·to·be·consistent·with·the·behavior·of·Series.
827 Previous·behavior:827 Previous·behavior:
828 In·[2]:·pd.Index([1,·2,·3])·==·pd.Index([1,·4,·5])828 In·[2]:·pd.Index([1,·2,·3])·==·pd.Index([1,·4,·5])
829 Out[2]:·array([·True,·False,·False],·dtype=bool)829 Out[2]:·array([·True,·False,·False],·dtype=bool)
21.4 KB
./usr/share/doc/python-pandas-doc/html/whatsnew/v0.18.1.html
    
Offset 835, 16 lines modifiedOffset 835, 14 lines modified
835 <span·class="gh">Out[12]:·</span>835 <span·class="gh">Out[12]:·</span>
836 <span·class="go">············group··val</span>836 <span·class="go">············group··val</span>
837 <span·class="go">date··················</span>837 <span·class="go">date··················</span>
838 <span·class="go">2016-01-03······1····5</span>838 <span·class="go">2016-01-03······1····5</span>
839 <span·class="go">2016-01-10······1····6</span>839 <span·class="go">2016-01-10······1····6</span>
840 <span·class="go">2016-01-17······2····7</span>840 <span·class="go">2016-01-17······2····7</span>
841 <span·class="go">2016-01-24······2····8</span>841 <span·class="go">2016-01-24······2····8</span>
  
842 <span·class="go">[4·rows·x·2·columns]</span> 
843 </pre></div>842 </pre></div>
844 </div>843 </div>
845 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="n">In</span><span·class="p">[</span><span·class="mi">1</span><span·class="p">]:</span>·<span·class="n">df</span><span·class="o">.</span><span·class="n">groupby</span><span·class="p">(</span><span·class="s2">&quot;group&quot;</span><span·class="p">)</span><span·class="o">.</span><span·class="n">apply</span><span·class="p">(</span><span·class="k">lambda</span>·<span·class="n">x</span><span·class="p">:</span>·<span·class="n">x</span><span·class="o">.</span><span·class="n">resample</span><span·class="p">(</span><span·class="s2">&quot;1D&quot;</span><span·class="p">)</span><span·class="o">.</span><span·class="n">ffill</span><span·class="p">())</span>844 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="n">In</span><span·class="p">[</span><span·class="mi">1</span><span·class="p">]:</span>·<span·class="n">df</span><span·class="o">.</span><span·class="n">groupby</span><span·class="p">(</span><span·class="s2">&quot;group&quot;</span><span·class="p">)</span><span·class="o">.</span><span·class="n">apply</span><span·class="p">(</span><span·class="k">lambda</span>·<span·class="n">x</span><span·class="p">:</span>·<span·class="n">x</span><span·class="o">.</span><span·class="n">resample</span><span·class="p">(</span><span·class="s2">&quot;1D&quot;</span><span·class="p">)</span><span·class="o">.</span><span·class="n">ffill</span><span·class="p">())</span>
846 <span·class="n">Out</span><span·class="p">[</span><span·class="mi">1</span><span·class="p">]:</span>845 <span·class="n">Out</span><span·class="p">[</span><span·class="mi">1</span><span·class="p">]:</span>
847 ··················<span·class="n">group</span>··<span·class="n">val</span>846 ··················<span·class="n">group</span>··<span·class="n">val</span>
848 <span·class="n">group</span>·<span·class="n">date</span>847 <span·class="n">group</span>·<span·class="n">date</span>
849 <span·class="mi">1</span>·····<span·class="mi">2016</span><span·class="o">-</span><span·class="mi">01</span><span·class="o">-</span><span·class="mi">03</span>······<span·class="mi">1</span>····<span·class="mi">5</span>848 <span·class="mi">1</span>·····<span·class="mi">2016</span><span·class="o">-</span><span·class="mi">01</span><span·class="o">-</span><span·class="mi">03</span>······<span·class="mi">1</span>····<span·class="mi">5</span>
Offset 907, 54 lines modifiedOffset 905, 48 lines modified
  
907 <span·class="gp">In·[14]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">where</span><span·class="p">(</span><span·class="k">lambda</span>·<span·class="n">x</span><span·class="p">:</span>·<span·class="n">x</span>·<span·class="o">&gt;</span>·<span·class="mi">4</span><span·class="p">,</span>·<span·class="k">lambda</span>·<span·class="n">x</span><span·class="p">:</span>·<span·class="n">x</span>·<span·class="o">+</span>·<span·class="mi">10</span><span·class="p">)</span>905 <span·class="gp">In·[14]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">where</span><span·class="p">(</span><span·class="k">lambda</span>·<span·class="n">x</span><span·class="p">:</span>·<span·class="n">x</span>·<span·class="o">&gt;</span>·<span·class="mi">4</span><span·class="p">,</span>·<span·class="k">lambda</span>·<span·class="n">x</span><span·class="p">:</span>·<span·class="n">x</span>·<span·class="o">+</span>·<span·class="mi">10</span><span·class="p">)</span>
908 <span·class="gh">Out[14]:·</span>906 <span·class="gh">Out[14]:·</span>
909 <span·class="go">····A···B··C</span>907 <span·class="go">····A···B··C</span>
910 <span·class="go">0··11··14··7</span>908 <span·class="go">0··11··14··7</span>
911 <span·class="go">1··12···5··8</span>909 <span·class="go">1··12···5··8</span>
912 <span·class="go">2··13···6··9</span>910 <span·class="go">2··13···6··9</span>
  
913 <span·class="go">[3·rows·x·3·columns]</span> 
914 </pre></div>911 </pre></div>
915 </div>912 </div>
916 </section>913 </section>
917 <section·id="methods-loc-iloc-ix">914 <section·id="methods-loc-iloc-ix">
918 <h4>Methods·<code·class="docutils·literal·notranslate"><span·class="pre">.loc[]</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">.iloc[]</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">.ix[]</span></code><a·class="headerlink"·href="#methods-loc-iloc-ix"·title="Link·to·this·heading">#</a></h4>915 <h4>Methods·<code·class="docutils·literal·notranslate"><span·class="pre">.loc[]</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">.iloc[]</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">.ix[]</span></code><a·class="headerlink"·href="#methods-loc-iloc-ix"·title="Link·to·this·heading">#</a></h4>
919 <p>These·can·accept·a·callable,·and·a·tuple·of·callable·as·a·slicer.·The·callable916 <p>These·can·accept·a·callable,·and·a·tuple·of·callable·as·a·slicer.·The·callable
920 can·return·a·valid·boolean·indexer·or·anything·which·is·valid·for·these·indexer’s·input.</p>917 can·return·a·valid·boolean·indexer·or·anything·which·is·valid·for·these·indexer’s·input.</p>
921 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="go">#·callable·returns·bool·indexer</span>918 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="go">#·callable·returns·bool·indexer</span>
922 <span·class="gp">In·[15]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">loc</span><span·class="p">[</span><span·class="k">lambda</span>·<span·class="n">x</span><span·class="p">:</span>·<span·class="n">x</span><span·class="o">.</span><span·class="n">A</span>·<span·class="o">&gt;=</span>·<span·class="mi">2</span><span·class="p">,</span>·<span·class="k">lambda</span>·<span·class="n">x</span><span·class="p">:</span>·<span·class="n">x</span><span·class="o">.</span><span·class="n">sum</span><span·class="p">()</span>·<span·class="o">&gt;</span>·<span·class="mi">10</span><span·class="p">]</span>919 <span·class="gp">In·[15]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">loc</span><span·class="p">[</span><span·class="k">lambda</span>·<span·class="n">x</span><span·class="p">:</span>·<span·class="n">x</span><span·class="o">.</span><span·class="n">A</span>·<span·class="o">&gt;=</span>·<span·class="mi">2</span><span·class="p">,</span>·<span·class="k">lambda</span>·<span·class="n">x</span><span·class="p">:</span>·<span·class="n">x</span><span·class="o">.</span><span·class="n">sum</span><span·class="p">()</span>·<span·class="o">&gt;</span>·<span·class="mi">10</span><span·class="p">]</span>
923 <span·class="gh">Out[15]:·</span>920 <span·class="gh">Out[15]:·</span>
924 <span·class="go">···B··C</span>921 <span·class="go">···B··C</span>
925 <span·class="go">1··5··8</span>922 <span·class="go">1··5··8</span>
926 <span·class="go">2··6··9</span>923 <span·class="go">2··6··9</span>
  
927 <span·class="go">[2·rows·x·2·columns]</span> 
  
928 <span·class="go">#·callable·returns·list·of·labels</span>924 <span·class="go">#·callable·returns·list·of·labels</span>
929 <span·class="gp">In·[16]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">loc</span><span·class="p">[</span><span·class="k">lambda</span>·<span·class="n">x</span><span·class="p">:</span>·<span·class="p">[</span><span·class="mi">1</span><span·class="p">,</span>·<span·class="mi">2</span><span·class="p">],</span>·<span·class="k">lambda</span>·<span·class="n">x</span><span·class="p">:</span>·<span·class="p">[</span><span·class="s2">&quot;A&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;B&quot;</span><span·class="p">]]</span>925 <span·class="gp">In·[16]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">loc</span><span·class="p">[</span><span·class="k">lambda</span>·<span·class="n">x</span><span·class="p">:</span>·<span·class="p">[</span><span·class="mi">1</span><span·class="p">,</span>·<span·class="mi">2</span><span·class="p">],</span>·<span·class="k">lambda</span>·<span·class="n">x</span><span·class="p">:</span>·<span·class="p">[</span><span·class="s2">&quot;A&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;B&quot;</span><span·class="p">]]</span>
930 <span·class="gh">Out[16]:·</span>926 <span·class="gh">Out[16]:·</span>
931 <span·class="go">···A··B</span>927 <span·class="go">···A··B</span>
932 <span·class="go">1··2··5</span>928 <span·class="go">1··2··5</span>
933 <span·class="go">2··3··6</span>929 <span·class="go">2··3··6</span>
  
934 <span·class="go">[2·rows·x·2·columns]</span> 
935 </pre></div>930 </pre></div>
936 </div>931 </div>
937 </section>932 </section>
938 <section·id="indexing-with">933 <section·id="indexing-with">
939 <h4>Indexing·with·<code·class="docutils·literal·notranslate"><span·class="pre">[]</span></code><a·class="headerlink"·href="#indexing-with"·title="Link·to·this·heading">#</a></h4>934 <h4>Indexing·with·<code·class="docutils·literal·notranslate"><span·class="pre">[]</span></code><a·class="headerlink"·href="#indexing-with"·title="Link·to·this·heading">#</a></h4>
940 <p>Finally,·you·can·use·a·callable·in·<code·class="docutils·literal·notranslate"><span·class="pre">[]</span></code>·indexing·of·Series,·DataFrame·and·Panel.935 <p>Finally,·you·can·use·a·callable·in·<code·class="docutils·literal·notranslate"><span·class="pre">[]</span></code>·indexing·of·Series,·DataFrame·and·Panel.
941 The·callable·must·return·a·valid·input·for·<code·class="docutils·literal·notranslate"><span·class="pre">[]</span></code>·indexing·depending·on·its936 The·callable·must·return·a·valid·input·for·<code·class="docutils·literal·notranslate"><span·class="pre">[]</span></code>·indexing·depending·on·its
942 class·and·index·type.</p>937 class·and·index·type.</p>
943 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[17]:·</span><span·class="n">df</span><span·class="p">[</span><span·class="k">lambda</span>·<span·class="n">x</span><span·class="p">:</span>·<span·class="s2">&quot;A&quot;</span><span·class="p">]</span>938 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[17]:·</span><span·class="n">df</span><span·class="p">[</span><span·class="k">lambda</span>·<span·class="n">x</span><span·class="p">:</span>·<span·class="s2">&quot;A&quot;</span><span·class="p">]</span>
944 <span·class="gh">Out[17]:·</span>939 <span·class="gh">Out[17]:·</span>
945 <span·class="go">0····1</span>940 <span·class="go">0····1</span>
946 <span·class="go">1····2</span>941 <span·class="go">1····2</span>
947 <span·class="go">2····3</span>942 <span·class="go">2····3</span>
948 <span·class="go">Name:·A,·Length:·3,·dtype:·int64</span>943 <span·class="go">Name:·A,·dtype:·int64</span>
949 </pre></div>944 </pre></div>
950 </div>945 </div>
951 <p>Using·these·methods·/·indexers,·you·can·chain·data·selection·operations946 <p>Using·these·methods·/·indexers,·you·can·chain·data·selection·operations
952 without·using·temporary·variable.</p>947 without·using·temporary·variable.</p>
953 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[18]:·</span><span·class="n">bb</span>·<span·class="o">=</span>·<span·class="n">pd</span><span·class="o">.</span><span·class="n">read_csv</span><span·class="p">(</span><span·class="s2">&quot;data/baseball.csv&quot;</span><span·class="p">,</span>·<span·class="n">index_col</span><span·class="o">=</span><span·class="s2">&quot;id&quot;</span><span·class="p">)</span>948 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[18]:·</span><span·class="n">bb</span>·<span·class="o">=</span>·<span·class="n">pd</span><span·class="o">.</span><span·class="n">read_csv</span><span·class="p">(</span><span·class="s2">&quot;data/baseball.csv&quot;</span><span·class="p">,</span>·<span·class="n">index_col</span><span·class="o">=</span><span·class="s2">&quot;id&quot;</span><span·class="p">)</span>
  
954 <span·class="gp">In·[19]:·</span><span·class="p">(</span><span·class="n">bb</span><span·class="o">.</span><span·class="n">groupby</span><span·class="p">([</span><span·class="s2">&quot;year&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;team&quot;</span><span·class="p">])</span><span·class="o">.</span><span·class="n">sum</span><span·class="p">(</span><span·class="n">numeric_only</span><span·class="o">=</span><span·class="kc">True</span><span·class="p">)</span><span·class="o">.</span><span·class="n">loc</span><span·class="p">[</span><span·class="k">lambda</span>·<span·class="n">df</span><span·class="p">:</span>·<span·class="n">df</span><span·class="o">.</span><span·class="n">r</span>·<span·class="o">&gt;</span>·<span·class="mi">100</span><span·class="p">])</span>949 <span·class="gp">In·[19]:·</span><span·class="p">(</span><span·class="n">bb</span><span·class="o">.</span><span·class="n">groupby</span><span·class="p">([</span><span·class="s2">&quot;year&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;team&quot;</span><span·class="p">])</span><span·class="o">.</span><span·class="n">sum</span><span·class="p">(</span><span·class="n">numeric_only</span><span·class="o">=</span><span·class="kc">True</span><span·class="p">)</span><span·class="o">.</span><span·class="n">loc</span><span·class="p">[</span><span·class="k">lambda</span>·<span·class="n">df</span><span·class="p">:</span>·<span·class="n">df</span><span·class="o">.</span><span·class="n">r</span>·<span·class="o">&gt;</span>·<span·class="mi">100</span><span·class="p">])</span>
Offset 1058, 32 lines modifiedOffset 1050, 30 lines modified
1058 <span·class="gp">···....:·</span>1050 <span·class="gp">···....:·</span>
  
1059 <span·class="gp">In·[21]:·</span><span·class="n">df</span>1051 <span·class="gp">In·[21]:·</span><span·class="n">df</span>
1060 <span·class="gh">Out[21]:·</span>1052 <span·class="gh">Out[21]:·</span>
1061 <span·class="go">···year··month··day··hour</span>1053 <span·class="go">···year··month··day··hour</span>
1062 <span·class="go">0··2015······2····4·····2</span>1054 <span·class="go">0··2015······2····4·····2</span>
1063 <span·class="go">1··2016······3····5·····3</span>1055 <span·class="go">1··2016······3····5·····3</span>
  
1064 <span·class="go">[2·rows·x·4·columns]</span> 
1065 </pre></div>1056 </pre></div>
1066 </div>1057 </div>
1067 <p>Assembling·using·the·passed·frame.</p>1058 <p>Assembling·using·the·passed·frame.</p>
1068 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[22]:·</span><span·class="n">pd</span><span·class="o">.</span><span·class="n">to_datetime</span><span·class="p">(</span><span·class="n">df</span><span·class="p">)</span>1059 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[22]:·</span><span·class="n">pd</span><span·class="o">.</span><span·class="n">to_datetime</span><span·class="p">(</span><span·class="n">df</span><span·class="p">)</span>
1069 <span·class="gh">Out[22]:·</span>1060 <span·class="gh">Out[22]:·</span>
1070 <span·class="go">0···2015-02-04·02:00:00</span>1061 <span·class="go">0···2015-02-04·02:00:00</span>
1071 <span·class="go">1···2016-03-05·03:00:00</span>1062 <span·class="go">1···2016-03-05·03:00:00</span>
1072 <span·class="go">Length:·2,·dtype:·datetime64[ns]</span>1063 <span·class="go">dtype:·datetime64[ns]</span>
1073 </pre></div>1064 </pre></div>
1074 </div>1065 </div>
1075 <p>You·can·pass·only·the·columns·that·you·need·to·assemble.</p>1066 <p>You·can·pass·only·the·columns·that·you·need·to·assemble.</p>
1076 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[23]:·</span><span·class="n">pd</span><span·class="o">.</span><span·class="n">to_datetime</span><span·class="p">(</span><span·class="n">df</span><span·class="p">[[</span><span·class="s2">&quot;year&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;month&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;day&quot;</span><span·class="p">]])</span>1067 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[23]:·</span><span·class="n">pd</span><span·class="o">.</span><span·class="n">to_datetime</span><span·class="p">(</span><span·class="n">df</span><span·class="p">[[</span><span·class="s2">&quot;year&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;month&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;day&quot;</span><span·class="p">]])</span>
1077 <span·class="gh">Out[23]:·</span>1068 <span·class="gh">Out[23]:·</span>
1078 <span·class="go">0···2015-02-04</span>1069 <span·class="go">0···2015-02-04</span>
1079 <span·class="go">1···2016-03-05</span>1070 <span·class="go">1···2016-03-05</span>
1080 <span·class="go">Length:·2,·dtype:·datetime64[ns]</span>1071 <span·class="go">dtype:·datetime64[ns]</span>
1081 </pre></div>1072 </pre></div>
1082 </div>1073 </div>
1083 </section>1074 </section>
1084 <section·id="other-enhancements">1075 <section·id="other-enhancements">
1085 <span·id="whatsnew-0181-other"></span><h3>Other·enhancements<a·class="headerlink"·href="#other-enhancements"·title="Link·to·this·heading">#</a></h3>1076 <span·id="whatsnew-0181-other"></span><h3>Other·enhancements<a·class="headerlink"·href="#other-enhancements"·title="Link·to·this·heading">#</a></h3>
1086 <ul>1077 <ul>
1087 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">pd.read_csv()</span></code>·now·supports·<code·class="docutils·literal·notranslate"><span·class="pre">delim_whitespace=True</span></code>·for·the·Python·engine·(<a·class="extlink-issue·reference·external"·href="https://github.com/pandas-dev/pandas/issues/12958">GH·12958</a>)</p></li>1078 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">pd.read_csv()</span></code>·now·supports·<code·class="docutils·literal·notranslate"><span·class="pre">delim_whitespace=True</span></code>·for·the·Python·engine·(<a·class="extlink-issue·reference·external"·href="https://github.com/pandas-dev/pandas/issues/12958">GH·12958</a>)</p></li>
Offset 1168, 16 lines modifiedOffset 1158, 14 lines modified
  
1168 <span·class="gp">In·[30]:·</span><span·class="n">df</span>1158 <span·class="gp">In·[30]:·</span><span·class="n">df</span>
1169 <span·class="gh">Out[30]:·</span>1159 <span·class="gh">Out[30]:·</span>
1170 <span·class="go">···A··B</span>1160 <span·class="go">···A··B</span>
1171 <span·class="go">0··a··1</span>1161 <span·class="go">0··a··1</span>
1172 <span·class="go">1··b··2</span>1162 <span·class="go">1··b··2</span>
1173 <span·class="go">2··a··3</span>1163 <span·class="go">2··a··3</span>
  
1174 <span·class="go">[3·rows·x·2·columns]</span> 
1175 </pre></div>1164 </pre></div>
1176 </div>1165 </div>
1177 <p>Previous·behavior:</p>1166 <p>Previous·behavior:</p>
1178 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[3]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">groupby</span><span·class="p">(</span><span·class="s1">&#39;A&#39;</span><span·class="p">,</span>·<span·class="n">as_index</span><span·class="o">=</span><span·class="kc">True</span><span·class="p">)[</span><span·class="s1">&#39;B&#39;</span><span·class="p">]</span><span·class="o">.</span><span·class="n">nth</span><span·class="p">(</span><span·class="mi">0</span><span·class="p">)</span>1167 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[3]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">groupby</span><span·class="p">(</span><span·class="s1">&#39;A&#39;</span><span·class="p">,</span>·<span·class="n">as_index</span><span·class="o">=</span><span·class="kc">True</span><span·class="p">)[</span><span·class="s1">&#39;B&#39;</span><span·class="p">]</span><span·class="o">.</span><span·class="n">nth</span><span·class="p">(</span><span·class="mi">0</span><span·class="p">)</span>
1179 <span·class="gh">Out[3]:</span>1168 <span·class="gh">Out[3]:</span>
1180 <span·class="go">0····1</span>1169 <span·class="go">0····1</span>
1181 <span·class="go">1····2</span>1170 <span·class="go">1····2</span>
Offset 1191, 21 lines modifiedOffset 1179, 21 lines modified
1191 </pre></div>1179 </pre></div>
1192 </div>1180 </div>
1193 <p>New·behavior:</p>1181 <p>New·behavior:</p>
1194 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[31]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">groupby</span><span·class="p">(</span><span·class="s2">&quot;A&quot;</span><span·class="p">,</span>·<span·class="n">as_index</span><span·class="o">=</span><span·class="kc">True</span><span·class="p">)[</span><span·class="s2">&quot;B&quot;</span><span·class="p">]</span><span·class="o">.</span><span·class="n">nth</span><span·class="p">(</span><span·class="mi">0</span><span·class="p">)</span>1182 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[31]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">groupby</span><span·class="p">(</span><span·class="s2">&quot;A&quot;</span><span·class="p">,</span>·<span·class="n">as_index</span><span·class="o">=</span><span·class="kc">True</span><span·class="p">)[</span><span·class="s2">&quot;B&quot;</span><span·class="p">]</span><span·class="o">.</span><span·class="n">nth</span><span·class="p">(</span><span·class="mi">0</span><span·class="p">)</span>
1195 <span·class="gh">Out[31]:·</span>1183 <span·class="gh">Out[31]:·</span>
Max diff block lines reached; 5416/16683 bytes (32.46%) of diff not shown.
4.95 KB
html2text {}
    
Offset 281, 16 lines modifiedOffset 281, 14 lines modified
281 Out[12]:281 Out[12]:
282 ············group··val282 ············group··val
283 date283 date
284 2016-01-03······1····5284 2016-01-03······1····5
285 2016-01-10······1····6285 2016-01-10······1····6
286 2016-01-17······2····7286 2016-01-17······2····7
287 2016-01-24······2····8287 2016-01-24······2····8
  
288 [4·rows·x·2·columns] 
289 In[1]:·df.groupby("group").apply(lambda·x:·x.resample("1D").ffill())288 In[1]:·df.groupby("group").apply(lambda·x:·x.resample("1D").ffill())
290 Out[1]:289 Out[1]:
291 ··················group··val290 ··················group··val
292 group·date291 group·date
293 1·····2016-01-03······1····5292 1·····2016-01-03······1····5
294 ······2016-01-04······1····5293 ······2016-01-04······1····5
295 ······2016-01-05······1····5294 ······2016-01-05······1····5
Offset 340, 47 lines modifiedOffset 338, 41 lines modified
  
340 In·[14]:·df.where(lambda·x:·x·>·4,·lambda·x:·x·+·10)338 In·[14]:·df.where(lambda·x:·x·>·4,·lambda·x:·x·+·10)
341 Out[14]:339 Out[14]:
342 ····A···B··C340 ····A···B··C
343 0··11··14··7341 0··11··14··7
344 1··12···5··8342 1··12···5··8
345 2··13···6··9343 2··13···6··9
  
346 [3·rows·x·3·columns] 
347 *\x8**\x8**\x8*·M\x8Me\x8et\x8th\x8ho\x8od\x8ds\x8s·.\x8.l\x8lo\x8oc\x8c[\x8[]\x8],\x8,·.\x8.i\x8il\x8lo\x8oc\x8c[\x8[]\x8],\x8,·.\x8.i\x8ix\x8x[\x8[]\x8]_\x8#\x8#·*\x8**\x8**\x8*344 *\x8**\x8**\x8*·M\x8Me\x8et\x8th\x8ho\x8od\x8ds\x8s·.\x8.l\x8lo\x8oc\x8c[\x8[]\x8],\x8,·.\x8.i\x8il\x8lo\x8oc\x8c[\x8[]\x8],\x8,·.\x8.i\x8ix\x8x[\x8[]\x8]_\x8#\x8#·*\x8**\x8**\x8*
348 These·can·accept·a·callable,·and·a·tuple·of·callable·as·a·slicer.·The·callable345 These·can·accept·a·callable,·and·a·tuple·of·callable·as·a·slicer.·The·callable
349 can·return·a·valid·boolean·indexer·or·anything·which·is·valid·for·these346 can·return·a·valid·boolean·indexer·or·anything·which·is·valid·for·these
350 indexer’s·input.347 indexer’s·input.
351 #·callable·returns·bool·indexer348 #·callable·returns·bool·indexer
352 In·[15]:·df.loc[lambda·x:·x.A·>=·2,·lambda·x:·x.sum()·>·10]349 In·[15]:·df.loc[lambda·x:·x.A·>=·2,·lambda·x:·x.sum()·>·10]
353 Out[15]:350 Out[15]:
354 ···B··C351 ···B··C
355 1··5··8352 1··5··8
356 2··6··9353 2··6··9
  
357 [2·rows·x·2·columns] 
  
358 #·callable·returns·list·of·labels354 #·callable·returns·list·of·labels
359 In·[16]:·df.loc[lambda·x:·[1,·2],·lambda·x:·["A",·"B"]]355 In·[16]:·df.loc[lambda·x:·[1,·2],·lambda·x:·["A",·"B"]]
360 Out[16]:356 Out[16]:
361 ···A··B357 ···A··B
362 1··2··5358 1··2··5
363 2··3··6359 2··3··6
  
364 [2·rows·x·2·columns] 
365 *\x8**\x8**\x8*·I\x8In\x8nd\x8de\x8ex\x8xi\x8in\x8ng\x8g·w\x8wi\x8it\x8th\x8h·[\x8[]\x8]_\x8#\x8#·*\x8**\x8**\x8*360 *\x8**\x8**\x8*·I\x8In\x8nd\x8de\x8ex\x8xi\x8in\x8ng\x8g·w\x8wi\x8it\x8th\x8h·[\x8[]\x8]_\x8#\x8#·*\x8**\x8**\x8*
366 Finally,·you·can·use·a·callable·in·[]·indexing·of·Series,·DataFrame·and·Panel.361 Finally,·you·can·use·a·callable·in·[]·indexing·of·Series,·DataFrame·and·Panel.
367 The·callable·must·return·a·valid·input·for·[]·indexing·depending·on·its·class362 The·callable·must·return·a·valid·input·for·[]·indexing·depending·on·its·class
368 and·index·type.363 and·index·type.
369 In·[17]:·df[lambda·x:·"A"]364 In·[17]:·df[lambda·x:·"A"]
370 Out[17]:365 Out[17]:
371 0····1366 0····1
372 1····2367 1····2
373 2····3368 2····3
374 Name:·A,·Length:·3,·dtype:·int64369 Name:·A,·dtype:·int64
375 Using·these·methods·/·indexers,·you·can·chain·data·selection·operations·without370 Using·these·methods·/·indexers,·you·can·chain·data·selection·operations·without
376 using·temporary·variable.371 using·temporary·variable.
377 In·[18]:·bb·=·pd.read_csv("data/baseball.csv",·index_col="id")372 In·[18]:·bb·=·pd.read_csv("data/baseball.csv",·index_col="id")
  
378 In·[19]:·(bb.groupby(["year",·"team"]).sum(numeric_only=True).loc[lambda·df:373 In·[19]:·(bb.groupby(["year",·"team"]).sum(numeric_only=True).loc[lambda·df:
379 df.r·>·100])374 df.r·>·100])
380 Out[19]:375 Out[19]:
Offset 486, 28 lines modifiedOffset 478, 26 lines modified
486 ···....:478 ···....:
  
487 In·[21]:·df479 In·[21]:·df
488 Out[21]:480 Out[21]:
489 ···year··month··day··hour481 ···year··month··day··hour
490 0··2015······2····4·····2482 0··2015······2····4·····2
491 1··2016······3····5·····3483 1··2016······3····5·····3
  
492 [2·rows·x·4·columns] 
493 Assembling·using·the·passed·frame.484 Assembling·using·the·passed·frame.
494 In·[22]:·pd.to_datetime(df)485 In·[22]:·pd.to_datetime(df)
495 Out[22]:486 Out[22]:
496 0···2015-02-04·02:00:00487 0···2015-02-04·02:00:00
497 1···2016-03-05·03:00:00488 1···2016-03-05·03:00:00
498 Length:·2,·dtype:·datetime64[ns]489 dtype:·datetime64[ns]
499 You·can·pass·only·the·columns·that·you·need·to·assemble.490 You·can·pass·only·the·columns·that·you·need·to·assemble.
500 In·[23]:·pd.to_datetime(df[["year",·"month",·"day"]])491 In·[23]:·pd.to_datetime(df[["year",·"month",·"day"]])
501 Out[23]:492 Out[23]:
502 0···2015-02-04493 0···2015-02-04
503 1···2016-03-05494 1···2016-03-05
504 Length:·2,·dtype:·datetime64[ns]495 dtype:·datetime64[ns]
505 *\x8**\x8**\x8**\x8*·O\x8Ot\x8th\x8he\x8er\x8r·e\x8en\x8nh\x8ha\x8an\x8nc\x8ce\x8em\x8me\x8en\x8nt\x8ts\x8s_\x8#\x8#·*\x8**\x8**\x8**\x8*496 *\x8**\x8**\x8**\x8*·O\x8Ot\x8th\x8he\x8er\x8r·e\x8en\x8nh\x8ha\x8an\x8nc\x8ce\x8em\x8me\x8en\x8nt\x8ts\x8s_\x8#\x8#·*\x8**\x8**\x8**\x8*
506 ····*·pd.read_csv()·now·supports·delim_whitespace=True·for·the·Python·engine497 ····*·pd.read_csv()·now·supports·delim_whitespace=True·for·the·Python·engine
507 ······(_\x8G_\x8H_\x8·_\x81_\x82_\x89_\x85_\x88)498 ······(_\x8G_\x8H_\x8·_\x81_\x82_\x89_\x85_\x88)
508 ····*·pd.read_csv()·now·supports·opening·ZIP·files·that·contains·a·single·CSV,499 ····*·pd.read_csv()·now·supports·opening·ZIP·files·that·contains·a·single·CSV,
509 ······via·extension·inference·or·explicit·compression='zip'·(_\x8G_\x8H_\x8·_\x81_\x82_\x81_\x87_\x85)500 ······via·extension·inference·or·explicit·compression='zip'·(_\x8G_\x8H_\x8·_\x81_\x82_\x81_\x87_\x85)
510 ····*·pd.read_csv()·now·supports·opening·files·using·xz·compression,·via501 ····*·pd.read_csv()·now·supports·opening·files·using·xz·compression,·via
511 ······extension·inference·or·explicit·compression='xz'·is·specified;·xz502 ······extension·inference·or·explicit·compression='xz'·is·specified;·xz
Offset 599, 16 lines modifiedOffset 589, 14 lines modified
  
599 In·[30]:·df589 In·[30]:·df
600 Out[30]:590 Out[30]:
601 ···A··B591 ···A··B
602 0··a··1592 0··a··1
603 1··b··2593 1··b··2
604 2··a··3594 2··a··3
  
605 [3·rows·x·2·columns] 
606 Previous·behavior:595 Previous·behavior:
607 In·[3]:·df.groupby('A',·as_index=True)['B'].nth(0)596 In·[3]:·df.groupby('A',·as_index=True)['B'].nth(0)
608 Out[3]:597 Out[3]:
609 0····1598 0····1
610 1····2599 1····2
611 Name:·B,·dtype:·int64600 Name:·B,·dtype:·int64
  
Offset 618, 21 lines modifiedOffset 606, 21 lines modified
618 1····2606 1····2
619 Name:·B,·dtype:·int64607 Name:·B,·dtype:·int64
620 New·behavior:608 New·behavior:
621 In·[31]:·df.groupby("A",·as_index=True)["B"].nth(0)609 In·[31]:·df.groupby("A",·as_index=True)["B"].nth(0)
622 Out[31]:610 Out[31]:
623 0····1611 0····1
624 1····2612 1····2
625 Name:·B,·Length:·2,·dtype:·int64613 Name:·B,·dtype:·int64
  
626 In·[32]:·df.groupby("A",·as_index=False)["B"].nth(0)614 In·[32]:·df.groupby("A",·as_index=False)["B"].nth(0)
627 Out[32]:615 Out[32]:
628 0····1616 0····1
629 1····2617 1····2
630 Name:·B,·Length:·2,·dtype:·int64618 Name:·B,·dtype:·int64
631 Furthermore,·previously,·a·.groupby·would·always·sort,·regardless·if·sort=False619 Furthermore,·previously,·a·.groupby·would·always·sort,·regardless·if·sort=False
632 was·passed·with·.nth().620 was·passed·with·.nth().
Max diff block lines reached; 1469/5041 bytes (29.14%) of diff not shown.
72.3 KB
./usr/share/doc/python-pandas-doc/html/whatsnew/v0.19.0.html
    
Offset 756, 49 lines modifiedOffset 756, 41 lines modified
756 <span·class="gp">In·[3]:·</span><span·class="n">left</span>756 <span·class="gp">In·[3]:·</span><span·class="n">left</span>
757 <span·class="gh">Out[3]:·</span>757 <span·class="gh">Out[3]:·</span>
758 <span·class="go">····a·left_val</span>758 <span·class="go">····a·left_val</span>
759 <span·class="go">0···1········a</span>759 <span·class="go">0···1········a</span>
760 <span·class="go">1···5········b</span>760 <span·class="go">1···5········b</span>
761 <span·class="go">2··10········c</span>761 <span·class="go">2··10········c</span>
  
762 <span·class="go">[3·rows·x·2·columns]</span> 
  
763 <span·class="gp">In·[4]:·</span><span·class="n">right</span>762 <span·class="gp">In·[4]:·</span><span·class="n">right</span>
764 <span·class="gh">Out[4]:·</span>763 <span·class="gh">Out[4]:·</span>
765 <span·class="go">···a··right_val</span>764 <span·class="go">···a··right_val</span>
766 <span·class="go">0··1··········1</span>765 <span·class="go">0··1··········1</span>
767 <span·class="go">1··2··········2</span>766 <span·class="go">1··2··········2</span>
768 <span·class="go">2··3··········3</span>767 <span·class="go">2··3··········3</span>
769 <span·class="go">3··6··········6</span>768 <span·class="go">3··6··········6</span>
770 <span·class="go">4··7··········7</span>769 <span·class="go">4··7··········7</span>
  
771 <span·class="go">[5·rows·x·2·columns]</span> 
772 </pre></div>770 </pre></div>
773 </div>771 </div>
774 <p>We·typically·want·to·match·exactly·when·possible,·and·use·the·most772 <p>We·typically·want·to·match·exactly·when·possible,·and·use·the·most
775 recent·value·otherwise.</p>773 recent·value·otherwise.</p>
776 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[5]:·</span><span·class="n">pd</span><span·class="o">.</span><span·class="n">merge_asof</span><span·class="p">(</span><span·class="n">left</span><span·class="p">,</span>·<span·class="n">right</span><span·class="p">,</span>·<span·class="n">on</span><span·class="o">=</span><span·class="s2">&quot;a&quot;</span><span·class="p">)</span>774 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[5]:·</span><span·class="n">pd</span><span·class="o">.</span><span·class="n">merge_asof</span><span·class="p">(</span><span·class="n">left</span><span·class="p">,</span>·<span·class="n">right</span><span·class="p">,</span>·<span·class="n">on</span><span·class="o">=</span><span·class="s2">&quot;a&quot;</span><span·class="p">)</span>
777 <span·class="gh">Out[5]:·</span>775 <span·class="gh">Out[5]:·</span>
778 <span·class="go">····a·left_val··right_val</span>776 <span·class="go">····a·left_val··right_val</span>
779 <span·class="go">0···1········a··········1</span>777 <span·class="go">0···1········a··········1</span>
780 <span·class="go">1···5········b··········3</span>778 <span·class="go">1···5········b··········3</span>
781 <span·class="go">2··10········c··········7</span>779 <span·class="go">2··10········c··········7</span>
  
782 <span·class="go">[3·rows·x·3·columns]</span> 
783 </pre></div>780 </pre></div>
784 </div>781 </div>
785 <p>We·can·also·match·rows·ONLY·with·prior·data,·and·not·an·exact·match.</p>782 <p>We·can·also·match·rows·ONLY·with·prior·data,·and·not·an·exact·match.</p>
786 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[6]:·</span><span·class="n">pd</span><span·class="o">.</span><span·class="n">merge_asof</span><span·class="p">(</span><span·class="n">left</span><span·class="p">,</span>·<span·class="n">right</span><span·class="p">,</span>·<span·class="n">on</span><span·class="o">=</span><span·class="s2">&quot;a&quot;</span><span·class="p">,</span>·<span·class="n">allow_exact_matches</span><span·class="o">=</span><span·class="kc">False</span><span·class="p">)</span>783 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[6]:·</span><span·class="n">pd</span><span·class="o">.</span><span·class="n">merge_asof</span><span·class="p">(</span><span·class="n">left</span><span·class="p">,</span>·<span·class="n">right</span><span·class="p">,</span>·<span·class="n">on</span><span·class="o">=</span><span·class="s2">&quot;a&quot;</span><span·class="p">,</span>·<span·class="n">allow_exact_matches</span><span·class="o">=</span><span·class="kc">False</span><span·class="p">)</span>
787 <span·class="gh">Out[6]:·</span>784 <span·class="gh">Out[6]:·</span>
788 <span·class="go">····a·left_val··right_val</span>785 <span·class="go">····a·left_val··right_val</span>
789 <span·class="go">0···1········a········NaN</span>786 <span·class="go">0···1········a········NaN</span>
790 <span·class="go">1···5········b········3.0</span>787 <span·class="go">1···5········b········3.0</span>
791 <span·class="go">2··10········c········7.0</span>788 <span·class="go">2··10········c········7.0</span>
  
792 <span·class="go">[3·rows·x·3·columns]</span> 
793 </pre></div>789 </pre></div>
794 </div>790 </div>
795 <p>In·a·typical·time-series·example,·we·have·<code·class="docutils·literal·notranslate"><span·class="pre">trades</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">quotes</span></code>·and·we·want·to·<code·class="docutils·literal·notranslate"><span·class="pre">asof-join</span></code>·them.791 <p>In·a·typical·time-series·example,·we·have·<code·class="docutils·literal·notranslate"><span·class="pre">trades</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">quotes</span></code>·and·we·want·to·<code·class="docutils·literal·notranslate"><span·class="pre">asof-join</span></code>·them.
796 This·also·illustrates·using·the·<code·class="docutils·literal·notranslate"><span·class="pre">by</span></code>·parameter·to·group·data·before·merging.</p>792 This·also·illustrates·using·the·<code·class="docutils·literal·notranslate"><span·class="pre">by</span></code>·parameter·to·group·data·before·merging.</p>
797 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[7]:·</span><span·class="n">trades</span>·<span·class="o">=</span>·<span·class="n">pd</span><span·class="o">.</span><span·class="n">DataFrame</span><span·class="p">(</span>793 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[7]:·</span><span·class="n">trades</span>·<span·class="o">=</span>·<span·class="n">pd</span><span·class="o">.</span><span·class="n">DataFrame</span><span·class="p">(</span>
798 <span·class="gp">···...:·</span>····<span·class="p">{</span>794 <span·class="gp">···...:·</span>····<span·class="p">{</span>
799 <span·class="gp">···...:·</span>········<span·class="s2">&quot;time&quot;</span><span·class="p">:</span>·<span·class="n">pd</span><span·class="o">.</span><span·class="n">to_datetime</span><span·class="p">(</span>795 <span·class="gp">···...:·</span>········<span·class="s2">&quot;time&quot;</span><span·class="p">:</span>·<span·class="n">pd</span><span·class="o">.</span><span·class="n">to_datetime</span><span·class="p">(</span>
Offset 846, 44 lines modifiedOffset 838, 38 lines modified
846 <span·class="go">·····················time·ticker···price··quantity</span>838 <span·class="go">·····················time·ticker···price··quantity</span>
847 <span·class="go">0·2016-05-25·13:30:00.023···MSFT···51.95········75</span>839 <span·class="go">0·2016-05-25·13:30:00.023···MSFT···51.95········75</span>
848 <span·class="go">1·2016-05-25·13:30:00.038···MSFT···51.95·······155</span>840 <span·class="go">1·2016-05-25·13:30:00.038···MSFT···51.95·······155</span>
849 <span·class="go">2·2016-05-25·13:30:00.048···GOOG··720.77·······100</span>841 <span·class="go">2·2016-05-25·13:30:00.048···GOOG··720.77·······100</span>
850 <span·class="go">3·2016-05-25·13:30:00.048···GOOG··720.92·······100</span>842 <span·class="go">3·2016-05-25·13:30:00.048···GOOG··720.92·······100</span>
851 <span·class="go">4·2016-05-25·13:30:00.048···AAPL···98.00·······100</span>843 <span·class="go">4·2016-05-25·13:30:00.048···AAPL···98.00·······100</span>
  
852 <span·class="go">[5·rows·x·4·columns]</span> 
  
853 <span·class="gp">In·[10]:·</span><span·class="n">quotes</span>844 <span·class="gp">In·[10]:·</span><span·class="n">quotes</span>
854 <span·class="gh">Out[10]:·</span>845 <span·class="gh">Out[10]:·</span>
855 <span·class="go">·····················time·ticker·····bid·····ask</span>846 <span·class="go">·····················time·ticker·····bid·····ask</span>
856 <span·class="go">0·2016-05-25·13:30:00.023···GOOG··720.50··720.93</span>847 <span·class="go">0·2016-05-25·13:30:00.023···GOOG··720.50··720.93</span>
857 <span·class="go">1·2016-05-25·13:30:00.023···MSFT···51.95···51.96</span>848 <span·class="go">1·2016-05-25·13:30:00.023···MSFT···51.95···51.96</span>
858 <span·class="go">2·2016-05-25·13:30:00.030···MSFT···51.97···51.98</span>849 <span·class="go">2·2016-05-25·13:30:00.030···MSFT···51.97···51.98</span>
859 <span·class="go">3·2016-05-25·13:30:00.041···MSFT···51.99···52.00</span>850 <span·class="go">3·2016-05-25·13:30:00.041···MSFT···51.99···52.00</span>
860 <span·class="go">4·2016-05-25·13:30:00.048···GOOG··720.50··720.93</span>851 <span·class="go">4·2016-05-25·13:30:00.048···GOOG··720.50··720.93</span>
861 <span·class="go">5·2016-05-25·13:30:00.049···AAPL···97.99···98.01</span>852 <span·class="go">5·2016-05-25·13:30:00.049···AAPL···97.99···98.01</span>
862 <span·class="go">6·2016-05-25·13:30:00.072···GOOG··720.50··720.88</span>853 <span·class="go">6·2016-05-25·13:30:00.072···GOOG··720.50··720.88</span>
863 <span·class="go">7·2016-05-25·13:30:00.075···MSFT···52.01···52.03</span>854 <span·class="go">7·2016-05-25·13:30:00.075···MSFT···52.01···52.03</span>
  
864 <span·class="go">[8·rows·x·4·columns]</span> 
865 </pre></div>855 </pre></div>
866 </div>856 </div>
867 <p>An·asof·merge·joins·on·the·<code·class="docutils·literal·notranslate"><span·class="pre">on</span></code>,·typically·a·datetimelike·field,·which·is·ordered,·and857 <p>An·asof·merge·joins·on·the·<code·class="docutils·literal·notranslate"><span·class="pre">on</span></code>,·typically·a·datetimelike·field,·which·is·ordered,·and
868 in·this·case·we·are·using·a·grouper·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">by</span></code>·field.·This·is·like·a·left-outer·join,·except858 in·this·case·we·are·using·a·grouper·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">by</span></code>·field.·This·is·like·a·left-outer·join,·except
869 that·forward·filling·happens·automatically·taking·the·most·recent·non-NaN·value.</p>859 that·forward·filling·happens·automatically·taking·the·most·recent·non-NaN·value.</p>
870 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[11]:·</span><span·class="n">pd</span><span·class="o">.</span><span·class="n">merge_asof</span><span·class="p">(</span><span·class="n">trades</span><span·class="p">,</span>·<span·class="n">quotes</span><span·class="p">,</span>·<span·class="n">on</span><span·class="o">=</span><span·class="s2">&quot;time&quot;</span><span·class="p">,</span>·<span·class="n">by</span><span·class="o">=</span><span·class="s2">&quot;ticker&quot;</span><span·class="p">)</span>860 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[11]:·</span><span·class="n">pd</span><span·class="o">.</span><span·class="n">merge_asof</span><span·class="p">(</span><span·class="n">trades</span><span·class="p">,</span>·<span·class="n">quotes</span><span·class="p">,</span>·<span·class="n">on</span><span·class="o">=</span><span·class="s2">&quot;time&quot;</span><span·class="p">,</span>·<span·class="n">by</span><span·class="o">=</span><span·class="s2">&quot;ticker&quot;</span><span·class="p">)</span>
871 <span·class="gh">Out[11]:·</span>861 <span·class="gh">Out[11]:·</span>
872 <span·class="go">·····················time·ticker···price··quantity·····bid·····ask</span>862 <span·class="go">·····················time·ticker···price··quantity·····bid·····ask</span>
873 <span·class="go">0·2016-05-25·13:30:00.023···MSFT···51.95········75···51.95···51.96</span>863 <span·class="go">0·2016-05-25·13:30:00.023···MSFT···51.95········75···51.95···51.96</span>
874 <span·class="go">1·2016-05-25·13:30:00.038···MSFT···51.95·······155···51.97···51.98</span>864 <span·class="go">1·2016-05-25·13:30:00.038···MSFT···51.95·······155···51.97···51.98</span>
875 <span·class="go">2·2016-05-25·13:30:00.048···GOOG··720.77·······100··720.50··720.93</span>865 <span·class="go">2·2016-05-25·13:30:00.048···GOOG··720.77·······100··720.50··720.93</span>
876 <span·class="go">3·2016-05-25·13:30:00.048···GOOG··720.92·······100··720.50··720.93</span>866 <span·class="go">3·2016-05-25·13:30:00.048···GOOG··720.92·······100··720.50··720.93</span>
877 <span·class="go">4·2016-05-25·13:30:00.048···AAPL···98.00·······100·····NaN·····NaN</span>867 <span·class="go">4·2016-05-25·13:30:00.048···AAPL···98.00·······100·····NaN·····NaN</span>
  
878 <span·class="go">[5·rows·x·6·columns]</span> 
879 </pre></div>868 </pre></div>
880 </div>869 </div>
881 <p>This·returns·a·merged·DataFrame·with·the·entries·in·the·same·order·as·the·original·left870 <p>This·returns·a·merged·DataFrame·with·the·entries·in·the·same·order·as·the·original·left
882 passed·DataFrame·(<code·class="docutils·literal·notranslate"><span·class="pre">trades</span></code>·in·this·case),·with·the·fields·of·the·<code·class="docutils·literal·notranslate"><span·class="pre">quotes</span></code>·merged.</p>871 passed·DataFrame·(<code·class="docutils·literal·notranslate"><span·class="pre">trades</span></code>·in·this·case),·with·the·fields·of·the·<code·class="docutils·literal·notranslate"><span·class="pre">quotes</span></code>·merged.</p>
883 </section>872 </section>
884 <section·id="method-rolling-is-now-time-series-aware">873 <section·id="method-rolling-is-now-time-series-aware">
885 <span·id="whatsnew-0190-enhancements-rolling-ts"></span><h3>Method·<code·class="docutils·literal·notranslate"><span·class="pre">.rolling()</span></code>·is·now·time-series·aware<a·class="headerlink"·href="#method-rolling-is-now-time-series-aware"·title="Link·to·this·heading">#</a></h3>874 <span·id="whatsnew-0190-enhancements-rolling-ts"></span><h3>Method·<code·class="docutils·literal·notranslate"><span·class="pre">.rolling()</span></code>·is·now·time-series·aware<a·class="headerlink"·href="#method-rolling-is-now-time-series-aware"·title="Link·to·this·heading">#</a></h3>
Offset 899, 53 lines modifiedOffset 885, 45 lines modified
899 <span·class="gh">Out[13]:·</span>885 <span·class="gh">Out[13]:·</span>
900 <span·class="go">·······················B</span>886 <span·class="go">·······················B</span>
901 <span·class="go">2013-01-01·09:00:00··0.0</span>887 <span·class="go">2013-01-01·09:00:00··0.0</span>
902 <span·class="go">2013-01-01·09:00:01··1.0</span>888 <span·class="go">2013-01-01·09:00:01··1.0</span>
903 <span·class="go">2013-01-01·09:00:02··2.0</span>889 <span·class="go">2013-01-01·09:00:02··2.0</span>
904 <span·class="go">2013-01-01·09:00:03··NaN</span>890 <span·class="go">2013-01-01·09:00:03··NaN</span>
905 <span·class="go">2013-01-01·09:00:04··4.0</span>891 <span·class="go">2013-01-01·09:00:04··4.0</span>
  
906 <span·class="go">[5·rows·x·1·columns]</span> 
907 </pre></div>892 </pre></div>
908 </div>893 </div>
909 <p>This·is·a·regular·frequency·index.·Using·an·integer·window·parameter·works·to·roll·along·the·window·frequency.</p>894 <p>This·is·a·regular·frequency·index.·Using·an·integer·window·parameter·works·to·roll·along·the·window·frequency.</p>
910 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[14]:·</span><span·class="n">dft</span><span·class="o">.</span><span·class="n">rolling</span><span·class="p">(</span><span·class="mi">2</span><span·class="p">)</span><span·class="o">.</span><span·class="n">sum</span><span·class="p">()</span>895 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[14]:·</span><span·class="n">dft</span><span·class="o">.</span><span·class="n">rolling</span><span·class="p">(</span><span·class="mi">2</span><span·class="p">)</span><span·class="o">.</span><span·class="n">sum</span><span·class="p">()</span>
911 <span·class="gh">Out[14]:·</span>896 <span·class="gh">Out[14]:·</span>
912 <span·class="go">·······················B</span>897 <span·class="go">·······················B</span>
913 <span·class="go">2013-01-01·09:00:00··NaN</span>898 <span·class="go">2013-01-01·09:00:00··NaN</span>
914 <span·class="go">2013-01-01·09:00:01··1.0</span>899 <span·class="go">2013-01-01·09:00:01··1.0</span>
915 <span·class="go">2013-01-01·09:00:02··3.0</span>900 <span·class="go">2013-01-01·09:00:02··3.0</span>
916 <span·class="go">2013-01-01·09:00:03··NaN</span>901 <span·class="go">2013-01-01·09:00:03··NaN</span>
917 <span·class="go">2013-01-01·09:00:04··NaN</span>902 <span·class="go">2013-01-01·09:00:04··NaN</span>
  
918 <span·class="go">[5·rows·x·1·columns]</span> 
  
919 <span·class="gp">In·[15]:·</span><span·class="n">dft</span><span·class="o">.</span><span·class="n">rolling</span><span·class="p">(</span><span·class="mi">2</span><span·class="p">,</span>·<span·class="n">min_periods</span><span·class="o">=</span><span·class="mi">1</span><span·class="p">)</span><span·class="o">.</span><span·class="n">sum</span><span·class="p">()</span>903 <span·class="gp">In·[15]:·</span><span·class="n">dft</span><span·class="o">.</span><span·class="n">rolling</span><span·class="p">(</span><span·class="mi">2</span><span·class="p">,</span>·<span·class="n">min_periods</span><span·class="o">=</span><span·class="mi">1</span><span·class="p">)</span><span·class="o">.</span><span·class="n">sum</span><span·class="p">()</span>
920 <span·class="gh">Out[15]:·</span>904 <span·class="gh">Out[15]:·</span>
921 <span·class="go">·······················B</span>905 <span·class="go">·······················B</span>
922 <span·class="go">2013-01-01·09:00:00··0.0</span>906 <span·class="go">2013-01-01·09:00:00··0.0</span>
923 <span·class="go">2013-01-01·09:00:01··1.0</span>907 <span·class="go">2013-01-01·09:00:01··1.0</span>
924 <span·class="go">2013-01-01·09:00:02··3.0</span>908 <span·class="go">2013-01-01·09:00:02··3.0</span>
925 <span·class="go">2013-01-01·09:00:03··2.0</span>909 <span·class="go">2013-01-01·09:00:03··2.0</span>
926 <span·class="go">2013-01-01·09:00:04··4.0</span>910 <span·class="go">2013-01-01·09:00:04··4.0</span>
  
Max diff block lines reached; 44379/53665 bytes (82.70%) of diff not shown.
19.8 KB
html2text {}
    
Offset 207, 45 lines modifiedOffset 207, 37 lines modified
207 In·[3]:·left207 In·[3]:·left
208 Out[3]:208 Out[3]:
209 ····a·left_val209 ····a·left_val
210 0···1········a210 0···1········a
211 1···5········b211 1···5········b
212 2··10········c212 2··10········c
  
213 [3·rows·x·2·columns] 
  
214 In·[4]:·right213 In·[4]:·right
215 Out[4]:214 Out[4]:
216 ···a··right_val215 ···a··right_val
217 0··1··········1216 0··1··········1
218 1··2··········2217 1··2··········2
219 2··3··········3218 2··3··········3
220 3··6··········6219 3··6··········6
221 4··7··········7220 4··7··········7
  
222 [5·rows·x·2·columns] 
223 We·typically·want·to·match·exactly·when·possible,·and·use·the·most·recent·value221 We·typically·want·to·match·exactly·when·possible,·and·use·the·most·recent·value
224 otherwise.222 otherwise.
225 In·[5]:·pd.merge_asof(left,·right,·on="a")223 In·[5]:·pd.merge_asof(left,·right,·on="a")
226 Out[5]:224 Out[5]:
227 ····a·left_val··right_val225 ····a·left_val··right_val
228 0···1········a··········1226 0···1········a··········1
229 1···5········b··········3227 1···5········b··········3
230 2··10········c··········7228 2··10········c··········7
  
231 [3·rows·x·3·columns] 
232 We·can·also·match·rows·ONLY·with·prior·data,·and·not·an·exact·match.229 We·can·also·match·rows·ONLY·with·prior·data,·and·not·an·exact·match.
233 In·[6]:·pd.merge_asof(left,·right,·on="a",·allow_exact_matches=False)230 In·[6]:·pd.merge_asof(left,·right,·on="a",·allow_exact_matches=False)
234 Out[6]:231 Out[6]:
235 ····a·left_val··right_val232 ····a·left_val··right_val
236 0···1········a········NaN233 0···1········a········NaN
237 1···5········b········3.0234 1···5········b········3.0
238 2··10········c········7.0235 2··10········c········7.0
  
239 [3·rows·x·3·columns] 
240 In·a·typical·time-series·example,·we·have·trades·and·quotes·and·we·want·to236 In·a·typical·time-series·example,·we·have·trades·and·quotes·and·we·want·to
241 asof-join·them.·This·also·illustrates·using·the·by·parameter·to·group·data237 asof-join·them.·This·also·illustrates·using·the·by·parameter·to·group·data
242 before·merging.238 before·merging.
243 In·[7]:·trades·=·pd.DataFrame(239 In·[7]:·trades·=·pd.DataFrame(
244 ···...:·····{240 ···...:·····{
245 ···...:·········"time":·pd.to_datetime(241 ···...:·········"time":·pd.to_datetime(
246 ···...:·············[242 ···...:·············[
Offset 293, 43 lines modifiedOffset 285, 37 lines modified
293 ·····················time·ticker···price··quantity285 ·····················time·ticker···price··quantity
294 0·2016-05-25·13:30:00.023···MSFT···51.95········75286 0·2016-05-25·13:30:00.023···MSFT···51.95········75
295 1·2016-05-25·13:30:00.038···MSFT···51.95·······155287 1·2016-05-25·13:30:00.038···MSFT···51.95·······155
296 2·2016-05-25·13:30:00.048···GOOG··720.77·······100288 2·2016-05-25·13:30:00.048···GOOG··720.77·······100
297 3·2016-05-25·13:30:00.048···GOOG··720.92·······100289 3·2016-05-25·13:30:00.048···GOOG··720.92·······100
298 4·2016-05-25·13:30:00.048···AAPL···98.00·······100290 4·2016-05-25·13:30:00.048···AAPL···98.00·······100
  
299 [5·rows·x·4·columns] 
  
300 In·[10]:·quotes291 In·[10]:·quotes
301 Out[10]:292 Out[10]:
302 ·····················time·ticker·····bid·····ask293 ·····················time·ticker·····bid·····ask
303 0·2016-05-25·13:30:00.023···GOOG··720.50··720.93294 0·2016-05-25·13:30:00.023···GOOG··720.50··720.93
304 1·2016-05-25·13:30:00.023···MSFT···51.95···51.96295 1·2016-05-25·13:30:00.023···MSFT···51.95···51.96
305 2·2016-05-25·13:30:00.030···MSFT···51.97···51.98296 2·2016-05-25·13:30:00.030···MSFT···51.97···51.98
306 3·2016-05-25·13:30:00.041···MSFT···51.99···52.00297 3·2016-05-25·13:30:00.041···MSFT···51.99···52.00
307 4·2016-05-25·13:30:00.048···GOOG··720.50··720.93298 4·2016-05-25·13:30:00.048···GOOG··720.50··720.93
308 5·2016-05-25·13:30:00.049···AAPL···97.99···98.01299 5·2016-05-25·13:30:00.049···AAPL···97.99···98.01
309 6·2016-05-25·13:30:00.072···GOOG··720.50··720.88300 6·2016-05-25·13:30:00.072···GOOG··720.50··720.88
310 7·2016-05-25·13:30:00.075···MSFT···52.01···52.03301 7·2016-05-25·13:30:00.075···MSFT···52.01···52.03
  
311 [8·rows·x·4·columns] 
312 An·asof·merge·joins·on·the·on,·typically·a·datetimelike·field,·which·is302 An·asof·merge·joins·on·the·on,·typically·a·datetimelike·field,·which·is
313 ordered,·and·in·this·case·we·are·using·a·grouper·in·the·by·field.·This·is·like303 ordered,·and·in·this·case·we·are·using·a·grouper·in·the·by·field.·This·is·like
314 a·left-outer·join,·except·that·forward·filling·happens·automatically·taking·the304 a·left-outer·join,·except·that·forward·filling·happens·automatically·taking·the
315 most·recent·non-NaN·value.305 most·recent·non-NaN·value.
316 In·[11]:·pd.merge_asof(trades,·quotes,·on="time",·by="ticker")306 In·[11]:·pd.merge_asof(trades,·quotes,·on="time",·by="ticker")
317 Out[11]:307 Out[11]:
318 ·····················time·ticker···price··quantity·····bid·····ask308 ·····················time·ticker···price··quantity·····bid·····ask
319 0·2016-05-25·13:30:00.023···MSFT···51.95········75···51.95···51.96309 0·2016-05-25·13:30:00.023···MSFT···51.95········75···51.95···51.96
320 1·2016-05-25·13:30:00.038···MSFT···51.95·······155···51.97···51.98310 1·2016-05-25·13:30:00.038···MSFT···51.95·······155···51.97···51.98
321 2·2016-05-25·13:30:00.048···GOOG··720.77·······100··720.50··720.93311 2·2016-05-25·13:30:00.048···GOOG··720.77·······100··720.50··720.93
322 3·2016-05-25·13:30:00.048···GOOG··720.92·······100··720.50··720.93312 3·2016-05-25·13:30:00.048···GOOG··720.92·······100··720.50··720.93
323 4·2016-05-25·13:30:00.048···AAPL···98.00·······100·····NaN·····NaN313 4·2016-05-25·13:30:00.048···AAPL···98.00·······100·····NaN·····NaN
  
324 [5·rows·x·6·columns] 
325 This·returns·a·merged·DataFrame·with·the·entries·in·the·same·order·as·the314 This·returns·a·merged·DataFrame·with·the·entries·in·the·same·order·as·the
326 original·left·passed·DataFrame·(trades·in·this·case),·with·the·fields·of·the315 original·left·passed·DataFrame·(trades·in·this·case),·with·the·fields·of·the
327 quotes·merged.316 quotes·merged.
328 *\x8**\x8**\x8**\x8*·M\x8Me\x8et\x8th\x8ho\x8od\x8d·.\x8.r\x8ro\x8ol\x8ll\x8li\x8in\x8ng\x8g(\x8()\x8)·i\x8is\x8s·n\x8no\x8ow\x8w·t\x8ti\x8im\x8me\x8e-\x8-s\x8se\x8er\x8ri\x8ie\x8es\x8s·a\x8aw\x8wa\x8ar\x8re\x8e_\x8#\x8#·*\x8**\x8**\x8**\x8*317 *\x8**\x8**\x8**\x8*·M\x8Me\x8et\x8th\x8ho\x8od\x8d·.\x8.r\x8ro\x8ol\x8ll\x8li\x8in\x8ng\x8g(\x8()\x8)·i\x8is\x8s·n\x8no\x8ow\x8w·t\x8ti\x8im\x8me\x8e-\x8-s\x8se\x8er\x8ri\x8ie\x8es\x8s·a\x8aw\x8wa\x8ar\x8re\x8e_\x8#\x8#·*\x8**\x8**\x8**\x8*
329 .rolling()·objects·are·now·time-series·aware·and·can·accept·a·time-series318 .rolling()·objects·are·now·time-series·aware·and·can·accept·a·time-series
330 offset·(or·convertible)·for·the·window·argument·(_\x8G_\x8H_\x8·_\x81_\x83_\x83_\x82_\x87,·_\x8G_\x8H_\x8·_\x81_\x82_\x89_\x89_\x85).·See·the319 offset·(or·convertible)·for·the·window·argument·(_\x8G_\x8H_\x8·_\x81_\x83_\x83_\x82_\x87,·_\x8G_\x8H_\x8·_\x81_\x82_\x89_\x89_\x85).·See·the
331 full·documentation·_\x8h_\x8e_\x8r_\x8e.320 full·documentation·_\x8h_\x8e_\x8r_\x8e.
Offset 343, 51 lines modifiedOffset 329, 43 lines modified
343 Out[13]:329 Out[13]:
344 ·······················B330 ·······················B
345 2013-01-01·09:00:00··0.0331 2013-01-01·09:00:00··0.0
346 2013-01-01·09:00:01··1.0332 2013-01-01·09:00:01··1.0
347 2013-01-01·09:00:02··2.0333 2013-01-01·09:00:02··2.0
348 2013-01-01·09:00:03··NaN334 2013-01-01·09:00:03··NaN
349 2013-01-01·09:00:04··4.0335 2013-01-01·09:00:04··4.0
  
350 [5·rows·x·1·columns] 
351 This·is·a·regular·frequency·index.·Using·an·integer·window·parameter·works·to336 This·is·a·regular·frequency·index.·Using·an·integer·window·parameter·works·to
352 roll·along·the·window·frequency.337 roll·along·the·window·frequency.
353 In·[14]:·dft.rolling(2).sum()338 In·[14]:·dft.rolling(2).sum()
354 Out[14]:339 Out[14]:
355 ·······················B340 ·······················B
356 2013-01-01·09:00:00··NaN341 2013-01-01·09:00:00··NaN
357 2013-01-01·09:00:01··1.0342 2013-01-01·09:00:01··1.0
358 2013-01-01·09:00:02··3.0343 2013-01-01·09:00:02··3.0
359 2013-01-01·09:00:03··NaN344 2013-01-01·09:00:03··NaN
360 2013-01-01·09:00:04··NaN345 2013-01-01·09:00:04··NaN
  
361 [5·rows·x·1·columns] 
  
362 In·[15]:·dft.rolling(2,·min_periods=1).sum()346 In·[15]:·dft.rolling(2,·min_periods=1).sum()
363 Out[15]:347 Out[15]:
364 ·······················B348 ·······················B
365 2013-01-01·09:00:00··0.0349 2013-01-01·09:00:00··0.0
366 2013-01-01·09:00:01··1.0350 2013-01-01·09:00:01··1.0
367 2013-01-01·09:00:02··3.0351 2013-01-01·09:00:02··3.0
368 2013-01-01·09:00:03··2.0352 2013-01-01·09:00:03··2.0
369 2013-01-01·09:00:04··4.0353 2013-01-01·09:00:04··4.0
  
370 [5·rows·x·1·columns] 
371 Specifying·an·offset·allows·a·more·intuitive·specification·of·the·rolling354 Specifying·an·offset·allows·a·more·intuitive·specification·of·the·rolling
372 frequency.355 frequency.
373 In·[16]:·dft.rolling("2s").sum()356 In·[16]:·dft.rolling("2s").sum()
374 Out[16]:357 Out[16]:
375 ·······················B358 ·······················B
Max diff block lines reached; 15983/20242 bytes (78.96%) of diff not shown.
73.4 KB
./usr/share/doc/python-pandas-doc/html/whatsnew/v0.20.0.html
    
Offset 784, 49 lines modifiedOffset 784, 43 lines modified
784 <span·class="go">2000-01-04·······NaN·······NaN·······NaN</span>784 <span·class="go">2000-01-04·······NaN·······NaN·······NaN</span>
785 <span·class="go">2000-01-05·······NaN·······NaN·······NaN</span>785 <span·class="go">2000-01-05·······NaN·······NaN·······NaN</span>
786 <span·class="go">2000-01-06·······NaN·······NaN·······NaN</span>786 <span·class="go">2000-01-06·······NaN·······NaN·······NaN</span>
787 <span·class="go">2000-01-07·······NaN·······NaN·······NaN</span>787 <span·class="go">2000-01-07·······NaN·······NaN·······NaN</span>
788 <span·class="go">2000-01-08··0.113648·-1.478427··0.524988</span>788 <span·class="go">2000-01-08··0.113648·-1.478427··0.524988</span>
789 <span·class="go">2000-01-09··0.404705··0.577046·-1.715002</span>789 <span·class="go">2000-01-09··0.404705··0.577046·-1.715002</span>
790 <span·class="go">2000-01-10·-1.039268·-0.370647·-1.157892</span>790 <span·class="go">2000-01-10·-1.039268·-0.370647·-1.157892</span>
  
791 <span·class="go">[10·rows·x·3·columns]</span> 
792 </pre></div>791 </pre></div>
793 </div>792 </div>
794 <p>One·can·operate·using·string·function·names,·callables,·lists,·or·dictionaries·of·these.</p>793 <p>One·can·operate·using·string·function·names,·callables,·lists,·or·dictionaries·of·these.</p>
795 <p>Using·a·single·function·is·equivalent·to·<code·class="docutils·literal·notranslate"><span·class="pre">.apply</span></code>.</p>794 <p>Using·a·single·function·is·equivalent·to·<code·class="docutils·literal·notranslate"><span·class="pre">.apply</span></code>.</p>
796 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[4]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">agg</span><span·class="p">(</span><span·class="s1">&#39;sum&#39;</span><span·class="p">)</span>795 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[4]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">agg</span><span·class="p">(</span><span·class="s1">&#39;sum&#39;</span><span·class="p">)</span>
797 <span·class="gh">Out[4]:·</span>796 <span·class="gh">Out[4]:·</span>
798 <span·class="go">A···-1.068226</span>797 <span·class="go">A···-1.068226</span>
799 <span·class="go">B···-1.387015</span>798 <span·class="go">B···-1.387015</span>
800 <span·class="go">C···-4.892029</span>799 <span·class="go">C···-4.892029</span>
801 <span·class="go">Length:·3,·dtype:·float64</span>800 <span·class="go">dtype:·float64</span>
802 </pre></div>801 </pre></div>
803 </div>802 </div>
804 <p>Multiple·aggregations·with·a·list·of·functions.</p>803 <p>Multiple·aggregations·with·a·list·of·functions.</p>
805 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[5]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">agg</span><span·class="p">([</span><span·class="s1">&#39;sum&#39;</span><span·class="p">,</span>·<span·class="s1">&#39;min&#39;</span><span·class="p">])</span>804 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[5]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">agg</span><span·class="p">([</span><span·class="s1">&#39;sum&#39;</span><span·class="p">,</span>·<span·class="s1">&#39;min&#39;</span><span·class="p">])</span>
806 <span·class="gh">Out[5]:·</span>805 <span·class="gh">Out[5]:·</span>
807 <span·class="go">············A·········B·········C</span>806 <span·class="go">············A·········B·········C</span>
808 <span·class="go">sum·-1.068226·-1.387015·-4.892029</span>807 <span·class="go">sum·-1.068226·-1.387015·-4.892029</span>
809 <span·class="go">min·-1.135632·-1.478427·-1.715002</span>808 <span·class="go">min·-1.135632·-1.478427·-1.715002</span>
  
810 <span·class="go">[2·rows·x·3·columns]</span> 
811 </pre></div>809 </pre></div>
812 </div>810 </div>
813 <p>Using·a·dict·provides·the·ability·to·apply·specific·aggregations·per·column.811 <p>Using·a·dict·provides·the·ability·to·apply·specific·aggregations·per·column.
814 You·will·get·a·matrix-like·output·of·all·of·the·aggregators.·The·output·has·one·column812 You·will·get·a·matrix-like·output·of·all·of·the·aggregators.·The·output·has·one·column
815 per·unique·function.·Those·functions·applied·to·a·particular·column·will·be·<code·class="docutils·literal·notranslate"><span·class="pre">NaN</span></code>:</p>813 per·unique·function.·Those·functions·applied·to·a·particular·column·will·be·<code·class="docutils·literal·notranslate"><span·class="pre">NaN</span></code>:</p>
816 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[6]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">agg</span><span·class="p">({</span><span·class="s1">&#39;A&#39;</span><span·class="p">:</span>·<span·class="p">[</span><span·class="s1">&#39;sum&#39;</span><span·class="p">,</span>·<span·class="s1">&#39;min&#39;</span><span·class="p">],</span>·<span·class="s1">&#39;B&#39;</span><span·class="p">:</span>·<span·class="p">[</span><span·class="s1">&#39;min&#39;</span><span·class="p">,</span>·<span·class="s1">&#39;max&#39;</span><span·class="p">]})</span>814 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[6]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">agg</span><span·class="p">({</span><span·class="s1">&#39;A&#39;</span><span·class="p">:</span>·<span·class="p">[</span><span·class="s1">&#39;sum&#39;</span><span·class="p">,</span>·<span·class="s1">&#39;min&#39;</span><span·class="p">],</span>·<span·class="s1">&#39;B&#39;</span><span·class="p">:</span>·<span·class="p">[</span><span·class="s1">&#39;min&#39;</span><span·class="p">,</span>·<span·class="s1">&#39;max&#39;</span><span·class="p">]})</span>
817 <span·class="gh">Out[6]:·</span>815 <span·class="gh">Out[6]:·</span>
818 <span·class="go">············A·········B</span>816 <span·class="go">············A·········B</span>
819 <span·class="go">sum·-1.068226·······NaN</span>817 <span·class="go">sum·-1.068226·······NaN</span>
820 <span·class="go">min·-1.135632·-1.478427</span>818 <span·class="go">min·-1.135632·-1.478427</span>
821 <span·class="go">max·······NaN··1.212112</span>819 <span·class="go">max·······NaN··1.212112</span>
  
822 <span·class="go">[3·rows·x·2·columns]</span> 
823 </pre></div>820 </pre></div>
824 </div>821 </div>
825 <p>The·API·also·supports·a·<code·class="docutils·literal·notranslate"><span·class="pre">.transform()</span></code>·function·for·broadcasting·results.</p>822 <p>The·API·also·supports·a·<code·class="docutils·literal·notranslate"><span·class="pre">.transform()</span></code>·function·for·broadcasting·results.</p>
826 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[7]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">transform</span><span·class="p">([</span><span·class="s1">&#39;abs&#39;</span><span·class="p">,</span>·<span·class="k">lambda</span>·<span·class="n">x</span><span·class="p">:</span>·<span·class="n">x</span>·<span·class="o">-</span>·<span·class="n">x</span><span·class="o">.</span><span·class="n">min</span><span·class="p">()])</span>823 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[7]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">transform</span><span·class="p">([</span><span·class="s1">&#39;abs&#39;</span><span·class="p">,</span>·<span·class="k">lambda</span>·<span·class="n">x</span><span·class="p">:</span>·<span·class="n">x</span>·<span·class="o">-</span>·<span·class="n">x</span><span·class="o">.</span><span·class="n">min</span><span·class="p">()])</span>
827 <span·class="gh">Out[7]:·</span>824 <span·class="gh">Out[7]:·</span>
828 <span·class="go">···················A···················B···················C··········</span>825 <span·class="go">···················A···················B···················C··········</span>
829 <span·class="go">·················abs··&lt;lambda&gt;·······abs··&lt;lambda&gt;·······abs··&lt;lambda&gt;</span>826 <span·class="go">·················abs··&lt;lambda&gt;·······abs··&lt;lambda&gt;·······abs··&lt;lambda&gt;</span>
Offset 836, 16 lines modifiedOffset 830, 14 lines modified
836 <span·class="go">2000-01-04·······NaN·······NaN·······NaN·······NaN·······NaN·······NaN</span>830 <span·class="go">2000-01-04·······NaN·······NaN·······NaN·······NaN·······NaN·······NaN</span>
837 <span·class="go">2000-01-05·······NaN·······NaN·······NaN·······NaN·······NaN·······NaN</span>831 <span·class="go">2000-01-05·······NaN·······NaN·······NaN·······NaN·······NaN·······NaN</span>
838 <span·class="go">2000-01-06·······NaN·······NaN·······NaN·······NaN·······NaN·······NaN</span>832 <span·class="go">2000-01-06·······NaN·······NaN·······NaN·······NaN·······NaN·······NaN</span>
839 <span·class="go">2000-01-07·······NaN·······NaN·······NaN·······NaN·······NaN·······NaN</span>833 <span·class="go">2000-01-07·······NaN·······NaN·······NaN·······NaN·······NaN·······NaN</span>
840 <span·class="go">2000-01-08··0.113648··1.249281··1.478427··0.000000··0.524988··2.239990</span>834 <span·class="go">2000-01-08··0.113648··1.249281··1.478427··0.000000··0.524988··2.239990</span>
841 <span·class="go">2000-01-09··0.404705··1.540338··0.577046··2.055473··1.715002··0.000000</span>835 <span·class="go">2000-01-09··0.404705··1.540338··0.577046··2.055473··1.715002··0.000000</span>
842 <span·class="go">2000-01-10··1.039268··0.096364··0.370647··1.107780··1.157892··0.557110</span>836 <span·class="go">2000-01-10··1.039268··0.096364··0.370647··1.107780··1.157892··0.557110</span>
  
843 <span·class="go">[10·rows·x·6·columns]</span> 
844 </pre></div>837 </pre></div>
845 </div>838 </div>
846 <p>When·presented·with·mixed·dtypes·that·cannot·be·aggregated,·<code·class="docutils·literal·notranslate"><span·class="pre">.agg()</span></code>·will·only·take·the·valid839 <p>When·presented·with·mixed·dtypes·that·cannot·be·aggregated,·<code·class="docutils·literal·notranslate"><span·class="pre">.agg()</span></code>·will·only·take·the·valid
847 aggregations.·This·is·similar·to·how·groupby·<code·class="docutils·literal·notranslate"><span·class="pre">.agg()</span></code>·works.·(<a·class="extlink-issue·reference·external"·href="https://github.com/pandas-dev/pandas/issues/15015">GH·15015</a>)</p>840 aggregations.·This·is·similar·to·how·groupby·<code·class="docutils·literal·notranslate"><span·class="pre">.agg()</span></code>·works.·(<a·class="extlink-issue·reference·external"·href="https://github.com/pandas-dev/pandas/issues/15015">GH·15015</a>)</p>
848 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[8]:·</span><span·class="n">df</span>·<span·class="o">=</span>·<span·class="n">pd</span><span·class="o">.</span><span·class="n">DataFrame</span><span·class="p">({</span><span·class="s1">&#39;A&#39;</span><span·class="p">:</span>·<span·class="p">[</span><span·class="mi">1</span><span·class="p">,</span>·<span·class="mi">2</span><span·class="p">,</span>·<span·class="mi">3</span><span·class="p">],</span>841 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[8]:·</span><span·class="n">df</span>·<span·class="o">=</span>·<span·class="n">pd</span><span·class="o">.</span><span·class="n">DataFrame</span><span·class="p">({</span><span·class="s1">&#39;A&#39;</span><span·class="p">:</span>·<span·class="p">[</span><span·class="mi">1</span><span·class="p">,</span>·<span·class="mi">2</span><span·class="p">,</span>·<span·class="mi">3</span><span·class="p">],</span>
849 <span·class="gp">···...:·</span>···················<span·class="s1">&#39;B&#39;</span><span·class="p">:</span>·<span·class="p">[</span><span·class="mf">1.</span><span·class="p">,</span>·<span·class="mf">2.</span><span·class="p">,</span>·<span·class="mf">3.</span><span·class="p">],</span>842 <span·class="gp">···...:·</span>···················<span·class="s1">&#39;B&#39;</span><span·class="p">:</span>·<span·class="p">[</span><span·class="mf">1.</span><span·class="p">,</span>·<span·class="mf">2.</span><span·class="p">,</span>·<span·class="mf">3.</span><span·class="p">],</span>
850 <span·class="gp">···...:·</span>···················<span·class="s1">&#39;C&#39;</span><span·class="p">:</span>·<span·class="p">[</span><span·class="s1">&#39;foo&#39;</span><span·class="p">,</span>·<span·class="s1">&#39;bar&#39;</span><span·class="p">,</span>·<span·class="s1">&#39;baz&#39;</span><span·class="p">],</span>843 <span·class="gp">···...:·</span>···················<span·class="s1">&#39;C&#39;</span><span·class="p">:</span>·<span·class="p">[</span><span·class="s1">&#39;foo&#39;</span><span·class="p">,</span>·<span·class="s1">&#39;bar&#39;</span><span·class="p">,</span>·<span·class="s1">&#39;baz&#39;</span><span·class="p">],</span>
Offset 854, 15 lines modifiedOffset 846, 15 lines modified
  
854 <span·class="gp">In·[9]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">dtypes</span>846 <span·class="gp">In·[9]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">dtypes</span>
855 <span·class="gh">Out[9]:·</span>847 <span·class="gh">Out[9]:·</span>
856 <span·class="go">A·············int64</span>848 <span·class="go">A·············int64</span>
857 <span·class="go">B···········float64</span>849 <span·class="go">B···········float64</span>
858 <span·class="go">C············object</span>850 <span·class="go">C············object</span>
859 <span·class="go">D····datetime64[ns]</span>851 <span·class="go">D····datetime64[ns]</span>
860 <span·class="go">Length:·4,·dtype:·object</span>852 <span·class="go">dtype:·object</span>
861 </pre></div>853 </pre></div>
862 </div>854 </div>
863 <div·class="highlight-python·notranslate"><div·class="highlight"><pre><span></span><span·class="n">In</span>·<span·class="p">[</span><span·class="mi">10</span><span·class="p">]:</span>·<span·class="n">df</span><span·class="o">.</span><span·class="n">agg</span><span·class="p">([</span><span·class="s1">&#39;min&#39;</span><span·class="p">,</span>·<span·class="s1">&#39;sum&#39;</span><span·class="p">])</span>855 <div·class="highlight-python·notranslate"><div·class="highlight"><pre><span></span><span·class="n">In</span>·<span·class="p">[</span><span·class="mi">10</span><span·class="p">]:</span>·<span·class="n">df</span><span·class="o">.</span><span·class="n">agg</span><span·class="p">([</span><span·class="s1">&#39;min&#39;</span><span·class="p">,</span>·<span·class="s1">&#39;sum&#39;</span><span·class="p">])</span>
864 <span·class="n">Out</span><span·class="p">[</span><span·class="mi">10</span><span·class="p">]:</span>856 <span·class="n">Out</span><span·class="p">[</span><span·class="mi">10</span><span·class="p">]:</span>
865 ·····<span·class="n">A</span>····<span·class="n">B</span>··········<span·class="n">C</span>··········<span·class="n">D</span>857 ·····<span·class="n">A</span>····<span·class="n">B</span>··········<span·class="n">C</span>··········<span·class="n">D</span>
866 <span·class="nb">min</span>··<span·class="mi">1</span>··<span·class="mf">1.0</span>········<span·class="n">bar</span>·<span·class="mi">2013</span><span·class="o">-</span><span·class="mi">01</span><span·class="o">-</span><span·class="mi">01</span>858 <span·class="nb">min</span>··<span·class="mi">1</span>··<span·class="mf">1.0</span>········<span·class="n">bar</span>·<span·class="mi">2013</span><span·class="o">-</span><span·class="mi">01</span><span·class="o">-</span><span·class="mi">01</span>
867 <span·class="nb">sum</span>··<span·class="mi">6</span>··<span·class="mf">6.0</span>··<span·class="n">foobarbaz</span>········<span·class="n">NaT</span>859 <span·class="nb">sum</span>··<span·class="mi">6</span>··<span·class="mf">6.0</span>··<span·class="n">foobarbaz</span>········<span·class="n">NaT</span>
Offset 875, 21 lines modifiedOffset 867, 21 lines modified
875 fixed-width·text·files·and·<a·class="reference·internal"·href="../reference/api/pandas.read_excel.html#pandas.read_excel"·title="pandas.read_excel"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">read_excel()</span></code></a>·for·parsing·Excel·files,·now·accept·the·<code·class="docutils·literal·notranslate"><span·class="pre">dtype</span></code>·keyword·argument·for·specifying·the·types·of·specific·columns·(<a·class="extlink-issue·reference·external"·href="https://github.com/pandas-dev/pandas/issues/14295">GH·14295</a>).·See·the·<a·class="reference·internal"·href="../user_guide/io.html#io-dtypes"><span·class="std·std-ref">io·docs</span></a>·for·more·information.</p>867 fixed-width·text·files·and·<a·class="reference·internal"·href="../reference/api/pandas.read_excel.html#pandas.read_excel"·title="pandas.read_excel"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">read_excel()</span></code></a>·for·parsing·Excel·files,·now·accept·the·<code·class="docutils·literal·notranslate"><span·class="pre">dtype</span></code>·keyword·argument·for·specifying·the·types·of·specific·columns·(<a·class="extlink-issue·reference·external"·href="https://github.com/pandas-dev/pandas/issues/14295">GH·14295</a>).·See·the·<a·class="reference·internal"·href="../user_guide/io.html#io-dtypes"><span·class="std·std-ref">io·docs</span></a>·for·more·information.</p>
876 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[10]:·</span><span·class="n">data</span>·<span·class="o">=</span>·<span·class="s2">&quot;a··b</span><span·class="se">\n</span><span·class="s2">1··2</span><span·class="se">\n</span><span·class="s2">3··4&quot;</span>868 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[10]:·</span><span·class="n">data</span>·<span·class="o">=</span>·<span·class="s2">&quot;a··b</span><span·class="se">\n</span><span·class="s2">1··2</span><span·class="se">\n</span><span·class="s2">3··4&quot;</span>
  
877 <span·class="gp">In·[11]:·</span><span·class="n">pd</span><span·class="o">.</span><span·class="n">read_fwf</span><span·class="p">(</span><span·class="n">StringIO</span><span·class="p">(</span><span·class="n">data</span><span·class="p">))</span><span·class="o">.</span><span·class="n">dtypes</span>869 <span·class="gp">In·[11]:·</span><span·class="n">pd</span><span·class="o">.</span><span·class="n">read_fwf</span><span·class="p">(</span><span·class="n">StringIO</span><span·class="p">(</span><span·class="n">data</span><span·class="p">))</span><span·class="o">.</span><span·class="n">dtypes</span>
878 <span·class="gh">Out[11]:·</span>870 <span·class="gh">Out[11]:·</span>
879 <span·class="go">a····int64</span>871 <span·class="go">a····int64</span>
880 <span·class="go">b····int64</span>872 <span·class="go">b····int64</span>
881 <span·class="go">Length:·2,·dtype:·object</span>873 <span·class="go">dtype:·object</span>
  
882 <span·class="gp">In·[12]:·</span><span·class="n">pd</span><span·class="o">.</span><span·class="n">read_fwf</span><span·class="p">(</span><span·class="n">StringIO</span><span·class="p">(</span><span·class="n">data</span><span·class="p">),</span>·<span·class="n">dtype</span><span·class="o">=</span><span·class="p">{</span><span·class="s1">&#39;a&#39;</span><span·class="p">:</span>·<span·class="s1">&#39;float64&#39;</span><span·class="p">,</span>·<span·class="s1">&#39;b&#39;</span><span·class="p">:</span>·<span·class="s1">&#39;object&#39;</span><span·class="p">})</span><span·class="o">.</span><span·class="n">dtypes</span>874 <span·class="gp">In·[12]:·</span><span·class="n">pd</span><span·class="o">.</span><span·class="n">read_fwf</span><span·class="p">(</span><span·class="n">StringIO</span><span·class="p">(</span><span·class="n">data</span><span·class="p">),</span>·<span·class="n">dtype</span><span·class="o">=</span><span·class="p">{</span><span·class="s1">&#39;a&#39;</span><span·class="p">:</span>·<span·class="s1">&#39;float64&#39;</span><span·class="p">,</span>·<span·class="s1">&#39;b&#39;</span><span·class="p">:</span>·<span·class="s1">&#39;object&#39;</span><span·class="p">})</span><span·class="o">.</span><span·class="n">dtypes</span>
883 <span·class="gh">Out[12]:·</span>875 <span·class="gh">Out[12]:·</span>
884 <span·class="go">a····float64</span>876 <span·class="go">a····float64</span>
885 <span·class="go">b·····object</span>877 <span·class="go">b·····object</span>
886 <span·class="go">Length:·2,·dtype:·object</span>878 <span·class="go">dtype:·object</span>
887 </pre></div>879 </pre></div>
888 </div>880 </div>
889 </section>881 </section>
890 <section·id="method-to-datetime-has-gained-an-origin-parameter">882 <section·id="method-to-datetime-has-gained-an-origin-parameter">
891 <span·id="whatsnew-0120-enhancements-datetime-origin"></span><h3>Method·<code·class="docutils·literal·notranslate"><span·class="pre">.to_datetime()</span></code>·has·gained·an·<code·class="docutils·literal·notranslate"><span·class="pre">origin</span></code>·parameter<a·class="headerlink"·href="#method-to-datetime-has-gained-an-origin-parameter"·title="Link·to·this·heading">#</a></h3>883 <span·id="whatsnew-0120-enhancements-datetime-origin"></span><h3>Method·<code·class="docutils·literal·notranslate"><span·class="pre">.to_datetime()</span></code>·has·gained·an·<code·class="docutils·literal·notranslate"><span·class="pre">origin</span></code>·parameter<a·class="headerlink"·href="#method-to-datetime-has-gained-an-origin-parameter"·title="Link·to·this·heading">#</a></h3>
892 <p><a·class="reference·internal"·href="../reference/api/pandas.to_datetime.html#pandas.to_datetime"·title="pandas.to_datetime"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">to_datetime()</span></code></a>·has·gained·a·new·parameter,·<code·class="docutils·literal·notranslate"><span·class="pre">origin</span></code>,·to·define·a·reference·date884 <p><a·class="reference·internal"·href="../reference/api/pandas.to_datetime.html#pandas.to_datetime"·title="pandas.to_datetime"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">to_datetime()</span></code></a>·has·gained·a·new·parameter,·<code·class="docutils·literal·notranslate"><span·class="pre">origin</span></code>,·to·define·a·reference·date
893 from·where·to·compute·the·resulting·timestamps·when·parsing·numerical·values·with·a·specific·<code·class="docutils·literal·notranslate"><span·class="pre">unit</span></code>·specified.·(<a·class="extlink-issue·reference·external"·href="https://github.com/pandas-dev/pandas/issues/11276">GH·11276</a>,·<a·class="extlink-issue·reference·external"·href="https://github.com/pandas-dev/pandas/issues/11745">GH·11745</a>)</p>885 from·where·to·compute·the·resulting·timestamps·when·parsing·numerical·values·with·a·specific·<code·class="docutils·literal·notranslate"><span·class="pre">unit</span></code>·specified.·(<a·class="extlink-issue·reference·external"·href="https://github.com/pandas-dev/pandas/issues/11276">GH·11276</a>,·<a·class="extlink-issue·reference·external"·href="https://github.com/pandas-dev/pandas/issues/11745">GH·11745</a>)</p>
Offset 928, 28 lines modifiedOffset 920, 24 lines modified
928 <span·class="go">baz···one·····1··2</span>920 <span·class="go">baz···one·····1··2</span>
929 <span·class="go">······two·····1··3</span>921 <span·class="go">······two·····1··3</span>
930 <span·class="go">foo···one·····2··4</span>922 <span·class="go">foo···one·····2··4</span>
931 <span·class="go">······two·····2··5</span>923 <span·class="go">······two·····2··5</span>
932 <span·class="go">qux···one·····3··6</span>924 <span·class="go">qux···one·····3··6</span>
933 <span·class="go">······two·····3··7</span>925 <span·class="go">······two·····3··7</span>
  
934 <span·class="go">[8·rows·x·2·columns]</span> 
  
935 <span·class="gp">In·[19]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">groupby</span><span·class="p">([</span><span·class="s1">&#39;second&#39;</span><span·class="p">,</span>·<span·class="s1">&#39;A&#39;</span><span·class="p">])</span><span·class="o">.</span><span·class="n">sum</span><span·class="p">()</span>926 <span·class="gp">In·[19]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">groupby</span><span·class="p">([</span><span·class="s1">&#39;second&#39;</span><span·class="p">,</span>·<span·class="s1">&#39;A&#39;</span><span·class="p">])</span><span·class="o">.</span><span·class="n">sum</span><span·class="p">()</span>
936 <span·class="gh">Out[19]:·</span>927 <span·class="gh">Out[19]:·</span>
937 <span·class="go">··········B</span>928 <span·class="go">··········B</span>
938 <span·class="go">second·A···</span>929 <span·class="go">second·A···</span>
939 <span·class="go">one····1··2</span>930 <span·class="go">one····1··2</span>
940 <span·class="go">·······2··4</span>931 <span·class="go">·······2··4</span>
941 <span·class="go">·······3··6</span>932 <span·class="go">·······3··6</span>
942 <span·class="go">two····1··4</span>933 <span·class="go">two····1··4</span>
943 <span·class="go">·······2··5</span>934 <span·class="go">·······2··5</span>
944 <span·class="go">·······3··7</span>935 <span·class="go">·······3··7</span>
  
945 <span·class="go">[6·rows·x·1·columns]</span> 
946 </pre></div>936 </pre></div>
Max diff block lines reached; 42051/54785 bytes (76.76%) of diff not shown.
19.8 KB
html2text {}
    
Offset 235, 45 lines modifiedOffset 235, 39 lines modified
235 2000-01-04·······NaN·······NaN·······NaN235 2000-01-04·······NaN·······NaN·······NaN
236 2000-01-05·······NaN·······NaN·······NaN236 2000-01-05·······NaN·······NaN·······NaN
237 2000-01-06·······NaN·······NaN·······NaN237 2000-01-06·······NaN·······NaN·······NaN
238 2000-01-07·······NaN·······NaN·······NaN238 2000-01-07·······NaN·······NaN·······NaN
239 2000-01-08··0.113648·-1.478427··0.524988239 2000-01-08··0.113648·-1.478427··0.524988
240 2000-01-09··0.404705··0.577046·-1.715002240 2000-01-09··0.404705··0.577046·-1.715002
241 2000-01-10·-1.039268·-0.370647·-1.157892241 2000-01-10·-1.039268·-0.370647·-1.157892
  
242 [10·rows·x·3·columns] 
243 One·can·operate·using·string·function·names,·callables,·lists,·or·dictionaries242 One·can·operate·using·string·function·names,·callables,·lists,·or·dictionaries
244 of·these.243 of·these.
245 Using·a·single·function·is·equivalent·to·.apply.244 Using·a·single·function·is·equivalent·to·.apply.
246 In·[4]:·df.agg('sum')245 In·[4]:·df.agg('sum')
247 Out[4]:246 Out[4]:
248 A···-1.068226247 A···-1.068226
249 B···-1.387015248 B···-1.387015
250 C···-4.892029249 C···-4.892029
251 Length:·3,·dtype:·float64250 dtype:·float64
252 Multiple·aggregations·with·a·list·of·functions.251 Multiple·aggregations·with·a·list·of·functions.
253 In·[5]:·df.agg(['sum',·'min'])252 In·[5]:·df.agg(['sum',·'min'])
254 Out[5]:253 Out[5]:
255 ············A·········B·········C254 ············A·········B·········C
256 sum·-1.068226·-1.387015·-4.892029255 sum·-1.068226·-1.387015·-4.892029
257 min·-1.135632·-1.478427·-1.715002256 min·-1.135632·-1.478427·-1.715002
  
258 [2·rows·x·3·columns] 
259 Using·a·dict·provides·the·ability·to·apply·specific·aggregations·per·column.257 Using·a·dict·provides·the·ability·to·apply·specific·aggregations·per·column.
260 You·will·get·a·matrix-like·output·of·all·of·the·aggregators.·The·output·has·one258 You·will·get·a·matrix-like·output·of·all·of·the·aggregators.·The·output·has·one
261 column·per·unique·function.·Those·functions·applied·to·a·particular·column·will259 column·per·unique·function.·Those·functions·applied·to·a·particular·column·will
262 be·NaN:260 be·NaN:
263 In·[6]:·df.agg({'A':·['sum',·'min'],·'B':·['min',·'max']})261 In·[6]:·df.agg({'A':·['sum',·'min'],·'B':·['min',·'max']})
264 Out[6]:262 Out[6]:
265 ············A·········B263 ············A·········B
266 sum·-1.068226·······NaN264 sum·-1.068226·······NaN
267 min·-1.135632·-1.478427265 min·-1.135632·-1.478427
268 max·······NaN··1.212112266 max·······NaN··1.212112
  
269 [3·rows·x·2·columns] 
270 The·API·also·supports·a·.transform()·function·for·broadcasting·results.267 The·API·also·supports·a·.transform()·function·for·broadcasting·results.
271 In·[7]:·df.transform(['abs',·lambda·x:·x·-·x.min()])268 In·[7]:·df.transform(['abs',·lambda·x:·x·-·x.min()])
272 Out[7]:269 Out[7]:
273 ···················A···················B···················C270 ···················A···················B···················C
274 ·················abs··<lambda>·······abs··<lambda>·······abs··<lambda>271 ·················abs··<lambda>·······abs··<lambda>·······abs··<lambda>
275 2000-01-01··0.469112··1.604745··0.282863··1.195563··1.509059··0.205944272 2000-01-01··0.469112··1.604745··0.282863··1.195563··1.509059··0.205944
276 2000-01-02··1.135632··0.000000··1.212112··2.690539··0.173215··1.541787273 2000-01-02··1.135632··0.000000··1.212112··2.690539··0.173215··1.541787
Offset 281, 16 lines modifiedOffset 275, 14 lines modified
281 2000-01-04·······NaN·······NaN·······NaN·······NaN·······NaN·······NaN275 2000-01-04·······NaN·······NaN·······NaN·······NaN·······NaN·······NaN
282 2000-01-05·······NaN·······NaN·······NaN·······NaN·······NaN·······NaN276 2000-01-05·······NaN·······NaN·······NaN·······NaN·······NaN·······NaN
283 2000-01-06·······NaN·······NaN·······NaN·······NaN·······NaN·······NaN277 2000-01-06·······NaN·······NaN·······NaN·······NaN·······NaN·······NaN
284 2000-01-07·······NaN·······NaN·······NaN·······NaN·······NaN·······NaN278 2000-01-07·······NaN·······NaN·······NaN·······NaN·······NaN·······NaN
285 2000-01-08··0.113648··1.249281··1.478427··0.000000··0.524988··2.239990279 2000-01-08··0.113648··1.249281··1.478427··0.000000··0.524988··2.239990
286 2000-01-09··0.404705··1.540338··0.577046··2.055473··1.715002··0.000000280 2000-01-09··0.404705··1.540338··0.577046··2.055473··1.715002··0.000000
287 2000-01-10··1.039268··0.096364··0.370647··1.107780··1.157892··0.557110281 2000-01-10··1.039268··0.096364··0.370647··1.107780··1.157892··0.557110
  
288 [10·rows·x·6·columns] 
289 When·presented·with·mixed·dtypes·that·cannot·be·aggregated,·.agg()·will·only282 When·presented·with·mixed·dtypes·that·cannot·be·aggregated,·.agg()·will·only
290 take·the·valid·aggregations.·This·is·similar·to·how·groupby·.agg()·works.·(_\x8G_\x8H283 take·the·valid·aggregations.·This·is·similar·to·how·groupby·.agg()·works.·(_\x8G_\x8H
291 _\x81_\x85_\x80_\x81_\x85)284 _\x81_\x85_\x80_\x81_\x85)
292 In·[8]:·df·=·pd.DataFrame({'A':·[1,·2,·3],285 In·[8]:·df·=·pd.DataFrame({'A':·[1,·2,·3],
293 ···...:····················'B':·[1.,·2.,·3.],286 ···...:····················'B':·[1.,·2.,·3.],
294 ···...:····················'C':·['foo',·'bar',·'baz'],287 ···...:····················'C':·['foo',·'bar',·'baz'],
295 ···...:····················'D':·pd.date_range('20130101',·periods=3)})288 ···...:····················'D':·pd.date_range('20130101',·periods=3)})
Offset 298, 15 lines modifiedOffset 290, 15 lines modified
  
298 In·[9]:·df.dtypes290 In·[9]:·df.dtypes
299 Out[9]:291 Out[9]:
300 A·············int64292 A·············int64
301 B···········float64293 B···········float64
302 C············object294 C············object
303 D····datetime64[ns]295 D····datetime64[ns]
304 Length:·4,·dtype:·object296 dtype:·object
305 In·[10]:·df.agg(['min',·'sum'])297 In·[10]:·df.agg(['min',·'sum'])
306 Out[10]:298 Out[10]:
307 ·····A····B··········C··········D299 ·····A····B··········C··········D
308 min··1··1.0········bar·2013-01-01300 min··1··1.0········bar·2013-01-01
309 sum··6··6.0··foobarbaz········NaT301 sum··6··6.0··foobarbaz········NaT
310 *\x8**\x8**\x8**\x8*·K\x8Ke\x8ey\x8yw\x8wo\x8or\x8rd\x8d·a\x8ar\x8rg\x8gu\x8um\x8me\x8en\x8nt\x8t·d\x8dt\x8ty\x8yp\x8pe\x8e·f\x8fo\x8or\x8r·d\x8da\x8at\x8ta\x8a·I\x8IO\x8O_\x8#\x8#·*\x8**\x8**\x8**\x8*302 *\x8**\x8**\x8**\x8*·K\x8Ke\x8ey\x8yw\x8wo\x8or\x8rd\x8d·a\x8ar\x8rg\x8gu\x8um\x8me\x8en\x8nt\x8t·d\x8dt\x8ty\x8yp\x8pe\x8e·f\x8fo\x8or\x8r·d\x8da\x8at\x8ta\x8a·I\x8IO\x8O_\x8#\x8#·*\x8**\x8**\x8**\x8*
311 The·'python'·engine·for·_\x8r_\x8e_\x8a_\x8d_\x8__\x8c_\x8s_\x8v_\x8(_\x8),·as·well·as·the·_\x8r_\x8e_\x8a_\x8d_\x8__\x8f_\x8w_\x8f_\x8(_\x8)·function·for303 The·'python'·engine·for·_\x8r_\x8e_\x8a_\x8d_\x8__\x8c_\x8s_\x8v_\x8(_\x8),·as·well·as·the·_\x8r_\x8e_\x8a_\x8d_\x8__\x8f_\x8w_\x8f_\x8(_\x8)·function·for
Offset 315, 22 lines modifiedOffset 307, 22 lines modified
315 (_\x8G_\x8H_\x8·_\x81_\x84_\x82_\x89_\x85).·See·the·_\x8i_\x8o_\x8·_\x8d_\x8o_\x8c_\x8s·for·more·information.307 (_\x8G_\x8H_\x8·_\x81_\x84_\x82_\x89_\x85).·See·the·_\x8i_\x8o_\x8·_\x8d_\x8o_\x8c_\x8s·for·more·information.
316 In·[10]:·data·=·"a··b\n1··2\n3··4"308 In·[10]:·data·=·"a··b\n1··2\n3··4"
  
317 In·[11]:·pd.read_fwf(StringIO(data)).dtypes309 In·[11]:·pd.read_fwf(StringIO(data)).dtypes
318 Out[11]:310 Out[11]:
319 a····int64311 a····int64
320 b····int64312 b····int64
321 Length:·2,·dtype:·object313 dtype:·object
  
322 In·[12]:·pd.read_fwf(StringIO(data),·dtype={'a':·'float64',·'b':314 In·[12]:·pd.read_fwf(StringIO(data),·dtype={'a':·'float64',·'b':
323 'object'}).dtypes315 'object'}).dtypes
324 Out[12]:316 Out[12]:
325 a····float64317 a····float64
326 b·····object318 b·····object
327 Length:·2,·dtype:·object319 dtype:·object
328 *\x8**\x8**\x8**\x8*·M\x8Me\x8et\x8th\x8ho\x8od\x8d·.\x8.t\x8to\x8o_\x8_d\x8da\x8at\x8te\x8et\x8ti\x8im\x8me\x8e(\x8()\x8)·h\x8ha\x8as\x8s·g\x8ga\x8ai\x8in\x8ne\x8ed\x8d·a\x8an\x8n·o\x8or\x8ri\x8ig\x8gi\x8in\x8n·p\x8pa\x8ar\x8ra\x8am\x8me\x8et\x8te\x8er\x8r_\x8#\x8#·*\x8**\x8**\x8**\x8*320 *\x8**\x8**\x8**\x8*·M\x8Me\x8et\x8th\x8ho\x8od\x8d·.\x8.t\x8to\x8o_\x8_d\x8da\x8at\x8te\x8et\x8ti\x8im\x8me\x8e(\x8()\x8)·h\x8ha\x8as\x8s·g\x8ga\x8ai\x8in\x8ne\x8ed\x8d·a\x8an\x8n·o\x8or\x8ri\x8ig\x8gi\x8in\x8n·p\x8pa\x8ar\x8ra\x8am\x8me\x8et\x8te\x8er\x8r_\x8#\x8#·*\x8**\x8**\x8**\x8*
329 _\x8t_\x8o_\x8__\x8d_\x8a_\x8t_\x8e_\x8t_\x8i_\x8m_\x8e_\x8(_\x8)·has·gained·a·new·parameter,·origin,·to·define·a·reference·date321 _\x8t_\x8o_\x8__\x8d_\x8a_\x8t_\x8e_\x8t_\x8i_\x8m_\x8e_\x8(_\x8)·has·gained·a·new·parameter,·origin,·to·define·a·reference·date
330 from·where·to·compute·the·resulting·timestamps·when·parsing·numerical·values322 from·where·to·compute·the·resulting·timestamps·when·parsing·numerical·values
331 with·a·specific·unit·specified.·(_\x8G_\x8H_\x8·_\x81_\x81_\x82_\x87_\x86,·_\x8G_\x8H_\x8·_\x81_\x81_\x87_\x84_\x85)323 with·a·specific·unit·specified.·(_\x8G_\x8H_\x8·_\x81_\x81_\x82_\x87_\x86,·_\x8G_\x8H_\x8·_\x81_\x81_\x87_\x84_\x85)
332 For·example,·with·1960-01-01·as·the·starting·date:324 For·example,·with·1960-01-01·as·the·starting·date:
333 In·[13]:·pd.to_datetime([1,·2,·3],·unit='D',·origin=pd.Timestamp('1960-01-01'))325 In·[13]:·pd.to_datetime([1,·2,·3],·unit='D',·origin=pd.Timestamp('1960-01-01'))
334 Out[13]:·DatetimeIndex(['1960-01-02',·'1960-01-03',·'1960-01-04'],326 Out[13]:·DatetimeIndex(['1960-01-02',·'1960-01-03',·'1960-01-04'],
Offset 366, 28 lines modifiedOffset 358, 24 lines modified
366 baz···one·····1··2358 baz···one·····1··2
367 ······two·····1··3359 ······two·····1··3
368 foo···one·····2··4360 foo···one·····2··4
369 ······two·····2··5361 ······two·····2··5
370 qux···one·····3··6362 qux···one·····3··6
371 ······two·····3··7363 ······two·····3··7
  
372 [8·rows·x·2·columns] 
  
373 In·[19]:·df.groupby(['second',·'A']).sum()364 In·[19]:·df.groupby(['second',·'A']).sum()
374 Out[19]:365 Out[19]:
375 ··········B366 ··········B
376 second·A367 second·A
377 one····1··2368 one····1··2
378 ·······2··4369 ·······2··4
379 ·······3··6370 ·······3··6
380 two····1··4371 two····1··4
381 ·······2··5372 ·······2··5
382 ·······3··7373 ·······3··7
  
383 [6·rows·x·1·columns] 
384 *\x8**\x8**\x8**\x8*·B\x8Be\x8et\x8tt\x8te\x8er\x8r·s\x8su\x8up\x8pp\x8po\x8or\x8rt\x8t·f\x8fo\x8or\x8r·c\x8co\x8om\x8mp\x8pr\x8re\x8es\x8ss\x8se\x8ed\x8d·U\x8UR\x8RL\x8Ls\x8s·i\x8in\x8n·r\x8re\x8ea\x8ad\x8d_\x8_c\x8cs\x8sv\x8v_\x8#\x8#·*\x8**\x8**\x8**\x8*374 *\x8**\x8**\x8**\x8*·B\x8Be\x8et\x8tt\x8te\x8er\x8r·s\x8su\x8up\x8pp\x8po\x8or\x8rt\x8t·f\x8fo\x8or\x8r·c\x8co\x8om\x8mp\x8pr\x8re\x8es\x8ss\x8se\x8ed\x8d·U\x8UR\x8RL\x8Ls\x8s·i\x8in\x8n·r\x8re\x8ea\x8ad\x8d_\x8_c\x8cs\x8sv\x8v_\x8#\x8#·*\x8**\x8**\x8**\x8*
385 The·compression·code·was·refactored·(_\x8G_\x8H_\x8·_\x81_\x82_\x86_\x88_\x88).·As·a·result,·reading·dataframes375 The·compression·code·was·refactored·(_\x8G_\x8H_\x8·_\x81_\x82_\x86_\x88_\x88).·As·a·result,·reading·dataframes
386 from·URLs·in·_\x8r_\x8e_\x8a_\x8d_\x8__\x8c_\x8s_\x8v_\x8(_\x8)·or·_\x8r_\x8e_\x8a_\x8d_\x8__\x8t_\x8a_\x8b_\x8l_\x8e_\x8(_\x8)·now·supports·additional·compression376 from·URLs·in·_\x8r_\x8e_\x8a_\x8d_\x8__\x8c_\x8s_\x8v_\x8(_\x8)·or·_\x8r_\x8e_\x8a_\x8d_\x8__\x8t_\x8a_\x8b_\x8l_\x8e_\x8(_\x8)·now·supports·additional·compression
387 methods:·xz,·bz2,·and·zip·(_\x8G_\x8H_\x8·_\x81_\x84_\x85_\x87_\x80).·Previously,·only·gzip·compression·was377 methods:·xz,·bz2,·and·zip·(_\x8G_\x8H_\x8·_\x81_\x84_\x85_\x87_\x80).·Previously,·only·gzip·compression·was
Max diff block lines reached; 15104/20263 bytes (74.54%) of diff not shown.
42.2 KB
./usr/share/doc/python-pandas-doc/html/whatsnew/v0.21.0.html
    
Offset 757, 37 lines modifiedOffset 757, 37 lines modified
757 <span·class="gp">···...:·</span>757 <span·class="gp">···...:·</span>
  
758 <span·class="gp">In·[2]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">dtypes</span>758 <span·class="gp">In·[2]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">dtypes</span>
759 <span·class="gh">Out[2]:·</span>759 <span·class="gh">Out[2]:·</span>
760 <span·class="go">A·····int64</span>760 <span·class="go">A·····int64</span>
761 <span·class="go">B····object</span>761 <span·class="go">B····object</span>
762 <span·class="go">C····object</span>762 <span·class="go">C····object</span>
763 <span·class="go">Length:·3,·dtype:·object</span>763 <span·class="go">dtype:·object</span>
  
764 <span·class="gp">In·[3]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">infer_objects</span><span·class="p">()</span><span·class="o">.</span><span·class="n">dtypes</span>764 <span·class="gp">In·[3]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">infer_objects</span><span·class="p">()</span><span·class="o">.</span><span·class="n">dtypes</span>
765 <span·class="gh">Out[3]:·</span>765 <span·class="gh">Out[3]:·</span>
766 <span·class="go">A·····int64</span>766 <span·class="go">A·····int64</span>
767 <span·class="go">B·····int64</span>767 <span·class="go">B·····int64</span>
768 <span·class="go">C····object</span>768 <span·class="go">C····object</span>
769 <span·class="go">Length:·3,·dtype:·object</span>769 <span·class="go">dtype:·object</span>
770 </pre></div>770 </pre></div>
771 </div>771 </div>
772 <p>Note·that·column·<code·class="docutils·literal·notranslate"><span·class="pre">'C'</span></code>·was·not·converted·-·only·scalar·numeric·types772 <p>Note·that·column·<code·class="docutils·literal·notranslate"><span·class="pre">'C'</span></code>·was·not·converted·-·only·scalar·numeric·types
773 will·be·converted·to·a·new·type.··Other·types·of·conversion·should·be·accomplished773 will·be·converted·to·a·new·type.··Other·types·of·conversion·should·be·accomplished
774 using·the·<a·class="reference·internal"·href="../reference/api/pandas.to_numeric.html#pandas.to_numeric"·title="pandas.to_numeric"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">to_numeric()</span></code></a>·function·(or·<a·class="reference·internal"·href="../reference/api/pandas.to_datetime.html#pandas.to_datetime"·title="pandas.to_datetime"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">to_datetime()</span></code></a>,·<a·class="reference·internal"·href="../reference/api/pandas.to_timedelta.html#pandas.to_timedelta"·title="pandas.to_timedelta"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">to_timedelta()</span></code></a>).</p>774 using·the·<a·class="reference·internal"·href="../reference/api/pandas.to_numeric.html#pandas.to_numeric"·title="pandas.to_numeric"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">to_numeric()</span></code></a>·function·(or·<a·class="reference·internal"·href="../reference/api/pandas.to_datetime.html#pandas.to_datetime"·title="pandas.to_datetime"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">to_datetime()</span></code></a>,·<a·class="reference·internal"·href="../reference/api/pandas.to_timedelta.html#pandas.to_timedelta"·title="pandas.to_timedelta"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">to_timedelta()</span></code></a>).</p>
775 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[4]:·</span><span·class="n">df</span>·<span·class="o">=</span>·<span·class="n">df</span><span·class="o">.</span><span·class="n">infer_objects</span><span·class="p">()</span>775 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[4]:·</span><span·class="n">df</span>·<span·class="o">=</span>·<span·class="n">df</span><span·class="o">.</span><span·class="n">infer_objects</span><span·class="p">()</span>
  
776 <span·class="gp">In·[5]:·</span><span·class="n">df</span><span·class="p">[</span><span·class="s1">&#39;C&#39;</span><span·class="p">]</span>·<span·class="o">=</span>·<span·class="n">pd</span><span·class="o">.</span><span·class="n">to_numeric</span><span·class="p">(</span><span·class="n">df</span><span·class="p">[</span><span·class="s1">&#39;C&#39;</span><span·class="p">],</span>·<span·class="n">errors</span><span·class="o">=</span><span·class="s1">&#39;coerce&#39;</span><span·class="p">)</span>776 <span·class="gp">In·[5]:·</span><span·class="n">df</span><span·class="p">[</span><span·class="s1">&#39;C&#39;</span><span·class="p">]</span>·<span·class="o">=</span>·<span·class="n">pd</span><span·class="o">.</span><span·class="n">to_numeric</span><span·class="p">(</span><span·class="n">df</span><span·class="p">[</span><span·class="s1">&#39;C&#39;</span><span·class="p">],</span>·<span·class="n">errors</span><span·class="o">=</span><span·class="s1">&#39;coerce&#39;</span><span·class="p">)</span>
  
777 <span·class="gp">In·[6]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">dtypes</span>777 <span·class="gp">In·[6]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">dtypes</span>
778 <span·class="gh">Out[6]:·</span>778 <span·class="gh">Out[6]:·</span>
779 <span·class="go">A····int64</span>779 <span·class="go">A····int64</span>
780 <span·class="go">B····int64</span>780 <span·class="go">B····int64</span>
781 <span·class="go">C····int64</span>781 <span·class="go">C····int64</span>
782 <span·class="go">Length:·3,·dtype:·object</span>782 <span·class="go">dtype:·object</span>
783 </pre></div>783 </pre></div>
784 </div>784 </div>
785 </section>785 </section>
786 <section·id="improved-warnings-when-attempting-to-create-columns">786 <section·id="improved-warnings-when-attempting-to-create-columns">
787 <span·id="whatsnew-0210-enhancements-attribute-access"></span><h3>Improved·warnings·when·attempting·to·create·columns<a·class="headerlink"·href="#improved-warnings-when-attempting-to-create-columns"·title="Link·to·this·heading">#</a></h3>787 <span·id="whatsnew-0210-enhancements-attribute-access"></span><h3>Improved·warnings·when·attempting·to·create·columns<a·class="headerlink"·href="#improved-warnings-when-attempting-to-create-columns"·title="Link·to·this·heading">#</a></h3>
788 <p>New·users·are·often·puzzled·by·the·relationship·between·column·operations·and788 <p>New·users·are·often·puzzled·by·the·relationship·between·column·operations·and
789 attribute·access·on·<code·class="docutils·literal·notranslate"><span·class="pre">DataFrame</span></code>·instances·(<a·class="extlink-issue·reference·external"·href="https://github.com/pandas-dev/pandas/issues/7175">GH·7175</a>).·One·specific789 attribute·access·on·<code·class="docutils·literal·notranslate"><span·class="pre">DataFrame</span></code>·instances·(<a·class="extlink-issue·reference·external"·href="https://github.com/pandas-dev/pandas/issues/7175">GH·7175</a>).·One·specific
Offset 820, 32 lines modifiedOffset 820, 26 lines modified
  
820 <span·class="gp">In·[8]:·</span><span·class="n">df</span>820 <span·class="gp">In·[8]:·</span><span·class="n">df</span>
821 <span·class="gh">Out[8]:·</span>821 <span·class="gh">Out[8]:·</span>
822 <span·class="go">···A··B··C··D</span>822 <span·class="go">···A··B··C··D</span>
823 <span·class="go">0··0··1··2··3</span>823 <span·class="go">0··0··1··2··3</span>
824 <span·class="go">1··4··5··6··7</span>824 <span·class="go">1··4··5··6··7</span>
  
825 <span·class="go">[2·rows·x·4·columns]</span> 
  
826 <span·class="gp">In·[9]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">drop</span><span·class="p">([</span><span·class="s1">&#39;B&#39;</span><span·class="p">,</span>·<span·class="s1">&#39;C&#39;</span><span·class="p">],</span>·<span·class="n">axis</span><span·class="o">=</span><span·class="mi">1</span><span·class="p">)</span>825 <span·class="gp">In·[9]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">drop</span><span·class="p">([</span><span·class="s1">&#39;B&#39;</span><span·class="p">,</span>·<span·class="s1">&#39;C&#39;</span><span·class="p">],</span>·<span·class="n">axis</span><span·class="o">=</span><span·class="mi">1</span><span·class="p">)</span>
827 <span·class="gh">Out[9]:·</span>826 <span·class="gh">Out[9]:·</span>
828 <span·class="go">···A··D</span>827 <span·class="go">···A··D</span>
829 <span·class="go">0··0··3</span>828 <span·class="go">0··0··3</span>
830 <span·class="go">1··4··7</span>829 <span·class="go">1··4··7</span>
  
831 <span·class="go">[2·rows·x·2·columns]</span> 
  
832 <span·class="go">#·the·following·is·now·equivalent</span>830 <span·class="go">#·the·following·is·now·equivalent</span>
833 <span·class="gp">In·[10]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">drop</span><span·class="p">(</span><span·class="n">columns</span><span·class="o">=</span><span·class="p">[</span><span·class="s1">&#39;B&#39;</span><span·class="p">,</span>·<span·class="s1">&#39;C&#39;</span><span·class="p">])</span>831 <span·class="gp">In·[10]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">drop</span><span·class="p">(</span><span·class="n">columns</span><span·class="o">=</span><span·class="p">[</span><span·class="s1">&#39;B&#39;</span><span·class="p">,</span>·<span·class="s1">&#39;C&#39;</span><span·class="p">])</span>
834 <span·class="gh">Out[10]:·</span>832 <span·class="gh">Out[10]:·</span>
835 <span·class="go">···A··D</span>833 <span·class="go">···A··D</span>
836 <span·class="go">0··0··3</span>834 <span·class="go">0··0··3</span>
837 <span·class="go">1··4··7</span>835 <span·class="go">1··4··7</span>
  
838 <span·class="go">[2·rows·x·2·columns]</span> 
839 </pre></div>836 </pre></div>
840 </div>837 </div>
841 </section>838 </section>
842 <section·id="methods-rename-reindex-now-also-accept-axis-keyword">839 <section·id="methods-rename-reindex-now-also-accept-axis-keyword">
843 <span·id="whatsnew-0210-enhancements-rename-reindex-axis"></span><h3>Methods·<code·class="docutils·literal·notranslate"><span·class="pre">rename</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">reindex</span></code>·now·also·accept·axis·keyword<a·class="headerlink"·href="#methods-rename-reindex-now-also-accept-axis-keyword"·title="Link·to·this·heading">#</a></h3>840 <span·id="whatsnew-0210-enhancements-rename-reindex-axis"></span><h3>Methods·<code·class="docutils·literal·notranslate"><span·class="pre">rename</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">reindex</span></code>·now·also·accept·axis·keyword<a·class="headerlink"·href="#methods-rename-reindex-now-also-accept-axis-keyword"·title="Link·to·this·heading">#</a></h3>
844 <p>The·<a·class="reference·internal"·href="../reference/api/pandas.DataFrame.rename.html#pandas.DataFrame.rename"·title="pandas.DataFrame.rename"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">DataFrame.rename()</span></code></a>·and·<a·class="reference·internal"·href="../reference/api/pandas.DataFrame.reindex.html#pandas.DataFrame.reindex"·title="pandas.DataFrame.reindex"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">DataFrame.reindex()</span></code></a>·methods·have·gained841 <p>The·<a·class="reference·internal"·href="../reference/api/pandas.DataFrame.rename.html#pandas.DataFrame.rename"·title="pandas.DataFrame.rename"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">DataFrame.rename()</span></code></a>·and·<a·class="reference·internal"·href="../reference/api/pandas.DataFrame.reindex.html#pandas.DataFrame.reindex"·title="pandas.DataFrame.reindex"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">DataFrame.reindex()</span></code></a>·methods·have·gained
845 the·<code·class="docutils·literal·notranslate"><span·class="pre">axis</span></code>·keyword·to·specify·the·axis·to·target·with·the·operation842 the·<code·class="docutils·literal·notranslate"><span·class="pre">axis</span></code>·keyword·to·specify·the·axis·to·target·with·the·operation
Offset 856, 64 lines modifiedOffset 850, 52 lines modified
856 <span·class="gp">In·[12]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">rename</span><span·class="p">(</span><span·class="nb">str</span><span·class="o">.</span><span·class="n">lower</span><span·class="p">,</span>·<span·class="n">axis</span><span·class="o">=</span><span·class="s1">&#39;columns&#39;</span><span·class="p">)</span>850 <span·class="gp">In·[12]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">rename</span><span·class="p">(</span><span·class="nb">str</span><span·class="o">.</span><span·class="n">lower</span><span·class="p">,</span>·<span·class="n">axis</span><span·class="o">=</span><span·class="s1">&#39;columns&#39;</span><span·class="p">)</span>
857 <span·class="gh">Out[12]:·</span>851 <span·class="gh">Out[12]:·</span>
858 <span·class="go">···a··b</span>852 <span·class="go">···a··b</span>
859 <span·class="go">0··1··4</span>853 <span·class="go">0··1··4</span>
860 <span·class="go">1··2··5</span>854 <span·class="go">1··2··5</span>
861 <span·class="go">2··3··6</span>855 <span·class="go">2··3··6</span>
  
862 <span·class="go">[3·rows·x·2·columns]</span> 
  
863 <span·class="gp">In·[13]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">rename</span><span·class="p">(</span><span·class="nb">id</span><span·class="p">,</span>·<span·class="n">axis</span><span·class="o">=</span><span·class="s1">&#39;index&#39;</span><span·class="p">)</span>856 <span·class="gp">In·[13]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">rename</span><span·class="p">(</span><span·class="nb">id</span><span·class="p">,</span>·<span·class="n">axis</span><span·class="o">=</span><span·class="s1">&#39;index&#39;</span><span·class="p">)</span>
864 <span·class="gh">Out[13]:·</span>857 <span·class="gh">Out[13]:·</span>
865 <span·class="go">··········A··B</span>858 <span·class="go">··········A··B</span>
866 <span·class="go">10713616··1··4</span>859 <span·class="go">10713616··1··4</span>
867 <span·class="go">10713648··2··5</span>860 <span·class="go">10713648··2··5</span>
868 <span·class="go">10713680··3··6</span>861 <span·class="go">10713680··3··6</span>
  
869 <span·class="go">[3·rows·x·2·columns]</span> 
870 </pre></div>862 </pre></div>
871 </div>863 </div>
872 <p>And·<code·class="docutils·literal·notranslate"><span·class="pre">reindex</span></code>:</p>864 <p>And·<code·class="docutils·literal·notranslate"><span·class="pre">reindex</span></code>:</p>
873 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[14]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">reindex</span><span·class="p">([</span><span·class="s1">&#39;A&#39;</span><span·class="p">,</span>·<span·class="s1">&#39;B&#39;</span><span·class="p">,</span>·<span·class="s1">&#39;C&#39;</span><span·class="p">],</span>·<span·class="n">axis</span><span·class="o">=</span><span·class="s1">&#39;columns&#39;</span><span·class="p">)</span>865 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[14]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">reindex</span><span·class="p">([</span><span·class="s1">&#39;A&#39;</span><span·class="p">,</span>·<span·class="s1">&#39;B&#39;</span><span·class="p">,</span>·<span·class="s1">&#39;C&#39;</span><span·class="p">],</span>·<span·class="n">axis</span><span·class="o">=</span><span·class="s1">&#39;columns&#39;</span><span·class="p">)</span>
874 <span·class="gh">Out[14]:·</span>866 <span·class="gh">Out[14]:·</span>
875 <span·class="go">···A··B···C</span>867 <span·class="go">···A··B···C</span>
876 <span·class="go">0··1··4·NaN</span>868 <span·class="go">0··1··4·NaN</span>
877 <span·class="go">1··2··5·NaN</span>869 <span·class="go">1··2··5·NaN</span>
878 <span·class="go">2··3··6·NaN</span>870 <span·class="go">2··3··6·NaN</span>
  
879 <span·class="go">[3·rows·x·3·columns]</span> 
  
880 <span·class="gp">In·[15]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">reindex</span><span·class="p">([</span><span·class="mi">0</span><span·class="p">,</span>·<span·class="mi">1</span><span·class="p">,</span>·<span·class="mi">3</span><span·class="p">],</span>·<span·class="n">axis</span><span·class="o">=</span><span·class="s1">&#39;index&#39;</span><span·class="p">)</span>871 <span·class="gp">In·[15]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">reindex</span><span·class="p">([</span><span·class="mi">0</span><span·class="p">,</span>·<span·class="mi">1</span><span·class="p">,</span>·<span·class="mi">3</span><span·class="p">],</span>·<span·class="n">axis</span><span·class="o">=</span><span·class="s1">&#39;index&#39;</span><span·class="p">)</span>
881 <span·class="gh">Out[15]:·</span>872 <span·class="gh">Out[15]:·</span>
882 <span·class="go">·····A····B</span>873 <span·class="go">·····A····B</span>
883 <span·class="go">0··1.0··4.0</span>874 <span·class="go">0··1.0··4.0</span>
884 <span·class="go">1··2.0··5.0</span>875 <span·class="go">1··2.0··5.0</span>
885 <span·class="go">3··NaN··NaN</span>876 <span·class="go">3··NaN··NaN</span>
  
886 <span·class="go">[3·rows·x·2·columns]</span> 
887 </pre></div>877 </pre></div>
888 </div>878 </div>
889 <p>The·“index,·columns”·style·continues·to·work·as·before.</p>879 <p>The·“index,·columns”·style·continues·to·work·as·before.</p>
890 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[16]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">rename</span><span·class="p">(</span><span·class="n">index</span><span·class="o">=</span><span·class="nb">id</span><span·class="p">,</span>·<span·class="n">columns</span><span·class="o">=</span><span·class="nb">str</span><span·class="o">.</span><span·class="n">lower</span><span·class="p">)</span>880 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[16]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">rename</span><span·class="p">(</span><span·class="n">index</span><span·class="o">=</span><span·class="nb">id</span><span·class="p">,</span>·<span·class="n">columns</span><span·class="o">=</span><span·class="nb">str</span><span·class="o">.</span><span·class="n">lower</span><span·class="p">)</span>
891 <span·class="gh">Out[16]:·</span>881 <span·class="gh">Out[16]:·</span>
892 <span·class="go">··········a··b</span>882 <span·class="go">··········a··b</span>
893 <span·class="go">10713616··1··4</span>883 <span·class="go">10713616··1··4</span>
894 <span·class="go">10713648··2··5</span>884 <span·class="go">10713648··2··5</span>
895 <span·class="go">10713680··3··6</span>885 <span·class="go">10713680··3··6</span>
  
896 <span·class="go">[3·rows·x·2·columns]</span> 
  
897 <span·class="gp">In·[17]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">reindex</span><span·class="p">(</span><span·class="n">index</span><span·class="o">=</span><span·class="p">[</span><span·class="mi">0</span><span·class="p">,</span>·<span·class="mi">1</span><span·class="p">,</span>·<span·class="mi">3</span><span·class="p">],</span>·<span·class="n">columns</span><span·class="o">=</span><span·class="p">[</span><span·class="s1">&#39;A&#39;</span><span·class="p">,</span>·<span·class="s1">&#39;B&#39;</span><span·class="p">,</span>·<span·class="s1">&#39;C&#39;</span><span·class="p">])</span>886 <span·class="gp">In·[17]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">reindex</span><span·class="p">(</span><span·class="n">index</span><span·class="o">=</span><span·class="p">[</span><span·class="mi">0</span><span·class="p">,</span>·<span·class="mi">1</span><span·class="p">,</span>·<span·class="mi">3</span><span·class="p">],</span>·<span·class="n">columns</span><span·class="o">=</span><span·class="p">[</span><span·class="s1">&#39;A&#39;</span><span·class="p">,</span>·<span·class="s1">&#39;B&#39;</span><span·class="p">,</span>·<span·class="s1">&#39;C&#39;</span><span·class="p">])</span>
898 <span·class="gh">Out[17]:·</span>887 <span·class="gh">Out[17]:·</span>
899 <span·class="go">·····A····B···C</span>888 <span·class="go">·····A····B···C</span>
900 <span·class="go">0··1.0··4.0·NaN</span>889 <span·class="go">0··1.0··4.0·NaN</span>
901 <span·class="go">1··2.0··5.0·NaN</span>890 <span·class="go">1··2.0··5.0·NaN</span>
902 <span·class="go">3··NaN··NaN·NaN</span>891 <span·class="go">3··NaN··NaN·NaN</span>
  
Max diff block lines reached; 22125/32659 bytes (67.75%) of diff not shown.
10.2 KB
html2text {}
    
Offset 212, 35 lines modifiedOffset 212, 35 lines modified
212 ···...:212 ···...:
  
213 In·[2]:·df.dtypes213 In·[2]:·df.dtypes
214 Out[2]:214 Out[2]:
215 A·····int64215 A·····int64
216 B····object216 B····object
217 C····object217 C····object
218 Length:·3,·dtype:·object218 dtype:·object
  
219 In·[3]:·df.infer_objects().dtypes219 In·[3]:·df.infer_objects().dtypes
220 Out[3]:220 Out[3]:
221 A·····int64221 A·····int64
222 B·····int64222 B·····int64
223 C····object223 C····object
224 Length:·3,·dtype:·object224 dtype:·object
225 Note·that·column·'C'·was·not·converted·-·only·scalar·numeric·types·will·be225 Note·that·column·'C'·was·not·converted·-·only·scalar·numeric·types·will·be
226 converted·to·a·new·type.·Other·types·of·conversion·should·be·accomplished·using226 converted·to·a·new·type.·Other·types·of·conversion·should·be·accomplished·using
227 the·_\x8t_\x8o_\x8__\x8n_\x8u_\x8m_\x8e_\x8r_\x8i_\x8c_\x8(_\x8)·function·(or·_\x8t_\x8o_\x8__\x8d_\x8a_\x8t_\x8e_\x8t_\x8i_\x8m_\x8e_\x8(_\x8),·_\x8t_\x8o_\x8__\x8t_\x8i_\x8m_\x8e_\x8d_\x8e_\x8l_\x8t_\x8a_\x8(_\x8)).227 the·_\x8t_\x8o_\x8__\x8n_\x8u_\x8m_\x8e_\x8r_\x8i_\x8c_\x8(_\x8)·function·(or·_\x8t_\x8o_\x8__\x8d_\x8a_\x8t_\x8e_\x8t_\x8i_\x8m_\x8e_\x8(_\x8),·_\x8t_\x8o_\x8__\x8t_\x8i_\x8m_\x8e_\x8d_\x8e_\x8l_\x8t_\x8a_\x8(_\x8)).
228 In·[4]:·df·=·df.infer_objects()228 In·[4]:·df·=·df.infer_objects()
  
229 In·[5]:·df['C']·=·pd.to_numeric(df['C'],·errors='coerce')229 In·[5]:·df['C']·=·pd.to_numeric(df['C'],·errors='coerce')
  
230 In·[6]:·df.dtypes230 In·[6]:·df.dtypes
231 Out[6]:231 Out[6]:
232 A····int64232 A····int64
233 B····int64233 B····int64
234 C····int64234 C····int64
235 Length:·3,·dtype:·object235 dtype:·object
236 *\x8**\x8**\x8**\x8*·I\x8Im\x8mp\x8pr\x8ro\x8ov\x8ve\x8ed\x8d·w\x8wa\x8ar\x8rn\x8ni\x8in\x8ng\x8gs\x8s·w\x8wh\x8he\x8en\x8n·a\x8at\x8tt\x8te\x8em\x8mp\x8pt\x8ti\x8in\x8ng\x8g·t\x8to\x8o·c\x8cr\x8re\x8ea\x8at\x8te\x8e·c\x8co\x8ol\x8lu\x8um\x8mn\x8ns\x8s_\x8#\x8#·*\x8**\x8**\x8**\x8*236 *\x8**\x8**\x8**\x8*·I\x8Im\x8mp\x8pr\x8ro\x8ov\x8ve\x8ed\x8d·w\x8wa\x8ar\x8rn\x8ni\x8in\x8ng\x8gs\x8s·w\x8wh\x8he\x8en\x8n·a\x8at\x8tt\x8te\x8em\x8mp\x8pt\x8ti\x8in\x8ng\x8g·t\x8to\x8o·c\x8cr\x8re\x8ea\x8at\x8te\x8e·c\x8co\x8ol\x8lu\x8um\x8mn\x8ns\x8s_\x8#\x8#·*\x8**\x8**\x8**\x8*
237 New·users·are·often·puzzled·by·the·relationship·between·column·operations·and237 New·users·are·often·puzzled·by·the·relationship·between·column·operations·and
238 attribute·access·on·DataFrame·instances·(_\x8G_\x8H_\x8·_\x87_\x81_\x87_\x85).·One·specific·instance·of238 attribute·access·on·DataFrame·instances·(_\x8G_\x8H_\x8·_\x87_\x81_\x87_\x85).·One·specific·instance·of
239 this·confusion·is·attempting·to·create·a·new·column·by·setting·an·attribute·on239 this·confusion·is·attempting·to·create·a·new·column·by·setting·an·attribute·on
240 the·DataFrame:240 the·DataFrame:
241 In·[1]:·df·=·pd.DataFrame({'one':·[1.,·2.,·3.]})241 In·[1]:·df·=·pd.DataFrame({'one':·[1.,·2.,·3.]})
242 In·[2]:·df.two·=·[4,·5,·6]242 In·[2]:·df.two·=·[4,·5,·6]
Offset 264, 91 lines modifiedOffset 264, 73 lines modified
  
264 In·[8]:·df264 In·[8]:·df
265 Out[8]:265 Out[8]:
266 ···A··B··C··D266 ···A··B··C··D
267 0··0··1··2··3267 0··0··1··2··3
268 1··4··5··6··7268 1··4··5··6··7
  
269 [2·rows·x·4·columns] 
  
270 In·[9]:·df.drop(['B',·'C'],·axis=1)269 In·[9]:·df.drop(['B',·'C'],·axis=1)
271 Out[9]:270 Out[9]:
272 ···A··D271 ···A··D
273 0··0··3272 0··0··3
274 1··4··7273 1··4··7
  
275 [2·rows·x·2·columns] 
  
276 #·the·following·is·now·equivalent274 #·the·following·is·now·equivalent
277 In·[10]:·df.drop(columns=['B',·'C'])275 In·[10]:·df.drop(columns=['B',·'C'])
278 Out[10]:276 Out[10]:
279 ···A··D277 ···A··D
280 0··0··3278 0··0··3
281 1··4··7279 1··4··7
  
282 [2·rows·x·2·columns] 
283 *\x8**\x8**\x8**\x8*·M\x8Me\x8et\x8th\x8ho\x8od\x8ds\x8s·r\x8re\x8en\x8na\x8am\x8me\x8e,\x8,·r\x8re\x8ei\x8in\x8nd\x8de\x8ex\x8x·n\x8no\x8ow\x8w·a\x8al\x8ls\x8so\x8o·a\x8ac\x8cc\x8ce\x8ep\x8pt\x8t·a\x8ax\x8xi\x8is\x8s·k\x8ke\x8ey\x8yw\x8wo\x8or\x8rd\x8d_\x8#\x8#·*\x8**\x8**\x8**\x8*280 *\x8**\x8**\x8**\x8*·M\x8Me\x8et\x8th\x8ho\x8od\x8ds\x8s·r\x8re\x8en\x8na\x8am\x8me\x8e,\x8,·r\x8re\x8ei\x8in\x8nd\x8de\x8ex\x8x·n\x8no\x8ow\x8w·a\x8al\x8ls\x8so\x8o·a\x8ac\x8cc\x8ce\x8ep\x8pt\x8t·a\x8ax\x8xi\x8is\x8s·k\x8ke\x8ey\x8yw\x8wo\x8or\x8rd\x8d_\x8#\x8#·*\x8**\x8**\x8**\x8*
284 The·_\x8D_\x8a_\x8t_\x8a_\x8F_\x8r_\x8a_\x8m_\x8e_\x8._\x8r_\x8e_\x8n_\x8a_\x8m_\x8e_\x8(_\x8)·and·_\x8D_\x8a_\x8t_\x8a_\x8F_\x8r_\x8a_\x8m_\x8e_\x8._\x8r_\x8e_\x8i_\x8n_\x8d_\x8e_\x8x_\x8(_\x8)·methods·have·gained·the·axis281 The·_\x8D_\x8a_\x8t_\x8a_\x8F_\x8r_\x8a_\x8m_\x8e_\x8._\x8r_\x8e_\x8n_\x8a_\x8m_\x8e_\x8(_\x8)·and·_\x8D_\x8a_\x8t_\x8a_\x8F_\x8r_\x8a_\x8m_\x8e_\x8._\x8r_\x8e_\x8i_\x8n_\x8d_\x8e_\x8x_\x8(_\x8)·methods·have·gained·the·axis
285 keyword·to·specify·the·axis·to·target·with·the·operation·(_\x8G_\x8H_\x8·_\x81_\x82_\x83_\x89_\x82).282 keyword·to·specify·the·axis·to·target·with·the·operation·(_\x8G_\x8H_\x8·_\x81_\x82_\x83_\x89_\x82).
286 Here’s·rename:283 Here’s·rename:
287 In·[11]:·df·=·pd.DataFrame({"A":·[1,·2,·3],·"B":·[4,·5,·6]})284 In·[11]:·df·=·pd.DataFrame({"A":·[1,·2,·3],·"B":·[4,·5,·6]})
  
288 In·[12]:·df.rename(str.lower,·axis='columns')285 In·[12]:·df.rename(str.lower,·axis='columns')
289 Out[12]:286 Out[12]:
290 ···a··b287 ···a··b
291 0··1··4288 0··1··4
292 1··2··5289 1··2··5
293 2··3··6290 2··3··6
  
294 [3·rows·x·2·columns] 
  
295 In·[13]:·df.rename(id,·axis='index')291 In·[13]:·df.rename(id,·axis='index')
296 Out[13]:292 Out[13]:
297 ··········A··B293 ··········A··B
298 10713616··1··4294 10713616··1··4
299 10713648··2··5295 10713648··2··5
300 10713680··3··6296 10713680··3··6
  
301 [3·rows·x·2·columns] 
302 And·reindex:297 And·reindex:
303 In·[14]:·df.reindex(['A',·'B',·'C'],·axis='columns')298 In·[14]:·df.reindex(['A',·'B',·'C'],·axis='columns')
304 Out[14]:299 Out[14]:
305 ···A··B···C300 ···A··B···C
306 0··1··4·NaN301 0··1··4·NaN
307 1··2··5·NaN302 1··2··5·NaN
308 2··3··6·NaN303 2··3··6·NaN
  
309 [3·rows·x·3·columns] 
  
310 In·[15]:·df.reindex([0,·1,·3],·axis='index')304 In·[15]:·df.reindex([0,·1,·3],·axis='index')
311 Out[15]:305 Out[15]:
312 ·····A····B306 ·····A····B
313 0··1.0··4.0307 0··1.0··4.0
314 1··2.0··5.0308 1··2.0··5.0
315 3··NaN··NaN309 3··NaN··NaN
  
316 [3·rows·x·2·columns] 
317 The·“index,·columns”·style·continues·to·work·as·before.310 The·“index,·columns”·style·continues·to·work·as·before.
318 In·[16]:·df.rename(index=id,·columns=str.lower)311 In·[16]:·df.rename(index=id,·columns=str.lower)
319 Out[16]:312 Out[16]:
320 ··········a··b313 ··········a··b
321 10713616··1··4314 10713616··1··4
322 10713648··2··5315 10713648··2··5
323 10713680··3··6316 10713680··3··6
  
324 [3·rows·x·2·columns] 
  
325 In·[17]:·df.reindex(index=[0,·1,·3],·columns=['A',·'B',·'C'])317 In·[17]:·df.reindex(index=[0,·1,·3],·columns=['A',·'B',·'C'])
326 Out[17]:318 Out[17]:
327 ·····A····B···C319 ·····A····B···C
328 0··1.0··4.0·NaN320 0··1.0··4.0·NaN
329 1··2.0··5.0·NaN321 1··2.0··5.0·NaN
330 3··NaN··NaN·NaN322 3··NaN··NaN·NaN
  
331 [3·rows·x·3·columns] 
332 We·h\x8hi\x8ig\x8gh\x8hl\x8ly\x8y·encourage·using·named·arguments·to·avoid·confusion·when·using·either323 We·h\x8hi\x8ig\x8gh\x8hl\x8ly\x8y·encourage·using·named·arguments·to·avoid·confusion·when·using·either
333 style.324 style.
334 *\x8**\x8**\x8**\x8*·C\x8Ca\x8at\x8te\x8eg\x8go\x8or\x8ri\x8ic\x8ca\x8al\x8lD\x8Dt\x8ty\x8yp\x8pe\x8e·f\x8fo\x8or\x8r·s\x8sp\x8pe\x8ec\x8ci\x8if\x8fy\x8yi\x8in\x8ng\x8g·c\x8ca\x8at\x8te\x8eg\x8go\x8or\x8ri\x8ic\x8ca\x8al\x8ls\x8s_\x8#\x8#·*\x8**\x8**\x8**\x8*325 *\x8**\x8**\x8**\x8*·C\x8Ca\x8at\x8te\x8eg\x8go\x8or\x8ri\x8ic\x8ca\x8al\x8lD\x8Dt\x8ty\x8yp\x8pe\x8e·f\x8fo\x8or\x8r·s\x8sp\x8pe\x8ec\x8ci\x8if\x8fy\x8yi\x8in\x8ng\x8g·c\x8ca\x8at\x8te\x8eg\x8go\x8or\x8ri\x8ic\x8ca\x8al\x8ls\x8s_\x8#\x8#·*\x8**\x8**\x8**\x8*
335 pandas.api.types.CategoricalDtype·has·been·added·to·the·public·API·and·expanded326 pandas.api.types.CategoricalDtype·has·been·added·to·the·public·API·and·expanded
336 to·include·the·categories·and·ordered·attributes.·A·CategoricalDtype·can·be327 to·include·the·categories·and·ordered·attributes.·A·CategoricalDtype·can·be
337 used·to·specify·the·set·of·categories·and·orderedness·of·an·array,·independent328 used·to·specify·the·set·of·categories·and·orderedness·of·an·array,·independent
338 of·the·data.·This·can·be·useful·for·example,·when·converting·string·data·to·a329 of·the·data.·This·can·be·useful·for·example,·when·converting·string·data·to·a
Max diff block lines reached; 6759/10396 bytes (65.02%) of diff not shown.
9.76 KB
./usr/share/doc/python-pandas-doc/html/whatsnew/v0.22.0.html
    
Offset 745, 24 lines modifiedOffset 745, 24 lines modified
745 <p><em>pandas·0.22</em></p>745 <p><em>pandas·0.22</em></p>
746 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[8]:·</span><span·class="n">grouper</span>·<span·class="o">=</span>·<span·class="n">pd</span><span·class="o">.</span><span·class="n">Categorical</span><span·class="p">([</span><span·class="s2">&quot;a&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;a&quot;</span><span·class="p">],</span>·<span·class="n">categories</span><span·class="o">=</span><span·class="p">[</span><span·class="s2">&quot;a&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;b&quot;</span><span·class="p">])</span>746 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[8]:·</span><span·class="n">grouper</span>·<span·class="o">=</span>·<span·class="n">pd</span><span·class="o">.</span><span·class="n">Categorical</span><span·class="p">([</span><span·class="s2">&quot;a&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;a&quot;</span><span·class="p">],</span>·<span·class="n">categories</span><span·class="o">=</span><span·class="p">[</span><span·class="s2">&quot;a&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;b&quot;</span><span·class="p">])</span>
  
747 <span·class="gp">In·[9]:·</span><span·class="n">pd</span><span·class="o">.</span><span·class="n">Series</span><span·class="p">([</span><span·class="mi">1</span><span·class="p">,</span>·<span·class="mi">2</span><span·class="p">])</span><span·class="o">.</span><span·class="n">groupby</span><span·class="p">(</span><span·class="n">grouper</span><span·class="p">,</span>·<span·class="n">observed</span><span·class="o">=</span><span·class="kc">False</span><span·class="p">)</span><span·class="o">.</span><span·class="n">sum</span><span·class="p">()</span>747 <span·class="gp">In·[9]:·</span><span·class="n">pd</span><span·class="o">.</span><span·class="n">Series</span><span·class="p">([</span><span·class="mi">1</span><span·class="p">,</span>·<span·class="mi">2</span><span·class="p">])</span><span·class="o">.</span><span·class="n">groupby</span><span·class="p">(</span><span·class="n">grouper</span><span·class="p">,</span>·<span·class="n">observed</span><span·class="o">=</span><span·class="kc">False</span><span·class="p">)</span><span·class="o">.</span><span·class="n">sum</span><span·class="p">()</span>
748 <span·class="gh">Out[9]:·</span>748 <span·class="gh">Out[9]:·</span>
749 <span·class="go">a····3</span>749 <span·class="go">a····3</span>
750 <span·class="go">b····0</span>750 <span·class="go">b····0</span>
751 <span·class="go">Length:·2,·dtype:·int64</span>751 <span·class="go">dtype:·int64</span>
752 </pre></div>752 </pre></div>
753 </div>753 </div>
754 <p>To·restore·the·0.21·behavior·of·returning·<code·class="docutils·literal·notranslate"><span·class="pre">NaN</span></code>·for·unobserved·groups,754 <p>To·restore·the·0.21·behavior·of·returning·<code·class="docutils·literal·notranslate"><span·class="pre">NaN</span></code>·for·unobserved·groups,
755 use·<code·class="docutils·literal·notranslate"><span·class="pre">min_count&gt;=1</span></code>.</p>755 use·<code·class="docutils·literal·notranslate"><span·class="pre">min_count&gt;=1</span></code>.</p>
756 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[10]:·</span><span·class="n">pd</span><span·class="o">.</span><span·class="n">Series</span><span·class="p">([</span><span·class="mi">1</span><span·class="p">,</span>·<span·class="mi">2</span><span·class="p">])</span><span·class="o">.</span><span·class="n">groupby</span><span·class="p">(</span><span·class="n">grouper</span><span·class="p">,</span>·<span·class="n">observed</span><span·class="o">=</span><span·class="kc">False</span><span·class="p">)</span><span·class="o">.</span><span·class="n">sum</span><span·class="p">(</span><span·class="n">min_count</span><span·class="o">=</span><span·class="mi">1</span><span·class="p">)</span>756 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[10]:·</span><span·class="n">pd</span><span·class="o">.</span><span·class="n">Series</span><span·class="p">([</span><span·class="mi">1</span><span·class="p">,</span>·<span·class="mi">2</span><span·class="p">])</span><span·class="o">.</span><span·class="n">groupby</span><span·class="p">(</span><span·class="n">grouper</span><span·class="p">,</span>·<span·class="n">observed</span><span·class="o">=</span><span·class="kc">False</span><span·class="p">)</span><span·class="o">.</span><span·class="n">sum</span><span·class="p">(</span><span·class="n">min_count</span><span·class="o">=</span><span·class="mi">1</span><span·class="p">)</span>
757 <span·class="gh">Out[10]:·</span>757 <span·class="gh">Out[10]:·</span>
758 <span·class="go">a····3.0</span>758 <span·class="go">a····3.0</span>
759 <span·class="go">b····NaN</span>759 <span·class="go">b····NaN</span>
760 <span·class="go">Length:·2,·dtype:·float64</span>760 <span·class="go">dtype:·float64</span>
761 </pre></div>761 </pre></div>
762 </div>762 </div>
763 </section>763 </section>
764 <section·id="resample">764 <section·id="resample">
765 <h3>Resample<a·class="headerlink"·href="#resample"·title="Link·to·this·heading">#</a></h3>765 <h3>Resample<a·class="headerlink"·href="#resample"·title="Link·to·this·heading">#</a></h3>
766 <p>The·sum·and·product·of·all-<em>NA</em>·bins·has·changed·from·<code·class="docutils·literal·notranslate"><span·class="pre">NaN</span></code>·to·<code·class="docutils·literal·notranslate"><span·class="pre">0</span></code>·for766 <p>The·sum·and·product·of·all-<em>NA</em>·bins·has·changed·from·<code·class="docutils·literal·notranslate"><span·class="pre">NaN</span></code>·to·<code·class="docutils·literal·notranslate"><span·class="pre">0</span></code>·for
767 sum·and·<code·class="docutils·literal·notranslate"><span·class="pre">1</span></code>·for·product.</p>767 sum·and·<code·class="docutils·literal·notranslate"><span·class="pre">1</span></code>·for·product.</p>
Offset 787, 23 lines modifiedOffset 787, 23 lines modified
787 <p><em>pandas·0.22.0</em></p>787 <p><em>pandas·0.22.0</em></p>
788 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[11]:·</span><span·class="n">s</span>·<span·class="o">=</span>·<span·class="n">pd</span><span·class="o">.</span><span·class="n">Series</span><span·class="p">([</span><span·class="mi">1</span><span·class="p">,</span>·<span·class="mi">1</span><span·class="p">,</span>·<span·class="n">np</span><span·class="o">.</span><span·class="n">nan</span><span·class="p">,</span>·<span·class="n">np</span><span·class="o">.</span><span·class="n">nan</span><span·class="p">],</span>·<span·class="n">index</span><span·class="o">=</span><span·class="n">pd</span><span·class="o">.</span><span·class="n">date_range</span><span·class="p">(</span><span·class="s2">&quot;2017&quot;</span><span·class="p">,</span>·<span·class="n">periods</span><span·class="o">=</span><span·class="mi">4</span><span·class="p">))</span>788 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[11]:·</span><span·class="n">s</span>·<span·class="o">=</span>·<span·class="n">pd</span><span·class="o">.</span><span·class="n">Series</span><span·class="p">([</span><span·class="mi">1</span><span·class="p">,</span>·<span·class="mi">1</span><span·class="p">,</span>·<span·class="n">np</span><span·class="o">.</span><span·class="n">nan</span><span·class="p">,</span>·<span·class="n">np</span><span·class="o">.</span><span·class="n">nan</span><span·class="p">],</span>·<span·class="n">index</span><span·class="o">=</span><span·class="n">pd</span><span·class="o">.</span><span·class="n">date_range</span><span·class="p">(</span><span·class="s2">&quot;2017&quot;</span><span·class="p">,</span>·<span·class="n">periods</span><span·class="o">=</span><span·class="mi">4</span><span·class="p">))</span>
  
789 <span·class="gp">In·[12]:·</span><span·class="n">s</span><span·class="o">.</span><span·class="n">resample</span><span·class="p">(</span><span·class="s2">&quot;2d&quot;</span><span·class="p">)</span><span·class="o">.</span><span·class="n">sum</span><span·class="p">()</span>789 <span·class="gp">In·[12]:·</span><span·class="n">s</span><span·class="o">.</span><span·class="n">resample</span><span·class="p">(</span><span·class="s2">&quot;2d&quot;</span><span·class="p">)</span><span·class="o">.</span><span·class="n">sum</span><span·class="p">()</span>
790 <span·class="gh">Out[12]:·</span>790 <span·class="gh">Out[12]:·</span>
791 <span·class="go">2017-01-01····2.0</span>791 <span·class="go">2017-01-01····2.0</span>
792 <span·class="go">2017-01-03····0.0</span>792 <span·class="go">2017-01-03····0.0</span>
793 <span·class="go">Freq:·2D,·Length:·2,·dtype:·float64</span>793 <span·class="go">Freq:·2D,·dtype:·float64</span>
794 </pre></div>794 </pre></div>
795 </div>795 </div>
796 <p>To·restore·the·0.21·behavior·of·returning·<code·class="docutils·literal·notranslate"><span·class="pre">NaN</span></code>,·use·<code·class="docutils·literal·notranslate"><span·class="pre">min_count&gt;=1</span></code>.</p>796 <p>To·restore·the·0.21·behavior·of·returning·<code·class="docutils·literal·notranslate"><span·class="pre">NaN</span></code>,·use·<code·class="docutils·literal·notranslate"><span·class="pre">min_count&gt;=1</span></code>.</p>
797 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[13]:·</span><span·class="n">s</span><span·class="o">.</span><span·class="n">resample</span><span·class="p">(</span><span·class="s2">&quot;2d&quot;</span><span·class="p">)</span><span·class="o">.</span><span·class="n">sum</span><span·class="p">(</span><span·class="n">min_count</span><span·class="o">=</span><span·class="mi">1</span><span·class="p">)</span>797 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[13]:·</span><span·class="n">s</span><span·class="o">.</span><span·class="n">resample</span><span·class="p">(</span><span·class="s2">&quot;2d&quot;</span><span·class="p">)</span><span·class="o">.</span><span·class="n">sum</span><span·class="p">(</span><span·class="n">min_count</span><span·class="o">=</span><span·class="mi">1</span><span·class="p">)</span>
798 <span·class="gh">Out[13]:·</span>798 <span·class="gh">Out[13]:·</span>
799 <span·class="go">2017-01-01····2.0</span>799 <span·class="go">2017-01-01····2.0</span>
800 <span·class="go">2017-01-03····NaN</span>800 <span·class="go">2017-01-03····NaN</span>
801 <span·class="go">Freq:·2D,·Length:·2,·dtype:·float64</span>801 <span·class="go">Freq:·2D,·dtype:·float64</span>
802 </pre></div>802 </pre></div>
803 </div>803 </div>
804 <p>In·particular,·upsampling·and·taking·the·sum·or·product·is·affected,·as804 <p>In·particular,·upsampling·and·taking·the·sum·or·product·is·affected,·as
805 upsampling·introduces·missing·values·even·if·the·original·series·was805 upsampling·introduces·missing·values·even·if·the·original·series·was
806 entirely·valid.</p>806 entirely·valid.</p>
807 <p><em>pandas·0.21.x</em></p>807 <p><em>pandas·0.21.x</em></p>
808 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[14]:·</span><span·class="n">idx</span>·<span·class="o">=</span>·<span·class="n">pd</span><span·class="o">.</span><span·class="n">DatetimeIndex</span><span·class="p">([</span><span·class="s1">&#39;2017-01-01&#39;</span><span·class="p">,</span>·<span·class="s1">&#39;2017-01-02&#39;</span><span·class="p">])</span>808 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[14]:·</span><span·class="n">idx</span>·<span·class="o">=</span>·<span·class="n">pd</span><span·class="o">.</span><span·class="n">DatetimeIndex</span><span·class="p">([</span><span·class="s1">&#39;2017-01-01&#39;</span><span·class="p">,</span>·<span·class="s1">&#39;2017-01-02&#39;</span><span·class="p">])</span>
Offset 856, 15 lines modifiedOffset 856, 15 lines modified
856 <p><em>pandas·0.22.0</em></p>856 <p><em>pandas·0.22.0</em></p>
857 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[14]:·</span><span·class="n">s</span>·<span·class="o">=</span>·<span·class="n">pd</span><span·class="o">.</span><span·class="n">Series</span><span·class="p">([</span><span·class="n">np</span><span·class="o">.</span><span·class="n">nan</span><span·class="p">,</span>·<span·class="n">np</span><span·class="o">.</span><span·class="n">nan</span><span·class="p">])</span>857 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[14]:·</span><span·class="n">s</span>·<span·class="o">=</span>·<span·class="n">pd</span><span·class="o">.</span><span·class="n">Series</span><span·class="p">([</span><span·class="n">np</span><span·class="o">.</span><span·class="n">nan</span><span·class="p">,</span>·<span·class="n">np</span><span·class="o">.</span><span·class="n">nan</span><span·class="p">])</span>
  
858 <span·class="gp">In·[15]:·</span><span·class="n">s</span><span·class="o">.</span><span·class="n">rolling</span><span·class="p">(</span><span·class="mi">2</span><span·class="p">,</span>·<span·class="n">min_periods</span><span·class="o">=</span><span·class="mi">0</span><span·class="p">)</span><span·class="o">.</span><span·class="n">sum</span><span·class="p">()</span>858 <span·class="gp">In·[15]:·</span><span·class="n">s</span><span·class="o">.</span><span·class="n">rolling</span><span·class="p">(</span><span·class="mi">2</span><span·class="p">,</span>·<span·class="n">min_periods</span><span·class="o">=</span><span·class="mi">0</span><span·class="p">)</span><span·class="o">.</span><span·class="n">sum</span><span·class="p">()</span>
859 <span·class="gh">Out[15]:·</span>859 <span·class="gh">Out[15]:·</span>
860 <span·class="go">0····0.0</span>860 <span·class="go">0····0.0</span>
861 <span·class="go">1····0.0</span>861 <span·class="go">1····0.0</span>
862 <span·class="go">Length:·2,·dtype:·float64</span>862 <span·class="go">dtype:·float64</span>
863 </pre></div>863 </pre></div>
864 </div>864 </div>
865 <p>The·default·behavior·of·<code·class="docutils·literal·notranslate"><span·class="pre">min_periods=None</span></code>,·implying·that·<code·class="docutils·literal·notranslate"><span·class="pre">min_periods</span></code>865 <p>The·default·behavior·of·<code·class="docutils·literal·notranslate"><span·class="pre">min_periods=None</span></code>,·implying·that·<code·class="docutils·literal·notranslate"><span·class="pre">min_periods</span></code>
866 equals·the·window·size,·is·unchanged.</p>866 equals·the·window·size,·is·unchanged.</p>
867 </section>867 </section>
868 </section>868 </section>
869 <section·id="compatibility">869 <section·id="compatibility">
2.26 KB
html2text {}
    
Offset 192, 22 lines modifiedOffset 192, 22 lines modified
192 p\x8pa\x8an\x8nd\x8da\x8as\x8s·0\x80.\x8.2\x822\x82192 p\x8pa\x8an\x8nd\x8da\x8as\x8s·0\x80.\x8.2\x822\x82
193 In·[8]:·grouper·=·pd.Categorical(["a",·"a"],·categories=["a",·"b"])193 In·[8]:·grouper·=·pd.Categorical(["a",·"a"],·categories=["a",·"b"])
  
194 In·[9]:·pd.Series([1,·2]).groupby(grouper,·observed=False).sum()194 In·[9]:·pd.Series([1,·2]).groupby(grouper,·observed=False).sum()
195 Out[9]:195 Out[9]:
196 a····3196 a····3
197 b····0197 b····0
198 Length:·2,·dtype:·int64198 dtype:·int64
199 To·restore·the·0.21·behavior·of·returning·NaN·for·unobserved·groups,·use199 To·restore·the·0.21·behavior·of·returning·NaN·for·unobserved·groups,·use
200 min_count>=1.200 min_count>=1.
201 In·[10]:·pd.Series([1,·2]).groupby(grouper,·observed=False).sum(min_count=1)201 In·[10]:·pd.Series([1,·2]).groupby(grouper,·observed=False).sum(min_count=1)
202 Out[10]:202 Out[10]:
203 a····3.0203 a····3.0
204 b····NaN204 b····NaN
205 Length:·2,·dtype:·float64205 dtype:·float64
206 *\x8**\x8**\x8**\x8*·R\x8Re\x8es\x8sa\x8am\x8mp\x8pl\x8le\x8e_\x8#\x8#·*\x8**\x8**\x8**\x8*206 *\x8**\x8**\x8**\x8*·R\x8Re\x8es\x8sa\x8am\x8mp\x8pl\x8le\x8e_\x8#\x8#·*\x8**\x8**\x8**\x8*
207 The·sum·and·product·of·all-N\x8NA\x8A·bins·has·changed·from·NaN·to·0·for·sum·and·1·for207 The·sum·and·product·of·all-N\x8NA\x8A·bins·has·changed·from·NaN·to·0·for·sum·and·1·for
208 product.208 product.
209 p\x8pa\x8an\x8nd\x8da\x8as\x8s·0\x80.\x8.2\x821\x81.\x8.x\x8x209 p\x8pa\x8an\x8nd\x8da\x8as\x8s·0\x80.\x8.2\x821\x81.\x8.x\x8x
210 In·[11]:·s·=·pd.Series([1,·1,·np.nan,·np.nan],210 In·[11]:·s·=·pd.Series([1,·1,·np.nan,·np.nan],
211 ···....:···············index=pd.date_range('2017',·periods=4))211 ···....:···············index=pd.date_range('2017',·periods=4))
212 ···....:·s212 ···....:·s
Offset 227, 21 lines modifiedOffset 227, 21 lines modified
227 In·[11]:·s·=·pd.Series([1,·1,·np.nan,·np.nan],·index=pd.date_range("2017",227 In·[11]:·s·=·pd.Series([1,·1,·np.nan,·np.nan],·index=pd.date_range("2017",
228 periods=4))228 periods=4))
  
229 In·[12]:·s.resample("2d").sum()229 In·[12]:·s.resample("2d").sum()
230 Out[12]:230 Out[12]:
231 2017-01-01····2.0231 2017-01-01····2.0
232 2017-01-03····0.0232 2017-01-03····0.0
233 Freq:·2D,·Length:·2,·dtype:·float64233 Freq:·2D,·dtype:·float64
234 To·restore·the·0.21·behavior·of·returning·NaN,·use·min_count>=1.234 To·restore·the·0.21·behavior·of·returning·NaN,·use·min_count>=1.
235 In·[13]:·s.resample("2d").sum(min_count=1)235 In·[13]:·s.resample("2d").sum(min_count=1)
236 Out[13]:236 Out[13]:
237 2017-01-01····2.0237 2017-01-01····2.0
238 2017-01-03····NaN238 2017-01-03····NaN
239 Freq:·2D,·Length:·2,·dtype:·float64239 Freq:·2D,·dtype:·float64
240 In·particular,·upsampling·and·taking·the·sum·or·product·is·affected,·as240 In·particular,·upsampling·and·taking·the·sum·or·product·is·affected,·as
241 upsampling·introduces·missing·values·even·if·the·original·series·was·entirely241 upsampling·introduces·missing·values·even·if·the·original·series·was·entirely
242 valid.242 valid.
243 p\x8pa\x8an\x8nd\x8da\x8as\x8s·0\x80.\x8.2\x821\x81.\x8.x\x8x243 p\x8pa\x8an\x8nd\x8da\x8as\x8s·0\x80.\x8.2\x821\x81.\x8.x\x8x
244 In·[14]:·idx·=·pd.DatetimeIndex(['2017-01-01',·'2017-01-02'])244 In·[14]:·idx·=·pd.DatetimeIndex(['2017-01-01',·'2017-01-02'])
  
245 In·[15]:·pd.Series([1,·2],·index=idx).resample('12H').sum()245 In·[15]:·pd.Series([1,·2],·index=idx).resample('12H').sum()
Offset 281, 15 lines modifiedOffset 281, 15 lines modified
281 p\x8pa\x8an\x8nd\x8da\x8as\x8s·0\x80.\x8.2\x822\x82.\x8.0\x80281 p\x8pa\x8an\x8nd\x8da\x8as\x8s·0\x80.\x8.2\x822\x82.\x8.0\x80
282 In·[14]:·s·=·pd.Series([np.nan,·np.nan])282 In·[14]:·s·=·pd.Series([np.nan,·np.nan])
  
283 In·[15]:·s.rolling(2,·min_periods=0).sum()283 In·[15]:·s.rolling(2,·min_periods=0).sum()
284 Out[15]:284 Out[15]:
285 0····0.0285 0····0.0
286 1····0.0286 1····0.0
287 Length:·2,·dtype:·float64287 dtype:·float64
288 The·default·behavior·of·min_periods=None,·implying·that·min_periods·equals·the288 The·default·behavior·of·min_periods=None,·implying·that·min_periods·equals·the
289 window·size,·is·unchanged.289 window·size,·is·unchanged.
290 *\x8**\x8**\x8**\x8**\x8*·C\x8Co\x8om\x8mp\x8pa\x8at\x8ti\x8ib\x8bi\x8il\x8li\x8it\x8ty\x8y_\x8#\x8#·*\x8**\x8**\x8**\x8**\x8*290 *\x8**\x8**\x8**\x8**\x8*·C\x8Co\x8om\x8mp\x8pa\x8at\x8ti\x8ib\x8bi\x8il\x8li\x8it\x8ty\x8y_\x8#\x8#·*\x8**\x8**\x8**\x8**\x8*
291 If·you·maintain·a·library·that·should·work·across·pandas·versions,·it·may·be291 If·you·maintain·a·library·that·should·work·across·pandas·versions,·it·may·be
292 easiest·to·exclude·pandas·0.21·from·your·requirements.·Otherwise,·all·your·sum292 easiest·to·exclude·pandas·0.21·from·your·requirements.·Otherwise,·all·your·sum
293 ()·calls·would·need·to·check·if·the·Series·is·empty·before·summing.293 ()·calls·would·need·to·check·if·the·Series·is·empty·before·summing.
294 With·setuptools,·in·your·setup.py·use:294 With·setuptools,·in·your·setup.py·use:
67.3 KB
./usr/share/doc/python-pandas-doc/html/whatsnew/v0.23.0.html
    
Offset 756, 46 lines modifiedOffset 756, 42 lines modified
756 <span·class="go">·····foo·bar········baz·qux</span>756 <span·class="go">·····foo·bar········baz·qux</span>
757 <span·class="go">idx························</span>757 <span·class="go">idx························</span>
758 <span·class="go">0······1···a·2018-01-01···a</span>758 <span·class="go">0······1···a·2018-01-01···a</span>
759 <span·class="go">1······2···b·2018-01-02···b</span>759 <span·class="go">1······2···b·2018-01-02···b</span>
760 <span·class="go">2······3···c·2018-01-03···c</span>760 <span·class="go">2······3···c·2018-01-03···c</span>
761 <span·class="go">3······4···d·2018-01-04···c</span>761 <span·class="go">3······4···d·2018-01-04···c</span>
  
762 <span·class="go">[4·rows·x·4·columns]</span> 
  
763 <span·class="gp">In·[3]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">dtypes</span>762 <span·class="gp">In·[3]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">dtypes</span>
764 <span·class="gh">Out[3]:·</span>763 <span·class="gh">Out[3]:·</span>
765 <span·class="go">foo·············int64</span>764 <span·class="go">foo·············int64</span>
766 <span·class="go">bar············object</span>765 <span·class="go">bar············object</span>
767 <span·class="go">baz····datetime64[ns]</span>766 <span·class="go">baz····datetime64[ns]</span>
768 <span·class="go">qux··········category</span>767 <span·class="go">qux··········category</span>
769 <span·class="go">Length:·4,·dtype:·object</span>768 <span·class="go">dtype:·object</span>
  
770 <span·class="gp">In·[4]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">to_json</span><span·class="p">(</span><span·class="s1">&#39;test.json&#39;</span><span·class="p">,</span>·<span·class="n">orient</span><span·class="o">=</span><span·class="s1">&#39;table&#39;</span><span·class="p">)</span>769 <span·class="gp">In·[4]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">to_json</span><span·class="p">(</span><span·class="s1">&#39;test.json&#39;</span><span·class="p">,</span>·<span·class="n">orient</span><span·class="o">=</span><span·class="s1">&#39;table&#39;</span><span·class="p">)</span>
  
771 <span·class="gp">In·[5]:·</span><span·class="n">new_df</span>·<span·class="o">=</span>·<span·class="n">pd</span><span·class="o">.</span><span·class="n">read_json</span><span·class="p">(</span><span·class="s1">&#39;test.json&#39;</span><span·class="p">,</span>·<span·class="n">orient</span><span·class="o">=</span><span·class="s1">&#39;table&#39;</span><span·class="p">)</span>770 <span·class="gp">In·[5]:·</span><span·class="n">new_df</span>·<span·class="o">=</span>·<span·class="n">pd</span><span·class="o">.</span><span·class="n">read_json</span><span·class="p">(</span><span·class="s1">&#39;test.json&#39;</span><span·class="p">,</span>·<span·class="n">orient</span><span·class="o">=</span><span·class="s1">&#39;table&#39;</span><span·class="p">)</span>
  
772 <span·class="gp">In·[6]:·</span><span·class="n">new_df</span>771 <span·class="gp">In·[6]:·</span><span·class="n">new_df</span>
773 <span·class="gh">Out[6]:·</span>772 <span·class="gh">Out[6]:·</span>
774 <span·class="go">·····foo·bar········baz·qux</span>773 <span·class="go">·····foo·bar········baz·qux</span>
775 <span·class="go">idx························</span>774 <span·class="go">idx························</span>
776 <span·class="go">0······1···a·2018-01-01···a</span>775 <span·class="go">0······1···a·2018-01-01···a</span>
777 <span·class="go">1······2···b·2018-01-02···b</span>776 <span·class="go">1······2···b·2018-01-02···b</span>
778 <span·class="go">2······3···c·2018-01-03···c</span>777 <span·class="go">2······3···c·2018-01-03···c</span>
779 <span·class="go">3······4···d·2018-01-04···c</span>778 <span·class="go">3······4···d·2018-01-04···c</span>
  
780 <span·class="go">[4·rows·x·4·columns]</span> 
  
781 <span·class="gp">In·[7]:·</span><span·class="n">new_df</span><span·class="o">.</span><span·class="n">dtypes</span>779 <span·class="gp">In·[7]:·</span><span·class="n">new_df</span><span·class="o">.</span><span·class="n">dtypes</span>
782 <span·class="gh">Out[7]:·</span>780 <span·class="gh">Out[7]:·</span>
783 <span·class="go">foo·············int64</span>781 <span·class="go">foo·············int64</span>
784 <span·class="go">bar············object</span>782 <span·class="go">bar············object</span>
785 <span·class="go">baz····datetime64[ns]</span>783 <span·class="go">baz····datetime64[ns]</span>
786 <span·class="go">qux··········category</span>784 <span·class="go">qux··········category</span>
787 <span·class="go">Length:·4,·dtype:·object</span>785 <span·class="go">dtype:·object</span>
788 </pre></div>786 </pre></div>
789 </div>787 </div>
790 <p>Please·note·that·the·string·<code·class="docutils·literal·notranslate"><span·class="pre">index</span></code>·is·not·supported·with·the·round·trip·format,·as·it·is·used·by·default·in·<code·class="docutils·literal·notranslate"><span·class="pre">write_json</span></code>·to·indicate·a·missing·index·name.</p>788 <p>Please·note·that·the·string·<code·class="docutils·literal·notranslate"><span·class="pre">index</span></code>·is·not·supported·with·the·round·trip·format,·as·it·is·used·by·default·in·<code·class="docutils·literal·notranslate"><span·class="pre">write_json</span></code>·to·indicate·a·missing·index·name.</p>
791 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[8]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">index</span><span·class="o">.</span><span·class="n">name</span>·<span·class="o">=</span>·<span·class="s1">&#39;index&#39;</span>789 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[8]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">index</span><span·class="o">.</span><span·class="n">name</span>·<span·class="o">=</span>·<span·class="s1">&#39;index&#39;</span>
  
792 <span·class="gp">In·[9]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">to_json</span><span·class="p">(</span><span·class="s1">&#39;test.json&#39;</span><span·class="p">,</span>·<span·class="n">orient</span><span·class="o">=</span><span·class="s1">&#39;table&#39;</span><span·class="p">)</span>790 <span·class="gp">In·[9]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">to_json</span><span·class="p">(</span><span·class="s1">&#39;test.json&#39;</span><span·class="p">,</span>·<span·class="n">orient</span><span·class="o">=</span><span·class="s1">&#39;table&#39;</span><span·class="p">)</span>
  
Offset 805, 23 lines modifiedOffset 801, 21 lines modified
805 <span·class="gh">Out[11]:·</span>801 <span·class="gh">Out[11]:·</span>
806 <span·class="go">···foo·bar········baz·qux</span>802 <span·class="go">···foo·bar········baz·qux</span>
807 <span·class="go">0····1···a·2018-01-01···a</span>803 <span·class="go">0····1···a·2018-01-01···a</span>
808 <span·class="go">1····2···b·2018-01-02···b</span>804 <span·class="go">1····2···b·2018-01-02···b</span>
809 <span·class="go">2····3···c·2018-01-03···c</span>805 <span·class="go">2····3···c·2018-01-03···c</span>
810 <span·class="go">3····4···d·2018-01-04···c</span>806 <span·class="go">3····4···d·2018-01-04···c</span>
  
811 <span·class="go">[4·rows·x·4·columns]</span> 
  
812 <span·class="gp">In·[12]:·</span><span·class="n">new_df</span><span·class="o">.</span><span·class="n">dtypes</span>807 <span·class="gp">In·[12]:·</span><span·class="n">new_df</span><span·class="o">.</span><span·class="n">dtypes</span>
813 <span·class="gh">Out[12]:·</span>808 <span·class="gh">Out[12]:·</span>
814 <span·class="go">foo·············int64</span>809 <span·class="go">foo·············int64</span>
815 <span·class="go">bar············object</span>810 <span·class="go">bar············object</span>
816 <span·class="go">baz····datetime64[ns]</span>811 <span·class="go">baz····datetime64[ns]</span>
817 <span·class="go">qux··········category</span>812 <span·class="go">qux··········category</span>
818 <span·class="go">Length:·4,·dtype:·object</span>813 <span·class="go">dtype:·object</span>
819 </pre></div>814 </pre></div>
820 </div>815 </div>
821 </section>816 </section>
822 <section·id="method-assign-accepts-dependent-arguments">817 <section·id="method-assign-accepts-dependent-arguments">
823 <span·id="whatsnew-0230-enhancements-assign-dependent"></span><h3>Method·<code·class="docutils·literal·notranslate"><span·class="pre">.assign()</span></code>·accepts·dependent·arguments<a·class="headerlink"·href="#method-assign-accepts-dependent-arguments"·title="Link·to·this·heading">#</a></h3>818 <span·id="whatsnew-0230-enhancements-assign-dependent"></span><h3>Method·<code·class="docutils·literal·notranslate"><span·class="pre">.assign()</span></code>·accepts·dependent·arguments<a·class="headerlink"·href="#method-assign-accepts-dependent-arguments"·title="Link·to·this·heading">#</a></h3>
824 <p>The·<a·class="reference·internal"·href="../reference/api/pandas.DataFrame.assign.html#pandas.DataFrame.assign"·title="pandas.DataFrame.assign"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">DataFrame.assign()</span></code></a>·now·accepts·dependent·keyword·arguments·for·python·version·later·than·3.6·(see·also·<a·class="reference·external"·href="https://www.python.org/dev/peps/pep-0468/">PEP·468</a>).·Later·keyword·arguments·may·now·refer·to·earlier·ones·if·the·argument·is·a·callable.·See·the819 <p>The·<a·class="reference·internal"·href="../reference/api/pandas.DataFrame.assign.html#pandas.DataFrame.assign"·title="pandas.DataFrame.assign"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">DataFrame.assign()</span></code></a>·now·accepts·dependent·keyword·arguments·for·python·version·later·than·3.6·(see·also·<a·class="reference·external"·href="https://www.python.org/dev/peps/pep-0468/">PEP·468</a>).·Later·keyword·arguments·may·now·refer·to·earlier·ones·if·the·argument·is·a·callable.·See·the
825 <a·class="reference·internal"·href="../user_guide/dsintro.html#dsintro-chained-assignment"><span·class="std·std-ref">documentation·here</span></a>·(<a·class="extlink-issue·reference·external"·href="https://github.com/pandas-dev/pandas/issues/14207">GH·14207</a>)</p>820 <a·class="reference·internal"·href="../user_guide/dsintro.html#dsintro-chained-assignment"><span·class="std·std-ref">documentation·here</span></a>·(<a·class="extlink-issue·reference·external"·href="https://github.com/pandas-dev/pandas/issues/14207">GH·14207</a>)</p>
Offset 830, 24 lines modifiedOffset 824, 20 lines modified
830 <span·class="gp">In·[14]:·</span><span·class="n">df</span>824 <span·class="gp">In·[14]:·</span><span·class="n">df</span>
831 <span·class="gh">Out[14]:·</span>825 <span·class="gh">Out[14]:·</span>
832 <span·class="go">···A</span>826 <span·class="go">···A</span>
833 <span·class="go">0··1</span>827 <span·class="go">0··1</span>
834 <span·class="go">1··2</span>828 <span·class="go">1··2</span>
835 <span·class="go">2··3</span>829 <span·class="go">2··3</span>
  
836 <span·class="go">[3·rows·x·1·columns]</span> 
  
837 <span·class="gp">In·[15]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">assign</span><span·class="p">(</span><span·class="n">B</span><span·class="o">=</span><span·class="n">df</span><span·class="o">.</span><span·class="n">A</span><span·class="p">,</span>·<span·class="n">C</span><span·class="o">=</span><span·class="k">lambda</span>·<span·class="n">x</span><span·class="p">:</span>·<span·class="n">x</span><span·class="p">[</span><span·class="s1">&#39;A&#39;</span><span·class="p">]</span>·<span·class="o">+</span>·<span·class="n">x</span><span·class="p">[</span><span·class="s1">&#39;B&#39;</span><span·class="p">])</span>830 <span·class="gp">In·[15]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">assign</span><span·class="p">(</span><span·class="n">B</span><span·class="o">=</span><span·class="n">df</span><span·class="o">.</span><span·class="n">A</span><span·class="p">,</span>·<span·class="n">C</span><span·class="o">=</span><span·class="k">lambda</span>·<span·class="n">x</span><span·class="p">:</span>·<span·class="n">x</span><span·class="p">[</span><span·class="s1">&#39;A&#39;</span><span·class="p">]</span>·<span·class="o">+</span>·<span·class="n">x</span><span·class="p">[</span><span·class="s1">&#39;B&#39;</span><span·class="p">])</span>
838 <span·class="gh">Out[15]:·</span>831 <span·class="gh">Out[15]:·</span>
839 <span·class="go">···A··B··C</span>832 <span·class="go">···A··B··C</span>
840 <span·class="go">0··1··1··2</span>833 <span·class="go">0··1··1··2</span>
841 <span·class="go">1··2··2··4</span>834 <span·class="go">1··2··2··4</span>
842 <span·class="go">2··3··3··6</span>835 <span·class="go">2··3··3··6</span>
  
843 <span·class="go">[3·rows·x·3·columns]</span> 
844 </pre></div>836 </pre></div>
845 </div>837 </div>
846 <div·class="admonition·warning">838 <div·class="admonition·warning">
847 <p·class="admonition-title">Warning</p>839 <p·class="admonition-title">Warning</p>
848 <p>This·may·subtly·change·the·behavior·of·your·code·when·you’re840 <p>This·may·subtly·change·the·behavior·of·your·code·when·you’re
849 using·<code·class="docutils·literal·notranslate"><span·class="pre">.assign()</span></code>·to·update·an·existing·column.·Previously,·callables841 using·<code·class="docutils·literal·notranslate"><span·class="pre">.assign()</span></code>·to·update·an·existing·column.·Previously,·callables
850 referring·to·other·variables·being·updated·would·get·the·“old”·values</p>842 referring·to·other·variables·being·updated·would·get·the·“old”·values</p>
Offset 865, 16 lines modifiedOffset 855, 14 lines modified
865 <p>New·behavior:</p>855 <p>New·behavior:</p>
866 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[16]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">assign</span><span·class="p">(</span><span·class="n">A</span><span·class="o">=</span><span·class="n">df</span><span·class="o">.</span><span·class="n">A</span>·<span·class="o">+</span>·<span·class="mi">1</span><span·class="p">,</span>·<span·class="n">C</span><span·class="o">=</span><span·class="k">lambda</span>·<span·class="n">df</span><span·class="p">:</span>·<span·class="n">df</span><span·class="o">.</span><span·class="n">A</span>·<span·class="o">*</span>·<span·class="o">-</span><span·class="mi">1</span><span·class="p">)</span>856 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[16]:·</span><span·class="n">df</span><span·class="o">.</span><span·class="n">assign</span><span·class="p">(</span><span·class="n">A</span><span·class="o">=</span><span·class="n">df</span><span·class="o">.</span><span·class="n">A</span>·<span·class="o">+</span>·<span·class="mi">1</span><span·class="p">,</span>·<span·class="n">C</span><span·class="o">=</span><span·class="k">lambda</span>·<span·class="n">df</span><span·class="p">:</span>·<span·class="n">df</span><span·class="o">.</span><span·class="n">A</span>·<span·class="o">*</span>·<span·class="o">-</span><span·class="mi">1</span><span·class="p">)</span>
867 <span·class="gh">Out[16]:·</span>857 <span·class="gh">Out[16]:·</span>
868 <span·class="go">···A··C</span>858 <span·class="go">···A··C</span>
869 <span·class="go">0··2·-2</span>859 <span·class="go">0··2·-2</span>
870 <span·class="go">1··3·-3</span>860 <span·class="go">1··3·-3</span>
871 <span·class="go">2··4·-4</span>861 <span·class="go">2··4·-4</span>
  
872 <span·class="go">[3·rows·x·2·columns]</span> 
873 </pre></div>862 </pre></div>
874 </div>863 </div>
875 </div>864 </div>
876 </section>865 </section>
877 <section·id="merging-on-a-combination-of-columns-and-index-levels">866 <section·id="merging-on-a-combination-of-columns-and-index-levels">
878 <span·id="whatsnew-0230-enhancements-merge-on-columns-and-levels"></span><h3>Merging·on·a·combination·of·columns·and·index·levels<a·class="headerlink"·href="#merging-on-a-combination-of-columns-and-index-levels"·title="Link·to·this·heading">#</a></h3>867 <span·id="whatsnew-0230-enhancements-merge-on-columns-and-levels"></span><h3>Merging·on·a·combination·of·columns·and·index·levels<a·class="headerlink"·href="#merging-on-a-combination-of-columns-and-index-levels"·title="Link·to·this·heading">#</a></h3>
879 <p>Strings·passed·to·<a·class="reference·internal"·href="../reference/api/pandas.DataFrame.merge.html#pandas.DataFrame.merge"·title="pandas.DataFrame.merge"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">DataFrame.merge()</span></code></a>·as·the·<code·class="docutils·literal·notranslate"><span·class="pre">on</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">left_on</span></code>,·and·<code·class="docutils·literal·notranslate"><span·class="pre">right_on</span></code>868 <p>Strings·passed·to·<a·class="reference·internal"·href="../reference/api/pandas.DataFrame.merge.html#pandas.DataFrame.merge"·title="pandas.DataFrame.merge"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">DataFrame.merge()</span></code></a>·as·the·<code·class="docutils·literal·notranslate"><span·class="pre">on</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">left_on</span></code>,·and·<code·class="docutils·literal·notranslate"><span·class="pre">right_on</span></code>
Offset 902, 16 lines modifiedOffset 890, 14 lines modified
902 <span·class="gp">In·[21]:·</span><span·class="n">left</span><span·class="o">.</span><span·class="n">merge</span><span·class="p">(</span><span·class="n">right</span><span·class="p">,</span>·<span·class="n">on</span><span·class="o">=</span><span·class="p">[</span><span·class="s1">&#39;key1&#39;</span><span·class="p">,</span>·<span·class="s1">&#39;key2&#39;</span><span·class="p">])</span>890 <span·class="gp">In·[21]:·</span><span·class="n">left</span><span·class="o">.</span><span·class="n">merge</span><span·class="p">(</span><span·class="n">right</span><span·class="p">,</span>·<span·class="n">on</span><span·class="o">=</span><span·class="p">[</span><span·class="s1">&#39;key1&#39;</span><span·class="p">,</span>·<span·class="s1">&#39;key2&#39;</span><span·class="p">])</span>
903 <span·class="gh">Out[21]:·</span>891 <span·class="gh">Out[21]:·</span>
904 <span·class="go">·······A···B·key2···C···D</span>892 <span·class="go">·······A···B·key2···C···D</span>
905 <span·class="go">key1·····················</span>893 <span·class="go">key1·····················</span>
906 <span·class="go">K0····A0··B0···K0··C0··D0</span>894 <span·class="go">K0····A0··B0···K0··C0··D0</span>
907 <span·class="go">K1····A2··B2···K0··C1··D1</span>895 <span·class="go">K1····A2··B2···K0··C1··D1</span>
908 <span·class="go">K2····A3··B3···K1··C3··D3</span>896 <span·class="go">K2····A3··B3···K1··C3··D3</span>
  
909 <span·class="go">[3·rows·x·5·columns]</span> 
910 </pre></div>897 </pre></div>
911 </div>898 </div>
912 </section>899 </section>
913 <section·id="sorting-by-a-combination-of-columns-and-index-levels">900 <section·id="sorting-by-a-combination-of-columns-and-index-levels">
914 <span·id="whatsnew-0230-enhancements-sort-by-columns-and-levels"></span><h3>Sorting·by·a·combination·of·columns·and·index·levels<a·class="headerlink"·href="#sorting-by-a-combination-of-columns-and-index-levels"·title="Link·to·this·heading">#</a></h3>901 <span·id="whatsnew-0230-enhancements-sort-by-columns-and-levels"></span><h3>Sorting·by·a·combination·of·columns·and·index·levels<a·class="headerlink"·href="#sorting-by-a-combination-of-columns-and-index-levels"·title="Link·to·this·heading">#</a></h3>
Max diff block lines reached; 40918/51191 bytes (79.93%) of diff not shown.
17.2 KB
html2text {}
    
Offset 210, 46 lines modifiedOffset 210, 42 lines modified
210 ·····foo·bar········baz·qux210 ·····foo·bar········baz·qux
211 idx211 idx
212 0······1···a·2018-01-01···a212 0······1···a·2018-01-01···a
213 1······2···b·2018-01-02···b213 1······2···b·2018-01-02···b
214 2······3···c·2018-01-03···c214 2······3···c·2018-01-03···c
215 3······4···d·2018-01-04···c215 3······4···d·2018-01-04···c
  
216 [4·rows·x·4·columns] 
  
217 In·[3]:·df.dtypes216 In·[3]:·df.dtypes
218 Out[3]:217 Out[3]:
219 foo·············int64218 foo·············int64
220 bar············object219 bar············object
221 baz····datetime64[ns]220 baz····datetime64[ns]
222 qux··········category221 qux··········category
223 Length:·4,·dtype:·object222 dtype:·object
  
224 In·[4]:·df.to_json('test.json',·orient='table')223 In·[4]:·df.to_json('test.json',·orient='table')
  
225 In·[5]:·new_df·=·pd.read_json('test.json',·orient='table')224 In·[5]:·new_df·=·pd.read_json('test.json',·orient='table')
  
226 In·[6]:·new_df225 In·[6]:·new_df
227 Out[6]:226 Out[6]:
228 ·····foo·bar········baz·qux227 ·····foo·bar········baz·qux
229 idx228 idx
230 0······1···a·2018-01-01···a229 0······1···a·2018-01-01···a
231 1······2···b·2018-01-02···b230 1······2···b·2018-01-02···b
232 2······3···c·2018-01-03···c231 2······3···c·2018-01-03···c
233 3······4···d·2018-01-04···c232 3······4···d·2018-01-04···c
  
234 [4·rows·x·4·columns] 
  
235 In·[7]:·new_df.dtypes233 In·[7]:·new_df.dtypes
236 Out[7]:234 Out[7]:
237 foo·············int64235 foo·············int64
238 bar············object236 bar············object
239 baz····datetime64[ns]237 baz····datetime64[ns]
240 qux··········category238 qux··········category
241 Length:·4,·dtype:·object239 dtype:·object
242 Please·note·that·the·string·index·is·not·supported·with·the·round·trip·format,240 Please·note·that·the·string·index·is·not·supported·with·the·round·trip·format,
243 as·it·is·used·by·default·in·write_json·to·indicate·a·missing·index·name.241 as·it·is·used·by·default·in·write_json·to·indicate·a·missing·index·name.
244 In·[8]:·df.index.name·=·'index'242 In·[8]:·df.index.name·=·'index'
  
245 In·[9]:·df.to_json('test.json',·orient='table')243 In·[9]:·df.to_json('test.json',·orient='table')
  
246 In·[10]:·new_df·=·pd.read_json('test.json',·orient='table')244 In·[10]:·new_df·=·pd.read_json('test.json',·orient='table')
Offset 258, 47 lines modifiedOffset 254, 41 lines modified
258 Out[11]:254 Out[11]:
259 ···foo·bar········baz·qux255 ···foo·bar········baz·qux
260 0····1···a·2018-01-01···a256 0····1···a·2018-01-01···a
261 1····2···b·2018-01-02···b257 1····2···b·2018-01-02···b
262 2····3···c·2018-01-03···c258 2····3···c·2018-01-03···c
263 3····4···d·2018-01-04···c259 3····4···d·2018-01-04···c
  
264 [4·rows·x·4·columns] 
  
265 In·[12]:·new_df.dtypes260 In·[12]:·new_df.dtypes
266 Out[12]:261 Out[12]:
267 foo·············int64262 foo·············int64
268 bar············object263 bar············object
269 baz····datetime64[ns]264 baz····datetime64[ns]
270 qux··········category265 qux··········category
271 Length:·4,·dtype:·object266 dtype:·object
272 *\x8**\x8**\x8**\x8*·M\x8Me\x8et\x8th\x8ho\x8od\x8d·.\x8.a\x8as\x8ss\x8si\x8ig\x8gn\x8n(\x8()\x8)·a\x8ac\x8cc\x8ce\x8ep\x8pt\x8ts\x8s·d\x8de\x8ep\x8pe\x8en\x8nd\x8de\x8en\x8nt\x8t·a\x8ar\x8rg\x8gu\x8um\x8me\x8en\x8nt\x8ts\x8s_\x8#\x8#·*\x8**\x8**\x8**\x8*267 *\x8**\x8**\x8**\x8*·M\x8Me\x8et\x8th\x8ho\x8od\x8d·.\x8.a\x8as\x8ss\x8si\x8ig\x8gn\x8n(\x8()\x8)·a\x8ac\x8cc\x8ce\x8ep\x8pt\x8ts\x8s·d\x8de\x8ep\x8pe\x8en\x8nd\x8de\x8en\x8nt\x8t·a\x8ar\x8rg\x8gu\x8um\x8me\x8en\x8nt\x8ts\x8s_\x8#\x8#·*\x8**\x8**\x8**\x8*
273 The·_\x8D_\x8a_\x8t_\x8a_\x8F_\x8r_\x8a_\x8m_\x8e_\x8._\x8a_\x8s_\x8s_\x8i_\x8g_\x8n_\x8(_\x8)·now·accepts·dependent·keyword·arguments·for·python268 The·_\x8D_\x8a_\x8t_\x8a_\x8F_\x8r_\x8a_\x8m_\x8e_\x8._\x8a_\x8s_\x8s_\x8i_\x8g_\x8n_\x8(_\x8)·now·accepts·dependent·keyword·arguments·for·python
274 version·later·than·3.6·(see·also·_\x8P_\x8E_\x8P_\x8·_\x84_\x86_\x88).·Later·keyword·arguments·may·now269 version·later·than·3.6·(see·also·_\x8P_\x8E_\x8P_\x8·_\x84_\x86_\x88).·Later·keyword·arguments·may·now
275 refer·to·earlier·ones·if·the·argument·is·a·callable.·See·the·_\x8d_\x8o_\x8c_\x8u_\x8m_\x8e_\x8n_\x8t_\x8a_\x8t_\x8i_\x8o_\x8n_\x8·_\x8h_\x8e_\x8r_\x8e270 refer·to·earlier·ones·if·the·argument·is·a·callable.·See·the·_\x8d_\x8o_\x8c_\x8u_\x8m_\x8e_\x8n_\x8t_\x8a_\x8t_\x8i_\x8o_\x8n_\x8·_\x8h_\x8e_\x8r_\x8e
276 (_\x8G_\x8H_\x8·_\x81_\x84_\x82_\x80_\x87)271 (_\x8G_\x8H_\x8·_\x81_\x84_\x82_\x80_\x87)
277 In·[13]:·df·=·pd.DataFrame({'A':·[1,·2,·3]})272 In·[13]:·df·=·pd.DataFrame({'A':·[1,·2,·3]})
  
278 In·[14]:·df273 In·[14]:·df
279 Out[14]:274 Out[14]:
280 ···A275 ···A
281 0··1276 0··1
282 1··2277 1··2
283 2··3278 2··3
  
284 [3·rows·x·1·columns] 
  
285 In·[15]:·df.assign(B=df.A,·C=lambda·x:·x['A']·+·x['B'])279 In·[15]:·df.assign(B=df.A,·C=lambda·x:·x['A']·+·x['B'])
286 Out[15]:280 Out[15]:
287 ···A··B··C281 ···A··B··C
288 0··1··1··2282 0··1··1··2
289 1··2··2··4283 1··2··2··4
290 2··3··3··6284 2··3··3··6
  
291 [3·rows·x·3·columns] 
292 Warning285 Warning
293 This·may·subtly·change·the·behavior·of·your·code·when·you’re·using·.assign()·to286 This·may·subtly·change·the·behavior·of·your·code·when·you’re·using·.assign()·to
294 update·an·existing·column.·Previously,·callables·referring·to·other·variables287 update·an·existing·column.·Previously,·callables·referring·to·other·variables
295 being·updated·would·get·the·“old”·values288 being·updated·would·get·the·“old”·values
296 Previous·behavior:289 Previous·behavior:
297 In·[2]:·df·=·pd.DataFrame({"A":·[1,·2,·3]})290 In·[2]:·df·=·pd.DataFrame({"A":·[1,·2,·3]})
  
Offset 311, 16 lines modifiedOffset 301, 14 lines modified
311 New·behavior:301 New·behavior:
312 In·[16]:·df.assign(A=df.A·+·1,·C=lambda·df:·df.A·*·-1)302 In·[16]:·df.assign(A=df.A·+·1,·C=lambda·df:·df.A·*·-1)
313 Out[16]:303 Out[16]:
314 ···A··C304 ···A··C
315 0··2·-2305 0··2·-2
316 1··3·-3306 1··3·-3
317 2··4·-4307 2··4·-4
  
318 [3·rows·x·2·columns] 
319 *\x8**\x8**\x8**\x8*·M\x8Me\x8er\x8rg\x8gi\x8in\x8ng\x8g·o\x8on\x8n·a\x8a·c\x8co\x8om\x8mb\x8bi\x8in\x8na\x8at\x8ti\x8io\x8on\x8n·o\x8of\x8f·c\x8co\x8ol\x8lu\x8um\x8mn\x8ns\x8s·a\x8an\x8nd\x8d·i\x8in\x8nd\x8de\x8ex\x8x·l\x8le\x8ev\x8ve\x8el\x8ls\x8s_\x8#\x8#·*\x8**\x8**\x8**\x8*308 *\x8**\x8**\x8**\x8*·M\x8Me\x8er\x8rg\x8gi\x8in\x8ng\x8g·o\x8on\x8n·a\x8a·c\x8co\x8om\x8mb\x8bi\x8in\x8na\x8at\x8ti\x8io\x8on\x8n·o\x8of\x8f·c\x8co\x8ol\x8lu\x8um\x8mn\x8ns\x8s·a\x8an\x8nd\x8d·i\x8in\x8nd\x8de\x8ex\x8x·l\x8le\x8ev\x8ve\x8el\x8ls\x8s_\x8#\x8#·*\x8**\x8**\x8**\x8*
320 Strings·passed·to·_\x8D_\x8a_\x8t_\x8a_\x8F_\x8r_\x8a_\x8m_\x8e_\x8._\x8m_\x8e_\x8r_\x8g_\x8e_\x8(_\x8)·as·the·on,·left_on,·and·right_on·parameters309 Strings·passed·to·_\x8D_\x8a_\x8t_\x8a_\x8F_\x8r_\x8a_\x8m_\x8e_\x8._\x8m_\x8e_\x8r_\x8g_\x8e_\x8(_\x8)·as·the·on,·left_on,·and·right_on·parameters
321 may·now·refer·to·either·column·names·or·index·level·names.·This·enables·merging310 may·now·refer·to·either·column·names·or·index·level·names.·This·enables·merging
322 DataFrame·instances·on·a·combination·of·index·levels·and·columns·without311 DataFrame·instances·on·a·combination·of·index·levels·and·columns·without
323 resetting·indexes.·See·the·_\x8M_\x8e_\x8r_\x8g_\x8e_\x8·_\x8o_\x8n_\x8·_\x8c_\x8o_\x8l_\x8u_\x8m_\x8n_\x8s_\x8·_\x8a_\x8n_\x8d_\x8·_\x8l_\x8e_\x8v_\x8e_\x8l_\x8s·documentation·section.312 resetting·indexes.·See·the·_\x8M_\x8e_\x8r_\x8g_\x8e_\x8·_\x8o_\x8n_\x8·_\x8c_\x8o_\x8l_\x8u_\x8m_\x8n_\x8s_\x8·_\x8a_\x8n_\x8d_\x8·_\x8l_\x8e_\x8v_\x8e_\x8l_\x8s·documentation·section.
324 (_\x8G_\x8H_\x8·_\x81_\x84_\x83_\x85_\x85)313 (_\x8G_\x8H_\x8·_\x81_\x84_\x83_\x85_\x85)
325 In·[17]:·left_index·=·pd.Index(['K0',·'K0',·'K1',·'K2'],·name='key1')314 In·[17]:·left_index·=·pd.Index(['K0',·'K0',·'K1',·'K2'],·name='key1')
Offset 342, 16 lines modifiedOffset 330, 14 lines modified
342 In·[21]:·left.merge(right,·on=['key1',·'key2'])330 In·[21]:·left.merge(right,·on=['key1',·'key2'])
343 Out[21]:331 Out[21]:
344 ·······A···B·key2···C···D332 ·······A···B·key2···C···D
345 key1333 key1
346 K0····A0··B0···K0··C0··D0334 K0····A0··B0···K0··C0··D0
347 K1····A2··B2···K0··C1··D1335 K1····A2··B2···K0··C1··D1
348 K2····A3··B3···K1··C3··D3336 K2····A3··B3···K1··C3··D3
  
349 [3·rows·x·5·columns] 
350 *\x8**\x8**\x8**\x8*·S\x8So\x8or\x8rt\x8ti\x8in\x8ng\x8g·b\x8by\x8y·a\x8a·c\x8co\x8om\x8mb\x8bi\x8in\x8na\x8at\x8ti\x8io\x8on\x8n·o\x8of\x8f·c\x8co\x8ol\x8lu\x8um\x8mn\x8ns\x8s·a\x8an\x8nd\x8d·i\x8in\x8nd\x8de\x8ex\x8x·l\x8le\x8ev\x8ve\x8el\x8ls\x8s_\x8#\x8#·*\x8**\x8**\x8**\x8*337 *\x8**\x8**\x8**\x8*·S\x8So\x8or\x8rt\x8ti\x8in\x8ng\x8g·b\x8by\x8y·a\x8a·c\x8co\x8om\x8mb\x8bi\x8in\x8na\x8at\x8ti\x8io\x8on\x8n·o\x8of\x8f·c\x8co\x8ol\x8lu\x8um\x8mn\x8ns\x8s·a\x8an\x8nd\x8d·i\x8in\x8nd\x8de\x8ex\x8x·l\x8le\x8ev\x8ve\x8el\x8ls\x8s_\x8#\x8#·*\x8**\x8**\x8**\x8*
351 Strings·passed·to·_\x8D_\x8a_\x8t_\x8a_\x8F_\x8r_\x8a_\x8m_\x8e_\x8._\x8s_\x8o_\x8r_\x8t_\x8__\x8v_\x8a_\x8l_\x8u_\x8e_\x8s_\x8(_\x8)·as·the·by·parameter·may·now·refer·to338 Strings·passed·to·_\x8D_\x8a_\x8t_\x8a_\x8F_\x8r_\x8a_\x8m_\x8e_\x8._\x8s_\x8o_\x8r_\x8t_\x8__\x8v_\x8a_\x8l_\x8u_\x8e_\x8s_\x8(_\x8)·as·the·by·parameter·may·now·refer·to
352 either·column·names·or·index·level·names.·This·enables·sorting·DataFrame339 either·column·names·or·index·level·names.·This·enables·sorting·DataFrame
353 instances·by·a·combination·of·index·levels·and·columns·without·resetting340 instances·by·a·combination·of·index·levels·and·columns·without·resetting
354 indexes.·See·the·_\x8S_\x8o_\x8r_\x8t_\x8i_\x8n_\x8g_\x8·_\x8b_\x8y_\x8·_\x8I_\x8n_\x8d_\x8e_\x8x_\x8e_\x8s_\x8·_\x8a_\x8n_\x8d_\x8·_\x8V_\x8a_\x8l_\x8u_\x8e_\x8s·documentation·section.·(_\x8G_\x8H341 indexes.·See·the·_\x8S_\x8o_\x8r_\x8t_\x8i_\x8n_\x8g_\x8·_\x8b_\x8y_\x8·_\x8I_\x8n_\x8d_\x8e_\x8x_\x8e_\x8s_\x8·_\x8a_\x8n_\x8d_\x8·_\x8V_\x8a_\x8l_\x8u_\x8e_\x8s·documentation·section.·(_\x8G_\x8H
355 _\x81_\x84_\x83_\x85_\x83)342 _\x81_\x84_\x83_\x85_\x83)
Max diff block lines reached; 13348/17569 bytes (75.97%) of diff not shown.
2.93 KB
./usr/share/doc/python-pandas-doc/html/whatsnew/v0.24.0.html
    
Offset 820, 18 lines modifiedOffset 820, 18 lines modified
820 a·new·ndarray·of·period·objects·each·time.</p>820 a·new·ndarray·of·period·objects·each·time.</p>
821 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[18]:·</span><span·class="n">idx</span><span·class="o">.</span><span·class="n">values</span>821 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[18]:·</span><span·class="n">idx</span><span·class="o">.</span><span·class="n">values</span>
822 <span·class="gh">Out[18]:·</span>822 <span·class="gh">Out[18]:·</span>
823 <span·class="go">array([Period(&#39;2000-01-01&#39;,·&#39;D&#39;),·Period(&#39;2000-01-02&#39;,·&#39;D&#39;),</span>823 <span·class="go">array([Period(&#39;2000-01-01&#39;,·&#39;D&#39;),·Period(&#39;2000-01-02&#39;,·&#39;D&#39;),</span>
824 <span·class="go">·······Period(&#39;2000-01-03&#39;,·&#39;D&#39;),·Period(&#39;2000-01-04&#39;,·&#39;D&#39;)],·dtype=object)</span>824 <span·class="go">·······Period(&#39;2000-01-03&#39;,·&#39;D&#39;),·Period(&#39;2000-01-04&#39;,·&#39;D&#39;)],·dtype=object)</span>
  
825 <span·class="gp">In·[19]:·</span><span·class="nb">id</span><span·class="p">(</span><span·class="n">idx</span><span·class="o">.</span><span·class="n">values</span><span·class="p">)</span>825 <span·class="gp">In·[19]:·</span><span·class="nb">id</span><span·class="p">(</span><span·class="n">idx</span><span·class="o">.</span><span·class="n">values</span><span·class="p">)</span>
826 <span·class="gh">Out[19]:·</span><span·class="go">140212096832912</span>826 <span·class="gh">Out[19]:·</span><span·class="go">140400324419792</span>
  
827 <span·class="gp">In·[20]:·</span><span·class="nb">id</span><span·class="p">(</span><span·class="n">idx</span><span·class="o">.</span><span·class="n">values</span><span·class="p">)</span>827 <span·class="gp">In·[20]:·</span><span·class="nb">id</span><span·class="p">(</span><span·class="n">idx</span><span·class="o">.</span><span·class="n">values</span><span·class="p">)</span>
828 <span·class="gh">Out[20]:·</span><span·class="go">140212096832912</span>828 <span·class="gh">Out[20]:·</span><span·class="go">140400324417488</span>
829 </pre></div>829 </pre></div>
830 </div>830 </div>
831 <p>If·you·need·an·actual·NumPy·array,·use·<a·class="reference·internal"·href="../reference/api/pandas.Series.to_numpy.html#pandas.Series.to_numpy"·title="pandas.Series.to_numpy"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">Series.to_numpy()</span></code></a>·or·<code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">Index.to_numpy()</span></code>.</p>831 <p>If·you·need·an·actual·NumPy·array,·use·<a·class="reference·internal"·href="../reference/api/pandas.Series.to_numpy.html#pandas.Series.to_numpy"·title="pandas.Series.to_numpy"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">Series.to_numpy()</span></code></a>·or·<code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">Index.to_numpy()</span></code>.</p>
832 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[21]:·</span><span·class="n">idx</span><span·class="o">.</span><span·class="n">to_numpy</span><span·class="p">()</span>832 <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[21]:·</span><span·class="n">idx</span><span·class="o">.</span><span·class="n">to_numpy</span><span·class="p">()</span>
833 <span·class="gh">Out[21]:·</span>833 <span·class="gh">Out[21]:·</span>
834 <span·class="go">array([Period(&#39;2000-01-01&#39;,·&#39;D&#39;),·Period(&#39;2000-01-02&#39;,·&#39;D&#39;),</span>834 <span·class="go">array([Period(&#39;2000-01-01&#39;,·&#39;D&#39;),·Period(&#39;2000-01-02&#39;,·&#39;D&#39;),</span>
835 <span·class="go">·······Period(&#39;2000-01-03&#39;,·&#39;D&#39;),·Period(&#39;2000-01-04&#39;,·&#39;D&#39;)],·dtype=object)</span>835 <span·class="go">·······Period(&#39;2000-01-03&#39;,·&#39;D&#39;),·Period(&#39;2000-01-04&#39;,·&#39;D&#39;)],·dtype=object)</span>
711 B
html2text {}
    
Offset 268, 18 lines modifiedOffset 268, 18 lines modified
268 each·time.268 each·time.
269 In·[18]:·idx.values269 In·[18]:·idx.values
270 Out[18]:270 Out[18]:
271 array([Period('2000-01-01',·'D'),·Period('2000-01-02',·'D'),271 array([Period('2000-01-01',·'D'),·Period('2000-01-02',·'D'),
272 ·······Period('2000-01-03',·'D'),·Period('2000-01-04',·'D')],·dtype=object)272 ·······Period('2000-01-03',·'D'),·Period('2000-01-04',·'D')],·dtype=object)
  
273 In·[19]:·id(idx.values)273 In·[19]:·id(idx.values)
274 Out[19]:·140212096832912274 Out[19]:·140400324419792
  
275 In·[20]:·id(idx.values)275 In·[20]:·id(idx.values)
276 Out[20]:·140212096832912276 Out[20]:·140400324417488
277 If·you·need·an·actual·NumPy·array,·use·_\x8S_\x8e_\x8r_\x8i_\x8e_\x8s_\x8._\x8t_\x8o_\x8__\x8n_\x8u_\x8m_\x8p_\x8y_\x8(_\x8)·or·Index.to_numpy().277 If·you·need·an·actual·NumPy·array,·use·_\x8S_\x8e_\x8r_\x8i_\x8e_\x8s_\x8._\x8t_\x8o_\x8__\x8n_\x8u_\x8m_\x8p_\x8y_\x8(_\x8)·or·Index.to_numpy().
278 In·[21]:·idx.to_numpy()278 In·[21]:·idx.to_numpy()
279 Out[21]:279 Out[21]:
280 array([Period('2000-01-01',·'D'),·Period('2000-01-02',·'D'),280 array([Period('2000-01-01',·'D'),·Period('2000-01-02',·'D'),
281 ·······Period('2000-01-03',·'D'),·Period('2000-01-04',·'D')],·dtype=object)281 ·······Period('2000-01-03',·'D'),·Period('2000-01-04',·'D')],·dtype=object)
  
282 In·[22]:·pd.Series(idx).to_numpy()282 In·[22]:·pd.Series(idx).to_numpy()