Offset 1, 5 lines modified | Offset 1, 5 lines modified | ||
1 | ·4442b049bd92e6ff21e021d06f95437b·10794348·doc·optional·python-pandas-doc_2.2.3+dfsg-9_all.deb | ||
2 | ·a02acb3c36dafee71f21aea9f58e32d4·35988932·debug·optional·python3-pandas-lib-dbgsym_2.2.3+dfsg-9_amd64.deb | ||
3 | · | 1 | ·e3a0fd767835a01f5ad2ca70b9356d63·10793916·doc·optional·python-pandas-doc_2.2.3+dfsg-9_all.deb |
2 | ·b134de204e3064ff0e19c7632d284cd5·35990672·debug·optional·python3-pandas-lib-dbgsym_2.2.3+dfsg-9_amd64.deb | ||
3 | ·e96d39196fd821a8be894e5ff464b530·4595316·python·optional·python3-pandas-lib_2.2.3+dfsg-9_amd64.deb | ||
4 | ·26530e0108a14fb2ef2b9fa903eb9d9d·3096852·python·optional·python3-pandas_2.2.3+dfsg-9_all.deb | 4 | ·26530e0108a14fb2ef2b9fa903eb9d9d·3096852·python·optional·python3-pandas_2.2.3+dfsg-9_all.deb |
Offset 1, 3 lines modified | Offset 1, 3 lines modified | ||
1 | -rw-r--r--···0········0········0········4·2025-03-29·13:01:52.000000·debian-binary | 1 | -rw-r--r--···0········0········0········4·2025-03-29·13:01:52.000000·debian-binary |
2 | -rw-r--r--···0········0········0···147352·2025-03-29·13:01:52.000000·control.tar.xz | 2 | -rw-r--r--···0········0········0···147352·2025-03-29·13:01:52.000000·control.tar.xz |
3 | -rw-r--r--···0········0········0·10646 | 3 | -rw-r--r--···0········0········0·10646372·2025-03-29·13:01:52.000000·data.tar.xz |
Offset 1, 13 lines modified | Offset 1, 13 lines modified | ||
1 | Package:·python-pandas-doc | 1 | Package:·python-pandas-doc |
2 | Source:·pandas | 2 | Source:·pandas |
3 | Version:·2.2.3+dfsg-9 | 3 | Version:·2.2.3+dfsg-9 |
4 | Architecture:·all | 4 | 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:·20990 | 6 | Installed-Size:·209907 |
7 | Depends:·libjs-sphinxdoc·(>=·8.1),·libjs-mathjax | 7 | Depends:·libjs-sphinxdoc·(>=·8.1),·libjs-mathjax |
8 | Suggests:·python3-pandas | 8 | Suggests:·python3-pandas |
9 | Section:·doc | 9 | Section:·doc |
10 | Priority:·optional | 10 | Priority:·optional |
11 | Multi-Arch:·foreign | 11 | Multi-Arch:·foreign |
12 | Homepage:·https://pandas.pydata.org/ | 12 | Homepage:·https://pandas.pydata.org/ |
13 | Description:·data·structures·for·"relational"·or·"labeled"·data·-·documentation | 13 | Description:·data·structures·for·"relational"·or·"labeled"·data·-·documentation |
Offset 6256, 61 lines modified | Offset 6256, 61 lines modified | ||
6256 | -rw-r--r--···0·root·········(0)·root·········(0)···210184·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/reference/series.html | 6256 | -rw-r--r--···0·root·········(0)·root·········(0)···210184·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/reference/series.html |
6257 | -rw-r--r--···0·root·········(0)·root·········(0)····48665·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/reference/style.html | 6257 | -rw-r--r--···0·root·········(0)·root·········(0)····48665·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/reference/style.html |
6258 | -rw-r--r--···0·root·········(0)·root·········(0)····48657·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/reference/testing.html | 6258 | -rw-r--r--···0·root·········(0)·root·········(0)····48657·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/reference/testing.html |
6259 | -rw-r--r--···0·root·········(0)·root·········(0)····53295·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/reference/window.html | 6259 | -rw-r--r--···0·root·········(0)·root·········(0)····53295·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/reference/window.html |
6260 | -rw-r--r--···0·root·········(0)·root·········(0)······244·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/release.html | 6260 | -rw-r--r--···0·root·········(0)·root·········(0)······244·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/release.html |
6261 | -rw-r--r--···0·root·········(0)·root·········(0)······269·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/reshaping.html | 6261 | -rw-r--r--···0·root·········(0)·root·········(0)······269·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/reshaping.html |
6262 | -rw-r--r--···0·root·········(0)·root·········(0)····17010·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/search.html | 6262 | -rw-r--r--···0·root·········(0)·root·········(0)····17010·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/search.html |
6263 | -rw-r--r--···0·root·········(0)·root·········(0)··23586 | 6263 | -rw-r--r--···0·root·········(0)·root·········(0)··2358619·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/searchindex.js |
6264 | -rw-r--r--···0·root·········(0)·root·········(0)······259·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/sparse.html | 6264 | -rw-r--r--···0·root·········(0)·root·········(0)······259·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/sparse.html |
6265 | -rw-r--r--···0·root·········(0)·root·········(0)······244·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/style.html | 6265 | -rw-r--r--···0·root·········(0)·root·········(0)······244·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/style.html |
6266 | -rw-r--r--···0·root·········(0)·root·········(0)······255·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/text.html | 6266 | -rw-r--r--···0·root·········(0)·root·········(0)······255·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/text.html |
6267 | -rw-r--r--···0·root·········(0)·root·········(0)······256·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/timedeltas.html | 6267 | -rw-r--r--···0·root·········(0)·root·········(0)······256·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/timedeltas.html |
6268 | -rw-r--r--···0·root·········(0)·root·········(0)······277·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/timeseries.html | 6268 | -rw-r--r--···0·root·········(0)·root·········(0)······277·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/timeseries.html |
6269 | -rw-r--r--···0·root·········(0)·root·········(0)······272·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/tutorials.html | 6269 | -rw-r--r--···0·root·········(0)·root·········(0)······272·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/tutorials.html |
6270 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/ | 6270 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/ |
6271 | -rw-r--r--···0·root·········(0)·root·········(0)···171380·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/10min.html | 6271 | -rw-r--r--···0·root·········(0)·root·········(0)···171380·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/10min.html |
6272 | -rw-r--r--···0·root·········(0)·root·········(0)···28383 | 6272 | -rw-r--r--···0·root·········(0)·root·········(0)···283837·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/advanced.html |
6273 | -rw-r--r--···0·root·········(0)·root·········(0)···436075·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/basics.html | 6273 | -rw-r--r--···0·root·········(0)·root·········(0)···436075·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/basics.html |
6274 | -rw-r--r--···0·root·········(0)·root·········(0)····36646·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/boolean.html | 6274 | -rw-r--r--···0·root·········(0)·root·········(0)····36646·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/boolean.html |
6275 | -rw-r--r--···0·root·········(0)·root·········(0)···217515·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/categorical.html | 6275 | -rw-r--r--···0·root·········(0)·root·········(0)···217515·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/categorical.html |
6276 | -rw-r--r--···0·root·········(0)·root·········(0)····18313·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/cookbook.html | 6276 | -rw-r--r--···0·root·········(0)·root·········(0)····18313·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/cookbook.html |
6277 | -rw-r--r--···0·root·········(0)·root·········(0)····66125·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/copy_on_write.html | 6277 | -rw-r--r--···0·root·········(0)·root·········(0)····66125·2025-03-29·13:01:52.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-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/dsintro.html | 6278 | -rw-r--r--···0·root·········(0)·root·········(0)···160414·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/dsintro.html |
6279 | -rw-r--r--···0·root·········(0)·root·········(0)····81376·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/duplicates.html | 6279 | -rw-r--r--···0·root·········(0)·root·········(0)····81376·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/duplicates.html |
6280 | -rw-r--r--···0·root·········(0)·root·········(0)···1154 | 6280 | -rw-r--r--···0·root·········(0)·root·········(0)···115463·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/enhancingperf.html |
6281 | -rw-r--r--···0·root·········(0)·root·········(0)···107882·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/gotchas.html | 6281 | -rw-r--r--···0·root·········(0)·root·········(0)···107882·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/gotchas.html |
6282 | -rw-r--r--···0·root·········(0)·root·········(0)···300850·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/groupby.html | 6282 | -rw-r--r--···0·root·········(0)·root·········(0)···300850·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/groupby.html |
6283 | -rw-r--r--···0·root·········(0)·root·········(0)····59715·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/index.html | 6283 | -rw-r--r--···0·root·········(0)·root·········(0)····59715·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/index.html |
6284 | -rw-r--r--···0·root·········(0)·root·········(0)···395484·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/indexing.html | 6284 | -rw-r--r--···0·root·········(0)·root·········(0)···395484·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/indexing.html |
6285 | -rw-r--r--···0·root·········(0)·root·········(0)····41778·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/integer_na.html | 6285 | -rw-r--r--···0·root·········(0)·root·········(0)····41778·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/integer_na.html |
6286 | -rw-r--r--···0·root·········(0)·root·········(0)··1145870·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/io.html | 6286 | -rw-r--r--···0·root·········(0)·root·········(0)··1145870·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/io.html |
6287 | -rw-r--r--···0·root·········(0)·root·········(0)···208885·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/merging.html | 6287 | -rw-r--r--···0·root·········(0)·root·········(0)···208885·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/merging.html |
6288 | -rw-r--r--···0·root·········(0)·root·········(0)···178690·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/missing_data.html | 6288 | -rw-r--r--···0·root·········(0)·root·········(0)···178690·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/missing_data.html |
6289 | -rw-r--r--···0·root·········(0)·root·········(0)···112153·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/options.html | 6289 | -rw-r--r--···0·root·········(0)·root·········(0)···112153·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/options.html |
6290 | -rw-r--r--···0·root·········(0)·root·········(0)···147524·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/pyarrow.html | 6290 | -rw-r--r--···0·root·········(0)·root·········(0)···147524·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/pyarrow.html |
6291 | -rw-r--r--···0·root·········(0)·root·········(0)···162660·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/reshaping.html | 6291 | -rw-r--r--···0·root·········(0)·root·········(0)···162660·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/reshaping.html |
6292 | -rw-r--r--···0·root·········(0)·root·········(0)···115581·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/scale.html | 6292 | -rw-r--r--···0·root·········(0)·root·········(0)···115581·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/scale.html |
6293 | -rw-r--r--···0·root·········(0)·root·········(0)····65863·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/sparse.html | 6293 | -rw-r--r--···0·root·········(0)·root·········(0)····65863·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/sparse.html |
6294 | -rw-r--r--···0·root·········(0)·root·········(0)···698240·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/style.html | 6294 | -rw-r--r--···0·root·········(0)·root·········(0)···698240·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/style.html |
6295 | -rw-r--r--···0·root·········(0)·root·········(0)····87 | 6295 | -rw-r--r--···0·root·········(0)·root·········(0)····87754·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/style.ipynb.gz |
6296 | -rw-r--r--···0·root·········(0)·root·········(0)···165302·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/text.html | 6296 | -rw-r--r--···0·root·········(0)·root·········(0)···165302·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/text.html |
6297 | -rw-r--r--···0·root·········(0)·root·········(0)···100947·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/timedeltas.html | 6297 | -rw-r--r--···0·root·········(0)·root·········(0)···100947·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/timedeltas.html |
6298 | -rw-r--r--···0·root·········(0)·root·········(0)···486621·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/timeseries.html | 6298 | -rw-r--r--···0·root·········(0)·root·········(0)···486621·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/timeseries.html |
6299 | -rw-r--r--···0·root·········(0)·root·········(0)···204461·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/visualization.html | 6299 | -rw-r--r--···0·root·········(0)·root·········(0)···204461·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/visualization.html |
6300 | -rw-r--r--···0·root·········(0)·root·········(0)···141947·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/window.html | 6300 | -rw-r--r--···0·root·········(0)·root·········(0)···141947·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/user_guide/window.html |
6301 | -rw-r--r--···0·root·········(0)·root·········(0)······270·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/visualization.html | 6301 | -rw-r--r--···0·root·········(0)·root·········(0)······270·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/visualization.html |
6302 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/ | 6302 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/ |
6303 | -rw-r--r--···0·root·········(0)·root·········(0)···107681·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/index.html | 6303 | -rw-r--r--···0·root·········(0)·root·········(0)···107681·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/index.html |
6304 | -rw-r--r--···0·root·········(0)·root·········(0)····10569·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/index.html.gz | 6304 | -rw-r--r--···0·root·········(0)·root·········(0)····10569·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/index.html.gz |
6305 | -rw-r--r--···0·root·········(0)·root·········(0)····83987·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.10.0.html | 6305 | -rw-r--r--···0·root·········(0)·root·········(0)····83987·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.10.0.html |
6306 | -rw-r--r--···0·root·········(0)·root·········(0)····66492·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.10.1.html | 6306 | -rw-r--r--···0·root·········(0)·root·········(0)····66492·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.10.1.html |
6307 | -rw-r--r--···0·root·········(0)·root·········(0)····82312·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.11.0.html | 6307 | -rw-r--r--···0·root·········(0)·root·········(0)····82312·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.11.0.html |
6308 | -rw-r--r--···0·root·········(0)·root·········(0)···104316·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.12.0.html | 6308 | -rw-r--r--···0·root·········(0)·root·········(0)···104316·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.12.0.html |
6309 | -rw-r--r--···0·root·········(0)·root·········(0)···2225 | 6309 | -rw-r--r--···0·root·········(0)·root·········(0)···222520·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.13.0.html |
6310 | -rw-r--r--···0·root·········(0)·root·········(0)····89385·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.13.1.html | 6310 | -rw-r--r--···0·root·········(0)·root·········(0)····89385·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.13.1.html |
6311 | -rw-r--r--···0·root·········(0)·root·········(0)···243730·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.14.0.html | 6311 | -rw-r--r--···0·root·········(0)·root·········(0)···243730·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.14.0.html |
6312 | -rw-r--r--···0·root·········(0)·root·········(0)····83262·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.14.1.html | 6312 | -rw-r--r--···0·root·········(0)·root·········(0)····83262·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.14.1.html |
6313 | -rw-r--r--···0·root·········(0)·root·········(0)···252303·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.15.0.html | 6313 | -rw-r--r--···0·root·········(0)·root·········(0)···252303·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.15.0.html |
6314 | -rw-r--r--···0·root·········(0)·root·········(0)····68280·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.15.1.html | 6314 | -rw-r--r--···0·root·········(0)·root·········(0)····68280·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.15.1.html |
6315 | -rw-r--r--···0·root·········(0)·root·········(0)····75115·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.15.2.html | 6315 | -rw-r--r--···0·root·········(0)·root·········(0)····75115·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.15.2.html |
6316 | -rw-r--r--···0·root·········(0)·root·········(0)···145199·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.16.0.html | 6316 | -rw-r--r--···0·root·········(0)·root·········(0)···145199·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.16.0.html |
Offset 6322, 18 lines modified | Offset 6322, 18 lines modified | ||
6322 | -rw-r--r--···0·root·········(0)·root·········(0)···171888·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.18.1.html | 6322 | -rw-r--r--···0·root·········(0)·root·········(0)···171888·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.18.1.html |
6323 | -rw-r--r--···0·root·········(0)·root·········(0)···350916·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.19.0.html | 6323 | -rw-r--r--···0·root·········(0)·root·········(0)···350916·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.19.0.html |
6324 | -rw-r--r--···0·root·········(0)·root·········(0)····45179·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.19.1.html | 6324 | -rw-r--r--···0·root·········(0)·root·········(0)····45179·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.19.1.html |
6325 | -rw-r--r--···0·root·········(0)·root·········(0)····48525·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.19.2.html | 6325 | -rw-r--r--···0·root·········(0)·root·········(0)····48525·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.19.2.html |
6326 | -rw-r--r--···0·root·········(0)·root·········(0)···407739·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.20.0.html | 6326 | -rw-r--r--···0·root·········(0)·root·········(0)···407739·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.20.0.html |
6327 | -rw-r--r--···0·root·········(0)·root·········(0)····52898·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.20.2.html | 6327 | -rw-r--r--···0·root·········(0)·root·········(0)····52898·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.20.2.html |
6328 | -rw-r--r--···0·root·········(0)·root·········(0)····43404·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.20.3.html | 6328 | -rw-r--r--···0·root·········(0)·root·········(0)····43404·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.20.3.html |
6329 | -rw-r--r--···0·root·········(0)·root·········(0)···255 | 6329 | -rw-r--r--···0·root·········(0)·root·········(0)···255116·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.21.0.html |
6330 | -rw-r--r--···0·root·········(0)·root·········(0)····61789·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.21.1.html | 6330 | -rw-r--r--···0·root·········(0)·root·········(0)····61789·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.21.1.html |
6331 | -rw-r--r--···0·root·········(0)·root·········(0)····598 | 6331 | -rw-r--r--···0·root·········(0)·root·········(0)····59841·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.22.0.html |
6332 | -rw-r--r--···0·root·········(0)·root·········(0)···40 | 6332 | -rw-r--r--···0·root·········(0)·root·········(0)···401704·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.23.0.html |
6333 | -rw-r--r--···0·root·········(0)·root·········(0)····59871·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.23.1.html | 6333 | -rw-r--r--···0·root·········(0)·root·········(0)····59871·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.23.1.html |
6334 | -rw-r--r--···0·root·········(0)·root·········(0)····52005·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.23.2.html | 6334 | -rw-r--r--···0·root·········(0)·root·········(0)····52005·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.23.2.html |
6335 | -rw-r--r--···0·root·········(0)·root·········(0)····32373·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.23.3.html | 6335 | -rw-r--r--···0·root·········(0)·root·········(0)····32373·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.23.3.html |
6336 | -rw-r--r--···0·root·········(0)·root·········(0)····35785·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.23.4.html | 6336 | -rw-r--r--···0·root·········(0)·root·········(0)····35785·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.23.4.html |
6337 | -rw-r--r--···0·root·········(0)·root·········(0)···520683·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.24.0.html | 6337 | -rw-r--r--···0·root·········(0)·root·········(0)···520683·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.24.0.html |
6338 | -rw-r--r--···0·root·········(0)·root·········(0)····44717·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.24.1.html | 6338 | -rw-r--r--···0·root·········(0)·root·········(0)····44717·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.24.1.html |
6339 | -rw-r--r--···0·root·········(0)·root·········(0)····49347·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.24.2.html | 6339 | -rw-r--r--···0·root·········(0)·root·········(0)····49347·2025-03-29·13:01:52.000000·./usr/share/doc/python-pandas-doc/html/whatsnew/v0.24.2.html |
Offset 21523, 15 lines modified | Offset 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 21585, 37 lines modified | Offset 21585, 41 lines modified | ||
21585 | ········"0108":·2257, | 21585 | ········"0108":·2257, |
21586 | ········"010903":·2207, | 21586 | ········"010903":·2207, |
21587 | ········"011111":·[182,·760], | 21587 | ········"011111":·[182,·760], |
21588 | ········"011342":·2207, | 21588 | ········"011342":·2207, |
21589 | ········"011351":·2207, | 21589 | ········"011351":·2207, |
21590 | ········"011374":·2195, | 21590 | ········"011374":·2195, |
21591 | ········"011470":·2207, | 21591 | ········"011470":·2207, |
21592 | ········"011691":·2228, | ||
21592 | ········"011736":·2186, | 21593 | ········"011736":·2186, |
21593 | ········"011829":·2207, | 21594 | ········"011829":·2207, |
21594 | ········"01183":·2229, | 21595 | ········"01183":·2229, |
21595 | ········"011860":·[182,·760], | 21596 | ········"011860":·[182,·760], |
21596 | ········"011975":·2207, | 21597 | ········"011975":·2207, |
21598 | ········"012":·2193, | ||
21597 | ········"012108":·2207, | 21599 | ········"012108":·2207, |
21598 | ········"012299":·2207, | 21600 | ········"012299":·2207, |
21599 | ········"0123456789123456":·[2164,·2165], | 21601 | ········"0123456789123456":·[2164,·2165], |
21600 | ········"012549":·2207, | 21602 | ········"012549":·2207, |
21601 | ········"012694":·2199, | 21603 | ········"012694":·2199, |
21604 | ········"012883":·2228, | ||
21602 | ········"012922":·2219, | 21605 | ········"012922":·2219, |
21606 | ········"013":·2193, | ||
21603 | ········"013086":·15, | 21607 | ········"013086":·15, |
21604 | ········"0133":·2202, | 21608 | ········"0133":·2202, |
21605 | ········"013448":·2207, | 21609 | ········"013448":·2207, |
21606 | ········"013605":·2207, | 21610 | ········"013605":·2207, |
21607 | ········"013684":·[182,·760], | 21611 | ········"013684":·[182,·760], |
21608 | ········"013692":·[102,·1158], | 21612 | ········"013692":·[102,·1158], |
21609 | ········"013747":·2199, | 21613 | ········"013747":·2199, |
21610 | ········"013768":·2230, | 21614 | ········"013768":·2230, |
21611 | ········"013810":·[182,·760], | 21615 | ········"013810":·[182,·760], |
21612 | ········"013863":·2199, | 21616 | ········"013863":·2199, |
21613 | ········"013960":·[2185,·2197,·2199,·2202,·2204,·2215,·2257], | 21617 | ········"013960":·[2185,·2197,·2199,·2202,·2204,·2215,·2257], |
21614 | ········"014":· | 21618 | ········"014":·2191, |
21615 | ········"014061":·2207, | 21619 | ········"014061":·2207, |
21616 | ········"014073":·2204, | 21620 | ········"014073":·2204, |
21617 | ········"014103":·2207, | 21621 | ········"014103":·2207, |
21618 | ········"014138":·2191, | 21622 | ········"014138":·2191, |
21619 | ········"014144":·[102,·1158], | 21623 | ········"014144":·[102,·1158], |
21620 | ········"014648":·2186, | 21624 | ········"014648":·2186, |
21621 | ········"014752":·2235, | 21625 | ········"014752":·2235, |
Offset 21660, 14 lines modified | Offset 21664, 15 lines modified | ||
21660 | ········"01t03":·2210, | 21664 | ········"01t03":·2210, |
21661 | ········"01t05":·[909,·2210,·2235], | 21665 | ········"01t05":·[909,·2210,·2235], |
21662 | ········"01t07":·1280, | 21666 | ········"01t07":·1280, |
21663 | ········"01t10":·1005, | 21667 | ········"01t10":·1005, |
21664 | ········"01t12":·953, | 21668 | ········"01t12":·953, |
21665 | ········"01t23":·[893,·2186,·2246], | 21669 | ········"01t23":·[893,·2186,·2246], |
21666 | ········"02":·[13,·16,·17,·19,·26,·27,·29,·31,·79,·80,·82,·133,·182,·183,·202,·207,·208,·213,·218,·230,·261,·271,·276,·277,·278,·286,·287,·288,·289,·290,·291,·292,·293,·294,·295,·296,·299,·301,·304,·305,·306,·307,·310,·312,·313,·314,·318,·319,·320,·321,·322,·323,·324,·326,·327,·329,·330,·331,·332,·345,·362,·363,·423,·519,·534,·536,·542,·543,·544,·545,·546,·547,·548,·549,·557,·558,·562,·563,·564,·565,·566,·575,·591,·592,·593,·637,·639,·640,·641,·642,·643,·644,·645,·646,·647,·649,·650,·651,·652,·654,·656,·657,·658,·659,·665,·666,·667,·673,·674,·675,·677,·678,·679,·680,·684,·685,·686,·688,·708,·760,·761,·781,·782,·788,·793,·804,·893,·899,·902,·903,·904,·919,·939,·940,·943,·945,·948,·949,·953,·957,·970,·997,·1014,·1051,·1075,·1118,·1122,·1141,·1144,·1145,·1147,·1157,·1170,·1171,·1176,·1180,·1185,·1192,·1195,·1197,·1206,·1214,·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,·1287,·1288,·1289,·1290,·1291,·1292,·1293,·1294,·1295,·1297,·1344,·1393,·1452,·1498,·1500,·1506,·1542,·1620,·1699,·1815,·1947,·2054,·2127,·2145,·2184,·2185,·2186,·2188,·2191,·2195,·2197,·2199,·2201,·2204,·2205,·2207,·2209,·2210,·2212,·2213,·2214,·2215,·2216,·2217,·2218,·2220,·2222,·2223,·2225,·2226,·2228,·2229,·2230,·2231,·2232,·2235,·2238,·2240,·2241,·2246,·2261,·2264,·2265,·2271,·2283,·2294,·2298,·2301,·2307], | 21670 | ········"02":·[13,·16,·17,·19,·26,·27,·29,·31,·79,·80,·82,·133,·182,·183,·202,·207,·208,·213,·218,·230,·261,·271,·276,·277,·278,·286,·287,·288,·289,·290,·291,·292,·293,·294,·295,·296,·299,·301,·304,·305,·306,·307,·310,·312,·313,·314,·318,·319,·320,·321,·322,·323,·324,·326,·327,·329,·330,·331,·332,·345,·362,·363,·423,·519,·534,·536,·542,·543,·544,·545,·546,·547,·548,·549,·557,·558,·562,·563,·564,·565,·566,·575,·591,·592,·593,·637,·639,·640,·641,·642,·643,·644,·645,·646,·647,·649,·650,·651,·652,·654,·656,·657,·658,·659,·665,·666,·667,·673,·674,·675,·677,·678,·679,·680,·684,·685,·686,·688,·708,·760,·761,·781,·782,·788,·793,·804,·893,·899,·902,·903,·904,·919,·939,·940,·943,·945,·948,·949,·953,·957,·970,·997,·1014,·1051,·1075,·1118,·1122,·1141,·1144,·1145,·1147,·1157,·1170,·1171,·1176,·1180,·1185,·1192,·1195,·1197,·1206,·1214,·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,·1287,·1288,·1289,·1290,·1291,·1292,·1293,·1294,·1295,·1297,·1344,·1393,·1452,·1498,·1500,·1506,·1542,·1620,·1699,·1815,·1947,·2054,·2127,·2145,·2184,·2185,·2186,·2188,·2191,·2195,·2197,·2199,·2201,·2204,·2205,·2207,·2209,·2210,·2212,·2213,·2214,·2215,·2216,·2217,·2218,·2220,·2222,·2223,·2225,·2226,·2228,·2229,·2230,·2231,·2232,·2235,·2238,·2240,·2241,·2246,·2261,·2264,·2265,·2271,·2283,·2294,·2298,·2301,·2307], |
21671 | ········"020":·2193, | ||
21667 | ········"0200":·[957,·969,·970,·997,·1498,·2210], | 21672 | ········"0200":·[957,·969,·970,·997,·1498,·2210], |
21668 | ········"020161":·[102,·1158], | 21673 | ········"020161":·[102,·1158], |
21669 | ········"020208":·2195, | 21674 | ········"020208":·2195, |
21670 | ········"020376":·2207, | 21675 | ········"020376":·2207, |
21671 | ········"020399":·2195, | 21676 | ········"020399":·2195, |
21672 | ········"020485":·2207, | 21677 | ········"020485":·2207, |
21673 | ········"020544":·2186, | 21678 | ········"020544":·2186, |
Offset 21676, 15 lines modified | Offset 21681, 14 lines modified | ||
21676 | ········"021244":·2207, | 21681 | ········"021244":·2207, |
21677 | ········"021255":·2230, | 21682 | ········"021255":·2230, |
21678 | ········"021292":·2186, | 21683 | ········"021292":·2186, |
21679 | ········"021377":·2207, | 21684 | ········"021377":·2207, |
21680 | ········"021382":·2184, | 21685 | ········"021382":·2184, |
21681 | ········"021499":·2186, | 21686 | ········"021499":·2186, |
21682 | ········"02155":·30, | 21687 | ········"02155":·30, |
21683 | ········"022":·2193, | ||
21684 | ········"022070":·2184, | 21688 | ········"022070":·2184, |
21685 | ········"022196":·2207, | 21689 | ········"022196":·2207, |
21686 | ········"022777":·2207, | 21690 | ········"022777":·2207, |
21687 | ········"023":·[1447,·2200,·2232], | 21691 | ········"023":·[1447,·2200,·2232], |
21688 | ········"023100":·2195, | 21692 | ········"023100":·2195, |
21689 | ········"023167":·15, | 21693 | ········"023167":·15, |
21690 | ········"023202":·2199, | 21694 | ········"023202":·2199, |
Offset 21737, 15 lines modified | Offset 21741, 15 lines modified | ||
21737 | ········"029587":·2193, | 21741 | ········"029587":·2193, |
21738 | ········"029630":·2195, | 21742 | ········"029630":·2195, |
21739 | ········"029766":·2197, | 21743 | ········"029766":·2197, |
21740 | ········"02d":·2205, | 21744 | ········"02d":·2205, |
21741 | ········"02t00":·[2199,·2210,·2235,·2261], | 21745 | ········"02t00":·[2199,·2210,·2235,·2261], |
21742 | ········"02t02":·2235, | 21746 | ········"02t02":·2235, |
21743 | ········"02t05":·[909,·2210], | 21747 | ········"02t05":·[909,·2210], |
21744 | ········"03":·[26,·27,·29,·31,·79,·80,·82,·121,·182,·207,·213,·218,·219,·230,·264,·278,·286,·287,·290,·291,·292,·294,·296,·298,·301,·302,·304,·305,·306,·307,·310,·313,·314,·318,·321,·322,·326,·330,·331,·332,·362,·420,·423,·512,·517,·518,·519,·522,·524,·530,·534,·536,·543,·544,·545,·546,·547,·548,·549,·551,·557,·558,·562,·563,·564,·565,·566,·591,·592,·593,·637,·640,·642,·643,·644,·646,·651,·652,·656,·657,·658,·659,·666,·667,·673,·675,·677,·680,·681,·685,·686,·688,·696,·760,·781,·788,·793,·799,·804,·904,·939,·941,·943,·944,·945,·948,·949,·953,·955,·956,·957,·958,·962,·970,·973,·983,·990,·992,·995,·997,·999,·1002,·1006,·1007,·1008,·1009,·1013,·1014,·1018,·1051,·1075,·1145,·1169,·1192,·1226,·1253,·1269,·1270,·1276,·1280,·1289,·1344,·1393,·1447,·1452,·1489,·1498,·1500,·1506,·1542,·1699,·1741,·1793,·1815,·1982,·2000,·2108,·2184,·2185,·2186,·2188,·2191,·219 | 21748 | ········"03":·[26,·27,·29,·31,·79,·80,·82,·121,·182,·207,·213,·218,·219,·230,·264,·278,·286,·287,·290,·291,·292,·294,·296,·298,·301,·302,·304,·305,·306,·307,·310,·313,·314,·318,·321,·322,·326,·330,·331,·332,·362,·420,·423,·512,·517,·518,·519,·522,·524,·530,·534,·536,·543,·544,·545,·546,·547,·548,·549,·551,·557,·558,·562,·563,·564,·565,·566,·591,·592,·593,·637,·640,·642,·643,·644,·646,·651,·652,·656,·657,·658,·659,·666,·667,·673,·675,·677,·680,·681,·685,·686,·688,·696,·760,·781,·788,·793,·799,·804,·904,·939,·941,·943,·944,·945,·948,·949,·953,·955,·956,·957,·958,·962,·970,·973,·983,·990,·992,·995,·997,·999,·1002,·1006,·1007,·1008,·1009,·1013,·1014,·1018,·1051,·1075,·1145,·1169,·1192,·1226,·1253,·1269,·1270,·1276,·1280,·1289,·1344,·1393,·1447,·1452,·1489,·1498,·1500,·1506,·1542,·1699,·1741,·1793,·1815,·1982,·2000,·2108,·2184,·2185,·2186,·2188,·2191,·2195,·2197,·2199,·2200,·2201,·2204,·2205,·2207,·2209,·2210,·2212,·2214,·2215,·2216,·2218,·2219,·2220,·2222,·2225,·2226,·2228,·2229,·2230,·2231,·2232,·2235,·2238,·2240,·2241,·2246,·2261,·2264,·2271,·2283,·2298,·2302], |
21745 | ········"030":·[1447,·2200,·2232], | 21749 | ········"030":·[1447,·2200,·2232], |
21746 | ········"0300":·2271, | 21750 | ········"0300":·2271, |
21747 | ········"030000":·18, | 21751 | ········"030000":·18, |
21748 | ········"030015":·2207, | 21752 | ········"030015":·2207, |
21749 | ········"030045":·2186, | 21753 | ········"030045":·2186, |
21750 | ········"030178":·2207, | 21754 | ········"030178":·2207, |
21751 | ········"030388":·2207, | 21755 | ········"030388":·2207, |
Offset 21893, 15 lines modified | Offset 21897, 15 lines modified | ||
21893 | ········"049695":·2199, | 21897 | ········"049695":·2199, |
21894 | ········"049748":·2204, | 21898 | ········"049748":·2204, |
21895 | ········"049783":·2207, | 21899 | ········"049783":·2207, |
21896 | ········"049798":·2199, | 21900 | ········"049798":·2199, |
21897 | ········"049851":·2195, | 21901 | ········"049851":·2195, |
21898 | ········"04d":·2188, | 21902 | ········"04d":·2188, |
21899 | ········"04t00":·2261, | 21903 | ········"04t00":·2261, |
21900 | ········"05":·[13,·26,·27,·29,·30,·31,·80,·148,·149,·177,·178,·183,·207,·213,·218,·230,·264,·273,·276,·292,·294,·298,·302,·316,·326,·330,·331,·332,·345,·363,·423,·551,·592,·597,·644,·646,·670,·680,·685,·686,·688,·725,·726,·755,·756,·761,·781,·788,·793,·804,·900,·902,·905,·944,·1075,·1145,·1274,·1289,·1344,·1441,·1442,·1447,·1449,·1450,·1452,·1465,·1495,·1498,·1500,·1506,·1524,·1542,·1560,·1677,·1699,·1758,·2163,·2184,·2185,·2186,·2188,·2195,·2197,·2199,·2200,·2201,·2204,·2205,·2207,·2209,·2210,·2212,·2214,·2215,·2216,·2217,·2218,·2219,·2220,·2222,·2223,·2225,·2226,·2227,·2228,·2229,·2230,·2231,·2232,·2235,·2241,·2246,·2249,·2261,·2264,·2271,·2283,·2298,·2302,·2307], | 21904 | ········"05":·[13,·26,·27,·29,·30,·31,·80,·148,·149,·177,·178,·183,·207,·213,·218,·230,·264,·273,·276,·292,·294,·298,·302,·316,·326,·330,·331,·332,·345,·363,·423,·551,·592,·597,·644,·646,·670,·680,·685,·686,·688,·725,·726,·755,·756,·761,·781,·788,·793,·804,·900,·902,·905,·944,·1075,·1145,·1274,·1289,·1344,·1441,·1442,·1447,·1449,·1450,·1452,·1465,·1495,·1498,·1500,·1506,·1524,·1542,·1560,·1677,·1699,·1758,·2163,·2184,·2185,·2186,·2188,·2193,·2195,·2197,·2199,·2200,·2201,·2204,·2205,·2207,·2209,·2210,·2212,·2214,·2215,·2216,·2217,·2218,·2219,·2220,·2222,·2223,·2225,·2226,·2227,·2228,·2229,·2230,·2231,·2232,·2235,·2241,·2246,·2249,·2261,·2264,·2271,·2283,·2298,·2302,·2307], |
21901 | ········"0500":·[24,·25,·28,·29,·32,·1498,·2210,·2235], | 21905 | ········"0500":·[24,·25,·28,·29,·32,·1498,·2210,·2235], |
21902 | ········"050000":·[522,·524,·530], | 21906 | ········"050000":·[522,·524,·530], |
21903 | ········"050038":·2207, | 21907 | ········"050038":·2207, |
21904 | ········"050046":·2210, | 21908 | ········"050046":·2210, |
21905 | ········"050390":·2186, | 21909 | ········"050390":·2186, |
21906 | ········"050498":·2207, | 21910 | ········"050498":·2207, |
21907 | ········"051514":·2186, | 21911 | ········"051514":·2186, |
Offset 21962, 15 lines modified | Offset 21966, 15 lines modified | ||
21962 | ········"059481":·2207, | 21966 | ········"059481":·2207, |
21963 | ········"059552":·2207, | 21967 | ········"059552":·2207, |
21964 | ········"059761":·2207, | 21968 | ········"059761":·2207, |
21965 | ········"059869e":·2191, | 21969 | ········"059869e":·2191, |
21966 | ········"059881":·2210, | 21970 | ········"059881":·2210, |
Max diff block lines reached; 39324/47651 bytes (82.53%) of diff not shown. |
Offset 1847, 25 lines modified | Offset 1847, 25 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">1 | 1852 | <span·class="go">117·us·+-·712·ns·per·loop·(mean·+-·std.·dev.·of·7·runs,·10,000·loops·each)</span> |
1853 | <span·class="go">3 | 1853 | <span·class="go">30.7·us·+-·1.08·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">118·us·+-·13.3·us·per·loop·(mean·+-·std.·dev.·of·7·runs,·10,000·loops·each)</span> | ||
1861 | <span·class="go"> | 1860 | <span·class="go">63.8·us·+-·210·ns·per·loop·(mean·+-·std.·dev.·of·7·runs,·10,000·loops·each)</span> |
1861 | <span·class="go">59.9·us·+-·346·ns·per·loop·(mean·+-·std.·dev.·of·7·runs,·10,000·loops·each)</span> | ||
1862 | </pre></div> | 1862 | </pre></div> |
1863 | </div> | 1863 | </div> |
1864 | </section> | 1864 | </section> |
1865 | <section·id="index-types"> | 1865 | <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> | 1866 | <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. | 1867 | <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>, | 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>, |
Offset 1245, 23 lines modified | Offset 1245, 23 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 | 1 | 1250 | 117·us·+-·712·ns·per·loop·(mean·+-·std.·dev.·of·7·runs,·10,000·loops·each) |
1251 | 3 | 1251 | 30.7·us·+-·1.08·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 | 118·us·+-·13.3·us·per·loop·(mean·+-·std.·dev.·of·7·runs,·10,000·loops·each) | ||
1257 | 1256 | 63.8·us·+-·210·ns·per·loop·(mean·+-·std.·dev.·of·7·runs,·10,000·loops·each) | |
1257 | 59.9·us·+-·346·ns·per·loop·(mean·+-·std.·dev.·of·7·runs,·10,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* | 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* |
1259 | We·have·discussed·MultiIndex·in·the·previous·sections·pretty·extensively. | 1259 | We·have·discussed·MultiIndex·in·the·previous·sections·pretty·extensively. |
1260 | Documentation·about·DatetimeIndex·and·PeriodIndex·are·shown·_\x8h_\x8e_\x8r_\x8e,·and | 1260 | Documentation·about·DatetimeIndex·and·PeriodIndex·are·shown·_\x8h_\x8e_\x8r_\x8e,·and |
1261 | documentation·about·TimedeltaIndex·is·found·_\x8h_\x8e_\x8r_\x8e. | 1261 | documentation·about·TimedeltaIndex·is·found·_\x8h_\x8e_\x8r_\x8e. |
1262 | In·the·following·sub-sections·we·will·highlight·some·other·index·types. | 1262 | 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* | 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* |
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·with | 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·with |
Offset 592, 30 lines modified | Offset 592, 30 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["a"],·x["b"],·x["N"]),·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["a"],·x["b"],·x["N"]),·axis=1) |
599 | <span·class="go">5 | 599 | <span·class="go">52.8·ms·+-·1.12·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·operation | 602 | <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["a"],·x["b"],·x["N"]),·axis=1)··#·noqa·E999 | 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["a"],·x["b"],·x["N"]),·axis=1)··#·noqa·E999 |
606 | <span·class="go">·········605946·function·calls·(605928·primitive·calls)·in·0.15 | 606 | <span·class="go">·········605946·function·calls·(605928·primitive·calls)·in·0.156·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·<4></span> | 608 | <span·class="go">···List·reduced·from·159·to·4·due·to·restriction·<4></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.0 | 610 | <span·class="go">·····1000····0.088····0.000····0.134····0.000·<ipython-input-4-c2a74e076cf0>:1(integrate_f)</span> |
611 | <span·class="go">···552423····0.046····0.000····0.046····0.000·<ipython-input-3-c138bdd570e3>:1(f)</span> | 611 | <span·class="go">···552423····0.046····0.000····0.046····0.000·<ipython-input-3-c138bdd570e3>:1(f)</span> |
612 | <span·class="go">·····3000····0.004····0.000····0.01 | 612 | <span·class="go">·····3000····0.004····0.000····0.013····0.000·series.py:1095(__getitem__)</span> |
613 | <span·class="go">·····3000····0.002····0.000····0.006····0.000·series.py:1220(_get_value)</span> | 613 | <span·class="go">·····3000····0.002····0.000····0.006····0.000·series.py:1220(_get_value)</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"> |
Offset 634, 15 lines modified | Offset 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·*·dx | 636 | <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["a"],·x["b"],·x["N"]),·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["a"],·x["b"],·x["N"]),·axis=1) |
641 | <span·class="go"> | 641 | <span·class="go">56.7·ms·+-·341·us·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, 35 lines modified | Offset 658, 35 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·*·dx | 660 | <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["a"],·x["b"],·x["N"]),·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["a"],·x["b"],·x["N"]),·axis=1) |
665 | <span·class="go"> | 665 | <span·class="go">6.18·ms·+-·29.8·us·per·loop·(mean·+-·std.·dev.·of·7·runs,·100·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·to | 668 | <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·both | 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·both |
674 | the·index·and·the·series·(three·times·for·each·row).·These·Python·function·calls·are·expensive·and | 674 | 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["a"],·x["b"],·x["N"]),·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["a"],·x["b"],·x["N"]),·axis=1) |
677 | <span·class="go">·········52523·function·calls·(52505·primitive·calls)·in·0.02 | 677 | <span·class="go">·········52523·function·calls·(52505·primitive·calls)·in·0.020·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·<4></span> | 679 | <span·class="go">···List·reduced·from·157·to·4·due·to·restriction·<4></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.00 | 681 | <span·class="go">·····3000····0.003····0.000····0.012····0.000·series.py:1095(__getitem__)</span> |
682 | <span·class="go">·····3000····0.002····0.000····0.00 | 682 | <span·class="go">·····3000····0.002····0.000····0.005····0.000·series.py:1220(_get_value)</span> |
683 | <span·class="go">····16098····0.002····0.000····0.00 | 683 | <span·class="go">····16098····0.002····0.000····0.002····0.000·{built-in·method·builtins.isinstance}</span> |
684 | <span·class="go">·····3000····0.002····0.000····0.002····0.000·base.py:3777(get_loc)</span> | 684 | <span·class="go">·····3000····0.002····0.000····0.002····0.000·base.py:3777(get_loc)</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·np | 688 | <span·class="gp">···....:·</span>cimport·numpy·as·np |
689 | <span·class="gp">···....:·</span>import·numpy·as·np | 689 | <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: |
Offset 722, 15 lines modified | Offset 722, 15 lines modified | ||
722 | </div> | 722 | </div> |
723 | <p>This·implementation·creates·an·array·of·zeros·and·inserts·the·result | 723 | <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·faster | 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·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["a"].to_numpy(),·df["b"].to_numpy(),·df["N"].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["a"].to_numpy(),·df["b"].to_numpy(),·df["N"].to_numpy()) |
729 | <span·class="go"> | 729 | <span·class="go">908·us·+-·4.59·us·per·loop·(mean·+-·std.·dev.·of·7·runs,·1,000·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> |
Offset 782, 15 lines modified | Offset 782, 15 lines modified | ||
782 | <span·class="go">·················from·/build/reproducible-path/pandas-2.2.3+dfsg/buildtmp/.cache/ipython/cython/_cython_magic_b00abb3164401a98fefff54d942b7c1d6995eb64.c:1251:</span> | 782 | <span·class="go">·················from·/build/reproducible-path/pandas-2.2.3+dfsg/buildtmp/.cache/ipython/cython/_cython_magic_b00abb3164401a98fefff54d942b7c1d6995eb64.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·"Using·deprecated·NumPy·API,·disable·it·with·"·"#define·NPY_NO_DEPRECATED_API·NPY_1_7_API_VERSION"·[-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·"Using·deprecated·NumPy·API,·disable·it·with·"·"#define·NPY_NO_DEPRECATED_API·NPY_1_7_API_VERSION"·[-Wcpp]</span> |
784 | <span·class="go">···17·|·#warning·"Using·deprecated·NumPy·API,·disable·it·with·"·\</span> | 784 | <span·class="go">···17·|·#warning·"Using·deprecated·NumPy·API,·disable·it·with·"·\</span> |
785 | <span·class="go">······|··^~~~~~~</span> | 785 | <span·class="go">······|··^~~~~~~</span> |
786 | </pre></div> | 786 | </pre></div> |
787 | </div> | 787 | </div> |
788 | <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[17]:·</span><span·class="o">%</span><span·class="k">timeit</span>·apply_integrate_f_wrap(df["a"].to_numpy(),·df["b"].to_numpy(),·df["N"].to_numpy()) | 788 | <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[17]:·</span><span·class="o">%</span><span·class="k">timeit</span>·apply_integrate_f_wrap(df["a"].to_numpy(),·df["b"].to_numpy(),·df["N"].to_numpy()) |
789 | <span·class="go"> | 789 | <span·class="go">685·us·+-·4.33·us·per·loop·(mean·+-·std.·dev.·of·7·runs,·1,000·loops·each)</span> |
790 | </pre></div> | 790 | </pre></div> |
791 | </div> | 791 | </div> |
792 | <p>However,·a·loop·indexer·<code·class="docutils·literal·notranslate"><span·class="pre">i</span></code>·accessing·an·invalid·location·in·an·array·would·cause·a·segfault·because·memory·access·isn’t·checked. | 792 | <p>However,·a·loop·indexer·<code·class="docutils·literal·notranslate"><span·class="pre">i</span></code>·accessing·an·invalid·location·in·an·array·would·cause·a·segfault·because·memory·access·isn’t·checked. |
793 | For·more·about·<code·class="docutils·literal·notranslate"><span·class="pre">boundscheck</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">wraparound</span></code>,·see·the·Cython·docs·on | 793 | For·more·about·<code·class="docutils·literal·notranslate"><span·class="pre">boundscheck</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">wraparound</span></code>,·see·the·Cython·docs·on |
794 | <a·class="reference·external"·href="https://cython.readthedocs.io/en/latest/src/userguide/source_files_and_compilation.html#compiler-directives">compiler·directives</a>.</p> | 794 | <a·class="reference·external"·href="https://cython.readthedocs.io/en/latest/src/userguide/source_files_and_compilation.html#compiler-directives">compiler·directives</a>.</p> |
795 | </section> | 795 | </section> |
796 | </section> | 796 | </section> |
Offset 1148, 19 lines modified | Offset 1148, 19 lines modified | ||
1148 | compared·to·standard·Python·syntax·for·large·<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>.·This·engine·requires·the | 1148 | compared·to·standard·Python·syntax·for·large·<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>.·This·engine·requires·the |
1149 | optional·dependency·<code·class="docutils·literal·notranslate"><span·class="pre">numexpr</span></code>·to·be·installed.</p> | 1149 | optional·dependency·<code·class="docutils·literal·notranslate"><span·class="pre">numexpr</span></code>·to·be·installed.</p> |
1150 | <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">'python'</span></code>·engine·is·generally·<em>not</em>·useful·except·for·testing | 1150 | <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">'python'</span></code>·engine·is·generally·<em>not</em>·useful·except·for·testing |
1151 | other·evaluation·engines·against·it.·You·will·achieve·<strong>no</strong>·performance | 1151 | other·evaluation·engines·against·it.·You·will·achieve·<strong>no</strong>·performance |
1152 | benefits·using·<a·class="reference·internal"·href="../reference/api/pandas.eval.html#pandas.eval"·title="pandas.eval"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">eval()</span></code></a>·with·<code·class="docutils·literal·notranslate"><span·class="pre">engine='python'</span></code>·and·may | 1152 | benefits·using·<a·class="reference·internal"·href="../reference/api/pandas.eval.html#pandas.eval"·title="pandas.eval"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">eval()</span></code></a>·with·<code·class="docutils·literal·notranslate"><span·class="pre">engine='python'</span></code>·and·may |
1153 | incur·a·performance·hit.</p> | 1153 | incur·a·performance·hit.</p> |
1154 | <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[40]:·</span><span·class="o">%</span><span·class="k">timeit</span>·df1·+·df2·+·df3·+·df4 | 1154 | <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[40]:·</span><span·class="o">%</span><span·class="k">timeit</span>·df1·+·df2·+·df3·+·df4 |
1155 | <span·class="go"> | 1155 | <span·class="go">4.84·ms·+-·53.2·us·per·loop·(mean·+-·std.·dev.·of·7·runs,·100·loops·each)</span> |
1156 | </pre></div> | 1156 | </pre></div> |
1157 | </div> | 1157 | </div> |
1158 | <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[41]:·</span><span·class="o">%</span><span·class="k">timeit</span>·pd.eval("df1·+·df2·+·df3·+·df4",·engine="python") | 1158 | <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">In·[41]:·</span><span·class="o">%</span><span·class="k">timeit</span>·pd.eval("df1·+·df2·+·df3·+·df4",·engine="python") |
1159 | <span·class="go"> | 1159 | <span·class="go">5.72·ms·+-·54.6·us·per·loop·(mean·+-·std.·dev.·of·7·runs,·100·loops·each)</span> |
Max diff block lines reached; 6409/20206 bytes (31.72%) of diff not shown. |
Offset 110, 31 lines modified | Offset 110, 31 lines modified | ||
110 | ···...:·····dx·=·(b·-·a)·/·N | 110 | ···...:·····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·*·dx | 113 | ···...:·····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 | 5 | 117 | 52.8·ms·+-·1.12·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·using | 118 | 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·calls | 120 | #·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·E999 | 122 | axis=1)··#·noqa·E999 |
123 | ·········605946·function·calls·(605928·primitive·calls)·in·0.15 | 123 | ·········605946·function·calls·(605928·primitive·calls)·in·0.156·seconds |
124 | ···Ordered·by:·internal·time | 124 | ···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.0 | 127 | ·····1000····0.088····0.000····0.134····0.000·<ipython-input-4-c2a74e076cf0>:1 |
128 | (integrate_f) | 128 | (integrate_f) |
129 | ···552423····0.046····0.000····0.046····0.000·<ipython-input-3-c138bdd570e3>:1 | 129 | ···552423····0.046····0.000····0.046····0.000·<ipython-input-3-c138bdd570e3>:1 |
130 | (f) | 130 | (f) |
131 | ·····3000····0.004····0.000····0.01 | 131 | ·····3000····0.004····0.000····0.013····0.000·series.py:1095(__getitem__) |
132 | ·····3000····0.002····0.000····0.006····0.000·series.py:1220(_get_value) | 132 | ·····3000····0.002····0.000····0.006····0.000·series.py:1220(_get_value) |
133 | By·far·the·majority·of·time·is·spend·inside·either·integrate_f·or·f,·hence | 133 | By·far·the·majority·of·time·is·spend·inside·either·integrate_f·or·f,·hence |
134 | we’ll·concentrate·our·efforts·cythonizing·these·two·functions. | 134 | we’ll·concentrate·our·efforts·cythonizing·these·two·functions. |
135 | *\x8**\x8**\x8**\x8*·P\x8Pl\x8la\x8ai\x8in\x8n·C\x8Cy\x8yt\x8th\x8ho\x8on\x8n_\x8#\x8#·*\x8**\x8**\x8**\x8* | 135 | *\x8**\x8**\x8**\x8*·P\x8Pl\x8la\x8ai\x8in\x8n·C\x8Cy\x8yt\x8th\x8ho\x8on\x8n_\x8#\x8#·*\x8**\x8**\x8**\x8* |
136 | First·we’re·going·to·need·to·import·the·Cython·magic·function·to·IPython: | 136 | First·we’re·going·to·need·to·import·the·Cython·magic·function·to·IPython: |
137 | In·[7]:·%load_ext·Cython | 137 | In·[7]:·%load_ext·Cython |
138 | Now,·let’s·simply·copy·our·functions·over·to·Cython: | 138 | Now,·let’s·simply·copy·our·functions·over·to·Cython: |
Offset 146, 15 lines modified | Offset 146, 15 lines modified | ||
146 | ···...:·····dx·=·(b·-·a)·/·N | 146 | ···...:·····dx·=·(b·-·a)·/·N |
147 | ···...:·····for·i·in·range(N): | 147 | ···...:·····for·i·in·range(N): |
148 | ···...:·········s·+=·f_plain(a·+·i·*·dx) | 148 | ···...:·········s·+=·f_plain(a·+·i·*·dx) |
149 | ···...:·····return·s·*·dx | 149 | ···...:·····return·s·*·dx |
150 | ···...: | 150 | ···...: |
151 | In·[9]:·%timeit·df.apply(lambda·x:·integrate_f_plain(x["a"],·x["b"],·x["N"]), | 151 | In·[9]:·%timeit·df.apply(lambda·x:·integrate_f_plain(x["a"],·x["b"],·x["N"]), |
152 | axis=1) | 152 | axis=1) |
153 | 153 | 56.7·ms·+-·341·us·per·loop·(mean·+-·std.·dev.·of·7·runs,·10·loops·each) | |
154 | This·has·improved·the·performance·compared·to·the·pure·Python·approach·by·one- | 154 | This·has·improved·the·performance·compared·to·the·pure·Python·approach·by·one- |
155 | third. | 155 | third. |
156 | *\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* | 156 | *\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 | We·can·annotate·the·function·variables·and·return·types·as·well·as·use·cdef·and | 157 | We·can·annotate·the·function·variables·and·return·types·as·well·as·use·cdef·and |
158 | cpdef·to·improve·performance: | 158 | cpdef·to·improve·performance: |
159 | In·[10]:·%%cython | 159 | In·[10]:·%%cython |
160 | ···....:·cdef·double·f_typed(double·x)·except?·-2: | 160 | ···....:·cdef·double·f_typed(double·x)·except?·-2: |
Offset 166, 33 lines modified | Offset 166, 33 lines modified | ||
166 | ···....:·····dx·=·(b·-·a)·/·N | 166 | ···....:·····dx·=·(b·-·a)·/·N |
167 | ···....:·····for·i·in·range(N): | 167 | ···....:·····for·i·in·range(N): |
168 | ···....:·········s·+=·f_typed(a·+·i·*·dx) | 168 | ···....:·········s·+=·f_typed(a·+·i·*·dx) |
169 | ···....:·····return·s·*·dx | 169 | ···....:·····return·s·*·dx |
170 | ···....: | 170 | ···....: |
171 | In·[11]:·%timeit·df.apply(lambda·x:·integrate_f_typed(x["a"],·x["b"],·x["N"]), | 171 | In·[11]:·%timeit·df.apply(lambda·x:·integrate_f_typed(x["a"],·x["b"],·x["N"]), |
172 | axis=1) | 172 | axis=1) |
173 | 173 | 6.18·ms·+-·29.8·us·per·loop·(mean·+-·std.·dev.·of·7·runs,·100·loops·each) | |
174 | Annotating·the·functions·with·C·types·yields·an·over·ten·times·performance | 174 | Annotating·the·functions·with·C·types·yields·an·over·ten·times·performance |
175 | improvement·compared·to·the·original·Python·implementation. | 175 | improvement·compared·to·the·original·Python·implementation. |
176 | *\x8**\x8**\x8**\x8*·U\x8Us\x8si\x8in\x8ng\x8g·n\x8nd\x8da\x8ar\x8rr\x8ra\x8ay\x8y_\x8#\x8#·*\x8**\x8**\x8**\x8* | 176 | *\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 | When·re-profiling,·time·is·spent·creating·a·_\x8S_\x8e_\x8r_\x8i_\x8e_\x8s·from·each·row,·and·calling | 177 | When·re-profiling,·time·is·spent·creating·a·_\x8S_\x8e_\x8r_\x8i_\x8e_\x8s·from·each·row,·and·calling |
178 | __getitem__·from·both·the·index·and·the·series·(three·times·for·each·row). | 178 | __getitem__·from·both·the·index·and·the·series·(three·times·for·each·row). |
179 | These·Python·function·calls·are·expensive·and·can·be·improved·by·passing·an | 179 | These·Python·function·calls·are·expensive·and·can·be·improved·by·passing·an |
180 | np.ndarray. | 180 | np.ndarray. |
181 | In·[12]:·%prun·-l·4·df.apply(lambda·x:·integrate_f_typed(x["a"],·x["b"],·x | 181 | In·[12]:·%prun·-l·4·df.apply(lambda·x:·integrate_f_typed(x["a"],·x["b"],·x |
182 | ["N"]),·axis=1) | 182 | ["N"]),·axis=1) |
183 | ·········52523·function·calls·(52505·primitive·calls)·in·0.02 | 183 | ·········52523·function·calls·(52505·primitive·calls)·in·0.020·seconds |
184 | ···Ordered·by:·internal·time | 184 | ···Ordered·by:·internal·time |
185 | ···List·reduced·from·157·to·4·due·to·restriction·<4> | 185 | ···List·reduced·from·157·to·4·due·to·restriction·<4> |
186 | ···ncalls··tottime··percall··cumtime··percall·filename:lineno(function) | 186 | ···ncalls··tottime··percall··cumtime··percall·filename:lineno(function) |
187 | ·····3000····0.00 | 187 | ·····3000····0.003····0.000····0.012····0.000·series.py:1095(__getitem__) |
188 | ·····3000····0.002····0.000····0.00 | 188 | ·····3000····0.002····0.000····0.005····0.000·series.py:1220(_get_value) |
189 | ····16098····0.002····0.000····0.00 | 189 | ····16098····0.002····0.000····0.002····0.000·{built-in·method |
190 | builtins.isinstance} | 190 | builtins.isinstance} |
191 | ·····3000····0.002····0.000····0.002····0.000·base.py:3777(get_loc) | 191 | ·····3000····0.002····0.000····0.002····0.000·base.py:3777(get_loc) |
192 | In·[13]:·%%cython | 192 | In·[13]:·%%cython |
193 | ···....:·cimport·numpy·as·np | 193 | ···....:·cimport·numpy·as·np |
194 | ···....:·import·numpy·as·np | 194 | ···....:·import·numpy·as·np |
195 | ···....:·cdef·double·f_typed(double·x)·except?·-2: | 195 | ···....:·cdef·double·f_typed(double·x)·except?·-2: |
196 | ···....:·····return·x·*·(x·-·1) | 196 | ···....:·····return·x·*·(x·-·1) |
Offset 235, 15 lines modified | Offset 235, 15 lines modified | ||
235 | This·implementation·creates·an·array·of·zeros·and·inserts·the·result·of | 235 | This·implementation·creates·an·array·of·zeros·and·inserts·the·result·of |
236 | integrate_f_typed·applied·over·each·row.·Looping·over·an·ndarray·is·faster·in | 236 | integrate_f_typed·applied·over·each·row.·Looping·over·an·ndarray·is·faster·in |
237 | Cython·than·looping·over·a·_\x8S_\x8e_\x8r_\x8i_\x8e_\x8s·object. | 237 | Cython·than·looping·over·a·_\x8S_\x8e_\x8r_\x8i_\x8e_\x8s·object. |
238 | 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) | 238 | 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 | calls·are·needed·to·utilize·this·function. | 239 | calls·are·needed·to·utilize·this·function. |
240 | In·[14]:·%timeit·apply_integrate_f(df["a"].to_numpy(),·df["b"].to_numpy(),·df | 240 | In·[14]:·%timeit·apply_integrate_f(df["a"].to_numpy(),·df["b"].to_numpy(),·df |
241 | ["N"].to_numpy()) | 241 | ["N"].to_numpy()) |
242 | 242 | 908·us·+-·4.59·us·per·loop·(mean·+-·std.·dev.·of·7·runs,·1,000·loops·each) | |
243 | Performance·has·improved·from·the·prior·implementation·by·almost·ten·times. | 243 | Performance·has·improved·from·the·prior·implementation·by·almost·ten·times. |
244 | *\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* | 244 | *\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 | The·majority·of·the·time·is·now·spent·in·apply_integrate_f.·Disabling·Cython’s | 245 | The·majority·of·the·time·is·now·spent·in·apply_integrate_f.·Disabling·Cython’s |
246 | boundscheck·and·wraparound·checks·can·yield·more·performance. | 246 | boundscheck·and·wraparound·checks·can·yield·more·performance. |
247 | In·[15]:·%prun·-l·4·apply_integrate_f(df["a"].to_numpy(),·df["b"].to_numpy(), | 247 | In·[15]:·%prun·-l·4·apply_integrate_f(df["a"].to_numpy(),·df["b"].to_numpy(), |
248 | df["N"].to_numpy()) | 248 | df["N"].to_numpy()) |
249 | ·········78·function·calls·in·0.001·seconds | 249 | ·········78·function·calls·in·0.001·seconds |
Offset 298, 15 lines modified | Offset 298, 15 lines modified | ||
298 | /usr/lib/x86_64-linux-gnu/python3-numpy/numpy/_core/include/numpy/ | 298 | /usr/lib/x86_64-linux-gnu/python3-numpy/numpy/_core/include/numpy/ |
299 | npy_1_7_deprecated_api.h:17:2:·warning:·#warning·"Using·deprecated·NumPy·API, | 299 | npy_1_7_deprecated_api.h:17:2:·warning:·#warning·"Using·deprecated·NumPy·API, |
300 | disable·it·with·"·"#define·NPY_NO_DEPRECATED_API·NPY_1_7_API_VERSION"·[-Wcpp] | 300 | disable·it·with·"·"#define·NPY_NO_DEPRECATED_API·NPY_1_7_API_VERSION"·[-Wcpp] |
301 | ···17·|·#warning·"Using·deprecated·NumPy·API,·disable·it·with·"·\ | 301 | ···17·|·#warning·"Using·deprecated·NumPy·API,·disable·it·with·"·\ |
302 | ······|··^~~~~~~ | 302 | ······|··^~~~~~~ |
303 | In·[17]:·%timeit·apply_integrate_f_wrap(df["a"].to_numpy(),·df["b"].to_numpy(), | 303 | In·[17]:·%timeit·apply_integrate_f_wrap(df["a"].to_numpy(),·df["b"].to_numpy(), |
304 | df["N"].to_numpy()) | 304 | df["N"].to_numpy()) |
305 | 305 | 685·us·+-·4.33·us·per·loop·(mean·+-·std.·dev.·of·7·runs,·1,000·loops·each) | |
306 | However,·a·loop·indexer·i·accessing·an·invalid·location·in·an·array·would·cause | 306 | However,·a·loop·indexer·i·accessing·an·invalid·location·in·an·array·would·cause |
307 | a·segfault·because·memory·access·isn’t·checked.·For·more·about·boundscheck·and | 307 | a·segfault·because·memory·access·isn’t·checked.·For·more·about·boundscheck·and |
308 | wraparound,·see·the·Cython·docs·on·_\x8c_\x8o_\x8m_\x8p_\x8i_\x8l_\x8e_\x8r_\x8·_\x8d_\x8i_\x8r_\x8e_\x8c_\x8t_\x8i_\x8v_\x8e_\x8s. | 308 | wraparound,·see·the·Cython·docs·on·_\x8c_\x8o_\x8m_\x8p_\x8i_\x8l_\x8e_\x8r_\x8·_\x8d_\x8i_\x8r_\x8e_\x8c_\x8t_\x8i_\x8v_\x8e_\x8s. |
309 | *\x8**\x8**\x8**\x8**\x8*·N\x8Nu\x8um\x8mb\x8ba\x8a·(\x8(J\x8JI\x8IT\x8T·c\x8co\x8om\x8mp\x8pi\x8il\x8la\x8at\x8ti\x8io\x8on\x8n)\x8)_\x8#\x8#·*\x8**\x8**\x8**\x8**\x8* | 309 | *\x8**\x8**\x8**\x8**\x8*·N\x8Nu\x8um\x8mb\x8ba\x8a·(\x8(J\x8JI\x8IT\x8T·c\x8co\x8om\x8mp\x8pi\x8il\x8la\x8at\x8ti\x8io\x8on\x8n)\x8)_\x8#\x8#·*\x8**\x8**\x8**\x8**\x8* |
310 | An·alternative·to·statically·compiling·Cython·code·is·to·use·a·dynamic·just-in- | 310 | An·alternative·to·statically·compiling·Cython·code·is·to·use·a·dynamic·just-in- |
311 | time·(JIT)·compiler·with·_\x8N_\x8u_\x8m_\x8b_\x8a. | 311 | time·(JIT)·compiler·with·_\x8N_\x8u_\x8m_\x8b_\x8a. |
312 | Numba·allows·you·to·write·a·pure·Python·function·which·can·be·JIT·compiled·to | 312 | Numba·allows·you·to·write·a·pure·Python·function·which·can·be·JIT·compiled·to |
Offset 609, 17 lines modified | Offset 609, 17 lines modified | ||
609 | The·'numexpr'·engine·is·the·more·performant·engine·that·can·yield·performance | 609 | The·'numexpr'·engine·is·the·more·performant·engine·that·can·yield·performance |
610 | improvements·compared·to·standard·Python·syntax·for·large·_\x8D_\x8a_\x8t_\x8a_\x8F_\x8r_\x8a_\x8m_\x8e.·This | 610 | improvements·compared·to·standard·Python·syntax·for·large·_\x8D_\x8a_\x8t_\x8a_\x8F_\x8r_\x8a_\x8m_\x8e.·This |
611 | engine·requires·the·optional·dependency·numexpr·to·be·installed. | 611 | engine·requires·the·optional·dependency·numexpr·to·be·installed. |
612 | The·'python'·engine·is·generally·n\x8no\x8ot\x8t·useful·except·for·testing·other·evaluation | 612 | The·'python'·engine·is·generally·n\x8no\x8ot\x8t·useful·except·for·testing·other·evaluation |
613 | engines·against·it.·You·will·achieve·n\x8no\x8o·performance·benefits·using·_\x8e_\x8v_\x8a_\x8l_\x8(_\x8)·with | 613 | engines·against·it.·You·will·achieve·n\x8no\x8o·performance·benefits·using·_\x8e_\x8v_\x8a_\x8l_\x8(_\x8)·with |
614 | engine='python'·and·may·incur·a·performance·hit. | 614 | engine='python'·and·may·incur·a·performance·hit. |
615 | In·[40]:·%timeit·df1·+·df2·+·df3·+·df4 | 615 | In·[40]:·%timeit·df1·+·df2·+·df3·+·df4 |
616 | 616 | 4.84·ms·+-·53.2·us·per·loop·(mean·+-·std.·dev.·of·7·runs,·100·loops·each) | |
617 | In·[41]:·%timeit·pd.eval("df1·+·df2·+·df3·+·df4",·engine="python") | 617 | In·[41]:·%timeit·pd.eval("df1·+·df2·+·df3·+·df4",·engine="python") |
618 | 618 | 5.72·ms·+-·54.6·us·per·loop·(mean·+-·std.·dev.·of·7·runs,·100·loops·each) | |
619 | *\x8**\x8**\x8**\x8*·T\x8Th\x8he\x8e·_\x8D\x8D_\x8a\x8a_\x8t\x8t_\x8a\x8a_\x8F\x8F_\x8r\x8r_\x8a\x8a_\x8m\x8m_\x8e\x8e_\x8.\x8._\x8e\x8e_\x8v\x8v_\x8a\x8a_\x8l\x8l_\x8(\x8(_\x8)\x8)·m\x8me\x8et\x8th\x8ho\x8od\x8d_\x8#\x8#·*\x8**\x8**\x8**\x8* | 619 | *\x8**\x8**\x8**\x8*·T\x8Th\x8he\x8e·_\x8D\x8D_\x8a\x8a_\x8t\x8t_\x8a\x8a_\x8F\x8F_\x8r\x8r_\x8a\x8a_\x8m\x8m_\x8e\x8e_\x8.\x8._\x8e\x8e_\x8v\x8v_\x8a\x8a_\x8l\x8l_\x8(\x8(_\x8)\x8)·m\x8me\x8et\x8th\x8ho\x8od\x8d_\x8#\x8#·*\x8**\x8**\x8**\x8* |
620 | In·addition·to·the·top·level·_\x8p_\x8a_\x8n_\x8d_\x8a_\x8s_\x8._\x8e_\x8v_\x8a_\x8l_\x8(_\x8)·function·you·can·also·evaluate·an | 620 | In·addition·to·the·top·level·_\x8p_\x8a_\x8n_\x8d_\x8a_\x8s_\x8._\x8e_\x8v_\x8a_\x8l_\x8(_\x8)·function·you·can·also·evaluate·an |
621 | expression·in·the·“context”·of·a·_\x8D_\x8a_\x8t_\x8a_\x8F_\x8r_\x8a_\x8m_\x8e. | 621 | expression·in·the·“context”·of·a·_\x8D_\x8a_\x8t_\x8a_\x8F_\x8r_\x8a_\x8m_\x8e. |
Max diff block lines reached; 2043/10211 bytes (20.01%) of diff not shown. |
Offset 1086, 16 lines modified | Offset 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">"data/timeseries/"</span><span·class="p">)</span><span·class="o">.</span><span·class="n">glob</span><span·class="p">(</span><span·class="s2">"ts*.parquet"</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">"data/timeseries/"</span><span·class="p">)</span><span·class="o">.</span><span·class="n">glob</span><span·class="p">(</span><span·class="s2">"ts*.parquet"</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">"name"</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">"name"</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· | 1093 | <span·class="go">CPU·times:·user·304·us,·sys:·113·us,·total:·417·us</span> |
1094 | <span·class="go">Wall·time:· | 1094 | <span·class="go">Wall·time:·422·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·the | 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·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’t | 1100 | <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>,·are | 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>,·are |
Offset 644, 16 lines modified | Offset 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· | 651 | CPU·times:·user·304·us,·sys:·113·us,·total:·417·us |
652 | Wall·time:· | 652 | Wall·time:·422·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·chunksize | 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·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·too | 656 | 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·to | 658 | 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. |
Offset 39, 18 lines modified | Offset 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":·"202 | 46 | ····················"iopub.execute_input":·"2025-08-04T17:50:21.478763Z", |
47 | ····················"iopub.status.busy":·"202 | 47 | ····················"iopub.status.busy":·"2025-08-04T17:50:21.478395Z", |
48 | ····················"iopub.status.idle":·"202 | 48 | ····················"iopub.status.idle":·"2025-08-04T17:50:21.732643Z", |
49 | ····················"shell.execute_reply":·"202 | 49 | ····················"shell.execute_reply":·"2025-08-04T17:50:21.732180Z" |
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 modified | Offset 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":·"202 | 84 | ····················"iopub.execute_input":·"2025-08-04T17:50:21.734751Z", |
85 | ····················"iopub.status.busy":·"202 | 85 | ····················"iopub.status.busy":·"2025-08-04T17:50:21.734539Z", |
86 | ····················"iopub.status.idle":·"202 | 86 | ····················"iopub.status.idle":·"2025-08-04T17:50:21.939608Z", |
87 | ····················"shell.execute_reply":·"202 | 87 | ····················"shell.execute_reply":·"2025-08-04T17:50:21.939146Z" |
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":·"202 | 102 | ····················"iopub.execute_input":·"2025-08-04T17:50:21.942035Z", |
103 | ····················"iopub.status.busy":·"202 | 103 | ····················"iopub.status.busy":·"2025-08-04T17:50:21.941428Z", |
104 | ····················"iopub.status.idle":·"202 | 104 | ····················"iopub.status.idle":·"2025-08-04T17:50:21.979362Z", |
105 | ····················"shell.execute_reply":·"202 | 105 | ····················"shell.execute_reply":·"2025-08-04T17:50:21.978941Z" |
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 modified | Offset 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":·"202 | 130 | ····················"iopub.execute_input":·"2025-08-04T17:50:21.981274Z", |
131 | ····················"iopub.status.busy":·"202 | 131 | ····················"iopub.status.busy":·"2025-08-04T17:50:21.980829Z", |
132 | ····················"iopub.status.idle":·"202 | 132 | ····················"iopub.status.idle":·"2025-08-04T17:50:21.987387Z", |
133 | ····················"shell.execute_reply":·"202 | 133 | ····················"shell.execute_reply":·"2025-08-04T17:50:21.987024Z" |
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 modified | Offset 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":·"202 | 200 | ····················"iopub.execute_input":·"2025-08-04T17:50:22.009289Z", |
201 | ····················"iopub.status.busy":·"202 | 201 | ····················"iopub.status.busy":·"2025-08-04T17:50:22.008917Z", |
202 | ····················"iopub.status.idle":·"202 | 202 | ····················"iopub.status.idle":·"2025-08-04T17:50:22.016829Z", |
203 | ····················"shell.execute_reply":·"202 | 203 | ····················"shell.execute_reply":·"2025-08-04T17:50:22.016423Z" |
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 modified | Offset 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":·"202 | 334 | ····················"iopub.execute_input":·"2025-08-04T17:50:22.017990Z", |
335 | ····················"iopub.status.busy":·"202 | 335 | ····················"iopub.status.busy":·"2025-08-04T17:50:22.017850Z", |
336 | ····················"iopub.status.idle":·"202 | 336 | ····················"iopub.status.idle":·"2025-08-04T17:50:22.025395Z", |
337 | ····················"shell.execute_reply":·"202 | 337 | ····················"shell.execute_reply":·"2025-08-04T17:50:22.025042Z" |
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 modified | Offset 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":·"202 | 455 | ····················"iopub.execute_input":·"2025-08-04T17:50:22.026846Z", |
456 | ····················"iopub.status.busy":·"202 | 456 | ····················"iopub.status.busy":·"2025-08-04T17:50:22.026484Z", |
457 | ····················"iopub.status.idle":·"202 | 457 | ····················"iopub.status.idle":·"2025-08-04T17:50:22.031146Z", |
458 | ····················"shell.execute_reply":·"202 | 458 | ····················"shell.execute_reply":·"2025-08-04T17:50:22.030792Z" |
459 | ················} | 459 | ················} |
460 | ············}, | 460 | ············}, |
461 | ············"outputs":·[ | 461 | ············"outputs":·[ |
Max diff block lines reached; 83518/90470 bytes (92.32%) of diff not shown. |
Offset 1613, 20 lines modified | Offset 1613, 20 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('df1·+·df2·+·df3·+·df4') | 1619 | <span·class="gp">In·[95]:·</span><span·class="o">%</span><span·class="k">timeit</span>·pd.eval('df1·+·df2·+·df3·+·df4') |
1620 | <span·class="go"> | 1620 | <span·class="go">2.16·ms·+-·223·us·per·loop·(mean·+-·std.·dev.·of·7·runs,·1,000·loops·each)</span> |
1621 | </pre></div> | 1621 | </pre></div> |
1622 | </div> | 1622 | </div> |
1623 | <div·class="highlight-ipython·notranslate"><div·class="highlight"><pre><span></span><span·class="go">#·pure·Python·evaluation</span> | 1623 | <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·+·df4 | 1624 | <span·class="gp">In·[96]:·</span><span·class="o">%</span><span·class="k">timeit</span>·df1·+·df2·+·df3·+·df4 |
1625 | <span·class="go">5·ms·+-·1 | 1625 | <span·class="go">2.57·ms·+-·61.9·us·per·loop·(mean·+-·std.·dev.·of·7·runs,·100·loops·each)</span> |
1626 | </pre></div> | 1626 | </pre></div> |
1627 | </div> | 1627 | </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> | 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 | </li> | 1629 | </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·new | 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·new |
1631 | <code·class="docutils·literal·notranslate"><span·class="pre">DataFrame.eval</span></code>·method·that·evaluates·an·expression·in·the·context·of | 1631 | <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> | 1632 | the·<code·class="docutils·literal·notranslate"><span·class="pre">DataFrame</span></code>.·For·example,</p> |
Offset 965, 18 lines modified | Offset 965, 19 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·backend | 969 | ······#·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 | ······ | 971 | ······2.16·ms·+-·223·us·per·loop·(mean·+-·std.·dev.·of·7·runs,·1,000·loops |
972 | ······each) | ||
972 | ······#·pure·Python·evaluation | 973 | ······#·pure·Python·evaluation |
973 | ······In·[96]:·%timeit·df1·+·df2·+·df3·+·df4 | 974 | ······In·[96]:·%timeit·df1·+·df2·+·df3·+·df4 |
974 | ······5·ms·+-·1 | 975 | ······2.57·ms·+-·61.9·us·per·loop·(mean·+-·std.·dev.·of·7·runs,·100·loops·each) |
975 | ······For·more·details,·see·the·_\x8t_\x8h_\x8e_\x8·_\x8d_\x8o_\x8c_\x8s | 976 | ······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·that | 977 | ····*·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, | 978 | ······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']) | 979 | ······In·[97]:·df·=·pd.DataFrame(np.random.randn(10,·2),·columns=['a',·'b']) |
979 | ······In·[98]:·df.eval('a·+·b') | 980 | ······In·[98]:·df.eval('a·+·b') |
980 | ······Out[98]: | 981 | ······Out[98]: |
Offset 1458, 18 lines modified | Offset 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('202 | 1464 | <span·class="gh">Out[66]:·</span><span·class="go">Timestamp('2025-08-05·07:51:03.011691')</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('202 | 1466 | <span·class="gh">Out[67]:·</span><span·class="go">Timestamp('2026-08-05·07:51:03.012883')</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> |
Offset 814, 18 lines modified | Offset 814, 18 lines modified | ||
814 | freq=None) | 814 | freq=None) |
815 | Note | 815 | 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·offsets | 818 | In·[65]:·import·pandas.tseries.offsets·as·offsets |
819 | In·[66]:·pd.Timestamp.now() | 819 | In·[66]:·pd.Timestamp.now() |
820 | Out[66]:·Timestamp('202 | 820 | Out[66]:·Timestamp('2025-08-05·07:51:03.011691') |
821 | In·[67]:·pd.Timestamp.now()·+·offsets.DateOffset(years=1) | 821 | In·[67]:·pd.Timestamp.now()·+·offsets.DateOffset(years=1) |
822 | Out[67]:·Timestamp('202 | 822 | Out[67]:·Timestamp('2026-08-05·07:51:03.012883') |
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·a | 825 | 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) |
Offset 757, 37 lines modified | Offset 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"> | 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"> | 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·types | 772 | <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·accomplished | 773 | 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">'C'</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">'C'</span><span·class="p">],</span>·<span·class="n">errors</span><span·class="o">=</span><span·class="s1">'coerce'</span><span·class="p">)</span> | 776 | <span·class="gp">In·[5]:·</span><span·class="n">df</span><span·class="p">[</span><span·class="s1">'C'</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">'C'</span><span·class="p">],</span>·<span·class="n">errors</span><span·class="o">=</span><span·class="s1">'coerce'</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"> | 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·and | 788 | <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·specific | 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·specific |
Offset 820, 32 lines modified | Offset 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">'B'</span><span·class="p">,</span>·<span·class="s1">'C'</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">'B'</span><span·class="p">,</span>·<span·class="s1">'C'</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">'B'</span><span·class="p">,</span>·<span·class="s1">'C'</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">'B'</span><span·class="p">,</span>·<span·class="s1">'C'</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·gained | 841 | <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·operation | 842 | 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 modified | Offset 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">'columns'</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">'columns'</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">'index'</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">'index'</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">10754736··1··4</span> | 859 | <span·class="go">10754736··1··4</span> |
867 | <span·class="go">10754768··2··5</span> | 860 | <span·class="go">10754768··2··5</span> |
868 | <span·class="go">10754800··3··6</span> | 861 | <span·class="go">10754800··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">'A'</span><span·class="p">,</span>·<span·class="s1">'B'</span><span·class="p">,</span>·<span·class="s1">'C'</span><span·class="p">],</span>·<span·class="n">axis</span><span·class="o">=</span><span·class="s1">'columns'</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">'A'</span><span·class="p">,</span>·<span·class="s1">'B'</span><span·class="p">,</span>·<span·class="s1">'C'</span><span·class="p">],</span>·<span·class="n">axis</span><span·class="o">=</span><span·class="s1">'columns'</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">'index'</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">'index'</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">10754736··1··4</span> | 883 | <span·class="go">10754736··1··4</span> |
894 | <span·class="go">10754768··2··5</span> | 884 | <span·class="go">10754768··2··5</span> |
895 | <span·class="go">10754800··3··6</span> | 885 | <span·class="go">10754800··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">'A'</span><span·class="p">,</span>·<span·class="s1">'B'</span><span·class="p">,</span>·<span·class="s1">'C'</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">'A'</span><span·class="p">,</span>·<span·class="s1">'B'</span><span·class="p">,</span>·<span·class="s1">'C'</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. |
Offset 212, 35 lines modified | Offset 212, 35 lines modified | ||
212 | ···...: | 212 | ···...: |
213 | In·[2]:·df.dtypes | 213 | In·[2]:·df.dtypes |
214 | Out[2]: | 214 | Out[2]: |
215 | A·····int64 | 215 | A·····int64 |
216 | B····object | 216 | B····object |
217 | C····object | 217 | C····object |
218 | 218 | dtype:·object | |
219 | In·[3]:·df.infer_objects().dtypes | 219 | In·[3]:·df.infer_objects().dtypes |
220 | Out[3]: | 220 | Out[3]: |
221 | A·····int64 | 221 | A·····int64 |
222 | B·····int64 | 222 | B·····int64 |
223 | C····object | 223 | C····object |
224 | 224 | dtype:·object | |
225 | Note·that·column·'C'·was·not·converted·-·only·scalar·numeric·types·will·be | 225 | 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·using | 226 | 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.dtypes | 230 | In·[6]:·df.dtypes |
231 | Out[6]: | 231 | Out[6]: |
232 | A····int64 | 232 | A····int64 |
233 | B····int64 | 233 | B····int64 |
234 | C····int64 | 234 | C····int64 |
235 | 235 | 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·and | 237 | 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·of | 238 | 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·on | 239 | 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 modified | Offset 264, 73 lines modified | ||
264 | In·[8]:·df | 264 | In·[8]:·df |
265 | Out[8]: | 265 | Out[8]: |
266 | ···A··B··C··D | 266 | ···A··B··C··D |
267 | 0··0··1··2··3 | 267 | 0··0··1··2··3 |
268 | 1··4··5··6··7 | 268 | 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··D | 271 | ···A··D |
273 | 0··0··3 | 272 | 0··0··3 |
274 | 1··4··7 | 273 | 1··4··7 |
275 | [2·rows·x·2·columns] | ||
276 | #·the·following·is·now·equivalent | 274 | #·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··D | 277 | ···A··D |
280 | 0··0··3 | 278 | 0··0··3 |
281 | 1··4··7 | 279 | 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·axis | 281 | 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··b | 287 | ···a··b |
291 | 0··1··4 | 288 | 0··1··4 |
292 | 1··2··5 | 289 | 1··2··5 |
293 | 2··3··6 | 290 | 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··B | 293 | ··········A··B |
298 | 10754736··1··4 | 294 | 10754736··1··4 |
299 | 10754768··2··5 | 295 | 10754768··2··5 |
300 | 10754800··3··6 | 296 | 10754800··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···C | 300 | ···A··B···C |
306 | 0··1··4·NaN | 301 | 0··1··4·NaN |
307 | 1··2··5·NaN | 302 | 1··2··5·NaN |
308 | 2··3··6·NaN | 303 | 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····B | 306 | ·····A····B |
313 | 0··1.0··4.0 | 307 | 0··1.0··4.0 |
314 | 1··2.0··5.0 | 308 | 1··2.0··5.0 |
315 | 3··NaN··NaN | 309 | 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··b | 313 | ··········a··b |
321 | 10754736··1··4 | 314 | 10754736··1··4 |
322 | 10754768··2··5 | 315 | 10754768··2··5 |
323 | 10754800··3··6 | 316 | 10754800··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···C | 319 | ·····A····B···C |
328 | 0··1.0··4.0·NaN | 320 | 0··1.0··4.0·NaN |
329 | 1··2.0··5.0·NaN | 321 | 1··2.0··5.0·NaN |
330 | 3··NaN··NaN·NaN | 322 | 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·either | 323 | 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·expanded | 326 | pandas.api.types.CategoricalDtype·has·been·added·to·the·public·API·and·expanded |
336 | to·include·the·categories·and·ordered·attributes.·A·CategoricalDtype·can·be | 327 | to·include·the·categories·and·ordered·attributes.·A·CategoricalDtype·can·be |
337 | used·to·specify·the·set·of·categories·and·orderedness·of·an·array,·independent | 328 | 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·a | 329 | 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. |
Offset 745, 24 lines modified | Offset 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">"a"</span><span·class="p">,</span>·<span·class="s2">"a"</span><span·class="p">],</span>·<span·class="n">categories</span><span·class="o">=</span><span·class="p">[</span><span·class="s2">"a"</span><span·class="p">,</span>·<span·class="s2">"b"</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">"a"</span><span·class="p">,</span>·<span·class="s2">"a"</span><span·class="p">],</span>·<span·class="n">categories</span><span·class="o">=</span><span·class="p">[</span><span·class="s2">"a"</span><span·class="p">,</span>·<span·class="s2">"b"</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"> | 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>=1</span></code>.</p> | 755 | use·<code·class="docutils·literal·notranslate"><span·class="pre">min_count>=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"> | 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>·for | 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>·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 modified | Offset 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">"2017"</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">"2017"</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">"2d"</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">"2d"</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,· | 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>=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>=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">"2d"</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">"2d"</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,· | 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,·as | 804 | <p>In·particular,·upsampling·and·taking·the·sum·or·product·is·affected,·as |
805 | upsampling·introduces·missing·values·even·if·the·original·series·was | 805 | 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">'2017-01-01'</span><span·class="p">,</span>·<span·class="s1">'2017-01-02'</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">'2017-01-01'</span><span·class="p">,</span>·<span·class="s1">'2017-01-02'</span><span·class="p">])</span> |
Offset 856, 15 lines modified | Offset 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"> | 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"> |
Offset 192, 22 lines modified | Offset 192, 22 lines modified | ||
192 | p\x8pa\x8an\x8nd\x8da\x8as\x8s·0\x80.\x8.2\x822\x82 | 192 | 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····3 | 196 | a····3 |
197 | b····0 | 197 | b····0 |
198 | 198 | dtype:·int64 | |
199 | To·restore·the·0.21·behavior·of·returning·NaN·for·unobserved·groups,·use | 199 | 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.0 | 203 | a····3.0 |
204 | b····NaN | 204 | b····NaN |
205 | 205 | 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·for | 207 | 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\x8x | 209 | 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 | ···....:·s | 212 | ···....:·s |
Offset 227, 21 lines modified | Offset 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.0 | 231 | 2017-01-01····2.0 |
232 | 2017-01-03····0.0 | 232 | 2017-01-03····0.0 |
233 | Freq:·2D,· | 233 | 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.0 | 237 | 2017-01-01····2.0 |
238 | 2017-01-03····NaN | 238 | 2017-01-03····NaN |
239 | Freq:·2D,· | 239 | Freq:·2D,·dtype:·float64 |
240 | In·particular,·upsampling·and·taking·the·sum·or·product·is·affected,·as | 240 | In·particular,·upsampling·and·taking·the·sum·or·product·is·affected,·as |
241 | upsampling·introduces·missing·values·even·if·the·original·series·was·entirely | 241 | 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\x8x | 243 | 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 modified | Offset 281, 15 lines modified | ||
281 | p\x8pa\x8an\x8nd\x8da\x8as\x8s·0\x80.\x8.2\x822\x82.\x8.0\x80 | 281 | 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.0 | 285 | 0····0.0 |
286 | 1····0.0 | 286 | 1····0.0 |
287 | 287 | dtype:·float64 | |
288 | The·default·behavior·of·min_periods=None,·implying·that·min_periods·equals·the | 288 | 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·be | 291 | 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·sum | 292 | 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: |
Offset 756, 46 lines modified | Offset 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"> | 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">'test.json'</span><span·class="p">,</span>·<span·class="n">orient</span><span·class="o">=</span><span·class="s1">'table'</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">'test.json'</span><span·class="p">,</span>·<span·class="n">orient</span><span·class="o">=</span><span·class="s1">'table'</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">'test.json'</span><span·class="p">,</span>·<span·class="n">orient</span><span·class="o">=</span><span·class="s1">'table'</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">'test.json'</span><span·class="p">,</span>·<span·class="n">orient</span><span·class="o">=</span><span·class="s1">'table'</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"> | 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">'index'</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">'index'</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">'test.json'</span><span·class="p">,</span>·<span·class="n">orient</span><span·class="o">=</span><span·class="s1">'table'</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">'test.json'</span><span·class="p">,</span>·<span·class="n">orient</span><span·class="o">=</span><span·class="s1">'table'</span><span·class="p">)</span> |
Offset 805, 23 lines modified | Offset 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"> | 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·the | 819 | <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 modified | Offset 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">'A'</span><span·class="p">]</span>·<span·class="o">+</span>·<span·class="n">x</span><span·class="p">[</span><span·class="s1">'B'</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">'A'</span><span·class="p">]</span>·<span·class="o">+</span>·<span·class="n">x</span><span·class="p">[</span><span·class="s1">'B'</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’re | 840 | <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,·callables | 841 | 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 modified | Offset 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 modified | Offset 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">'key1'</span><span·class="p">,</span>·<span·class="s1">'key2'</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">'key1'</span><span·class="p">,</span>·<span·class="s1">'key2'</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. |
Offset 210, 46 lines modified | Offset 210, 42 lines modified | ||
210 | ·····foo·bar········baz·qux | 210 | ·····foo·bar········baz·qux |
211 | idx | 211 | idx |
212 | 0······1···a·2018-01-01···a | 212 | 0······1···a·2018-01-01···a |
213 | 1······2···b·2018-01-02···b | 213 | 1······2···b·2018-01-02···b |
214 | 2······3···c·2018-01-03···c | 214 | 2······3···c·2018-01-03···c |
215 | 3······4···d·2018-01-04···c | 215 | 3······4···d·2018-01-04···c |
216 | [4·rows·x·4·columns] | ||
217 | In·[3]:·df.dtypes | 216 | In·[3]:·df.dtypes |
218 | Out[3]: | 217 | Out[3]: |
219 | foo·············int64 | 218 | foo·············int64 |
220 | bar············object | 219 | bar············object |
221 | baz····datetime64[ns] | 220 | baz····datetime64[ns] |
222 | qux··········category | 221 | qux··········category |
223 | 222 | 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_df | 225 | In·[6]:·new_df |
227 | Out[6]: | 226 | Out[6]: |
228 | ·····foo·bar········baz·qux | 227 | ·····foo·bar········baz·qux |
229 | idx | 228 | idx |
230 | 0······1···a·2018-01-01···a | 229 | 0······1···a·2018-01-01···a |
231 | 1······2···b·2018-01-02···b | 230 | 1······2···b·2018-01-02···b |
232 | 2······3···c·2018-01-03···c | 231 | 2······3···c·2018-01-03···c |
233 | 3······4···d·2018-01-04···c | 232 | 3······4···d·2018-01-04···c |
234 | [4·rows·x·4·columns] | ||
235 | In·[7]:·new_df.dtypes | 233 | In·[7]:·new_df.dtypes |
236 | Out[7]: | 234 | Out[7]: |
237 | foo·············int64 | 235 | foo·············int64 |
238 | bar············object | 236 | bar············object |
239 | baz····datetime64[ns] | 237 | baz····datetime64[ns] |
240 | qux··········category | 238 | qux··········category |
241 | 239 | 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 modified | Offset 254, 41 lines modified | ||
258 | Out[11]: | 254 | Out[11]: |
259 | ···foo·bar········baz·qux | 255 | ···foo·bar········baz·qux |
260 | 0····1···a·2018-01-01···a | 256 | 0····1···a·2018-01-01···a |
261 | 1····2···b·2018-01-02···b | 257 | 1····2···b·2018-01-02···b |
262 | 2····3···c·2018-01-03···c | 258 | 2····3···c·2018-01-03···c |
263 | 3····4···d·2018-01-04···c | 259 | 3····4···d·2018-01-04···c |
264 | [4·rows·x·4·columns] | ||
265 | In·[12]:·new_df.dtypes | 260 | In·[12]:·new_df.dtypes |
266 | Out[12]: | 261 | Out[12]: |
267 | foo·············int64 | 262 | foo·············int64 |
268 | bar············object | 263 | bar············object |
269 | baz····datetime64[ns] | 264 | baz····datetime64[ns] |
270 | qux··········category | 265 | qux··········category |
271 | 266 | 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·python | 268 | 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·now | 269 | 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_\x8e | 270 | 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]:·df | 273 | In·[14]:·df |
279 | Out[14]: | 274 | Out[14]: |
280 | ···A | 275 | ···A |
281 | 0··1 | 276 | 0··1 |
282 | 1··2 | 277 | 1··2 |
283 | 2··3 | 278 | 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··C | 281 | ···A··B··C |
288 | 0··1··1··2 | 282 | 0··1··1··2 |
289 | 1··2··2··4 | 283 | 1··2··2··4 |
290 | 2··3··3··6 | 284 | 2··3··3··6 |
291 | [3·rows·x·3·columns] | ||
292 | Warning | 285 | Warning |
293 | This·may·subtly·change·the·behavior·of·your·code·when·you’re·using·.assign()·to | 286 | 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·variables | 287 | update·an·existing·column.·Previously,·callables·referring·to·other·variables |
295 | being·updated·would·get·the·“old”·values | 288 | 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 modified | Offset 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··C | 304 | ···A··C |
315 | 0··2·-2 | 305 | 0··2·-2 |
316 | 1··3·-3 | 306 | 1··3·-3 |
317 | 2··4·-4 | 307 | 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·parameters | 309 | 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·merging | 310 | 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·without | 311 | 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 modified | Offset 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···D | 332 | ·······A···B·key2···C···D |
345 | key1 | 333 | key1 |
346 | K0····A0··B0···K0··C0··D0 | 334 | K0····A0··B0···K0··C0··D0 |
347 | K1····A2··B2···K0··C1··D1 | 335 | K1····A2··B2···K0··C1··D1 |
348 | K2····A3··B3···K1··C3··D3 | 336 | 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·to | 338 | 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·DataFrame | 339 | either·column·names·or·index·level·names.·This·enables·sorting·DataFrame |
353 | instances·by·a·combination·of·index·levels·and·columns·without·resetting | 340 | 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_\x8H | 341 | 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. |
Offset 820, 18 lines modified | Offset 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('2000-01-01',·'D'),·Period('2000-01-02',·'D'),</span> | 823 | <span·class="go">array([Period('2000-01-01',·'D'),·Period('2000-01-02',·'D'),</span> |
824 | <span·class="go">·······Period('2000-01-03',·'D'),·Period('2000-01-04',·'D')],·dtype=object)</span> | 824 | <span·class="go">·······Period('2000-01-03',·'D'),·Period('2000-01-04',·'D')],·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">140 | 826 | <span·class="gh">Out[19]:·</span><span·class="go">140153632865808</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">140 | 828 | <span·class="gh">Out[20]:·</span><span·class="go">140153632865808</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('2000-01-01',·'D'),·Period('2000-01-02',·'D'),</span> | 834 | <span·class="go">array([Period('2000-01-01',·'D'),·Period('2000-01-02',·'D'),</span> |
835 | <span·class="go">·······Period('2000-01-03',·'D'),·Period('2000-01-04',·'D')],·dtype=object)</span> | 835 | <span·class="go">·······Period('2000-01-03',·'D'),·Period('2000-01-04',·'D')],·dtype=object)</span> |
Offset 268, 18 lines modified | Offset 268, 18 lines modified | ||
268 | each·time. | 268 | each·time. |
269 | In·[18]:·idx.values | 269 | 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]:·140 | 274 | Out[19]:·140153632865808 |
275 | In·[20]:·id(idx.values) | 275 | In·[20]:·id(idx.values) |
276 | Out[20]:·140 | 276 | Out[20]:·140153632865808 |
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() |
Offset 1, 3 lines modified | Offset 1, 3 lines modified | ||
1 | -rw-r--r--···0········0········0········4·2025-03-29·13:01:52.000000·debian-binary | 1 | -rw-r--r--···0········0········0········4·2025-03-29·13:01:52.000000·debian-binary |
2 | -rw-r--r--···0········0········0·····2012·2025-03-29·13:01:52.000000·control.tar.xz | 2 | -rw-r--r--···0········0········0·····2012·2025-03-29·13:01:52.000000·control.tar.xz |
3 | -rw-r--r--···0········0········0··459 | 3 | -rw-r--r--···0········0········0··4593112·2025-03-29·13:01:52.000000·data.tar.xz |
Offset 1, 4 lines modified | Offset 1, 4 lines modified | ||
1 | Displaying·notes·found·in:·.note.gnu.build-id | 1 | Displaying·notes·found·in:·.note.gnu.build-id |
2 | ··Owner················Data·size·» Description | 2 | ··Owner················Data·size·» Description |
3 | ··GNU··················0x00000014» NT_GNU_BUILD_ID·(unique·build·ID·bitstring)» ····Build·ID:· | 3 | ··GNU··················0x00000014» NT_GNU_BUILD_ID·(unique·build·ID·bitstring)» ····Build·ID:·09f3d8adc16783bdf164e9288a3823e5d4c8fae2 |
Offset 1, 7 lines modified | Offset 1, 7 lines modified | ||
1 | Hex·dump·of·section·'.gnu_debuglink': | 1 | Hex·dump·of·section·'.gnu_debuglink': |
2 | ··0x00000000·61636637·64646261·63363366·34633166·acf7ddbac63f4c1f | ||
3 | ··0x000000 | 2 | ··0x00000000·66336438·61646331·36373833·62646631·f3d8adc16783bdf1 |
3 | ··0x00000010·36346539·32383861·33383233·65356434·64e9288a3823e5d4 | ||
4 | ··0x00000020· | 4 | ··0x00000020·63386661·65322e64·65627567·00000000·c8fae2.debug.... |
5 | ··0x00000030· | 5 | ··0x00000030·dbc40a27····························...' |
Offset 1, 3 lines modified | Offset 1, 3 lines modified | ||
1 | -rw-r--r--···0········0········0········4·2025-03-29·13:01:52.000000·debian-binary | 1 | -rw-r--r--···0········0········0········4·2025-03-29·13:01:52.000000·debian-binary |
2 | -rw-r--r--···0········0········0·····2 | 2 | -rw-r--r--···0········0········0·····2600·2025-03-29·13:01:52.000000·control.tar.xz |
3 | -rw-r--r--···0········0········0·3598 | 3 | -rw-r--r--···0········0········0·35987880·2025-03-29·13:01:52.000000·data.tar.xz |
Offset 1, 13 lines modified | Offset 1, 13 lines modified | ||
1 | Package:·python3-pandas-lib-dbgsym | 1 | Package:·python3-pandas-lib-dbgsym |
2 | Source:·pandas | 2 | Source:·pandas |
3 | Version:·2.2.3+dfsg-9 | 3 | Version:·2.2.3+dfsg-9 |
4 | Auto-Built-Package:·debug-symbols | 4 | Auto-Built-Package:·debug-symbols |
5 | Architecture:·amd64 | 5 | Architecture:·amd64 |
6 | Maintainer:·Debian·Science·Team·<debian-science-maintainers@lists.alioth.debian.org> | 6 | Maintainer:·Debian·Science·Team·<debian-science-maintainers@lists.alioth.debian.org> |
7 | Installed-Size:·3779 | 7 | Installed-Size:·37793 |
8 | Depends:·python3-pandas-lib·(=·2.2.3+dfsg-9) | 8 | Depends:·python3-pandas-lib·(=·2.2.3+dfsg-9) |
9 | Section:·debug | 9 | Section:·debug |
10 | Priority:·optional | 10 | Priority:·optional |
11 | Multi-Arch:·same | 11 | Multi-Arch:·same |
12 | Description:·debug·symbols·for·python3-pandas-lib | 12 | Description:·debug·symbols·for·python3-pandas-lib |
13 | Build-Ids:·047de723354e943ab012af2dc3da366ccb214bf7·04b07377d371d83b778ee451c125760837309988·0c4b8f9a535d1d6129fdaec859fd08926840a746·102134e0d73407c4f7dad94c17dec4397228d3aa·13af0762b290d571736daf766c312703e2b7874e·1677ae507e4e933b089f6d0551c9ed0bda92f543·2d090890add6b979f6c67214819161f21a103d96·2fd98a97 | 13 | Build-Ids:·047de723354e943ab012af2dc3da366ccb214bf7·04b07377d371d83b778ee451c125760837309988·09f3d8adc16783bdf164e9288a3823e5d4c8fae2·0c4b8f9a535d1d6129fdaec859fd08926840a746·102134e0d73407c4f7dad94c17dec4397228d3aa·13af0762b290d571736daf766c312703e2b7874e·1677ae507e4e933b089f6d0551c9ed0bda92f543·2d090890add6b979f6c67214819161f21a103d96·2fd98a97365[·...·truncated·by·diffoscope;·len:·1300,·SHA:·e8453484e1ca16c13f84bc759ab6f83e65ee5bf4487a9d1d1acb5be21cdc3ca9·...·]·ed85e58d1aa16f4384cac751e38ce98049c4ca02·f51de05d2c6f212afc00e62bf6d0db3da619564d·f6fc752ae1425e6eebc3eba6331ebd71738e4140·f9b1349d5c6605c1082e1c37b723f6992b775815 |
Offset 1, 9 lines modified | Offset 1, 10 lines modified | ||
1 | usr/lib/debug/.build-id/04/7de723354e943ab012af2dc3da366ccb214bf7.debug | 1 | usr/lib/debug/.build-id/04/7de723354e943ab012af2dc3da366ccb214bf7.debug |
2 | usr/lib/debug/.build-id/04/b07377d371d83b778ee451c125760837309988.debug | 2 | usr/lib/debug/.build-id/04/b07377d371d83b778ee451c125760837309988.debug |
3 | usr/lib/debug/.build-id/09/f3d8adc16783bdf164e9288a3823e5d4c8fae2.debug | ||
3 | usr/lib/debug/.build-id/0c/4b8f9a535d1d6129fdaec859fd08926840a746.debug | 4 | usr/lib/debug/.build-id/0c/4b8f9a535d1d6129fdaec859fd08926840a746.debug |
4 | usr/lib/debug/.build-id/10/2134e0d73407c4f7dad94c17dec4397228d3aa.debug | 5 | usr/lib/debug/.build-id/10/2134e0d73407c4f7dad94c17dec4397228d3aa.debug |
5 | usr/lib/debug/.build-id/13/af0762b290d571736daf766c312703e2b7874e.debug | 6 | usr/lib/debug/.build-id/13/af0762b290d571736daf766c312703e2b7874e.debug |
6 | usr/lib/debug/.build-id/16/77ae507e4e933b089f6d0551c9ed0bda92f543.debug | 7 | usr/lib/debug/.build-id/16/77ae507e4e933b089f6d0551c9ed0bda92f543.debug |
7 | usr/lib/debug/.build-id/2d/090890add6b979f6c67214819161f21a103d96.debug | 8 | usr/lib/debug/.build-id/2d/090890add6b979f6c67214819161f21a103d96.debug |
8 | usr/lib/debug/.build-id/2f/d98a97365530c35808bef3100acebc7fed4ac6.debug | 9 | usr/lib/debug/.build-id/2f/d98a97365530c35808bef3100acebc7fed4ac6.debug |
9 | usr/lib/debug/.build-id/32/e5a60cb099a6541316152ceb0dd10d4989a811.debug | 10 | usr/lib/debug/.build-id/32/e5a60cb099a6541316152ceb0dd10d4989a811.debug |
Offset 33, 13 lines modified | Offset 34, 12 lines modified | ||
33 | usr/lib/debug/.build-id/cf/e426e0071d125e70a45937d3db1f8699cc8f16.debug | 34 | usr/lib/debug/.build-id/cf/e426e0071d125e70a45937d3db1f8699cc8f16.debug |
34 | usr/lib/debug/.build-id/d5/03c7117069185f31b2c9cee9e10de68babd115.debug | 35 | usr/lib/debug/.build-id/d5/03c7117069185f31b2c9cee9e10de68babd115.debug |
35 | usr/lib/debug/.build-id/d9/655dbe0d8b693318953c503ec528f5342770ef.debug | 36 | usr/lib/debug/.build-id/d9/655dbe0d8b693318953c503ec528f5342770ef.debug |
36 | usr/lib/debug/.build-id/e0/32c4131950d9bab8ff55a7acec2fa0e6445169.debug | 37 | usr/lib/debug/.build-id/e0/32c4131950d9bab8ff55a7acec2fa0e6445169.debug |
37 | usr/lib/debug/.build-id/e0/d07a017dc945b54be3aedfbf3e271100569711.debug | 38 | usr/lib/debug/.build-id/e0/d07a017dc945b54be3aedfbf3e271100569711.debug |
38 | usr/lib/debug/.build-id/e7/47a942defa01f48f20bc75d5297d21dde721f7.debug | 39 | usr/lib/debug/.build-id/e7/47a942defa01f48f20bc75d5297d21dde721f7.debug |
39 | usr/lib/debug/.build-id/ec/3915cda4671dcc8f66e3352e3aafec6d3d8599.debug | 40 | usr/lib/debug/.build-id/ec/3915cda4671dcc8f66e3352e3aafec6d3d8599.debug |
40 | usr/lib/debug/.build-id/ec/acf7ddbac63f4c1fda2ea2d6abde602204414d.debug | ||
41 | usr/lib/debug/.build-id/ed/85e58d1aa16f4384cac751e38ce98049c4ca02.debug | 41 | usr/lib/debug/.build-id/ed/85e58d1aa16f4384cac751e38ce98049c4ca02.debug |
42 | usr/lib/debug/.build-id/f5/1de05d2c6f212afc00e62bf6d0db3da619564d.debug | 42 | usr/lib/debug/.build-id/f5/1de05d2c6f212afc00e62bf6d0db3da619564d.debug |
43 | usr/lib/debug/.build-id/f6/fc752ae1425e6eebc3eba6331ebd71738e4140.debug | 43 | usr/lib/debug/.build-id/f6/fc752ae1425e6eebc3eba6331ebd71738e4140.debug |
44 | usr/lib/debug/.build-id/f9/b1349d5c6605c1082e1c37b723f6992b775815.debug | 44 | usr/lib/debug/.build-id/f9/b1349d5c6605c1082e1c37b723f6992b775815.debug |
45 | usr/lib/debug/.dwz/x86_64-linux-gnu/python3-pandas-lib.debug | 45 | usr/lib/debug/.dwz/x86_64-linux-gnu/python3-pandas-lib.debug |
Offset 2, 14 lines modified | Offset 2, 16 lines modified | ||
2 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-03-29·13:01:52.000000·./usr/ | 2 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-03-29·13:01:52.000000·./usr/ |
3 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-03-29·13:01:52.000000·./usr/lib/ | 3 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-03-29·13:01:52.000000·./usr/lib/ |
4 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-03-29·13:01:52.000000·./usr/lib/debug/ | 4 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-03-29·13:01:52.000000·./usr/lib/debug/ |
5 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-03-29·13:01:52.000000·./usr/lib/debug/.build-id/ | 5 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-03-29·13:01:52.000000·./usr/lib/debug/.build-id/ |
6 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-03-29·13:01:52.000000·./usr/lib/debug/.build-id/04/ | 6 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-03-29·13:01:52.000000·./usr/lib/debug/.build-id/04/ |
7 | -rw-r--r--···0·root·········(0)·root·········(0)···331040·2025-03-29·13:01:52.000000·./usr/lib/debug/.build-id/04/7de723354e943ab012af2dc3da366ccb214bf7.debug | 7 | -rw-r--r--···0·root·········(0)·root·········(0)···331040·2025-03-29·13:01:52.000000·./usr/lib/debug/.build-id/04/7de723354e943ab012af2dc3da366ccb214bf7.debug |
8 | -rw-r--r--···0·root·········(0)·root·········(0)···564784·2025-03-29·13:01:52.000000·./usr/lib/debug/.build-id/04/b07377d371d83b778ee451c125760837309988.debug | 8 | -rw-r--r--···0·root·········(0)·root·········(0)···564784·2025-03-29·13:01:52.000000·./usr/lib/debug/.build-id/04/b07377d371d83b778ee451c125760837309988.debug |
9 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-03-29·13:01:52.000000·./usr/lib/debug/.build-id/09/ | ||
10 | -rw-r--r--···0·root·········(0)·root·········(0)··1119952·2025-03-29·13:01:52.000000·./usr/lib/debug/.build-id/09/f3d8adc16783bdf164e9288a3823e5d4c8fae2.debug | ||
9 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-03-29·13:01:52.000000·./usr/lib/debug/.build-id/0c/ | 11 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-03-29·13:01:52.000000·./usr/lib/debug/.build-id/0c/ |
10 | -rw-r--r--···0·root·········(0)·root·········(0)··2094256·2025-03-29·13:01:52.000000·./usr/lib/debug/.build-id/0c/4b8f9a535d1d6129fdaec859fd08926840a746.debug | 12 | -rw-r--r--···0·root·········(0)·root·········(0)··2094256·2025-03-29·13:01:52.000000·./usr/lib/debug/.build-id/0c/4b8f9a535d1d6129fdaec859fd08926840a746.debug |
11 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-03-29·13:01:52.000000·./usr/lib/debug/.build-id/10/ | 13 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-03-29·13:01:52.000000·./usr/lib/debug/.build-id/10/ |
12 | -rw-r--r--···0·root·········(0)·root·········(0)····41928·2025-03-29·13:01:52.000000·./usr/lib/debug/.build-id/10/2134e0d73407c4f7dad94c17dec4397228d3aa.debug | 14 | -rw-r--r--···0·root·········(0)·root·········(0)····41928·2025-03-29·13:01:52.000000·./usr/lib/debug/.build-id/10/2134e0d73407c4f7dad94c17dec4397228d3aa.debug |
13 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-03-29·13:01:52.000000·./usr/lib/debug/.build-id/13/ | 15 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-03-29·13:01:52.000000·./usr/lib/debug/.build-id/13/ |
14 | -rw-r--r--···0·root·········(0)·root·········(0)···491432·2025-03-29·13:01:52.000000·./usr/lib/debug/.build-id/13/af0762b290d571736daf766c312703e2b7874e.debug | 16 | -rw-r--r--···0·root·········(0)·root·········(0)···491432·2025-03-29·13:01:52.000000·./usr/lib/debug/.build-id/13/af0762b290d571736daf766c312703e2b7874e.debug |
15 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-03-29·13:01:52.000000·./usr/lib/debug/.build-id/16/ | 17 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-03-29·13:01:52.000000·./usr/lib/debug/.build-id/16/ |
Offset 74, 15 lines modified | Offset 76, 14 lines modified | ||
74 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-03-29·13:01:52.000000·./usr/lib/debug/.build-id/e0/ | 76 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-03-29·13:01:52.000000·./usr/lib/debug/.build-id/e0/ |
75 | -rw-r--r--···0·root·········(0)·root·········(0)···610176·2025-03-29·13:01:52.000000·./usr/lib/debug/.build-id/e0/32c4131950d9bab8ff55a7acec2fa0e6445169.debug | 77 | -rw-r--r--···0·root·········(0)·root·········(0)···610176·2025-03-29·13:01:52.000000·./usr/lib/debug/.build-id/e0/32c4131950d9bab8ff55a7acec2fa0e6445169.debug |
76 | -rw-r--r--···0·root·········(0)·root·········(0)···788824·2025-03-29·13:01:52.000000·./usr/lib/debug/.build-id/e0/d07a017dc945b54be3aedfbf3e271100569711.debug | 78 | -rw-r--r--···0·root·········(0)·root·········(0)···788824·2025-03-29·13:01:52.000000·./usr/lib/debug/.build-id/e0/d07a017dc945b54be3aedfbf3e271100569711.debug |
77 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-03-29·13:01:52.000000·./usr/lib/debug/.build-id/e7/ | 79 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-03-29·13:01:52.000000·./usr/lib/debug/.build-id/e7/ |
78 | -rw-r--r--···0·root·········(0)·root·········(0)···435856·2025-03-29·13:01:52.000000·./usr/lib/debug/.build-id/e7/47a942defa01f48f20bc75d5297d21dde721f7.debug | 80 | -rw-r--r--···0·root·········(0)·root·········(0)···435856·2025-03-29·13:01:52.000000·./usr/lib/debug/.build-id/e7/47a942defa01f48f20bc75d5297d21dde721f7.debug |
79 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-03-29·13:01:52.000000·./usr/lib/debug/.build-id/ec/ | 81 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-03-29·13:01:52.000000·./usr/lib/debug/.build-id/ec/ |
80 | -rw-r--r--···0·root·········(0)·root·········(0)···192832·2025-03-29·13:01:52.000000·./usr/lib/debug/.build-id/ec/3915cda4671dcc8f66e3352e3aafec6d3d8599.debug | 82 | -rw-r--r--···0·root·········(0)·root·········(0)···192832·2025-03-29·13:01:52.000000·./usr/lib/debug/.build-id/ec/3915cda4671dcc8f66e3352e3aafec6d3d8599.debug |
81 | -rw-r--r--···0·root·········(0)·root·········(0)··1119992·2025-03-29·13:01:52.000000·./usr/lib/debug/.build-id/ec/acf7ddbac63f4c1fda2ea2d6abde602204414d.debug | ||
82 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-03-29·13:01:52.000000·./usr/lib/debug/.build-id/ed/ | 83 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-03-29·13:01:52.000000·./usr/lib/debug/.build-id/ed/ |
83 | -rw-r--r--···0·root·········(0)·root·········(0)····97680·2025-03-29·13:01:52.000000·./usr/lib/debug/.build-id/ed/85e58d1aa16f4384cac751e38ce98049c4ca02.debug | 84 | -rw-r--r--···0·root·········(0)·root·········(0)····97680·2025-03-29·13:01:52.000000·./usr/lib/debug/.build-id/ed/85e58d1aa16f4384cac751e38ce98049c4ca02.debug |
84 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-03-29·13:01:52.000000·./usr/lib/debug/.build-id/f5/ | 85 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-03-29·13:01:52.000000·./usr/lib/debug/.build-id/f5/ |
85 | -rw-r--r--···0·root·········(0)·root·········(0)···230000·2025-03-29·13:01:52.000000·./usr/lib/debug/.build-id/f5/1de05d2c6f212afc00e62bf6d0db3da619564d.debug | 86 | -rw-r--r--···0·root·········(0)·root·········(0)···230000·2025-03-29·13:01:52.000000·./usr/lib/debug/.build-id/f5/1de05d2c6f212afc00e62bf6d0db3da619564d.debug |
86 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-03-29·13:01:52.000000·./usr/lib/debug/.build-id/f6/ | 87 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-03-29·13:01:52.000000·./usr/lib/debug/.build-id/f6/ |
87 | -rw-r--r--···0·root·········(0)·root·········(0)···597384·2025-03-29·13:01:52.000000·./usr/lib/debug/.build-id/f6/fc752ae1425e6eebc3eba6331ebd71738e4140.debug | 88 | -rw-r--r--···0·root·········(0)·root·········(0)···597384·2025-03-29·13:01:52.000000·./usr/lib/debug/.build-id/f6/fc752ae1425e6eebc3eba6331ebd71738e4140.debug |
88 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-03-29·13:01:52.000000·./usr/lib/debug/.build-id/f9/ | 89 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-03-29·13:01:52.000000·./usr/lib/debug/.build-id/f9/ |
Offset 6, 15 lines modified | Offset 6, 15 lines modified | ||
6 | ··OS/ABI:····························UNIX·-·System·V | 6 | ··OS/ABI:····························UNIX·-·System·V |
7 | ··ABI·Version:·······················0 | 7 | ··ABI·Version:·······················0 |
8 | ··Type:······························DYN·(Shared·object·file) | 8 | ··Type:······························DYN·(Shared·object·file) |
9 | ··Machine:···························Advanced·Micro·Devices·X86-64 | 9 | ··Machine:···························Advanced·Micro·Devices·X86-64 |
10 | ··Version:···························0x1 | 10 | ··Version:···························0x1 |
11 | ··Entry·point·address:···············0x0 | 11 | ··Entry·point·address:···············0x0 |
12 | ··Start·of·program·headers:··········64·(bytes·into·file) | 12 | ··Start·of·program·headers:··········64·(bytes·into·file) |
13 | ··Start·of·section·headers:··········1117 | 13 | ··Start·of·section·headers:··········1117584·(bytes·into·file) |
14 | ··Flags:·····························0x0 | 14 | ··Flags:·····························0x0 |
15 | ··Size·of·this·header:···············64·(bytes) | 15 | ··Size·of·this·header:···············64·(bytes) |
16 | ··Size·of·program·headers:···········56·(bytes) | 16 | ··Size·of·program·headers:···········56·(bytes) |
17 | ··Number·of·program·headers:·········9 | 17 | ··Number·of·program·headers:·········9 |
18 | ··Size·of·section·headers:···········64·(bytes) | 18 | ··Size·of·section·headers:···········64·(bytes) |
19 | ··Number·of·section·headers:·········37 | 19 | ··Number·of·section·headers:·········37 |
20 | ··Section·header·string·table·index:·36 | 20 | ··Section·header·string·table·index:·36 |
Offset 1, 8 lines modified | Offset 1, 8 lines modified | ||
1 | There·are·37·section·headers,·starting·at·offset·0x110d | 1 | There·are·37·section·headers,·starting·at·offset·0x110d90: |
2 | Section·Headers: | 2 | Section·Headers: |
3 | ··[Nr]·Name··············Type············Address··········Off····Size···ES·Flg·Lk·Inf·Al | 3 | ··[Nr]·Name··············Type············Address··········Off····Size···ES·Flg·Lk·Inf·Al |
4 | ··[·0]···················NULL············0000000000000000·000000·000000·00······0···0··0 | 4 | ··[·0]···················NULL············0000000000000000·000000·000000·00······0···0··0 |
5 | ··[·1]·.note.gnu.build-id·NOTE············0000000000000238·000238·000024·00···A··0···0··4 | 5 | ··[·1]·.note.gnu.build-id·NOTE············0000000000000238·000238·000024·00···A··0···0··4 |
6 | ··[·2]·.gnu.hash·········NOBITS··········0000000000000260·00025c·000028·00···A··3···0··8 | 6 | ··[·2]·.gnu.hash·········NOBITS··········0000000000000260·00025c·000028·00···A··3···0··8 |
7 | ··[·3]·.dynsym···········NOBITS··········0000000000000288·00025c·0015f0·18···A··4···1··8 | 7 | ··[·3]·.dynsym···········NOBITS··········0000000000000288·00025c·0015f0·18···A··4···1··8 |
Offset 24, 23 lines modified | Offset 24, 23 lines modified | ||
24 | ··[19]·.data.rel.ro······NOBITS··········00000000000935b0·0005a0·001118·00··WA··0···0··8 | 24 | ··[19]·.data.rel.ro······NOBITS··········00000000000935b0·0005a0·001118·00··WA··0···0··8 |
25 | ··[20]·.dynamic··········NOBITS··········00000000000946c8·0005a0·0001e0·10··WA··4···0··8 | 25 | ··[20]·.dynamic··········NOBITS··········00000000000946c8·0005a0·0001e0·10··WA··4···0··8 |
26 | ··[21]·.got··············NOBITS··········00000000000948a8·0005a0·000758·08··WA··0···0··8 | 26 | ··[21]·.got··············NOBITS··········00000000000948a8·0005a0·000758·08··WA··0···0··8 |
27 | ··[22]·.data·············NOBITS··········0000000000095000·0005a0·002528·00··WA··0···0·32 | 27 | ··[22]·.data·············NOBITS··········0000000000095000·0005a0·002528·00··WA··0···0·32 |
28 | ··[23]·.bss··············NOBITS··········0000000000097540·0005a0·001c30·00··WA··0···0·32 | 28 | ··[23]·.bss··············NOBITS··········0000000000097540·0005a0·001c30·00··WA··0···0·32 |
29 | ··[24]·.comment··········PROGBITS········0000000000000000·00025c·00001f·01··MS··0···0··1 | 29 | ··[24]·.comment··········PROGBITS········0000000000000000·00025c·00001f·01··MS··0···0··1 |
30 | ··[25]·.debug_aranges····PROGBITS········0000000000000000·000280·00003d·00···C··0···0··8 | 30 | ··[25]·.debug_aranges····PROGBITS········0000000000000000·000280·00003d·00···C··0···0··8 |
31 | ··[26]·.debug_info·······PROGBITS········0000000000000000·0002c0·0652 | 31 | ··[26]·.debug_info·······PROGBITS········0000000000000000·0002c0·06523d·00···C··0···0··8 |
32 | ··[27]·.debug_abbrev·····PROGBITS········0000000000000000·0655 | 32 | ··[27]·.debug_abbrev·····PROGBITS········0000000000000000·065500·0006db·00···C··0···0··8 |
33 | ··[28]·.debug_line·······PROGBITS········0000000000000000·065 | 33 | ··[28]·.debug_line·······PROGBITS········0000000000000000·065be0·02da29·00···C··0···0··8 |
34 | ··[29]·.debug_str········PROGBITS········0000000000000000·0936 | 34 | ··[29]·.debug_str········PROGBITS········0000000000000000·093610·000ffc·01·MSC··0···0··8 |
35 | ··[30]·.debug_line_str···PROGBITS········0000000000000000·0946 | 35 | ··[30]·.debug_line_str···PROGBITS········0000000000000000·094610·00020b·01·MSC··0···0··8 |
36 | ··[31]·.debug_loclists···PROGBITS········0000000000000000·0948 | 36 | ··[31]·.debug_loclists···PROGBITS········0000000000000000·094820·0589fa·00···C··0···0··8 |
37 | ··[32]·.debug_rnglists···PROGBITS········0000000000000000·0ed2 | 37 | ··[32]·.debug_rnglists···PROGBITS········0000000000000000·0ed220·00e5fe·00···C··0···0··8 |
38 | ··[33]·.gnu_debugaltlink·PROGBITS········0000000000000000·0fb8 | 38 | ··[33]·.gnu_debugaltlink·PROGBITS········0000000000000000·0fb81e·000052·00······0···0··1 |
39 | ··[34]·.symtab···········SYMTAB··········0000000000000000·0fb8 | 39 | ··[34]·.symtab···········SYMTAB··········0000000000000000·0fb870·008fd0·18·····35·1301··8 |
40 | ··[35]·.strtab···········STRTAB··········0000000000000000·1048 | 40 | ··[35]·.strtab···········STRTAB··········0000000000000000·104840·00c3d5·00······0···0··1 |
41 | ··[36]·.shstrtab·········STRTAB··········0000000000000000·110c | 41 | ··[36]·.shstrtab·········STRTAB··········0000000000000000·110c15·000177·00······0···0··1 |
42 | Key·to·Flags: | 42 | Key·to·Flags: |
43 | ··W·(write),·A·(alloc),·X·(execute),·M·(merge),·S·(strings),·I·(info), | 43 | ··W·(write),·A·(alloc),·X·(execute),·M·(merge),·S·(strings),·I·(info), |
44 | ··L·(link·order),·O·(extra·OS·processing·required),·G·(group),·T·(TLS), | 44 | ··L·(link·order),·O·(extra·OS·processing·required),·G·(group),·T·(TLS), |
45 | ··C·(compressed),·x·(unknown),·o·(OS·specific),·E·(exclude), | 45 | ··C·(compressed),·x·(unknown),·o·(OS·specific),·E·(exclude), |
46 | ··D·(mbind),·l·(large),·p·(processor·specific) | 46 | ··D·(mbind),·l·(large),·p·(processor·specific) |
Offset 1, 4 lines modified | Offset 1, 4 lines modified | ||
1 | Displaying·notes·found·in:·.note.gnu.build-id | 1 | Displaying·notes·found·in:·.note.gnu.build-id |
2 | ··Owner················Data·size·» Description | 2 | ··Owner················Data·size·» Description |
3 | ··GNU··················0x00000014» NT_GNU_BUILD_ID·(unique·build·ID·bitstring)» ····Build·ID:· | 3 | ··GNU··················0x00000014» NT_GNU_BUILD_ID·(unique·build·ID·bitstring)» ····Build·ID:·09f3d8adc16783bdf164e9288a3823e5d4c8fae2 |
Offset 1, 11 lines modified | Offset 1, 11 lines modified | ||
1 | Contents·of·the·.debug_info·section: | 1 | Contents·of·the·.debug_info·section: |
2 | ··Compilation·Unit·@·offset·0: | 2 | ··Compilation·Unit·@·offset·0: |
3 | ···Length:········0xd45c | 3 | ···Length:········0xd45cb·(32-bit) |
4 | ···Version:·······5 | 4 | ···Version:·······5 |
5 | ···Unit·Type:·····DW_UT_compile·(1) | 5 | ···Unit·Type:·····DW_UT_compile·(1) |
6 | ···Abbrev·Offset:·0 | 6 | ···Abbrev·Offset:·0 |
7 | ···Pointer·Size:··8 | 7 | ···Pointer·Size:··8 |
8 | ·<0><c>:·Abbrev·Number:·230·(DW_TAG_compile_unit) | 8 | ·<0><c>:·Abbrev·Number:·230·(DW_TAG_compile_unit) |
9 | ····<e>···DW_AT_producer····:·(GNU_strp_alt)·(offset:·0x18231)· | 9 | ····<e>···DW_AT_producer····:·(GNU_strp_alt)·(offset:·0x18231)· |
10 | ····<12>···DW_AT_language····:·(data1)·29» (C11) | 10 | ····<12>···DW_AT_language····:·(data1)·29» (C11) |
Offset 15305, 15 lines modified | Offset 15305, 15 lines modified | ||
15305 | ·<7><94fa>:·Abbrev·Number:·2·(DW_TAG_call_site_parameter) | 15305 | ·<7><94fa>:·Abbrev·Number:·2·(DW_TAG_call_site_parameter) |
15306 | ····<94fb>···DW_AT_location····:·(exprloc)·1·byte·block:·54·» (DW_OP_reg4·(rsi)) | 15306 | ····<94fb>···DW_AT_location····:·(exprloc)·1·byte·block:·54·» (DW_OP_reg4·(rsi)) |
15307 | ····<94fd>···DW_AT_call_value··:·(exprloc)·9·byte·block:·3·5e·c8·7·0·0·0·0·0·» (DW_OP_addr:·7c85e) | 15307 | ····<94fd>···DW_AT_call_value··:·(exprloc)·9·byte·block:·3·5e·c8·7·0·0·0·0·0·» (DW_OP_addr:·7c85e) |
15308 | ·<7><9507>:·Abbrev·Number:·0 | 15308 | ·<7><9507>:·Abbrev·Number:·0 |
15309 | ·<6><9508>:·Abbrev·Number:·0 | 15309 | ·<6><9508>:·Abbrev·Number:·0 |
15310 | ·<5><9509>:·Abbrev·Number:·22·(DW_TAG_call_site) | 15310 | ·<5><9509>:·Abbrev·Number:·22·(DW_TAG_call_site) |
15311 | ····<950a>···DW_AT_call_return_pc:·(addr)·0x2869d | 15311 | ····<950a>···DW_AT_call_return_pc:·(addr)·0x2869d |
15312 | ····<9512>···DW_AT_call_origin·:·(ref_udata)·<0xc55b | 15312 | ····<9512>···DW_AT_call_origin·:·(ref_udata)·<0xc55bc> |
15313 | ·<6><9515>:·Abbrev·Number:·2·(DW_TAG_call_site_parameter) | 15313 | ·<6><9515>:·Abbrev·Number:·2·(DW_TAG_call_site_parameter) |
15314 | ····<9516>···DW_AT_location····:·(exprloc)·1·byte·block:·55·» (DW_OP_reg5·(rdi)) | 15314 | ····<9516>···DW_AT_location····:·(exprloc)·1·byte·block:·55·» (DW_OP_reg5·(rdi)) |
15315 | ····<9518>···DW_AT_call_value··:·(exprloc)·2·byte·block:·73·0·» (DW_OP_breg3·(rbx):·0) | 15315 | ····<9518>···DW_AT_call_value··:·(exprloc)·2·byte·block:·73·0·» (DW_OP_breg3·(rbx):·0) |
15316 | ·<6><951b>:·Abbrev·Number:·18·(DW_TAG_call_site_parameter) | 15316 | ·<6><951b>:·Abbrev·Number:·18·(DW_TAG_call_site_parameter) |
15317 | ····<951c>···DW_AT_call_parameter:·(ref_udata)·<0x8696> | 15317 | ····<951c>···DW_AT_call_parameter:·(ref_udata)·<0x8696> |
15318 | ····<951f>···DW_AT_call_value··:·(exprloc)·9·byte·block:·3·a5·c6·7·0·0·0·0·0·» (DW_OP_addr:·7c6a5) | 15318 | ····<951f>···DW_AT_call_value··:·(exprloc)·9·byte·block:·3·a5·c6·7·0·0·0·0·0·» (DW_OP_addr:·7c6a5) |
15319 | ·<6><9529>:·Abbrev·Number:·0 | 15319 | ·<6><9529>:·Abbrev·Number:·0 |
Offset 15500, 29 lines modified | Offset 15500, 29 lines modified | ||
15500 | ····<96a9>···DW_AT_name········:·(GNU_strp_alt)·(offset:·0x1435b)· | 15500 | ····<96a9>···DW_AT_name········:·(GNU_strp_alt)·(offset:·0x1435b)· |
15501 | ····<96ad>···DW_AT_decl_file···:·(implicit_const)·1 | 15501 | ····<96ad>···DW_AT_decl_file···:·(implicit_const)·1 |
15502 | ····<96ad>···DW_AT_decl_line···:·(data4)·0x11745 | 15502 | ····<96ad>···DW_AT_decl_line···:·(data4)·0x11745 |
15503 | ····<96b1>···DW_AT_decl_column·:·(data1)·13 | 15503 | ····<96b1>···DW_AT_decl_column·:·(data1)·13 |
15504 | ····<96b2>···DW_AT_type········:·(ref_udata)·<0xa1b> | 15504 | ····<96b2>···DW_AT_type········:·(ref_udata)·<0xa1b> |
15505 | ·<4><96b4>:·Abbrev·Number:·0 | 15505 | ·<4><96b4>:·Abbrev·Number:·0 |
15506 | ·<3><96b5>:·Abbrev·Number:·129·(DW_TAG_inlined_subroutine) | 15506 | ·<3><96b5>:·Abbrev·Number:·129·(DW_TAG_inlined_subroutine) |
15507 | ····<96b7>···DW_AT_abstract_origin:·(ref_udata)·<0xc2f0 | 15507 | ····<96b7>···DW_AT_abstract_origin:·(ref_udata)·<0xc2f0c> |
15508 | ····<96ba>···DW_AT_entry_pc····:·(addr)·0x285d0 | 15508 | ····<96ba>···DW_AT_entry_pc····:·(addr)·0x285d0 |
15509 | ····<96c2>···DW_AT_GNU_entry_view:·(data2)·2 | 15509 | ····<96c2>···DW_AT_GNU_entry_view:·(data2)·2 |
15510 | ····<96c4>···DW_AT_ranges······:·(sec_offset)·0x1bdd | 15510 | ····<96c4>···DW_AT_ranges······:·(sec_offset)·0x1bdd |
15511 | ····<96c8>···DW_AT_call_file···:·(implicit_const)·1 | 15511 | ····<96c8>···DW_AT_call_file···:·(implicit_const)·1 |
15512 | ····<96c8>···DW_AT_call_line···:·(data4)·0x11745 | 15512 | ····<96c8>···DW_AT_call_line···:·(data4)·0x11745 |
15513 | ····<96cc>···DW_AT_call_column·:·(data1)·13 | 15513 | ····<96cc>···DW_AT_call_column·:·(data1)·13 |
15514 | ·<4><96cd>:·Abbrev·Number:·4·(DW_TAG_formal_parameter) | 15514 | ·<4><96cd>:·Abbrev·Number:·4·(DW_TAG_formal_parameter) |
15515 | ····<96ce>···DW_AT_abstract_origin:·(ref_udata)·<0xc2f1 | 15515 | ····<96ce>···DW_AT_abstract_origin:·(ref_udata)·<0xc2f1c> |
15516 | ····<96d1>···DW_AT_location····:·(sec_offset)·0x53f·(location·list) | 15516 | ····<96d1>···DW_AT_location····:·(sec_offset)·0x53f·(location·list) |
15517 | ····<96d5>···DW_AT_GNU_locviews:·(sec_offset)·0x53d | 15517 | ····<96d5>···DW_AT_GNU_locviews:·(sec_offset)·0x53d |
15518 | ·<4><96d9>:·Abbrev·Number:·11·(DW_TAG_lexical_block) | 15518 | ·<4><96d9>:·Abbrev·Number:·11·(DW_TAG_lexical_block) |
15519 | ····<96da>···DW_AT_ranges······:·(sec_offset)·0x1bdd | 15519 | ····<96da>···DW_AT_ranges······:·(sec_offset)·0x1bdd |
15520 | ·<5><96de>:·Abbrev·Number:·36·(DW_TAG_variable) | 15520 | ·<5><96de>:·Abbrev·Number:·36·(DW_TAG_variable) |
15521 | ····<96df>···DW_AT_abstract_origin:·(ref_udata)·<0xc2f2 | 15521 | ····<96df>···DW_AT_abstract_origin:·(ref_udata)·<0xc2f27> |
15522 | ·<5><96e2>:·Abbrev·Number:·0 | 15522 | ·<5><96e2>:·Abbrev·Number:·0 |
15523 | ·<4><96e3>:·Abbrev·Number:·0 | 15523 | ·<4><96e3>:·Abbrev·Number:·0 |
15524 | ·<3><96e4>:·Abbrev·Number:·0 | 15524 | ·<3><96e4>:·Abbrev·Number:·0 |
15525 | ·<2><96e5>:·Abbrev·Number:·34·(DW_TAG_lexical_block) | 15525 | ·<2><96e5>:·Abbrev·Number:·34·(DW_TAG_lexical_block) |
15526 | ····<96e6>···DW_AT_ranges······:·(sec_offset)·0x1bef | 15526 | ····<96e6>···DW_AT_ranges······:·(sec_offset)·0x1bef |
15527 | ····<96ea>···DW_AT_sibling·····:·(ref_udata)·<0x97d1> | 15527 | ····<96ea>···DW_AT_sibling·····:·(ref_udata)·<0x97d1> |
15528 | ·<3><96ed>:·Abbrev·Number:·60·(DW_TAG_variable) | 15528 | ·<3><96ed>:·Abbrev·Number:·60·(DW_TAG_variable) |
Offset 15750, 25 lines modified | Offset 15750, 25 lines modified | ||
15750 | ····<98e1>···DW_AT_GNU_locviews:·(sec_offset)·0x5f3 | 15750 | ····<98e1>···DW_AT_GNU_locviews:·(sec_offset)·0x5f3 |
15751 | ·<3><98e5>:·Abbrev·Number:·9·(DW_TAG_variable) | 15751 | ·<3><98e5>:·Abbrev·Number:·9·(DW_TAG_variable) |
15752 | ····<98e6>···DW_AT_abstract_origin:·(GNU_ref_alt)·<0xf557> | 15752 | ····<98e6>···DW_AT_abstract_origin:·(GNU_ref_alt)·<0xf557> |
15753 | ····<98ea>···DW_AT_location····:·(sec_offset)·0x607·(location·list) | 15753 | ····<98ea>···DW_AT_location····:·(sec_offset)·0x607·(location·list) |
15754 | ····<98ee>···DW_AT_GNU_locviews:·(sec_offset)·0x605 | 15754 | ····<98ee>···DW_AT_GNU_locviews:·(sec_offset)·0x605 |
15755 | ·<3><98f2>:·Abbrev·Number:·0 | 15755 | ·<3><98f2>:·Abbrev·Number:·0 |
15756 | ·<2><98f3>:·Abbrev·Number:·87·(DW_TAG_inlined_subroutine) | 15756 | ·<2><98f3>:·Abbrev·Number:·87·(DW_TAG_inlined_subroutine) |
15757 | ····<98f4>···DW_AT_abstract_origin:·(ref_udata)·<0xc2f4 | 15757 | ····<98f4>···DW_AT_abstract_origin:·(ref_udata)·<0xc2f48> |
15758 | ····<98f7>···DW_AT_entry_pc····:·(addr)·0x28546 | 15758 | ····<98f7>···DW_AT_entry_pc····:·(addr)·0x28546 |
15759 | ····<98ff>···DW_AT_GNU_entry_view:·(data2)·2 | 15759 | ····<98ff>···DW_AT_GNU_entry_view:·(data2)·2 |
15760 | ····<9901>···DW_AT_low_pc······:·(addr)·0x28546 | 15760 | ····<9901>···DW_AT_low_pc······:·(addr)·0x28546 |
15761 | ····<9909>···DW_AT_high_pc·····:·(udata)·4 | 15761 | ····<9909>···DW_AT_high_pc·····:·(udata)·4 |
15762 | ····<990a>···DW_AT_call_file···:·(implicit_const)·1 | 15762 | ····<990a>···DW_AT_call_file···:·(implicit_const)·1 |
15763 | ····<990a>···DW_AT_call_line···:·(data4)·0x11744 | 15763 | ····<990a>···DW_AT_call_line···:·(data4)·0x11744 |
15764 | ····<990e>···DW_AT_call_column·:·(data1)·13 | 15764 | ····<990e>···DW_AT_call_column·:·(data1)·13 |
15765 | ····<990f>···DW_AT_sibling·····:·(ref_udata)·<0x991f> | 15765 | ····<990f>···DW_AT_sibling·····:·(ref_udata)·<0x991f> |
15766 | ·<3><9912>:·Abbrev·Number:·4·(DW_TAG_formal_parameter) | 15766 | ·<3><9912>:·Abbrev·Number:·4·(DW_TAG_formal_parameter) |
15767 | ····<9913>···DW_AT_abstract_origin:·(ref_udata)·<0xc2f5 | 15767 | ····<9913>···DW_AT_abstract_origin:·(ref_udata)·<0xc2f58> |
15768 | ····<9916>···DW_AT_location····:·(sec_offset)·0x618·(location·list) | 15768 | ····<9916>···DW_AT_location····:·(sec_offset)·0x618·(location·list) |
15769 | ····<991a>···DW_AT_GNU_locviews:·(sec_offset)·0x616 | 15769 | ····<991a>···DW_AT_GNU_locviews:·(sec_offset)·0x616 |
15770 | ·<3><991e>:·Abbrev·Number:·0 | 15770 | ·<3><991e>:·Abbrev·Number:·0 |
15771 | ·<2><991f>:·Abbrev·Number:·8·(DW_TAG_call_site) | 15771 | ·<2><991f>:·Abbrev·Number:·8·(DW_TAG_call_site) |
15772 | ····<9920>···DW_AT_call_return_pc:·(addr)·0x285c0 | 15772 | ····<9920>···DW_AT_call_return_pc:·(addr)·0x285c0 |
15773 | ····<9928>···DW_AT_call_origin·:·(GNU_ref_alt)·<0xf456> | 15773 | ····<9928>···DW_AT_call_origin·:·(GNU_ref_alt)·<0xf456> |
15774 | ·<3><992c>:·Abbrev·Number:·2·(DW_TAG_call_site_parameter) | 15774 | ·<3><992c>:·Abbrev·Number:·2·(DW_TAG_call_site_parameter) |
Offset 16359, 15 lines modified | Offset 16359, 15 lines modified | ||
16359 | ·<7><9e18>:·Abbrev·Number:·2·(DW_TAG_call_site_parameter) | 16359 | ·<7><9e18>:·Abbrev·Number:·2·(DW_TAG_call_site_parameter) |
16360 | ····<9e19>···DW_AT_location····:·(exprloc)·1·byte·block:·54·» (DW_OP_reg4·(rsi)) | 16360 | ····<9e19>···DW_AT_location····:·(exprloc)·1·byte·block:·54·» (DW_OP_reg4·(rsi)) |
16361 | ····<9e1b>···DW_AT_call_value··:·(exprloc)·9·byte·block:·3·5e·c8·7·0·0·0·0·0·» (DW_OP_addr:·7c85e) | 16361 | ····<9e1b>···DW_AT_call_value··:·(exprloc)·9·byte·block:·3·5e·c8·7·0·0·0·0·0·» (DW_OP_addr:·7c85e) |
16362 | ·<7><9e25>:·Abbrev·Number:·0 | 16362 | ·<7><9e25>:·Abbrev·Number:·0 |
16363 | ·<6><9e26>:·Abbrev·Number:·0 | 16363 | ·<6><9e26>:·Abbrev·Number:·0 |
16364 | ·<5><9e27>:·Abbrev·Number:·22·(DW_TAG_call_site) | 16364 | ·<5><9e27>:·Abbrev·Number:·22·(DW_TAG_call_site) |
16365 | ····<9e28>···DW_AT_call_return_pc:·(addr)·0x284ed | 16365 | ····<9e28>···DW_AT_call_return_pc:·(addr)·0x284ed |
16366 | ····<9e30>···DW_AT_call_origin·:·(ref_udata)·<0xc55b | 16366 | ····<9e30>···DW_AT_call_origin·:·(ref_udata)·<0xc55bc> |
16367 | ·<6><9e33>:·Abbrev·Number:·2·(DW_TAG_call_site_parameter) | 16367 | ·<6><9e33>:·Abbrev·Number:·2·(DW_TAG_call_site_parameter) |
16368 | ····<9e34>···DW_AT_location····:·(exprloc)·1·byte·block:·55·» (DW_OP_reg5·(rdi)) | 16368 | ····<9e34>···DW_AT_location····:·(exprloc)·1·byte·block:·55·» (DW_OP_reg5·(rdi)) |
16369 | ····<9e36>···DW_AT_call_value··:·(exprloc)·2·byte·block:·73·0·» (DW_OP_breg3·(rbx):·0) | 16369 | ····<9e36>···DW_AT_call_value··:·(exprloc)·2·byte·block:·73·0·» (DW_OP_breg3·(rbx):·0) |
16370 | ·<6><9e39>:·Abbrev·Number:·18·(DW_TAG_call_site_parameter) | 16370 | ·<6><9e39>:·Abbrev·Number:·18·(DW_TAG_call_site_parameter) |
16371 | ····<9e3a>···DW_AT_call_parameter:·(ref_udata)·<0x8696> | 16371 | ····<9e3a>···DW_AT_call_parameter:·(ref_udata)·<0x8696> |
16372 | ····<9e3d>···DW_AT_call_value··:·(exprloc)·9·byte·block:·3·a5·c6·7·0·0·0·0·0·» (DW_OP_addr:·7c6a5) | 16372 | ····<9e3d>···DW_AT_call_value··:·(exprloc)·9·byte·block:·3·a5·c6·7·0·0·0·0·0·» (DW_OP_addr:·7c6a5) |
16373 | ·<6><9e47>:·Abbrev·Number:·0 | 16373 | ·<6><9e47>:·Abbrev·Number:·0 |
Offset 16554, 29 lines modified | Offset 16554, 29 lines modified | ||
16554 | ····<9fc7>···DW_AT_name········:·(GNU_strp_alt)·(offset:·0x1435b)· | 16554 | ····<9fc7>···DW_AT_name········:·(GNU_strp_alt)·(offset:·0x1435b)· |
16555 | ····<9fcb>···DW_AT_decl_file···:·(implicit_const)·1 | 16555 | ····<9fcb>···DW_AT_decl_file···:·(implicit_const)·1 |
16556 | ····<9fcb>···DW_AT_decl_line···:·(data4)·0x11529 | 16556 | ····<9fcb>···DW_AT_decl_line···:·(data4)·0x11529 |
16557 | ····<9fcf>···DW_AT_decl_column·:·(data1)·13 | 16557 | ····<9fcf>···DW_AT_decl_column·:·(data1)·13 |
16558 | ····<9fd0>···DW_AT_type········:·(ref_udata)·<0xa1b> | 16558 | ····<9fd0>···DW_AT_type········:·(ref_udata)·<0xa1b> |
16559 | ·<4><9fd2>:·Abbrev·Number:·0 | 16559 | ·<4><9fd2>:·Abbrev·Number:·0 |
16560 | ·<3><9fd3>:·Abbrev·Number:·129·(DW_TAG_inlined_subroutine) | 16560 | ·<3><9fd3>:·Abbrev·Number:·129·(DW_TAG_inlined_subroutine) |
16561 | ····<9fd5>···DW_AT_abstract_origin:·(ref_udata)·<0xc2f0 | 16561 | ····<9fd5>···DW_AT_abstract_origin:·(ref_udata)·<0xc2f0c> |
16562 | ····<9fd8>···DW_AT_entry_pc····:·(addr)·0x28420 | 16562 | ····<9fd8>···DW_AT_entry_pc····:·(addr)·0x28420 |
16563 | ····<9fe0>···DW_AT_GNU_entry_view:·(data2)·2 | 16563 | ····<9fe0>···DW_AT_GNU_entry_view:·(data2)·2 |
16564 | ····<9fe2>···DW_AT_ranges······:·(sec_offset)·0x1b5c | 16564 | ····<9fe2>···DW_AT_ranges······:·(sec_offset)·0x1b5c |
16565 | ····<9fe6>···DW_AT_call_file···:·(implicit_const)·1 | 16565 | ····<9fe6>···DW_AT_call_file···:·(implicit_const)·1 |
16566 | ····<9fe6>···DW_AT_call_line···:·(data4)·0x11529 | 16566 | ····<9fe6>···DW_AT_call_line···:·(data4)·0x11529 |
16567 | ····<9fea>···DW_AT_call_column·:·(data1)·13 | 16567 | ····<9fea>···DW_AT_call_column·:·(data1)·13 |
16568 | ·<4><9feb>:·Abbrev·Number:·4·(DW_TAG_formal_parameter) | 16568 | ·<4><9feb>:·Abbrev·Number:·4·(DW_TAG_formal_parameter) |
16569 | ····<9fec>···DW_AT_abstract_origin:·(ref_udata)·<0xc2f1 | 16569 | ····<9fec>···DW_AT_abstract_origin:·(ref_udata)·<0xc2f1c> |
16570 | ····<9fef>···DW_AT_location····:·(sec_offset)·0x7a4·(location·list) | 16570 | ····<9fef>···DW_AT_location····:·(sec_offset)·0x7a4·(location·list) |
16571 | ····<9ff3>···DW_AT_GNU_locviews:·(sec_offset)·0x7a2 | 16571 | ····<9ff3>···DW_AT_GNU_locviews:·(sec_offset)·0x7a2 |
16572 | ·<4><9ff7>:·Abbrev·Number:·11·(DW_TAG_lexical_block) | 16572 | ·<4><9ff7>:·Abbrev·Number:·11·(DW_TAG_lexical_block) |
16573 | ····<9ff8>···DW_AT_ranges······:·(sec_offset)·0x1b5c | 16573 | ····<9ff8>···DW_AT_ranges······:·(sec_offset)·0x1b5c |
16574 | ·<5><9ffc>:·Abbrev·Number:·36·(DW_TAG_variable) | 16574 | ·<5><9ffc>:·Abbrev·Number:·36·(DW_TAG_variable) |
16575 | ····<9ffd>···DW_AT_abstract_origin:·(ref_udata)·<0xc2f2 | 16575 | ····<9ffd>···DW_AT_abstract_origin:·(ref_udata)·<0xc2f27> |
16576 | ·<5><a000>:·Abbrev·Number:·0 | 16576 | ·<5><a000>:·Abbrev·Number:·0 |
16577 | ·<4><a001>:·Abbrev·Number:·0 | 16577 | ·<4><a001>:·Abbrev·Number:·0 |
16578 | ·<3><a002>:·Abbrev·Number:·0 | 16578 | ·<3><a002>:·Abbrev·Number:·0 |
16579 | ·<2><a003>:·Abbrev·Number:·34·(DW_TAG_lexical_block) | 16579 | ·<2><a003>:·Abbrev·Number:·34·(DW_TAG_lexical_block) |
16580 | ····<a004>···DW_AT_ranges······:·(sec_offset)·0x1b6e | 16580 | ····<a004>···DW_AT_ranges······:·(sec_offset)·0x1b6e |
Max diff block lines reached; 21017233/21024430 bytes (99.97%) of diff not shown. |
Offset 122731, 21 lines modified | Offset 122731, 21 lines modified | ||
122731 | ····0005f70e·v000000000000001·v000000000000003·views·at·0005f70c·for: | 122731 | ····0005f70e·v000000000000001·v000000000000003·views·at·0005f70c·for: |
122732 | ·············0000000000075767·000000000007577d·(DW_OP_lit0;·DW_OP_stack_value) | 122732 | ·············0000000000075767·000000000007577d·(DW_OP_lit0;·DW_OP_stack_value) |
122733 | ····0005f71b·<End·of·list> | 122733 | ····0005f71b·<End·of·list> |
122734 | ····0005f71c·v000000000000001·v000000000000003·location·view·pair | 122734 | ····0005f71c·v000000000000001·v000000000000003·location·view·pair |
122735 | ····0005f71e·v000000000000001·v000000000000003·views·at·0005f71c·for: | 122735 | ····0005f71e·v000000000000001·v000000000000003·views·at·0005f71c·for: |
122736 | ·············0000000000075767·000000000007577d·(DW_OP_implicit_pointer:·<0x5dae | 122736 | ·············0000000000075767·000000000007577d·(DW_OP_implicit_pointer:·<0x5daeb>·0) |
122737 | ····0005f72f·<End·of·list> | 122737 | ····0005f72f·<End·of·list> |
122738 | ····0005f730·v000000000000001·v000000000000003·location·view·pair | 122738 | ····0005f730·v000000000000001·v000000000000003·location·view·pair |
122739 | ····0005f732·v000000000000001·v000000000000003·views·at·0005f730·for: | 122739 | ····0005f732·v000000000000001·v000000000000003·views·at·0005f730·for: |
122740 | ·············0000000000075767·000000000007577d·(DW_OP_implicit_pointer:·<0x5daf | 122740 | ·············0000000000075767·000000000007577d·(DW_OP_implicit_pointer:·<0x5daf7>·0) |
122741 | ····0005f743·<End·of·list> | 122741 | ····0005f743·<End·of·list> |
122742 | ····0005f744·v000000000000001·v000000000000001·location·view·pair | 122742 | ····0005f744·v000000000000001·v000000000000001·location·view·pair |
122743 | ····0005f746·v000000000000001·v000000000000001·views·at·0005f744·for: | 122743 | ····0005f746·v000000000000001·v000000000000001·views·at·0005f744·for: |
122744 | ·············0000000000075774·000000000007577d·(DW_OP_reg3·(rbx)) | 122744 | ·············0000000000075774·000000000007577d·(DW_OP_reg3·(rbx)) |
122745 | ····0005f752·<End·of·list> | 122745 | ····0005f752·<End·of·list> |
Offset 138403, 37 lines modified | Offset 138403, 37 lines modified | ||
138403 | ····0006ba9c·<End·of·list> | 138403 | ····0006ba9c·<End·of·list> |
138404 | ····0006ba9d·v000000000000000·v000000000000004·location·view·pair | 138404 | ····0006ba9d·v000000000000000·v000000000000004·location·view·pair |
138405 | ····0006ba9f·v000000000000000·v000000000000000·location·view·pair | 138405 | ····0006ba9f·v000000000000000·v000000000000000·location·view·pair |
138406 | ····0006baa1·000000000003d940·(base·address) | 138406 | ····0006baa1·000000000003d940·(base·address) |
138407 | ····0006baaa·v000000000000000·v000000000000004·views·at·0006ba9d·for: | 138407 | ····0006baaa·v000000000000000·v000000000000004·views·at·0006ba9d·for: |
138408 | ·············000000000003d940·000000000003d95e·(DW_OP_implicit_pointer:·<0x6c35 | 138408 | ·············000000000003d940·000000000003d95e·(DW_OP_implicit_pointer:·<0x6c351>·0) |
138409 | ····0006bab4·v000000000000000·v000000000000000·views·at·0006ba9f·for: | 138409 | ····0006bab4·v000000000000000·v000000000000000·views·at·0006ba9f·for: |
138410 | ·············000000000003db50·000000000003db8a·(DW_OP_implicit_pointer:·<0x6c35 | 138410 | ·············000000000003db50·000000000003db8a·(DW_OP_implicit_pointer:·<0x6c351>·0) |
138411 | ····0006bac0·<End·of·list> | 138411 | ····0006bac0·<End·of·list> |
138412 | ····0006bac1·v000000000000000·v000000000000004·location·view·pair | 138412 | ····0006bac1·v000000000000000·v000000000000004·location·view·pair |
138413 | ····0006bac3·v000000000000000·v000000000000000·location·view·pair | 138413 | ····0006bac3·v000000000000000·v000000000000000·location·view·pair |
138414 | ····0006bac5·000000000003d940·(base·address) | 138414 | ····0006bac5·000000000003d940·(base·address) |
138415 | ····0006bace·v000000000000000·v000000000000004·views·at·0006bac1·for: | 138415 | ····0006bace·v000000000000000·v000000000000004·views·at·0006bac1·for: |
138416 | ·············000000000003d940·000000000003d95e·(DW_OP_implicit_pointer:·<0x6c36 | 138416 | ·············000000000003d940·000000000003d95e·(DW_OP_implicit_pointer:·<0x6c365>·0) |
138417 | ····0006bad8·v000000000000000·v000000000000000·views·at·0006bac3·for: | 138417 | ····0006bad8·v000000000000000·v000000000000000·views·at·0006bac3·for: |
138418 | ·············000000000003db50·000000000003db8a·(DW_OP_implicit_pointer:·<0x6c36 | 138418 | ·············000000000003db50·000000000003db8a·(DW_OP_implicit_pointer:·<0x6c365>·0) |
138419 | ····0006bae4·<End·of·list> | 138419 | ····0006bae4·<End·of·list> |
138420 | ····0006bae5·v000000000000000·v000000000000004·location·view·pair | 138420 | ····0006bae5·v000000000000000·v000000000000004·location·view·pair |
138421 | ····0006bae7·v000000000000000·v000000000000000·location·view·pair | 138421 | ····0006bae7·v000000000000000·v000000000000000·location·view·pair |
138422 | ····0006bae9·000000000003d940·(base·address) | 138422 | ····0006bae9·000000000003d940·(base·address) |
138423 | ····0006baf2·v000000000000000·v000000000000004·views·at·0006bae5·for: | 138423 | ····0006baf2·v000000000000000·v000000000000004·views·at·0006bae5·for: |
138424 | ·············000000000003d940·000000000003d95e·(DW_OP_implicit_pointer:·<0x6c37 | 138424 | ·············000000000003d940·000000000003d95e·(DW_OP_implicit_pointer:·<0x6c379>·0) |
138425 | ····0006bafc·v000000000000000·v000000000000000·views·at·0006bae7·for: | 138425 | ····0006bafc·v000000000000000·v000000000000000·views·at·0006bae7·for: |
138426 | ·············000000000003db50·000000000003db8a·(DW_OP_implicit_pointer:·<0x6c37 | 138426 | ·············000000000003db50·000000000003db8a·(DW_OP_implicit_pointer:·<0x6c379>·0) |
138427 | ····0006bb08·<End·of·list> | 138427 | ····0006bb08·<End·of·list> |
138428 | ····0006bb09·v000000000000001·v000000000000000·location·view·pair | 138428 | ····0006bb09·v000000000000001·v000000000000000·location·view·pair |
138429 | ····0006bb0b·v000000000000000·v000000000000000·location·view·pair | 138429 | ····0006bb0b·v000000000000000·v000000000000000·location·view·pair |
138430 | ····0006bb0d·v000000000000000·v000000000000000·location·view·pair | 138430 | ····0006bb0d·v000000000000000·v000000000000000·location·view·pair |
138431 | ····0006bb0f·v000000000000000·v000000000000000·location·view·pair | 138431 | ····0006bb0f·v000000000000000·v000000000000000·location·view·pair |
138432 | ····0006bb11·v000000000000000·v000000000000000·location·view·pair | 138432 | ····0006bb11·v000000000000000·v000000000000000·location·view·pair |
Offset 165717, 37 lines modified | Offset 165717, 37 lines modified | ||
165717 | ····00080a10·<End·of·list> | 165717 | ····00080a10·<End·of·list> |
165718 | ····00080a11·v000000000000000·v000000000000000·location·view·pair | 165718 | ····00080a11·v000000000000000·v000000000000000·location·view·pair |
165719 | ····00080a13·v000000000000000·v000000000000000·location·view·pair | 165719 | ····00080a13·v000000000000000·v000000000000000·location·view·pair |
165720 | ····00080a15·000000000003c90b·(base·address) | 165720 | ····00080a15·000000000003c90b·(base·address) |
165721 | ····00080a1e·v000000000000000·v000000000000000·views·at·00080a11·for: | 165721 | ····00080a1e·v000000000000000·v000000000000000·views·at·00080a11·for: |
165722 | ·············000000000003c90b·000000000003c934·(DW_OP_implicit_pointer:·<0x7d78 | 165722 | ·············000000000003c90b·000000000003c934·(DW_OP_implicit_pointer:·<0x7d78d>·0) |
165723 | ····00080a28·v000000000000000·v000000000000000·views·at·00080a13·for: | 165723 | ····00080a28·v000000000000000·v000000000000000·views·at·00080a13·for: |
165724 | ·············000000000003ca93·000000000003cac3·(DW_OP_implicit_pointer:·<0x7d78 | 165724 | ·············000000000003ca93·000000000003cac3·(DW_OP_implicit_pointer:·<0x7d78d>·0) |
165725 | ····00080a34·<End·of·list> | 165725 | ····00080a34·<End·of·list> |
165726 | ····00080a35·v000000000000000·v000000000000000·location·view·pair | 165726 | ····00080a35·v000000000000000·v000000000000000·location·view·pair |
165727 | ····00080a37·v000000000000000·v000000000000000·location·view·pair | 165727 | ····00080a37·v000000000000000·v000000000000000·location·view·pair |
165728 | ····00080a39·000000000003c90b·(base·address) | 165728 | ····00080a39·000000000003c90b·(base·address) |
165729 | ····00080a42·v000000000000000·v000000000000000·views·at·00080a35·for: | 165729 | ····00080a42·v000000000000000·v000000000000000·views·at·00080a35·for: |
165730 | ·············000000000003c90b·000000000003c934·(DW_OP_implicit_pointer:·<0x7d79 | 165730 | ·············000000000003c90b·000000000003c934·(DW_OP_implicit_pointer:·<0x7d799>·0) |
165731 | ····00080a4c·v000000000000000·v000000000000000·views·at·00080a37·for: | 165731 | ····00080a4c·v000000000000000·v000000000000000·views·at·00080a37·for: |
165732 | ·············000000000003ca93·000000000003cac3·(DW_OP_implicit_pointer:·<0x7d79 | 165732 | ·············000000000003ca93·000000000003cac3·(DW_OP_implicit_pointer:·<0x7d799>·0) |
165733 | ····00080a58·<End·of·list> | 165733 | ····00080a58·<End·of·list> |
165734 | ····00080a59·v000000000000000·v000000000000000·location·view·pair | 165734 | ····00080a59·v000000000000000·v000000000000000·location·view·pair |
165735 | ····00080a5b·v000000000000000·v000000000000000·location·view·pair | 165735 | ····00080a5b·v000000000000000·v000000000000000·location·view·pair |
165736 | ····00080a5d·000000000003c90b·(base·address) | 165736 | ····00080a5d·000000000003c90b·(base·address) |
165737 | ····00080a66·v000000000000000·v000000000000000·views·at·00080a59·for: | 165737 | ····00080a66·v000000000000000·v000000000000000·views·at·00080a59·for: |
165738 | ·············000000000003c90b·000000000003c934·(DW_OP_implicit_pointer:·<0x7d7a | 165738 | ·············000000000003c90b·000000000003c934·(DW_OP_implicit_pointer:·<0x7d7a5>·0) |
165739 | ····00080a70·v000000000000000·v000000000000000·views·at·00080a5b·for: | 165739 | ····00080a70·v000000000000000·v000000000000000·views·at·00080a5b·for: |
165740 | ·············000000000003ca93·000000000003cac3·(DW_OP_implicit_pointer:·<0x7d7a | 165740 | ·············000000000003ca93·000000000003cac3·(DW_OP_implicit_pointer:·<0x7d7a5>·0) |
165741 | ····00080a7c·<End·of·list> | 165741 | ····00080a7c·<End·of·list> |
165742 | ····00080a7d·v000000000000000·v000000000000005·location·view·pair | 165742 | ····00080a7d·v000000000000000·v000000000000005·location·view·pair |
165743 | ····00080a7f·v000000000000005·v000000000000000·location·view·pair | 165743 | ····00080a7f·v000000000000005·v000000000000000·location·view·pair |
165744 | ····00080a81·v000000000000000·v000000000000000·location·view·pair | 165744 | ····00080a81·v000000000000000·v000000000000000·location·view·pair |
165745 | ····00080a83·000000000003ca93·(base·address) | 165745 | ····00080a83·000000000003ca93·(base·address) |
Offset 184808, 45 lines modified | Offset 184808, 45 lines modified | ||
184808 | ····0008f994·v000000000000004·v000000000000002·location·view·pair | 184808 | ····0008f994·v000000000000004·v000000000000002·location·view·pair |
184809 | ····0008f996·v000000000000000·v000000000000000·location·view·pair | 184809 | ····0008f996·v000000000000000·v000000000000000·location·view·pair |
184810 | ····0008f998·v000000000000000·v000000000000000·location·view·pair | 184810 | ····0008f998·v000000000000000·v000000000000000·location·view·pair |
184811 | ····0008f99a·000000000006b8a1·(base·address) | 184811 | ····0008f99a·000000000006b8a1·(base·address) |
184812 | ····0008f9a3·v000000000000004·v000000000000002·views·at·0008f994·for: | 184812 | ····0008f9a3·v000000000000004·v000000000000002·views·at·0008f994·for: |
184813 | ·············000000000006b8a1·000000000006b8e7·(DW_OP_implicit_pointer:·<0x8749 | 184813 | ·············000000000006b8a1·000000000006b8e7·(DW_OP_implicit_pointer:·<0x87496>·0) |
184814 | ····0008f9ad·v000000000000000·v000000000000000·views·at·0008f996·for: | 184814 | ····0008f9ad·v000000000000000·v000000000000000·views·at·0008f996·for: |
184815 | ·············000000000006bd04·000000000006bd20·(DW_OP_implicit_pointer:·<0x8749 | 184815 | ·············000000000006bd04·000000000006bd20·(DW_OP_implicit_pointer:·<0x87496>·0) |
184816 | ····0008f9b9·v000000000000000·v000000000000000·views·at·0008f998·for: | 184816 | ····0008f9b9·v000000000000000·v000000000000000·views·at·0008f998·for: |
184817 | ·············0000000000022393·0000000000022398·(DW_OP_implicit_pointer:·<0x8749 | 184817 | ·············0000000000022393·0000000000022398·(DW_OP_implicit_pointer:·<0x87496>·0) |
184818 | ····0008f9ca·<End·of·list> | 184818 | ····0008f9ca·<End·of·list> |
184819 | ····0008f9cb·v000000000000004·v000000000000002·location·view·pair | 184819 | ····0008f9cb·v000000000000004·v000000000000002·location·view·pair |
184820 | ····0008f9cd·v000000000000000·v000000000000000·location·view·pair | 184820 | ····0008f9cd·v000000000000000·v000000000000000·location·view·pair |
184821 | ····0008f9cf·v000000000000000·v000000000000000·location·view·pair | 184821 | ····0008f9cf·v000000000000000·v000000000000000·location·view·pair |
184822 | ····0008f9d1·000000000006b8a1·(base·address) | 184822 | ····0008f9d1·000000000006b8a1·(base·address) |
184823 | ····0008f9da·v000000000000004·v000000000000002·views·at·0008f9cb·for: | 184823 | ····0008f9da·v000000000000004·v000000000000002·views·at·0008f9cb·for: |
184824 | ·············000000000006b8a1·000000000006b8e7·(DW_OP_implicit_pointer:·<0x874a | 184824 | ·············000000000006b8a1·000000000006b8e7·(DW_OP_implicit_pointer:·<0x874aa>·0) |
184825 | ····0008f9e4·v000000000000000·v000000000000000·views·at·0008f9cd·for: | 184825 | ····0008f9e4·v000000000000000·v000000000000000·views·at·0008f9cd·for: |
184826 | ·············000000000006bd04·000000000006bd20·(DW_OP_implicit_pointer:·<0x874a | 184826 | ·············000000000006bd04·000000000006bd20·(DW_OP_implicit_pointer:·<0x874aa>·0) |
184827 | ····0008f9f0·v000000000000000·v000000000000000·views·at·0008f9cf·for: | 184827 | ····0008f9f0·v000000000000000·v000000000000000·views·at·0008f9cf·for: |
184828 | ·············0000000000022393·0000000000022398·(DW_OP_implicit_pointer:·<0x874a | 184828 | ·············0000000000022393·0000000000022398·(DW_OP_implicit_pointer:·<0x874aa>·0) |
184829 | ····0008fa01·<End·of·list> | 184829 | ····0008fa01·<End·of·list> |
184830 | ····0008fa02·v000000000000004·v000000000000002·location·view·pair | 184830 | ····0008fa02·v000000000000004·v000000000000002·location·view·pair |
184831 | ····0008fa04·v000000000000000·v000000000000000·location·view·pair | 184831 | ····0008fa04·v000000000000000·v000000000000000·location·view·pair |
Max diff block lines reached; 68314/76577 bytes (89.21%) of diff not shown. |
Offset 1, 105 lines modified | Offset 1, 91 lines modified | ||
1 | 1 | GCC:·(Debian·14.2.0-19)·14.2.0 | |
2 | uvfW1BSRC | 2 | uvfW1BSRC |
3 | rffgggwgg | ||
4 | S0=&FRLE | ||
5 | n]3ZeLG= | ||
6 | _+UrVo{+ | ||
7 | )2/PMAwyu | ||
8 | ^BIH#» %HK | ||
9 | x\h7Li7L | ||
10 | jlSj\qW#» | ||
11 | )-^SZ$J-> | ||
12 | /7T#-MIKS | ||
13 | kZrIYrIYbq | ||
14 | |wK.L'Kj | ||
15 | }z+w@o~+W | ||
16 | 3 | ec6Ub#G>Z | |
4 | n=#32N)N | ||
5 | [$&{f`%u | ||
6 | D{dD)K{d | ||
7 | .&aME1» l | ||
8 | +AYHTzCVSY | ||
9 | *}&k}6H} | ||
10 | jtkCw_y([u | ||
11 | ?wgLiz/W | ||
12 | 'khsqXMPG| | ||
13 | kyKC·>G.u | ||
14 | RF||:x?e | ||
15 | jlWj\uWc | ||
16 | 4WF)#,&% | ||
17 | JcOe{L?.: | ||
18 | Jn?%6F0· | ||
19 | <WJcv8s= | ||
20 | !3+l3i9! | ||
17 | V,u)Wg@' | 21 | V,u)Wg@'s |
22 | #$?G4gs!l | ||
23 | JXm}MU6; | ||
24 | D:f*PN^G;f | ||
25 | =K])H:*f | ||
26 | r·Wf5-(P4 | ||
18 | 9vXWAa9$ | ||
19 | RXKX)<fSF | ||
20 | ,dPUcum" | ||
21 | W^w'#L·| | ||
22 | Y_Qz+Hmac | ||
23 | 'S$yCFOq | ||
24 | ·rD*tZ)t | ||
25 | 27 | gY)zBqcF | |
28 | Ts,2[yL6 | ||
29 | Z)HV@AeBP | ||
30 | uI3^M2xv | ||
31 | K[h-QH1)1 | ||
32 | ·_m^DA_% | ||
33 | LP|3EAx~ | ||
34 | ].!H.!#$ | ||
35 | \F0TlTWX | ||
36 | x]@VGHf, | ||
37 | pQ8TWlE} | ||
38 | ;T5B0`>z | ||
39 | [=z6GPNm | ||
40 | d$Sy6C0o | ||
26 | 9m9<C!Y/ | ||
27 | ej;V8-yc| | ||
28 | fNim,QGX | ||
29 | Z4+!{xhYr< | ||
30 | `hekez)M | ||
31 | QebJ%^e7U | ||
32 | q» b?-V\[ | ||
33 | j%d8QvSx | ||
34 | e=lT4Hf,`{^u | ||
35 | /I1-'$q-/ | ||
36 | 3*{8L;rL | ||
37 | QHf,`CA&\ | ||
38 | v6}7sQ8TWlE} | ||
39 | u$`D@0`> | ||
40 | C`1E)/fy9 | ||
41 | 41 | ZH3X-MW( | |
42 | }"S`F><<+ | ||
43 | Q]R>.DuI | ||
44 | 8~<_TqYR | ||
45 | ])*k3y=+ | ||
46 | LJb-|o4o | ||
47 | eBE*!;%t3 | ||
48 | je^RSeKw | ||
49 | E» UxqBau | ||
50 | xn3cshT<gsX | ||
51 | » P6L·{1> | ||
52 | `VQ<Y+·2 | ||
53 | qmGEFbUp | ||
54 | _!}<8C~9 | ||
55 | N;fI{"t+2 | ||
56 | uL}&pFRP2i | ||
57 | tG/lV·MUB | ||
42 | U]S>>TuM | ||
43 | ~J{2`N,C | ||
44 | fkv5U~y»J | ||
45 | `7pM,Ts_ | ||
46 | OC_NhN]B | ||
47 | jp\fOJ6Cnb | ||
48 | SJ6`sszQ | ||
49 | !-G\jyQ1 | ||
50 | Gl;%C» 3i[ | ||
51 | @{yQU5!T-/ | ||
52 | KD&wN» 1/~ | ||
53 | b[2_L;OaQ | ||
54 | $={R.zc? | ||
55 | I·xRoh» Y | ||
56 | Gm!t?Dzt | ||
57 | yh;UVBN}W | ||
58 | qw447d}0w$ | ||
59 | c, | 58 | c,rWLUvW |
59 | 7+E^s1Jh» i&[ | ||
60 | !e##,J:D | ||
61 | ])dw;:?N | ||
62 | c·lPG``a | ||
63 | WP&|wO-g | ||
64 | (u3<7"=?J= | ||
65 | hjXI|=DD | ||
66 | U1\ym__d | ||
67 | ·>&~ZY6o` | ||
68 | ^TMC:@[g | ||
69 | Eg;Rl3,5 | ||
70 | =A:e)V':H | ||
71 | 7R=A#{!; | ||
72 | '/1iF>p') | ||
73 | iu?~$1Tzl | ||
60 | umM(c}^9 | ||
61 | !!l!:h·; | ||
Max diff block lines reached; 1578/3558 bytes (44.35%) of diff not shown. |