diff --git a/latest-results.md b/latest-results.md index 11ca25e..0c3affb 100644 --- a/latest-results.md +++ b/latest-results.md @@ -1,8 +1,8 @@ # Python LSP Benchmark Comparison -Generated from `results/bench-servers/summary-20260921T060722Z.json` +Generated from `results/bench-servers/summary-20260922T060545Z.json` -- Generated at: 20260921T060722Z +- Generated at: 20260922T060545Z - Config: `github-releases` - Servers: pyright, ty, pyrefly, pylsp-mypy - Baseline server: Pyright (pyright) @@ -13,7 +13,7 @@ Generated from `results/bench-servers/summary-20260921T060722Z.json` | Server | Version | Source | | --- | --- | --- | | Pyright | 1.1.414 | /home/runner/work/python-lsp-compare/python-lsp-compare/.python-lsp-compare/servers/pyright/1.1.414/package/dist/pyright-langserver.js | -| Ty | 0.0.82 | /home/runner/work/python-lsp-compare/python-lsp-compare/.python-lsp-compare/servers/ty/0.0.82/ty-x86_64-unknown-linux-gnu/ty | +| Ty | 0.0.83 | /home/runner/work/python-lsp-compare/python-lsp-compare/.python-lsp-compare/servers/ty/0.0.83/ty-x86_64-unknown-linux-gnu/ty | | Pyrefly | 1.3.1 | /home/runner/work/python-lsp-compare/python-lsp-compare/.python-lsp-compare/servers/pyrefly/venv/bin/pyrefly | | pylsp-mypy | 1.15.0 | /home/runner/work/python-lsp-compare/python-lsp-compare/.python-lsp-compare/servers/pylsp-mypy/venv/bin/pylsp | @@ -30,10 +30,10 @@ Generated from `results/bench-servers/summary-20260921T060722Z.json` | Server | Success | Benchmarks | Wall clock ms | Avg measured ms | Measured requests | Non-empty % | Failed points | | --- | --- | --- | ---: | ---: | ---: | ---: | ---: | -| [Ty](latest-results/ty-20260921T060722Z.json) | yes | 6 | 5565.98 | 4.82 | 150 | 100% | 0 | -| [Pyrefly](latest-results/pyrefly-20260921T060722Z.json) | no | 8 | 16900.74 | 37.50 | 205 | 97% | 2 | -| [Pyright](latest-results/pyright-20260921T060722Z.json) | yes | 6 | 39208.39 | 76.41 | 150 | 97% | 0 | -| [pylsp-mypy](latest-results/pylsp-mypy-20260921T060722Z.json) | no | 6 | 215805.28 | 369.78 | 150 | 80% | 5 | +| [Ty](latest-results/ty-20260922T060545Z.json) | yes | 6 | 5018.11 | 4.14 | 150 | 100% | 0 | +| [Pyrefly](latest-results/pyrefly-20260922T060545Z.json) | no | 8 | 16445.96 | 36.53 | 205 | 97% | 2 | +| [Pyright](latest-results/pyright-20260922T060545Z.json) | yes | 6 | 37215.26 | 66.75 | 150 | 97% | 0 | +| [pylsp-mypy](latest-results/pylsp-mypy-20260922T060545Z.json) | no | 6 | 216321.07 | 368.24 | 150 | 80% | 5 | *Wall clock ms includes server startup, warmup iterations, and shutdown — but excludes one-time environment creation and dependency installation.* @@ -41,10 +41,10 @@ Generated from `results/bench-servers/summary-20260921T060722Z.json` | Server | Success | Wall clock ms | Avg measured ms | Points | Measured requests | Non-empty % | Failed points | | --- | --- | ---: | ---: | ---: | ---: | ---: | ---: | -| [Ty](latest-results/ty-20260921T060722Z.json) | yes | 548.30 | 5.04 | 5 | 25 | 100% | 0 | -| [Pyrefly](latest-results/pyrefly-20260921T060722Z.json) | yes | 1307.24 | 25.72 | 5 | 25 | 100% | 0 | -| [Pyright](latest-results/pyright-20260921T060722Z.json) | yes | 4951.62 | 86.26 | 5 | 25 | 100% | 0 | -| [pylsp-mypy](latest-results/pylsp-mypy-20260921T060722Z.json) | no | 8025.24 | 119.80 | 5 | 25 | 80% | 1 | +| [Ty](latest-results/ty-20260922T060545Z.json) | yes | 493.68 | 4.05 | 5 | 25 | 100% | 0 | +| [Pyrefly](latest-results/pyrefly-20260922T060545Z.json) | yes | 1092.34 | 24.01 | 5 | 25 | 100% | 0 | +| [Pyright](latest-results/pyright-20260922T060545Z.json) | yes | 4474.20 | 75.17 | 5 | 25 | 100% | 0 | +| [pylsp-mypy](latest-results/pylsp-mypy-20260922T060545Z.json) | no | 7706.46 | 112.31 | 5 | 25 | 80% | 1 | ### dataframe completion @@ -52,10 +52,10 @@ Method: `textDocument/completion` | Server | Success | Mean ms | P95 ms | Non-empty % | Completions found | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| [Ty](latest-results/ty-20260921T060722Z.json) | yes | 1.67 | 1.88 | 100% | 223.00 | +22.00 | pass | -| [Pyright](latest-results/pyright-20260921T060722Z.json) | yes | 7.35 | 12.51 | 100% | 201.00 | 0.00 | pass | -| [Pyrefly](latest-results/pyrefly-20260921T060722Z.json) | yes | 91.55 | 363.66 | 100% | 250.00 | +49.00 | pass | -| [pylsp-mypy](latest-results/pylsp-mypy-20260921T060722Z.json) | yes | 238.91 | 469.62 | 100% | 188.00 | -13.00 | pass | +| [Ty](latest-results/ty-20260922T060545Z.json) | yes | 1.67 | 1.90 | 100% | 223.00 | +22.00 | pass | +| [Pyright](latest-results/pyright-20260922T060545Z.json) | yes | 5.85 | 10.97 | 100% | 201.00 | 0.00 | pass | +| [Pyrefly](latest-results/pyrefly-20260922T060545Z.json) | yes | 87.42 | 336.39 | 100% | 250.00 | +49.00 | pass | +| [pylsp-mypy](latest-results/pylsp-mypy-20260922T060545Z.json) | yes | 213.17 | 463.91 | 100% | 188.00 | -13.00 | pass | ### dataframe describe hover @@ -63,10 +63,10 @@ Method: `textDocument/hover` | Server | Success | Mean ms | P95 ms | Non-empty % | Hover length | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| [Ty](latest-results/ty-20260921T060722Z.json) | yes | 0.33 | 0.35 | 100% | 4232.00 | +213.00 | pass | -| [Pyright](latest-results/pyright-20260921T060722Z.json) | yes | 1.17 | 1.51 | 100% | 4019.00 | 0.00 | pass | -| [Pyrefly](latest-results/pyrefly-20260921T060722Z.json) | yes | 2.55 | 2.78 | 100% | 3182.00 | -837.00 | pass | -| [pylsp-mypy](latest-results/pylsp-mypy-20260921T060722Z.json) | yes | 183.33 | 184.51 | 100% | 4134.00 | +115.00 | pass | +| [Ty](latest-results/ty-20260922T060545Z.json) | yes | 0.32 | 0.34 | 100% | 4232.00 | +213.00 | pass | +| [Pyright](latest-results/pyright-20260922T060545Z.json) | yes | 1.03 | 1.31 | 100% | 4019.00 | 0.00 | pass | +| [Pyrefly](latest-results/pyrefly-20260922T060545Z.json) | yes | 3.07 | 4.75 | 100% | 3182.00 | -837.00 | pass | +| [pylsp-mypy](latest-results/pylsp-mypy-20260922T060545Z.json) | yes | 176.77 | 178.89 | 100% | 4134.00 | +115.00 | pass | ### summarize definition @@ -74,10 +74,10 @@ Method: `textDocument/definition` | Server | Success | Mean ms | P95 ms | Non-empty % | Definitions found | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| [Pyrefly](latest-results/pyrefly-20260921T060722Z.json) | yes | 0.21 | 0.23 | 100% | 1.00 | 0.00 | pass | -| [Ty](latest-results/ty-20260921T060722Z.json) | yes | 0.22 | 0.23 | 100% | 1.00 | 0.00 | pass | -| [Pyright](latest-results/pyright-20260921T060722Z.json) | yes | 0.44 | 0.50 | 100% | 1.00 | 0.00 | pass | -| [pylsp-mypy](latest-results/pylsp-mypy-20260921T060722Z.json) | yes | 1.05 | 1.10 | 100% | 1.00 | 0.00 | pass | +| [Ty](latest-results/ty-20260922T060545Z.json) | yes | 0.21 | 0.22 | 100% | 1.00 | 0.00 | pass | +| [Pyrefly](latest-results/pyrefly-20260922T060545Z.json) | yes | 0.32 | 0.60 | 100% | 1.00 | 0.00 | pass | +| [Pyright](latest-results/pyright-20260922T060545Z.json) | yes | 0.40 | 0.45 | 100% | 1.00 | 0.00 | pass | +| [pylsp-mypy](latest-results/pylsp-mypy-20260922T060545Z.json) | yes | 1.03 | 1.10 | 100% | 1.00 | 0.00 | pass | ### edit array then complete (edit+completion) @@ -85,10 +85,10 @@ Method: `textDocument/completion` | Server | Success | Mean ms | P95 ms | Non-empty % | Completions found | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| [pylsp-mypy](latest-results/pylsp-mypy-20260921T060722Z.json) | no | 4.60 | 4.72 | 0% | 0.00 | -168.00 | fail (10) | -| [Ty](latest-results/ty-20260921T060722Z.json) | yes | 16.38 | 18.03 | 100% | 168.00 | 0.00 | pass | -| [Pyrefly](latest-results/pyrefly-20260921T060722Z.json) | yes | 28.70 | 79.19 | 100% | 149.00 | -19.00 | pass | -| [Pyright](latest-results/pyright-20260921T060722Z.json) | yes | 392.49 | 523.13 | 100% | 168.00 | 0.00 | pass | +| [pylsp-mypy](latest-results/pylsp-mypy-20260922T060545Z.json) | no | 4.39 | 4.62 | 0% | 0.00 | -168.00 | fail (10) | +| [Ty](latest-results/ty-20260922T060545Z.json) | yes | 12.68 | 14.19 | 100% | 168.00 | 0.00 | pass | +| [Pyrefly](latest-results/pyrefly-20260922T060545Z.json) | yes | 27.61 | 31.98 | 100% | 149.00 | -19.00 | pass | +| [Pyright](latest-results/pyright-20260922T060545Z.json) | yes | 338.37 | 457.89 | 100% | 168.00 | 0.00 | pass | ### edit array then hover (edit+hover) @@ -96,10 +96,10 @@ Method: `textDocument/hover` | Server | Success | Mean ms | P95 ms | Non-empty % | Hover length | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| [Pyrefly](latest-results/pyrefly-20260921T060722Z.json) | yes | 5.60 | 6.64 | 100% | 2546.00 | +2268.00 | pass | -| [Ty](latest-results/ty-20260921T060722Z.json) | yes | 6.61 | 7.15 | 100% | 267.00 | -11.00 | pass | -| [Pyright](latest-results/pyright-20260921T060722Z.json) | yes | 29.83 | 32.52 | 100% | 278.00 | 0.00 | pass | -| [pylsp-mypy](latest-results/pylsp-mypy-20260921T060722Z.json) | yes | 171.10 | 173.17 | 100% | 5662.00 | +5384.00 | pass | +| [Pyrefly](latest-results/pyrefly-20260922T060545Z.json) | yes | 1.61 | 4.71 | 100% | 2546.00 | +2268.00 | pass | +| [Ty](latest-results/ty-20260922T060545Z.json) | yes | 5.36 | 5.38 | 100% | 267.00 | -11.00 | pass | +| [Pyright](latest-results/pyright-20260922T060545Z.json) | yes | 30.18 | 35.93 | 100% | 278.00 | 0.00 | pass | +| [pylsp-mypy](latest-results/pylsp-mypy-20260922T060545Z.json) | yes | 166.17 | 168.07 | 100% | 5662.00 | +5384.00 | pass | ### Result Differences @@ -112,10 +112,10 @@ Method: `textDocument/hover` | Server | Success | Wall clock ms | Avg measured ms | Points | Measured requests | Non-empty % | Failed points | | --- | --- | ---: | ---: | ---: | ---: | ---: | ---: | -| [Ty](latest-results/ty-20260921T060722Z.json) | yes | 272.79 | 2.74 | 5 | 25 | 100% | 0 | -| [Pyrefly](latest-results/pyrefly-20260921T060722Z.json) | yes | 319.39 | 5.58 | 5 | 25 | 100% | 0 | -| [Pyright](latest-results/pyright-20260921T060722Z.json) | yes | 1424.56 | 13.77 | 5 | 25 | 100% | 0 | -| [pylsp-mypy](latest-results/pylsp-mypy-20260921T060722Z.json) | yes | 8147.20 | 179.58 | 5 | 25 | 100% | 0 | +| [Ty](latest-results/ty-20260922T060545Z.json) | yes | 261.78 | 2.56 | 5 | 25 | 100% | 0 | +| [Pyrefly](latest-results/pyrefly-20260922T060545Z.json) | yes | 304.91 | 5.19 | 5 | 25 | 100% | 0 | +| [Pyright](latest-results/pyright-20260922T060545Z.json) | yes | 1458.93 | 14.13 | 5 | 25 | 100% | 0 | +| [pylsp-mypy](latest-results/pylsp-mypy-20260922T060545Z.json) | yes | 7666.54 | 171.08 | 5 | 25 | 100% | 0 | ### queryset completion @@ -123,10 +123,10 @@ Method: `textDocument/completion` | Server | Success | Mean ms | P95 ms | Non-empty % | Completions found | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| [Pyright](latest-results/pyright-20260921T060722Z.json) | yes | 4.74 | 7.86 | 100% | 10.00 | 0.00 | pass | -| [Ty](latest-results/ty-20260921T060722Z.json) | yes | 5.22 | 7.46 | 100% | 261.00 | +251.00 | pass | -| [Pyrefly](latest-results/pyrefly-20260921T060722Z.json) | yes | 18.47 | 64.82 | 100% | 15.00 | +5.00 | pass | -| [pylsp-mypy](latest-results/pylsp-mypy-20260921T060722Z.json) | yes | 225.31 | 689.91 | 100% | 2.00 | -8.00 | pass | +| [Ty](latest-results/ty-20260922T060545Z.json) | yes | 4.59 | 6.57 | 100% | 261.00 | +251.00 | pass | +| [Pyright](latest-results/pyright-20260922T060545Z.json) | yes | 4.85 | 7.90 | 100% | 10.00 | 0.00 | pass | +| [Pyrefly](latest-results/pyrefly-20260922T060545Z.json) | yes | 17.34 | 62.27 | 100% | 15.00 | +5.00 | pass | +| [pylsp-mypy](latest-results/pylsp-mypy-20260922T060545Z.json) | yes | 211.26 | 647.66 | 100% | 2.00 | -8.00 | pass | ### queryset filter hover @@ -134,10 +134,10 @@ Method: `textDocument/hover` | Server | Success | Mean ms | P95 ms | Non-empty % | Hover length | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| [Ty](latest-results/ty-20260921T060722Z.json) | yes | 0.23 | 0.25 | 100% | 46.00 | -11.00 | pass | -| [Pyright](latest-results/pyright-20260921T060722Z.json) | yes | 0.54 | 0.63 | 100% | 57.00 | 0.00 | pass | -| [Pyrefly](latest-results/pyrefly-20260921T060722Z.json) | yes | 2.89 | 5.34 | 100% | 298.00 | +241.00 | pass | -| [pylsp-mypy](latest-results/pylsp-mypy-20260921T060722Z.json) | yes | 162.24 | 163.33 | 100% | 57.00 | 0.00 | pass | +| [Ty](latest-results/ty-20260922T060545Z.json) | yes | 0.21 | 0.23 | 100% | 46.00 | -11.00 | pass | +| [Pyright](latest-results/pyright-20260922T060545Z.json) | yes | 0.54 | 0.63 | 100% | 57.00 | 0.00 | pass | +| [Pyrefly](latest-results/pyrefly-20260922T060545Z.json) | yes | 3.33 | 4.61 | 100% | 298.00 | +241.00 | pass | +| [pylsp-mypy](latest-results/pylsp-mypy-20260922T060545Z.json) | yes | 154.62 | 156.73 | 100% | 57.00 | 0.00 | pass | ### model definition @@ -145,10 +145,10 @@ Method: `textDocument/definition` | Server | Success | Mean ms | P95 ms | Non-empty % | Definitions found | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| [Ty](latest-results/ty-20260921T060722Z.json) | yes | 0.20 | 0.20 | 100% | 1.00 | 0.00 | pass | -| [Pyright](latest-results/pyright-20260921T060722Z.json) | yes | 0.39 | 0.44 | 100% | 1.00 | 0.00 | pass | -| [pylsp-mypy](latest-results/pylsp-mypy-20260921T060722Z.json) | yes | 1.07 | 1.10 | 100% | 1.00 | 0.00 | pass | -| [Pyrefly](latest-results/pyrefly-20260921T060722Z.json) | yes | 2.83 | 6.67 | 100% | 1.00 | 0.00 | pass | +| [Ty](latest-results/ty-20260922T060545Z.json) | yes | 0.18 | 0.20 | 100% | 1.00 | 0.00 | pass | +| [Pyright](latest-results/pyright-20260922T060545Z.json) | yes | 0.39 | 0.45 | 100% | 1.00 | 0.00 | pass | +| [pylsp-mypy](latest-results/pylsp-mypy-20260922T060545Z.json) | yes | 1.05 | 1.10 | 100% | 1.00 | 0.00 | pass | +| [Pyrefly](latest-results/pyrefly-20260922T060545Z.json) | yes | 1.97 | 3.51 | 100% | 1.00 | 0.00 | pass | ### edit queryset then complete (edit+completion) @@ -156,10 +156,10 @@ Method: `textDocument/completion` | Server | Success | Mean ms | P95 ms | Non-empty % | Completions found | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| [Pyrefly](latest-results/pyrefly-20260921T060722Z.json) | yes | 2.14 | 4.89 | 100% | 83.00 | -21.00 | pass | -| [Ty](latest-results/ty-20260921T060722Z.json) | yes | 4.87 | 5.46 | 100% | 104.00 | 0.00 | pass | -| [Pyright](latest-results/pyright-20260921T060722Z.json) | yes | 25.53 | 27.57 | 100% | 104.00 | 0.00 | pass | -| [pylsp-mypy](latest-results/pylsp-mypy-20260921T060722Z.json) | yes | 259.81 | 304.33 | 100% | 143.00 | +39.00 | pass | +| [Pyrefly](latest-results/pyrefly-20260922T060545Z.json) | yes | 1.81 | 3.81 | 100% | 83.00 | -21.00 | pass | +| [Ty](latest-results/ty-20260922T060545Z.json) | yes | 4.57 | 4.88 | 100% | 104.00 | 0.00 | pass | +| [Pyright](latest-results/pyright-20260922T060545Z.json) | yes | 26.41 | 28.34 | 100% | 104.00 | 0.00 | pass | +| [pylsp-mypy](latest-results/pylsp-mypy-20260922T060545Z.json) | yes | 247.61 | 280.83 | 100% | 143.00 | +39.00 | pass | ### edit queryset then hover (edit+hover) @@ -167,10 +167,10 @@ Method: `textDocument/hover` | Server | Success | Mean ms | P95 ms | Non-empty % | Hover length | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| [Pyrefly](latest-results/pyrefly-20260921T060722Z.json) | yes | 1.57 | 4.31 | 100% | 858.00 | +775.00 | pass | -| [Ty](latest-results/ty-20260921T060722Z.json) | yes | 3.20 | 3.27 | 100% | 100.00 | +17.00 | pass | -| [Pyright](latest-results/pyright-20260921T060722Z.json) | yes | 37.65 | 43.63 | 100% | 83.00 | 0.00 | pass | -| [pylsp-mypy](latest-results/pylsp-mypy-20260921T060722Z.json) | yes | 249.46 | 260.02 | 100% | 71.00 | -12.00 | pass | +| [Pyrefly](latest-results/pyrefly-20260922T060545Z.json) | yes | 1.52 | 4.19 | 100% | 858.00 | +775.00 | pass | +| [Ty](latest-results/ty-20260922T060545Z.json) | yes | 3.27 | 3.92 | 100% | 100.00 | +17.00 | pass | +| [Pyright](latest-results/pyright-20260922T060545Z.json) | yes | 38.45 | 45.15 | 100% | 83.00 | 0.00 | pass | +| [pylsp-mypy](latest-results/pylsp-mypy-20260922T060545Z.json) | yes | 240.88 | 242.26 | 100% | 71.00 | -12.00 | pass | ### Result Differences @@ -183,10 +183,10 @@ Method: `textDocument/hover` | Server | Success | Wall clock ms | Avg measured ms | Points | Measured requests | Non-empty % | Failed points | | --- | --- | ---: | ---: | ---: | ---: | ---: | ---: | -| [Ty](latest-results/ty-20260921T060722Z.json) | yes | 909.36 | 9.33 | 5 | 25 | 100% | 0 | -| [Pyrefly](latest-results/pyrefly-20260921T060722Z.json) | yes | 1146.21 | 28.26 | 5 | 25 | 100% | 0 | -| [pylsp-mypy](latest-results/pylsp-mypy-20260921T060722Z.json) | yes | 7988.09 | 140.12 | 5 | 25 | 100% | 0 | -| [Pyright](latest-results/pyright-20260921T060722Z.json) | yes | 11137.02 | 178.98 | 5 | 25 | 100% | 0 | +| [Ty](latest-results/ty-20260922T060545Z.json) | yes | 830.36 | 8.05 | 5 | 25 | 100% | 0 | +| [Pyrefly](latest-results/pyrefly-20260922T060545Z.json) | yes | 1108.00 | 26.90 | 5 | 25 | 100% | 0 | +| [pylsp-mypy](latest-results/pylsp-mypy-20260922T060545Z.json) | yes | 7826.35 | 140.28 | 5 | 25 | 100% | 0 | +| [Pyright](latest-results/pyright-20260922T060545Z.json) | yes | 10563.58 | 144.42 | 5 | 25 | 100% | 0 | ### report dataframe completion @@ -194,10 +194,10 @@ Method: `textDocument/completion` | Server | Success | Mean ms | P95 ms | Non-empty % | Completions found | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| [Ty](latest-results/ty-20260921T060722Z.json) | yes | 19.62 | 23.02 | 100% | 1000.00 | +728.80 | pass | -| [Pyright](latest-results/pyright-20260921T060722Z.json) | yes | 78.23 | 267.47 | 100% | 271.20 | 0.00 | pass | -| [pylsp-mypy](latest-results/pylsp-mypy-20260921T060722Z.json) | yes | 79.18 | 160.04 | 100% | 6.00 | -265.20 | pass | -| [Pyrefly](latest-results/pyrefly-20260921T060722Z.json) | yes | 99.11 | 391.31 | 100% | 16.00 | -255.20 | pass | +| [Ty](latest-results/ty-20260922T060545Z.json) | yes | 18.24 | 21.67 | 100% | 1000.00 | +728.80 | pass | +| [Pyrefly](latest-results/pyrefly-20260922T060545Z.json) | yes | 85.14 | 336.83 | 100% | 16.00 | -255.20 | pass | +| [Pyright](latest-results/pyright-20260922T060545Z.json) | yes | 86.41 | 295.24 | 100% | 271.20 | 0.00 | pass | +| [pylsp-mypy](latest-results/pylsp-mypy-20260922T060545Z.json) | yes | 101.88 | 250.06 | 100% | 6.00 | -265.20 | pass | ### dataframe groupby hover @@ -205,10 +205,10 @@ Method: `textDocument/hover` | Server | Success | Mean ms | P95 ms | Non-empty % | Hover length | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| [Ty](latest-results/ty-20260921T060722Z.json) | yes | 0.30 | 0.35 | 100% | 329.00 | -21.00 | pass | -| [Pyright](latest-results/pyright-20260921T060722Z.json) | yes | 0.65 | 0.73 | 100% | 350.00 | 0.00 | pass | -| [Pyrefly](latest-results/pyrefly-20260921T060722Z.json) | yes | 4.67 | 5.99 | 100% | 2759.00 | +2409.00 | pass | -| [pylsp-mypy](latest-results/pylsp-mypy-20260921T060722Z.json) | yes | 197.15 | 205.38 | 100% | 301.00 | -49.00 | pass | +| [Ty](latest-results/ty-20260922T060545Z.json) | yes | 0.28 | 0.30 | 100% | 329.00 | -21.00 | pass | +| [Pyright](latest-results/pyright-20260922T060545Z.json) | yes | 1.07 | 2.17 | 100% | 350.00 | 0.00 | pass | +| [Pyrefly](latest-results/pyrefly-20260922T060545Z.json) | yes | 5.26 | 7.49 | 100% | 2759.00 | +2409.00 | pass | +| [pylsp-mypy](latest-results/pylsp-mypy-20260922T060545Z.json) | yes | 190.87 | 192.93 | 100% | 301.00 | -49.00 | pass | ### build report definition @@ -216,10 +216,10 @@ Method: `textDocument/definition` | Server | Success | Mean ms | P95 ms | Non-empty % | Definitions found | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| [Ty](latest-results/ty-20260921T060722Z.json) | yes | 0.22 | 0.23 | 100% | 1.00 | 0.00 | pass | -| [Pyright](latest-results/pyright-20260921T060722Z.json) | yes | 0.44 | 0.51 | 100% | 1.00 | 0.00 | pass | -| [pylsp-mypy](latest-results/pylsp-mypy-20260921T060722Z.json) | yes | 1.04 | 1.08 | 100% | 1.00 | 0.00 | pass | -| [Pyrefly](latest-results/pyrefly-20260921T060722Z.json) | yes | 2.32 | 3.43 | 100% | 1.00 | 0.00 | pass | +| [Ty](latest-results/ty-20260922T060545Z.json) | yes | 0.22 | 0.22 | 100% | 1.00 | 0.00 | pass | +| [Pyright](latest-results/pyright-20260922T060545Z.json) | yes | 0.38 | 0.43 | 100% | 1.00 | 0.00 | pass | +| [pylsp-mypy](latest-results/pylsp-mypy-20260922T060545Z.json) | yes | 1.06 | 1.07 | 100% | 1.00 | 0.00 | pass | +| [Pyrefly](latest-results/pyrefly-20260922T060545Z.json) | yes | 2.90 | 2.92 | 100% | 1.00 | 0.00 | pass | ### edit dataframe then complete (edit+completion) @@ -227,10 +227,10 @@ Method: `textDocument/completion` | Server | Success | Mean ms | P95 ms | Non-empty % | Completions found | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| [Ty](latest-results/ty-20260921T060722Z.json) | yes | 20.40 | 20.83 | 100% | 448.00 | +8.00 | pass | -| [Pyrefly](latest-results/pyrefly-20260921T060722Z.json) | yes | 28.87 | 52.76 | 100% | 256.00 | -184.00 | pass | -| [pylsp-mypy](latest-results/pylsp-mypy-20260921T060722Z.json) | yes | 237.44 | 244.50 | 100% | 441.00 | +1.00 | pass | -| [Pyright](latest-results/pyright-20260921T060722Z.json) | yes | 803.02 | 1258.21 | 100% | 440.00 | 0.00 | pass | +| [Ty](latest-results/ty-20260922T060545Z.json) | yes | 17.02 | 18.15 | 100% | 448.00 | +8.00 | pass | +| [Pyrefly](latest-results/pyrefly-20260922T060545Z.json) | yes | 40.53 | 67.18 | 100% | 256.00 | -184.00 | pass | +| [pylsp-mypy](latest-results/pylsp-mypy-20260922T060545Z.json) | yes | 225.32 | 227.61 | 100% | 441.00 | +1.00 | pass | +| [Pyright](latest-results/pyright-20260922T060545Z.json) | yes | 622.85 | 1234.45 | 100% | 440.00 | 0.00 | pass | ### edit dataframe then hover (edit+hover) @@ -238,10 +238,10 @@ Method: `textDocument/hover` | Server | Success | Mean ms | P95 ms | Non-empty % | Hover length | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| [Ty](latest-results/ty-20260921T060722Z.json) | yes | 6.12 | 6.28 | 100% | 4441.00 | +149.00 | pass | -| [Pyrefly](latest-results/pyrefly-20260921T060722Z.json) | yes | 6.36 | 22.05 | 100% | 943.00 | -3349.00 | pass | -| [Pyright](latest-results/pyright-20260921T060722Z.json) | yes | 12.56 | 13.38 | 100% | 4292.00 | 0.00 | pass | -| [pylsp-mypy](latest-results/pylsp-mypy-20260921T060722Z.json) | yes | 185.77 | 186.24 | 100% | 232.00 | -4060.00 | pass | +| [Pyrefly](latest-results/pyrefly-20260922T060545Z.json) | yes | 0.67 | 0.76 | 100% | 943.00 | -3349.00 | pass | +| [Ty](latest-results/ty-20260922T060545Z.json) | yes | 4.50 | 4.56 | 100% | 4441.00 | +149.00 | pass | +| [Pyright](latest-results/pyright-20260922T060545Z.json) | yes | 11.41 | 15.74 | 100% | 4292.00 | 0.00 | pass | +| [pylsp-mypy](latest-results/pylsp-mypy-20260922T060545Z.json) | yes | 182.27 | 189.42 | 100% | 232.00 | -4060.00 | pass | ### Result Differences @@ -254,10 +254,10 @@ Method: `textDocument/hover` | Server | Success | Wall clock ms | Avg measured ms | Points | Measured requests | Non-empty % | Failed points | | --- | --- | ---: | ---: | ---: | ---: | ---: | ---: | -| [Ty](latest-results/ty-20260921T060722Z.json) | yes | 384.84 | 2.78 | 5 | 25 | 100% | 0 | -| [Pyrefly](latest-results/pyrefly-20260921T060722Z.json) | yes | 826.49 | 17.66 | 5 | 25 | 100% | 0 | -| [Pyright](latest-results/pyright-20260921T060722Z.json) | yes | 3678.16 | 50.00 | 5 | 25 | 100% | 0 | -| [pylsp-mypy](latest-results/pylsp-mypy-20260921T060722Z.json) | no | 7220.96 | 126.76 | 5 | 25 | 60% | 2 | +| [Ty](latest-results/ty-20260922T060545Z.json) | yes | 363.94 | 2.65 | 5 | 25 | 100% | 0 | +| [Pyrefly](latest-results/pyrefly-20260922T060545Z.json) | yes | 830.06 | 18.15 | 5 | 25 | 100% | 0 | +| [Pyright](latest-results/pyright-20260922T060545Z.json) | yes | 3562.76 | 49.28 | 5 | 25 | 100% | 0 | +| [pylsp-mypy](latest-results/pylsp-mypy-20260922T060545Z.json) | no | 6985.56 | 121.77 | 5 | 25 | 60% | 2 | ### query completion @@ -265,10 +265,10 @@ Method: `textDocument/completion` | Server | Success | Mean ms | P95 ms | Non-empty % | Completions found | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| [Ty](latest-results/ty-20260921T060722Z.json) | yes | 3.59 | 8.08 | 100% | 1.00 | 0.00 | pass | -| [Pyright](latest-results/pyright-20260921T060722Z.json) | yes | 8.15 | 13.97 | 100% | 1.00 | 0.00 | pass | -| [Pyrefly](latest-results/pyrefly-20260921T060722Z.json) | yes | 85.72 | 341.80 | 100% | 15.00 | +14.00 | pass | -| [pylsp-mypy](latest-results/pylsp-mypy-20260921T060722Z.json) | yes | 224.77 | 494.00 | 100% | 1.00 | 0.00 | pass | +| [Ty](latest-results/ty-20260922T060545Z.json) | yes | 3.38 | 7.76 | 100% | 1.00 | 0.00 | pass | +| [Pyright](latest-results/pyright-20260922T060545Z.json) | yes | 7.05 | 10.54 | 100% | 1.00 | 0.00 | pass | +| [Pyrefly](latest-results/pyrefly-20260922T060545Z.json) | yes | 88.28 | 352.18 | 100% | 15.00 | +14.00 | pass | +| [pylsp-mypy](latest-results/pylsp-mypy-20260922T060545Z.json) | yes | 208.40 | 468.04 | 100% | 1.00 | 0.00 | pass | ### sessionmaker hover @@ -276,10 +276,10 @@ Method: `textDocument/hover` | Server | Success | Mean ms | P95 ms | Non-empty % | Hover length | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| [Ty](latest-results/ty-20260921T060722Z.json) | yes | 0.41 | 0.44 | 100% | 10621.00 | +49.00 | pass | -| [Pyrefly](latest-results/pyrefly-20260921T060722Z.json) | yes | 1.04 | 1.06 | 100% | 15232.00 | +4660.00 | pass | -| [Pyright](latest-results/pyright-20260921T060722Z.json) | yes | 1.25 | 1.36 | 100% | 10572.00 | 0.00 | pass | -| [pylsp-mypy](latest-results/pylsp-mypy-20260921T060722Z.json) | yes | 329.41 | 330.37 | 100% | 10498.00 | -74.00 | pass | +| [Ty](latest-results/ty-20260922T060545Z.json) | yes | 0.39 | 0.42 | 100% | 10621.00 | +49.00 | pass | +| [Pyrefly](latest-results/pyrefly-20260922T060545Z.json) | yes | 0.99 | 1.02 | 100% | 15232.00 | +4660.00 | pass | +| [Pyright](latest-results/pyright-20260922T060545Z.json) | yes | 1.13 | 1.25 | 100% | 10572.00 | 0.00 | pass | +| [pylsp-mypy](latest-results/pylsp-mypy-20260922T060545Z.json) | yes | 323.32 | 325.58 | 100% | 10498.00 | -74.00 | pass | ### mapped class definition @@ -287,10 +287,10 @@ Method: `textDocument/definition` | Server | Success | Mean ms | P95 ms | Non-empty % | Definitions found | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| [Ty](latest-results/ty-20260921T060722Z.json) | yes | 0.21 | 0.22 | 100% | 2.00 | +1.00 | pass | -| [Pyrefly](latest-results/pyrefly-20260921T060722Z.json) | yes | 0.27 | 0.29 | 100% | 1.00 | 0.00 | pass | -| [Pyright](latest-results/pyright-20260921T060722Z.json) | yes | 0.40 | 0.46 | 100% | 1.00 | 0.00 | pass | -| [pylsp-mypy](latest-results/pylsp-mypy-20260921T060722Z.json) | yes | 1.13 | 1.35 | 100% | 1.00 | 0.00 | pass | +| [Ty](latest-results/ty-20260922T060545Z.json) | yes | 0.21 | 0.21 | 100% | 2.00 | +1.00 | pass | +| [Pyrefly](latest-results/pyrefly-20260922T060545Z.json) | yes | 0.23 | 0.26 | 100% | 1.00 | 0.00 | pass | +| [Pyright](latest-results/pyright-20260922T060545Z.json) | yes | 0.38 | 0.41 | 100% | 1.00 | 0.00 | pass | +| [pylsp-mypy](latest-results/pylsp-mypy-20260922T060545Z.json) | yes | 1.27 | 1.58 | 100% | 1.00 | 0.00 | pass | ### edit query then complete (edit+completion) @@ -298,10 +298,10 @@ Method: `textDocument/completion` | Server | Success | Mean ms | P95 ms | Non-empty % | Completions found | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| [Pyrefly](latest-results/pyrefly-20260921T060722Z.json) | yes | 0.74 | 0.78 | 100% | 17.00 | -21.00 | pass | -| [Ty](latest-results/ty-20260921T060722Z.json) | yes | 5.17 | 6.32 | 100% | 23.00 | -15.00 | pass | -| [pylsp-mypy](latest-results/pylsp-mypy-20260921T060722Z.json) | no | 38.76 | 38.95 | 0% | 0.00 | -38.00 | fail (10) | -| [Pyright](latest-results/pyright-20260921T060722Z.json) | yes | 145.65 | 208.58 | 100% | 38.00 | 0.00 | pass | +| [Pyrefly](latest-results/pyrefly-20260922T060545Z.json) | yes | 0.75 | 0.81 | 100% | 17.00 | -21.00 | pass | +| [Ty](latest-results/ty-20260922T060545Z.json) | yes | 4.80 | 5.07 | 100% | 23.00 | -15.00 | pass | +| [pylsp-mypy](latest-results/pylsp-mypy-20260922T060545Z.json) | no | 37.38 | 37.68 | 0% | 0.00 | -38.00 | fail (10) | +| [Pyright](latest-results/pyright-20260922T060545Z.json) | yes | 139.53 | 176.86 | 100% | 38.00 | 0.00 | pass | ### edit session then hover (edit+hover) @@ -309,10 +309,10 @@ Method: `textDocument/hover` | Server | Success | Mean ms | P95 ms | Non-empty % | Hover length | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| [Pyrefly](latest-results/pyrefly-20260921T060722Z.json) | yes | 0.52 | 0.56 | 100% | 2246.00 | +1346.00 | pass | -| [Ty](latest-results/ty-20260921T060722Z.json) | yes | 4.53 | 4.57 | 100% | 958.00 | +58.00 | pass | -| [pylsp-mypy](latest-results/pylsp-mypy-20260921T060722Z.json) | no | 39.74 | 41.12 | 0% | 0.00 | -900.00 | fail (10) | -| [Pyright](latest-results/pyright-20260921T060722Z.json) | yes | 94.56 | 103.53 | 100% | 900.00 | 0.00 | pass | +| [Pyrefly](latest-results/pyrefly-20260922T060545Z.json) | yes | 0.49 | 0.55 | 100% | 2246.00 | +1346.00 | pass | +| [Ty](latest-results/ty-20260922T060545Z.json) | yes | 4.48 | 4.58 | 100% | 958.00 | +58.00 | pass | +| [pylsp-mypy](latest-results/pylsp-mypy-20260922T060545Z.json) | no | 38.51 | 39.16 | 0% | 0.00 | -900.00 | fail (10) | +| [Pyright](latest-results/pyright-20260922T060545Z.json) | yes | 98.29 | 104.66 | 100% | 900.00 | 0.00 | pass | ### Result Differences @@ -326,10 +326,10 @@ Method: `textDocument/hover` | Server | Success | Wall clock ms | Avg measured ms | Points | Measured requests | Non-empty % | Failed points | | --- | --- | ---: | ---: | ---: | ---: | ---: | ---: | -| [Ty](latest-results/ty-20260921T060722Z.json) | yes | 3026.41 | 5.67 | 5 | 25 | 100% | 0 | -| [Pyright](latest-results/pyright-20260921T060722Z.json) | yes | 16424.65 | 119.67 | 5 | 25 | 80% | 0 | -| [Pyrefly](latest-results/pyrefly-20260921T060722Z.json) | yes | 5582.73 | 176.09 | 5 | 25 | 80% | 0 | -| [pylsp-mypy](latest-results/pylsp-mypy-20260921T060722Z.json) | no | 179571.21 | 1553.94 | 5 | 25 | 40% | 2 | +| [Ty](latest-results/ty-20260922T060545Z.json) | yes | 2726.39 | 4.69 | 5 | 25 | 100% | 0 | +| [Pyright](latest-results/pyright-20260922T060545Z.json) | yes | 15620.50 | 108.51 | 5 | 25 | 80% | 0 | +| [Pyrefly](latest-results/pyrefly-20260922T060545Z.json) | yes | 5420.31 | 170.73 | 5 | 25 | 80% | 0 | +| [pylsp-mypy](latest-results/pylsp-mypy-20260922T060545Z.json) | no | 181192.64 | 1557.69 | 5 | 25 | 40% | 2 | ### classifier pipeline completion @@ -337,10 +337,10 @@ Method: `textDocument/completion` | Server | Success | Mean ms | P95 ms | Non-empty % | Completions found | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| [Ty](latest-results/ty-20260921T060722Z.json) | yes | 14.38 | 15.99 | 100% | 777.00 | +654.00 | pass | -| [Pyright](latest-results/pyright-20260921T060722Z.json) | yes | 55.48 | 85.02 | 100% | 123.00 | 0.00 | pass | -| [pylsp-mypy](latest-results/pylsp-mypy-20260921T060722Z.json) | yes | 147.98 | 151.59 | 100% | 2.00 | -121.00 | pass | -| [Pyrefly](latest-results/pyrefly-20260921T060722Z.json) | yes | 861.55 | 3445.27 | 100% | 15.00 | -108.00 | pass | +| [Ty](latest-results/ty-20260922T060545Z.json) | yes | 11.27 | 12.65 | 100% | 777.00 | +654.00 | pass | +| [Pyright](latest-results/pyright-20260922T060545Z.json) | yes | 50.79 | 84.07 | 100% | 123.00 | 0.00 | pass | +| [pylsp-mypy](latest-results/pylsp-mypy-20260922T060545Z.json) | yes | 142.84 | 144.17 | 100% | 2.00 | -121.00 | pass | +| [Pyrefly](latest-results/pyrefly-20260922T060545Z.json) | yes | 830.08 | 3319.41 | 100% | 15.00 | -108.00 | pass | ### pipeline hover @@ -348,10 +348,10 @@ Method: `textDocument/hover` | Server | Success | Mean ms | P95 ms | Non-empty % | Hover length | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| [Pyrefly](latest-results/pyrefly-20260921T060722Z.json) | yes | 0.21 | 0.22 | 100% | 48.00 | +14.00 | pass | -| [Ty](latest-results/ty-20260921T060722Z.json) | yes | 0.38 | 0.81 | 100% | 7.00 | -27.00 | pass | -| [Pyright](latest-results/pyright-20260921T060722Z.json) | yes | 0.48 | 0.59 | 100% | 34.00 | 0.00 | pass | -| [pylsp-mypy](latest-results/pylsp-mypy-20260921T060722Z.json) | no | 2748.10 | 2786.14 | 0% | 0.00 | -34.00 | fail (10) | +| [Pyrefly](latest-results/pyrefly-20260922T060545Z.json) | yes | 0.20 | 0.21 | 100% | 48.00 | +14.00 | pass | +| [Ty](latest-results/ty-20260922T060545Z.json) | yes | 0.23 | 0.25 | 100% | 7.00 | -27.00 | pass | +| [Pyright](latest-results/pyright-20260922T060545Z.json) | yes | 0.49 | 0.55 | 100% | 34.00 | 0.00 | pass | +| [pylsp-mypy](latest-results/pylsp-mypy-20260922T060545Z.json) | no | 2769.93 | 2799.03 | 0% | 0.00 | -34.00 | fail (10) | ### auto tokenizer definition @@ -359,10 +359,10 @@ Method: `textDocument/definition` | Server | Success | Mean ms | P95 ms | Non-empty % | Definitions found | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| [Pyrefly](latest-results/pyrefly-20260921T060722Z.json) | yes | 0.22 | 0.23 | 100% | 1.00 | 0.00 | pass | -| [Ty](latest-results/ty-20260921T060722Z.json) | yes | 0.30 | 0.33 | 100% | 1.00 | 0.00 | pass | -| [Pyright](latest-results/pyright-20260921T060722Z.json) | yes | 0.45 | 0.55 | 100% | 1.00 | 0.00 | pass | -| [pylsp-mypy](latest-results/pylsp-mypy-20260921T060722Z.json) | yes | 2209.37 | 2244.61 | 100% | 1.00 | 0.00 | pass | +| [Pyrefly](latest-results/pyrefly-20260922T060545Z.json) | yes | 0.20 | 0.21 | 100% | 1.00 | 0.00 | pass | +| [Ty](latest-results/ty-20260922T060545Z.json) | yes | 0.26 | 0.28 | 100% | 1.00 | 0.00 | pass | +| [Pyright](latest-results/pyright-20260922T060545Z.json) | yes | 0.42 | 0.48 | 100% | 1.00 | 0.00 | pass | +| [pylsp-mypy](latest-results/pylsp-mypy-20260922T060545Z.json) | yes | 2219.35 | 2260.88 | 100% | 1.00 | 0.00 | pass | ### edit prediction then complete (edit+completion) @@ -370,10 +370,10 @@ Method: `textDocument/completion` | Server | Success | Mean ms | P95 ms | Non-empty % | Completions found | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| [pylsp-mypy](latest-results/pylsp-mypy-20260921T060722Z.json) | yes | 2.51 | 2.58 | 0% | 0.00 | 0.00 | pass | -| [Ty](latest-results/ty-20260921T060722Z.json) | yes | 7.24 | 8.70 | 100% | 23.00 | +23.00 | pass | -| [Pyrefly](latest-results/pyrefly-20260921T060722Z.json) | yes | 8.07 | 20.65 | 0% | 0.00 | 0.00 | pass | -| [Pyright](latest-results/pyright-20260921T060722Z.json) | yes | 8.12 | 11.26 | 0% | 0.00 | 0.00 | pass | +| [pylsp-mypy](latest-results/pylsp-mypy-20260922T060545Z.json) | yes | 2.59 | 2.80 | 0% | 0.00 | 0.00 | pass | +| [Ty](latest-results/ty-20260922T060545Z.json) | yes | 5.99 | 6.32 | 100% | 23.00 | +23.00 | pass | +| [Pyrefly](latest-results/pyrefly-20260922T060545Z.json) | yes | 7.75 | 18.79 | 0% | 0.00 | 0.00 | pass | +| [Pyright](latest-results/pyright-20260922T060545Z.json) | yes | 8.05 | 11.17 | 0% | 0.00 | 0.00 | pass | ### edit tokenizer then hover (edit+hover) @@ -381,10 +381,10 @@ Method: `textDocument/hover` | Server | Success | Mean ms | P95 ms | Non-empty % | Hover length | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| [Ty](latest-results/ty-20260921T060722Z.json) | yes | 6.05 | 6.13 | 100% | 7.00 | -23.00 | pass | -| [Pyrefly](latest-results/pyrefly-20260921T060722Z.json) | yes | 10.38 | 23.80 | 100% | 33.00 | +3.00 | pass | -| [Pyright](latest-results/pyright-20260921T060722Z.json) | yes | 533.80 | 550.81 | 100% | 30.00 | 0.00 | pass | -| [pylsp-mypy](latest-results/pylsp-mypy-20260921T060722Z.json) | no | 2661.74 | 2700.87 | 0% | 0.00 | -30.00 | fail (10) | +| [Ty](latest-results/ty-20260922T060545Z.json) | yes | 5.70 | 5.75 | 100% | 7.00 | -23.00 | pass | +| [Pyrefly](latest-results/pyrefly-20260922T060545Z.json) | yes | 15.40 | 25.78 | 100% | 33.00 | +3.00 | pass | +| [Pyright](latest-results/pyright-20260922T060545Z.json) | yes | 482.82 | 509.99 | 100% | 30.00 | 0.00 | pass | +| [pylsp-mypy](latest-results/pylsp-mypy-20260922T060545Z.json) | no | 2653.73 | 2674.10 | 0% | 0.00 | -30.00 | fail (10) | ### Result Differences @@ -397,10 +397,10 @@ Method: `textDocument/hover` | Server | Success | Wall clock ms | Avg measured ms | Points | Measured requests | Non-empty % | Failed points | | --- | --- | ---: | ---: | ---: | ---: | ---: | ---: | -| [Ty](latest-results/ty-20260921T060722Z.json) | yes | 424.28 | 3.37 | 5 | 25 | 100% | 0 | -| [Pyright](latest-results/pyright-20260921T060722Z.json) | yes | 1592.40 | 9.79 | 5 | 25 | 100% | 0 | -| [Pyrefly](latest-results/pyrefly-20260921T060722Z.json) | yes | 953.66 | 15.53 | 5 | 25 | 100% | 0 | -| [pylsp-mypy](latest-results/pylsp-mypy-20260921T060722Z.json) | yes | 4852.57 | 98.47 | 5 | 25 | 100% | 0 | +| [Ty](latest-results/ty-20260922T060545Z.json) | yes | 341.97 | 2.80 | 5 | 25 | 100% | 0 | +| [Pyright](latest-results/pyright-20260922T060545Z.json) | yes | 1535.29 | 8.97 | 5 | 25 | 100% | 0 | +| [Pyrefly](latest-results/pyrefly-20260922T060545Z.json) | yes | 901.83 | 14.25 | 5 | 25 | 100% | 0 | +| [pylsp-mypy](latest-results/pylsp-mypy-20260922T060545Z.json) | yes | 4943.53 | 106.32 | 5 | 25 | 100% | 0 | ### request args completion @@ -408,10 +408,10 @@ Method: `textDocument/completion` | Server | Success | Mean ms | P95 ms | Non-empty % | Completions found | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| [Pyright](latest-results/pyright-20260921T060722Z.json) | yes | 6.04 | 9.64 | 100% | 14.00 | 0.00 | pass | -| [Ty](latest-results/ty-20260921T060722Z.json) | yes | 6.34 | 8.82 | 100% | 467.00 | +453.00 | pass | -| [pylsp-mypy](latest-results/pylsp-mypy-20260921T060722Z.json) | yes | 59.15 | 101.14 | 100% | 1.00 | -13.00 | pass | -| [Pyrefly](latest-results/pyrefly-20260921T060722Z.json) | yes | 70.81 | 192.34 | 100% | 487.80 | +473.80 | pass | +| [Pyright](latest-results/pyright-20260922T060545Z.json) | yes | 4.59 | 7.97 | 100% | 14.00 | 0.00 | pass | +| [Ty](latest-results/ty-20260922T060545Z.json) | yes | 5.93 | 8.43 | 100% | 467.00 | +453.00 | pass | +| [Pyrefly](latest-results/pyrefly-20260922T060545Z.json) | yes | 59.64 | 186.22 | 100% | 487.80 | +473.80 | pass | +| [pylsp-mypy](latest-results/pylsp-mypy-20260922T060545Z.json) | yes | 68.52 | 90.98 | 100% | 1.00 | -13.00 | pass | ### client session hover @@ -419,10 +419,10 @@ Method: `textDocument/hover` | Server | Success | Mean ms | P95 ms | Non-empty % | Hover length | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| [Ty](latest-results/ty-20260921T060722Z.json) | yes | 0.22 | 0.26 | 100% | 7.00 | -19.00 | pass | -| [Pyrefly](latest-results/pyrefly-20260921T060722Z.json) | yes | 0.25 | 0.31 | 100% | 167.00 | +141.00 | pass | -| [Pyright](latest-results/pyright-20260921T060722Z.json) | yes | 0.53 | 0.60 | 100% | 26.00 | 0.00 | pass | -| [pylsp-mypy](latest-results/pylsp-mypy-20260921T060722Z.json) | yes | 54.63 | 124.00 | 100% | 359.00 | +333.00 | pass | +| [Ty](latest-results/ty-20260922T060545Z.json) | yes | 0.21 | 0.23 | 100% | 7.00 | -19.00 | pass | +| [Pyright](latest-results/pyright-20260922T060545Z.json) | yes | 0.48 | 0.55 | 100% | 26.00 | 0.00 | pass | +| [Pyrefly](latest-results/pyrefly-20260922T060545Z.json) | yes | 5.38 | 18.92 | 100% | 167.00 | +141.00 | pass | +| [pylsp-mypy](latest-results/pylsp-mypy-20260922T060545Z.json) | yes | 98.63 | 224.59 | 100% | 359.00 | +333.00 | pass | ### client references @@ -430,10 +430,10 @@ Method: `textDocument/references` | Server | Success | Mean ms | P95 ms | Non-empty % | References found | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| [Pyrefly](latest-results/pyrefly-20260921T060722Z.json) | yes | 0.34 | 0.36 | 100% | 2.00 | 0.00 | pass | -| [Ty](latest-results/ty-20260921T060722Z.json) | yes | 0.63 | 0.72 | 100% | 2.00 | 0.00 | pass | -| [Pyright](latest-results/pyright-20260921T060722Z.json) | yes | 0.82 | 0.90 | 100% | 2.00 | 0.00 | pass | -| [pylsp-mypy](latest-results/pylsp-mypy-20260921T060722Z.json) | yes | 61.10 | 69.33 | 100% | 2.00 | 0.00 | pass | +| [Pyrefly](latest-results/pyrefly-20260922T060545Z.json) | yes | 0.32 | 0.33 | 100% | 2.00 | 0.00 | pass | +| [Ty](latest-results/ty-20260922T060545Z.json) | yes | 0.60 | 0.67 | 100% | 2.00 | 0.00 | pass | +| [Pyright](latest-results/pyright-20260922T060545Z.json) | yes | 0.81 | 1.05 | 100% | 2.00 | 0.00 | pass | +| [pylsp-mypy](latest-results/pylsp-mypy-20260922T060545Z.json) | yes | 46.25 | 89.66 | 100% | 2.00 | 0.00 | pass | ### edit response then complete (edit+completion) @@ -441,10 +441,10 @@ Method: `textDocument/completion` | Server | Success | Mean ms | P95 ms | Non-empty % | Completions found | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| [Pyrefly](latest-results/pyrefly-20260921T060722Z.json) | yes | 3.89 | 5.02 | 100% | 32.00 | -173.00 | pass | -| [Pyright](latest-results/pyright-20260921T060722Z.json) | yes | 5.34 | 6.48 | 100% | 205.00 | 0.00 | pass | -| [Ty](latest-results/ty-20260921T060722Z.json) | yes | 6.06 | 6.48 | 100% | 225.00 | +20.00 | pass | -| [pylsp-mypy](latest-results/pylsp-mypy-20260921T060722Z.json) | yes | 86.88 | 89.55 | 100% | 57.00 | -148.00 | pass | +| [Pyrefly](latest-results/pyrefly-20260922T060545Z.json) | yes | 2.83 | 4.60 | 100% | 32.00 | -173.00 | pass | +| [Ty](latest-results/ty-20260922T060545Z.json) | yes | 4.43 | 4.62 | 100% | 225.00 | +20.00 | pass | +| [Pyright](latest-results/pyright-20260922T060545Z.json) | yes | 4.53 | 6.09 | 100% | 205.00 | 0.00 | pass | +| [pylsp-mypy](latest-results/pylsp-mypy-20260922T060545Z.json) | yes | 87.15 | 90.60 | 100% | 57.00 | -148.00 | pass | ### edit response then hover (edit+hover) @@ -452,10 +452,10 @@ Method: `textDocument/hover` | Server | Success | Mean ms | P95 ms | Non-empty % | Hover length | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| [Pyrefly](latest-results/pyrefly-20260921T060722Z.json) | yes | 2.35 | 4.69 | 100% | 9977.00 | +9557.00 | pass | -| [Ty](latest-results/ty-20260921T060722Z.json) | yes | 3.62 | 3.78 | 100% | 1555.00 | +1135.00 | pass | -| [Pyright](latest-results/pyright-20260921T060722Z.json) | yes | 36.23 | 40.49 | 100% | 420.00 | 0.00 | pass | -| [pylsp-mypy](latest-results/pylsp-mypy-20260921T060722Z.json) | yes | 230.57 | 232.76 | 100% | 880.00 | +460.00 | pass | +| [Ty](latest-results/ty-20260922T060545Z.json) | yes | 2.83 | 2.88 | 100% | 1555.00 | +1135.00 | pass | +| [Pyrefly](latest-results/pyrefly-20260922T060545Z.json) | yes | 3.07 | 5.45 | 100% | 9977.00 | +9557.00 | pass | +| [Pyright](latest-results/pyright-20260922T060545Z.json) | yes | 34.45 | 41.06 | 100% | 420.00 | 0.00 | pass | +| [pylsp-mypy](latest-results/pylsp-mypy-20260922T060545Z.json) | yes | 231.07 | 232.78 | 100% | 880.00 | +460.00 | pass | ### Result Differences @@ -468,7 +468,7 @@ Method: `textDocument/hover` | Server | Success | Wall clock ms | Avg measured ms | Points | Measured requests | Non-empty % | Failed points | | --- | --- | ---: | ---: | ---: | ---: | ---: | ---: | -| [Pyrefly](latest-results/pyrefly-20260921T060722Z.json) | no | 225.07 | 0.42 | 8 | 40 | 100% | 2 | +| [Pyrefly](latest-results/pyrefly-20260922T060545Z.json) | no | 219.88 | 0.41 | 8 | 40 | 100% | 2 | ### builtins semantic tokens @@ -476,7 +476,7 @@ Method: semantic token impl using typeServer/getComputedType | Server | Success | Mean ms | P95 ms | Non-empty % | Semantic tokens found | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| [Pyrefly](latest-results/pyrefly-20260921T060722Z.json) | yes | 1.81 | 4.30 | 100% | 30.00 | 0.00 | pass | +| [Pyrefly](latest-results/pyrefly-20260922T060545Z.json) | yes | 1.80 | 4.27 | 100% | 30.00 | 0.00 | pass | ### builtin int computed type @@ -484,7 +484,7 @@ Method: `typeServer/getComputedType` | Server | Success | Mean ms | P95 ms | Non-empty % | Results found | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| [Pyrefly](latest-results/pyrefly-20260921T060722Z.json) | yes | 0.20 | 0.21 | 100% | 7.00 | 0.00 | pass | +| [Pyrefly](latest-results/pyrefly-20260922T060545Z.json) | yes | 0.18 | 0.18 | 100% | 7.00 | 0.00 | pass | ### list declared type @@ -492,7 +492,7 @@ Method: `typeServer/getDeclaredType` | Server | Success | Mean ms | P95 ms | Non-empty % | Results found | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| [Pyrefly](latest-results/pyrefly-20260921T060722Z.json) | yes | 0.24 | 0.25 | 100% | 7.00 | 0.00 | pass | +| [Pyrefly](latest-results/pyrefly-20260922T060545Z.json) | yes | 0.23 | 0.23 | 100% | 7.00 | 0.00 | pass | ### generic specialization computed type @@ -500,7 +500,7 @@ Method: `typeServer/getComputedType` | Server | Success | Mean ms | P95 ms | Non-empty % | Results found | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| [Pyrefly](latest-results/pyrefly-20260921T060722Z.json) | yes | 0.23 | 0.25 | 100% | 7.00 | 0.00 | pass | +| [Pyrefly](latest-results/pyrefly-20260922T060545Z.json) | yes | 0.22 | 0.22 | 100% | 7.00 | 0.00 | pass | ### stdlib path computed type @@ -508,7 +508,7 @@ Method: `typeServer/getComputedType` | Server | Success | Mean ms | P95 ms | Non-empty % | Results found | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| [Pyrefly](latest-results/pyrefly-20260921T060722Z.json) | yes | 0.22 | 0.23 | 100% | 7.00 | 0.00 | pass | +| [Pyrefly](latest-results/pyrefly-20260922T060545Z.json) | yes | 0.23 | 0.24 | 100% | 7.00 | 0.00 | pass | ### function argument expected type @@ -516,13 +516,13 @@ Method: `typeServer/getExpectedType` | Server | Success | Mean ms | P95 ms | Non-empty % | Results found | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| [Pyrefly](latest-results/pyrefly-20260921T060722Z.json) | yes | 0.24 | 0.25 | 100% | 7.00 | 0.00 | pass | +| [Pyrefly](latest-results/pyrefly-20260922T060545Z.json) | yes | 0.22 | 0.22 | 100% | 7.00 | 0.00 | pass | ## Benchmark: tsp_semantic | Server | Success | Wall clock ms | Avg measured ms | Points | Measured requests | Non-empty % | Failed points | | --- | --- | ---: | ---: | ---: | ---: | ---: | ---: | -| [Pyrefly](latest-results/pyrefly-20260921T060722Z.json) | yes | 6539.95 | 63.36 | 3 | 15 | 100% | 0 | +| [Pyrefly](latest-results/pyrefly-20260922T060545Z.json) | yes | 6568.64 | 66.10 | 3 | 15 | 100% | 0 | ### django semantic tokens @@ -530,7 +530,7 @@ Method: semantic token impl using typeServer/getComputedType | Server | Success | Mean ms | P95 ms | Non-empty % | Semantic tokens found | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| [Pyrefly](latest-results/pyrefly-20260921T060722Z.json) | yes | 11.35 | 14.81 | 100% | 126.00 | 0.00 | pass | +| [Pyrefly](latest-results/pyrefly-20260922T060545Z.json) | yes | 10.25 | 11.79 | 100% | 126.00 | 0.00 | pass | ### transformers semantic tokens @@ -538,7 +538,7 @@ Method: semantic token impl using typeServer/getComputedType | Server | Success | Mean ms | P95 ms | Non-empty % | Semantic tokens found | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| [Pyrefly](latest-results/pyrefly-20260921T060722Z.json) | yes | 126.88 | 168.75 | 100% | 74.00 | 0.00 | pass | +| [Pyrefly](latest-results/pyrefly-20260922T060545Z.json) | yes | 132.29 | 151.20 | 100% | 74.00 | 0.00 | pass | ### stdlib semantic tokens @@ -546,4 +546,4 @@ Method: semantic token impl using typeServer/getComputedType | Server | Success | Mean ms | P95 ms | Non-empty % | Semantic tokens found | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| [Pyrefly](latest-results/pyrefly-20260921T060722Z.json) | yes | 51.83 | 59.42 | 100% | 75.00 | 0.00 | pass | +| [Pyrefly](latest-results/pyrefly-20260922T060545Z.json) | yes | 55.75 | 66.38 | 100% | 75.00 | 0.00 | pass | diff --git a/latest-results/pylsp-mypy-20260921T060722Z-responses.jsonl b/latest-results/pylsp-mypy-20260922T060545Z-responses.jsonl similarity index 100% rename from latest-results/pylsp-mypy-20260921T060722Z-responses.jsonl rename to latest-results/pylsp-mypy-20260922T060545Z-responses.jsonl index 40da258..fe62770 100644 --- a/latest-results/pylsp-mypy-20260921T060722Z-responses.jsonl +++ b/latest-results/pylsp-mypy-20260922T060545Z-responses.jsonl @@ -64,9 +64,9 @@ {"suite": "pandas", "label": "build report definition", "method": "textDocument/definition", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py", "line": 16, "character": 17, "iteration": 4, "result": [{"uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py", "range": {"start": {"line": 3, "character": 4}, "end": {"line": 3, "character": 16}}}]} {"suite": "pandas", "label": "build report definition", "method": "textDocument/definition", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py", "line": 16, "character": 17, "iteration": 5, "result": [{"uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py", "range": {"start": {"line": 3, "character": 4}, "end": {"line": 3, "character": 16}}}]} {"suite": "pandas", "label": "edit dataframe then complete (edit+completion)", "method": "textDocument/completion", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py", "line": 17, "character": 39, "iteration": 1, "result": {"isIncomplete": false, "items": [{"label": "abs()", "kind": 3, "sortText": "aabs", "insertText": "abs", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "add(other, axis, level, fill_value)", "kind": 3, "sortText": "aadd", "insertText": "add", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "add_prefix(prefix, axis)", "kind": 3, "sortText": "aadd_prefix", "insertText": "add_prefix", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "add_suffix(suffix, axis)", "kind": 3, "sortText": "aadd_suffix", "insertText": "add_suffix", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "agg", "kind": 6, "sortText": "aagg", "insertText": "agg", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "aggregate(func, axis, args, kwargs)", "kind": 3, "sortText": "aaggregate", "insertText": "aggregate", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "align(other, join, axis, level, copy, fill_value, method, limit, fill_axis, broadcast_axis)", "kind": 3, "sortText": "aalign", "insertText": "align", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "all(axis, bool_only, skipna, kwargs)", "kind": 3, "sortText": "aall", "insertText": "all", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "any(axis, bool_only, skipna, kwargs)", "kind": 3, "sortText": "aany", "insertText": "any", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "apply(func, axis, raw, result_type, args, by_row, engine, engine_kwargs, kwargs)", "kind": 3, "sortText": "aapply", "insertText": "apply", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "applymap(func, na_action, kwargs)", "kind": 3, "sortText": "aapplymap", "insertText": "applymap", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "asfreq(freq, method, how, normalize, fill_value)", "kind": 3, "sortText": "aasfreq", "insertText": "asfreq", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "asof(where, subset)", "kind": 3, "sortText": "aasof", "insertText": "asof", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "assign(kwargs)", "kind": 3, "sortText": "aassign", "insertText": "assign", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "astype(dtype, copy, errors)", "kind": 3, "sortText": "aastype", "insertText": "astype", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "at", "kind": 10, "sortText": "aat", "insertText": "at", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "at_time(time, asof, axis)", "kind": 3, "sortText": "aat_time", "insertText": "at_time", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "attrs", "kind": 6, "sortText": "aattrs", "insertText": "attrs", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "axes", "kind": 10, "sortText": "aaxes", "insertText": "axes", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "backfill(axis, inplace, limit, downcast)", "kind": 3, "sortText": "abackfill", "insertText": "backfill", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "between_time(start_time, end_time, inclusive, axis)", "kind": 3, "sortText": "abetween_time", "insertText": "between_time", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "bfill(axis, inplace, limit, limit_area, downcast)", "kind": 3, "sortText": "abfill", "insertText": "bfill", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "bool()", "kind": 3, "sortText": "abool", "insertText": "bool", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "boxplot", "kind": 6, "sortText": "aboxplot", "insertText": "boxplot", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "clip(lower, upper, axis, inplace, kwargs)", "kind": 3, "sortText": "aclip", "insertText": "clip", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "columns", "kind": 6, "sortText": "acolumns", "insertText": "columns", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "combine", "kind": 3, "sortText": "acombine", "insertText": "combine", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "combine_first", "kind": 3, "sortText": "acombine_first", "insertText": "combine_first", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "compare", "kind": 3, "sortText": "acompare", "insertText": "compare", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "convert_dtypes", "kind": 3, "sortText": "aconvert_dtypes", "insertText": "convert_dtypes", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "copy", "kind": 3, "sortText": "acopy", "insertText": "copy", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "corr", "kind": 3, "sortText": "acorr", "insertText": "corr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "corrwith", "kind": 3, "sortText": "acorrwith", "insertText": "corrwith", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "count", "kind": 3, "sortText": "acount", "insertText": "count", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "cov", "kind": 3, "sortText": "acov", "insertText": "cov", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "cummax", "kind": 3, "sortText": "acummax", "insertText": "cummax", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "cummin", "kind": 3, "sortText": "acummin", "insertText": "cummin", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "cumprod", "kind": 3, "sortText": "acumprod", "insertText": "cumprod", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "cumsum", "kind": 3, "sortText": "acumsum", "insertText": "cumsum", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "describe", "kind": 3, "sortText": "adescribe", "insertText": "describe", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "diff", "kind": 3, "sortText": "adiff", "insertText": "diff", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "div", "kind": 6, "sortText": "adiv", "insertText": "div", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "divide", "kind": 6, "sortText": "adivide", "insertText": "divide", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "dot", "kind": 3, "sortText": "adot", "insertText": "dot", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "drop", "kind": 3, "sortText": "adrop", "insertText": "drop", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "drop_duplicates", "kind": 3, "sortText": "adrop_duplicates", "insertText": "drop_duplicates", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "droplevel", "kind": 3, "sortText": "adroplevel", "insertText": "droplevel", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "dropna", "kind": 3, "sortText": "adropna", "insertText": "dropna", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "dtypes", "kind": 10, "sortText": "adtypes", "insertText": "dtypes", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "duplicated", "kind": 3, "sortText": "aduplicated", "insertText": "duplicated", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "empty", "kind": 10, "sortText": "aempty", "insertText": "empty", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "eq", "kind": 3, "sortText": "aeq", "insertText": "eq", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "equals", "kind": 3, "sortText": "aequals", "insertText": "equals", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "eval", "kind": 3, "sortText": "aeval", "insertText": "eval", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "ewm", "kind": 3, "sortText": "aewm", "insertText": "ewm", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "expanding", "kind": 3, "sortText": "aexpanding", "insertText": "expanding", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "explode", "kind": 3, "sortText": "aexplode", "insertText": "explode", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "ffill", "kind": 3, "sortText": "affill", "insertText": "ffill", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "fillna", "kind": 3, "sortText": "afillna", "insertText": "fillna", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "filter", "kind": 3, "sortText": "afilter", "insertText": "filter", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "first", "kind": 3, "sortText": "afirst", "insertText": "first", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "first_valid_index", "kind": 3, "sortText": "afirst_valid_index", "insertText": "first_valid_index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "flags", "kind": 10, "sortText": "aflags", "insertText": "flags", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "floordiv", "kind": 3, "sortText": "afloordiv", "insertText": "floordiv", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "from_dict", "kind": 3, "sortText": "afrom_dict", "insertText": "from_dict", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "from_records", "kind": 3, "sortText": "afrom_records", "insertText": "from_records", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "ge", "kind": 3, "sortText": "age", "insertText": "ge", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "get", "kind": 3, "sortText": "aget", "insertText": "get", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "groupby", "kind": 3, "sortText": "agroupby", "insertText": "groupby", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "gt", "kind": 3, "sortText": "agt", "insertText": "gt", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "head", "kind": 3, "sortText": "ahead", "insertText": "head", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "hist", "kind": 6, "sortText": "ahist", "insertText": "hist", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "iat", "kind": 10, "sortText": "aiat", "insertText": "iat", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "idxmax", "kind": 3, "sortText": "aidxmax", "insertText": "idxmax", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "idxmin", "kind": 3, "sortText": "aidxmin", "insertText": "idxmin", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "iloc", "kind": 10, "sortText": "ailoc", "insertText": "iloc", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "index", "kind": 6, "sortText": "aindex", "insertText": "index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "infer_objects", "kind": 3, "sortText": "ainfer_objects", "insertText": "infer_objects", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "info", "kind": 3, "sortText": "ainfo", "insertText": "info", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "insert", "kind": 3, "sortText": "ainsert", "insertText": "insert", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "interpolate", "kind": 3, "sortText": "ainterpolate", "insertText": "interpolate", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "isetitem", "kind": 3, "sortText": "aisetitem", "insertText": "isetitem", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "isin", "kind": 3, "sortText": "aisin", "insertText": "isin", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "isna", "kind": 3, "sortText": "aisna", "insertText": "isna", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "isnull", "kind": 3, "sortText": "aisnull", "insertText": "isnull", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "items", "kind": 3, "sortText": "aitems", "insertText": "items", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "iterrows", "kind": 3, "sortText": "aiterrows", "insertText": "iterrows", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "itertuples", "kind": 3, "sortText": "aitertuples", "insertText": "itertuples", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "join", "kind": 3, "sortText": "ajoin", "insertText": "join", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "keys", "kind": 3, "sortText": "akeys", "insertText": "keys", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "kurt", "kind": 3, "sortText": "akurt", "insertText": "kurt", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "kurtosis", "kind": 6, "sortText": "akurtosis", "insertText": "kurtosis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "last", "kind": 3, "sortText": "alast", "insertText": "last", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "last_valid_index", "kind": 3, "sortText": "alast_valid_index", "insertText": "last_valid_index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "le", "kind": 3, "sortText": "ale", "insertText": "le", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "loc", "kind": 10, "sortText": "aloc", "insertText": "loc", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "lt", "kind": 3, "sortText": "alt", "insertText": "lt", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "map", "kind": 3, "sortText": "amap", "insertText": "map", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "mask", "kind": 3, "sortText": "amask", "insertText": "mask", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "max", "kind": 3, "sortText": "amax", "insertText": "max", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "mean", "kind": 3, "sortText": "amean", "insertText": "mean", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "median", "kind": 3, "sortText": "amedian", "insertText": "median", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "melt", "kind": 3, "sortText": "amelt", "insertText": "melt", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "memory_usage", "kind": 3, "sortText": "amemory_usage", "insertText": "memory_usage", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "merge", "kind": 3, "sortText": "amerge", "insertText": "merge", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "min", "kind": 3, "sortText": "amin", "insertText": "min", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "mod", "kind": 3, "sortText": "amod", "insertText": "mod", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "mode", "kind": 3, "sortText": "amode", "insertText": "mode", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "mul", "kind": 3, "sortText": "amul", "insertText": "mul", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "multiply", "kind": 6, "sortText": "amultiply", "insertText": "multiply", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "ndim", "kind": 10, "sortText": "andim", "insertText": "ndim", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "ne", "kind": 3, "sortText": "ane", "insertText": "ne", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "nlargest", "kind": 3, "sortText": "anlargest", "insertText": "nlargest", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "notna", "kind": 3, "sortText": "anotna", "insertText": "notna", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "notnull", "kind": 3, "sortText": "anotnull", "insertText": "notnull", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "nsmallest", "kind": 3, "sortText": "ansmallest", "insertText": "nsmallest", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "nunique", "kind": 3, "sortText": "anunique", "insertText": "nunique", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "pad", "kind": 3, "sortText": "apad", "insertText": "pad", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "pct_change", "kind": 3, "sortText": "apct_change", "insertText": "pct_change", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "pipe", "kind": 3, "sortText": "apipe", "insertText": "pipe", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "pivot", "kind": 3, "sortText": "apivot", "insertText": "pivot", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "pivot_table", "kind": 3, "sortText": "apivot_table", "insertText": "pivot_table", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "plot", "kind": 6, "sortText": "aplot", "insertText": "plot", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "pop", "kind": 3, "sortText": "apop", "insertText": "pop", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "pow", "kind": 3, "sortText": "apow", "insertText": "pow", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "prod", "kind": 3, "sortText": "aprod", "insertText": "prod", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "product", "kind": 6, "sortText": "aproduct", "insertText": "product", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "quantile", "kind": 3, "sortText": "aquantile", "insertText": "quantile", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "query", "kind": 3, "sortText": "aquery", "insertText": "query", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "radd", "kind": 3, "sortText": "aradd", "insertText": "radd", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rank", "kind": 3, "sortText": "arank", "insertText": "rank", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rdiv", "kind": 6, "sortText": "ardiv", "insertText": "rdiv", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "reindex", "kind": 3, "sortText": "areindex", "insertText": "reindex", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "reindex_like", "kind": 3, "sortText": "areindex_like", "insertText": "reindex_like", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rename", "kind": 3, "sortText": "arename", "insertText": "rename", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rename_axis", "kind": 3, "sortText": "arename_axis", "insertText": "rename_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "reorder_levels", "kind": 3, "sortText": "areorder_levels", "insertText": "reorder_levels", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "replace", "kind": 3, "sortText": "areplace", "insertText": "replace", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "resample", "kind": 3, "sortText": "aresample", "insertText": "resample", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "reset_index", "kind": 3, "sortText": "areset_index", "insertText": "reset_index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rfloordiv", "kind": 3, "sortText": "arfloordiv", "insertText": "rfloordiv", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rmod", "kind": 3, "sortText": "armod", "insertText": "rmod", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rmul", "kind": 3, "sortText": "armul", "insertText": "rmul", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rolling", "kind": 3, "sortText": "arolling", "insertText": "rolling", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "round", "kind": 3, "sortText": "around", "insertText": "round", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rpow", "kind": 3, "sortText": "arpow", "insertText": "rpow", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rsub", "kind": 3, "sortText": "arsub", "insertText": "rsub", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rtruediv", "kind": 3, "sortText": "artruediv", "insertText": "rtruediv", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "sample", "kind": 3, "sortText": "asample", "insertText": "sample", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "select_dtypes", "kind": 3, "sortText": "aselect_dtypes", "insertText": "select_dtypes", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "sem", "kind": 3, "sortText": "asem", "insertText": "sem", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "set_axis", "kind": 3, "sortText": "aset_axis", "insertText": "set_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "set_flags", "kind": 3, "sortText": "aset_flags", "insertText": "set_flags", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "set_index", "kind": 3, "sortText": "aset_index", "insertText": "set_index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "shape", "kind": 10, "sortText": "ashape", "insertText": "shape", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "shift", "kind": 3, "sortText": "ashift", "insertText": "shift", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "size", "kind": 10, "sortText": "asize", "insertText": "size", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "skew", "kind": 3, "sortText": "askew", "insertText": "skew", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "sort_index", "kind": 3, "sortText": "asort_index", "insertText": "sort_index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "sort_values", "kind": 3, "sortText": "asort_values", "insertText": "sort_values", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "sparse", "kind": 6, "sortText": "asparse", "insertText": "sparse", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "squeeze", "kind": 3, "sortText": "asqueeze", "insertText": "squeeze", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "stack", "kind": 3, "sortText": "astack", "insertText": "stack", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "std", "kind": 3, "sortText": "astd", "insertText": "std", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "style", "kind": 10, "sortText": "astyle", "insertText": "style", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "sub", "kind": 3, "sortText": "asub", "insertText": "sub", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "subtract", "kind": 6, "sortText": "asubtract", "insertText": "subtract", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "sum", "kind": 3, "sortText": "asum", "insertText": "sum", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "swapaxes", "kind": 3, "sortText": "aswapaxes", "insertText": "swapaxes", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "swaplevel", "kind": 3, "sortText": "aswaplevel", "insertText": "swaplevel", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "T", "kind": 10, "sortText": "aT", "insertText": "T", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "tail", "kind": 3, "sortText": "atail", "insertText": "tail", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "take", "kind": 3, "sortText": "atake", "insertText": "take", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_clipboard", "kind": 3, "sortText": "ato_clipboard", "insertText": "to_clipboard", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_csv", "kind": 3, "sortText": "ato_csv", "insertText": "to_csv", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_dict", "kind": 3, "sortText": "ato_dict", "insertText": "to_dict", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_excel", "kind": 3, "sortText": "ato_excel", "insertText": "to_excel", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_feather", "kind": 3, "sortText": "ato_feather", "insertText": "to_feather", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_gbq", "kind": 3, "sortText": "ato_gbq", "insertText": "to_gbq", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_hdf", "kind": 3, "sortText": "ato_hdf", "insertText": "to_hdf", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_html", "kind": 3, "sortText": "ato_html", "insertText": "to_html", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_json", "kind": 3, "sortText": "ato_json", "insertText": "to_json", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_latex", "kind": 3, "sortText": "ato_latex", "insertText": "to_latex", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_markdown", "kind": 3, "sortText": "ato_markdown", "insertText": "to_markdown", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_numpy", "kind": 3, "sortText": "ato_numpy", "insertText": "to_numpy", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_orc", "kind": 3, "sortText": "ato_orc", "insertText": "to_orc", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_parquet", "kind": 3, "sortText": "ato_parquet", "insertText": "to_parquet", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_period", "kind": 3, "sortText": "ato_period", "insertText": "to_period", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_pickle", "kind": 3, "sortText": "ato_pickle", "insertText": "to_pickle", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_records", "kind": 3, "sortText": "ato_records", "insertText": "to_records", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_sql", "kind": 3, "sortText": "ato_sql", "insertText": "to_sql", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_stata", "kind": 3, "sortText": "ato_stata", "insertText": "to_stata", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_string", "kind": 3, "sortText": "ato_string", "insertText": "to_string", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_timestamp", "kind": 3, "sortText": "ato_timestamp", "insertText": "to_timestamp", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_xarray", "kind": 3, "sortText": "ato_xarray", "insertText": "to_xarray", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_xml", "kind": 3, "sortText": "ato_xml", "insertText": "to_xml", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "transform", "kind": 3, "sortText": "atransform", "insertText": "transform", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "transpose", "kind": 3, "sortText": "atranspose", "insertText": "transpose", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "truediv", "kind": 3, "sortText": "atruediv", "insertText": "truediv", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "truncate", "kind": 3, "sortText": "atruncate", "insertText": "truncate", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "tz_convert", "kind": 3, "sortText": "atz_convert", "insertText": "tz_convert", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "tz_localize", "kind": 3, "sortText": "atz_localize", "insertText": "tz_localize", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "unstack", "kind": 3, "sortText": "aunstack", "insertText": "unstack", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "update", "kind": 3, "sortText": "aupdate", "insertText": "update", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "value_counts", "kind": 3, "sortText": "avalue_counts", "insertText": "value_counts", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "values", "kind": 10, "sortText": "avalues", "insertText": "values", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "var", "kind": 3, "sortText": "avar", "insertText": "var", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "where", "kind": 3, "sortText": "awhere", "insertText": "where", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "xs", "kind": 3, "sortText": "axs", "insertText": "xs", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_accessors", "kind": 6, "sortText": "z_accessors", "insertText": "_accessors", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_accum_func", "kind": 3, "sortText": "z_accum_func", "insertText": "_accum_func", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_agg_examples_doc", "kind": 6, "sortText": "z_agg_examples_doc", "insertText": "_agg_examples_doc", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_agg_see_also_doc", "kind": 6, "sortText": "z_agg_see_also_doc", "insertText": "_agg_see_also_doc", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_align_for_op", "kind": 3, "sortText": "z_align_for_op", "insertText": "_align_for_op", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_align_frame", "kind": 3, "sortText": "z_align_frame", "insertText": "_align_frame", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_align_series", "kind": 3, "sortText": "z_align_series", "insertText": "_align_series", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_append", "kind": 3, "sortText": "z_append", "insertText": "_append", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_arith_method", "kind": 3, "sortText": "z_arith_method", "insertText": "_arith_method", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_arith_method_with_reindex", "kind": 3, "sortText": "z_arith_method_with_reindex", "insertText": "_arith_method_with_reindex", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_as_manager", "kind": 3, "sortText": "z_as_manager", "insertText": "_as_manager", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_attrs", "kind": 6, "sortText": "z_attrs", "insertText": "_attrs", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_AXIS_LEN", "kind": 6, "sortText": "z_AXIS_LEN", "insertText": "_AXIS_LEN", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_AXIS_ORDERS", "kind": 6, "sortText": "z_AXIS_ORDERS", "insertText": "_AXIS_ORDERS", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_AXIS_TO_AXIS_NUMBER", "kind": 6, "sortText": "z_AXIS_TO_AXIS_NUMBER", "insertText": "_AXIS_TO_AXIS_NUMBER", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_box_col_values", "kind": 3, "sortText": "z_box_col_values", "insertText": "_box_col_values", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_cache", "kind": 6, "sortText": "z_cache", "insertText": "_cache", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_can_fast_transpose", "kind": 10, "sortText": "z_can_fast_transpose", "insertText": "_can_fast_transpose", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_check_inplace_and_allows_duplicate_labels", "kind": 3, "sortText": "z_check_inplace_and_allows_duplicate_labels", "insertText": "_check_inplace_and_allows_duplicate_labels", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_check_is_chained_assignment_possible", "kind": 3, "sortText": "z_check_is_chained_assignment_possible", "insertText": "_check_is_chained_assignment_possible", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_check_label_or_level_ambiguity", "kind": 3, "sortText": "z_check_label_or_level_ambiguity", "insertText": "_check_label_or_level_ambiguity", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_check_setitem_copy", "kind": 3, "sortText": "z_check_setitem_copy", "insertText": "_check_setitem_copy", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_clear_item_cache", "kind": 3, "sortText": "z_clear_item_cache", "insertText": "_clear_item_cache", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_clip_with_one_bound", "kind": 3, "sortText": "z_clip_with_one_bound", "insertText": "_clip_with_one_bound", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_clip_with_scalar", "kind": 3, "sortText": "z_clip_with_scalar", "insertText": "_clip_with_scalar", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_cmp_method", "kind": 3, "sortText": "z_cmp_method", "insertText": "_cmp_method", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_combine_frame", "kind": 3, "sortText": "z_combine_frame", "insertText": "_combine_frame", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_consolidate", "kind": 3, "sortText": "z_consolidate", "insertText": "_consolidate", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_consolidate_inplace", "kind": 3, "sortText": "z_consolidate_inplace", "insertText": "_consolidate_inplace", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_construct_axes_dict", "kind": 3, "sortText": "z_construct_axes_dict", "insertText": "_construct_axes_dict", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_construct_result", "kind": 3, "sortText": "z_construct_result", "insertText": "_construct_result", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_constructor", "kind": 10, "sortText": "z_constructor", "insertText": "_constructor", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_constructor_from_mgr", "kind": 3, "sortText": "z_constructor_from_mgr", "insertText": "_constructor_from_mgr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_constructor_sliced", "kind": 6, "sortText": "z_constructor_sliced", "insertText": "_constructor_sliced", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_constructor_sliced_from_mgr", "kind": 3, "sortText": "z_constructor_sliced_from_mgr", "insertText": "_constructor_sliced_from_mgr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_create_data_for_split_and_tight_to_dict", "kind": 3, "sortText": "z_create_data_for_split_and_tight_to_dict", "insertText": "_create_data_for_split_and_tight_to_dict", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_data", "kind": 10, "sortText": "z_data", "insertText": "_data", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_deprecate_downcast", "kind": 3, "sortText": "z_deprecate_downcast", "insertText": "_deprecate_downcast", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_dir_additions", "kind": 3, "sortText": "z_dir_additions", "insertText": "_dir_additions", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_dir_deletions", "kind": 3, "sortText": "z_dir_deletions", "insertText": "_dir_deletions", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_dispatch_frame_op", "kind": 3, "sortText": "z_dispatch_frame_op", "insertText": "_dispatch_frame_op", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_drop_axis", "kind": 3, "sortText": "z_drop_axis", "insertText": "_drop_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_drop_labels_or_levels", "kind": 3, "sortText": "z_drop_labels_or_levels", "insertText": "_drop_labels_or_levels", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_ensure_valid_index", "kind": 3, "sortText": "z_ensure_valid_index", "insertText": "_ensure_valid_index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_find_valid_index", "kind": 3, "sortText": "z_find_valid_index", "insertText": "_find_valid_index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_flex_arith_method", "kind": 3, "sortText": "z_flex_arith_method", "insertText": "_flex_arith_method", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_flex_cmp_method", "kind": 3, "sortText": "z_flex_cmp_method", "insertText": "_flex_cmp_method", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_from_arrays", "kind": 3, "sortText": "z_from_arrays", "insertText": "_from_arrays", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_from_mgr", "kind": 3, "sortText": "z_from_mgr", "insertText": "_from_mgr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_agg_axis", "kind": 3, "sortText": "z_get_agg_axis", "insertText": "_get_agg_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_axis", "kind": 3, "sortText": "z_get_axis", "insertText": "_get_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_axis_name", "kind": 3, "sortText": "z_get_axis_name", "insertText": "_get_axis_name", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_axis_number", "kind": 3, "sortText": "z_get_axis_number", "insertText": "_get_axis_number", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_axis_resolvers", "kind": 3, "sortText": "z_get_axis_resolvers", "insertText": "_get_axis_resolvers", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_block_manager_axis", "kind": 3, "sortText": "z_get_block_manager_axis", "insertText": "_get_block_manager_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_bool_data", "kind": 3, "sortText": "z_get_bool_data", "insertText": "_get_bool_data", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_cleaned_column_resolvers", "kind": 3, "sortText": "z_get_cleaned_column_resolvers", "insertText": "_get_cleaned_column_resolvers", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_column_array", "kind": 3, "sortText": "z_get_column_array", "insertText": "_get_column_array", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_index_resolvers", "kind": 3, "sortText": "z_get_index_resolvers", "insertText": "_get_index_resolvers", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_item_cache", "kind": 3, "sortText": "z_get_item_cache", "insertText": "_get_item_cache", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_label_or_level_values", "kind": 3, "sortText": "z_get_label_or_level_values", "insertText": "_get_label_or_level_values", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_numeric_data", "kind": 3, "sortText": "z_get_numeric_data", "insertText": "_get_numeric_data", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_value", "kind": 3, "sortText": "z_get_value", "insertText": "_get_value", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_values_for_csv", "kind": 3, "sortText": "z_get_values_for_csv", "insertText": "_get_values_for_csv", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_getitem_bool_array", "kind": 3, "sortText": "z_getitem_bool_array", "insertText": "_getitem_bool_array", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_getitem_multilevel", "kind": 3, "sortText": "z_getitem_multilevel", "insertText": "_getitem_multilevel", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_getitem_nocopy", "kind": 3, "sortText": "z_getitem_nocopy", "insertText": "_getitem_nocopy", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_getitem_slice", "kind": 3, "sortText": "z_getitem_slice", "insertText": "_getitem_slice", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_gotitem", "kind": 3, "sortText": "z_gotitem", "insertText": "_gotitem", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_HANDLED_TYPES", "kind": 6, "sortText": "z_HANDLED_TYPES", "insertText": "_HANDLED_TYPES", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_hidden_attrs", "kind": 6, "sortText": "z_hidden_attrs", "insertText": "_hidden_attrs", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_indexed_same", "kind": 3, "sortText": "z_indexed_same", "insertText": "_indexed_same", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_info_axis", "kind": 10, "sortText": "z_info_axis", "insertText": "_info_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_info_axis_name", "kind": 6, "sortText": "z_info_axis_name", "insertText": "_info_axis_name", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_info_axis_number", "kind": 6, "sortText": "z_info_axis_number", "insertText": "_info_axis_number", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_info_repr", "kind": 3, "sortText": "z_info_repr", "insertText": "_info_repr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_init_mgr", "kind": 3, "sortText": "z_init_mgr", "insertText": "_init_mgr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_inplace_method", "kind": 3, "sortText": "z_inplace_method", "insertText": "_inplace_method", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_internal_names", "kind": 6, "sortText": "z_internal_names", "insertText": "_internal_names", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_internal_names_set", "kind": 6, "sortText": "z_internal_names_set", "insertText": "_internal_names_set", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_copy", "kind": 6, "sortText": "z_is_copy", "insertText": "_is_copy", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_homogeneous_type", "kind": 10, "sortText": "z_is_homogeneous_type", "insertText": "_is_homogeneous_type", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_label_or_level_reference", "kind": 3, "sortText": "z_is_label_or_level_reference", "insertText": "_is_label_or_level_reference", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_label_reference", "kind": 3, "sortText": "z_is_label_reference", "insertText": "_is_label_reference", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_level_reference", "kind": 3, "sortText": "z_is_level_reference", "insertText": "_is_level_reference", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_mixed_type", "kind": 10, "sortText": "z_is_mixed_type", "insertText": "_is_mixed_type", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_view", "kind": 10, "sortText": "z_is_view", "insertText": "_is_view", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_view_after_cow_rules", "kind": 3, "sortText": "z_is_view_after_cow_rules", "insertText": "_is_view_after_cow_rules", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_iset_item", "kind": 3, "sortText": "z_iset_item", "insertText": "_iset_item", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_iset_item_mgr", "kind": 3, "sortText": "z_iset_item_mgr", "insertText": "_iset_item_mgr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_iset_not_inplace", "kind": 3, "sortText": "z_iset_not_inplace", "insertText": "_iset_not_inplace", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_item_cache", "kind": 6, "sortText": "z_item_cache", "insertText": "_item_cache", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_iter_column_arrays", "kind": 3, "sortText": "z_iter_column_arrays", "insertText": "_iter_column_arrays", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_ixs", "kind": 3, "sortText": "z_ixs", "insertText": "_ixs", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_logical_func", "kind": 3, "sortText": "z_logical_func", "insertText": "_logical_func", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_logical_method", "kind": 6, "sortText": "z_logical_method", "insertText": "_logical_method", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_maybe_align_series_as_frame", "kind": 3, "sortText": "z_maybe_align_series_as_frame", "insertText": "_maybe_align_series_as_frame", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_maybe_cache_changed", "kind": 3, "sortText": "z_maybe_cache_changed", "insertText": "_maybe_cache_changed", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_maybe_update_cacher", "kind": 3, "sortText": "z_maybe_update_cacher", "insertText": "_maybe_update_cacher", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_metadata", "kind": 6, "sortText": "z_metadata", "insertText": "_metadata", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_mgr", "kind": 6, "sortText": "z_mgr", "insertText": "_mgr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_min_count_stat_function", "kind": 3, "sortText": "z_min_count_stat_function", "insertText": "_min_count_stat_function", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_needs_reindex_multi", "kind": 3, "sortText": "z_needs_reindex_multi", "insertText": "_needs_reindex_multi", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_pad_or_backfill", "kind": 3, "sortText": "z_pad_or_backfill", "insertText": "_pad_or_backfill", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_protect_consolidate", "kind": 3, "sortText": "z_protect_consolidate", "insertText": "_protect_consolidate", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_reduce", "kind": 3, "sortText": "z_reduce", "insertText": "_reduce", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_reduce_axis1", "kind": 3, "sortText": "z_reduce_axis1", "insertText": "_reduce_axis1", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_reindex_axes", "kind": 3, "sortText": "z_reindex_axes", "insertText": "_reindex_axes", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_reindex_multi", "kind": 3, "sortText": "z_reindex_multi", "insertText": "_reindex_multi", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_reindex_with_indexers", "kind": 3, "sortText": "z_reindex_with_indexers", "insertText": "_reindex_with_indexers", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_rename", "kind": 3, "sortText": "z_rename", "insertText": "_rename", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_replace_columnwise", "kind": 3, "sortText": "z_replace_columnwise", "insertText": "_replace_columnwise", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_repr_data_resource_", "kind": 3, "sortText": "z_repr_data_resource_", "insertText": "_repr_data_resource_", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_repr_fits_horizontal_", "kind": 3, "sortText": "z_repr_fits_horizontal_", "insertText": "_repr_fits_horizontal_", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_repr_fits_vertical_", "kind": 3, "sortText": "z_repr_fits_vertical_", "insertText": "_repr_fits_vertical_", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_repr_html_", "kind": 3, "sortText": "z_repr_html_", "insertText": "_repr_html_", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_repr_latex_", "kind": 3, "sortText": "z_repr_latex_", "insertText": "_repr_latex_", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_reset_cache", "kind": 3, "sortText": "z_reset_cache", "insertText": "_reset_cache", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_reset_cacher", "kind": 3, "sortText": "z_reset_cacher", "insertText": "_reset_cacher", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_sanitize_column", "kind": 3, "sortText": "z_sanitize_column", "insertText": "_sanitize_column", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_series", "kind": 10, "sortText": "z_series", "insertText": "_series", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_axis", "kind": 3, "sortText": "z_set_axis", "insertText": "_set_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_axis_name", "kind": 3, "sortText": "z_set_axis_name", "insertText": "_set_axis_name", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_axis_nocheck", "kind": 3, "sortText": "z_set_axis_nocheck", "insertText": "_set_axis_nocheck", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_is_copy", "kind": 3, "sortText": "z_set_is_copy", "insertText": "_set_is_copy", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_item", "kind": 3, "sortText": "z_set_item", "insertText": "_set_item", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_item_frame_value", "kind": 3, "sortText": "z_set_item_frame_value", "insertText": "_set_item_frame_value", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_item_mgr", "kind": 3, "sortText": "z_set_item_mgr", "insertText": "_set_item_mgr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_value", "kind": 3, "sortText": "z_set_value", "insertText": "_set_value", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_setitem_array", "kind": 3, "sortText": "z_setitem_array", "insertText": "_setitem_array", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_setitem_frame", "kind": 3, "sortText": "z_setitem_frame", "insertText": "_setitem_frame", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_setitem_slice", "kind": 3, "sortText": "z_setitem_slice", "insertText": "_setitem_slice", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_shared_docs", "kind": 6, "sortText": "z_shared_docs", "insertText": "_shared_docs", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_shift_with_freq", "kind": 3, "sortText": "z_shift_with_freq", "insertText": "_shift_with_freq", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_should_reindex_frame_op", "kind": 3, "sortText": "z_should_reindex_frame_op", "insertText": "_should_reindex_frame_op", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_slice", "kind": 3, "sortText": "z_slice", "insertText": "_slice", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_stat_function", "kind": 3, "sortText": "z_stat_function", "insertText": "_stat_function", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_stat_function_ddof", "kind": 3, "sortText": "z_stat_function_ddof", "insertText": "_stat_function_ddof", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_take_with_is_copy", "kind": 3, "sortText": "z_take_with_is_copy", "insertText": "_take_with_is_copy", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_to_dict_of_blocks", "kind": 3, "sortText": "z_to_dict_of_blocks", "insertText": "_to_dict_of_blocks", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_to_latex_via_styler", "kind": 3, "sortText": "z_to_latex_via_styler", "insertText": "_to_latex_via_styler", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_typ", "kind": 6, "sortText": "z_typ", "insertText": "_typ", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_update_inplace", "kind": 3, "sortText": "z_update_inplace", "insertText": "_update_inplace", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_validate_dtype", "kind": 3, "sortText": "z_validate_dtype", "insertText": "_validate_dtype", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_values", "kind": 10, "sortText": "z_values", "insertText": "_values", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_where", "kind": 3, "sortText": "z_where", "insertText": "_where", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__abs__", "kind": 3, "sortText": "z__abs__", "insertText": "__abs__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__add__", "kind": 3, "sortText": "z__add__", "insertText": "__add__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__and__", "kind": 3, "sortText": "z__and__", "insertText": "__and__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__annotations__", "kind": 6, "sortText": "z__annotations__", "insertText": "__annotations__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__array__", "kind": 3, "sortText": "z__array__", "insertText": "__array__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__array_priority__", "kind": 6, "sortText": "z__array_priority__", "insertText": "__array_priority__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__array_ufunc__", "kind": 3, "sortText": "z__array_ufunc__", "insertText": "__array_ufunc__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__arrow_c_stream__", "kind": 3, "sortText": "z__arrow_c_stream__", "insertText": "__arrow_c_stream__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__bool__", "kind": 6, "sortText": "z__bool__", "insertText": "__bool__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__class__", "kind": 10, "sortText": "z__class__", "insertText": "__class__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__contains__", "kind": 3, "sortText": "z__contains__", "insertText": "__contains__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__copy__", "kind": 3, "sortText": "z__copy__", "insertText": "__copy__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__dataframe__", "kind": 3, "sortText": "z__dataframe__", "insertText": "__dataframe__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__dataframe_consortium_standard__", "kind": 3, "sortText": "z__dataframe_consortium_standard__", "insertText": "__dataframe_consortium_standard__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__deepcopy__", "kind": 3, "sortText": "z__deepcopy__", "insertText": "__deepcopy__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__delattr__", "kind": 3, "sortText": "z__delattr__", "insertText": "__delattr__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__delitem__", "kind": 3, "sortText": "z__delitem__", "insertText": "__delitem__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__dict__", "kind": 6, "sortText": "z__dict__", "insertText": "__dict__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__dir__", "kind": 3, "sortText": "z__dir__", "insertText": "__dir__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__divmod__", "kind": 3, "sortText": "z__divmod__", "insertText": "__divmod__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__doc__", "kind": 6, "sortText": "z__doc__", "insertText": "__doc__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__eq__", "kind": 3, "sortText": "z__eq__", "insertText": "__eq__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__finalize__", "kind": 3, "sortText": "z__finalize__", "insertText": "__finalize__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__floordiv__", "kind": 3, "sortText": "z__floordiv__", "insertText": "__floordiv__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__format__", "kind": 3, "sortText": "z__format__", "insertText": "__format__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__ge__", "kind": 3, "sortText": "z__ge__", "insertText": "__ge__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__getattr__", "kind": 3, "sortText": "z__getattr__", "insertText": "__getattr__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__getattribute__", "kind": 3, "sortText": "z__getattribute__", "insertText": "__getattribute__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__getitem__", "kind": 3, "sortText": "z__getitem__", "insertText": "__getitem__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__getstate__", "kind": 3, "sortText": "z__getstate__", "insertText": "__getstate__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__gt__", "kind": 3, "sortText": "z__gt__", "insertText": "__gt__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__hash__", "kind": 6, "sortText": "z__hash__", "insertText": "__hash__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__iadd__", "kind": 3, "sortText": "z__iadd__", "insertText": "__iadd__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__iand__", "kind": 3, "sortText": "z__iand__", "insertText": "__iand__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__ifloordiv__", "kind": 3, "sortText": "z__ifloordiv__", "insertText": "__ifloordiv__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__imod__", "kind": 3, "sortText": "z__imod__", "insertText": "__imod__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__imul__", "kind": 3, "sortText": "z__imul__", "insertText": "__imul__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__init__", "kind": 3, "sortText": "z__init__", "insertText": "__init__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__init_subclass__", "kind": 3, "sortText": "z__init_subclass__", "insertText": "__init_subclass__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__invert__", "kind": 3, "sortText": "z__invert__", "insertText": "__invert__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__ior__", "kind": 3, "sortText": "z__ior__", "insertText": "__ior__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__ipow__", "kind": 3, "sortText": "z__ipow__", "insertText": "__ipow__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__isub__", "kind": 3, "sortText": "z__isub__", "insertText": "__isub__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__iter__", "kind": 3, "sortText": "z__iter__", "insertText": "__iter__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__itruediv__", "kind": 3, "sortText": "z__itruediv__", "insertText": "__itruediv__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__ixor__", "kind": 3, "sortText": "z__ixor__", "insertText": "__ixor__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__le__", "kind": 3, "sortText": "z__le__", "insertText": "__le__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__len__", "kind": 3, "sortText": "z__len__", "insertText": "__len__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__lt__", "kind": 3, "sortText": "z__lt__", "insertText": "__lt__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__matmul__", "kind": 3, "sortText": "z__matmul__", "insertText": "__matmul__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__mod__", "kind": 3, "sortText": "z__mod__", "insertText": "__mod__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__module__", "kind": 6, "sortText": "z__module__", "insertText": "__module__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__mul__", "kind": 3, "sortText": "z__mul__", "insertText": "__mul__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__ne__", "kind": 3, "sortText": "z__ne__", "insertText": "__ne__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__neg__", "kind": 3, "sortText": "z__neg__", "insertText": "__neg__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__new__", "kind": 3, "sortText": "z__new__", "insertText": "__new__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__nonzero__", "kind": 3, "sortText": "z__nonzero__", "insertText": "__nonzero__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__or__", "kind": 3, "sortText": "z__or__", "insertText": "__or__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__pandas_priority__", "kind": 6, "sortText": "z__pandas_priority__", "insertText": "__pandas_priority__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__pos__", "kind": 3, "sortText": "z__pos__", "insertText": "__pos__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__pow__", "kind": 3, "sortText": "z__pow__", "insertText": "__pow__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__radd__", "kind": 3, "sortText": "z__radd__", "insertText": "__radd__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rand__", "kind": 3, "sortText": "z__rand__", "insertText": "__rand__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rdivmod__", "kind": 3, "sortText": "z__rdivmod__", "insertText": "__rdivmod__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__reduce__", "kind": 3, "sortText": "z__reduce__", "insertText": "__reduce__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__reduce_ex__", "kind": 3, "sortText": "z__reduce_ex__", "insertText": "__reduce_ex__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__repr__", "kind": 3, "sortText": "z__repr__", "insertText": "__repr__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rfloordiv__", "kind": 3, "sortText": "z__rfloordiv__", "insertText": "__rfloordiv__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rmatmul__", "kind": 3, "sortText": "z__rmatmul__", "insertText": "__rmatmul__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rmod__", "kind": 3, "sortText": "z__rmod__", "insertText": "__rmod__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rmul__", "kind": 3, "sortText": "z__rmul__", "insertText": "__rmul__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__ror__", "kind": 3, "sortText": "z__ror__", "insertText": "__ror__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__round__", "kind": 3, "sortText": "z__round__", "insertText": "__round__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rpow__", "kind": 3, "sortText": "z__rpow__", "insertText": "__rpow__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rsub__", "kind": 3, "sortText": "z__rsub__", "insertText": "__rsub__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rtruediv__", "kind": 3, "sortText": "z__rtruediv__", "insertText": "__rtruediv__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rxor__", "kind": 3, "sortText": "z__rxor__", "insertText": "__rxor__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__setattr__", "kind": 3, "sortText": "z__setattr__", "insertText": "__setattr__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__setitem__", "kind": 3, "sortText": "z__setitem__", "insertText": "__setitem__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__setstate__", "kind": 3, "sortText": "z__setstate__", "insertText": "__setstate__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__sizeof__", "kind": 3, "sortText": "z__sizeof__", "insertText": "__sizeof__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__str__", "kind": 3, "sortText": "z__str__", "insertText": "__str__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__sub__", "kind": 3, "sortText": "z__sub__", "insertText": "__sub__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__subclasshook__", "kind": 3, "sortText": "z__subclasshook__", "insertText": "__subclasshook__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__truediv__", "kind": 3, "sortText": "z__truediv__", "insertText": "__truediv__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__xor__", "kind": 3, "sortText": "z__xor__", "insertText": "__xor__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}]}} -{"suite": "pandas", "label": "edit dataframe then complete (edit+completion)", "method": "textDocument/completion", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py", "line": 17, "character": 39, "iteration": 2, "result": {"isIncomplete": false, "items": [{"label": "abs()", "kind": 3, "sortText": "aabs", "insertText": "abs", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "add(other, axis, level, fill_value)", "kind": 3, "sortText": "aadd", "insertText": "add", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "add_prefix(prefix, axis)", "kind": 3, "sortText": "aadd_prefix", "insertText": "add_prefix", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "add_suffix(suffix, axis)", "kind": 3, "sortText": "aadd_suffix", "insertText": "add_suffix", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "agg", "kind": 6, "sortText": "aagg", "insertText": "agg", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "aggregate(func, axis, args, kwargs)", "kind": 3, "sortText": "aaggregate", "insertText": "aggregate", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "align(other, join, axis, level, copy, fill_value, method, limit, fill_axis, broadcast_axis)", "kind": 3, "sortText": "aalign", "insertText": "align", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "all(axis, bool_only, skipna, kwargs)", "kind": 3, "sortText": "aall", "insertText": "all", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "any(axis, bool_only, skipna, kwargs)", "kind": 3, "sortText": "aany", "insertText": "any", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "apply(func, axis, raw, result_type, args, by_row, engine, engine_kwargs, kwargs)", "kind": 3, "sortText": "aapply", "insertText": "apply", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "applymap(func, na_action, kwargs)", "kind": 3, "sortText": "aapplymap", "insertText": "applymap", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "asfreq(freq, method, how, normalize, fill_value)", "kind": 3, "sortText": "aasfreq", "insertText": "asfreq", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "asof(where, subset)", "kind": 3, "sortText": "aasof", "insertText": "asof", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "assign(kwargs)", "kind": 3, "sortText": "aassign", "insertText": "assign", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "astype(dtype, copy, errors)", "kind": 3, "sortText": "aastype", "insertText": "astype", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "at", "kind": 10, "sortText": "aat", "insertText": "at", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "at_time(time, asof, axis)", "kind": 3, "sortText": "aat_time", "insertText": "at_time", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "attrs", "kind": 6, "sortText": "aattrs", "insertText": "attrs", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "axes", "kind": 10, "sortText": "aaxes", "insertText": "axes", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "backfill(axis, inplace, limit, downcast)", "kind": 3, "sortText": "abackfill", "insertText": "backfill", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "between_time(start_time, end_time, inclusive, axis)", "kind": 3, "sortText": "abetween_time", "insertText": "between_time", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "bfill(axis, inplace, limit, limit_area, downcast)", "kind": 3, "sortText": "abfill", "insertText": "bfill", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "bool()", "kind": 3, "sortText": "abool", "insertText": "bool", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "boxplot", "kind": 6, "sortText": "aboxplot", "insertText": "boxplot", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "clip(lower, upper, axis, inplace, kwargs)", "kind": 3, "sortText": "aclip", "insertText": "clip", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "columns", "kind": 6, "sortText": "acolumns", "insertText": "columns", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "combine", "kind": 3, "sortText": "acombine", "insertText": "combine", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "combine_first", "kind": 3, "sortText": "acombine_first", "insertText": "combine_first", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "compare", "kind": 3, "sortText": "acompare", "insertText": "compare", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "convert_dtypes", "kind": 3, "sortText": "aconvert_dtypes", "insertText": "convert_dtypes", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "copy", "kind": 3, "sortText": "acopy", "insertText": "copy", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "corr", "kind": 3, "sortText": "acorr", "insertText": "corr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "corrwith", "kind": 3, "sortText": "acorrwith", "insertText": "corrwith", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "count", "kind": 3, "sortText": "acount", "insertText": "count", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "cov", "kind": 3, "sortText": "acov", "insertText": "cov", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "cummax", "kind": 3, "sortText": "acummax", "insertText": "cummax", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "cummin", "kind": 3, "sortText": "acummin", "insertText": "cummin", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "cumprod", "kind": 3, "sortText": "acumprod", "insertText": "cumprod", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "cumsum", "kind": 3, "sortText": "acumsum", "insertText": "cumsum", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "describe", "kind": 3, "sortText": "adescribe", "insertText": "describe", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "diff", "kind": 3, "sortText": "adiff", "insertText": "diff", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "div", "kind": 6, "sortText": "adiv", "insertText": "div", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "divide", "kind": 6, "sortText": "adivide", "insertText": "divide", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "dot", "kind": 3, "sortText": "adot", "insertText": "dot", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "drop", "kind": 3, "sortText": "adrop", "insertText": "drop", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "drop_duplicates", "kind": 3, "sortText": "adrop_duplicates", "insertText": "drop_duplicates", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "droplevel", "kind": 3, "sortText": "adroplevel", "insertText": "droplevel", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "dropna", "kind": 3, "sortText": "adropna", "insertText": "dropna", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "dtypes", "kind": 10, "sortText": "adtypes", "insertText": "dtypes", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "duplicated", "kind": 3, "sortText": "aduplicated", "insertText": "duplicated", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "empty", "kind": 10, "sortText": "aempty", "insertText": "empty", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "eq", "kind": 3, "sortText": "aeq", "insertText": "eq", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "equals", "kind": 3, "sortText": "aequals", "insertText": "equals", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "eval", "kind": 3, "sortText": "aeval", "insertText": "eval", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "ewm", "kind": 3, "sortText": "aewm", "insertText": "ewm", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "expanding", "kind": 3, "sortText": "aexpanding", "insertText": "expanding", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "explode", "kind": 3, "sortText": "aexplode", "insertText": "explode", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "ffill", "kind": 3, "sortText": "affill", "insertText": "ffill", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "fillna", "kind": 3, "sortText": "afillna", "insertText": "fillna", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "filter", "kind": 3, "sortText": "afilter", "insertText": "filter", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "first", "kind": 3, "sortText": "afirst", "insertText": "first", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "first_valid_index", "kind": 3, "sortText": "afirst_valid_index", "insertText": "first_valid_index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "flags", "kind": 10, "sortText": "aflags", "insertText": "flags", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "floordiv", "kind": 3, "sortText": "afloordiv", "insertText": "floordiv", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "from_dict", "kind": 3, "sortText": "afrom_dict", "insertText": "from_dict", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "from_records", "kind": 3, "sortText": "afrom_records", "insertText": "from_records", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "ge", "kind": 3, "sortText": "age", "insertText": "ge", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "get", "kind": 3, "sortText": "aget", "insertText": "get", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "groupby", "kind": 3, "sortText": "agroupby", "insertText": "groupby", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "gt", "kind": 3, "sortText": "agt", "insertText": "gt", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "head", "kind": 3, "sortText": "ahead", "insertText": "head", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "hist", "kind": 6, "sortText": "ahist", "insertText": "hist", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "iat", "kind": 10, "sortText": "aiat", "insertText": "iat", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "idxmax", "kind": 3, "sortText": "aidxmax", "insertText": "idxmax", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "idxmin", "kind": 3, "sortText": "aidxmin", "insertText": "idxmin", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "iloc", "kind": 10, "sortText": "ailoc", "insertText": "iloc", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "index", "kind": 6, "sortText": "aindex", "insertText": "index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "infer_objects", "kind": 3, "sortText": "ainfer_objects", "insertText": "infer_objects", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "info", "kind": 3, "sortText": "ainfo", "insertText": "info", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "insert", "kind": 3, "sortText": "ainsert", "insertText": "insert", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "interpolate", "kind": 3, "sortText": "ainterpolate", "insertText": "interpolate", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "isetitem", "kind": 3, "sortText": "aisetitem", "insertText": "isetitem", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "isin", "kind": 3, "sortText": "aisin", "insertText": "isin", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "isna", "kind": 3, "sortText": "aisna", "insertText": "isna", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "isnull", "kind": 3, "sortText": "aisnull", "insertText": "isnull", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "items", "kind": 3, "sortText": "aitems", "insertText": "items", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "iterrows", "kind": 3, "sortText": "aiterrows", "insertText": "iterrows", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "itertuples", "kind": 3, "sortText": "aitertuples", "insertText": "itertuples", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "join", "kind": 3, "sortText": "ajoin", "insertText": "join", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "keys", "kind": 3, "sortText": "akeys", "insertText": "keys", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "kurt", "kind": 3, "sortText": "akurt", "insertText": "kurt", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "kurtosis", "kind": 6, "sortText": "akurtosis", "insertText": "kurtosis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "last", "kind": 3, "sortText": "alast", "insertText": "last", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "last_valid_index", "kind": 3, "sortText": "alast_valid_index", "insertText": "last_valid_index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "le", "kind": 3, "sortText": "ale", "insertText": "le", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "loc", "kind": 10, "sortText": "aloc", "insertText": "loc", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "lt", "kind": 3, "sortText": "alt", "insertText": "lt", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "map", "kind": 3, "sortText": "amap", "insertText": "map", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "mask", "kind": 3, "sortText": "amask", "insertText": "mask", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "max", "kind": 3, "sortText": "amax", "insertText": "max", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "mean", "kind": 3, "sortText": "amean", "insertText": "mean", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "median", "kind": 3, "sortText": "amedian", "insertText": "median", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "melt", "kind": 3, "sortText": "amelt", "insertText": "melt", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "memory_usage", "kind": 3, "sortText": "amemory_usage", "insertText": "memory_usage", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "merge", "kind": 3, "sortText": "amerge", "insertText": "merge", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "min", "kind": 3, "sortText": "amin", "insertText": "min", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "mod", "kind": 3, "sortText": "amod", "insertText": "mod", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "mode", "kind": 3, "sortText": "amode", "insertText": "mode", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "mul", "kind": 3, "sortText": "amul", "insertText": "mul", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "multiply", "kind": 6, "sortText": "amultiply", "insertText": "multiply", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "ndim", "kind": 10, "sortText": "andim", "insertText": "ndim", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "ne", "kind": 3, "sortText": "ane", "insertText": "ne", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "nlargest", "kind": 3, "sortText": "anlargest", "insertText": "nlargest", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "notna", "kind": 3, "sortText": "anotna", "insertText": "notna", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "notnull", "kind": 3, "sortText": "anotnull", "insertText": "notnull", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "nsmallest", "kind": 3, "sortText": "ansmallest", "insertText": "nsmallest", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "nunique", "kind": 3, "sortText": "anunique", "insertText": "nunique", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "pad", "kind": 3, "sortText": "apad", "insertText": "pad", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "pct_change", "kind": 3, "sortText": "apct_change", "insertText": "pct_change", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "pipe", "kind": 3, "sortText": "apipe", "insertText": "pipe", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "pivot", "kind": 3, "sortText": "apivot", "insertText": "pivot", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "pivot_table", "kind": 3, "sortText": "apivot_table", "insertText": "pivot_table", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "plot", "kind": 6, "sortText": "aplot", "insertText": "plot", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "pop", "kind": 3, "sortText": "apop", "insertText": "pop", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "pow", "kind": 3, "sortText": "apow", "insertText": "pow", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "prod", "kind": 3, "sortText": "aprod", "insertText": "prod", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "product", "kind": 6, "sortText": "aproduct", "insertText": "product", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "quantile", "kind": 3, "sortText": "aquantile", "insertText": "quantile", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "query", "kind": 3, "sortText": "aquery", "insertText": "query", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "radd", "kind": 3, "sortText": "aradd", "insertText": "radd", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rank", "kind": 3, "sortText": "arank", "insertText": "rank", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rdiv", "kind": 6, "sortText": "ardiv", "insertText": "rdiv", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "reindex", "kind": 3, "sortText": "areindex", "insertText": "reindex", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "reindex_like", "kind": 3, "sortText": "areindex_like", "insertText": "reindex_like", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rename", "kind": 3, "sortText": "arename", "insertText": "rename", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rename_axis", "kind": 3, "sortText": "arename_axis", "insertText": "rename_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "reorder_levels", "kind": 3, "sortText": "areorder_levels", "insertText": "reorder_levels", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "replace", "kind": 3, "sortText": "areplace", "insertText": "replace", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "resample", "kind": 3, "sortText": "aresample", "insertText": "resample", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "reset_index", "kind": 3, "sortText": "areset_index", "insertText": "reset_index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rfloordiv", "kind": 3, "sortText": "arfloordiv", "insertText": "rfloordiv", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rmod", "kind": 3, "sortText": "armod", "insertText": "rmod", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rmul", "kind": 3, "sortText": "armul", "insertText": "rmul", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rolling", "kind": 3, "sortText": "arolling", "insertText": "rolling", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "round", "kind": 3, "sortText": "around", "insertText": "round", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rpow", "kind": 3, "sortText": "arpow", "insertText": "rpow", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rsub", "kind": 3, "sortText": "arsub", "insertText": "rsub", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rtruediv", "kind": 3, "sortText": "artruediv", "insertText": "rtruediv", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "sample", "kind": 3, "sortText": "asample", "insertText": "sample", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "select_dtypes", "kind": 3, "sortText": "aselect_dtypes", "insertText": "select_dtypes", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "sem", "kind": 3, "sortText": "asem", "insertText": "sem", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "set_axis", "kind": 3, "sortText": "aset_axis", "insertText": "set_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "set_flags", "kind": 3, "sortText": "aset_flags", "insertText": "set_flags", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "set_index", "kind": 3, "sortText": "aset_index", "insertText": "set_index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "shape", "kind": 10, "sortText": "ashape", "insertText": "shape", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "shift", "kind": 3, "sortText": "ashift", "insertText": "shift", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "size", "kind": 10, "sortText": "asize", "insertText": "size", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "skew", "kind": 3, "sortText": "askew", "insertText": "skew", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "sort_index", "kind": 3, "sortText": "asort_index", "insertText": "sort_index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "sort_values", "kind": 3, "sortText": "asort_values", "insertText": "sort_values", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "sparse", "kind": 6, "sortText": "asparse", "insertText": "sparse", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "squeeze", "kind": 3, "sortText": "asqueeze", "insertText": "squeeze", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "stack", "kind": 3, "sortText": "astack", "insertText": "stack", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "std", "kind": 3, "sortText": "astd", "insertText": "std", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "style", "kind": 10, "sortText": "astyle", "insertText": "style", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "sub", "kind": 3, "sortText": "asub", "insertText": "sub", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "subtract", "kind": 6, "sortText": "asubtract", "insertText": "subtract", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "sum", "kind": 3, "sortText": "asum", "insertText": "sum", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "swapaxes", "kind": 3, "sortText": "aswapaxes", "insertText": "swapaxes", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "swaplevel", "kind": 3, "sortText": "aswaplevel", "insertText": "swaplevel", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "T", "kind": 10, "sortText": "aT", "insertText": "T", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "tail", "kind": 3, "sortText": "atail", "insertText": "tail", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "take", "kind": 3, "sortText": "atake", "insertText": "take", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_clipboard", "kind": 3, "sortText": "ato_clipboard", "insertText": "to_clipboard", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_csv", "kind": 3, "sortText": "ato_csv", "insertText": "to_csv", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_dict", "kind": 3, "sortText": "ato_dict", "insertText": "to_dict", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_excel", "kind": 3, "sortText": "ato_excel", "insertText": "to_excel", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_feather", "kind": 3, "sortText": "ato_feather", "insertText": "to_feather", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_gbq", "kind": 3, "sortText": "ato_gbq", "insertText": "to_gbq", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_hdf", "kind": 3, "sortText": "ato_hdf", "insertText": "to_hdf", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_html", "kind": 3, "sortText": "ato_html", "insertText": "to_html", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_json", "kind": 3, "sortText": "ato_json", "insertText": "to_json", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_latex", "kind": 3, "sortText": "ato_latex", "insertText": "to_latex", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_markdown", "kind": 3, "sortText": "ato_markdown", "insertText": "to_markdown", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_numpy", "kind": 3, "sortText": "ato_numpy", "insertText": "to_numpy", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_orc", "kind": 3, "sortText": "ato_orc", "insertText": "to_orc", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_parquet", "kind": 3, "sortText": "ato_parquet", "insertText": "to_parquet", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_period", "kind": 3, "sortText": "ato_period", "insertText": "to_period", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_pickle", "kind": 3, "sortText": "ato_pickle", "insertText": "to_pickle", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_records", "kind": 3, "sortText": "ato_records", "insertText": "to_records", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_sql", "kind": 3, "sortText": "ato_sql", "insertText": "to_sql", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_stata", "kind": 3, "sortText": "ato_stata", "insertText": "to_stata", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_string", "kind": 3, "sortText": "ato_string", "insertText": "to_string", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_timestamp", "kind": 3, "sortText": "ato_timestamp", "insertText": "to_timestamp", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_xarray", "kind": 3, "sortText": "ato_xarray", "insertText": "to_xarray", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_xml", "kind": 3, "sortText": "ato_xml", "insertText": "to_xml", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "transform", "kind": 3, "sortText": "atransform", "insertText": "transform", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "transpose", "kind": 3, "sortText": "atranspose", "insertText": "transpose", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "truediv", "kind": 3, "sortText": "atruediv", "insertText": "truediv", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "truncate", "kind": 3, "sortText": "atruncate", "insertText": "truncate", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "tz_convert", "kind": 3, "sortText": "atz_convert", "insertText": "tz_convert", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "tz_localize", "kind": 3, "sortText": "atz_localize", "insertText": "tz_localize", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "unstack", "kind": 3, "sortText": "aunstack", "insertText": "unstack", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "update", "kind": 3, "sortText": "aupdate", "insertText": "update", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "value_counts", "kind": 3, "sortText": "avalue_counts", "insertText": "value_counts", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "values", "kind": 10, "sortText": "avalues", "insertText": "values", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "var", "kind": 3, "sortText": "avar", "insertText": "var", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "where", "kind": 3, "sortText": "awhere", "insertText": "where", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "xs", "kind": 3, "sortText": "axs", "insertText": "xs", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_accessors", "kind": 6, "sortText": "z_accessors", "insertText": "_accessors", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_accum_func", "kind": 3, "sortText": "z_accum_func", "insertText": "_accum_func", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_agg_examples_doc", "kind": 6, "sortText": "z_agg_examples_doc", "insertText": "_agg_examples_doc", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_agg_see_also_doc", "kind": 6, "sortText": "z_agg_see_also_doc", "insertText": "_agg_see_also_doc", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_align_for_op", "kind": 3, "sortText": "z_align_for_op", "insertText": "_align_for_op", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_align_frame", "kind": 3, "sortText": "z_align_frame", "insertText": "_align_frame", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_align_series", "kind": 3, "sortText": "z_align_series", "insertText": "_align_series", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_append", "kind": 3, "sortText": "z_append", "insertText": "_append", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_arith_method", "kind": 3, "sortText": "z_arith_method", "insertText": "_arith_method", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_arith_method_with_reindex", "kind": 3, "sortText": "z_arith_method_with_reindex", "insertText": "_arith_method_with_reindex", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_as_manager", "kind": 3, "sortText": "z_as_manager", "insertText": "_as_manager", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_attrs", "kind": 6, "sortText": "z_attrs", "insertText": "_attrs", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_AXIS_LEN", "kind": 6, "sortText": "z_AXIS_LEN", "insertText": "_AXIS_LEN", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_AXIS_ORDERS", "kind": 6, "sortText": "z_AXIS_ORDERS", "insertText": "_AXIS_ORDERS", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_AXIS_TO_AXIS_NUMBER", "kind": 6, "sortText": "z_AXIS_TO_AXIS_NUMBER", "insertText": "_AXIS_TO_AXIS_NUMBER", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_box_col_values", "kind": 3, "sortText": "z_box_col_values", "insertText": "_box_col_values", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_cache", "kind": 6, "sortText": "z_cache", "insertText": "_cache", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_can_fast_transpose", "kind": 10, "sortText": "z_can_fast_transpose", "insertText": "_can_fast_transpose", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_check_inplace_and_allows_duplicate_labels", "kind": 3, "sortText": "z_check_inplace_and_allows_duplicate_labels", "insertText": "_check_inplace_and_allows_duplicate_labels", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_check_is_chained_assignment_possible", "kind": 3, "sortText": "z_check_is_chained_assignment_possible", "insertText": "_check_is_chained_assignment_possible", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_check_label_or_level_ambiguity", "kind": 3, "sortText": "z_check_label_or_level_ambiguity", "insertText": "_check_label_or_level_ambiguity", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_check_setitem_copy", "kind": 3, "sortText": "z_check_setitem_copy", "insertText": "_check_setitem_copy", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_clear_item_cache", "kind": 3, "sortText": "z_clear_item_cache", "insertText": "_clear_item_cache", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_clip_with_one_bound", "kind": 3, "sortText": "z_clip_with_one_bound", "insertText": "_clip_with_one_bound", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_clip_with_scalar", "kind": 3, "sortText": "z_clip_with_scalar", "insertText": "_clip_with_scalar", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_cmp_method", "kind": 3, "sortText": "z_cmp_method", "insertText": "_cmp_method", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_combine_frame", "kind": 3, "sortText": "z_combine_frame", "insertText": "_combine_frame", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_consolidate", "kind": 3, "sortText": "z_consolidate", "insertText": "_consolidate", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_consolidate_inplace", "kind": 3, "sortText": "z_consolidate_inplace", "insertText": "_consolidate_inplace", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_construct_axes_dict", "kind": 3, "sortText": "z_construct_axes_dict", "insertText": "_construct_axes_dict", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_construct_result", "kind": 3, "sortText": "z_construct_result", "insertText": "_construct_result", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_constructor", "kind": 10, "sortText": "z_constructor", "insertText": "_constructor", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_constructor_from_mgr", "kind": 3, "sortText": "z_constructor_from_mgr", "insertText": "_constructor_from_mgr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_constructor_sliced", "kind": 6, "sortText": "z_constructor_sliced", "insertText": "_constructor_sliced", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_constructor_sliced_from_mgr", "kind": 3, "sortText": "z_constructor_sliced_from_mgr", "insertText": "_constructor_sliced_from_mgr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_create_data_for_split_and_tight_to_dict", "kind": 3, "sortText": "z_create_data_for_split_and_tight_to_dict", "insertText": "_create_data_for_split_and_tight_to_dict", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_data", "kind": 10, "sortText": "z_data", "insertText": "_data", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_deprecate_downcast", "kind": 3, "sortText": "z_deprecate_downcast", "insertText": "_deprecate_downcast", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_dir_additions", "kind": 3, "sortText": "z_dir_additions", "insertText": "_dir_additions", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_dir_deletions", "kind": 3, "sortText": "z_dir_deletions", "insertText": "_dir_deletions", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_dispatch_frame_op", "kind": 3, "sortText": "z_dispatch_frame_op", "insertText": "_dispatch_frame_op", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_drop_axis", "kind": 3, "sortText": "z_drop_axis", "insertText": "_drop_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_drop_labels_or_levels", "kind": 3, "sortText": "z_drop_labels_or_levels", "insertText": "_drop_labels_or_levels", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_ensure_valid_index", "kind": 3, "sortText": "z_ensure_valid_index", "insertText": "_ensure_valid_index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_find_valid_index", "kind": 3, "sortText": "z_find_valid_index", "insertText": "_find_valid_index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_flex_arith_method", "kind": 3, "sortText": "z_flex_arith_method", "insertText": "_flex_arith_method", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_flex_cmp_method", "kind": 3, "sortText": "z_flex_cmp_method", "insertText": "_flex_cmp_method", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_from_arrays", "kind": 3, "sortText": "z_from_arrays", "insertText": "_from_arrays", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_from_mgr", "kind": 3, "sortText": "z_from_mgr", "insertText": "_from_mgr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_agg_axis", "kind": 3, "sortText": "z_get_agg_axis", "insertText": "_get_agg_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_axis", "kind": 3, "sortText": "z_get_axis", "insertText": "_get_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_axis_name", "kind": 3, "sortText": "z_get_axis_name", "insertText": "_get_axis_name", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_axis_number", "kind": 3, "sortText": "z_get_axis_number", "insertText": "_get_axis_number", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_axis_resolvers", "kind": 3, "sortText": "z_get_axis_resolvers", "insertText": "_get_axis_resolvers", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_block_manager_axis", "kind": 3, "sortText": "z_get_block_manager_axis", "insertText": "_get_block_manager_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_bool_data", "kind": 3, "sortText": "z_get_bool_data", "insertText": "_get_bool_data", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_cleaned_column_resolvers", "kind": 3, "sortText": "z_get_cleaned_column_resolvers", "insertText": "_get_cleaned_column_resolvers", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_column_array", "kind": 3, "sortText": "z_get_column_array", "insertText": "_get_column_array", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_index_resolvers", "kind": 3, "sortText": "z_get_index_resolvers", "insertText": "_get_index_resolvers", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_item_cache", "kind": 3, "sortText": "z_get_item_cache", "insertText": "_get_item_cache", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_label_or_level_values", "kind": 3, "sortText": "z_get_label_or_level_values", "insertText": "_get_label_or_level_values", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_numeric_data", "kind": 3, "sortText": "z_get_numeric_data", "insertText": "_get_numeric_data", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_value", "kind": 3, "sortText": "z_get_value", "insertText": "_get_value", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_values_for_csv", "kind": 3, "sortText": "z_get_values_for_csv", "insertText": "_get_values_for_csv", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_getitem_bool_array", "kind": 3, "sortText": "z_getitem_bool_array", "insertText": "_getitem_bool_array", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_getitem_multilevel", "kind": 3, "sortText": "z_getitem_multilevel", "insertText": "_getitem_multilevel", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_getitem_nocopy", "kind": 3, "sortText": "z_getitem_nocopy", "insertText": "_getitem_nocopy", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_getitem_slice", "kind": 3, "sortText": "z_getitem_slice", "insertText": "_getitem_slice", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_gotitem", "kind": 3, "sortText": "z_gotitem", "insertText": "_gotitem", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_HANDLED_TYPES", "kind": 6, "sortText": "z_HANDLED_TYPES", "insertText": "_HANDLED_TYPES", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_hidden_attrs", "kind": 6, "sortText": "z_hidden_attrs", "insertText": "_hidden_attrs", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_indexed_same", "kind": 3, "sortText": "z_indexed_same", "insertText": "_indexed_same", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_info_axis", "kind": 10, "sortText": "z_info_axis", "insertText": "_info_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_info_axis_name", "kind": 6, "sortText": "z_info_axis_name", "insertText": "_info_axis_name", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_info_axis_number", "kind": 6, "sortText": "z_info_axis_number", "insertText": "_info_axis_number", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_info_repr", "kind": 3, "sortText": "z_info_repr", "insertText": "_info_repr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_init_mgr", "kind": 3, "sortText": "z_init_mgr", "insertText": "_init_mgr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_inplace_method", "kind": 3, "sortText": "z_inplace_method", "insertText": "_inplace_method", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_internal_names", "kind": 6, "sortText": "z_internal_names", "insertText": "_internal_names", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_internal_names_set", "kind": 6, "sortText": "z_internal_names_set", "insertText": "_internal_names_set", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_copy", "kind": 6, "sortText": "z_is_copy", "insertText": "_is_copy", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_homogeneous_type", "kind": 10, "sortText": "z_is_homogeneous_type", "insertText": "_is_homogeneous_type", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_label_or_level_reference", "kind": 3, "sortText": "z_is_label_or_level_reference", "insertText": "_is_label_or_level_reference", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_label_reference", "kind": 3, "sortText": "z_is_label_reference", "insertText": "_is_label_reference", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_level_reference", "kind": 3, "sortText": "z_is_level_reference", "insertText": "_is_level_reference", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_mixed_type", "kind": 10, "sortText": "z_is_mixed_type", "insertText": "_is_mixed_type", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_view", "kind": 10, "sortText": "z_is_view", "insertText": "_is_view", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_view_after_cow_rules", "kind": 3, "sortText": "z_is_view_after_cow_rules", "insertText": "_is_view_after_cow_rules", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_iset_item", "kind": 3, "sortText": "z_iset_item", "insertText": "_iset_item", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_iset_item_mgr", "kind": 3, "sortText": "z_iset_item_mgr", "insertText": "_iset_item_mgr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_iset_not_inplace", "kind": 3, "sortText": "z_iset_not_inplace", "insertText": "_iset_not_inplace", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_item_cache", "kind": 6, "sortText": "z_item_cache", "insertText": "_item_cache", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_iter_column_arrays", "kind": 3, "sortText": "z_iter_column_arrays", "insertText": "_iter_column_arrays", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_ixs", "kind": 3, "sortText": "z_ixs", "insertText": "_ixs", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_logical_func", "kind": 3, "sortText": "z_logical_func", "insertText": "_logical_func", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_logical_method", "kind": 6, "sortText": "z_logical_method", "insertText": "_logical_method", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_maybe_align_series_as_frame", "kind": 3, "sortText": "z_maybe_align_series_as_frame", "insertText": "_maybe_align_series_as_frame", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_maybe_cache_changed", "kind": 3, "sortText": "z_maybe_cache_changed", "insertText": "_maybe_cache_changed", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_maybe_update_cacher", "kind": 3, "sortText": "z_maybe_update_cacher", "insertText": "_maybe_update_cacher", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_metadata", "kind": 6, "sortText": "z_metadata", "insertText": "_metadata", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_mgr", "kind": 6, "sortText": "z_mgr", "insertText": "_mgr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_min_count_stat_function", "kind": 3, "sortText": "z_min_count_stat_function", "insertText": "_min_count_stat_function", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_needs_reindex_multi", "kind": 3, "sortText": "z_needs_reindex_multi", "insertText": "_needs_reindex_multi", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_pad_or_backfill", "kind": 3, "sortText": "z_pad_or_backfill", "insertText": "_pad_or_backfill", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_protect_consolidate", "kind": 3, "sortText": "z_protect_consolidate", "insertText": "_protect_consolidate", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_reduce", "kind": 3, "sortText": "z_reduce", "insertText": "_reduce", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_reduce_axis1", "kind": 3, "sortText": "z_reduce_axis1", "insertText": "_reduce_axis1", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_reindex_axes", "kind": 3, "sortText": "z_reindex_axes", "insertText": "_reindex_axes", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_reindex_multi", "kind": 3, "sortText": "z_reindex_multi", "insertText": "_reindex_multi", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_reindex_with_indexers", "kind": 3, "sortText": "z_reindex_with_indexers", "insertText": "_reindex_with_indexers", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_rename", "kind": 3, "sortText": "z_rename", "insertText": "_rename", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_replace_columnwise", "kind": 3, "sortText": "z_replace_columnwise", "insertText": "_replace_columnwise", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_repr_data_resource_", "kind": 3, "sortText": "z_repr_data_resource_", "insertText": "_repr_data_resource_", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_repr_fits_horizontal_", "kind": 3, "sortText": "z_repr_fits_horizontal_", "insertText": "_repr_fits_horizontal_", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_repr_fits_vertical_", "kind": 3, "sortText": "z_repr_fits_vertical_", "insertText": "_repr_fits_vertical_", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_repr_html_", "kind": 3, "sortText": "z_repr_html_", "insertText": "_repr_html_", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_repr_latex_", "kind": 3, "sortText": "z_repr_latex_", "insertText": "_repr_latex_", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_reset_cache", "kind": 3, "sortText": "z_reset_cache", "insertText": "_reset_cache", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_reset_cacher", "kind": 3, "sortText": "z_reset_cacher", "insertText": "_reset_cacher", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_sanitize_column", "kind": 3, "sortText": "z_sanitize_column", "insertText": "_sanitize_column", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_series", "kind": 10, "sortText": "z_series", "insertText": "_series", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_axis", "kind": 3, "sortText": "z_set_axis", "insertText": "_set_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_axis_name", "kind": 3, "sortText": "z_set_axis_name", "insertText": "_set_axis_name", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_axis_nocheck", "kind": 3, "sortText": "z_set_axis_nocheck", "insertText": "_set_axis_nocheck", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_is_copy", "kind": 3, "sortText": "z_set_is_copy", "insertText": "_set_is_copy", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_item", "kind": 3, "sortText": "z_set_item", "insertText": "_set_item", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_item_frame_value", "kind": 3, "sortText": "z_set_item_frame_value", "insertText": "_set_item_frame_value", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_item_mgr", "kind": 3, "sortText": "z_set_item_mgr", "insertText": "_set_item_mgr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_value", "kind": 3, "sortText": "z_set_value", "insertText": "_set_value", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_setitem_array", "kind": 3, "sortText": "z_setitem_array", "insertText": "_setitem_array", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_setitem_frame", "kind": 3, "sortText": "z_setitem_frame", "insertText": "_setitem_frame", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_setitem_slice", "kind": 3, "sortText": "z_setitem_slice", "insertText": "_setitem_slice", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_shared_docs", "kind": 6, "sortText": "z_shared_docs", "insertText": "_shared_docs", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_shift_with_freq", "kind": 3, "sortText": "z_shift_with_freq", "insertText": "_shift_with_freq", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_should_reindex_frame_op", "kind": 3, "sortText": "z_should_reindex_frame_op", "insertText": "_should_reindex_frame_op", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_slice", "kind": 3, "sortText": "z_slice", "insertText": "_slice", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_stat_function", "kind": 3, "sortText": "z_stat_function", "insertText": "_stat_function", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_stat_function_ddof", "kind": 3, "sortText": "z_stat_function_ddof", "insertText": "_stat_function_ddof", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_take_with_is_copy", "kind": 3, "sortText": "z_take_with_is_copy", "insertText": "_take_with_is_copy", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_to_dict_of_blocks", "kind": 3, "sortText": "z_to_dict_of_blocks", "insertText": "_to_dict_of_blocks", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_to_latex_via_styler", "kind": 3, "sortText": "z_to_latex_via_styler", "insertText": "_to_latex_via_styler", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_typ", "kind": 6, "sortText": "z_typ", "insertText": "_typ", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_update_inplace", "kind": 3, "sortText": "z_update_inplace", "insertText": "_update_inplace", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_validate_dtype", "kind": 3, "sortText": "z_validate_dtype", "insertText": "_validate_dtype", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_values", "kind": 10, "sortText": "z_values", "insertText": "_values", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_where", "kind": 3, "sortText": "z_where", "insertText": "_where", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__abs__", "kind": 3, "sortText": "z__abs__", "insertText": "__abs__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__add__", "kind": 3, "sortText": "z__add__", "insertText": "__add__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__and__", "kind": 3, "sortText": "z__and__", "insertText": "__and__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__annotations__", "kind": 6, "sortText": "z__annotations__", "insertText": "__annotations__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__array__", "kind": 3, "sortText": "z__array__", "insertText": "__array__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__array_priority__", "kind": 6, "sortText": "z__array_priority__", "insertText": "__array_priority__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__array_ufunc__", "kind": 3, "sortText": "z__array_ufunc__", "insertText": "__array_ufunc__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__arrow_c_stream__", "kind": 3, "sortText": "z__arrow_c_stream__", "insertText": "__arrow_c_stream__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__bool__", "kind": 6, "sortText": "z__bool__", "insertText": "__bool__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__class__", "kind": 10, "sortText": "z__class__", "insertText": "__class__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__contains__", "kind": 3, "sortText": "z__contains__", "insertText": "__contains__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__copy__", "kind": 3, "sortText": "z__copy__", "insertText": "__copy__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__dataframe__", "kind": 3, "sortText": "z__dataframe__", "insertText": "__dataframe__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__dataframe_consortium_standard__", "kind": 3, "sortText": "z__dataframe_consortium_standard__", "insertText": "__dataframe_consortium_standard__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__deepcopy__", "kind": 3, "sortText": "z__deepcopy__", "insertText": "__deepcopy__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__delattr__", "kind": 3, "sortText": "z__delattr__", "insertText": "__delattr__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__delitem__", "kind": 3, "sortText": "z__delitem__", "insertText": "__delitem__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__dict__", "kind": 6, "sortText": "z__dict__", "insertText": "__dict__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__dir__", "kind": 3, "sortText": "z__dir__", "insertText": "__dir__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__divmod__", "kind": 3, "sortText": "z__divmod__", "insertText": "__divmod__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__doc__", "kind": 6, "sortText": "z__doc__", "insertText": "__doc__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__eq__", "kind": 3, "sortText": "z__eq__", "insertText": "__eq__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__finalize__", "kind": 3, "sortText": "z__finalize__", "insertText": "__finalize__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__floordiv__", "kind": 3, "sortText": "z__floordiv__", "insertText": "__floordiv__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__format__", "kind": 3, "sortText": "z__format__", "insertText": "__format__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__ge__", "kind": 3, "sortText": "z__ge__", "insertText": "__ge__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__getattr__", "kind": 3, "sortText": "z__getattr__", "insertText": "__getattr__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__getattribute__", "kind": 3, "sortText": "z__getattribute__", "insertText": "__getattribute__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__getitem__", "kind": 3, "sortText": "z__getitem__", "insertText": "__getitem__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__getstate__", "kind": 3, "sortText": "z__getstate__", "insertText": "__getstate__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__gt__", "kind": 3, "sortText": "z__gt__", "insertText": "__gt__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__hash__", "kind": 6, "sortText": "z__hash__", "insertText": "__hash__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__iadd__", "kind": 3, "sortText": "z__iadd__", "insertText": "__iadd__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__iand__", "kind": 3, "sortText": "z__iand__", "insertText": "__iand__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__ifloordiv__", "kind": 3, "sortText": "z__ifloordiv__", "insertText": "__ifloordiv__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__imod__", "kind": 3, "sortText": "z__imod__", "insertText": "__imod__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__imul__", "kind": 3, "sortText": "z__imul__", "insertText": "__imul__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__init__", "kind": 3, "sortText": "z__init__", "insertText": "__init__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__init_subclass__", "kind": 3, "sortText": "z__init_subclass__", "insertText": "__init_subclass__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__invert__", "kind": 3, "sortText": "z__invert__", "insertText": "__invert__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__ior__", "kind": 3, "sortText": "z__ior__", "insertText": "__ior__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__ipow__", "kind": 3, "sortText": "z__ipow__", "insertText": "__ipow__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__isub__", "kind": 3, "sortText": "z__isub__", "insertText": "__isub__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__iter__", "kind": 3, "sortText": "z__iter__", "insertText": "__iter__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__itruediv__", "kind": 3, "sortText": "z__itruediv__", "insertText": "__itruediv__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__ixor__", "kind": 3, "sortText": "z__ixor__", "insertText": "__ixor__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__le__", "kind": 3, "sortText": "z__le__", "insertText": "__le__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__len__", "kind": 3, "sortText": "z__len__", "insertText": "__len__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__lt__", "kind": 3, "sortText": "z__lt__", "insertText": "__lt__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__matmul__", "kind": 3, "sortText": "z__matmul__", "insertText": "__matmul__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__mod__", "kind": 3, "sortText": "z__mod__", "insertText": "__mod__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__module__", "kind": 6, "sortText": "z__module__", "insertText": "__module__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__mul__", "kind": 3, "sortText": "z__mul__", "insertText": "__mul__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__ne__", "kind": 3, "sortText": "z__ne__", "insertText": "__ne__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__neg__", "kind": 3, "sortText": "z__neg__", "insertText": "__neg__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__new__", "kind": 3, "sortText": "z__new__", "insertText": "__new__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__nonzero__", "kind": 3, "sortText": "z__nonzero__", "insertText": "__nonzero__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__or__", "kind": 3, "sortText": "z__or__", "insertText": "__or__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__pandas_priority__", "kind": 6, "sortText": "z__pandas_priority__", "insertText": "__pandas_priority__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__pos__", "kind": 3, "sortText": "z__pos__", "insertText": "__pos__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__pow__", "kind": 3, "sortText": "z__pow__", "insertText": "__pow__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__radd__", "kind": 3, "sortText": "z__radd__", "insertText": "__radd__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rand__", "kind": 3, "sortText": "z__rand__", "insertText": "__rand__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rdivmod__", "kind": 3, "sortText": "z__rdivmod__", "insertText": "__rdivmod__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__reduce__", "kind": 3, "sortText": "z__reduce__", "insertText": "__reduce__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__reduce_ex__", "kind": 3, "sortText": "z__reduce_ex__", "insertText": "__reduce_ex__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__repr__", "kind": 3, "sortText": "z__repr__", "insertText": "__repr__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rfloordiv__", "kind": 3, "sortText": "z__rfloordiv__", "insertText": "__rfloordiv__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rmatmul__", "kind": 3, "sortText": "z__rmatmul__", "insertText": "__rmatmul__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rmod__", "kind": 3, "sortText": "z__rmod__", "insertText": "__rmod__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rmul__", "kind": 3, "sortText": "z__rmul__", "insertText": "__rmul__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__ror__", "kind": 3, "sortText": "z__ror__", "insertText": "__ror__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__round__", "kind": 3, "sortText": "z__round__", "insertText": "__round__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rpow__", "kind": 3, "sortText": "z__rpow__", "insertText": "__rpow__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rsub__", "kind": 3, "sortText": "z__rsub__", "insertText": "__rsub__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rtruediv__", "kind": 3, "sortText": "z__rtruediv__", "insertText": "__rtruediv__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rxor__", "kind": 3, "sortText": "z__rxor__", "insertText": "__rxor__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__setattr__", "kind": 3, "sortText": "z__setattr__", "insertText": "__setattr__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__setitem__", "kind": 3, "sortText": "z__setitem__", "insertText": "__setitem__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__setstate__", "kind": 3, "sortText": "z__setstate__", "insertText": "__setstate__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__sizeof__", "kind": 3, "sortText": "z__sizeof__", "insertText": "__sizeof__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__str__", "kind": 3, "sortText": "z__str__", "insertText": "__str__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__sub__", "kind": 3, "sortText": "z__sub__", "insertText": "__sub__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__subclasshook__", "kind": 3, "sortText": "z__subclasshook__", "insertText": "__subclasshook__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__truediv__", "kind": 3, "sortText": "z__truediv__", "insertText": "__truediv__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__xor__", "kind": 3, "sortText": "z__xor__", "insertText": "__xor__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}]}} +{"suite": "pandas", "label": "edit dataframe then complete (edit+completion)", "method": "textDocument/completion", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py", "line": 17, "character": 39, "iteration": 2, "result": {"isIncomplete": false, "items": [{"label": "abs()", "kind": 3, "sortText": "aabs", "insertText": "abs", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "add(other, axis, level, fill_value)", "kind": 3, "sortText": "aadd", "insertText": "add", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "add_prefix(prefix, axis)", "kind": 3, "sortText": "aadd_prefix", "insertText": "add_prefix", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "add_suffix(suffix, axis)", "kind": 3, "sortText": "aadd_suffix", "insertText": "add_suffix", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "agg", "kind": 6, "sortText": "aagg", "insertText": "agg", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "aggregate(func, axis, args, kwargs)", "kind": 3, "sortText": "aaggregate", "insertText": "aggregate", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "align(other, join, axis, level, copy, fill_value, method, limit, fill_axis, broadcast_axis)", "kind": 3, "sortText": "aalign", "insertText": "align", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "all(axis, bool_only, skipna, kwargs)", "kind": 3, "sortText": "aall", "insertText": "all", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "any(axis, bool_only, skipna, kwargs)", "kind": 3, "sortText": "aany", "insertText": "any", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "apply(func, axis, raw, result_type, args, by_row, engine, engine_kwargs, kwargs)", "kind": 3, "sortText": "aapply", "insertText": "apply", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "applymap(func, na_action, kwargs)", "kind": 3, "sortText": "aapplymap", "insertText": "applymap", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "asfreq(freq, method, how, normalize, fill_value)", "kind": 3, "sortText": "aasfreq", "insertText": "asfreq", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "asof(where, subset)", "kind": 3, "sortText": "aasof", "insertText": "asof", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "assign(kwargs)", "kind": 3, "sortText": "aassign", "insertText": "assign", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "astype(dtype, copy, errors)", "kind": 3, "sortText": "aastype", "insertText": "astype", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "at", "kind": 10, "sortText": "aat", "insertText": "at", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "at_time(time, asof, axis)", "kind": 3, "sortText": "aat_time", "insertText": "at_time", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "attrs", "kind": 6, "sortText": "aattrs", "insertText": "attrs", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "axes", "kind": 10, "sortText": "aaxes", "insertText": "axes", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "backfill(axis, inplace, limit, downcast)", "kind": 3, "sortText": "abackfill", "insertText": "backfill", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "between_time(start_time, end_time, inclusive, axis)", "kind": 3, "sortText": "abetween_time", "insertText": "between_time", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "bfill(axis, inplace, limit, limit_area, downcast)", "kind": 3, "sortText": "abfill", "insertText": "bfill", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "bool()", "kind": 3, "sortText": "abool", "insertText": "bool", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "boxplot", "kind": 6, "sortText": "aboxplot", "insertText": "boxplot", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "clip(lower, upper, axis, inplace, kwargs)", "kind": 3, "sortText": "aclip", "insertText": "clip", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "columns", "kind": 6, "sortText": "acolumns", "insertText": "columns", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "combine", "kind": 3, "sortText": "acombine", "insertText": "combine", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "combine_first", "kind": 3, "sortText": "acombine_first", "insertText": "combine_first", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "compare", "kind": 3, "sortText": "acompare", "insertText": "compare", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "convert_dtypes", "kind": 3, "sortText": "aconvert_dtypes", "insertText": "convert_dtypes", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "copy", "kind": 3, "sortText": "acopy", "insertText": "copy", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "corr", "kind": 3, "sortText": "acorr", "insertText": "corr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "corrwith", "kind": 3, "sortText": "acorrwith", "insertText": "corrwith", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "count", "kind": 3, "sortText": "acount", "insertText": "count", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "cov", "kind": 3, "sortText": "acov", "insertText": "cov", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "cummax", "kind": 3, "sortText": "acummax", "insertText": "cummax", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "cummin", "kind": 3, "sortText": "acummin", "insertText": "cummin", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "cumprod", "kind": 3, "sortText": "acumprod", "insertText": "cumprod", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "cumsum", "kind": 3, "sortText": "acumsum", "insertText": "cumsum", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "describe", "kind": 3, "sortText": "adescribe", "insertText": "describe", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "diff", "kind": 3, "sortText": "adiff", "insertText": "diff", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "div", "kind": 6, "sortText": "adiv", "insertText": "div", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "divide", "kind": 6, "sortText": "adivide", "insertText": "divide", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "dot", "kind": 3, "sortText": "adot", "insertText": "dot", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "drop", "kind": 3, "sortText": "adrop", "insertText": "drop", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "drop_duplicates", "kind": 3, "sortText": "adrop_duplicates", "insertText": "drop_duplicates", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "droplevel", "kind": 3, "sortText": "adroplevel", "insertText": "droplevel", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "dropna", "kind": 3, "sortText": "adropna", "insertText": "dropna", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "dtypes", "kind": 10, "sortText": "adtypes", "insertText": "dtypes", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "duplicated", "kind": 3, "sortText": "aduplicated", "insertText": "duplicated", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "empty", "kind": 10, "sortText": "aempty", "insertText": "empty", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "eq", "kind": 3, "sortText": "aeq", "insertText": "eq", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "equals", "kind": 3, "sortText": "aequals", "insertText": "equals", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "eval", "kind": 3, "sortText": "aeval", "insertText": "eval", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "ewm", "kind": 3, "sortText": "aewm", "insertText": "ewm", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "expanding", "kind": 3, "sortText": "aexpanding", "insertText": "expanding", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "explode", "kind": 3, "sortText": "aexplode", "insertText": "explode", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "ffill", "kind": 3, "sortText": "affill", "insertText": "ffill", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "fillna", "kind": 3, "sortText": "afillna", "insertText": "fillna", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "filter", "kind": 3, "sortText": "afilter", "insertText": "filter", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "first", "kind": 3, "sortText": "afirst", "insertText": "first", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "first_valid_index", "kind": 3, "sortText": "afirst_valid_index", "insertText": "first_valid_index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "flags", "kind": 10, "sortText": "aflags", "insertText": "flags", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "floordiv", "kind": 3, "sortText": "afloordiv", "insertText": "floordiv", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "from_dict", "kind": 3, "sortText": "afrom_dict", "insertText": "from_dict", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "from_records", "kind": 3, "sortText": "afrom_records", "insertText": "from_records", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "ge", "kind": 3, "sortText": "age", "insertText": "ge", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "get", "kind": 3, "sortText": "aget", "insertText": "get", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "groupby", "kind": 3, "sortText": "agroupby", "insertText": "groupby", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "gt", "kind": 3, "sortText": "agt", "insertText": "gt", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "head", "kind": 3, "sortText": "ahead", "insertText": "head", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "hist", "kind": 6, "sortText": "ahist", "insertText": "hist", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "iat", "kind": 10, "sortText": "aiat", "insertText": "iat", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "idxmax", "kind": 3, "sortText": "aidxmax", "insertText": "idxmax", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "idxmin", "kind": 3, "sortText": "aidxmin", "insertText": "idxmin", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "iloc", "kind": 10, "sortText": "ailoc", "insertText": "iloc", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "index", "kind": 6, "sortText": "aindex", "insertText": "index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "infer_objects", "kind": 3, "sortText": "ainfer_objects", "insertText": "infer_objects", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "info", "kind": 3, "sortText": "ainfo", "insertText": "info", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "insert", "kind": 3, "sortText": "ainsert", "insertText": "insert", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "interpolate", "kind": 3, "sortText": "ainterpolate", "insertText": "interpolate", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "isetitem", "kind": 3, "sortText": "aisetitem", "insertText": "isetitem", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "isin", "kind": 3, "sortText": "aisin", "insertText": "isin", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "isna", "kind": 3, "sortText": "aisna", "insertText": "isna", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "isnull", "kind": 3, "sortText": "aisnull", "insertText": "isnull", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "items", "kind": 3, "sortText": "aitems", "insertText": "items", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "iterrows", "kind": 3, "sortText": "aiterrows", "insertText": "iterrows", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "itertuples", "kind": 3, "sortText": "aitertuples", "insertText": "itertuples", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "join", "kind": 3, "sortText": "ajoin", "insertText": "join", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "keys", "kind": 3, "sortText": "akeys", "insertText": "keys", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "kurt", "kind": 3, "sortText": "akurt", "insertText": "kurt", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "kurtosis", "kind": 6, "sortText": "akurtosis", "insertText": "kurtosis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "last", "kind": 3, "sortText": "alast", "insertText": "last", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "last_valid_index", "kind": 3, "sortText": "alast_valid_index", "insertText": "last_valid_index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "le", "kind": 3, "sortText": "ale", "insertText": "le", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "loc", "kind": 10, "sortText": "aloc", "insertText": "loc", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "lt", "kind": 3, "sortText": "alt", "insertText": "lt", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "map", "kind": 3, "sortText": "amap", "insertText": "map", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "mask", "kind": 3, "sortText": "amask", "insertText": "mask", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "max", "kind": 3, "sortText": "amax", "insertText": "max", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "mean", "kind": 3, "sortText": "amean", "insertText": "mean", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "median", "kind": 3, "sortText": "amedian", "insertText": "median", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "melt", "kind": 3, "sortText": "amelt", "insertText": "melt", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "memory_usage", "kind": 3, "sortText": "amemory_usage", "insertText": "memory_usage", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "merge", "kind": 3, "sortText": "amerge", "insertText": "merge", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "min", "kind": 3, "sortText": "amin", "insertText": "min", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "mod", "kind": 3, "sortText": "amod", "insertText": "mod", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "mode", "kind": 3, "sortText": "amode", "insertText": "mode", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "mul", "kind": 3, "sortText": "amul", "insertText": "mul", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "multiply", "kind": 6, "sortText": "amultiply", "insertText": "multiply", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "ndim", "kind": 10, "sortText": "andim", "insertText": "ndim", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "ne", "kind": 3, "sortText": "ane", "insertText": "ne", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "nlargest", "kind": 3, "sortText": "anlargest", "insertText": "nlargest", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "notna", "kind": 3, "sortText": "anotna", "insertText": "notna", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "notnull", "kind": 3, "sortText": "anotnull", "insertText": "notnull", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "nsmallest", "kind": 3, "sortText": "ansmallest", "insertText": "nsmallest", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "nunique", "kind": 3, "sortText": "anunique", "insertText": "nunique", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "pad", "kind": 3, "sortText": "apad", "insertText": "pad", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "pct_change", "kind": 3, "sortText": "apct_change", "insertText": "pct_change", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "pipe", "kind": 3, "sortText": "apipe", "insertText": "pipe", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "pivot", "kind": 3, "sortText": "apivot", "insertText": "pivot", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "pivot_table", "kind": 3, "sortText": "apivot_table", "insertText": "pivot_table", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "plot", "kind": 6, "sortText": "aplot", "insertText": "plot", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "pop", "kind": 3, "sortText": "apop", "insertText": "pop", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "pow", "kind": 3, "sortText": "apow", "insertText": "pow", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "prod", "kind": 3, "sortText": "aprod", "insertText": "prod", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "product", "kind": 6, "sortText": "aproduct", "insertText": "product", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "quantile", "kind": 3, "sortText": "aquantile", "insertText": "quantile", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "query", "kind": 3, "sortText": "aquery", "insertText": "query", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "radd", "kind": 3, "sortText": "aradd", "insertText": "radd", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rank", "kind": 3, "sortText": "arank", "insertText": "rank", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rdiv", "kind": 6, "sortText": "ardiv", "insertText": "rdiv", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "reindex", "kind": 3, "sortText": "areindex", "insertText": "reindex", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "reindex_like", "kind": 3, "sortText": "areindex_like", "insertText": "reindex_like", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rename", "kind": 3, "sortText": "arename", "insertText": "rename", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rename_axis", "kind": 3, "sortText": "arename_axis", "insertText": "rename_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "reorder_levels", "kind": 3, "sortText": "areorder_levels", "insertText": "reorder_levels", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "replace", "kind": 3, "sortText": "areplace", "insertText": "replace", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "resample", "kind": 3, "sortText": "aresample", "insertText": "resample", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "reset_index", "kind": 3, "sortText": "areset_index", "insertText": "reset_index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rfloordiv", "kind": 3, "sortText": "arfloordiv", "insertText": "rfloordiv", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rmod", "kind": 3, "sortText": "armod", "insertText": "rmod", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rmul", "kind": 3, "sortText": "armul", "insertText": "rmul", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rolling", "kind": 3, "sortText": "arolling", "insertText": "rolling", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "round", "kind": 3, "sortText": "around", "insertText": "round", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rpow", "kind": 3, "sortText": "arpow", "insertText": "rpow", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rsub", "kind": 3, "sortText": "arsub", "insertText": "rsub", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rtruediv", "kind": 3, "sortText": "artruediv", "insertText": "rtruediv", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "sample", "kind": 3, "sortText": "asample", "insertText": "sample", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "select_dtypes", "kind": 3, "sortText": "aselect_dtypes", "insertText": "select_dtypes", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "sem", "kind": 3, "sortText": "asem", "insertText": "sem", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "set_axis", "kind": 3, "sortText": "aset_axis", "insertText": "set_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "set_flags", "kind": 3, "sortText": "aset_flags", "insertText": "set_flags", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "set_index", "kind": 3, "sortText": "aset_index", "insertText": "set_index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "shape", "kind": 10, "sortText": "ashape", "insertText": "shape", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "shift", "kind": 3, "sortText": "ashift", "insertText": "shift", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "size", "kind": 10, "sortText": "asize", "insertText": "size", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "skew", "kind": 3, "sortText": "askew", "insertText": "skew", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "sort_index", "kind": 3, "sortText": "asort_index", "insertText": "sort_index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "sort_values", "kind": 3, "sortText": "asort_values", "insertText": "sort_values", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "sparse", "kind": 6, "sortText": "asparse", "insertText": "sparse", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "squeeze", "kind": 3, "sortText": "asqueeze", "insertText": "squeeze", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "stack", "kind": 3, "sortText": "astack", "insertText": "stack", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "std", "kind": 3, "sortText": "astd", "insertText": "std", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "style", "kind": 10, "sortText": "astyle", "insertText": "style", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "sub", "kind": 3, "sortText": "asub", "insertText": "sub", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "subtract", "kind": 6, "sortText": "asubtract", "insertText": "subtract", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "sum", "kind": 3, "sortText": "asum", "insertText": "sum", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "swapaxes", "kind": 3, "sortText": "aswapaxes", "insertText": "swapaxes", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "swaplevel", "kind": 3, "sortText": "aswaplevel", "insertText": "swaplevel", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "T", "kind": 10, "sortText": "aT", "insertText": "T", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "tail", "kind": 3, "sortText": "atail", "insertText": "tail", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "take", "kind": 3, "sortText": "atake", "insertText": "take", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_clipboard", "kind": 3, "sortText": "ato_clipboard", "insertText": "to_clipboard", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_csv", "kind": 3, "sortText": "ato_csv", "insertText": "to_csv", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_dict", "kind": 3, "sortText": "ato_dict", "insertText": "to_dict", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_excel", "kind": 3, "sortText": "ato_excel", "insertText": "to_excel", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_feather", "kind": 3, "sortText": "ato_feather", "insertText": "to_feather", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_gbq", "kind": 3, "sortText": "ato_gbq", "insertText": "to_gbq", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_hdf", "kind": 3, "sortText": "ato_hdf", "insertText": "to_hdf", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_html", "kind": 3, "sortText": "ato_html", "insertText": "to_html", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_json", "kind": 3, "sortText": "ato_json", "insertText": "to_json", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_latex", "kind": 3, "sortText": "ato_latex", "insertText": "to_latex", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_markdown", "kind": 3, "sortText": "ato_markdown", "insertText": "to_markdown", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_numpy", "kind": 3, "sortText": "ato_numpy", "insertText": "to_numpy", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_orc", "kind": 3, "sortText": "ato_orc", "insertText": "to_orc", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_parquet", "kind": 3, "sortText": "ato_parquet", "insertText": "to_parquet", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_period", "kind": 3, "sortText": "ato_period", "insertText": "to_period", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_pickle", "kind": 3, "sortText": "ato_pickle", "insertText": "to_pickle", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_records", "kind": 3, "sortText": "ato_records", "insertText": "to_records", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_sql", "kind": 3, "sortText": "ato_sql", "insertText": "to_sql", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_stata", "kind": 3, "sortText": "ato_stata", "insertText": "to_stata", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_string", "kind": 3, "sortText": "ato_string", "insertText": "to_string", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_timestamp", "kind": 3, "sortText": "ato_timestamp", "insertText": "to_timestamp", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_xarray", "kind": 3, "sortText": "ato_xarray", "insertText": "to_xarray", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_xml", "kind": 3, "sortText": "ato_xml", "insertText": "to_xml", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "transform", "kind": 3, "sortText": "atransform", "insertText": "transform", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "transpose", "kind": 3, "sortText": "atranspose", "insertText": "transpose", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "truediv", "kind": 3, "sortText": "atruediv", "insertText": "truediv", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "truncate", "kind": 3, "sortText": "atruncate", "insertText": "truncate", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "tz_convert", "kind": 3, "sortText": "atz_convert", "insertText": "tz_convert", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "tz_localize", "kind": 3, "sortText": "atz_localize", "insertText": "tz_localize", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "unstack", "kind": 3, "sortText": "aunstack", "insertText": "unstack", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "update", "kind": 3, "sortText": "aupdate", "insertText": "update", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "value_counts", "kind": 3, "sortText": "avalue_counts", "insertText": "value_counts", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "values", "kind": 10, "sortText": "avalues", "insertText": "values", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "var", "kind": 3, "sortText": "avar", "insertText": "var", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "where", "kind": 3, "sortText": "awhere", "insertText": "where", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "xs", "kind": 3, "sortText": "axs", "insertText": "xs", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_accessors", "kind": 6, "sortText": "z_accessors", "insertText": "_accessors", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_accum_func", "kind": 3, "sortText": "z_accum_func", "insertText": "_accum_func", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_agg_examples_doc", "kind": 6, "sortText": "z_agg_examples_doc", "insertText": "_agg_examples_doc", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_agg_see_also_doc", "kind": 6, "sortText": "z_agg_see_also_doc", "insertText": "_agg_see_also_doc", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_align_for_op", "kind": 3, "sortText": "z_align_for_op", "insertText": "_align_for_op", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_align_frame", "kind": 3, "sortText": "z_align_frame", "insertText": "_align_frame", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_align_series", "kind": 3, "sortText": "z_align_series", "insertText": "_align_series", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_append", "kind": 3, "sortText": "z_append", "insertText": "_append", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_arith_method", "kind": 3, "sortText": "z_arith_method", "insertText": "_arith_method", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_arith_method_with_reindex", "kind": 3, "sortText": "z_arith_method_with_reindex", "insertText": "_arith_method_with_reindex", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_as_manager", "kind": 3, "sortText": "z_as_manager", "insertText": "_as_manager", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_attrs", "kind": 6, "sortText": "z_attrs", "insertText": "_attrs", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_AXIS_LEN", "kind": 6, "sortText": "z_AXIS_LEN", "insertText": "_AXIS_LEN", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_AXIS_ORDERS", "kind": 6, "sortText": "z_AXIS_ORDERS", "insertText": "_AXIS_ORDERS", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_AXIS_TO_AXIS_NUMBER", "kind": 6, "sortText": "z_AXIS_TO_AXIS_NUMBER", "insertText": "_AXIS_TO_AXIS_NUMBER", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_box_col_values", "kind": 3, "sortText": "z_box_col_values", "insertText": "_box_col_values", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_cache", "kind": 6, "sortText": "z_cache", "insertText": "_cache", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_can_fast_transpose", "kind": 10, "sortText": "z_can_fast_transpose", "insertText": "_can_fast_transpose", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_check_inplace_and_allows_duplicate_labels", "kind": 3, "sortText": "z_check_inplace_and_allows_duplicate_labels", "insertText": "_check_inplace_and_allows_duplicate_labels", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_check_is_chained_assignment_possible", "kind": 3, "sortText": "z_check_is_chained_assignment_possible", "insertText": "_check_is_chained_assignment_possible", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_check_label_or_level_ambiguity", "kind": 3, "sortText": "z_check_label_or_level_ambiguity", "insertText": "_check_label_or_level_ambiguity", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_check_setitem_copy", "kind": 3, "sortText": "z_check_setitem_copy", "insertText": "_check_setitem_copy", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_clear_item_cache", "kind": 3, "sortText": "z_clear_item_cache", "insertText": "_clear_item_cache", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_clip_with_one_bound", "kind": 3, "sortText": "z_clip_with_one_bound", "insertText": "_clip_with_one_bound", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_clip_with_scalar", "kind": 3, "sortText": "z_clip_with_scalar", "insertText": "_clip_with_scalar", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_cmp_method", "kind": 3, "sortText": "z_cmp_method", "insertText": "_cmp_method", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_combine_frame", "kind": 3, "sortText": "z_combine_frame", "insertText": "_combine_frame", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_consolidate", "kind": 3, "sortText": "z_consolidate", "insertText": "_consolidate", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_consolidate_inplace", "kind": 3, "sortText": "z_consolidate_inplace", "insertText": "_consolidate_inplace", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_construct_axes_dict", "kind": 3, "sortText": "z_construct_axes_dict", "insertText": "_construct_axes_dict", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_construct_result", "kind": 3, "sortText": "z_construct_result", "insertText": "_construct_result", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_constructor", "kind": 10, "sortText": "z_constructor", "insertText": "_constructor", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_constructor_from_mgr", "kind": 3, "sortText": "z_constructor_from_mgr", "insertText": "_constructor_from_mgr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_constructor_sliced", "kind": 6, "sortText": "z_constructor_sliced", "insertText": "_constructor_sliced", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_constructor_sliced_from_mgr", "kind": 3, "sortText": "z_constructor_sliced_from_mgr", "insertText": "_constructor_sliced_from_mgr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_create_data_for_split_and_tight_to_dict", "kind": 3, "sortText": "z_create_data_for_split_and_tight_to_dict", "insertText": "_create_data_for_split_and_tight_to_dict", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_data", "kind": 10, "sortText": "z_data", "insertText": "_data", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_deprecate_downcast", "kind": 3, "sortText": "z_deprecate_downcast", "insertText": "_deprecate_downcast", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_dir_additions", "kind": 3, "sortText": "z_dir_additions", "insertText": "_dir_additions", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_dir_deletions", "kind": 3, "sortText": "z_dir_deletions", "insertText": "_dir_deletions", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_dispatch_frame_op", "kind": 3, "sortText": "z_dispatch_frame_op", "insertText": "_dispatch_frame_op", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_drop_axis", "kind": 3, "sortText": "z_drop_axis", "insertText": "_drop_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_drop_labels_or_levels", "kind": 3, "sortText": "z_drop_labels_or_levels", "insertText": "_drop_labels_or_levels", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_ensure_valid_index", "kind": 3, "sortText": "z_ensure_valid_index", "insertText": "_ensure_valid_index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_find_valid_index", "kind": 3, "sortText": "z_find_valid_index", "insertText": "_find_valid_index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_flex_arith_method", "kind": 3, "sortText": "z_flex_arith_method", "insertText": "_flex_arith_method", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_flex_cmp_method", "kind": 3, "sortText": "z_flex_cmp_method", "insertText": "_flex_cmp_method", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_from_arrays", "kind": 3, "sortText": "z_from_arrays", "insertText": "_from_arrays", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_from_mgr", "kind": 3, "sortText": "z_from_mgr", "insertText": "_from_mgr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_agg_axis", "kind": 3, "sortText": "z_get_agg_axis", "insertText": "_get_agg_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_axis", "kind": 3, "sortText": "z_get_axis", "insertText": "_get_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_axis_name", "kind": 3, "sortText": "z_get_axis_name", "insertText": "_get_axis_name", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_axis_number", "kind": 3, "sortText": "z_get_axis_number", "insertText": "_get_axis_number", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_axis_resolvers", "kind": 3, "sortText": "z_get_axis_resolvers", "insertText": "_get_axis_resolvers", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_block_manager_axis", "kind": 3, "sortText": "z_get_block_manager_axis", "insertText": "_get_block_manager_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_bool_data", "kind": 3, "sortText": "z_get_bool_data", "insertText": "_get_bool_data", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_cleaned_column_resolvers", "kind": 3, "sortText": "z_get_cleaned_column_resolvers", "insertText": "_get_cleaned_column_resolvers", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_column_array", "kind": 3, "sortText": "z_get_column_array", "insertText": "_get_column_array", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_index_resolvers", "kind": 3, "sortText": "z_get_index_resolvers", "insertText": "_get_index_resolvers", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_item_cache", "kind": 3, "sortText": "z_get_item_cache", "insertText": "_get_item_cache", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_label_or_level_values", "kind": 3, "sortText": "z_get_label_or_level_values", "insertText": "_get_label_or_level_values", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_numeric_data", "kind": 3, "sortText": "z_get_numeric_data", "insertText": "_get_numeric_data", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_value", "kind": 3, "sortText": "z_get_value", "insertText": "_get_value", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_values_for_csv", "kind": 3, "sortText": "z_get_values_for_csv", "insertText": "_get_values_for_csv", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_getitem_bool_array", "kind": 3, "sortText": "z_getitem_bool_array", "insertText": "_getitem_bool_array", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_getitem_multilevel", "kind": 3, "sortText": "z_getitem_multilevel", "insertText": "_getitem_multilevel", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_getitem_nocopy", "kind": 3, "sortText": "z_getitem_nocopy", "insertText": "_getitem_nocopy", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_getitem_slice", "kind": 3, "sortText": "z_getitem_slice", "insertText": "_getitem_slice", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_gotitem", "kind": 3, "sortText": "z_gotitem", "insertText": "_gotitem", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_HANDLED_TYPES", "kind": 6, "sortText": "z_HANDLED_TYPES", "insertText": "_HANDLED_TYPES", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_hidden_attrs", "kind": 6, "sortText": "z_hidden_attrs", "insertText": "_hidden_attrs", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_indexed_same", "kind": 3, "sortText": "z_indexed_same", "insertText": "_indexed_same", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_info_axis", "kind": 10, "sortText": "z_info_axis", "insertText": "_info_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_info_axis_name", "kind": 6, "sortText": "z_info_axis_name", "insertText": "_info_axis_name", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_info_axis_number", "kind": 6, "sortText": "z_info_axis_number", "insertText": "_info_axis_number", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_info_repr", "kind": 3, "sortText": "z_info_repr", "insertText": "_info_repr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_init_mgr", "kind": 3, "sortText": "z_init_mgr", "insertText": "_init_mgr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_inplace_method", "kind": 3, "sortText": "z_inplace_method", "insertText": "_inplace_method", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_internal_names", "kind": 6, "sortText": "z_internal_names", "insertText": "_internal_names", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_internal_names_set", "kind": 6, "sortText": "z_internal_names_set", "insertText": "_internal_names_set", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_copy", "kind": 6, "sortText": "z_is_copy", "insertText": "_is_copy", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_homogeneous_type", "kind": 10, "sortText": "z_is_homogeneous_type", "insertText": "_is_homogeneous_type", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_label_or_level_reference", "kind": 3, "sortText": "z_is_label_or_level_reference", "insertText": "_is_label_or_level_reference", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_label_reference", "kind": 3, "sortText": "z_is_label_reference", "insertText": "_is_label_reference", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_level_reference", "kind": 3, "sortText": "z_is_level_reference", "insertText": "_is_level_reference", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_mixed_type", "kind": 10, "sortText": "z_is_mixed_type", "insertText": "_is_mixed_type", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_view", "kind": 10, "sortText": "z_is_view", "insertText": "_is_view", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_view_after_cow_rules", "kind": 3, "sortText": "z_is_view_after_cow_rules", "insertText": "_is_view_after_cow_rules", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_iset_item", "kind": 3, "sortText": "z_iset_item", "insertText": "_iset_item", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_iset_item_mgr", "kind": 3, "sortText": "z_iset_item_mgr", "insertText": "_iset_item_mgr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_iset_not_inplace", "kind": 3, "sortText": "z_iset_not_inplace", "insertText": "_iset_not_inplace", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_item_cache", "kind": 6, "sortText": "z_item_cache", "insertText": "_item_cache", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_iter_column_arrays", "kind": 3, "sortText": "z_iter_column_arrays", "insertText": "_iter_column_arrays", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_ixs", "kind": 3, "sortText": "z_ixs", "insertText": "_ixs", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_logical_func", "kind": 3, "sortText": "z_logical_func", "insertText": "_logical_func", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_logical_method", "kind": 6, "sortText": "z_logical_method", "insertText": "_logical_method", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_maybe_align_series_as_frame", "kind": 3, "sortText": "z_maybe_align_series_as_frame", "insertText": "_maybe_align_series_as_frame", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_maybe_cache_changed", "kind": 3, "sortText": "z_maybe_cache_changed", "insertText": "_maybe_cache_changed", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_maybe_update_cacher", "kind": 3, "sortText": "z_maybe_update_cacher", "insertText": "_maybe_update_cacher", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_metadata", "kind": 6, "sortText": "z_metadata", "insertText": "_metadata", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_mgr", "kind": 6, "sortText": "z_mgr", "insertText": "_mgr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_min_count_stat_function", "kind": 3, "sortText": "z_min_count_stat_function", "insertText": "_min_count_stat_function", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_needs_reindex_multi", "kind": 3, "sortText": "z_needs_reindex_multi", "insertText": "_needs_reindex_multi", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_pad_or_backfill", "kind": 3, "sortText": "z_pad_or_backfill", "insertText": "_pad_or_backfill", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_protect_consolidate", "kind": 3, "sortText": "z_protect_consolidate", "insertText": "_protect_consolidate", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_reduce", "kind": 3, "sortText": "z_reduce", "insertText": "_reduce", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_reduce_axis1", "kind": 3, "sortText": "z_reduce_axis1", "insertText": "_reduce_axis1", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_reindex_axes", "kind": 3, "sortText": "z_reindex_axes", "insertText": "_reindex_axes", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_reindex_multi", "kind": 3, "sortText": "z_reindex_multi", "insertText": "_reindex_multi", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_reindex_with_indexers", "kind": 3, "sortText": "z_reindex_with_indexers", "insertText": "_reindex_with_indexers", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_rename", "kind": 3, "sortText": "z_rename", "insertText": "_rename", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_replace_columnwise", "kind": 3, "sortText": "z_replace_columnwise", "insertText": "_replace_columnwise", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_repr_data_resource_", "kind": 3, "sortText": "z_repr_data_resource_", "insertText": "_repr_data_resource_", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_repr_fits_horizontal_", "kind": 3, "sortText": "z_repr_fits_horizontal_", "insertText": "_repr_fits_horizontal_", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_repr_fits_vertical_", "kind": 3, "sortText": "z_repr_fits_vertical_", "insertText": "_repr_fits_vertical_", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_repr_html_", "kind": 3, "sortText": "z_repr_html_", "insertText": "_repr_html_", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_repr_latex_", "kind": 3, "sortText": "z_repr_latex_", "insertText": "_repr_latex_", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_reset_cache", "kind": 3, "sortText": "z_reset_cache", "insertText": "_reset_cache", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_reset_cacher", "kind": 3, "sortText": "z_reset_cacher", "insertText": "_reset_cacher", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_sanitize_column", "kind": 3, "sortText": "z_sanitize_column", "insertText": "_sanitize_column", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_series", "kind": 10, "sortText": "z_series", "insertText": "_series", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_axis", "kind": 3, "sortText": "z_set_axis", "insertText": "_set_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_axis_name", "kind": 3, "sortText": "z_set_axis_name", "insertText": "_set_axis_name", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_axis_nocheck", "kind": 3, "sortText": "z_set_axis_nocheck", "insertText": "_set_axis_nocheck", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_is_copy", "kind": 3, "sortText": "z_set_is_copy", "insertText": "_set_is_copy", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_item", "kind": 3, "sortText": "z_set_item", "insertText": "_set_item", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_item_frame_value", "kind": 3, "sortText": "z_set_item_frame_value", "insertText": "_set_item_frame_value", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_item_mgr", "kind": 3, "sortText": "z_set_item_mgr", "insertText": "_set_item_mgr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_value", "kind": 3, "sortText": "z_set_value", "insertText": "_set_value", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_setitem_array", "kind": 3, "sortText": "z_setitem_array", "insertText": "_setitem_array", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_setitem_frame", "kind": 3, "sortText": "z_setitem_frame", "insertText": "_setitem_frame", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_setitem_slice", "kind": 3, "sortText": "z_setitem_slice", "insertText": "_setitem_slice", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_shared_docs", "kind": 6, "sortText": "z_shared_docs", "insertText": "_shared_docs", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_shift_with_freq", "kind": 3, "sortText": "z_shift_with_freq", "insertText": "_shift_with_freq", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_should_reindex_frame_op", "kind": 3, "sortText": "z_should_reindex_frame_op", "insertText": "_should_reindex_frame_op", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_slice", "kind": 3, "sortText": "z_slice", "insertText": "_slice", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_stat_function", "kind": 3, "sortText": "z_stat_function", "insertText": "_stat_function", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_stat_function_ddof", "kind": 3, "sortText": "z_stat_function_ddof", "insertText": "_stat_function_ddof", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_take_with_is_copy", "kind": 3, "sortText": "z_take_with_is_copy", "insertText": "_take_with_is_copy", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_to_dict_of_blocks", "kind": 3, "sortText": "z_to_dict_of_blocks", "insertText": "_to_dict_of_blocks", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_to_latex_via_styler", "kind": 3, "sortText": "z_to_latex_via_styler", "insertText": "_to_latex_via_styler", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_typ", "kind": 6, "sortText": "z_typ", "insertText": "_typ", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_update_inplace", "kind": 3, "sortText": "z_update_inplace", "insertText": "_update_inplace", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_validate_dtype", "kind": 3, "sortText": "z_validate_dtype", "insertText": "_validate_dtype", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_values", "kind": 10, "sortText": "z_values", "insertText": "_values", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_where", "kind": 3, "sortText": "z_where", "insertText": "_where", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__abs__", "kind": 3, "sortText": "z__abs__", "insertText": "__abs__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__add__", "kind": 3, "sortText": "z__add__", "insertText": "__add__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__and__", "kind": 3, "sortText": "z__and__", "insertText": "__and__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__annotations__", "kind": 6, "sortText": "z__annotations__", "insertText": "__annotations__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__array__", "kind": 3, "sortText": "z__array__", "insertText": "__array__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__array_priority__", "kind": 6, "sortText": "z__array_priority__", "insertText": "__array_priority__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__array_ufunc__", "kind": 3, "sortText": "z__array_ufunc__", "insertText": "__array_ufunc__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__arrow_c_stream__", "kind": 3, "sortText": "z__arrow_c_stream__", "insertText": "__arrow_c_stream__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__bool__", "kind": 18, "sortText": "z__bool__", "insertText": "__bool__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__class__", "kind": 7, "sortText": "z__class__", "insertText": "__class__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__contains__", "kind": 3, "sortText": "z__contains__", "insertText": "__contains__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__copy__", "kind": 3, "sortText": "z__copy__", "insertText": "__copy__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__dataframe__", "kind": 3, "sortText": "z__dataframe__", "insertText": "__dataframe__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__dataframe_consortium_standard__", "kind": 3, "sortText": "z__dataframe_consortium_standard__", "insertText": "__dataframe_consortium_standard__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__deepcopy__", "kind": 3, "sortText": "z__deepcopy__", "insertText": "__deepcopy__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__delattr__", "kind": 18, "sortText": "z__delattr__", "insertText": "__delattr__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__delitem__", "kind": 3, "sortText": "z__delitem__", "insertText": "__delitem__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__dict__", "kind": 6, "sortText": "z__dict__", "insertText": "__dict__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__dir__", "kind": 3, "sortText": "z__dir__", "insertText": "__dir__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__divmod__", "kind": 3, "sortText": "z__divmod__", "insertText": "__divmod__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__doc__", "kind": 18, "sortText": "z__doc__", "insertText": "__doc__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__eq__", "kind": 18, "sortText": "z__eq__", "insertText": "__eq__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__finalize__", "kind": 3, "sortText": "z__finalize__", "insertText": "__finalize__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__floordiv__", "kind": 3, "sortText": "z__floordiv__", "insertText": "__floordiv__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__format__", "kind": 3, "sortText": "z__format__", "insertText": "__format__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__ge__", "kind": 18, "sortText": "z__ge__", "insertText": "__ge__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__getattr__", "kind": 3, "sortText": "z__getattr__", "insertText": "__getattr__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__getattribute__", "kind": 18, "sortText": "z__getattribute__", "insertText": "__getattribute__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__getitem__", "kind": 3, "sortText": "z__getitem__", "insertText": "__getitem__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__getstate__", "kind": 3, "sortText": "z__getstate__", "insertText": "__getstate__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__gt__", "kind": 18, "sortText": "z__gt__", "insertText": "__gt__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__hash__", "kind": 18, "sortText": "z__hash__", "insertText": "__hash__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__iadd__", "kind": 3, "sortText": "z__iadd__", "insertText": "__iadd__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__iand__", "kind": 3, "sortText": "z__iand__", "insertText": "__iand__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__ifloordiv__", "kind": 3, "sortText": "z__ifloordiv__", "insertText": "__ifloordiv__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__imod__", "kind": 3, "sortText": "z__imod__", "insertText": "__imod__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__imul__", "kind": 3, "sortText": "z__imul__", "insertText": "__imul__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__init__", "kind": 18, "sortText": "z__init__", "insertText": "__init__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__init_subclass__", "kind": 3, "sortText": "z__init_subclass__", "insertText": "__init_subclass__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__invert__", "kind": 3, "sortText": "z__invert__", "insertText": "__invert__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__ior__", "kind": 3, "sortText": "z__ior__", "insertText": "__ior__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__ipow__", "kind": 3, "sortText": "z__ipow__", "insertText": "__ipow__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__isub__", "kind": 3, "sortText": "z__isub__", "insertText": "__isub__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__iter__", "kind": 3, "sortText": "z__iter__", "insertText": "__iter__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__itruediv__", "kind": 3, "sortText": "z__itruediv__", "insertText": "__itruediv__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__ixor__", "kind": 3, "sortText": "z__ixor__", "insertText": "__ixor__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__le__", "kind": 18, "sortText": "z__le__", "insertText": "__le__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__len__", "kind": 3, "sortText": "z__len__", "insertText": "__len__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__lt__", "kind": 18, "sortText": "z__lt__", "insertText": "__lt__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__matmul__", "kind": 3, "sortText": "z__matmul__", "insertText": "__matmul__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__mod__", "kind": 3, "sortText": "z__mod__", "insertText": "__mod__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__module__", "kind": 6, "sortText": "z__module__", "insertText": "__module__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__mul__", "kind": 3, "sortText": "z__mul__", "insertText": "__mul__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__ne__", "kind": 18, "sortText": "z__ne__", "insertText": "__ne__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__neg__", "kind": 3, "sortText": "z__neg__", "insertText": "__neg__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__new__", "kind": 3, "sortText": "z__new__", "insertText": "__new__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__nonzero__", "kind": 3, "sortText": "z__nonzero__", "insertText": "__nonzero__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__or__", "kind": 3, "sortText": "z__or__", "insertText": "__or__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__pandas_priority__", "kind": 6, "sortText": "z__pandas_priority__", "insertText": "__pandas_priority__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__pos__", "kind": 3, "sortText": "z__pos__", "insertText": "__pos__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__pow__", "kind": 3, "sortText": "z__pow__", "insertText": "__pow__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__radd__", "kind": 3, "sortText": "z__radd__", "insertText": "__radd__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rand__", "kind": 3, "sortText": "z__rand__", "insertText": "__rand__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rdivmod__", "kind": 3, "sortText": "z__rdivmod__", "insertText": "__rdivmod__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__reduce__", "kind": 3, "sortText": "z__reduce__", "insertText": "__reduce__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__reduce_ex__", "kind": 3, "sortText": "z__reduce_ex__", "insertText": "__reduce_ex__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__repr__", "kind": 18, "sortText": "z__repr__", "insertText": "__repr__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rfloordiv__", "kind": 3, "sortText": "z__rfloordiv__", "insertText": "__rfloordiv__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rmatmul__", "kind": 3, "sortText": "z__rmatmul__", "insertText": "__rmatmul__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rmod__", "kind": 3, "sortText": "z__rmod__", "insertText": "__rmod__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rmul__", "kind": 3, "sortText": "z__rmul__", "insertText": "__rmul__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__ror__", "kind": 3, "sortText": "z__ror__", "insertText": "__ror__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__round__", "kind": 3, "sortText": "z__round__", "insertText": "__round__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rpow__", "kind": 3, "sortText": "z__rpow__", "insertText": "__rpow__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rsub__", "kind": 3, "sortText": "z__rsub__", "insertText": "__rsub__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rtruediv__", "kind": 3, "sortText": "z__rtruediv__", "insertText": "__rtruediv__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rxor__", "kind": 3, "sortText": "z__rxor__", "insertText": "__rxor__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__setattr__", "kind": 18, "sortText": "z__setattr__", "insertText": "__setattr__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__setitem__", "kind": 3, "sortText": "z__setitem__", "insertText": "__setitem__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__setstate__", "kind": 3, "sortText": "z__setstate__", "insertText": "__setstate__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__sizeof__", "kind": 3, "sortText": "z__sizeof__", "insertText": "__sizeof__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__str__", "kind": 18, "sortText": "z__str__", "insertText": "__str__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__sub__", "kind": 3, "sortText": "z__sub__", "insertText": "__sub__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__subclasshook__", "kind": 3, "sortText": "z__subclasshook__", "insertText": "__subclasshook__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__truediv__", "kind": 3, "sortText": "z__truediv__", "insertText": "__truediv__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__xor__", "kind": 3, "sortText": "z__xor__", "insertText": "__xor__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}]}} {"suite": "pandas", "label": "edit dataframe then complete (edit+completion)", "method": "textDocument/completion", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py", "line": 17, "character": 39, "iteration": 3, "result": {"isIncomplete": false, "items": [{"label": "abs()", "kind": 3, "sortText": "aabs", "insertText": "abs", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "add(other, axis, level, fill_value)", "kind": 3, "sortText": "aadd", "insertText": "add", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "add_prefix(prefix, axis)", "kind": 3, "sortText": "aadd_prefix", "insertText": "add_prefix", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "add_suffix(suffix, axis)", "kind": 3, "sortText": "aadd_suffix", "insertText": "add_suffix", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "agg", "kind": 6, "sortText": "aagg", "insertText": "agg", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "aggregate(func, axis, args, kwargs)", "kind": 3, "sortText": "aaggregate", "insertText": "aggregate", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "align(other, join, axis, level, copy, fill_value, method, limit, fill_axis, broadcast_axis)", "kind": 3, "sortText": "aalign", "insertText": "align", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "all(axis, bool_only, skipna, kwargs)", "kind": 3, "sortText": "aall", "insertText": "all", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "any(axis, bool_only, skipna, kwargs)", "kind": 3, "sortText": "aany", "insertText": "any", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "apply(func, axis, raw, result_type, args, by_row, engine, engine_kwargs, kwargs)", "kind": 3, "sortText": "aapply", "insertText": "apply", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "applymap(func, na_action, kwargs)", "kind": 3, "sortText": "aapplymap", "insertText": "applymap", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "asfreq(freq, method, how, normalize, fill_value)", "kind": 3, "sortText": "aasfreq", "insertText": "asfreq", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "asof(where, subset)", "kind": 3, "sortText": "aasof", "insertText": "asof", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "assign(kwargs)", "kind": 3, "sortText": "aassign", "insertText": "assign", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "astype(dtype, copy, errors)", "kind": 3, "sortText": "aastype", "insertText": "astype", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "at", "kind": 10, "sortText": "aat", "insertText": "at", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "at_time(time, asof, axis)", "kind": 3, "sortText": "aat_time", "insertText": "at_time", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "attrs", "kind": 6, "sortText": "aattrs", "insertText": "attrs", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "axes", "kind": 10, "sortText": "aaxes", "insertText": "axes", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "backfill(axis, inplace, limit, downcast)", "kind": 3, "sortText": "abackfill", "insertText": "backfill", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "between_time(start_time, end_time, inclusive, axis)", "kind": 3, "sortText": "abetween_time", "insertText": "between_time", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "bfill(axis, inplace, limit, limit_area, downcast)", "kind": 3, "sortText": "abfill", "insertText": "bfill", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "bool()", "kind": 3, "sortText": "abool", "insertText": "bool", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "boxplot", "kind": 6, "sortText": "aboxplot", "insertText": "boxplot", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "clip(lower, upper, axis, inplace, kwargs)", "kind": 3, "sortText": "aclip", "insertText": "clip", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "columns", "kind": 6, "sortText": "acolumns", "insertText": "columns", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "combine", "kind": 3, "sortText": "acombine", "insertText": "combine", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "combine_first", "kind": 3, "sortText": "acombine_first", "insertText": "combine_first", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "compare", "kind": 3, "sortText": "acompare", "insertText": "compare", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "convert_dtypes", "kind": 3, "sortText": "aconvert_dtypes", "insertText": "convert_dtypes", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "copy", "kind": 3, "sortText": "acopy", "insertText": "copy", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "corr", "kind": 3, "sortText": "acorr", "insertText": "corr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "corrwith", "kind": 3, "sortText": "acorrwith", "insertText": "corrwith", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "count", "kind": 3, "sortText": "acount", "insertText": "count", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "cov", "kind": 3, "sortText": "acov", "insertText": "cov", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "cummax", "kind": 3, "sortText": "acummax", "insertText": "cummax", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "cummin", "kind": 3, "sortText": "acummin", "insertText": "cummin", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "cumprod", "kind": 3, "sortText": "acumprod", "insertText": "cumprod", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "cumsum", "kind": 3, "sortText": "acumsum", "insertText": "cumsum", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "describe", "kind": 3, "sortText": "adescribe", "insertText": "describe", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "diff", "kind": 3, "sortText": "adiff", "insertText": "diff", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "div", "kind": 6, "sortText": "adiv", "insertText": "div", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "divide", "kind": 6, "sortText": "adivide", "insertText": "divide", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "dot", "kind": 3, "sortText": "adot", "insertText": "dot", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "drop", "kind": 3, "sortText": "adrop", "insertText": "drop", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "drop_duplicates", "kind": 3, "sortText": "adrop_duplicates", "insertText": "drop_duplicates", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "droplevel", "kind": 3, "sortText": "adroplevel", "insertText": "droplevel", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "dropna", "kind": 3, "sortText": "adropna", "insertText": "dropna", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "dtypes", "kind": 10, "sortText": "adtypes", "insertText": "dtypes", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "duplicated", "kind": 3, "sortText": "aduplicated", "insertText": "duplicated", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "empty", "kind": 10, "sortText": "aempty", "insertText": "empty", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "eq", "kind": 3, "sortText": "aeq", "insertText": "eq", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "equals", "kind": 3, "sortText": "aequals", "insertText": "equals", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "eval", "kind": 3, "sortText": "aeval", "insertText": "eval", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "ewm", "kind": 3, "sortText": "aewm", "insertText": "ewm", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "expanding", "kind": 3, "sortText": "aexpanding", "insertText": "expanding", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "explode", "kind": 3, "sortText": "aexplode", "insertText": "explode", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "ffill", "kind": 3, "sortText": "affill", "insertText": "ffill", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "fillna", "kind": 3, "sortText": "afillna", "insertText": "fillna", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "filter", "kind": 3, "sortText": "afilter", "insertText": "filter", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "first", "kind": 3, "sortText": "afirst", "insertText": "first", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "first_valid_index", "kind": 3, "sortText": "afirst_valid_index", "insertText": "first_valid_index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "flags", "kind": 10, "sortText": "aflags", "insertText": "flags", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "floordiv", "kind": 3, "sortText": "afloordiv", "insertText": "floordiv", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "from_dict", "kind": 3, "sortText": "afrom_dict", "insertText": "from_dict", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "from_records", "kind": 3, "sortText": "afrom_records", "insertText": "from_records", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "ge", "kind": 3, "sortText": "age", "insertText": "ge", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "get", "kind": 3, "sortText": "aget", "insertText": "get", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "groupby", "kind": 3, "sortText": "agroupby", "insertText": "groupby", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "gt", "kind": 3, "sortText": "agt", "insertText": "gt", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "head", "kind": 3, "sortText": "ahead", "insertText": "head", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "hist", "kind": 6, "sortText": "ahist", "insertText": "hist", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "iat", "kind": 10, "sortText": "aiat", "insertText": "iat", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "idxmax", "kind": 3, "sortText": "aidxmax", "insertText": "idxmax", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "idxmin", "kind": 3, "sortText": "aidxmin", "insertText": "idxmin", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "iloc", "kind": 10, "sortText": "ailoc", "insertText": "iloc", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "index", "kind": 6, "sortText": "aindex", "insertText": "index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "infer_objects", "kind": 3, "sortText": "ainfer_objects", "insertText": "infer_objects", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "info", "kind": 3, "sortText": "ainfo", "insertText": "info", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "insert", "kind": 3, "sortText": "ainsert", "insertText": "insert", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "interpolate", "kind": 3, "sortText": "ainterpolate", "insertText": "interpolate", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "isetitem", "kind": 3, "sortText": "aisetitem", "insertText": "isetitem", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "isin", "kind": 3, "sortText": "aisin", "insertText": "isin", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "isna", "kind": 3, "sortText": "aisna", "insertText": "isna", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "isnull", "kind": 3, "sortText": "aisnull", "insertText": "isnull", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "items", "kind": 3, "sortText": "aitems", "insertText": "items", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "iterrows", "kind": 3, "sortText": "aiterrows", "insertText": "iterrows", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "itertuples", "kind": 3, "sortText": "aitertuples", "insertText": "itertuples", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "join", "kind": 3, "sortText": "ajoin", "insertText": "join", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "keys", "kind": 3, "sortText": "akeys", "insertText": "keys", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "kurt", "kind": 3, "sortText": "akurt", "insertText": "kurt", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "kurtosis", "kind": 6, "sortText": "akurtosis", "insertText": "kurtosis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "last", "kind": 3, "sortText": "alast", "insertText": "last", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "last_valid_index", "kind": 3, "sortText": "alast_valid_index", "insertText": "last_valid_index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "le", "kind": 3, "sortText": "ale", "insertText": "le", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "loc", "kind": 10, "sortText": "aloc", "insertText": "loc", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "lt", "kind": 3, "sortText": "alt", "insertText": "lt", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "map", "kind": 3, "sortText": "amap", "insertText": "map", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "mask", "kind": 3, "sortText": "amask", "insertText": "mask", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "max", "kind": 3, "sortText": "amax", "insertText": "max", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "mean", "kind": 3, "sortText": "amean", "insertText": "mean", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "median", "kind": 3, "sortText": "amedian", "insertText": "median", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "melt", "kind": 3, "sortText": "amelt", "insertText": "melt", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "memory_usage", "kind": 3, "sortText": "amemory_usage", "insertText": "memory_usage", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "merge", "kind": 3, "sortText": "amerge", "insertText": "merge", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "min", "kind": 3, "sortText": "amin", "insertText": "min", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "mod", "kind": 3, "sortText": "amod", "insertText": "mod", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "mode", "kind": 3, "sortText": "amode", "insertText": "mode", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "mul", "kind": 3, "sortText": "amul", "insertText": "mul", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "multiply", "kind": 6, "sortText": "amultiply", "insertText": "multiply", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "ndim", "kind": 10, "sortText": "andim", "insertText": "ndim", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "ne", "kind": 3, "sortText": "ane", "insertText": "ne", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "nlargest", "kind": 3, "sortText": "anlargest", "insertText": "nlargest", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "notna", "kind": 3, "sortText": "anotna", "insertText": "notna", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "notnull", "kind": 3, "sortText": "anotnull", "insertText": "notnull", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "nsmallest", "kind": 3, "sortText": "ansmallest", "insertText": "nsmallest", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "nunique", "kind": 3, "sortText": "anunique", "insertText": "nunique", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "pad", "kind": 3, "sortText": "apad", "insertText": "pad", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "pct_change", "kind": 3, "sortText": "apct_change", "insertText": "pct_change", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "pipe", "kind": 3, "sortText": "apipe", "insertText": "pipe", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "pivot", "kind": 3, "sortText": "apivot", "insertText": "pivot", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "pivot_table", "kind": 3, "sortText": "apivot_table", "insertText": "pivot_table", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "plot", "kind": 6, "sortText": "aplot", "insertText": "plot", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "pop", "kind": 3, "sortText": "apop", "insertText": "pop", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "pow", "kind": 3, "sortText": "apow", "insertText": "pow", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "prod", "kind": 3, "sortText": "aprod", "insertText": "prod", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "product", "kind": 6, "sortText": "aproduct", "insertText": "product", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "quantile", "kind": 3, "sortText": "aquantile", "insertText": "quantile", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "query", "kind": 3, "sortText": "aquery", "insertText": "query", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "radd", "kind": 3, "sortText": "aradd", "insertText": "radd", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rank", "kind": 3, "sortText": "arank", "insertText": "rank", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rdiv", "kind": 6, "sortText": "ardiv", "insertText": "rdiv", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "reindex", "kind": 3, "sortText": "areindex", "insertText": "reindex", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "reindex_like", "kind": 3, "sortText": "areindex_like", "insertText": "reindex_like", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rename", "kind": 3, "sortText": "arename", "insertText": "rename", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rename_axis", "kind": 3, "sortText": "arename_axis", "insertText": "rename_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "reorder_levels", "kind": 3, "sortText": "areorder_levels", "insertText": "reorder_levels", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "replace", "kind": 3, "sortText": "areplace", "insertText": "replace", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "resample", "kind": 3, "sortText": "aresample", "insertText": "resample", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "reset_index", "kind": 3, "sortText": "areset_index", "insertText": "reset_index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rfloordiv", "kind": 3, "sortText": "arfloordiv", "insertText": "rfloordiv", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rmod", "kind": 3, "sortText": "armod", "insertText": "rmod", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rmul", "kind": 3, "sortText": "armul", "insertText": "rmul", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rolling", "kind": 3, "sortText": "arolling", "insertText": "rolling", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "round", "kind": 3, "sortText": "around", "insertText": "round", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rpow", "kind": 3, "sortText": "arpow", "insertText": "rpow", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rsub", "kind": 3, "sortText": "arsub", "insertText": "rsub", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rtruediv", "kind": 3, "sortText": "artruediv", "insertText": "rtruediv", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "sample", "kind": 3, "sortText": "asample", "insertText": "sample", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "select_dtypes", "kind": 3, "sortText": "aselect_dtypes", "insertText": "select_dtypes", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "sem", "kind": 3, "sortText": "asem", "insertText": "sem", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "set_axis", "kind": 3, "sortText": "aset_axis", "insertText": "set_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "set_flags", "kind": 3, "sortText": "aset_flags", "insertText": "set_flags", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "set_index", "kind": 3, "sortText": "aset_index", "insertText": "set_index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "shape", "kind": 10, "sortText": "ashape", "insertText": "shape", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "shift", "kind": 3, "sortText": "ashift", "insertText": "shift", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "size", "kind": 10, "sortText": "asize", "insertText": "size", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "skew", "kind": 3, "sortText": "askew", "insertText": "skew", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "sort_index", "kind": 3, "sortText": "asort_index", "insertText": "sort_index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "sort_values", "kind": 3, "sortText": "asort_values", "insertText": "sort_values", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "sparse", "kind": 6, "sortText": "asparse", "insertText": "sparse", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "squeeze", "kind": 3, "sortText": "asqueeze", "insertText": "squeeze", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "stack", "kind": 3, "sortText": "astack", "insertText": "stack", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "std", "kind": 3, "sortText": "astd", "insertText": "std", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "style", "kind": 10, "sortText": "astyle", "insertText": "style", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "sub", "kind": 3, "sortText": "asub", "insertText": "sub", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "subtract", "kind": 6, "sortText": "asubtract", "insertText": "subtract", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "sum", "kind": 3, "sortText": "asum", "insertText": "sum", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "swapaxes", "kind": 3, "sortText": "aswapaxes", "insertText": "swapaxes", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "swaplevel", "kind": 3, "sortText": "aswaplevel", "insertText": "swaplevel", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "T", "kind": 10, "sortText": "aT", "insertText": "T", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "tail", "kind": 3, "sortText": "atail", "insertText": "tail", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "take", "kind": 3, "sortText": "atake", "insertText": "take", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_clipboard", "kind": 3, "sortText": "ato_clipboard", "insertText": "to_clipboard", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_csv", "kind": 3, "sortText": "ato_csv", "insertText": "to_csv", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_dict", "kind": 3, "sortText": "ato_dict", "insertText": "to_dict", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_excel", "kind": 3, "sortText": "ato_excel", "insertText": "to_excel", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_feather", "kind": 3, "sortText": "ato_feather", "insertText": "to_feather", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_gbq", "kind": 3, "sortText": "ato_gbq", "insertText": "to_gbq", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_hdf", "kind": 3, "sortText": "ato_hdf", "insertText": "to_hdf", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_html", "kind": 3, "sortText": "ato_html", "insertText": "to_html", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_json", "kind": 3, "sortText": "ato_json", "insertText": "to_json", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_latex", "kind": 3, "sortText": "ato_latex", "insertText": "to_latex", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_markdown", "kind": 3, "sortText": "ato_markdown", "insertText": "to_markdown", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_numpy", "kind": 3, "sortText": "ato_numpy", "insertText": "to_numpy", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_orc", "kind": 3, "sortText": "ato_orc", "insertText": "to_orc", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_parquet", "kind": 3, "sortText": "ato_parquet", "insertText": "to_parquet", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_period", "kind": 3, "sortText": "ato_period", "insertText": "to_period", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_pickle", "kind": 3, "sortText": "ato_pickle", "insertText": "to_pickle", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_records", "kind": 3, "sortText": "ato_records", "insertText": "to_records", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_sql", "kind": 3, "sortText": "ato_sql", "insertText": "to_sql", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_stata", "kind": 3, "sortText": "ato_stata", "insertText": "to_stata", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_string", "kind": 3, "sortText": "ato_string", "insertText": "to_string", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_timestamp", "kind": 3, "sortText": "ato_timestamp", "insertText": "to_timestamp", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_xarray", "kind": 3, "sortText": "ato_xarray", "insertText": "to_xarray", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_xml", "kind": 3, "sortText": "ato_xml", "insertText": "to_xml", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "transform", "kind": 3, "sortText": "atransform", "insertText": "transform", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "transpose", "kind": 3, "sortText": "atranspose", "insertText": "transpose", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "truediv", "kind": 3, "sortText": "atruediv", "insertText": "truediv", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "truncate", "kind": 3, "sortText": "atruncate", "insertText": "truncate", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "tz_convert", "kind": 3, "sortText": "atz_convert", "insertText": "tz_convert", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "tz_localize", "kind": 3, "sortText": "atz_localize", "insertText": "tz_localize", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "unstack", "kind": 3, "sortText": "aunstack", "insertText": "unstack", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "update", "kind": 3, "sortText": "aupdate", "insertText": "update", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "value_counts", "kind": 3, "sortText": "avalue_counts", "insertText": "value_counts", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "values", "kind": 10, "sortText": "avalues", "insertText": "values", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "var", "kind": 3, "sortText": "avar", "insertText": "var", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "where", "kind": 3, "sortText": "awhere", "insertText": "where", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "xs", "kind": 3, "sortText": "axs", "insertText": "xs", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_accessors", "kind": 6, "sortText": "z_accessors", "insertText": "_accessors", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_accum_func", "kind": 3, "sortText": "z_accum_func", "insertText": "_accum_func", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_agg_examples_doc", "kind": 6, "sortText": "z_agg_examples_doc", "insertText": "_agg_examples_doc", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_agg_see_also_doc", "kind": 6, "sortText": "z_agg_see_also_doc", "insertText": "_agg_see_also_doc", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_align_for_op", "kind": 3, "sortText": "z_align_for_op", "insertText": "_align_for_op", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_align_frame", "kind": 3, "sortText": "z_align_frame", "insertText": "_align_frame", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_align_series", "kind": 3, "sortText": "z_align_series", "insertText": "_align_series", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_append", "kind": 3, "sortText": "z_append", "insertText": "_append", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_arith_method", "kind": 3, "sortText": "z_arith_method", "insertText": "_arith_method", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_arith_method_with_reindex", "kind": 3, "sortText": "z_arith_method_with_reindex", "insertText": "_arith_method_with_reindex", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_as_manager", "kind": 3, "sortText": "z_as_manager", "insertText": "_as_manager", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_attrs", "kind": 6, "sortText": "z_attrs", "insertText": "_attrs", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_AXIS_LEN", "kind": 6, "sortText": "z_AXIS_LEN", "insertText": "_AXIS_LEN", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_AXIS_ORDERS", "kind": 6, "sortText": "z_AXIS_ORDERS", "insertText": "_AXIS_ORDERS", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_AXIS_TO_AXIS_NUMBER", "kind": 6, "sortText": "z_AXIS_TO_AXIS_NUMBER", "insertText": "_AXIS_TO_AXIS_NUMBER", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_box_col_values", "kind": 3, "sortText": "z_box_col_values", "insertText": "_box_col_values", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_cache", "kind": 6, "sortText": "z_cache", "insertText": "_cache", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_can_fast_transpose", "kind": 10, "sortText": "z_can_fast_transpose", "insertText": "_can_fast_transpose", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_check_inplace_and_allows_duplicate_labels", "kind": 3, "sortText": "z_check_inplace_and_allows_duplicate_labels", "insertText": "_check_inplace_and_allows_duplicate_labels", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_check_is_chained_assignment_possible", "kind": 3, "sortText": "z_check_is_chained_assignment_possible", "insertText": "_check_is_chained_assignment_possible", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_check_label_or_level_ambiguity", "kind": 3, "sortText": "z_check_label_or_level_ambiguity", "insertText": "_check_label_or_level_ambiguity", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_check_setitem_copy", "kind": 3, "sortText": "z_check_setitem_copy", "insertText": "_check_setitem_copy", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_clear_item_cache", "kind": 3, "sortText": "z_clear_item_cache", "insertText": "_clear_item_cache", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_clip_with_one_bound", "kind": 3, "sortText": "z_clip_with_one_bound", "insertText": "_clip_with_one_bound", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_clip_with_scalar", "kind": 3, "sortText": "z_clip_with_scalar", "insertText": "_clip_with_scalar", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_cmp_method", "kind": 3, "sortText": "z_cmp_method", "insertText": "_cmp_method", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_combine_frame", "kind": 3, "sortText": "z_combine_frame", "insertText": "_combine_frame", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_consolidate", "kind": 3, "sortText": "z_consolidate", "insertText": "_consolidate", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_consolidate_inplace", "kind": 3, "sortText": "z_consolidate_inplace", "insertText": "_consolidate_inplace", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_construct_axes_dict", "kind": 3, "sortText": "z_construct_axes_dict", "insertText": "_construct_axes_dict", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_construct_result", "kind": 3, "sortText": "z_construct_result", "insertText": "_construct_result", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_constructor", "kind": 10, "sortText": "z_constructor", "insertText": "_constructor", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_constructor_from_mgr", "kind": 3, "sortText": "z_constructor_from_mgr", "insertText": "_constructor_from_mgr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_constructor_sliced", "kind": 6, "sortText": "z_constructor_sliced", "insertText": "_constructor_sliced", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_constructor_sliced_from_mgr", "kind": 3, "sortText": "z_constructor_sliced_from_mgr", "insertText": "_constructor_sliced_from_mgr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_create_data_for_split_and_tight_to_dict", "kind": 3, "sortText": "z_create_data_for_split_and_tight_to_dict", "insertText": "_create_data_for_split_and_tight_to_dict", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_data", "kind": 10, "sortText": "z_data", "insertText": "_data", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_deprecate_downcast", "kind": 3, "sortText": "z_deprecate_downcast", "insertText": "_deprecate_downcast", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_dir_additions", "kind": 3, "sortText": "z_dir_additions", "insertText": "_dir_additions", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_dir_deletions", "kind": 3, "sortText": "z_dir_deletions", "insertText": "_dir_deletions", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_dispatch_frame_op", "kind": 3, "sortText": "z_dispatch_frame_op", "insertText": "_dispatch_frame_op", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_drop_axis", "kind": 3, "sortText": "z_drop_axis", "insertText": "_drop_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_drop_labels_or_levels", "kind": 3, "sortText": "z_drop_labels_or_levels", "insertText": "_drop_labels_or_levels", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_ensure_valid_index", "kind": 3, "sortText": "z_ensure_valid_index", "insertText": "_ensure_valid_index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_find_valid_index", "kind": 3, "sortText": "z_find_valid_index", "insertText": "_find_valid_index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_flex_arith_method", "kind": 3, "sortText": "z_flex_arith_method", "insertText": "_flex_arith_method", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_flex_cmp_method", "kind": 3, "sortText": "z_flex_cmp_method", "insertText": "_flex_cmp_method", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_from_arrays", "kind": 3, "sortText": "z_from_arrays", "insertText": "_from_arrays", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_from_mgr", "kind": 3, "sortText": "z_from_mgr", "insertText": "_from_mgr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_agg_axis", "kind": 3, "sortText": "z_get_agg_axis", "insertText": "_get_agg_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_axis", "kind": 3, "sortText": "z_get_axis", "insertText": "_get_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_axis_name", "kind": 3, "sortText": "z_get_axis_name", "insertText": "_get_axis_name", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_axis_number", "kind": 3, "sortText": "z_get_axis_number", "insertText": "_get_axis_number", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_axis_resolvers", "kind": 3, "sortText": "z_get_axis_resolvers", "insertText": "_get_axis_resolvers", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_block_manager_axis", "kind": 3, "sortText": "z_get_block_manager_axis", "insertText": "_get_block_manager_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_bool_data", "kind": 3, "sortText": "z_get_bool_data", "insertText": "_get_bool_data", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_cleaned_column_resolvers", "kind": 3, "sortText": "z_get_cleaned_column_resolvers", "insertText": "_get_cleaned_column_resolvers", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_column_array", "kind": 3, "sortText": "z_get_column_array", "insertText": "_get_column_array", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_index_resolvers", "kind": 3, "sortText": "z_get_index_resolvers", "insertText": "_get_index_resolvers", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_item_cache", "kind": 3, "sortText": "z_get_item_cache", "insertText": "_get_item_cache", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_label_or_level_values", "kind": 3, "sortText": "z_get_label_or_level_values", "insertText": "_get_label_or_level_values", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_numeric_data", "kind": 3, "sortText": "z_get_numeric_data", "insertText": "_get_numeric_data", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_value", "kind": 3, "sortText": "z_get_value", "insertText": "_get_value", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_values_for_csv", "kind": 3, "sortText": "z_get_values_for_csv", "insertText": "_get_values_for_csv", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_getitem_bool_array", "kind": 3, "sortText": "z_getitem_bool_array", "insertText": "_getitem_bool_array", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_getitem_multilevel", "kind": 3, "sortText": "z_getitem_multilevel", "insertText": "_getitem_multilevel", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_getitem_nocopy", "kind": 3, "sortText": "z_getitem_nocopy", "insertText": "_getitem_nocopy", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_getitem_slice", "kind": 3, "sortText": "z_getitem_slice", "insertText": "_getitem_slice", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_gotitem", "kind": 3, "sortText": "z_gotitem", "insertText": "_gotitem", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_HANDLED_TYPES", "kind": 6, "sortText": "z_HANDLED_TYPES", "insertText": "_HANDLED_TYPES", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_hidden_attrs", "kind": 6, "sortText": "z_hidden_attrs", "insertText": "_hidden_attrs", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_indexed_same", "kind": 3, "sortText": "z_indexed_same", "insertText": "_indexed_same", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_info_axis", "kind": 10, "sortText": "z_info_axis", "insertText": "_info_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_info_axis_name", "kind": 6, "sortText": "z_info_axis_name", "insertText": "_info_axis_name", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_info_axis_number", "kind": 6, "sortText": "z_info_axis_number", "insertText": "_info_axis_number", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_info_repr", "kind": 3, "sortText": "z_info_repr", "insertText": "_info_repr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_init_mgr", "kind": 3, "sortText": "z_init_mgr", "insertText": "_init_mgr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_inplace_method", "kind": 3, "sortText": "z_inplace_method", "insertText": "_inplace_method", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_internal_names", "kind": 6, "sortText": "z_internal_names", "insertText": "_internal_names", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_internal_names_set", "kind": 6, "sortText": "z_internal_names_set", "insertText": "_internal_names_set", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_copy", "kind": 6, "sortText": "z_is_copy", "insertText": "_is_copy", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_homogeneous_type", "kind": 10, "sortText": "z_is_homogeneous_type", "insertText": "_is_homogeneous_type", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_label_or_level_reference", "kind": 3, "sortText": "z_is_label_or_level_reference", "insertText": "_is_label_or_level_reference", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_label_reference", "kind": 3, "sortText": "z_is_label_reference", "insertText": "_is_label_reference", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_level_reference", "kind": 3, "sortText": "z_is_level_reference", "insertText": "_is_level_reference", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_mixed_type", "kind": 10, "sortText": "z_is_mixed_type", "insertText": "_is_mixed_type", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_view", "kind": 10, "sortText": "z_is_view", "insertText": "_is_view", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_view_after_cow_rules", "kind": 3, "sortText": "z_is_view_after_cow_rules", "insertText": "_is_view_after_cow_rules", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_iset_item", "kind": 3, "sortText": "z_iset_item", "insertText": "_iset_item", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_iset_item_mgr", "kind": 3, "sortText": "z_iset_item_mgr", "insertText": "_iset_item_mgr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_iset_not_inplace", "kind": 3, "sortText": "z_iset_not_inplace", "insertText": "_iset_not_inplace", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_item_cache", "kind": 6, "sortText": "z_item_cache", "insertText": "_item_cache", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_iter_column_arrays", "kind": 3, "sortText": "z_iter_column_arrays", "insertText": "_iter_column_arrays", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_ixs", "kind": 3, "sortText": "z_ixs", "insertText": "_ixs", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_logical_func", "kind": 3, "sortText": "z_logical_func", "insertText": "_logical_func", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_logical_method", "kind": 6, "sortText": "z_logical_method", "insertText": "_logical_method", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_maybe_align_series_as_frame", "kind": 3, "sortText": "z_maybe_align_series_as_frame", "insertText": "_maybe_align_series_as_frame", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_maybe_cache_changed", "kind": 3, "sortText": "z_maybe_cache_changed", "insertText": "_maybe_cache_changed", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_maybe_update_cacher", "kind": 3, "sortText": "z_maybe_update_cacher", "insertText": "_maybe_update_cacher", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_metadata", "kind": 6, "sortText": "z_metadata", "insertText": "_metadata", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_mgr", "kind": 6, "sortText": "z_mgr", "insertText": "_mgr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_min_count_stat_function", "kind": 3, "sortText": "z_min_count_stat_function", "insertText": "_min_count_stat_function", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_needs_reindex_multi", "kind": 3, "sortText": "z_needs_reindex_multi", "insertText": "_needs_reindex_multi", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_pad_or_backfill", "kind": 3, "sortText": "z_pad_or_backfill", "insertText": "_pad_or_backfill", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_protect_consolidate", "kind": 3, "sortText": "z_protect_consolidate", "insertText": "_protect_consolidate", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_reduce", "kind": 3, "sortText": "z_reduce", "insertText": "_reduce", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_reduce_axis1", "kind": 3, "sortText": "z_reduce_axis1", "insertText": "_reduce_axis1", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_reindex_axes", "kind": 3, "sortText": "z_reindex_axes", "insertText": "_reindex_axes", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_reindex_multi", "kind": 3, "sortText": "z_reindex_multi", "insertText": "_reindex_multi", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_reindex_with_indexers", "kind": 3, "sortText": "z_reindex_with_indexers", "insertText": "_reindex_with_indexers", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_rename", "kind": 3, "sortText": "z_rename", "insertText": "_rename", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_replace_columnwise", "kind": 3, "sortText": "z_replace_columnwise", "insertText": "_replace_columnwise", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_repr_data_resource_", "kind": 3, "sortText": "z_repr_data_resource_", "insertText": "_repr_data_resource_", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_repr_fits_horizontal_", "kind": 3, "sortText": "z_repr_fits_horizontal_", "insertText": "_repr_fits_horizontal_", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_repr_fits_vertical_", "kind": 3, "sortText": "z_repr_fits_vertical_", "insertText": "_repr_fits_vertical_", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_repr_html_", "kind": 3, "sortText": "z_repr_html_", "insertText": "_repr_html_", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_repr_latex_", "kind": 3, "sortText": "z_repr_latex_", "insertText": "_repr_latex_", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_reset_cache", "kind": 3, "sortText": "z_reset_cache", "insertText": "_reset_cache", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_reset_cacher", "kind": 3, "sortText": "z_reset_cacher", "insertText": "_reset_cacher", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_sanitize_column", "kind": 3, "sortText": "z_sanitize_column", "insertText": "_sanitize_column", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_series", "kind": 10, "sortText": "z_series", "insertText": "_series", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_axis", "kind": 3, "sortText": "z_set_axis", "insertText": "_set_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_axis_name", "kind": 3, "sortText": "z_set_axis_name", "insertText": "_set_axis_name", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_axis_nocheck", "kind": 3, "sortText": "z_set_axis_nocheck", "insertText": "_set_axis_nocheck", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_is_copy", "kind": 3, "sortText": "z_set_is_copy", "insertText": "_set_is_copy", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_item", "kind": 3, "sortText": "z_set_item", "insertText": "_set_item", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_item_frame_value", "kind": 3, "sortText": "z_set_item_frame_value", "insertText": "_set_item_frame_value", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_item_mgr", "kind": 3, "sortText": "z_set_item_mgr", "insertText": "_set_item_mgr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_value", "kind": 3, "sortText": "z_set_value", "insertText": "_set_value", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_setitem_array", "kind": 3, "sortText": "z_setitem_array", "insertText": "_setitem_array", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_setitem_frame", "kind": 3, "sortText": "z_setitem_frame", "insertText": "_setitem_frame", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_setitem_slice", "kind": 3, "sortText": "z_setitem_slice", "insertText": "_setitem_slice", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_shared_docs", "kind": 6, "sortText": "z_shared_docs", "insertText": "_shared_docs", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_shift_with_freq", "kind": 3, "sortText": "z_shift_with_freq", "insertText": "_shift_with_freq", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_should_reindex_frame_op", "kind": 3, "sortText": "z_should_reindex_frame_op", "insertText": "_should_reindex_frame_op", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_slice", "kind": 3, "sortText": "z_slice", "insertText": "_slice", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_stat_function", "kind": 3, "sortText": "z_stat_function", "insertText": "_stat_function", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_stat_function_ddof", "kind": 3, "sortText": "z_stat_function_ddof", "insertText": "_stat_function_ddof", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_take_with_is_copy", "kind": 3, "sortText": "z_take_with_is_copy", "insertText": "_take_with_is_copy", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_to_dict_of_blocks", "kind": 3, "sortText": "z_to_dict_of_blocks", "insertText": "_to_dict_of_blocks", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_to_latex_via_styler", "kind": 3, "sortText": "z_to_latex_via_styler", "insertText": "_to_latex_via_styler", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_typ", "kind": 6, "sortText": "z_typ", "insertText": "_typ", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_update_inplace", "kind": 3, "sortText": "z_update_inplace", "insertText": "_update_inplace", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_validate_dtype", "kind": 3, "sortText": "z_validate_dtype", "insertText": "_validate_dtype", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_values", "kind": 10, "sortText": "z_values", "insertText": "_values", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_where", "kind": 3, "sortText": "z_where", "insertText": "_where", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__abs__", "kind": 3, "sortText": "z__abs__", "insertText": "__abs__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__add__", "kind": 3, "sortText": "z__add__", "insertText": "__add__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__and__", "kind": 3, "sortText": "z__and__", "insertText": "__and__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__annotations__", "kind": 6, "sortText": "z__annotations__", "insertText": "__annotations__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__array__", "kind": 3, "sortText": "z__array__", "insertText": "__array__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__array_priority__", "kind": 6, "sortText": "z__array_priority__", "insertText": "__array_priority__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__array_ufunc__", "kind": 3, "sortText": "z__array_ufunc__", "insertText": "__array_ufunc__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__arrow_c_stream__", "kind": 3, "sortText": "z__arrow_c_stream__", "insertText": "__arrow_c_stream__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__bool__", "kind": 6, "sortText": "z__bool__", "insertText": "__bool__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__class__", "kind": 10, "sortText": "z__class__", "insertText": "__class__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__contains__", "kind": 3, "sortText": "z__contains__", "insertText": "__contains__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__copy__", "kind": 3, "sortText": "z__copy__", "insertText": "__copy__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__dataframe__", "kind": 3, "sortText": "z__dataframe__", "insertText": "__dataframe__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__dataframe_consortium_standard__", "kind": 3, "sortText": "z__dataframe_consortium_standard__", "insertText": "__dataframe_consortium_standard__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__deepcopy__", "kind": 3, "sortText": "z__deepcopy__", "insertText": "__deepcopy__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__delattr__", "kind": 3, "sortText": "z__delattr__", "insertText": "__delattr__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__delitem__", "kind": 3, "sortText": "z__delitem__", "insertText": "__delitem__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__dict__", "kind": 6, "sortText": "z__dict__", "insertText": "__dict__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__dir__", "kind": 3, "sortText": "z__dir__", "insertText": "__dir__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__divmod__", "kind": 3, "sortText": "z__divmod__", "insertText": "__divmod__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__doc__", "kind": 6, "sortText": "z__doc__", "insertText": "__doc__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__eq__", "kind": 3, "sortText": "z__eq__", "insertText": "__eq__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__finalize__", "kind": 3, "sortText": "z__finalize__", "insertText": "__finalize__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__floordiv__", "kind": 3, "sortText": "z__floordiv__", "insertText": "__floordiv__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__format__", "kind": 3, "sortText": "z__format__", "insertText": "__format__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__ge__", "kind": 3, "sortText": "z__ge__", "insertText": "__ge__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__getattr__", "kind": 3, "sortText": "z__getattr__", "insertText": "__getattr__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__getattribute__", "kind": 3, "sortText": "z__getattribute__", "insertText": "__getattribute__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__getitem__", "kind": 3, "sortText": "z__getitem__", "insertText": "__getitem__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__getstate__", "kind": 3, "sortText": "z__getstate__", "insertText": "__getstate__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__gt__", "kind": 3, "sortText": "z__gt__", "insertText": "__gt__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__hash__", "kind": 6, "sortText": "z__hash__", "insertText": "__hash__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__iadd__", "kind": 3, "sortText": "z__iadd__", "insertText": "__iadd__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__iand__", "kind": 3, "sortText": "z__iand__", "insertText": "__iand__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__ifloordiv__", "kind": 3, "sortText": "z__ifloordiv__", "insertText": "__ifloordiv__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__imod__", "kind": 3, "sortText": "z__imod__", "insertText": "__imod__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__imul__", "kind": 3, "sortText": "z__imul__", "insertText": "__imul__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__init__", "kind": 3, "sortText": "z__init__", "insertText": "__init__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__init_subclass__", "kind": 3, "sortText": "z__init_subclass__", "insertText": "__init_subclass__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__invert__", "kind": 3, "sortText": "z__invert__", "insertText": "__invert__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__ior__", "kind": 3, "sortText": "z__ior__", "insertText": "__ior__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__ipow__", "kind": 3, "sortText": "z__ipow__", "insertText": "__ipow__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__isub__", "kind": 3, "sortText": "z__isub__", "insertText": "__isub__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__iter__", "kind": 3, "sortText": "z__iter__", "insertText": "__iter__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__itruediv__", "kind": 3, "sortText": "z__itruediv__", "insertText": "__itruediv__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__ixor__", "kind": 3, "sortText": "z__ixor__", "insertText": "__ixor__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__le__", "kind": 3, "sortText": "z__le__", "insertText": "__le__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__len__", "kind": 3, "sortText": "z__len__", "insertText": "__len__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__lt__", "kind": 3, "sortText": "z__lt__", "insertText": "__lt__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__matmul__", "kind": 3, "sortText": "z__matmul__", "insertText": "__matmul__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__mod__", "kind": 3, "sortText": "z__mod__", "insertText": "__mod__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__module__", "kind": 6, "sortText": "z__module__", "insertText": "__module__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__mul__", "kind": 3, "sortText": "z__mul__", "insertText": "__mul__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__ne__", "kind": 3, "sortText": "z__ne__", "insertText": "__ne__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__neg__", "kind": 3, "sortText": "z__neg__", "insertText": "__neg__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__new__", "kind": 3, "sortText": "z__new__", "insertText": "__new__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__nonzero__", "kind": 3, "sortText": "z__nonzero__", "insertText": "__nonzero__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__or__", "kind": 3, "sortText": "z__or__", "insertText": "__or__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__pandas_priority__", "kind": 6, "sortText": "z__pandas_priority__", "insertText": "__pandas_priority__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__pos__", "kind": 3, "sortText": "z__pos__", "insertText": "__pos__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__pow__", "kind": 3, "sortText": "z__pow__", "insertText": "__pow__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__radd__", "kind": 3, "sortText": "z__radd__", "insertText": "__radd__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rand__", "kind": 3, "sortText": "z__rand__", "insertText": "__rand__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rdivmod__", "kind": 3, "sortText": "z__rdivmod__", "insertText": "__rdivmod__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__reduce__", "kind": 3, "sortText": "z__reduce__", "insertText": "__reduce__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__reduce_ex__", "kind": 3, "sortText": "z__reduce_ex__", "insertText": "__reduce_ex__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__repr__", "kind": 3, "sortText": "z__repr__", "insertText": "__repr__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rfloordiv__", "kind": 3, "sortText": "z__rfloordiv__", "insertText": "__rfloordiv__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rmatmul__", "kind": 3, "sortText": "z__rmatmul__", "insertText": "__rmatmul__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rmod__", "kind": 3, "sortText": "z__rmod__", "insertText": "__rmod__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rmul__", "kind": 3, "sortText": "z__rmul__", "insertText": "__rmul__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__ror__", "kind": 3, "sortText": "z__ror__", "insertText": "__ror__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__round__", "kind": 3, "sortText": "z__round__", "insertText": "__round__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rpow__", "kind": 3, "sortText": "z__rpow__", "insertText": "__rpow__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rsub__", "kind": 3, "sortText": "z__rsub__", "insertText": "__rsub__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rtruediv__", "kind": 3, "sortText": "z__rtruediv__", "insertText": "__rtruediv__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rxor__", "kind": 3, "sortText": "z__rxor__", "insertText": "__rxor__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__setattr__", "kind": 3, "sortText": "z__setattr__", "insertText": "__setattr__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__setitem__", "kind": 3, "sortText": "z__setitem__", "insertText": "__setitem__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__setstate__", "kind": 3, "sortText": "z__setstate__", "insertText": "__setstate__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__sizeof__", "kind": 3, "sortText": "z__sizeof__", "insertText": "__sizeof__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__str__", "kind": 3, "sortText": "z__str__", "insertText": "__str__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__sub__", "kind": 3, "sortText": "z__sub__", "insertText": "__sub__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__subclasshook__", "kind": 3, "sortText": "z__subclasshook__", "insertText": "__subclasshook__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__truediv__", "kind": 3, "sortText": "z__truediv__", "insertText": "__truediv__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__xor__", "kind": 3, "sortText": "z__xor__", "insertText": "__xor__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}]}} -{"suite": "pandas", "label": "edit dataframe then complete (edit+completion)", "method": "textDocument/completion", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py", "line": 17, "character": 39, "iteration": 4, "result": {"isIncomplete": false, "items": [{"label": "abs()", "kind": 3, "sortText": "aabs", "insertText": "abs", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "add(other, axis, level, fill_value)", "kind": 3, "sortText": "aadd", "insertText": "add", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "add_prefix(prefix, axis)", "kind": 3, "sortText": "aadd_prefix", "insertText": "add_prefix", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "add_suffix(suffix, axis)", "kind": 3, "sortText": "aadd_suffix", "insertText": "add_suffix", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "agg", "kind": 6, "sortText": "aagg", "insertText": "agg", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "aggregate(func, axis, args, kwargs)", "kind": 3, "sortText": "aaggregate", "insertText": "aggregate", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "align(other, join, axis, level, copy, fill_value, method, limit, fill_axis, broadcast_axis)", "kind": 3, "sortText": "aalign", "insertText": "align", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "all(axis, bool_only, skipna, kwargs)", "kind": 3, "sortText": "aall", "insertText": "all", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "any(axis, bool_only, skipna, kwargs)", "kind": 3, "sortText": "aany", "insertText": "any", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "apply(func, axis, raw, result_type, args, by_row, engine, engine_kwargs, kwargs)", "kind": 3, "sortText": "aapply", "insertText": "apply", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "applymap(func, na_action, kwargs)", "kind": 3, "sortText": "aapplymap", "insertText": "applymap", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "asfreq(freq, method, how, normalize, fill_value)", "kind": 3, "sortText": "aasfreq", "insertText": "asfreq", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "asof(where, subset)", "kind": 3, "sortText": "aasof", "insertText": "asof", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "assign(kwargs)", "kind": 3, "sortText": "aassign", "insertText": "assign", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "astype(dtype, copy, errors)", "kind": 3, "sortText": "aastype", "insertText": "astype", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "at", "kind": 10, "sortText": "aat", "insertText": "at", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "at_time(time, asof, axis)", "kind": 3, "sortText": "aat_time", "insertText": "at_time", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "attrs", "kind": 6, "sortText": "aattrs", "insertText": "attrs", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "axes", "kind": 10, "sortText": "aaxes", "insertText": "axes", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "backfill(axis, inplace, limit, downcast)", "kind": 3, "sortText": "abackfill", "insertText": "backfill", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "between_time(start_time, end_time, inclusive, axis)", "kind": 3, "sortText": "abetween_time", "insertText": "between_time", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "bfill(axis, inplace, limit, limit_area, downcast)", "kind": 3, "sortText": "abfill", "insertText": "bfill", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "bool()", "kind": 3, "sortText": "abool", "insertText": "bool", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "boxplot", "kind": 6, "sortText": "aboxplot", "insertText": "boxplot", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "clip(lower, upper, axis, inplace, kwargs)", "kind": 3, "sortText": "aclip", "insertText": "clip", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "columns", "kind": 6, "sortText": "acolumns", "insertText": "columns", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "combine", "kind": 3, "sortText": "acombine", "insertText": "combine", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "combine_first", "kind": 3, "sortText": "acombine_first", "insertText": "combine_first", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "compare", "kind": 3, "sortText": "acompare", "insertText": "compare", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "convert_dtypes", "kind": 3, "sortText": "aconvert_dtypes", "insertText": "convert_dtypes", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "copy", "kind": 3, "sortText": "acopy", "insertText": "copy", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "corr", "kind": 3, "sortText": "acorr", "insertText": "corr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "corrwith", "kind": 3, "sortText": "acorrwith", "insertText": "corrwith", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "count", "kind": 3, "sortText": "acount", "insertText": "count", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "cov", "kind": 3, "sortText": "acov", "insertText": "cov", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "cummax", "kind": 3, "sortText": "acummax", "insertText": "cummax", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "cummin", "kind": 3, "sortText": "acummin", "insertText": "cummin", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "cumprod", "kind": 3, "sortText": "acumprod", "insertText": "cumprod", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "cumsum", "kind": 3, "sortText": "acumsum", "insertText": "cumsum", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "describe", "kind": 3, "sortText": "adescribe", "insertText": "describe", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "diff", "kind": 3, "sortText": "adiff", "insertText": "diff", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "div", "kind": 6, "sortText": "adiv", "insertText": "div", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "divide", "kind": 6, "sortText": "adivide", "insertText": "divide", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "dot", "kind": 3, "sortText": "adot", "insertText": "dot", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "drop", "kind": 3, "sortText": "adrop", "insertText": "drop", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "drop_duplicates", "kind": 3, "sortText": "adrop_duplicates", "insertText": "drop_duplicates", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "droplevel", "kind": 3, "sortText": "adroplevel", "insertText": "droplevel", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "dropna", "kind": 3, "sortText": "adropna", "insertText": "dropna", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "dtypes", "kind": 10, "sortText": "adtypes", "insertText": "dtypes", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "duplicated", "kind": 3, "sortText": "aduplicated", "insertText": "duplicated", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "empty", "kind": 10, "sortText": "aempty", "insertText": "empty", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "eq", "kind": 3, "sortText": "aeq", "insertText": "eq", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "equals", "kind": 3, "sortText": "aequals", "insertText": "equals", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "eval", "kind": 3, "sortText": "aeval", "insertText": "eval", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "ewm", "kind": 3, "sortText": "aewm", "insertText": "ewm", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "expanding", "kind": 3, "sortText": "aexpanding", "insertText": "expanding", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "explode", "kind": 3, "sortText": "aexplode", "insertText": "explode", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "ffill", "kind": 3, "sortText": "affill", "insertText": "ffill", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "fillna", "kind": 3, "sortText": "afillna", "insertText": "fillna", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "filter", "kind": 3, "sortText": "afilter", "insertText": "filter", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "first", "kind": 3, "sortText": "afirst", "insertText": "first", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "first_valid_index", "kind": 3, "sortText": "afirst_valid_index", "insertText": "first_valid_index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "flags", "kind": 10, "sortText": "aflags", "insertText": "flags", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "floordiv", "kind": 3, "sortText": "afloordiv", "insertText": "floordiv", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "from_dict", "kind": 3, "sortText": "afrom_dict", "insertText": "from_dict", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "from_records", "kind": 3, "sortText": "afrom_records", "insertText": "from_records", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "ge", "kind": 3, "sortText": "age", "insertText": "ge", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "get", "kind": 3, "sortText": "aget", "insertText": "get", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "groupby", "kind": 3, "sortText": "agroupby", "insertText": "groupby", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "gt", "kind": 3, "sortText": "agt", "insertText": "gt", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "head", "kind": 3, "sortText": "ahead", "insertText": "head", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "hist", "kind": 6, "sortText": "ahist", "insertText": "hist", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "iat", "kind": 10, "sortText": "aiat", "insertText": "iat", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "idxmax", "kind": 3, "sortText": "aidxmax", "insertText": "idxmax", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "idxmin", "kind": 3, "sortText": "aidxmin", "insertText": "idxmin", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "iloc", "kind": 10, "sortText": "ailoc", "insertText": "iloc", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "index", "kind": 6, "sortText": "aindex", "insertText": "index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "infer_objects", "kind": 3, "sortText": "ainfer_objects", "insertText": "infer_objects", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "info", "kind": 3, "sortText": "ainfo", "insertText": "info", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "insert", "kind": 3, "sortText": "ainsert", "insertText": "insert", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "interpolate", "kind": 3, "sortText": "ainterpolate", "insertText": "interpolate", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "isetitem", "kind": 3, "sortText": "aisetitem", "insertText": "isetitem", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "isin", "kind": 3, "sortText": "aisin", "insertText": "isin", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "isna", "kind": 3, "sortText": "aisna", "insertText": "isna", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "isnull", "kind": 3, "sortText": "aisnull", "insertText": "isnull", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "items", "kind": 3, "sortText": "aitems", "insertText": "items", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "iterrows", "kind": 3, "sortText": "aiterrows", "insertText": "iterrows", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "itertuples", "kind": 3, "sortText": "aitertuples", "insertText": "itertuples", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "join", "kind": 3, "sortText": "ajoin", "insertText": "join", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "keys", "kind": 3, "sortText": "akeys", "insertText": "keys", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "kurt", "kind": 3, "sortText": "akurt", "insertText": "kurt", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "kurtosis", "kind": 6, "sortText": "akurtosis", "insertText": "kurtosis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "last", "kind": 3, "sortText": "alast", "insertText": "last", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "last_valid_index", "kind": 3, "sortText": "alast_valid_index", "insertText": "last_valid_index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "le", "kind": 3, "sortText": "ale", "insertText": "le", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "loc", "kind": 10, "sortText": "aloc", "insertText": "loc", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "lt", "kind": 3, "sortText": "alt", "insertText": "lt", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "map", "kind": 3, "sortText": "amap", "insertText": "map", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "mask", "kind": 3, "sortText": "amask", "insertText": "mask", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "max", "kind": 3, "sortText": "amax", "insertText": "max", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "mean", "kind": 3, "sortText": "amean", "insertText": "mean", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "median", "kind": 3, "sortText": "amedian", "insertText": "median", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "melt", "kind": 3, "sortText": "amelt", "insertText": "melt", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "memory_usage", "kind": 3, "sortText": "amemory_usage", "insertText": "memory_usage", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "merge", "kind": 3, "sortText": "amerge", "insertText": "merge", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "min", "kind": 3, "sortText": "amin", "insertText": "min", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "mod", "kind": 3, "sortText": "amod", "insertText": "mod", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "mode", "kind": 3, "sortText": "amode", "insertText": "mode", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "mul", "kind": 3, "sortText": "amul", "insertText": "mul", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "multiply", "kind": 6, "sortText": "amultiply", "insertText": "multiply", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "ndim", "kind": 10, "sortText": "andim", "insertText": "ndim", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "ne", "kind": 3, "sortText": "ane", "insertText": "ne", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "nlargest", "kind": 3, "sortText": "anlargest", "insertText": "nlargest", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "notna", "kind": 3, "sortText": "anotna", "insertText": "notna", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "notnull", "kind": 3, "sortText": "anotnull", "insertText": "notnull", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "nsmallest", "kind": 3, "sortText": "ansmallest", "insertText": "nsmallest", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "nunique", "kind": 3, "sortText": "anunique", "insertText": "nunique", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "pad", "kind": 3, "sortText": "apad", "insertText": "pad", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "pct_change", "kind": 3, "sortText": "apct_change", "insertText": "pct_change", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "pipe", "kind": 3, "sortText": "apipe", "insertText": "pipe", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "pivot", "kind": 3, "sortText": "apivot", "insertText": "pivot", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "pivot_table", "kind": 3, "sortText": "apivot_table", "insertText": "pivot_table", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "plot", "kind": 6, "sortText": "aplot", "insertText": "plot", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "pop", "kind": 3, "sortText": "apop", "insertText": "pop", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "pow", "kind": 3, "sortText": "apow", "insertText": "pow", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "prod", "kind": 3, "sortText": "aprod", "insertText": "prod", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "product", "kind": 6, "sortText": "aproduct", "insertText": "product", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "quantile", "kind": 3, "sortText": "aquantile", "insertText": "quantile", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "query", "kind": 3, "sortText": "aquery", "insertText": "query", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "radd", "kind": 3, "sortText": "aradd", "insertText": "radd", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rank", "kind": 3, "sortText": "arank", "insertText": "rank", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rdiv", "kind": 6, "sortText": "ardiv", "insertText": "rdiv", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "reindex", "kind": 3, "sortText": "areindex", "insertText": "reindex", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "reindex_like", "kind": 3, "sortText": "areindex_like", "insertText": "reindex_like", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rename", "kind": 3, "sortText": "arename", "insertText": "rename", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rename_axis", "kind": 3, "sortText": "arename_axis", "insertText": "rename_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "reorder_levels", "kind": 3, "sortText": "areorder_levels", "insertText": "reorder_levels", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "replace", "kind": 3, "sortText": "areplace", "insertText": "replace", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "resample", "kind": 3, "sortText": "aresample", "insertText": "resample", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "reset_index", "kind": 3, "sortText": "areset_index", "insertText": "reset_index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rfloordiv", "kind": 3, "sortText": "arfloordiv", "insertText": "rfloordiv", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rmod", "kind": 3, "sortText": "armod", "insertText": "rmod", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rmul", "kind": 3, "sortText": "armul", "insertText": "rmul", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rolling", "kind": 3, "sortText": "arolling", "insertText": "rolling", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "round", "kind": 3, "sortText": "around", "insertText": "round", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rpow", "kind": 3, "sortText": "arpow", "insertText": "rpow", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rsub", "kind": 3, "sortText": "arsub", "insertText": "rsub", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rtruediv", "kind": 3, "sortText": "artruediv", "insertText": "rtruediv", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "sample", "kind": 3, "sortText": "asample", "insertText": "sample", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "select_dtypes", "kind": 3, "sortText": "aselect_dtypes", "insertText": "select_dtypes", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "sem", "kind": 3, "sortText": "asem", "insertText": "sem", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "set_axis", "kind": 3, "sortText": "aset_axis", "insertText": "set_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "set_flags", "kind": 3, "sortText": "aset_flags", "insertText": "set_flags", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "set_index", "kind": 3, "sortText": "aset_index", "insertText": "set_index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "shape", "kind": 10, "sortText": "ashape", "insertText": "shape", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "shift", "kind": 3, "sortText": "ashift", "insertText": "shift", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "size", "kind": 10, "sortText": "asize", "insertText": "size", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "skew", "kind": 3, "sortText": "askew", "insertText": "skew", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "sort_index", "kind": 3, "sortText": "asort_index", "insertText": "sort_index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "sort_values", "kind": 3, "sortText": "asort_values", "insertText": "sort_values", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "sparse", "kind": 6, "sortText": "asparse", "insertText": "sparse", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "squeeze", "kind": 3, "sortText": "asqueeze", "insertText": "squeeze", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "stack", "kind": 3, "sortText": "astack", "insertText": "stack", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "std", "kind": 3, "sortText": "astd", "insertText": "std", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "style", "kind": 10, "sortText": "astyle", "insertText": "style", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "sub", "kind": 3, "sortText": "asub", "insertText": "sub", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "subtract", "kind": 6, "sortText": "asubtract", "insertText": "subtract", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "sum", "kind": 3, "sortText": "asum", "insertText": "sum", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "swapaxes", "kind": 3, "sortText": "aswapaxes", "insertText": "swapaxes", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "swaplevel", "kind": 3, "sortText": "aswaplevel", "insertText": "swaplevel", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "T", "kind": 10, "sortText": "aT", "insertText": "T", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "tail", "kind": 3, "sortText": "atail", "insertText": "tail", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "take", "kind": 3, "sortText": "atake", "insertText": "take", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_clipboard", "kind": 3, "sortText": "ato_clipboard", "insertText": "to_clipboard", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_csv", "kind": 3, "sortText": "ato_csv", "insertText": "to_csv", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_dict", "kind": 3, "sortText": "ato_dict", "insertText": "to_dict", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_excel", "kind": 3, "sortText": "ato_excel", "insertText": "to_excel", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_feather", "kind": 3, "sortText": "ato_feather", "insertText": "to_feather", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_gbq", "kind": 3, "sortText": "ato_gbq", "insertText": "to_gbq", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_hdf", "kind": 3, "sortText": "ato_hdf", "insertText": "to_hdf", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_html", "kind": 3, "sortText": "ato_html", "insertText": "to_html", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_json", "kind": 3, "sortText": "ato_json", "insertText": "to_json", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_latex", "kind": 3, "sortText": "ato_latex", "insertText": "to_latex", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_markdown", "kind": 3, "sortText": "ato_markdown", "insertText": "to_markdown", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_numpy", "kind": 3, "sortText": "ato_numpy", "insertText": "to_numpy", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_orc", "kind": 3, "sortText": "ato_orc", "insertText": "to_orc", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_parquet", "kind": 3, "sortText": "ato_parquet", "insertText": "to_parquet", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_period", "kind": 3, "sortText": "ato_period", "insertText": "to_period", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_pickle", "kind": 3, "sortText": "ato_pickle", "insertText": "to_pickle", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_records", "kind": 3, "sortText": "ato_records", "insertText": "to_records", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_sql", "kind": 3, "sortText": "ato_sql", "insertText": "to_sql", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_stata", "kind": 3, "sortText": "ato_stata", "insertText": "to_stata", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_string", "kind": 3, "sortText": "ato_string", "insertText": "to_string", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_timestamp", "kind": 3, "sortText": "ato_timestamp", "insertText": "to_timestamp", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_xarray", "kind": 3, "sortText": "ato_xarray", "insertText": "to_xarray", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_xml", "kind": 3, "sortText": "ato_xml", "insertText": "to_xml", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "transform", "kind": 3, "sortText": "atransform", "insertText": "transform", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "transpose", "kind": 3, "sortText": "atranspose", "insertText": "transpose", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "truediv", "kind": 3, "sortText": "atruediv", "insertText": "truediv", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "truncate", "kind": 3, "sortText": "atruncate", "insertText": "truncate", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "tz_convert", "kind": 3, "sortText": "atz_convert", "insertText": "tz_convert", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "tz_localize", "kind": 3, "sortText": "atz_localize", "insertText": "tz_localize", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "unstack", "kind": 3, "sortText": "aunstack", "insertText": "unstack", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "update", "kind": 3, "sortText": "aupdate", "insertText": "update", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "value_counts", "kind": 3, "sortText": "avalue_counts", "insertText": "value_counts", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "values", "kind": 10, "sortText": "avalues", "insertText": "values", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "var", "kind": 3, "sortText": "avar", "insertText": "var", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "where", "kind": 3, "sortText": "awhere", "insertText": "where", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "xs", "kind": 3, "sortText": "axs", "insertText": "xs", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_accessors", "kind": 6, "sortText": "z_accessors", "insertText": "_accessors", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_accum_func", "kind": 3, "sortText": "z_accum_func", "insertText": "_accum_func", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_agg_examples_doc", "kind": 6, "sortText": "z_agg_examples_doc", "insertText": "_agg_examples_doc", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_agg_see_also_doc", "kind": 6, "sortText": "z_agg_see_also_doc", "insertText": "_agg_see_also_doc", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_align_for_op", "kind": 3, "sortText": "z_align_for_op", "insertText": "_align_for_op", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_align_frame", "kind": 3, "sortText": "z_align_frame", "insertText": "_align_frame", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_align_series", "kind": 3, "sortText": "z_align_series", "insertText": "_align_series", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_append", "kind": 3, "sortText": "z_append", "insertText": "_append", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_arith_method", "kind": 3, "sortText": "z_arith_method", "insertText": "_arith_method", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_arith_method_with_reindex", "kind": 3, "sortText": "z_arith_method_with_reindex", "insertText": "_arith_method_with_reindex", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_as_manager", "kind": 3, "sortText": "z_as_manager", "insertText": "_as_manager", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_attrs", "kind": 6, "sortText": "z_attrs", "insertText": "_attrs", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_AXIS_LEN", "kind": 6, "sortText": "z_AXIS_LEN", "insertText": "_AXIS_LEN", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_AXIS_ORDERS", "kind": 6, "sortText": "z_AXIS_ORDERS", "insertText": "_AXIS_ORDERS", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_AXIS_TO_AXIS_NUMBER", "kind": 6, "sortText": "z_AXIS_TO_AXIS_NUMBER", "insertText": "_AXIS_TO_AXIS_NUMBER", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_box_col_values", "kind": 3, "sortText": "z_box_col_values", "insertText": "_box_col_values", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_cache", "kind": 6, "sortText": "z_cache", "insertText": "_cache", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_can_fast_transpose", "kind": 10, "sortText": "z_can_fast_transpose", "insertText": "_can_fast_transpose", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_check_inplace_and_allows_duplicate_labels", "kind": 3, "sortText": "z_check_inplace_and_allows_duplicate_labels", "insertText": "_check_inplace_and_allows_duplicate_labels", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_check_is_chained_assignment_possible", "kind": 3, "sortText": "z_check_is_chained_assignment_possible", "insertText": "_check_is_chained_assignment_possible", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_check_label_or_level_ambiguity", "kind": 3, "sortText": "z_check_label_or_level_ambiguity", "insertText": "_check_label_or_level_ambiguity", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_check_setitem_copy", "kind": 3, "sortText": "z_check_setitem_copy", "insertText": "_check_setitem_copy", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_clear_item_cache", "kind": 3, "sortText": "z_clear_item_cache", "insertText": "_clear_item_cache", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_clip_with_one_bound", "kind": 3, "sortText": "z_clip_with_one_bound", "insertText": "_clip_with_one_bound", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_clip_with_scalar", "kind": 3, "sortText": "z_clip_with_scalar", "insertText": "_clip_with_scalar", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_cmp_method", "kind": 3, "sortText": "z_cmp_method", "insertText": "_cmp_method", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_combine_frame", "kind": 3, "sortText": "z_combine_frame", "insertText": "_combine_frame", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_consolidate", "kind": 3, "sortText": "z_consolidate", "insertText": "_consolidate", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_consolidate_inplace", "kind": 3, "sortText": "z_consolidate_inplace", "insertText": "_consolidate_inplace", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_construct_axes_dict", "kind": 3, "sortText": "z_construct_axes_dict", "insertText": "_construct_axes_dict", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_construct_result", "kind": 3, "sortText": "z_construct_result", "insertText": "_construct_result", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_constructor", "kind": 10, "sortText": "z_constructor", "insertText": "_constructor", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_constructor_from_mgr", "kind": 3, "sortText": "z_constructor_from_mgr", "insertText": "_constructor_from_mgr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_constructor_sliced", "kind": 6, "sortText": "z_constructor_sliced", "insertText": "_constructor_sliced", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_constructor_sliced_from_mgr", "kind": 3, "sortText": "z_constructor_sliced_from_mgr", "insertText": "_constructor_sliced_from_mgr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_create_data_for_split_and_tight_to_dict", "kind": 3, "sortText": "z_create_data_for_split_and_tight_to_dict", "insertText": "_create_data_for_split_and_tight_to_dict", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_data", "kind": 10, "sortText": "z_data", "insertText": "_data", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_deprecate_downcast", "kind": 3, "sortText": "z_deprecate_downcast", "insertText": "_deprecate_downcast", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_dir_additions", "kind": 3, "sortText": "z_dir_additions", "insertText": "_dir_additions", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_dir_deletions", "kind": 3, "sortText": "z_dir_deletions", "insertText": "_dir_deletions", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_dispatch_frame_op", "kind": 3, "sortText": "z_dispatch_frame_op", "insertText": "_dispatch_frame_op", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_drop_axis", "kind": 3, "sortText": "z_drop_axis", "insertText": "_drop_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_drop_labels_or_levels", "kind": 3, "sortText": "z_drop_labels_or_levels", "insertText": "_drop_labels_or_levels", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_ensure_valid_index", "kind": 3, "sortText": "z_ensure_valid_index", "insertText": "_ensure_valid_index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_find_valid_index", "kind": 3, "sortText": "z_find_valid_index", "insertText": "_find_valid_index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_flex_arith_method", "kind": 3, "sortText": "z_flex_arith_method", "insertText": "_flex_arith_method", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_flex_cmp_method", "kind": 3, "sortText": "z_flex_cmp_method", "insertText": "_flex_cmp_method", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_from_arrays", "kind": 3, "sortText": "z_from_arrays", "insertText": "_from_arrays", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_from_mgr", "kind": 3, "sortText": "z_from_mgr", "insertText": "_from_mgr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_agg_axis", "kind": 3, "sortText": "z_get_agg_axis", "insertText": "_get_agg_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_axis", "kind": 3, "sortText": "z_get_axis", "insertText": "_get_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_axis_name", "kind": 3, "sortText": "z_get_axis_name", "insertText": "_get_axis_name", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_axis_number", "kind": 3, "sortText": "z_get_axis_number", "insertText": "_get_axis_number", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_axis_resolvers", "kind": 3, "sortText": "z_get_axis_resolvers", "insertText": "_get_axis_resolvers", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_block_manager_axis", "kind": 3, "sortText": "z_get_block_manager_axis", "insertText": "_get_block_manager_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_bool_data", "kind": 3, "sortText": "z_get_bool_data", "insertText": "_get_bool_data", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_cleaned_column_resolvers", "kind": 3, "sortText": "z_get_cleaned_column_resolvers", "insertText": "_get_cleaned_column_resolvers", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_column_array", "kind": 3, "sortText": "z_get_column_array", "insertText": "_get_column_array", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_index_resolvers", "kind": 3, "sortText": "z_get_index_resolvers", "insertText": "_get_index_resolvers", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_item_cache", "kind": 3, "sortText": "z_get_item_cache", "insertText": "_get_item_cache", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_label_or_level_values", "kind": 3, "sortText": "z_get_label_or_level_values", "insertText": "_get_label_or_level_values", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_numeric_data", "kind": 3, "sortText": "z_get_numeric_data", "insertText": "_get_numeric_data", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_value", "kind": 3, "sortText": "z_get_value", "insertText": "_get_value", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_values_for_csv", "kind": 3, "sortText": "z_get_values_for_csv", "insertText": "_get_values_for_csv", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_getitem_bool_array", "kind": 3, "sortText": "z_getitem_bool_array", "insertText": "_getitem_bool_array", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_getitem_multilevel", "kind": 3, "sortText": "z_getitem_multilevel", "insertText": "_getitem_multilevel", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_getitem_nocopy", "kind": 3, "sortText": "z_getitem_nocopy", "insertText": "_getitem_nocopy", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_getitem_slice", "kind": 3, "sortText": "z_getitem_slice", "insertText": "_getitem_slice", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_gotitem", "kind": 3, "sortText": "z_gotitem", "insertText": "_gotitem", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_HANDLED_TYPES", "kind": 6, "sortText": "z_HANDLED_TYPES", "insertText": "_HANDLED_TYPES", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_hidden_attrs", "kind": 6, "sortText": "z_hidden_attrs", "insertText": "_hidden_attrs", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_indexed_same", "kind": 3, "sortText": "z_indexed_same", "insertText": "_indexed_same", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_info_axis", "kind": 10, "sortText": "z_info_axis", "insertText": "_info_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_info_axis_name", "kind": 6, "sortText": "z_info_axis_name", "insertText": "_info_axis_name", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_info_axis_number", "kind": 6, "sortText": "z_info_axis_number", "insertText": "_info_axis_number", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_info_repr", "kind": 3, "sortText": "z_info_repr", "insertText": "_info_repr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_init_mgr", "kind": 3, "sortText": "z_init_mgr", "insertText": "_init_mgr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_inplace_method", "kind": 3, "sortText": "z_inplace_method", "insertText": "_inplace_method", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_internal_names", "kind": 6, "sortText": "z_internal_names", "insertText": "_internal_names", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_internal_names_set", "kind": 6, "sortText": "z_internal_names_set", "insertText": "_internal_names_set", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_copy", "kind": 6, "sortText": "z_is_copy", "insertText": "_is_copy", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_homogeneous_type", "kind": 10, "sortText": "z_is_homogeneous_type", "insertText": "_is_homogeneous_type", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_label_or_level_reference", "kind": 3, "sortText": "z_is_label_or_level_reference", "insertText": "_is_label_or_level_reference", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_label_reference", "kind": 3, "sortText": "z_is_label_reference", "insertText": "_is_label_reference", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_level_reference", "kind": 3, "sortText": "z_is_level_reference", "insertText": "_is_level_reference", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_mixed_type", "kind": 10, "sortText": "z_is_mixed_type", "insertText": "_is_mixed_type", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_view", "kind": 10, "sortText": "z_is_view", "insertText": "_is_view", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_view_after_cow_rules", "kind": 3, "sortText": "z_is_view_after_cow_rules", "insertText": "_is_view_after_cow_rules", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_iset_item", "kind": 3, "sortText": "z_iset_item", "insertText": "_iset_item", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_iset_item_mgr", "kind": 3, "sortText": "z_iset_item_mgr", "insertText": "_iset_item_mgr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_iset_not_inplace", "kind": 3, "sortText": "z_iset_not_inplace", "insertText": "_iset_not_inplace", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_item_cache", "kind": 6, "sortText": "z_item_cache", "insertText": "_item_cache", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_iter_column_arrays", "kind": 3, "sortText": "z_iter_column_arrays", "insertText": "_iter_column_arrays", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_ixs", "kind": 3, "sortText": "z_ixs", "insertText": "_ixs", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_logical_func", "kind": 3, "sortText": "z_logical_func", "insertText": "_logical_func", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_logical_method", "kind": 6, "sortText": "z_logical_method", "insertText": "_logical_method", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_maybe_align_series_as_frame", "kind": 3, "sortText": "z_maybe_align_series_as_frame", "insertText": "_maybe_align_series_as_frame", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_maybe_cache_changed", "kind": 3, "sortText": "z_maybe_cache_changed", "insertText": "_maybe_cache_changed", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_maybe_update_cacher", "kind": 3, "sortText": "z_maybe_update_cacher", "insertText": "_maybe_update_cacher", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_metadata", "kind": 6, "sortText": "z_metadata", "insertText": "_metadata", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_mgr", "kind": 6, "sortText": "z_mgr", "insertText": "_mgr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_min_count_stat_function", "kind": 3, "sortText": "z_min_count_stat_function", "insertText": "_min_count_stat_function", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_needs_reindex_multi", "kind": 3, "sortText": "z_needs_reindex_multi", "insertText": "_needs_reindex_multi", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_pad_or_backfill", "kind": 3, "sortText": "z_pad_or_backfill", "insertText": "_pad_or_backfill", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_protect_consolidate", "kind": 3, "sortText": "z_protect_consolidate", "insertText": "_protect_consolidate", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_reduce", "kind": 3, "sortText": "z_reduce", "insertText": "_reduce", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_reduce_axis1", "kind": 3, "sortText": "z_reduce_axis1", "insertText": "_reduce_axis1", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_reindex_axes", "kind": 3, "sortText": "z_reindex_axes", "insertText": "_reindex_axes", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_reindex_multi", "kind": 3, "sortText": "z_reindex_multi", "insertText": "_reindex_multi", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_reindex_with_indexers", "kind": 3, "sortText": "z_reindex_with_indexers", "insertText": "_reindex_with_indexers", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_rename", "kind": 3, "sortText": "z_rename", "insertText": "_rename", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_replace_columnwise", "kind": 3, "sortText": "z_replace_columnwise", "insertText": "_replace_columnwise", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_repr_data_resource_", "kind": 3, "sortText": "z_repr_data_resource_", "insertText": "_repr_data_resource_", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_repr_fits_horizontal_", "kind": 3, "sortText": "z_repr_fits_horizontal_", "insertText": "_repr_fits_horizontal_", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_repr_fits_vertical_", "kind": 3, "sortText": "z_repr_fits_vertical_", "insertText": "_repr_fits_vertical_", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_repr_html_", "kind": 3, "sortText": "z_repr_html_", "insertText": "_repr_html_", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_repr_latex_", "kind": 3, "sortText": "z_repr_latex_", "insertText": "_repr_latex_", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_reset_cache", "kind": 3, "sortText": "z_reset_cache", "insertText": "_reset_cache", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_reset_cacher", "kind": 3, "sortText": "z_reset_cacher", "insertText": "_reset_cacher", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_sanitize_column", "kind": 3, "sortText": "z_sanitize_column", "insertText": "_sanitize_column", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_series", "kind": 10, "sortText": "z_series", "insertText": "_series", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_axis", "kind": 3, "sortText": "z_set_axis", "insertText": "_set_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_axis_name", "kind": 3, "sortText": "z_set_axis_name", "insertText": "_set_axis_name", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_axis_nocheck", "kind": 3, "sortText": "z_set_axis_nocheck", "insertText": "_set_axis_nocheck", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_is_copy", "kind": 3, "sortText": "z_set_is_copy", "insertText": "_set_is_copy", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_item", "kind": 3, "sortText": "z_set_item", "insertText": "_set_item", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_item_frame_value", "kind": 3, "sortText": "z_set_item_frame_value", "insertText": "_set_item_frame_value", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_item_mgr", "kind": 3, "sortText": "z_set_item_mgr", "insertText": "_set_item_mgr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_value", "kind": 3, "sortText": "z_set_value", "insertText": "_set_value", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_setitem_array", "kind": 3, "sortText": "z_setitem_array", "insertText": "_setitem_array", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_setitem_frame", "kind": 3, "sortText": "z_setitem_frame", "insertText": "_setitem_frame", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_setitem_slice", "kind": 3, "sortText": "z_setitem_slice", "insertText": "_setitem_slice", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_shared_docs", "kind": 6, "sortText": "z_shared_docs", "insertText": "_shared_docs", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_shift_with_freq", "kind": 3, "sortText": "z_shift_with_freq", "insertText": "_shift_with_freq", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_should_reindex_frame_op", "kind": 3, "sortText": "z_should_reindex_frame_op", "insertText": "_should_reindex_frame_op", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_slice", "kind": 3, "sortText": "z_slice", "insertText": "_slice", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_stat_function", "kind": 3, "sortText": "z_stat_function", "insertText": "_stat_function", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_stat_function_ddof", "kind": 3, "sortText": "z_stat_function_ddof", "insertText": "_stat_function_ddof", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_take_with_is_copy", "kind": 3, "sortText": "z_take_with_is_copy", "insertText": "_take_with_is_copy", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_to_dict_of_blocks", "kind": 3, "sortText": "z_to_dict_of_blocks", "insertText": "_to_dict_of_blocks", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_to_latex_via_styler", "kind": 3, "sortText": "z_to_latex_via_styler", "insertText": "_to_latex_via_styler", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_typ", "kind": 6, "sortText": "z_typ", "insertText": "_typ", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_update_inplace", "kind": 3, "sortText": "z_update_inplace", "insertText": "_update_inplace", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_validate_dtype", "kind": 3, "sortText": "z_validate_dtype", "insertText": "_validate_dtype", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_values", "kind": 10, "sortText": "z_values", "insertText": "_values", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_where", "kind": 3, "sortText": "z_where", "insertText": "_where", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__abs__", "kind": 3, "sortText": "z__abs__", "insertText": "__abs__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__add__", "kind": 3, "sortText": "z__add__", "insertText": "__add__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__and__", "kind": 3, "sortText": "z__and__", "insertText": "__and__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__annotations__", "kind": 6, "sortText": "z__annotations__", "insertText": "__annotations__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__array__", "kind": 3, "sortText": "z__array__", "insertText": "__array__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__array_priority__", "kind": 6, "sortText": "z__array_priority__", "insertText": "__array_priority__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__array_ufunc__", "kind": 3, "sortText": "z__array_ufunc__", "insertText": "__array_ufunc__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__arrow_c_stream__", "kind": 3, "sortText": "z__arrow_c_stream__", "insertText": "__arrow_c_stream__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__bool__", "kind": 18, "sortText": "z__bool__", "insertText": "__bool__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__class__", "kind": 7, "sortText": "z__class__", "insertText": "__class__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__contains__", "kind": 3, "sortText": "z__contains__", "insertText": "__contains__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__copy__", "kind": 3, "sortText": "z__copy__", "insertText": "__copy__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__dataframe__", "kind": 3, "sortText": "z__dataframe__", "insertText": "__dataframe__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__dataframe_consortium_standard__", "kind": 3, "sortText": "z__dataframe_consortium_standard__", "insertText": "__dataframe_consortium_standard__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__deepcopy__", "kind": 3, "sortText": "z__deepcopy__", "insertText": "__deepcopy__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__delattr__", "kind": 18, "sortText": "z__delattr__", "insertText": "__delattr__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__delitem__", "kind": 3, "sortText": "z__delitem__", "insertText": "__delitem__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__dict__", "kind": 6, "sortText": "z__dict__", "insertText": "__dict__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__dir__", "kind": 3, "sortText": "z__dir__", "insertText": "__dir__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__divmod__", "kind": 3, "sortText": "z__divmod__", "insertText": "__divmod__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__doc__", "kind": 18, "sortText": "z__doc__", "insertText": "__doc__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__eq__", "kind": 18, "sortText": "z__eq__", "insertText": "__eq__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__finalize__", "kind": 3, "sortText": "z__finalize__", "insertText": "__finalize__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__floordiv__", "kind": 3, "sortText": "z__floordiv__", "insertText": "__floordiv__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__format__", "kind": 3, "sortText": "z__format__", "insertText": "__format__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__ge__", "kind": 18, "sortText": "z__ge__", "insertText": "__ge__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__getattr__", "kind": 3, "sortText": "z__getattr__", "insertText": "__getattr__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__getattribute__", "kind": 18, "sortText": "z__getattribute__", "insertText": "__getattribute__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__getitem__", "kind": 3, "sortText": "z__getitem__", "insertText": "__getitem__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__getstate__", "kind": 3, "sortText": "z__getstate__", "insertText": "__getstate__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__gt__", "kind": 18, "sortText": "z__gt__", "insertText": "__gt__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__hash__", "kind": 18, "sortText": "z__hash__", "insertText": "__hash__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__iadd__", "kind": 3, "sortText": "z__iadd__", "insertText": "__iadd__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__iand__", "kind": 3, "sortText": "z__iand__", "insertText": "__iand__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__ifloordiv__", "kind": 3, "sortText": "z__ifloordiv__", "insertText": "__ifloordiv__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__imod__", "kind": 3, "sortText": "z__imod__", "insertText": "__imod__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__imul__", "kind": 3, "sortText": "z__imul__", "insertText": "__imul__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__init__", "kind": 18, "sortText": "z__init__", "insertText": "__init__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__init_subclass__", "kind": 3, "sortText": "z__init_subclass__", "insertText": "__init_subclass__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__invert__", "kind": 3, "sortText": "z__invert__", "insertText": "__invert__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__ior__", "kind": 3, "sortText": "z__ior__", "insertText": "__ior__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__ipow__", "kind": 3, "sortText": "z__ipow__", "insertText": "__ipow__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__isub__", "kind": 3, "sortText": "z__isub__", "insertText": "__isub__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__iter__", "kind": 3, "sortText": "z__iter__", "insertText": "__iter__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__itruediv__", "kind": 3, "sortText": "z__itruediv__", "insertText": "__itruediv__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__ixor__", "kind": 3, "sortText": "z__ixor__", "insertText": "__ixor__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__le__", "kind": 18, "sortText": "z__le__", "insertText": "__le__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__len__", "kind": 3, "sortText": "z__len__", "insertText": "__len__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__lt__", "kind": 18, "sortText": "z__lt__", "insertText": "__lt__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__matmul__", "kind": 3, "sortText": "z__matmul__", "insertText": "__matmul__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__mod__", "kind": 3, "sortText": "z__mod__", "insertText": "__mod__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__module__", "kind": 6, "sortText": "z__module__", "insertText": "__module__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__mul__", "kind": 3, "sortText": "z__mul__", "insertText": "__mul__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__ne__", "kind": 18, "sortText": "z__ne__", "insertText": "__ne__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__neg__", "kind": 3, "sortText": "z__neg__", "insertText": "__neg__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__new__", "kind": 3, "sortText": "z__new__", "insertText": "__new__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__nonzero__", "kind": 3, "sortText": "z__nonzero__", "insertText": "__nonzero__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__or__", "kind": 3, "sortText": "z__or__", "insertText": "__or__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__pandas_priority__", "kind": 6, "sortText": "z__pandas_priority__", "insertText": "__pandas_priority__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__pos__", "kind": 3, "sortText": "z__pos__", "insertText": "__pos__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__pow__", "kind": 3, "sortText": "z__pow__", "insertText": "__pow__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__radd__", "kind": 3, "sortText": "z__radd__", "insertText": "__radd__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rand__", "kind": 3, "sortText": "z__rand__", "insertText": "__rand__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rdivmod__", "kind": 3, "sortText": "z__rdivmod__", "insertText": "__rdivmod__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__reduce__", "kind": 3, "sortText": "z__reduce__", "insertText": "__reduce__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__reduce_ex__", "kind": 3, "sortText": "z__reduce_ex__", "insertText": "__reduce_ex__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__repr__", "kind": 18, "sortText": "z__repr__", "insertText": "__repr__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rfloordiv__", "kind": 3, "sortText": "z__rfloordiv__", "insertText": "__rfloordiv__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rmatmul__", "kind": 3, "sortText": "z__rmatmul__", "insertText": "__rmatmul__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rmod__", "kind": 3, "sortText": "z__rmod__", "insertText": "__rmod__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rmul__", "kind": 3, "sortText": "z__rmul__", "insertText": "__rmul__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__ror__", "kind": 3, "sortText": "z__ror__", "insertText": "__ror__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__round__", "kind": 3, "sortText": "z__round__", "insertText": "__round__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rpow__", "kind": 3, "sortText": "z__rpow__", "insertText": "__rpow__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rsub__", "kind": 3, "sortText": "z__rsub__", "insertText": "__rsub__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rtruediv__", "kind": 3, "sortText": "z__rtruediv__", "insertText": "__rtruediv__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rxor__", "kind": 3, "sortText": "z__rxor__", "insertText": "__rxor__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__setattr__", "kind": 18, "sortText": "z__setattr__", "insertText": "__setattr__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__setitem__", "kind": 3, "sortText": "z__setitem__", "insertText": "__setitem__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__setstate__", "kind": 3, "sortText": "z__setstate__", "insertText": "__setstate__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__sizeof__", "kind": 3, "sortText": "z__sizeof__", "insertText": "__sizeof__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__str__", "kind": 18, "sortText": "z__str__", "insertText": "__str__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__sub__", "kind": 3, "sortText": "z__sub__", "insertText": "__sub__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__subclasshook__", "kind": 3, "sortText": "z__subclasshook__", "insertText": "__subclasshook__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__truediv__", "kind": 3, "sortText": "z__truediv__", "insertText": "__truediv__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__xor__", "kind": 3, "sortText": "z__xor__", "insertText": "__xor__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}]}} +{"suite": "pandas", "label": "edit dataframe then complete (edit+completion)", "method": "textDocument/completion", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py", "line": 17, "character": 39, "iteration": 4, "result": {"isIncomplete": false, "items": [{"label": "abs()", "kind": 3, "sortText": "aabs", "insertText": "abs", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "add(other, axis, level, fill_value)", "kind": 3, "sortText": "aadd", "insertText": "add", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "add_prefix(prefix, axis)", "kind": 3, "sortText": "aadd_prefix", "insertText": "add_prefix", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "add_suffix(suffix, axis)", "kind": 3, "sortText": "aadd_suffix", "insertText": "add_suffix", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "agg", "kind": 6, "sortText": "aagg", "insertText": "agg", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "aggregate(func, axis, args, kwargs)", "kind": 3, "sortText": "aaggregate", "insertText": "aggregate", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "align(other, join, axis, level, copy, fill_value, method, limit, fill_axis, broadcast_axis)", "kind": 3, "sortText": "aalign", "insertText": "align", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "all(axis, bool_only, skipna, kwargs)", "kind": 3, "sortText": "aall", "insertText": "all", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "any(axis, bool_only, skipna, kwargs)", "kind": 3, "sortText": "aany", "insertText": "any", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "apply(func, axis, raw, result_type, args, by_row, engine, engine_kwargs, kwargs)", "kind": 3, "sortText": "aapply", "insertText": "apply", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "applymap(func, na_action, kwargs)", "kind": 3, "sortText": "aapplymap", "insertText": "applymap", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "asfreq(freq, method, how, normalize, fill_value)", "kind": 3, "sortText": "aasfreq", "insertText": "asfreq", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "asof(where, subset)", "kind": 3, "sortText": "aasof", "insertText": "asof", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "assign(kwargs)", "kind": 3, "sortText": "aassign", "insertText": "assign", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "astype(dtype, copy, errors)", "kind": 3, "sortText": "aastype", "insertText": "astype", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "at", "kind": 10, "sortText": "aat", "insertText": "at", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "at_time(time, asof, axis)", "kind": 3, "sortText": "aat_time", "insertText": "at_time", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "attrs", "kind": 6, "sortText": "aattrs", "insertText": "attrs", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "axes", "kind": 10, "sortText": "aaxes", "insertText": "axes", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "backfill(axis, inplace, limit, downcast)", "kind": 3, "sortText": "abackfill", "insertText": "backfill", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "between_time(start_time, end_time, inclusive, axis)", "kind": 3, "sortText": "abetween_time", "insertText": "between_time", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "bfill(axis, inplace, limit, limit_area, downcast)", "kind": 3, "sortText": "abfill", "insertText": "bfill", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "bool()", "kind": 3, "sortText": "abool", "insertText": "bool", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "boxplot", "kind": 6, "sortText": "aboxplot", "insertText": "boxplot", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "clip(lower, upper, axis, inplace, kwargs)", "kind": 3, "sortText": "aclip", "insertText": "clip", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "columns", "kind": 6, "sortText": "acolumns", "insertText": "columns", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "combine", "kind": 3, "sortText": "acombine", "insertText": "combine", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "combine_first", "kind": 3, "sortText": "acombine_first", "insertText": "combine_first", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "compare", "kind": 3, "sortText": "acompare", "insertText": "compare", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "convert_dtypes", "kind": 3, "sortText": "aconvert_dtypes", "insertText": "convert_dtypes", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "copy", "kind": 3, "sortText": "acopy", "insertText": "copy", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "corr", "kind": 3, "sortText": "acorr", "insertText": "corr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "corrwith", "kind": 3, "sortText": "acorrwith", "insertText": "corrwith", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "count", "kind": 3, "sortText": "acount", "insertText": "count", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "cov", "kind": 3, "sortText": "acov", "insertText": "cov", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "cummax", "kind": 3, "sortText": "acummax", "insertText": "cummax", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "cummin", "kind": 3, "sortText": "acummin", "insertText": "cummin", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "cumprod", "kind": 3, "sortText": "acumprod", "insertText": "cumprod", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "cumsum", "kind": 3, "sortText": "acumsum", "insertText": "cumsum", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "describe", "kind": 3, "sortText": "adescribe", "insertText": "describe", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "diff", "kind": 3, "sortText": "adiff", "insertText": "diff", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "div", "kind": 6, "sortText": "adiv", "insertText": "div", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "divide", "kind": 6, "sortText": "adivide", "insertText": "divide", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "dot", "kind": 3, "sortText": "adot", "insertText": "dot", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "drop", "kind": 3, "sortText": "adrop", "insertText": "drop", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "drop_duplicates", "kind": 3, "sortText": "adrop_duplicates", "insertText": "drop_duplicates", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "droplevel", "kind": 3, "sortText": "adroplevel", "insertText": "droplevel", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "dropna", "kind": 3, "sortText": "adropna", "insertText": "dropna", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "dtypes", "kind": 10, "sortText": "adtypes", "insertText": "dtypes", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "duplicated", "kind": 3, "sortText": "aduplicated", "insertText": "duplicated", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "empty", "kind": 10, "sortText": "aempty", "insertText": "empty", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "eq", "kind": 3, "sortText": "aeq", "insertText": "eq", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "equals", "kind": 3, "sortText": "aequals", "insertText": "equals", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "eval", "kind": 3, "sortText": "aeval", "insertText": "eval", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "ewm", "kind": 3, "sortText": "aewm", "insertText": "ewm", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "expanding", "kind": 3, "sortText": "aexpanding", "insertText": "expanding", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "explode", "kind": 3, "sortText": "aexplode", "insertText": "explode", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "ffill", "kind": 3, "sortText": "affill", "insertText": "ffill", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "fillna", "kind": 3, "sortText": "afillna", "insertText": "fillna", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "filter", "kind": 3, "sortText": "afilter", "insertText": "filter", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "first", "kind": 3, "sortText": "afirst", "insertText": "first", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "first_valid_index", "kind": 3, "sortText": "afirst_valid_index", "insertText": "first_valid_index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "flags", "kind": 10, "sortText": "aflags", "insertText": "flags", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "floordiv", "kind": 3, "sortText": "afloordiv", "insertText": "floordiv", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "from_dict", "kind": 3, "sortText": "afrom_dict", "insertText": "from_dict", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "from_records", "kind": 3, "sortText": "afrom_records", "insertText": "from_records", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "ge", "kind": 3, "sortText": "age", "insertText": "ge", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "get", "kind": 3, "sortText": "aget", "insertText": "get", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "groupby", "kind": 3, "sortText": "agroupby", "insertText": "groupby", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "gt", "kind": 3, "sortText": "agt", "insertText": "gt", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "head", "kind": 3, "sortText": "ahead", "insertText": "head", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "hist", "kind": 6, "sortText": "ahist", "insertText": "hist", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "iat", "kind": 10, "sortText": "aiat", "insertText": "iat", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "idxmax", "kind": 3, "sortText": "aidxmax", "insertText": "idxmax", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "idxmin", "kind": 3, "sortText": "aidxmin", "insertText": "idxmin", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "iloc", "kind": 10, "sortText": "ailoc", "insertText": "iloc", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "index", "kind": 6, "sortText": "aindex", "insertText": "index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "infer_objects", "kind": 3, "sortText": "ainfer_objects", "insertText": "infer_objects", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "info", "kind": 3, "sortText": "ainfo", "insertText": "info", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "insert", "kind": 3, "sortText": "ainsert", "insertText": "insert", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "interpolate", "kind": 3, "sortText": "ainterpolate", "insertText": "interpolate", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "isetitem", "kind": 3, "sortText": "aisetitem", "insertText": "isetitem", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "isin", "kind": 3, "sortText": "aisin", "insertText": "isin", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "isna", "kind": 3, "sortText": "aisna", "insertText": "isna", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "isnull", "kind": 3, "sortText": "aisnull", "insertText": "isnull", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "items", "kind": 3, "sortText": "aitems", "insertText": "items", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "iterrows", "kind": 3, "sortText": "aiterrows", "insertText": "iterrows", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "itertuples", "kind": 3, "sortText": "aitertuples", "insertText": "itertuples", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "join", "kind": 3, "sortText": "ajoin", "insertText": "join", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "keys", "kind": 3, "sortText": "akeys", "insertText": "keys", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "kurt", "kind": 3, "sortText": "akurt", "insertText": "kurt", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "kurtosis", "kind": 6, "sortText": "akurtosis", "insertText": "kurtosis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "last", "kind": 3, "sortText": "alast", "insertText": "last", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "last_valid_index", "kind": 3, "sortText": "alast_valid_index", "insertText": "last_valid_index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "le", "kind": 3, "sortText": "ale", "insertText": "le", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "loc", "kind": 10, "sortText": "aloc", "insertText": "loc", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "lt", "kind": 3, "sortText": "alt", "insertText": "lt", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "map", "kind": 3, "sortText": "amap", "insertText": "map", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "mask", "kind": 3, "sortText": "amask", "insertText": "mask", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "max", "kind": 3, "sortText": "amax", "insertText": "max", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "mean", "kind": 3, "sortText": "amean", "insertText": "mean", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "median", "kind": 3, "sortText": "amedian", "insertText": "median", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "melt", "kind": 3, "sortText": "amelt", "insertText": "melt", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "memory_usage", "kind": 3, "sortText": "amemory_usage", "insertText": "memory_usage", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "merge", "kind": 3, "sortText": "amerge", "insertText": "merge", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "min", "kind": 3, "sortText": "amin", "insertText": "min", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "mod", "kind": 3, "sortText": "amod", "insertText": "mod", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "mode", "kind": 3, "sortText": "amode", "insertText": "mode", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "mul", "kind": 3, "sortText": "amul", "insertText": "mul", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "multiply", "kind": 6, "sortText": "amultiply", "insertText": "multiply", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "ndim", "kind": 10, "sortText": "andim", "insertText": "ndim", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "ne", "kind": 3, "sortText": "ane", "insertText": "ne", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "nlargest", "kind": 3, "sortText": "anlargest", "insertText": "nlargest", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "notna", "kind": 3, "sortText": "anotna", "insertText": "notna", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "notnull", "kind": 3, "sortText": "anotnull", "insertText": "notnull", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "nsmallest", "kind": 3, "sortText": "ansmallest", "insertText": "nsmallest", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "nunique", "kind": 3, "sortText": "anunique", "insertText": "nunique", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "pad", "kind": 3, "sortText": "apad", "insertText": "pad", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "pct_change", "kind": 3, "sortText": "apct_change", "insertText": "pct_change", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "pipe", "kind": 3, "sortText": "apipe", "insertText": "pipe", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "pivot", "kind": 3, "sortText": "apivot", "insertText": "pivot", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "pivot_table", "kind": 3, "sortText": "apivot_table", "insertText": "pivot_table", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "plot", "kind": 6, "sortText": "aplot", "insertText": "plot", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "pop", "kind": 3, "sortText": "apop", "insertText": "pop", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "pow", "kind": 3, "sortText": "apow", "insertText": "pow", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "prod", "kind": 3, "sortText": "aprod", "insertText": "prod", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "product", "kind": 6, "sortText": "aproduct", "insertText": "product", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "quantile", "kind": 3, "sortText": "aquantile", "insertText": "quantile", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "query", "kind": 3, "sortText": "aquery", "insertText": "query", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "radd", "kind": 3, "sortText": "aradd", "insertText": "radd", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rank", "kind": 3, "sortText": "arank", "insertText": "rank", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rdiv", "kind": 6, "sortText": "ardiv", "insertText": "rdiv", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "reindex", "kind": 3, "sortText": "areindex", "insertText": "reindex", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "reindex_like", "kind": 3, "sortText": "areindex_like", "insertText": "reindex_like", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rename", "kind": 3, "sortText": "arename", "insertText": "rename", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rename_axis", "kind": 3, "sortText": "arename_axis", "insertText": "rename_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "reorder_levels", "kind": 3, "sortText": "areorder_levels", "insertText": "reorder_levels", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "replace", "kind": 3, "sortText": "areplace", "insertText": "replace", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "resample", "kind": 3, "sortText": "aresample", "insertText": "resample", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "reset_index", "kind": 3, "sortText": "areset_index", "insertText": "reset_index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rfloordiv", "kind": 3, "sortText": "arfloordiv", "insertText": "rfloordiv", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rmod", "kind": 3, "sortText": "armod", "insertText": "rmod", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rmul", "kind": 3, "sortText": "armul", "insertText": "rmul", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rolling", "kind": 3, "sortText": "arolling", "insertText": "rolling", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "round", "kind": 3, "sortText": "around", "insertText": "round", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rpow", "kind": 3, "sortText": "arpow", "insertText": "rpow", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rsub", "kind": 3, "sortText": "arsub", "insertText": "rsub", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rtruediv", "kind": 3, "sortText": "artruediv", "insertText": "rtruediv", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "sample", "kind": 3, "sortText": "asample", "insertText": "sample", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "select_dtypes", "kind": 3, "sortText": "aselect_dtypes", "insertText": "select_dtypes", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "sem", "kind": 3, "sortText": "asem", "insertText": "sem", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "set_axis", "kind": 3, "sortText": "aset_axis", "insertText": "set_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "set_flags", "kind": 3, "sortText": "aset_flags", "insertText": "set_flags", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "set_index", "kind": 3, "sortText": "aset_index", "insertText": "set_index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "shape", "kind": 10, "sortText": "ashape", "insertText": "shape", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "shift", "kind": 3, "sortText": "ashift", "insertText": "shift", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "size", "kind": 10, "sortText": "asize", "insertText": "size", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "skew", "kind": 3, "sortText": "askew", "insertText": "skew", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "sort_index", "kind": 3, "sortText": "asort_index", "insertText": "sort_index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "sort_values", "kind": 3, "sortText": "asort_values", "insertText": "sort_values", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "sparse", "kind": 6, "sortText": "asparse", "insertText": "sparse", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "squeeze", "kind": 3, "sortText": "asqueeze", "insertText": "squeeze", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "stack", "kind": 3, "sortText": "astack", "insertText": "stack", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "std", "kind": 3, "sortText": "astd", "insertText": "std", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "style", "kind": 10, "sortText": "astyle", "insertText": "style", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "sub", "kind": 3, "sortText": "asub", "insertText": "sub", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "subtract", "kind": 6, "sortText": "asubtract", "insertText": "subtract", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "sum", "kind": 3, "sortText": "asum", "insertText": "sum", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "swapaxes", "kind": 3, "sortText": "aswapaxes", "insertText": "swapaxes", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "swaplevel", "kind": 3, "sortText": "aswaplevel", "insertText": "swaplevel", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "T", "kind": 10, "sortText": "aT", "insertText": "T", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "tail", "kind": 3, "sortText": "atail", "insertText": "tail", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "take", "kind": 3, "sortText": "atake", "insertText": "take", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_clipboard", "kind": 3, "sortText": "ato_clipboard", "insertText": "to_clipboard", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_csv", "kind": 3, "sortText": "ato_csv", "insertText": "to_csv", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_dict", "kind": 3, "sortText": "ato_dict", "insertText": "to_dict", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_excel", "kind": 3, "sortText": "ato_excel", "insertText": "to_excel", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_feather", "kind": 3, "sortText": "ato_feather", "insertText": "to_feather", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_gbq", "kind": 3, "sortText": "ato_gbq", "insertText": "to_gbq", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_hdf", "kind": 3, "sortText": "ato_hdf", "insertText": "to_hdf", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_html", "kind": 3, "sortText": "ato_html", "insertText": "to_html", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_json", "kind": 3, "sortText": "ato_json", "insertText": "to_json", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_latex", "kind": 3, "sortText": "ato_latex", "insertText": "to_latex", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_markdown", "kind": 3, "sortText": "ato_markdown", "insertText": "to_markdown", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_numpy", "kind": 3, "sortText": "ato_numpy", "insertText": "to_numpy", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_orc", "kind": 3, "sortText": "ato_orc", "insertText": "to_orc", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_parquet", "kind": 3, "sortText": "ato_parquet", "insertText": "to_parquet", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_period", "kind": 3, "sortText": "ato_period", "insertText": "to_period", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_pickle", "kind": 3, "sortText": "ato_pickle", "insertText": "to_pickle", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_records", "kind": 3, "sortText": "ato_records", "insertText": "to_records", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_sql", "kind": 3, "sortText": "ato_sql", "insertText": "to_sql", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_stata", "kind": 3, "sortText": "ato_stata", "insertText": "to_stata", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_string", "kind": 3, "sortText": "ato_string", "insertText": "to_string", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_timestamp", "kind": 3, "sortText": "ato_timestamp", "insertText": "to_timestamp", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_xarray", "kind": 3, "sortText": "ato_xarray", "insertText": "to_xarray", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_xml", "kind": 3, "sortText": "ato_xml", "insertText": "to_xml", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "transform", "kind": 3, "sortText": "atransform", "insertText": "transform", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "transpose", "kind": 3, "sortText": "atranspose", "insertText": "transpose", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "truediv", "kind": 3, "sortText": "atruediv", "insertText": "truediv", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "truncate", "kind": 3, "sortText": "atruncate", "insertText": "truncate", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "tz_convert", "kind": 3, "sortText": "atz_convert", "insertText": "tz_convert", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "tz_localize", "kind": 3, "sortText": "atz_localize", "insertText": "tz_localize", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "unstack", "kind": 3, "sortText": "aunstack", "insertText": "unstack", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "update", "kind": 3, "sortText": "aupdate", "insertText": "update", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "value_counts", "kind": 3, "sortText": "avalue_counts", "insertText": "value_counts", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "values", "kind": 10, "sortText": "avalues", "insertText": "values", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "var", "kind": 3, "sortText": "avar", "insertText": "var", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "where", "kind": 3, "sortText": "awhere", "insertText": "where", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "xs", "kind": 3, "sortText": "axs", "insertText": "xs", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_accessors", "kind": 6, "sortText": "z_accessors", "insertText": "_accessors", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_accum_func", "kind": 3, "sortText": "z_accum_func", "insertText": "_accum_func", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_agg_examples_doc", "kind": 6, "sortText": "z_agg_examples_doc", "insertText": "_agg_examples_doc", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_agg_see_also_doc", "kind": 6, "sortText": "z_agg_see_also_doc", "insertText": "_agg_see_also_doc", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_align_for_op", "kind": 3, "sortText": "z_align_for_op", "insertText": "_align_for_op", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_align_frame", "kind": 3, "sortText": "z_align_frame", "insertText": "_align_frame", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_align_series", "kind": 3, "sortText": "z_align_series", "insertText": "_align_series", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_append", "kind": 3, "sortText": "z_append", "insertText": "_append", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_arith_method", "kind": 3, "sortText": "z_arith_method", "insertText": "_arith_method", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_arith_method_with_reindex", "kind": 3, "sortText": "z_arith_method_with_reindex", "insertText": "_arith_method_with_reindex", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_as_manager", "kind": 3, "sortText": "z_as_manager", "insertText": "_as_manager", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_attrs", "kind": 6, "sortText": "z_attrs", "insertText": "_attrs", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_AXIS_LEN", "kind": 6, "sortText": "z_AXIS_LEN", "insertText": "_AXIS_LEN", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_AXIS_ORDERS", "kind": 6, "sortText": "z_AXIS_ORDERS", "insertText": "_AXIS_ORDERS", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_AXIS_TO_AXIS_NUMBER", "kind": 6, "sortText": "z_AXIS_TO_AXIS_NUMBER", "insertText": "_AXIS_TO_AXIS_NUMBER", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_box_col_values", "kind": 3, "sortText": "z_box_col_values", "insertText": "_box_col_values", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_cache", "kind": 6, "sortText": "z_cache", "insertText": "_cache", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_can_fast_transpose", "kind": 10, "sortText": "z_can_fast_transpose", "insertText": "_can_fast_transpose", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_check_inplace_and_allows_duplicate_labels", "kind": 3, "sortText": "z_check_inplace_and_allows_duplicate_labels", "insertText": "_check_inplace_and_allows_duplicate_labels", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_check_is_chained_assignment_possible", "kind": 3, "sortText": "z_check_is_chained_assignment_possible", "insertText": "_check_is_chained_assignment_possible", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_check_label_or_level_ambiguity", "kind": 3, "sortText": "z_check_label_or_level_ambiguity", "insertText": "_check_label_or_level_ambiguity", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_check_setitem_copy", "kind": 3, "sortText": "z_check_setitem_copy", "insertText": "_check_setitem_copy", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_clear_item_cache", "kind": 3, "sortText": "z_clear_item_cache", "insertText": "_clear_item_cache", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_clip_with_one_bound", "kind": 3, "sortText": "z_clip_with_one_bound", "insertText": "_clip_with_one_bound", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_clip_with_scalar", "kind": 3, "sortText": "z_clip_with_scalar", "insertText": "_clip_with_scalar", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_cmp_method", "kind": 3, "sortText": "z_cmp_method", "insertText": "_cmp_method", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_combine_frame", "kind": 3, "sortText": "z_combine_frame", "insertText": "_combine_frame", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_consolidate", "kind": 3, "sortText": "z_consolidate", "insertText": "_consolidate", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_consolidate_inplace", "kind": 3, "sortText": "z_consolidate_inplace", "insertText": "_consolidate_inplace", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_construct_axes_dict", "kind": 3, "sortText": "z_construct_axes_dict", "insertText": "_construct_axes_dict", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_construct_result", "kind": 3, "sortText": "z_construct_result", "insertText": "_construct_result", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_constructor", "kind": 10, "sortText": "z_constructor", "insertText": "_constructor", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_constructor_from_mgr", "kind": 3, "sortText": "z_constructor_from_mgr", "insertText": "_constructor_from_mgr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_constructor_sliced", "kind": 6, "sortText": "z_constructor_sliced", "insertText": "_constructor_sliced", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_constructor_sliced_from_mgr", "kind": 3, "sortText": "z_constructor_sliced_from_mgr", "insertText": "_constructor_sliced_from_mgr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_create_data_for_split_and_tight_to_dict", "kind": 3, "sortText": "z_create_data_for_split_and_tight_to_dict", "insertText": "_create_data_for_split_and_tight_to_dict", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_data", "kind": 10, "sortText": "z_data", "insertText": "_data", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_deprecate_downcast", "kind": 3, "sortText": "z_deprecate_downcast", "insertText": "_deprecate_downcast", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_dir_additions", "kind": 3, "sortText": "z_dir_additions", "insertText": "_dir_additions", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_dir_deletions", "kind": 3, "sortText": "z_dir_deletions", "insertText": "_dir_deletions", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_dispatch_frame_op", "kind": 3, "sortText": "z_dispatch_frame_op", "insertText": "_dispatch_frame_op", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_drop_axis", "kind": 3, "sortText": "z_drop_axis", "insertText": "_drop_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_drop_labels_or_levels", "kind": 3, "sortText": "z_drop_labels_or_levels", "insertText": "_drop_labels_or_levels", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_ensure_valid_index", "kind": 3, "sortText": "z_ensure_valid_index", "insertText": "_ensure_valid_index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_find_valid_index", "kind": 3, "sortText": "z_find_valid_index", "insertText": "_find_valid_index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_flex_arith_method", "kind": 3, "sortText": "z_flex_arith_method", "insertText": "_flex_arith_method", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_flex_cmp_method", "kind": 3, "sortText": "z_flex_cmp_method", "insertText": "_flex_cmp_method", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_from_arrays", "kind": 3, "sortText": "z_from_arrays", "insertText": "_from_arrays", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_from_mgr", "kind": 3, "sortText": "z_from_mgr", "insertText": "_from_mgr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_agg_axis", "kind": 3, "sortText": "z_get_agg_axis", "insertText": "_get_agg_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_axis", "kind": 3, "sortText": "z_get_axis", "insertText": "_get_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_axis_name", "kind": 3, "sortText": "z_get_axis_name", "insertText": "_get_axis_name", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_axis_number", "kind": 3, "sortText": "z_get_axis_number", "insertText": "_get_axis_number", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_axis_resolvers", "kind": 3, "sortText": "z_get_axis_resolvers", "insertText": "_get_axis_resolvers", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_block_manager_axis", "kind": 3, "sortText": "z_get_block_manager_axis", "insertText": "_get_block_manager_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_bool_data", "kind": 3, "sortText": "z_get_bool_data", "insertText": "_get_bool_data", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_cleaned_column_resolvers", "kind": 3, "sortText": "z_get_cleaned_column_resolvers", "insertText": "_get_cleaned_column_resolvers", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_column_array", "kind": 3, "sortText": "z_get_column_array", "insertText": "_get_column_array", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_index_resolvers", "kind": 3, "sortText": "z_get_index_resolvers", "insertText": "_get_index_resolvers", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_item_cache", "kind": 3, "sortText": "z_get_item_cache", "insertText": "_get_item_cache", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_label_or_level_values", "kind": 3, "sortText": "z_get_label_or_level_values", "insertText": "_get_label_or_level_values", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_numeric_data", "kind": 3, "sortText": "z_get_numeric_data", "insertText": "_get_numeric_data", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_value", "kind": 3, "sortText": "z_get_value", "insertText": "_get_value", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_values_for_csv", "kind": 3, "sortText": "z_get_values_for_csv", "insertText": "_get_values_for_csv", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_getitem_bool_array", "kind": 3, "sortText": "z_getitem_bool_array", "insertText": "_getitem_bool_array", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_getitem_multilevel", "kind": 3, "sortText": "z_getitem_multilevel", "insertText": "_getitem_multilevel", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_getitem_nocopy", "kind": 3, "sortText": "z_getitem_nocopy", "insertText": "_getitem_nocopy", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_getitem_slice", "kind": 3, "sortText": "z_getitem_slice", "insertText": "_getitem_slice", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_gotitem", "kind": 3, "sortText": "z_gotitem", "insertText": "_gotitem", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_HANDLED_TYPES", "kind": 6, "sortText": "z_HANDLED_TYPES", "insertText": "_HANDLED_TYPES", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_hidden_attrs", "kind": 6, "sortText": "z_hidden_attrs", "insertText": "_hidden_attrs", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_indexed_same", "kind": 3, "sortText": "z_indexed_same", "insertText": "_indexed_same", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_info_axis", "kind": 10, "sortText": "z_info_axis", "insertText": "_info_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_info_axis_name", "kind": 6, "sortText": "z_info_axis_name", "insertText": "_info_axis_name", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_info_axis_number", "kind": 6, "sortText": "z_info_axis_number", "insertText": "_info_axis_number", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_info_repr", "kind": 3, "sortText": "z_info_repr", "insertText": "_info_repr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_init_mgr", "kind": 3, "sortText": "z_init_mgr", "insertText": "_init_mgr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_inplace_method", "kind": 3, "sortText": "z_inplace_method", "insertText": "_inplace_method", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_internal_names", "kind": 6, "sortText": "z_internal_names", "insertText": "_internal_names", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_internal_names_set", "kind": 6, "sortText": "z_internal_names_set", "insertText": "_internal_names_set", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_copy", "kind": 6, "sortText": "z_is_copy", "insertText": "_is_copy", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_homogeneous_type", "kind": 10, "sortText": "z_is_homogeneous_type", "insertText": "_is_homogeneous_type", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_label_or_level_reference", "kind": 3, "sortText": "z_is_label_or_level_reference", "insertText": "_is_label_or_level_reference", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_label_reference", "kind": 3, "sortText": "z_is_label_reference", "insertText": "_is_label_reference", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_level_reference", "kind": 3, "sortText": "z_is_level_reference", "insertText": "_is_level_reference", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_mixed_type", "kind": 10, "sortText": "z_is_mixed_type", "insertText": "_is_mixed_type", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_view", "kind": 10, "sortText": "z_is_view", "insertText": "_is_view", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_view_after_cow_rules", "kind": 3, "sortText": "z_is_view_after_cow_rules", "insertText": "_is_view_after_cow_rules", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_iset_item", "kind": 3, "sortText": "z_iset_item", "insertText": "_iset_item", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_iset_item_mgr", "kind": 3, "sortText": "z_iset_item_mgr", "insertText": "_iset_item_mgr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_iset_not_inplace", "kind": 3, "sortText": "z_iset_not_inplace", "insertText": "_iset_not_inplace", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_item_cache", "kind": 6, "sortText": "z_item_cache", "insertText": "_item_cache", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_iter_column_arrays", "kind": 3, "sortText": "z_iter_column_arrays", "insertText": "_iter_column_arrays", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_ixs", "kind": 3, "sortText": "z_ixs", "insertText": "_ixs", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_logical_func", "kind": 3, "sortText": "z_logical_func", "insertText": "_logical_func", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_logical_method", "kind": 6, "sortText": "z_logical_method", "insertText": "_logical_method", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_maybe_align_series_as_frame", "kind": 3, "sortText": "z_maybe_align_series_as_frame", "insertText": "_maybe_align_series_as_frame", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_maybe_cache_changed", "kind": 3, "sortText": "z_maybe_cache_changed", "insertText": "_maybe_cache_changed", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_maybe_update_cacher", "kind": 3, "sortText": "z_maybe_update_cacher", "insertText": "_maybe_update_cacher", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_metadata", "kind": 6, "sortText": "z_metadata", "insertText": "_metadata", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_mgr", "kind": 6, "sortText": "z_mgr", "insertText": "_mgr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_min_count_stat_function", "kind": 3, "sortText": "z_min_count_stat_function", "insertText": "_min_count_stat_function", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_needs_reindex_multi", "kind": 3, "sortText": "z_needs_reindex_multi", "insertText": "_needs_reindex_multi", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_pad_or_backfill", "kind": 3, "sortText": "z_pad_or_backfill", "insertText": "_pad_or_backfill", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_protect_consolidate", "kind": 3, "sortText": "z_protect_consolidate", "insertText": "_protect_consolidate", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_reduce", "kind": 3, "sortText": "z_reduce", "insertText": "_reduce", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_reduce_axis1", "kind": 3, "sortText": "z_reduce_axis1", "insertText": "_reduce_axis1", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_reindex_axes", "kind": 3, "sortText": "z_reindex_axes", "insertText": "_reindex_axes", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_reindex_multi", "kind": 3, "sortText": "z_reindex_multi", "insertText": "_reindex_multi", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_reindex_with_indexers", "kind": 3, "sortText": "z_reindex_with_indexers", "insertText": "_reindex_with_indexers", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_rename", "kind": 3, "sortText": "z_rename", "insertText": "_rename", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_replace_columnwise", "kind": 3, "sortText": "z_replace_columnwise", "insertText": "_replace_columnwise", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_repr_data_resource_", "kind": 3, "sortText": "z_repr_data_resource_", "insertText": "_repr_data_resource_", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_repr_fits_horizontal_", "kind": 3, "sortText": "z_repr_fits_horizontal_", "insertText": "_repr_fits_horizontal_", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_repr_fits_vertical_", "kind": 3, "sortText": "z_repr_fits_vertical_", "insertText": "_repr_fits_vertical_", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_repr_html_", "kind": 3, "sortText": "z_repr_html_", "insertText": "_repr_html_", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_repr_latex_", "kind": 3, "sortText": "z_repr_latex_", "insertText": "_repr_latex_", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_reset_cache", "kind": 3, "sortText": "z_reset_cache", "insertText": "_reset_cache", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_reset_cacher", "kind": 3, "sortText": "z_reset_cacher", "insertText": "_reset_cacher", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_sanitize_column", "kind": 3, "sortText": "z_sanitize_column", "insertText": "_sanitize_column", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_series", "kind": 10, "sortText": "z_series", "insertText": "_series", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_axis", "kind": 3, "sortText": "z_set_axis", "insertText": "_set_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_axis_name", "kind": 3, "sortText": "z_set_axis_name", "insertText": "_set_axis_name", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_axis_nocheck", "kind": 3, "sortText": "z_set_axis_nocheck", "insertText": "_set_axis_nocheck", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_is_copy", "kind": 3, "sortText": "z_set_is_copy", "insertText": "_set_is_copy", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_item", "kind": 3, "sortText": "z_set_item", "insertText": "_set_item", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_item_frame_value", "kind": 3, "sortText": "z_set_item_frame_value", "insertText": "_set_item_frame_value", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_item_mgr", "kind": 3, "sortText": "z_set_item_mgr", "insertText": "_set_item_mgr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_value", "kind": 3, "sortText": "z_set_value", "insertText": "_set_value", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_setitem_array", "kind": 3, "sortText": "z_setitem_array", "insertText": "_setitem_array", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_setitem_frame", "kind": 3, "sortText": "z_setitem_frame", "insertText": "_setitem_frame", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_setitem_slice", "kind": 3, "sortText": "z_setitem_slice", "insertText": "_setitem_slice", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_shared_docs", "kind": 6, "sortText": "z_shared_docs", "insertText": "_shared_docs", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_shift_with_freq", "kind": 3, "sortText": "z_shift_with_freq", "insertText": "_shift_with_freq", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_should_reindex_frame_op", "kind": 3, "sortText": "z_should_reindex_frame_op", "insertText": "_should_reindex_frame_op", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_slice", "kind": 3, "sortText": "z_slice", "insertText": "_slice", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_stat_function", "kind": 3, "sortText": "z_stat_function", "insertText": "_stat_function", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_stat_function_ddof", "kind": 3, "sortText": "z_stat_function_ddof", "insertText": "_stat_function_ddof", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_take_with_is_copy", "kind": 3, "sortText": "z_take_with_is_copy", "insertText": "_take_with_is_copy", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_to_dict_of_blocks", "kind": 3, "sortText": "z_to_dict_of_blocks", "insertText": "_to_dict_of_blocks", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_to_latex_via_styler", "kind": 3, "sortText": "z_to_latex_via_styler", "insertText": "_to_latex_via_styler", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_typ", "kind": 6, "sortText": "z_typ", "insertText": "_typ", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_update_inplace", "kind": 3, "sortText": "z_update_inplace", "insertText": "_update_inplace", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_validate_dtype", "kind": 3, "sortText": "z_validate_dtype", "insertText": "_validate_dtype", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_values", "kind": 10, "sortText": "z_values", "insertText": "_values", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_where", "kind": 3, "sortText": "z_where", "insertText": "_where", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__abs__", "kind": 3, "sortText": "z__abs__", "insertText": "__abs__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__add__", "kind": 3, "sortText": "z__add__", "insertText": "__add__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__and__", "kind": 3, "sortText": "z__and__", "insertText": "__and__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__annotations__", "kind": 6, "sortText": "z__annotations__", "insertText": "__annotations__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__array__", "kind": 3, "sortText": "z__array__", "insertText": "__array__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__array_priority__", "kind": 6, "sortText": "z__array_priority__", "insertText": "__array_priority__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__array_ufunc__", "kind": 3, "sortText": "z__array_ufunc__", "insertText": "__array_ufunc__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__arrow_c_stream__", "kind": 3, "sortText": "z__arrow_c_stream__", "insertText": "__arrow_c_stream__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__bool__", "kind": 6, "sortText": "z__bool__", "insertText": "__bool__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__class__", "kind": 10, "sortText": "z__class__", "insertText": "__class__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__contains__", "kind": 3, "sortText": "z__contains__", "insertText": "__contains__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__copy__", "kind": 3, "sortText": "z__copy__", "insertText": "__copy__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__dataframe__", "kind": 3, "sortText": "z__dataframe__", "insertText": "__dataframe__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__dataframe_consortium_standard__", "kind": 3, "sortText": "z__dataframe_consortium_standard__", "insertText": "__dataframe_consortium_standard__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__deepcopy__", "kind": 3, "sortText": "z__deepcopy__", "insertText": "__deepcopy__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__delattr__", "kind": 3, "sortText": "z__delattr__", "insertText": "__delattr__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__delitem__", "kind": 3, "sortText": "z__delitem__", "insertText": "__delitem__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__dict__", "kind": 6, "sortText": "z__dict__", "insertText": "__dict__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__dir__", "kind": 3, "sortText": "z__dir__", "insertText": "__dir__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__divmod__", "kind": 3, "sortText": "z__divmod__", "insertText": "__divmod__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__doc__", "kind": 6, "sortText": "z__doc__", "insertText": "__doc__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__eq__", "kind": 3, "sortText": "z__eq__", "insertText": "__eq__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__finalize__", "kind": 3, "sortText": "z__finalize__", "insertText": "__finalize__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__floordiv__", "kind": 3, "sortText": "z__floordiv__", "insertText": "__floordiv__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__format__", "kind": 3, "sortText": "z__format__", "insertText": "__format__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__ge__", "kind": 3, "sortText": "z__ge__", "insertText": "__ge__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__getattr__", "kind": 3, "sortText": "z__getattr__", "insertText": "__getattr__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__getattribute__", "kind": 3, "sortText": "z__getattribute__", "insertText": "__getattribute__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__getitem__", "kind": 3, "sortText": "z__getitem__", "insertText": "__getitem__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__getstate__", "kind": 3, "sortText": "z__getstate__", "insertText": "__getstate__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__gt__", "kind": 3, "sortText": "z__gt__", "insertText": "__gt__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__hash__", "kind": 6, "sortText": "z__hash__", "insertText": "__hash__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__iadd__", "kind": 3, "sortText": "z__iadd__", "insertText": "__iadd__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__iand__", "kind": 3, "sortText": "z__iand__", "insertText": "__iand__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__ifloordiv__", "kind": 3, "sortText": "z__ifloordiv__", "insertText": "__ifloordiv__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__imod__", "kind": 3, "sortText": "z__imod__", "insertText": "__imod__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__imul__", "kind": 3, "sortText": "z__imul__", "insertText": "__imul__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__init__", "kind": 3, "sortText": "z__init__", "insertText": "__init__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__init_subclass__", "kind": 3, "sortText": "z__init_subclass__", "insertText": "__init_subclass__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__invert__", "kind": 3, "sortText": "z__invert__", "insertText": "__invert__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__ior__", "kind": 3, "sortText": "z__ior__", "insertText": "__ior__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__ipow__", "kind": 3, "sortText": "z__ipow__", "insertText": "__ipow__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__isub__", "kind": 3, "sortText": "z__isub__", "insertText": "__isub__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__iter__", "kind": 3, "sortText": "z__iter__", "insertText": "__iter__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__itruediv__", "kind": 3, "sortText": "z__itruediv__", "insertText": "__itruediv__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__ixor__", "kind": 3, "sortText": "z__ixor__", "insertText": "__ixor__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__le__", "kind": 3, "sortText": "z__le__", "insertText": "__le__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__len__", "kind": 3, "sortText": "z__len__", "insertText": "__len__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__lt__", "kind": 3, "sortText": "z__lt__", "insertText": "__lt__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__matmul__", "kind": 3, "sortText": "z__matmul__", "insertText": "__matmul__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__mod__", "kind": 3, "sortText": "z__mod__", "insertText": "__mod__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__module__", "kind": 6, "sortText": "z__module__", "insertText": "__module__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__mul__", "kind": 3, "sortText": "z__mul__", "insertText": "__mul__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__ne__", "kind": 3, "sortText": "z__ne__", "insertText": "__ne__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__neg__", "kind": 3, "sortText": "z__neg__", "insertText": "__neg__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__new__", "kind": 3, "sortText": "z__new__", "insertText": "__new__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__nonzero__", "kind": 3, "sortText": "z__nonzero__", "insertText": "__nonzero__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__or__", "kind": 3, "sortText": "z__or__", "insertText": "__or__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__pandas_priority__", "kind": 6, "sortText": "z__pandas_priority__", "insertText": "__pandas_priority__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__pos__", "kind": 3, "sortText": "z__pos__", "insertText": "__pos__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__pow__", "kind": 3, "sortText": "z__pow__", "insertText": "__pow__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__radd__", "kind": 3, "sortText": "z__radd__", "insertText": "__radd__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rand__", "kind": 3, "sortText": "z__rand__", "insertText": "__rand__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rdivmod__", "kind": 3, "sortText": "z__rdivmod__", "insertText": "__rdivmod__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__reduce__", "kind": 3, "sortText": "z__reduce__", "insertText": "__reduce__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__reduce_ex__", "kind": 3, "sortText": "z__reduce_ex__", "insertText": "__reduce_ex__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__repr__", "kind": 3, "sortText": "z__repr__", "insertText": "__repr__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rfloordiv__", "kind": 3, "sortText": "z__rfloordiv__", "insertText": "__rfloordiv__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rmatmul__", "kind": 3, "sortText": "z__rmatmul__", "insertText": "__rmatmul__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rmod__", "kind": 3, "sortText": "z__rmod__", "insertText": "__rmod__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rmul__", "kind": 3, "sortText": "z__rmul__", "insertText": "__rmul__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__ror__", "kind": 3, "sortText": "z__ror__", "insertText": "__ror__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__round__", "kind": 3, "sortText": "z__round__", "insertText": "__round__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rpow__", "kind": 3, "sortText": "z__rpow__", "insertText": "__rpow__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rsub__", "kind": 3, "sortText": "z__rsub__", "insertText": "__rsub__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rtruediv__", "kind": 3, "sortText": "z__rtruediv__", "insertText": "__rtruediv__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rxor__", "kind": 3, "sortText": "z__rxor__", "insertText": "__rxor__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__setattr__", "kind": 3, "sortText": "z__setattr__", "insertText": "__setattr__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__setitem__", "kind": 3, "sortText": "z__setitem__", "insertText": "__setitem__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__setstate__", "kind": 3, "sortText": "z__setstate__", "insertText": "__setstate__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__sizeof__", "kind": 3, "sortText": "z__sizeof__", "insertText": "__sizeof__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__str__", "kind": 3, "sortText": "z__str__", "insertText": "__str__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__sub__", "kind": 3, "sortText": "z__sub__", "insertText": "__sub__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__subclasshook__", "kind": 3, "sortText": "z__subclasshook__", "insertText": "__subclasshook__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__truediv__", "kind": 3, "sortText": "z__truediv__", "insertText": "__truediv__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__xor__", "kind": 3, "sortText": "z__xor__", "insertText": "__xor__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}]}} {"suite": "pandas", "label": "edit dataframe then complete (edit+completion)", "method": "textDocument/completion", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py", "line": 17, "character": 39, "iteration": 5, "result": {"isIncomplete": false, "items": [{"label": "abs()", "kind": 3, "sortText": "aabs", "insertText": "abs", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "add(other, axis, level, fill_value)", "kind": 3, "sortText": "aadd", "insertText": "add", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "add_prefix(prefix, axis)", "kind": 3, "sortText": "aadd_prefix", "insertText": "add_prefix", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "add_suffix(suffix, axis)", "kind": 3, "sortText": "aadd_suffix", "insertText": "add_suffix", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "agg", "kind": 6, "sortText": "aagg", "insertText": "agg", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "aggregate(func, axis, args, kwargs)", "kind": 3, "sortText": "aaggregate", "insertText": "aggregate", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "align(other, join, axis, level, copy, fill_value, method, limit, fill_axis, broadcast_axis)", "kind": 3, "sortText": "aalign", "insertText": "align", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "all(axis, bool_only, skipna, kwargs)", "kind": 3, "sortText": "aall", "insertText": "all", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "any(axis, bool_only, skipna, kwargs)", "kind": 3, "sortText": "aany", "insertText": "any", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "apply(func, axis, raw, result_type, args, by_row, engine, engine_kwargs, kwargs)", "kind": 3, "sortText": "aapply", "insertText": "apply", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "applymap(func, na_action, kwargs)", "kind": 3, "sortText": "aapplymap", "insertText": "applymap", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "asfreq(freq, method, how, normalize, fill_value)", "kind": 3, "sortText": "aasfreq", "insertText": "asfreq", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "asof(where, subset)", "kind": 3, "sortText": "aasof", "insertText": "asof", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "assign(kwargs)", "kind": 3, "sortText": "aassign", "insertText": "assign", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "astype(dtype, copy, errors)", "kind": 3, "sortText": "aastype", "insertText": "astype", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "at", "kind": 10, "sortText": "aat", "insertText": "at", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "at_time(time, asof, axis)", "kind": 3, "sortText": "aat_time", "insertText": "at_time", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "attrs", "kind": 6, "sortText": "aattrs", "insertText": "attrs", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "axes", "kind": 10, "sortText": "aaxes", "insertText": "axes", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "backfill(axis, inplace, limit, downcast)", "kind": 3, "sortText": "abackfill", "insertText": "backfill", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "between_time(start_time, end_time, inclusive, axis)", "kind": 3, "sortText": "abetween_time", "insertText": "between_time", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "bfill(axis, inplace, limit, limit_area, downcast)", "kind": 3, "sortText": "abfill", "insertText": "bfill", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "bool()", "kind": 3, "sortText": "abool", "insertText": "bool", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "boxplot", "kind": 6, "sortText": "aboxplot", "insertText": "boxplot", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "clip(lower, upper, axis, inplace, kwargs)", "kind": 3, "sortText": "aclip", "insertText": "clip", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "columns", "kind": 6, "sortText": "acolumns", "insertText": "columns", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "combine", "kind": 3, "sortText": "acombine", "insertText": "combine", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "combine_first", "kind": 3, "sortText": "acombine_first", "insertText": "combine_first", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "compare", "kind": 3, "sortText": "acompare", "insertText": "compare", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "convert_dtypes", "kind": 3, "sortText": "aconvert_dtypes", "insertText": "convert_dtypes", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "copy", "kind": 3, "sortText": "acopy", "insertText": "copy", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "corr", "kind": 3, "sortText": "acorr", "insertText": "corr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "corrwith", "kind": 3, "sortText": "acorrwith", "insertText": "corrwith", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "count", "kind": 3, "sortText": "acount", "insertText": "count", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "cov", "kind": 3, "sortText": "acov", "insertText": "cov", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "cummax", "kind": 3, "sortText": "acummax", "insertText": "cummax", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "cummin", "kind": 3, "sortText": "acummin", "insertText": "cummin", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "cumprod", "kind": 3, "sortText": "acumprod", "insertText": "cumprod", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "cumsum", "kind": 3, "sortText": "acumsum", "insertText": "cumsum", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "describe", "kind": 3, "sortText": "adescribe", "insertText": "describe", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "diff", "kind": 3, "sortText": "adiff", "insertText": "diff", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "div", "kind": 6, "sortText": "adiv", "insertText": "div", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "divide", "kind": 6, "sortText": "adivide", "insertText": "divide", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "dot", "kind": 3, "sortText": "adot", "insertText": "dot", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "drop", "kind": 3, "sortText": "adrop", "insertText": "drop", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "drop_duplicates", "kind": 3, "sortText": "adrop_duplicates", "insertText": "drop_duplicates", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "droplevel", "kind": 3, "sortText": "adroplevel", "insertText": "droplevel", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "dropna", "kind": 3, "sortText": "adropna", "insertText": "dropna", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "dtypes", "kind": 10, "sortText": "adtypes", "insertText": "dtypes", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "duplicated", "kind": 3, "sortText": "aduplicated", "insertText": "duplicated", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "empty", "kind": 10, "sortText": "aempty", "insertText": "empty", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "eq", "kind": 3, "sortText": "aeq", "insertText": "eq", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "equals", "kind": 3, "sortText": "aequals", "insertText": "equals", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "eval", "kind": 3, "sortText": "aeval", "insertText": "eval", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "ewm", "kind": 3, "sortText": "aewm", "insertText": "ewm", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "expanding", "kind": 3, "sortText": "aexpanding", "insertText": "expanding", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "explode", "kind": 3, "sortText": "aexplode", "insertText": "explode", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "ffill", "kind": 3, "sortText": "affill", "insertText": "ffill", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "fillna", "kind": 3, "sortText": "afillna", "insertText": "fillna", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "filter", "kind": 3, "sortText": "afilter", "insertText": "filter", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "first", "kind": 3, "sortText": "afirst", "insertText": "first", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "first_valid_index", "kind": 3, "sortText": "afirst_valid_index", "insertText": "first_valid_index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "flags", "kind": 10, "sortText": "aflags", "insertText": "flags", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "floordiv", "kind": 3, "sortText": "afloordiv", "insertText": "floordiv", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "from_dict", "kind": 3, "sortText": "afrom_dict", "insertText": "from_dict", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "from_records", "kind": 3, "sortText": "afrom_records", "insertText": "from_records", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "ge", "kind": 3, "sortText": "age", "insertText": "ge", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "get", "kind": 3, "sortText": "aget", "insertText": "get", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "groupby", "kind": 3, "sortText": "agroupby", "insertText": "groupby", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "gt", "kind": 3, "sortText": "agt", "insertText": "gt", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "head", "kind": 3, "sortText": "ahead", "insertText": "head", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "hist", "kind": 6, "sortText": "ahist", "insertText": "hist", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "iat", "kind": 10, "sortText": "aiat", "insertText": "iat", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "idxmax", "kind": 3, "sortText": "aidxmax", "insertText": "idxmax", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "idxmin", "kind": 3, "sortText": "aidxmin", "insertText": "idxmin", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "iloc", "kind": 10, "sortText": "ailoc", "insertText": "iloc", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "index", "kind": 6, "sortText": "aindex", "insertText": "index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "infer_objects", "kind": 3, "sortText": "ainfer_objects", "insertText": "infer_objects", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "info", "kind": 3, "sortText": "ainfo", "insertText": "info", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "insert", "kind": 3, "sortText": "ainsert", "insertText": "insert", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "interpolate", "kind": 3, "sortText": "ainterpolate", "insertText": "interpolate", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "isetitem", "kind": 3, "sortText": "aisetitem", "insertText": "isetitem", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "isin", "kind": 3, "sortText": "aisin", "insertText": "isin", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "isna", "kind": 3, "sortText": "aisna", "insertText": "isna", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "isnull", "kind": 3, "sortText": "aisnull", "insertText": "isnull", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "items", "kind": 3, "sortText": "aitems", "insertText": "items", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "iterrows", "kind": 3, "sortText": "aiterrows", "insertText": "iterrows", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "itertuples", "kind": 3, "sortText": "aitertuples", "insertText": "itertuples", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "join", "kind": 3, "sortText": "ajoin", "insertText": "join", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "keys", "kind": 3, "sortText": "akeys", "insertText": "keys", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "kurt", "kind": 3, "sortText": "akurt", "insertText": "kurt", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "kurtosis", "kind": 6, "sortText": "akurtosis", "insertText": "kurtosis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "last", "kind": 3, "sortText": "alast", "insertText": "last", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "last_valid_index", "kind": 3, "sortText": "alast_valid_index", "insertText": "last_valid_index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "le", "kind": 3, "sortText": "ale", "insertText": "le", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "loc", "kind": 10, "sortText": "aloc", "insertText": "loc", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "lt", "kind": 3, "sortText": "alt", "insertText": "lt", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "map", "kind": 3, "sortText": "amap", "insertText": "map", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "mask", "kind": 3, "sortText": "amask", "insertText": "mask", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "max", "kind": 3, "sortText": "amax", "insertText": "max", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "mean", "kind": 3, "sortText": "amean", "insertText": "mean", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "median", "kind": 3, "sortText": "amedian", "insertText": "median", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "melt", "kind": 3, "sortText": "amelt", "insertText": "melt", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "memory_usage", "kind": 3, "sortText": "amemory_usage", "insertText": "memory_usage", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "merge", "kind": 3, "sortText": "amerge", "insertText": "merge", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "min", "kind": 3, "sortText": "amin", "insertText": "min", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "mod", "kind": 3, "sortText": "amod", "insertText": "mod", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "mode", "kind": 3, "sortText": "amode", "insertText": "mode", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "mul", "kind": 3, "sortText": "amul", "insertText": "mul", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "multiply", "kind": 6, "sortText": "amultiply", "insertText": "multiply", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "ndim", "kind": 10, "sortText": "andim", "insertText": "ndim", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "ne", "kind": 3, "sortText": "ane", "insertText": "ne", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "nlargest", "kind": 3, "sortText": "anlargest", "insertText": "nlargest", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "notna", "kind": 3, "sortText": "anotna", "insertText": "notna", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "notnull", "kind": 3, "sortText": "anotnull", "insertText": "notnull", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "nsmallest", "kind": 3, "sortText": "ansmallest", "insertText": "nsmallest", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "nunique", "kind": 3, "sortText": "anunique", "insertText": "nunique", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "pad", "kind": 3, "sortText": "apad", "insertText": "pad", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "pct_change", "kind": 3, "sortText": "apct_change", "insertText": "pct_change", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "pipe", "kind": 3, "sortText": "apipe", "insertText": "pipe", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "pivot", "kind": 3, "sortText": "apivot", "insertText": "pivot", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "pivot_table", "kind": 3, "sortText": "apivot_table", "insertText": "pivot_table", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "plot", "kind": 6, "sortText": "aplot", "insertText": "plot", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "pop", "kind": 3, "sortText": "apop", "insertText": "pop", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "pow", "kind": 3, "sortText": "apow", "insertText": "pow", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "prod", "kind": 3, "sortText": "aprod", "insertText": "prod", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "product", "kind": 6, "sortText": "aproduct", "insertText": "product", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "quantile", "kind": 3, "sortText": "aquantile", "insertText": "quantile", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "query", "kind": 3, "sortText": "aquery", "insertText": "query", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "radd", "kind": 3, "sortText": "aradd", "insertText": "radd", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rank", "kind": 3, "sortText": "arank", "insertText": "rank", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rdiv", "kind": 6, "sortText": "ardiv", "insertText": "rdiv", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "reindex", "kind": 3, "sortText": "areindex", "insertText": "reindex", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "reindex_like", "kind": 3, "sortText": "areindex_like", "insertText": "reindex_like", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rename", "kind": 3, "sortText": "arename", "insertText": "rename", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rename_axis", "kind": 3, "sortText": "arename_axis", "insertText": "rename_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "reorder_levels", "kind": 3, "sortText": "areorder_levels", "insertText": "reorder_levels", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "replace", "kind": 3, "sortText": "areplace", "insertText": "replace", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "resample", "kind": 3, "sortText": "aresample", "insertText": "resample", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "reset_index", "kind": 3, "sortText": "areset_index", "insertText": "reset_index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rfloordiv", "kind": 3, "sortText": "arfloordiv", "insertText": "rfloordiv", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rmod", "kind": 3, "sortText": "armod", "insertText": "rmod", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rmul", "kind": 3, "sortText": "armul", "insertText": "rmul", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rolling", "kind": 3, "sortText": "arolling", "insertText": "rolling", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "round", "kind": 3, "sortText": "around", "insertText": "round", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rpow", "kind": 3, "sortText": "arpow", "insertText": "rpow", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rsub", "kind": 3, "sortText": "arsub", "insertText": "rsub", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "rtruediv", "kind": 3, "sortText": "artruediv", "insertText": "rtruediv", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "sample", "kind": 3, "sortText": "asample", "insertText": "sample", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "select_dtypes", "kind": 3, "sortText": "aselect_dtypes", "insertText": "select_dtypes", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "sem", "kind": 3, "sortText": "asem", "insertText": "sem", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "set_axis", "kind": 3, "sortText": "aset_axis", "insertText": "set_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "set_flags", "kind": 3, "sortText": "aset_flags", "insertText": "set_flags", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "set_index", "kind": 3, "sortText": "aset_index", "insertText": "set_index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "shape", "kind": 10, "sortText": "ashape", "insertText": "shape", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "shift", "kind": 3, "sortText": "ashift", "insertText": "shift", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "size", "kind": 10, "sortText": "asize", "insertText": "size", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "skew", "kind": 3, "sortText": "askew", "insertText": "skew", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "sort_index", "kind": 3, "sortText": "asort_index", "insertText": "sort_index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "sort_values", "kind": 3, "sortText": "asort_values", "insertText": "sort_values", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "sparse", "kind": 6, "sortText": "asparse", "insertText": "sparse", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "squeeze", "kind": 3, "sortText": "asqueeze", "insertText": "squeeze", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "stack", "kind": 3, "sortText": "astack", "insertText": "stack", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "std", "kind": 3, "sortText": "astd", "insertText": "std", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "style", "kind": 10, "sortText": "astyle", "insertText": "style", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "sub", "kind": 3, "sortText": "asub", "insertText": "sub", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "subtract", "kind": 6, "sortText": "asubtract", "insertText": "subtract", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "sum", "kind": 3, "sortText": "asum", "insertText": "sum", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "swapaxes", "kind": 3, "sortText": "aswapaxes", "insertText": "swapaxes", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "swaplevel", "kind": 3, "sortText": "aswaplevel", "insertText": "swaplevel", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "T", "kind": 10, "sortText": "aT", "insertText": "T", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "tail", "kind": 3, "sortText": "atail", "insertText": "tail", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "take", "kind": 3, "sortText": "atake", "insertText": "take", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_clipboard", "kind": 3, "sortText": "ato_clipboard", "insertText": "to_clipboard", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_csv", "kind": 3, "sortText": "ato_csv", "insertText": "to_csv", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_dict", "kind": 3, "sortText": "ato_dict", "insertText": "to_dict", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_excel", "kind": 3, "sortText": "ato_excel", "insertText": "to_excel", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_feather", "kind": 3, "sortText": "ato_feather", "insertText": "to_feather", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_gbq", "kind": 3, "sortText": "ato_gbq", "insertText": "to_gbq", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_hdf", "kind": 3, "sortText": "ato_hdf", "insertText": "to_hdf", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_html", "kind": 3, "sortText": "ato_html", "insertText": "to_html", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_json", "kind": 3, "sortText": "ato_json", "insertText": "to_json", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_latex", "kind": 3, "sortText": "ato_latex", "insertText": "to_latex", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_markdown", "kind": 3, "sortText": "ato_markdown", "insertText": "to_markdown", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_numpy", "kind": 3, "sortText": "ato_numpy", "insertText": "to_numpy", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_orc", "kind": 3, "sortText": "ato_orc", "insertText": "to_orc", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_parquet", "kind": 3, "sortText": "ato_parquet", "insertText": "to_parquet", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_period", "kind": 3, "sortText": "ato_period", "insertText": "to_period", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_pickle", "kind": 3, "sortText": "ato_pickle", "insertText": "to_pickle", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_records", "kind": 3, "sortText": "ato_records", "insertText": "to_records", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_sql", "kind": 3, "sortText": "ato_sql", "insertText": "to_sql", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_stata", "kind": 3, "sortText": "ato_stata", "insertText": "to_stata", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_string", "kind": 3, "sortText": "ato_string", "insertText": "to_string", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_timestamp", "kind": 3, "sortText": "ato_timestamp", "insertText": "to_timestamp", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_xarray", "kind": 3, "sortText": "ato_xarray", "insertText": "to_xarray", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "to_xml", "kind": 3, "sortText": "ato_xml", "insertText": "to_xml", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "transform", "kind": 3, "sortText": "atransform", "insertText": "transform", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "transpose", "kind": 3, "sortText": "atranspose", "insertText": "transpose", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "truediv", "kind": 3, "sortText": "atruediv", "insertText": "truediv", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "truncate", "kind": 3, "sortText": "atruncate", "insertText": "truncate", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "tz_convert", "kind": 3, "sortText": "atz_convert", "insertText": "tz_convert", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "tz_localize", "kind": 3, "sortText": "atz_localize", "insertText": "tz_localize", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "unstack", "kind": 3, "sortText": "aunstack", "insertText": "unstack", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "update", "kind": 3, "sortText": "aupdate", "insertText": "update", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "value_counts", "kind": 3, "sortText": "avalue_counts", "insertText": "value_counts", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "values", "kind": 10, "sortText": "avalues", "insertText": "values", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "var", "kind": 3, "sortText": "avar", "insertText": "var", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "where", "kind": 3, "sortText": "awhere", "insertText": "where", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "xs", "kind": 3, "sortText": "axs", "insertText": "xs", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_accessors", "kind": 6, "sortText": "z_accessors", "insertText": "_accessors", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_accum_func", "kind": 3, "sortText": "z_accum_func", "insertText": "_accum_func", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_agg_examples_doc", "kind": 6, "sortText": "z_agg_examples_doc", "insertText": "_agg_examples_doc", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_agg_see_also_doc", "kind": 6, "sortText": "z_agg_see_also_doc", "insertText": "_agg_see_also_doc", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_align_for_op", "kind": 3, "sortText": "z_align_for_op", "insertText": "_align_for_op", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_align_frame", "kind": 3, "sortText": "z_align_frame", "insertText": "_align_frame", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_align_series", "kind": 3, "sortText": "z_align_series", "insertText": "_align_series", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_append", "kind": 3, "sortText": "z_append", "insertText": "_append", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_arith_method", "kind": 3, "sortText": "z_arith_method", "insertText": "_arith_method", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_arith_method_with_reindex", "kind": 3, "sortText": "z_arith_method_with_reindex", "insertText": "_arith_method_with_reindex", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_as_manager", "kind": 3, "sortText": "z_as_manager", "insertText": "_as_manager", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_attrs", "kind": 6, "sortText": "z_attrs", "insertText": "_attrs", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_AXIS_LEN", "kind": 6, "sortText": "z_AXIS_LEN", "insertText": "_AXIS_LEN", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_AXIS_ORDERS", "kind": 6, "sortText": "z_AXIS_ORDERS", "insertText": "_AXIS_ORDERS", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_AXIS_TO_AXIS_NUMBER", "kind": 6, "sortText": "z_AXIS_TO_AXIS_NUMBER", "insertText": "_AXIS_TO_AXIS_NUMBER", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_box_col_values", "kind": 3, "sortText": "z_box_col_values", "insertText": "_box_col_values", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_cache", "kind": 6, "sortText": "z_cache", "insertText": "_cache", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_can_fast_transpose", "kind": 10, "sortText": "z_can_fast_transpose", "insertText": "_can_fast_transpose", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_check_inplace_and_allows_duplicate_labels", "kind": 3, "sortText": "z_check_inplace_and_allows_duplicate_labels", "insertText": "_check_inplace_and_allows_duplicate_labels", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_check_is_chained_assignment_possible", "kind": 3, "sortText": "z_check_is_chained_assignment_possible", "insertText": "_check_is_chained_assignment_possible", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_check_label_or_level_ambiguity", "kind": 3, "sortText": "z_check_label_or_level_ambiguity", "insertText": "_check_label_or_level_ambiguity", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_check_setitem_copy", "kind": 3, "sortText": "z_check_setitem_copy", "insertText": "_check_setitem_copy", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_clear_item_cache", "kind": 3, "sortText": "z_clear_item_cache", "insertText": "_clear_item_cache", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_clip_with_one_bound", "kind": 3, "sortText": "z_clip_with_one_bound", "insertText": "_clip_with_one_bound", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_clip_with_scalar", "kind": 3, "sortText": "z_clip_with_scalar", "insertText": "_clip_with_scalar", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_cmp_method", "kind": 3, "sortText": "z_cmp_method", "insertText": "_cmp_method", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_combine_frame", "kind": 3, "sortText": "z_combine_frame", "insertText": "_combine_frame", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_consolidate", "kind": 3, "sortText": "z_consolidate", "insertText": "_consolidate", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_consolidate_inplace", "kind": 3, "sortText": "z_consolidate_inplace", "insertText": "_consolidate_inplace", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_construct_axes_dict", "kind": 3, "sortText": "z_construct_axes_dict", "insertText": "_construct_axes_dict", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_construct_result", "kind": 3, "sortText": "z_construct_result", "insertText": "_construct_result", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_constructor", "kind": 10, "sortText": "z_constructor", "insertText": "_constructor", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_constructor_from_mgr", "kind": 3, "sortText": "z_constructor_from_mgr", "insertText": "_constructor_from_mgr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_constructor_sliced", "kind": 6, "sortText": "z_constructor_sliced", "insertText": "_constructor_sliced", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_constructor_sliced_from_mgr", "kind": 3, "sortText": "z_constructor_sliced_from_mgr", "insertText": "_constructor_sliced_from_mgr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_create_data_for_split_and_tight_to_dict", "kind": 3, "sortText": "z_create_data_for_split_and_tight_to_dict", "insertText": "_create_data_for_split_and_tight_to_dict", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_data", "kind": 10, "sortText": "z_data", "insertText": "_data", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_deprecate_downcast", "kind": 3, "sortText": "z_deprecate_downcast", "insertText": "_deprecate_downcast", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_dir_additions", "kind": 3, "sortText": "z_dir_additions", "insertText": "_dir_additions", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_dir_deletions", "kind": 3, "sortText": "z_dir_deletions", "insertText": "_dir_deletions", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_dispatch_frame_op", "kind": 3, "sortText": "z_dispatch_frame_op", "insertText": "_dispatch_frame_op", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_drop_axis", "kind": 3, "sortText": "z_drop_axis", "insertText": "_drop_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_drop_labels_or_levels", "kind": 3, "sortText": "z_drop_labels_or_levels", "insertText": "_drop_labels_or_levels", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_ensure_valid_index", "kind": 3, "sortText": "z_ensure_valid_index", "insertText": "_ensure_valid_index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_find_valid_index", "kind": 3, "sortText": "z_find_valid_index", "insertText": "_find_valid_index", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_flex_arith_method", "kind": 3, "sortText": "z_flex_arith_method", "insertText": "_flex_arith_method", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_flex_cmp_method", "kind": 3, "sortText": "z_flex_cmp_method", "insertText": "_flex_cmp_method", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_from_arrays", "kind": 3, "sortText": "z_from_arrays", "insertText": "_from_arrays", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_from_mgr", "kind": 3, "sortText": "z_from_mgr", "insertText": "_from_mgr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_agg_axis", "kind": 3, "sortText": "z_get_agg_axis", "insertText": "_get_agg_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_axis", "kind": 3, "sortText": "z_get_axis", "insertText": "_get_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_axis_name", "kind": 3, "sortText": "z_get_axis_name", "insertText": "_get_axis_name", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_axis_number", "kind": 3, "sortText": "z_get_axis_number", "insertText": "_get_axis_number", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_axis_resolvers", "kind": 3, "sortText": "z_get_axis_resolvers", "insertText": "_get_axis_resolvers", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_block_manager_axis", "kind": 3, "sortText": "z_get_block_manager_axis", "insertText": "_get_block_manager_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_bool_data", "kind": 3, "sortText": "z_get_bool_data", "insertText": "_get_bool_data", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_cleaned_column_resolvers", "kind": 3, "sortText": "z_get_cleaned_column_resolvers", "insertText": "_get_cleaned_column_resolvers", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_column_array", "kind": 3, "sortText": "z_get_column_array", "insertText": "_get_column_array", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_index_resolvers", "kind": 3, "sortText": "z_get_index_resolvers", "insertText": "_get_index_resolvers", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_item_cache", "kind": 3, "sortText": "z_get_item_cache", "insertText": "_get_item_cache", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_label_or_level_values", "kind": 3, "sortText": "z_get_label_or_level_values", "insertText": "_get_label_or_level_values", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_numeric_data", "kind": 3, "sortText": "z_get_numeric_data", "insertText": "_get_numeric_data", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_value", "kind": 3, "sortText": "z_get_value", "insertText": "_get_value", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_get_values_for_csv", "kind": 3, "sortText": "z_get_values_for_csv", "insertText": "_get_values_for_csv", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_getitem_bool_array", "kind": 3, "sortText": "z_getitem_bool_array", "insertText": "_getitem_bool_array", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_getitem_multilevel", "kind": 3, "sortText": "z_getitem_multilevel", "insertText": "_getitem_multilevel", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_getitem_nocopy", "kind": 3, "sortText": "z_getitem_nocopy", "insertText": "_getitem_nocopy", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_getitem_slice", "kind": 3, "sortText": "z_getitem_slice", "insertText": "_getitem_slice", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_gotitem", "kind": 3, "sortText": "z_gotitem", "insertText": "_gotitem", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_HANDLED_TYPES", "kind": 6, "sortText": "z_HANDLED_TYPES", "insertText": "_HANDLED_TYPES", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_hidden_attrs", "kind": 6, "sortText": "z_hidden_attrs", "insertText": "_hidden_attrs", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_indexed_same", "kind": 3, "sortText": "z_indexed_same", "insertText": "_indexed_same", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_info_axis", "kind": 10, "sortText": "z_info_axis", "insertText": "_info_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_info_axis_name", "kind": 6, "sortText": "z_info_axis_name", "insertText": "_info_axis_name", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_info_axis_number", "kind": 6, "sortText": "z_info_axis_number", "insertText": "_info_axis_number", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_info_repr", "kind": 3, "sortText": "z_info_repr", "insertText": "_info_repr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_init_mgr", "kind": 3, "sortText": "z_init_mgr", "insertText": "_init_mgr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_inplace_method", "kind": 3, "sortText": "z_inplace_method", "insertText": "_inplace_method", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_internal_names", "kind": 6, "sortText": "z_internal_names", "insertText": "_internal_names", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_internal_names_set", "kind": 6, "sortText": "z_internal_names_set", "insertText": "_internal_names_set", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_copy", "kind": 6, "sortText": "z_is_copy", "insertText": "_is_copy", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_homogeneous_type", "kind": 10, "sortText": "z_is_homogeneous_type", "insertText": "_is_homogeneous_type", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_label_or_level_reference", "kind": 3, "sortText": "z_is_label_or_level_reference", "insertText": "_is_label_or_level_reference", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_label_reference", "kind": 3, "sortText": "z_is_label_reference", "insertText": "_is_label_reference", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_level_reference", "kind": 3, "sortText": "z_is_level_reference", "insertText": "_is_level_reference", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_mixed_type", "kind": 10, "sortText": "z_is_mixed_type", "insertText": "_is_mixed_type", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_view", "kind": 10, "sortText": "z_is_view", "insertText": "_is_view", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_is_view_after_cow_rules", "kind": 3, "sortText": "z_is_view_after_cow_rules", "insertText": "_is_view_after_cow_rules", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_iset_item", "kind": 3, "sortText": "z_iset_item", "insertText": "_iset_item", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_iset_item_mgr", "kind": 3, "sortText": "z_iset_item_mgr", "insertText": "_iset_item_mgr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_iset_not_inplace", "kind": 3, "sortText": "z_iset_not_inplace", "insertText": "_iset_not_inplace", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_item_cache", "kind": 6, "sortText": "z_item_cache", "insertText": "_item_cache", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_iter_column_arrays", "kind": 3, "sortText": "z_iter_column_arrays", "insertText": "_iter_column_arrays", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_ixs", "kind": 3, "sortText": "z_ixs", "insertText": "_ixs", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_logical_func", "kind": 3, "sortText": "z_logical_func", "insertText": "_logical_func", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_logical_method", "kind": 6, "sortText": "z_logical_method", "insertText": "_logical_method", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_maybe_align_series_as_frame", "kind": 3, "sortText": "z_maybe_align_series_as_frame", "insertText": "_maybe_align_series_as_frame", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_maybe_cache_changed", "kind": 3, "sortText": "z_maybe_cache_changed", "insertText": "_maybe_cache_changed", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_maybe_update_cacher", "kind": 3, "sortText": "z_maybe_update_cacher", "insertText": "_maybe_update_cacher", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_metadata", "kind": 6, "sortText": "z_metadata", "insertText": "_metadata", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_mgr", "kind": 6, "sortText": "z_mgr", "insertText": "_mgr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_min_count_stat_function", "kind": 3, "sortText": "z_min_count_stat_function", "insertText": "_min_count_stat_function", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_needs_reindex_multi", "kind": 3, "sortText": "z_needs_reindex_multi", "insertText": "_needs_reindex_multi", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_pad_or_backfill", "kind": 3, "sortText": "z_pad_or_backfill", "insertText": "_pad_or_backfill", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_protect_consolidate", "kind": 3, "sortText": "z_protect_consolidate", "insertText": "_protect_consolidate", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_reduce", "kind": 3, "sortText": "z_reduce", "insertText": "_reduce", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_reduce_axis1", "kind": 3, "sortText": "z_reduce_axis1", "insertText": "_reduce_axis1", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_reindex_axes", "kind": 3, "sortText": "z_reindex_axes", "insertText": "_reindex_axes", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_reindex_multi", "kind": 3, "sortText": "z_reindex_multi", "insertText": "_reindex_multi", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_reindex_with_indexers", "kind": 3, "sortText": "z_reindex_with_indexers", "insertText": "_reindex_with_indexers", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_rename", "kind": 3, "sortText": "z_rename", "insertText": "_rename", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_replace_columnwise", "kind": 3, "sortText": "z_replace_columnwise", "insertText": "_replace_columnwise", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_repr_data_resource_", "kind": 3, "sortText": "z_repr_data_resource_", "insertText": "_repr_data_resource_", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_repr_fits_horizontal_", "kind": 3, "sortText": "z_repr_fits_horizontal_", "insertText": "_repr_fits_horizontal_", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_repr_fits_vertical_", "kind": 3, "sortText": "z_repr_fits_vertical_", "insertText": "_repr_fits_vertical_", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_repr_html_", "kind": 3, "sortText": "z_repr_html_", "insertText": "_repr_html_", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_repr_latex_", "kind": 3, "sortText": "z_repr_latex_", "insertText": "_repr_latex_", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_reset_cache", "kind": 3, "sortText": "z_reset_cache", "insertText": "_reset_cache", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_reset_cacher", "kind": 3, "sortText": "z_reset_cacher", "insertText": "_reset_cacher", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_sanitize_column", "kind": 3, "sortText": "z_sanitize_column", "insertText": "_sanitize_column", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_series", "kind": 10, "sortText": "z_series", "insertText": "_series", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_axis", "kind": 3, "sortText": "z_set_axis", "insertText": "_set_axis", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_axis_name", "kind": 3, "sortText": "z_set_axis_name", "insertText": "_set_axis_name", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_axis_nocheck", "kind": 3, "sortText": "z_set_axis_nocheck", "insertText": "_set_axis_nocheck", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_is_copy", "kind": 3, "sortText": "z_set_is_copy", "insertText": "_set_is_copy", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_item", "kind": 3, "sortText": "z_set_item", "insertText": "_set_item", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_item_frame_value", "kind": 3, "sortText": "z_set_item_frame_value", "insertText": "_set_item_frame_value", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_item_mgr", "kind": 3, "sortText": "z_set_item_mgr", "insertText": "_set_item_mgr", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_set_value", "kind": 3, "sortText": "z_set_value", "insertText": "_set_value", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_setitem_array", "kind": 3, "sortText": "z_setitem_array", "insertText": "_setitem_array", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_setitem_frame", "kind": 3, "sortText": "z_setitem_frame", "insertText": "_setitem_frame", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_setitem_slice", "kind": 3, "sortText": "z_setitem_slice", "insertText": "_setitem_slice", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_shared_docs", "kind": 6, "sortText": "z_shared_docs", "insertText": "_shared_docs", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_shift_with_freq", "kind": 3, "sortText": "z_shift_with_freq", "insertText": "_shift_with_freq", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_should_reindex_frame_op", "kind": 3, "sortText": "z_should_reindex_frame_op", "insertText": "_should_reindex_frame_op", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_slice", "kind": 3, "sortText": "z_slice", "insertText": "_slice", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_stat_function", "kind": 3, "sortText": "z_stat_function", "insertText": "_stat_function", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_stat_function_ddof", "kind": 3, "sortText": "z_stat_function_ddof", "insertText": "_stat_function_ddof", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_take_with_is_copy", "kind": 3, "sortText": "z_take_with_is_copy", "insertText": "_take_with_is_copy", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_to_dict_of_blocks", "kind": 3, "sortText": "z_to_dict_of_blocks", "insertText": "_to_dict_of_blocks", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_to_latex_via_styler", "kind": 3, "sortText": "z_to_latex_via_styler", "insertText": "_to_latex_via_styler", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_typ", "kind": 6, "sortText": "z_typ", "insertText": "_typ", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_update_inplace", "kind": 3, "sortText": "z_update_inplace", "insertText": "_update_inplace", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_validate_dtype", "kind": 3, "sortText": "z_validate_dtype", "insertText": "_validate_dtype", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_values", "kind": 10, "sortText": "z_values", "insertText": "_values", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "_where", "kind": 3, "sortText": "z_where", "insertText": "_where", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__abs__", "kind": 3, "sortText": "z__abs__", "insertText": "__abs__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__add__", "kind": 3, "sortText": "z__add__", "insertText": "__add__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__and__", "kind": 3, "sortText": "z__and__", "insertText": "__and__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__annotations__", "kind": 6, "sortText": "z__annotations__", "insertText": "__annotations__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__array__", "kind": 3, "sortText": "z__array__", "insertText": "__array__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__array_priority__", "kind": 6, "sortText": "z__array_priority__", "insertText": "__array_priority__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__array_ufunc__", "kind": 3, "sortText": "z__array_ufunc__", "insertText": "__array_ufunc__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__arrow_c_stream__", "kind": 3, "sortText": "z__arrow_c_stream__", "insertText": "__arrow_c_stream__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__bool__", "kind": 6, "sortText": "z__bool__", "insertText": "__bool__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__class__", "kind": 10, "sortText": "z__class__", "insertText": "__class__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__contains__", "kind": 3, "sortText": "z__contains__", "insertText": "__contains__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__copy__", "kind": 3, "sortText": "z__copy__", "insertText": "__copy__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__dataframe__", "kind": 3, "sortText": "z__dataframe__", "insertText": "__dataframe__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__dataframe_consortium_standard__", "kind": 3, "sortText": "z__dataframe_consortium_standard__", "insertText": "__dataframe_consortium_standard__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__deepcopy__", "kind": 3, "sortText": "z__deepcopy__", "insertText": "__deepcopy__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__delattr__", "kind": 3, "sortText": "z__delattr__", "insertText": "__delattr__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__delitem__", "kind": 3, "sortText": "z__delitem__", "insertText": "__delitem__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__dict__", "kind": 6, "sortText": "z__dict__", "insertText": "__dict__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__dir__", "kind": 3, "sortText": "z__dir__", "insertText": "__dir__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__divmod__", "kind": 3, "sortText": "z__divmod__", "insertText": "__divmod__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__doc__", "kind": 6, "sortText": "z__doc__", "insertText": "__doc__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__eq__", "kind": 3, "sortText": "z__eq__", "insertText": "__eq__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__finalize__", "kind": 3, "sortText": "z__finalize__", "insertText": "__finalize__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__floordiv__", "kind": 3, "sortText": "z__floordiv__", "insertText": "__floordiv__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__format__", "kind": 3, "sortText": "z__format__", "insertText": "__format__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__ge__", "kind": 3, "sortText": "z__ge__", "insertText": "__ge__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__getattr__", "kind": 3, "sortText": "z__getattr__", "insertText": "__getattr__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__getattribute__", "kind": 3, "sortText": "z__getattribute__", "insertText": "__getattribute__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__getitem__", "kind": 3, "sortText": "z__getitem__", "insertText": "__getitem__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__getstate__", "kind": 3, "sortText": "z__getstate__", "insertText": "__getstate__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__gt__", "kind": 3, "sortText": "z__gt__", "insertText": "__gt__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__hash__", "kind": 6, "sortText": "z__hash__", "insertText": "__hash__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__iadd__", "kind": 3, "sortText": "z__iadd__", "insertText": "__iadd__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__iand__", "kind": 3, "sortText": "z__iand__", "insertText": "__iand__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__ifloordiv__", "kind": 3, "sortText": "z__ifloordiv__", "insertText": "__ifloordiv__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__imod__", "kind": 3, "sortText": "z__imod__", "insertText": "__imod__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__imul__", "kind": 3, "sortText": "z__imul__", "insertText": "__imul__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__init__", "kind": 3, "sortText": "z__init__", "insertText": "__init__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__init_subclass__", "kind": 3, "sortText": "z__init_subclass__", "insertText": "__init_subclass__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__invert__", "kind": 3, "sortText": "z__invert__", "insertText": "__invert__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__ior__", "kind": 3, "sortText": "z__ior__", "insertText": "__ior__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__ipow__", "kind": 3, "sortText": "z__ipow__", "insertText": "__ipow__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__isub__", "kind": 3, "sortText": "z__isub__", "insertText": "__isub__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__iter__", "kind": 3, "sortText": "z__iter__", "insertText": "__iter__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__itruediv__", "kind": 3, "sortText": "z__itruediv__", "insertText": "__itruediv__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__ixor__", "kind": 3, "sortText": "z__ixor__", "insertText": "__ixor__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__le__", "kind": 3, "sortText": "z__le__", "insertText": "__le__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__len__", "kind": 3, "sortText": "z__len__", "insertText": "__len__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__lt__", "kind": 3, "sortText": "z__lt__", "insertText": "__lt__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__matmul__", "kind": 3, "sortText": "z__matmul__", "insertText": "__matmul__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__mod__", "kind": 3, "sortText": "z__mod__", "insertText": "__mod__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__module__", "kind": 6, "sortText": "z__module__", "insertText": "__module__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__mul__", "kind": 3, "sortText": "z__mul__", "insertText": "__mul__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__ne__", "kind": 3, "sortText": "z__ne__", "insertText": "__ne__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__neg__", "kind": 3, "sortText": "z__neg__", "insertText": "__neg__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__new__", "kind": 3, "sortText": "z__new__", "insertText": "__new__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__nonzero__", "kind": 3, "sortText": "z__nonzero__", "insertText": "__nonzero__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__or__", "kind": 3, "sortText": "z__or__", "insertText": "__or__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__pandas_priority__", "kind": 6, "sortText": "z__pandas_priority__", "insertText": "__pandas_priority__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__pos__", "kind": 3, "sortText": "z__pos__", "insertText": "__pos__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__pow__", "kind": 3, "sortText": "z__pow__", "insertText": "__pow__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__radd__", "kind": 3, "sortText": "z__radd__", "insertText": "__radd__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rand__", "kind": 3, "sortText": "z__rand__", "insertText": "__rand__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rdivmod__", "kind": 3, "sortText": "z__rdivmod__", "insertText": "__rdivmod__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__reduce__", "kind": 3, "sortText": "z__reduce__", "insertText": "__reduce__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__reduce_ex__", "kind": 3, "sortText": "z__reduce_ex__", "insertText": "__reduce_ex__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__repr__", "kind": 3, "sortText": "z__repr__", "insertText": "__repr__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rfloordiv__", "kind": 3, "sortText": "z__rfloordiv__", "insertText": "__rfloordiv__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rmatmul__", "kind": 3, "sortText": "z__rmatmul__", "insertText": "__rmatmul__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rmod__", "kind": 3, "sortText": "z__rmod__", "insertText": "__rmod__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rmul__", "kind": 3, "sortText": "z__rmul__", "insertText": "__rmul__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__ror__", "kind": 3, "sortText": "z__ror__", "insertText": "__ror__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__round__", "kind": 3, "sortText": "z__round__", "insertText": "__round__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rpow__", "kind": 3, "sortText": "z__rpow__", "insertText": "__rpow__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rsub__", "kind": 3, "sortText": "z__rsub__", "insertText": "__rsub__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rtruediv__", "kind": 3, "sortText": "z__rtruediv__", "insertText": "__rtruediv__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__rxor__", "kind": 3, "sortText": "z__rxor__", "insertText": "__rxor__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__setattr__", "kind": 3, "sortText": "z__setattr__", "insertText": "__setattr__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__setitem__", "kind": 3, "sortText": "z__setitem__", "insertText": "__setitem__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__setstate__", "kind": 3, "sortText": "z__setstate__", "insertText": "__setstate__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__sizeof__", "kind": 3, "sortText": "z__sizeof__", "insertText": "__sizeof__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__str__", "kind": 3, "sortText": "z__str__", "insertText": "__str__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__sub__", "kind": 3, "sortText": "z__sub__", "insertText": "__sub__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__subclasshook__", "kind": 3, "sortText": "z__subclasshook__", "insertText": "__subclasshook__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__truediv__", "kind": 3, "sortText": "z__truediv__", "insertText": "__truediv__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}, {"label": "__xor__", "kind": 3, "sortText": "z__xor__", "insertText": "__xor__", "data": {"doc_uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}}]}} {"suite": "pandas", "label": "edit dataframe then hover (edit+hover)", "method": "textDocument/hover", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py", "line": 17, "character": 20, "iteration": 1, "result": {"contents": {"kind": "markdown", "value": "```python\ndrop(\n labels: IndexLabel = ...,\n *,\n axis: Axis = ...,\n index: IndexLabel = ...,\n columns: IndexLabel = ...,\n level: Level = ...,\n inplace: Literal[True],\n errors: IgnoreRaise = ...,\n) -> None\n```\n"}}} {"suite": "pandas", "label": "edit dataframe then hover (edit+hover)", "method": "textDocument/hover", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py", "line": 17, "character": 20, "iteration": 2, "result": {"contents": {"kind": "markdown", "value": "```python\ndrop(\n labels: IndexLabel = ...,\n *,\n axis: Axis = ...,\n index: IndexLabel = ...,\n columns: IndexLabel = ...,\n level: Level = ...,\n inplace: Literal[True],\n errors: IgnoreRaise = ...,\n) -> None\n```\n"}}} diff --git a/latest-results/pylsp-mypy-20260921T060722Z.json b/latest-results/pylsp-mypy-20260922T060545Z.json similarity index 90% rename from latest-results/pylsp-mypy-20260921T060722Z.json rename to latest-results/pylsp-mypy-20260922T060545Z.json index 90826f8..ea4e49e 100644 --- a/latest-results/pylsp-mypy-20260921T060722Z.json +++ b/latest-results/pylsp-mypy-20260922T060545Z.json @@ -11,8 +11,8 @@ "transformers", "web" ], - "started_at_unix": 1789970976.2994633, - "finished_at_unix": 1789971192.1860998, + "started_at_unix": 1790057279.403082, + "finished_at_unix": 1790057495.803947, "scenario_reports": [], "benchmark_reports": [ { @@ -25,7 +25,7 @@ "environment_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/data_science/.venv", "python_executable": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/data_science/.venv/bin/python", "success": false, - "total_duration_ms": 8025.241606000009, + "total_duration_ms": 7706.455822999998, "error_message": null, "summary": { "request_count": 32, @@ -34,11 +34,11 @@ "failure_count": 0, "bytes_sent": 18656, "bytes_received": 310574, - "min_ms": 0.8765540000013061, - "max_ms": 1960.16638399999, - "mean_ms": 249.84177021874922, - "median_ms": 168.7752025000009, - "p95_ms": 1329.2611336500054, + "min_ms": 0.860260000024482, + "max_ms": 1923.9313159999938, + "mean_ms": 240.02274231250098, + "median_ms": 154.1179945000124, + "p95_ms": 1307.206344400009, "result_summary": { "present_count": 31, "empty_count": 7, @@ -94,27 +94,27 @@ "by_method": { "textDocument/completion": { "point_count": 2, - "min_ms": 4.347984000048655, - "max_ms": 490.1469140000074, - "mean_ms": 121.75791650000178, - "median_ms": 35.75471300000288, - "p95_ms": 443.95808060000513 + "min_ms": 4.279378999967776, + "max_ms": 514.2084240000031, + "mean_ms": 108.78407039999729, + "median_ms": 36.01206299998694, + "p95_ms": 401.02891274999564 }, "textDocument/hover": { "point_count": 2, - "min_ms": 167.461564000007, - "max_ms": 184.72658600001068, - "mean_ms": 177.21303299999818, - "median_ms": 177.60846800000252, - "p95_ms": 184.23911044999812 + "min_ms": 163.45268200001328, + "max_ms": 179.41463799996882, + "mean_ms": 171.46953189999863, + "median_ms": 171.78166049998822, + "p95_ms": 178.23478254999543 }, "textDocument/definition": { "point_count": 1, - "min_ms": 1.0337770000035107, - "max_ms": 1.1077249999971173, - "mean_ms": 1.0531573999969623, - "median_ms": 1.037945000007312, - "p95_ms": 1.0961775999930978 + "min_ms": 0.9858230000077128, + "max_ms": 1.1070899999481298, + "mean_ms": 1.0330769999995937, + "median_ms": 1.019385000006423, + "p95_ms": 1.0982011999658425 } }, "validation": { @@ -140,11 +140,11 @@ "failure_count": 0, "bytes_sent": 1425, "bytes_received": 202685, - "min_ms": 66.78040099998839, - "max_ms": 490.1469140000074, - "mean_ms": 238.91272660000027, - "median_ms": 171.73292900000092, - "p95_ms": 469.6185436000064, + "min_ms": 67.34805600001437, + "max_ms": 514.2084240000031, + "mean_ms": 213.17441640001107, + "median_ms": 144.78330700001152, + "p95_ms": 463.90641899999986, "result_summary": { "present_count": 5, "empty_count": 0, @@ -204,9 +204,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 1657.2562610000148, + "duration_ms": 1647.1803370000089, "success": true, - "started_at_unix": 1789970976.6273825, + "started_at_unix": 1790057279.6820369, "bytes_sent": 285, "bytes_received": 40537, "request_id": 2, @@ -234,9 +234,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 171.73292900000092, + "duration_ms": 144.78330700001152, "success": true, - "started_at_unix": 1789970978.2853174, + "started_at_unix": 1790057281.3298771, "bytes_sent": 285, "bytes_received": 40537, "request_id": 3, @@ -264,9 +264,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 490.1469140000074, + "duration_ms": 514.2084240000031, "success": true, - "started_at_unix": 1789970978.458922, + "started_at_unix": 1790057281.4756505, "bytes_sent": 285, "bytes_received": 40537, "request_id": 4, @@ -294,9 +294,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 387.50506200000245, + "duration_ms": 262.69839899998715, "success": true, - "started_at_unix": 1789970978.9510431, + "started_at_unix": 1790057281.9908564, "bytes_sent": 285, "bytes_received": 40537, "request_id": 5, @@ -324,9 +324,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 78.39832700000215, + "duration_ms": 76.8338960000392, "success": true, - "started_at_unix": 1789970979.3405457, + "started_at_unix": 1790057282.2545488, "bytes_sent": 285, "bytes_received": 40537, "request_id": 6, @@ -354,9 +354,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 66.78040099998839, + "duration_ms": 67.34805600001437, "success": true, - "started_at_unix": 1789970979.4208705, + "started_at_unix": 1790057282.3323603, "bytes_sent": 285, "bytes_received": 40537, "request_id": 7, @@ -399,11 +399,11 @@ "failure_count": 0, "bytes_sent": 1269, "bytes_received": 22644, - "min_ms": 181.9672229999867, - "max_ms": 184.72658600001068, - "mean_ms": 183.3277790000011, - "median_ms": 183.52817300001334, - "p95_ms": 184.5099302000051, + "min_ms": 175.3685150000024, + "max_ms": 179.41463799996882, + "mean_ms": 176.77088000000367, + "median_ms": 176.46964200002913, + "p95_ms": 178.89025779998065, "result_summary": { "present_count": 5, "empty_count": 0, @@ -463,9 +463,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 1960.16638399999, + "duration_ms": 1923.9313159999938, "success": true, - "started_at_unix": 1789970979.4889996, + "started_at_unix": 1790057282.4008276, "bytes_sent": 253, "bytes_received": 4528, "request_id": 8, @@ -493,9 +493,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 183.64330699998277, + "duration_ms": 175.3685150000024, "success": true, - "started_at_unix": 1789970981.4492636, + "started_at_unix": 1790057284.3248684, "bytes_sent": 253, "bytes_received": 4528, "request_id": 9, @@ -523,9 +523,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 184.72658600001068, + "duration_ms": 175.80886799999007, "success": true, - "started_at_unix": 1789970981.6330307, + "started_at_unix": 1790057284.50036, "bytes_sent": 254, "bytes_received": 4529, "request_id": 10, @@ -553,9 +553,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 181.9672229999867, + "duration_ms": 179.41463799996882, "success": true, - "started_at_unix": 1789970981.8179398, + "started_at_unix": 1790057284.6763237, "bytes_sent": 254, "bytes_received": 4529, "request_id": 11, @@ -583,9 +583,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 183.52817300001334, + "duration_ms": 176.79273700002796, "success": true, - "started_at_unix": 1789970982.0000317, + "started_at_unix": 1790057284.8558612, "bytes_sent": 254, "bytes_received": 4529, "request_id": 12, @@ -613,9 +613,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 182.77360600001202, + "duration_ms": 176.46964200002913, "success": true, - "started_at_unix": 1789970982.1837296, + "started_at_unix": 1790057285.0328183, "bytes_sent": 254, "bytes_received": 4529, "request_id": 13, @@ -658,11 +658,11 @@ "failure_count": 0, "bytes_sent": 1300, "bytes_received": 1570, - "min_ms": 1.0337770000035107, - "max_ms": 1.1077249999971173, - "mean_ms": 1.0531573999969623, - "median_ms": 1.037945000007312, - "p95_ms": 1.0961775999930978, + "min_ms": 0.9858230000077128, + "max_ms": 1.1070899999481298, + "mean_ms": 1.0330769999995937, + "median_ms": 1.019385000006423, + "p95_ms": 1.0982011999658425, "result_summary": { "present_count": 5, "empty_count": 0, @@ -722,9 +722,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.4033449999999448, + "duration_ms": 1.403422999999293, "success": true, - "started_at_unix": 1789970982.3667164, + "started_at_unix": 1790057285.2095184, "bytes_sent": 260, "bytes_received": 314, "request_id": 14, @@ -752,9 +752,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.1077249999971173, + "duration_ms": 1.1070899999481298, "success": true, - "started_at_unix": 1789970982.3681617, + "started_at_unix": 1790057285.2109702, "bytes_sent": 260, "bytes_received": 314, "request_id": 15, @@ -782,9 +782,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.037945000007312, + "duration_ms": 1.0626460000366933, "success": true, - "started_at_unix": 1789970982.3693178, + "started_at_unix": 1790057285.2121315, "bytes_sent": 260, "bytes_received": 314, "request_id": 16, @@ -812,9 +812,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.04998799997702, + "duration_ms": 1.019385000006423, "success": true, - "started_at_unix": 1789970982.3703997, + "started_at_unix": 1790057285.213238, "bytes_sent": 260, "bytes_received": 314, "request_id": 17, @@ -842,9 +842,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.0337770000035107, + "duration_ms": 0.9858230000077128, "success": true, - "started_at_unix": 1789970982.3715045, + "started_at_unix": 1790057285.2143013, "bytes_sent": 260, "bytes_received": 314, "request_id": 18, @@ -872,9 +872,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.0363519999998516, + "duration_ms": 0.9904409999990094, "success": true, - "started_at_unix": 1789970982.372581, + "started_at_unix": 1790057285.2153296, "bytes_sent": 260, "bytes_received": 314, "request_id": 19, @@ -917,11 +917,11 @@ "failure_count": 0, "bytes_sent": 1440, "bytes_received": 730, - "min_ms": 4.347984000048655, - "max_ms": 4.729025000017373, - "mean_ms": 4.603106400003298, - "median_ms": 4.6627919999764345, - "p95_ms": 4.717281200009893, + "min_ms": 4.279378999967776, + "max_ms": 4.676069999959509, + "mean_ms": 4.393724399983512, + "median_ms": 4.326435999985279, + "p95_ms": 4.619566399969699, "result_summary": { "present_count": 5, "empty_count": 5, @@ -981,9 +981,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 6.108776999980137, + "duration_ms": 5.409492000012506, "success": true, - "started_at_unix": 1789970982.3738666, + "started_at_unix": 1790057285.2165265, "bytes_sent": 288, "bytes_received": 146, "request_id": 20, @@ -1011,9 +1011,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.605424999994057, + "duration_ms": 4.393552000010459, "success": true, - "started_at_unix": 1789970982.3800738, + "started_at_unix": 1790057285.2220204, "bytes_sent": 288, "bytes_received": 146, "request_id": 21, @@ -1041,9 +1041,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.6627919999764345, + "duration_ms": 4.676069999959509, "success": true, - "started_at_unix": 1789970982.384826, + "started_at_unix": 1790057285.2265048, "bytes_sent": 288, "bytes_received": 146, "request_id": 22, @@ -1071,9 +1071,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.347984000048655, + "duration_ms": 4.326435999985279, "success": true, - "started_at_unix": 1789970982.3896096, + "started_at_unix": 1790057285.2312775, "bytes_sent": 288, "bytes_received": 146, "request_id": 23, @@ -1101,9 +1101,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.729025000017373, + "duration_ms": 4.293184999994537, "success": true, - "started_at_unix": 1789970982.3940554, + "started_at_unix": 1790057285.2356966, "bytes_sent": 288, "bytes_received": 146, "request_id": 24, @@ -1131,9 +1131,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.670305999979973, + "duration_ms": 4.279378999967776, "success": true, - "started_at_unix": 1789970982.3989398, + "started_at_unix": 1790057285.2401125, "bytes_sent": 288, "bytes_received": 146, "request_id": 25, @@ -1176,11 +1176,11 @@ "failure_count": 0, "bytes_sent": 1275, "bytes_received": 30280, - "min_ms": 167.461564000007, - "max_ms": 173.24971300001835, - "mean_ms": 171.09828699999525, - "median_ms": 171.8290359999628, - "p95_ms": 173.17222660001335, + "min_ms": 163.45268200001328, + "max_ms": 168.19480599997405, + "mean_ms": 166.16818379999359, + "median_ms": 166.31276799995476, + "p95_ms": 168.06677459998127, "result_summary": { "present_count": 5, "empty_count": 0, @@ -1240,9 +1240,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 1060.9014839999986, + "duration_ms": 1029.0458050000098, "success": true, - "started_at_unix": 1789970982.403982, + "started_at_unix": 1790057285.244655, "bytes_sent": 255, "bytes_received": 6056, "request_id": 26, @@ -1270,9 +1270,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 167.461564000007, + "duration_ms": 166.31276799995476, "success": true, - "started_at_unix": 1789970983.4650662, + "started_at_unix": 1790057286.2738605, "bytes_sent": 255, "bytes_received": 6056, "request_id": 27, @@ -1300,9 +1300,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 170.08884099999477, + "duration_ms": 165.32601400001568, "success": true, - "started_at_unix": 1789970983.6327434, + "started_at_unix": 1790057286.4403644, "bytes_sent": 255, "bytes_received": 6056, "request_id": 28, @@ -1330,9 +1330,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 171.8290359999628, + "duration_ms": 167.55464900001016, "success": true, - "started_at_unix": 1789970983.8030844, + "started_at_unix": 1790057286.605959, "bytes_sent": 255, "bytes_received": 6056, "request_id": 29, @@ -1360,9 +1360,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 173.24971300001835, + "duration_ms": 163.45268200001328, "success": true, - "started_at_unix": 1789970983.9751117, + "started_at_unix": 1790057286.7737255, "bytes_sent": 255, "bytes_received": 6056, "request_id": 30, @@ -1390,9 +1390,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 172.86228099999335, + "duration_ms": 168.19480599997405, "success": true, - "started_at_unix": 1789970984.1486228, + "started_at_unix": 1790057286.9374123, "bytes_sent": 255, "bytes_received": 6056, "request_id": 31, @@ -1424,9 +1424,9 @@ { "kind": "request", "method": "initialize", - "duration_ms": 313.2485600000052, + "duration_ms": 265.19571300002553, "success": true, - "started_at_unix": 1789970976.3137121, + "started_at_unix": 1790057279.4164405, "bytes_sent": 673, "bytes_received": 967, "request_id": 1, @@ -1445,9 +1445,9 @@ { "kind": "notification", "method": "initialized", - "duration_ms": 0.0292240000021593, + "duration_ms": 0.027362000025732414, "success": true, - "started_at_unix": 1789970976.6270614, + "started_at_unix": 1790057279.681739, "bytes_sent": 74, "bytes_received": 0, "request_id": null, @@ -1460,9 +1460,9 @@ { "kind": "notification", "method": "workspace/didChangeConfiguration", - "duration_ms": 0.033311999999341424, + "duration_ms": 0.020587999983945338, "success": true, - "started_at_unix": 1789970976.6271462, + "started_at_unix": 1790057279.681817, "bytes_sent": 659, "bytes_received": 0, "request_id": null, @@ -1478,9 +1478,9 @@ { "kind": "notification", "method": "textDocument/didOpen", - "duration_ms": 0.02774099999669488, + "duration_ms": 0.034163999998781946, "success": true, - "started_at_unix": 1789970976.627307, + "started_at_unix": 1790057279.6819458, "bytes_sent": 492, "bytes_received": 0, "request_id": null, @@ -1496,9 +1496,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 1657.2562610000148, + "duration_ms": 1647.1803370000089, "success": true, - "started_at_unix": 1789970976.6273825, + "started_at_unix": 1790057279.6820369, "bytes_sent": 285, "bytes_received": 40537, "request_id": 2, @@ -1526,9 +1526,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 171.73292900000092, + "duration_ms": 144.78330700001152, "success": true, - "started_at_unix": 1789970978.2853174, + "started_at_unix": 1790057281.3298771, "bytes_sent": 285, "bytes_received": 40537, "request_id": 3, @@ -1556,9 +1556,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 490.1469140000074, + "duration_ms": 514.2084240000031, "success": true, - "started_at_unix": 1789970978.458922, + "started_at_unix": 1790057281.4756505, "bytes_sent": 285, "bytes_received": 40537, "request_id": 4, @@ -1586,9 +1586,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 387.50506200000245, + "duration_ms": 262.69839899998715, "success": true, - "started_at_unix": 1789970978.9510431, + "started_at_unix": 1790057281.9908564, "bytes_sent": 285, "bytes_received": 40537, "request_id": 5, @@ -1616,9 +1616,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 78.39832700000215, + "duration_ms": 76.8338960000392, "success": true, - "started_at_unix": 1789970979.3405457, + "started_at_unix": 1790057282.2545488, "bytes_sent": 285, "bytes_received": 40537, "request_id": 6, @@ -1646,9 +1646,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 66.78040099998839, + "duration_ms": 67.34805600001437, "success": true, - "started_at_unix": 1789970979.4208705, + "started_at_unix": 1790057282.3323603, "bytes_sent": 285, "bytes_received": 40537, "request_id": 7, @@ -1676,9 +1676,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 1960.16638399999, + "duration_ms": 1923.9313159999938, "success": true, - "started_at_unix": 1789970979.4889996, + "started_at_unix": 1790057282.4008276, "bytes_sent": 253, "bytes_received": 4528, "request_id": 8, @@ -1706,9 +1706,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 183.64330699998277, + "duration_ms": 175.3685150000024, "success": true, - "started_at_unix": 1789970981.4492636, + "started_at_unix": 1790057284.3248684, "bytes_sent": 253, "bytes_received": 4528, "request_id": 9, @@ -1736,9 +1736,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 184.72658600001068, + "duration_ms": 175.80886799999007, "success": true, - "started_at_unix": 1789970981.6330307, + "started_at_unix": 1790057284.50036, "bytes_sent": 254, "bytes_received": 4529, "request_id": 10, @@ -1766,9 +1766,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 181.9672229999867, + "duration_ms": 179.41463799996882, "success": true, - "started_at_unix": 1789970981.8179398, + "started_at_unix": 1790057284.6763237, "bytes_sent": 254, "bytes_received": 4529, "request_id": 11, @@ -1796,9 +1796,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 183.52817300001334, + "duration_ms": 176.79273700002796, "success": true, - "started_at_unix": 1789970982.0000317, + "started_at_unix": 1790057284.8558612, "bytes_sent": 254, "bytes_received": 4529, "request_id": 12, @@ -1826,9 +1826,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 182.77360600001202, + "duration_ms": 176.46964200002913, "success": true, - "started_at_unix": 1789970982.1837296, + "started_at_unix": 1790057285.0328183, "bytes_sent": 254, "bytes_received": 4529, "request_id": 13, @@ -1856,9 +1856,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.4033449999999448, + "duration_ms": 1.403422999999293, "success": true, - "started_at_unix": 1789970982.3667164, + "started_at_unix": 1790057285.2095184, "bytes_sent": 260, "bytes_received": 314, "request_id": 14, @@ -1886,9 +1886,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.1077249999971173, + "duration_ms": 1.1070899999481298, "success": true, - "started_at_unix": 1789970982.3681617, + "started_at_unix": 1790057285.2109702, "bytes_sent": 260, "bytes_received": 314, "request_id": 15, @@ -1916,9 +1916,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.037945000007312, + "duration_ms": 1.0626460000366933, "success": true, - "started_at_unix": 1789970982.3693178, + "started_at_unix": 1790057285.2121315, "bytes_sent": 260, "bytes_received": 314, "request_id": 16, @@ -1946,9 +1946,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.04998799997702, + "duration_ms": 1.019385000006423, "success": true, - "started_at_unix": 1789970982.3703997, + "started_at_unix": 1790057285.213238, "bytes_sent": 260, "bytes_received": 314, "request_id": 17, @@ -1976,9 +1976,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.0337770000035107, + "duration_ms": 0.9858230000077128, "success": true, - "started_at_unix": 1789970982.3715045, + "started_at_unix": 1790057285.2143013, "bytes_sent": 260, "bytes_received": 314, "request_id": 18, @@ -2006,9 +2006,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.0363519999998516, + "duration_ms": 0.9904409999990094, "success": true, - "started_at_unix": 1789970982.372581, + "started_at_unix": 1790057285.2153296, "bytes_sent": 260, "bytes_received": 314, "request_id": 19, @@ -2036,9 +2036,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.027782000017850805, + "duration_ms": 0.026961000003211666, "success": true, - "started_at_unix": 1789970982.3738294, + "started_at_unix": 1790057285.2164907, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -2055,9 +2055,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 6.108776999980137, + "duration_ms": 5.409492000012506, "success": true, - "started_at_unix": 1789970982.3738666, + "started_at_unix": 1790057285.2165265, "bytes_sent": 288, "bytes_received": 146, "request_id": 20, @@ -2085,9 +2085,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.023884000000862216, + "duration_ms": 0.022791999981564004, "success": true, - "started_at_unix": 1789970982.3800201, + "started_at_unix": 1790057285.2219691, "bytes_sent": 332, "bytes_received": 0, "request_id": null, @@ -2104,9 +2104,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.014857999985906645, + "duration_ms": 0.014206999992438796, "success": true, - "started_at_unix": 1789970982.3800519, + "started_at_unix": 1790057285.2219996, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -2123,9 +2123,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.605424999994057, + "duration_ms": 4.393552000010459, "success": true, - "started_at_unix": 1789970982.3800738, + "started_at_unix": 1790057285.2220204, "bytes_sent": 288, "bytes_received": 146, "request_id": 21, @@ -2153,9 +2153,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.04875100000845123, + "duration_ms": 0.0217709999787985, "success": true, - "started_at_unix": 1789970982.3847253, + "started_at_unix": 1790057285.2264555, "bytes_sent": 332, "bytes_received": 0, "request_id": null, @@ -2172,9 +2172,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.027961999990111508, + "duration_ms": 0.013826000042627129, "success": true, - "started_at_unix": 1789970982.3847857, + "started_at_unix": 1790057285.2264845, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -2191,9 +2191,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.6627919999764345, + "duration_ms": 4.676069999959509, "success": true, - "started_at_unix": 1789970982.384826, + "started_at_unix": 1790057285.2265048, "bytes_sent": 288, "bytes_received": 146, "request_id": 22, @@ -2221,9 +2221,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02739100000326289, + "duration_ms": 0.02327300001070398, "success": true, - "started_at_unix": 1789970982.3895342, + "started_at_unix": 1790057285.2312253, "bytes_sent": 332, "bytes_received": 0, "request_id": null, @@ -2240,9 +2240,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02525700000433062, + "duration_ms": 0.014216000010947027, "success": true, - "started_at_unix": 1789970982.3895724, + "started_at_unix": 1790057285.2312562, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -2259,9 +2259,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.347984000048655, + "duration_ms": 4.326435999985279, "success": true, - "started_at_unix": 1789970982.3896096, + "started_at_unix": 1790057285.2312775, "bytes_sent": 288, "bytes_received": 146, "request_id": 23, @@ -2289,9 +2289,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.022472000011930504, + "duration_ms": 0.02218200000925208, "success": true, - "started_at_unix": 1789970982.3940027, + "started_at_unix": 1790057285.2356467, "bytes_sent": 332, "bytes_received": 0, "request_id": null, @@ -2308,9 +2308,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.015519999976731924, + "duration_ms": 0.013796000018828636, "success": true, - "started_at_unix": 1789970982.3940327, + "started_at_unix": 1790057285.2356758, "bytes_sent": 366, "bytes_received": 0, "request_id": null, @@ -2327,9 +2327,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.729025000017373, + "duration_ms": 4.293184999994537, "success": true, - "started_at_unix": 1789970982.3940554, + "started_at_unix": 1790057285.2356966, "bytes_sent": 288, "bytes_received": 146, "request_id": 24, @@ -2357,9 +2357,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.028401999998095562, + "duration_ms": 0.022242000000005646, "success": true, - "started_at_unix": 1789970982.398863, + "started_at_unix": 1790057285.2400625, "bytes_sent": 333, "bytes_received": 0, "request_id": null, @@ -2376,9 +2376,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.025517999972635153, + "duration_ms": 0.013485000010859949, "success": true, - "started_at_unix": 1789970982.3989031, + "started_at_unix": 1790057285.2400923, "bytes_sent": 366, "bytes_received": 0, "request_id": null, @@ -2395,9 +2395,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.670305999979973, + "duration_ms": 4.279378999967776, "success": true, - "started_at_unix": 1789970982.3989398, + "started_at_unix": 1790057285.2401125, "bytes_sent": 288, "bytes_received": 146, "request_id": 25, @@ -2425,9 +2425,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02697999997280931, + "duration_ms": 0.020548000009057432, "success": true, - "started_at_unix": 1789970982.4036574, + "started_at_unix": 1790057285.2444332, "bytes_sent": 333, "bytes_received": 0, "request_id": null, @@ -2444,9 +2444,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03421399998160268, + "duration_ms": 0.021539999977449042, "success": true, - "started_at_unix": 1789970982.403936, + "started_at_unix": 1790057285.2446246, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -2463,9 +2463,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 1060.9014839999986, + "duration_ms": 1029.0458050000098, "success": true, - "started_at_unix": 1789970982.403982, + "started_at_unix": 1790057285.244655, "bytes_sent": 255, "bytes_received": 6056, "request_id": 26, @@ -2493,9 +2493,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03440399996179622, + "duration_ms": 0.029865999977118918, "success": true, - "started_at_unix": 1789970983.4649832, + "started_at_unix": 1790057286.2737973, "bytes_sent": 333, "bytes_received": 0, "request_id": null, @@ -2512,9 +2512,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.024124999981722794, + "duration_ms": 0.015408000024308421, "success": true, - "started_at_unix": 1789970983.4650304, + "started_at_unix": 1790057286.273837, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -2531,9 +2531,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 167.461564000007, + "duration_ms": 166.31276799995476, "success": true, - "started_at_unix": 1789970983.4650662, + "started_at_unix": 1790057286.2738605, "bytes_sent": 255, "bytes_received": 6056, "request_id": 27, @@ -2561,9 +2561,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.032149999981356814, + "duration_ms": 0.027020999993965233, "success": true, - "started_at_unix": 1789970983.6326635, + "started_at_unix": 1790057286.4403055, "bytes_sent": 333, "bytes_received": 0, "request_id": null, @@ -2580,9 +2580,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02368400004115756, + "duration_ms": 0.01432699997394593, "success": true, - "started_at_unix": 1789970983.6327083, + "started_at_unix": 1790057286.440342, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -2599,9 +2599,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 170.08884099999477, + "duration_ms": 165.32601400001568, "success": true, - "started_at_unix": 1789970983.6327434, + "started_at_unix": 1790057286.4403644, "bytes_sent": 255, "bytes_received": 6056, "request_id": 28, @@ -2629,9 +2629,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03206000002364817, + "duration_ms": 0.041758000008940144, "success": true, - "started_at_unix": 1789970983.8030045, + "started_at_unix": 1790057286.6058664, "bytes_sent": 333, "bytes_received": 0, "request_id": null, @@ -2648,9 +2648,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02302299998291346, + "duration_ms": 0.0245060000452213, "success": true, - "started_at_unix": 1789970983.8030498, + "started_at_unix": 1790057286.6059213, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -2667,9 +2667,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 171.8290359999628, + "duration_ms": 167.55464900001016, "success": true, - "started_at_unix": 1789970983.8030844, + "started_at_unix": 1790057286.605959, "bytes_sent": 255, "bytes_received": 6056, "request_id": 29, @@ -2697,9 +2697,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02696999996487648, + "duration_ms": 0.02689999996619008, "success": true, - "started_at_unix": 1789970983.9750514, + "started_at_unix": 1790057286.7736654, "bytes_sent": 333, "bytes_received": 0, "request_id": null, @@ -2716,9 +2716,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.014265999993767764, + "duration_ms": 0.014968000016324368, "success": true, - "started_at_unix": 1789970983.9750881, + "started_at_unix": 1790057286.773702, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -2735,9 +2735,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 173.24971300001835, + "duration_ms": 163.45268200001328, "success": true, - "started_at_unix": 1789970983.9751117, + "started_at_unix": 1790057286.7737255, "bytes_sent": 255, "bytes_received": 6056, "request_id": 30, @@ -2765,9 +2765,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03768999999920197, + "duration_ms": 0.02882400002590657, "success": true, - "started_at_unix": 1789970984.148549, + "started_at_unix": 1790057286.9373498, "bytes_sent": 333, "bytes_received": 0, "request_id": null, @@ -2784,9 +2784,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.01538800000844276, + "duration_ms": 0.014997999983279442, "success": true, - "started_at_unix": 1789970984.1485977, + "started_at_unix": 1790057286.9373887, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -2803,9 +2803,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 172.86228099999335, + "duration_ms": 168.19480599997405, "success": true, - "started_at_unix": 1789970984.1486228, + "started_at_unix": 1790057286.9374123, "bytes_sent": 255, "bytes_received": 6056, "request_id": 31, @@ -2833,9 +2833,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.027440999986083625, + "duration_ms": 0.02898300004972043, "success": true, - "started_at_unix": 1789970984.3216228, + "started_at_unix": 1790057287.1057444, "bytes_sent": 333, "bytes_received": 0, "request_id": null, @@ -2852,9 +2852,9 @@ { "kind": "notification", "method": "textDocument/didClose", - "duration_ms": 0.03833099998473699, + "duration_ms": 0.015437999991263496, "success": true, - "started_at_unix": 1789970984.3217373, + "started_at_unix": 1790057287.1058655, "bytes_sent": 212, "bytes_received": 0, "request_id": null, @@ -2867,9 +2867,9 @@ { "kind": "request", "method": "shutdown", - "duration_ms": 0.8765540000013061, + "duration_ms": 0.860260000024482, "success": true, - "started_at_unix": 1789970984.3217835, + "started_at_unix": 1790057287.1058874, "bytes_sent": 67, "bytes_received": 117, "request_id": 32, @@ -2887,9 +2887,9 @@ { "kind": "notification", "method": "exit", - "duration_ms": 0.020807999987937364, + "duration_ms": 0.026859999991302175, "success": true, - "started_at_unix": 1789970984.32268, + "started_at_unix": 1790057287.1067693, "bytes_sent": 55, "bytes_received": 0, "request_id": null, @@ -2911,7 +2911,7 @@ "environment_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/django/.venv", "python_executable": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/django/.venv/bin/python", "success": true, - "total_duration_ms": 8147.203201000025, + "total_duration_ms": 7666.53554100003, "error_message": null, "summary": { "request_count": 32, @@ -2920,11 +2920,11 @@ "failure_count": 0, "bytes_sent": 18652, "bytes_received": 192476, - "min_ms": 0.940180999975837, - "max_ms": 1999.636023999983, - "mean_ms": 253.82450749999384, - "median_ms": 167.3084754999934, - "p95_ms": 862.6347631999834, + "min_ms": 0.8370539999873472, + "max_ms": 1795.8226289999857, + "mean_ms": 238.7881406562542, + "median_ms": 159.7553064999886, + "p95_ms": 819.5143258000314, "result_summary": { "present_count": 31, "empty_count": 1, @@ -2980,27 +2980,27 @@ "by_method": { "textDocument/completion": { "point_count": 2, - "min_ms": 60.90431699999499, - "max_ms": 838.7924869999779, - "mean_ms": 242.56083039999226, - "median_ms": 241.22789949998946, - "p95_ms": 604.3774672999712 + "min_ms": 57.70717399997238, + "max_ms": 788.0230900000242, + "mean_ms": 229.43631610000352, + "median_ms": 234.7216124999818, + "p95_ms": 564.4683406000263 }, "textDocument/hover": { "point_count": 2, - "min_ms": 160.46848700000282, - "max_ms": 262.59163299999955, - "mean_ms": 205.848918800001, - "median_ms": 203.75426600000424, - "p95_ms": 256.79510515000743 + "min_ms": 152.36403800003018, + "max_ms": 242.37536699996554, + "mean_ms": 197.74589909999918, + "median_ms": 198.024861499988, + "p95_ms": 242.11814744998605 }, "textDocument/definition": { "point_count": 1, - "min_ms": 1.0457180000003063, - "max_ms": 1.1035449999781122, - "mean_ms": 1.0651239999901918, - "median_ms": 1.0640620000117451, - "p95_ms": 1.0957125999766504 + "min_ms": 1.0146760000111499, + "max_ms": 1.106267000011485, + "mean_ms": 1.052981800012276, + "median_ms": 1.0383410000258664, + "p95_ms": 1.1024540000107663 } }, "validation": { @@ -3026,11 +3026,11 @@ "failure_count": 0, "bytes_sent": 1385, "bytes_received": 2715, - "min_ms": 60.90431699999499, - "max_ms": 838.7924869999779, - "mean_ms": 225.3118309999877, - "median_ms": 71.1528080000221, - "p95_ms": 689.9120359999755, + "min_ms": 57.70717399997238, + "max_ms": 788.0230900000242, + "mean_ms": 211.2607998000044, + "median_ms": 65.83451600005219, + "p95_ms": 647.6612826000177, "result_summary": { "present_count": 5, "empty_count": 0, @@ -3090,9 +3090,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 1999.636023999983, + "duration_ms": 1795.8226289999857, "success": true, - "started_at_unix": 1789970984.5243137, + "started_at_unix": 1790057287.2992175, "bytes_sent": 277, "bytes_received": 543, "request_id": 2, @@ -3120,9 +3120,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 838.7924869999779, + "duration_ms": 788.0230900000242, "success": true, - "started_at_unix": 1789970986.5240238, + "started_at_unix": 1790057289.0951362, "bytes_sent": 277, "bytes_received": 543, "request_id": 3, @@ -3150,9 +3150,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 94.39023199996655, + "duration_ms": 86.21405299999196, "success": true, - "started_at_unix": 1789970987.362915, + "started_at_unix": 1790057289.8832796, "bytes_sent": 277, "bytes_received": 543, "request_id": 4, @@ -3180,9 +3180,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 71.1528080000221, + "duration_ms": 65.83451600005219, "success": true, - "started_at_unix": 1789970987.4574225, + "started_at_unix": 1790057289.9696882, "bytes_sent": 277, "bytes_received": 543, "request_id": 5, @@ -3210,9 +3210,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 60.90431699999499, + "duration_ms": 58.525165999981255, "success": true, - "started_at_unix": 1789970987.5287027, + "started_at_unix": 1790057290.0356688, "bytes_sent": 277, "bytes_received": 543, "request_id": 6, @@ -3240,9 +3240,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 61.319310999977006, + "duration_ms": 57.70717399997238, "success": true, - "started_at_unix": 1789970987.5897033, + "started_at_unix": 1790057290.0942702, "bytes_sent": 277, "bytes_received": 543, "request_id": 7, @@ -3285,11 +3285,11 @@ "failure_count": 0, "bytes_sent": 1224, "bytes_received": 1084, - "min_ms": 160.46848700000282, - "max_ms": 163.50931099998434, - "mean_ms": 162.2419423999986, - "median_ms": 162.51029000000017, - "p95_ms": 163.3335195999848, + "min_ms": 152.36403800003018, + "max_ms": 156.90166799998906, + "mean_ms": 154.61519460001227, + "median_ms": 154.19340599999032, + "p95_ms": 156.72903119999546, "result_summary": { "present_count": 5, "empty_count": 0, @@ -3349,9 +3349,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 322.48147100000324, + "duration_ms": 304.8855090000302, "success": true, - "started_at_unix": 1789970987.6512084, + "started_at_unix": 1790057290.152142, "bytes_sent": 244, "bytes_received": 216, "request_id": 8, @@ -3379,9 +3379,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 162.091270000019, + "duration_ms": 152.36403800003018, "success": true, - "started_at_unix": 1789970987.973759, + "started_at_unix": 1790057290.4570875, "bytes_sent": 244, "bytes_received": 216, "request_id": 9, @@ -3409,9 +3409,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 163.50931099998434, + "duration_ms": 154.19340599999032, "success": true, - "started_at_unix": 1789970988.1359313, + "started_at_unix": 1790057290.6095254, "bytes_sent": 245, "bytes_received": 217, "request_id": 10, @@ -3439,9 +3439,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 162.51029000000017, + "duration_ms": 153.57837700003074, "success": true, - "started_at_unix": 1789970988.2995203, + "started_at_unix": 1790057290.763793, "bytes_sent": 245, "bytes_received": 217, "request_id": 11, @@ -3469,9 +3469,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 162.6303539999867, + "duration_ms": 156.90166799998906, "success": true, - "started_at_unix": 1789970988.462111, + "started_at_unix": 1790057290.917448, "bytes_sent": 245, "bytes_received": 217, "request_id": 12, @@ -3499,9 +3499,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 160.46848700000282, + "duration_ms": 156.03848400002107, "success": true, - "started_at_unix": 1789970988.6248422, + "started_at_unix": 1790057291.074425, "bytes_sent": 245, "bytes_received": 217, "request_id": 13, @@ -3544,11 +3544,11 @@ "failure_count": 0, "bytes_sent": 1250, "bytes_received": 1520, - "min_ms": 1.0457180000003063, - "max_ms": 1.1035449999781122, - "mean_ms": 1.0651239999901918, - "median_ms": 1.0640620000117451, - "p95_ms": 1.0957125999766504, + "min_ms": 1.0146760000111499, + "max_ms": 1.106267000011485, + "mean_ms": 1.052981800012276, + "median_ms": 1.0383410000258664, + "p95_ms": 1.1024540000107663, "result_summary": { "present_count": 5, "empty_count": 0, @@ -3608,9 +3608,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.5233479999778865, + "duration_ms": 1.4728120000313538, "success": true, - "started_at_unix": 1789970988.7854774, + "started_at_unix": 1790057291.2306614, "bytes_sent": 250, "bytes_received": 304, "request_id": 14, @@ -3638,9 +3638,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.1035449999781122, + "duration_ms": 1.106267000011485, "success": true, - "started_at_unix": 1789970988.7870421, + "started_at_unix": 1790057291.2321768, "bytes_sent": 250, "bytes_received": 304, "request_id": 15, @@ -3668,9 +3668,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.0640620000117451, + "duration_ms": 1.0383410000258664, "success": true, - "started_at_unix": 1789970988.7881937, + "started_at_unix": 1790057291.2333333, "bytes_sent": 250, "bytes_received": 304, "request_id": 16, @@ -3698,9 +3698,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.0643829999708032, + "duration_ms": 1.0184230000049865, "success": true, - "started_at_unix": 1789970988.7893026, + "started_at_unix": 1790057291.2344148, "bytes_sent": 250, "bytes_received": 304, "request_id": 17, @@ -3728,9 +3728,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.0479119999899922, + "duration_ms": 1.087202000007892, "success": true, - "started_at_unix": 1789970988.79041, + "started_at_unix": 1790057291.235474, "bytes_sent": 250, "bytes_received": 304, "request_id": 18, @@ -3758,9 +3758,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.0457180000003063, + "duration_ms": 1.0146760000111499, "success": true, - "started_at_unix": 1789970988.7914996, + "started_at_unix": 1790057291.2366154, "bytes_sent": 250, "bytes_received": 304, "request_id": 19, @@ -3803,11 +3803,11 @@ "failure_count": 0, "bytes_sent": 1390, "bytes_received": 153020, - "min_ms": 240.88098300001093, - "max_ms": 317.8702209999642, - "mean_ms": 259.8098297999968, - "median_ms": 248.57067600004257, - "p95_ms": 304.32666739997103, + "min_ms": 234.24052299998266, + "max_ms": 291.23475800003007, + "mean_ms": 247.61183240000264, + "median_ms": 238.16055899999355, + "p95_ms": 280.83193040002925, "result_summary": { "present_count": 5, "empty_count": 0, @@ -3867,9 +3867,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 891.7753229999903, + "duration_ms": 858.0036140000402, "success": true, - "started_at_unix": 1789970988.792782, + "started_at_unix": 1790057291.2378452, "bytes_sent": 278, "bytes_received": 30604, "request_id": 20, @@ -3897,9 +3897,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 250.15245299999833, + "duration_ms": 235.20270199998095, "success": true, - "started_at_unix": 1789970989.6851876, + "started_at_unix": 1790057292.0964348, "bytes_sent": 278, "bytes_received": 30604, "request_id": 21, @@ -3927,9 +3927,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 317.8702209999642, + "duration_ms": 291.23475800003007, "success": true, - "started_at_unix": 1789970989.9362364, + "started_at_unix": 1790057292.3324635, "bytes_sent": 278, "bytes_received": 30604, "request_id": 22, @@ -3957,9 +3957,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 241.574815999968, + "duration_ms": 239.22062000002597, "success": true, - "started_at_unix": 1789970990.2550101, + "started_at_unix": 1790057292.6247692, "bytes_sent": 278, "bytes_received": 30604, "request_id": 23, @@ -3987,9 +3987,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 240.88098300001093, + "duration_ms": 238.16055899999355, "success": true, - "started_at_unix": 1789970990.4976354, + "started_at_unix": 1790057292.8649833, "bytes_sent": 278, "bytes_received": 30604, "request_id": 24, @@ -4017,9 +4017,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 248.57067600004257, + "duration_ms": 234.24052299998266, "success": true, - "started_at_unix": 1789970990.7393887, + "started_at_unix": 1790057293.104193, "bytes_sent": 278, "bytes_received": 30604, "request_id": 25, @@ -4062,11 +4062,11 @@ "failure_count": 0, "bytes_sent": 1225, "bytes_received": 1155, - "min_ms": 243.99922100002414, - "max_ms": 262.59163299999955, - "mean_ms": 249.4558952000034, - "median_ms": 245.62645200001043, - "p95_ms": 260.01539840000305, + "min_ms": 239.14805499998693, + "max_ms": 242.37536699996554, + "mean_ms": 240.87660359998608, + "median_ms": 240.9814419999634, + "p95_ms": 242.26104719997466, "result_summary": { "present_count": 5, "empty_count": 0, @@ -4126,9 +4126,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 245.4971409999871, + "duration_ms": 240.50287699998307, "success": true, - "started_at_unix": 1789970990.9890165, + "started_at_unix": 1790057293.339544, "bytes_sent": 245, "bytes_received": 231, "request_id": 26, @@ -4156,9 +4156,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 245.3517099999658, + "duration_ms": 239.14805499998693, "success": true, - "started_at_unix": 1789970991.234657, + "started_at_unix": 1790057293.5801842, "bytes_sent": 245, "bytes_received": 231, "request_id": 27, @@ -4186,9 +4186,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 243.99922100002414, + "duration_ms": 241.80376800001113, "success": true, - "started_at_unix": 1789970991.480145, + "started_at_unix": 1790057293.8195136, "bytes_sent": 245, "bytes_received": 231, "request_id": 28, @@ -4216,9 +4216,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 249.71046000001706, + "duration_ms": 242.37536699996554, "success": true, - "started_at_unix": 1789970991.724279, + "started_at_unix": 1790057294.0614781, "bytes_sent": 245, "bytes_received": 231, "request_id": 29, @@ -4246,9 +4246,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 262.59163299999955, + "duration_ms": 240.9814419999634, "success": true, - "started_at_unix": 1789970991.974151, + "started_at_unix": 1790057294.3040113, "bytes_sent": 245, "bytes_received": 231, "request_id": 30, @@ -4276,9 +4276,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 245.62645200001043, + "duration_ms": 240.07438600000341, "success": true, - "started_at_unix": 1789970992.2369118, + "started_at_unix": 1790057294.5451748, "bytes_sent": 245, "bytes_received": 231, "request_id": 31, @@ -4310,9 +4310,9 @@ { "kind": "request", "method": "initialize", - "duration_ms": 171.10764000000245, + "duration_ms": 162.60894499998813, "success": true, - "started_at_unix": 1789970984.3529189, + "started_at_unix": 1790057287.136253, "bytes_sent": 655, "bytes_received": 967, "request_id": 1, @@ -4331,9 +4331,9 @@ { "kind": "notification", "method": "initialized", - "duration_ms": 0.02498599997124984, + "duration_ms": 0.02805200000466357, "success": true, - "started_at_unix": 1789970984.5241194, + "started_at_unix": 1790057287.29895, "bytes_sent": 74, "bytes_received": 0, "request_id": null, @@ -4346,9 +4346,9 @@ { "kind": "notification", "method": "workspace/didChangeConfiguration", - "duration_ms": 0.015458999996553757, + "duration_ms": 0.026800000000548607, "success": true, - "started_at_unix": 1789970984.524168, + "started_at_unix": 1790057287.2990112, "bytes_sent": 635, "bytes_received": 0, "request_id": null, @@ -4364,9 +4364,9 @@ { "kind": "notification", "method": "textDocument/didOpen", - "duration_ms": 0.019496999982493435, + "duration_ms": 0.030236999975841172, "success": true, - "started_at_unix": 1789970984.5242572, + "started_at_unix": 1790057287.2991378, "bytes_sent": 858, "bytes_received": 0, "request_id": null, @@ -4382,9 +4382,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 1999.636023999983, + "duration_ms": 1795.8226289999857, "success": true, - "started_at_unix": 1789970984.5243137, + "started_at_unix": 1790057287.2992175, "bytes_sent": 277, "bytes_received": 543, "request_id": 2, @@ -4412,9 +4412,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 838.7924869999779, + "duration_ms": 788.0230900000242, "success": true, - "started_at_unix": 1789970986.5240238, + "started_at_unix": 1790057289.0951362, "bytes_sent": 277, "bytes_received": 543, "request_id": 3, @@ -4442,9 +4442,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 94.39023199996655, + "duration_ms": 86.21405299999196, "success": true, - "started_at_unix": 1789970987.362915, + "started_at_unix": 1790057289.8832796, "bytes_sent": 277, "bytes_received": 543, "request_id": 4, @@ -4472,9 +4472,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 71.1528080000221, + "duration_ms": 65.83451600005219, "success": true, - "started_at_unix": 1789970987.4574225, + "started_at_unix": 1790057289.9696882, "bytes_sent": 277, "bytes_received": 543, "request_id": 5, @@ -4502,9 +4502,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 60.90431699999499, + "duration_ms": 58.525165999981255, "success": true, - "started_at_unix": 1789970987.5287027, + "started_at_unix": 1790057290.0356688, "bytes_sent": 277, "bytes_received": 543, "request_id": 6, @@ -4532,9 +4532,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 61.319310999977006, + "duration_ms": 57.70717399997238, "success": true, - "started_at_unix": 1789970987.5897033, + "started_at_unix": 1790057290.0942702, "bytes_sent": 277, "bytes_received": 543, "request_id": 7, @@ -4562,9 +4562,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 322.48147100000324, + "duration_ms": 304.8855090000302, "success": true, - "started_at_unix": 1789970987.6512084, + "started_at_unix": 1790057290.152142, "bytes_sent": 244, "bytes_received": 216, "request_id": 8, @@ -4592,9 +4592,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 162.091270000019, + "duration_ms": 152.36403800003018, "success": true, - "started_at_unix": 1789970987.973759, + "started_at_unix": 1790057290.4570875, "bytes_sent": 244, "bytes_received": 216, "request_id": 9, @@ -4622,9 +4622,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 163.50931099998434, + "duration_ms": 154.19340599999032, "success": true, - "started_at_unix": 1789970988.1359313, + "started_at_unix": 1790057290.6095254, "bytes_sent": 245, "bytes_received": 217, "request_id": 10, @@ -4652,9 +4652,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 162.51029000000017, + "duration_ms": 153.57837700003074, "success": true, - "started_at_unix": 1789970988.2995203, + "started_at_unix": 1790057290.763793, "bytes_sent": 245, "bytes_received": 217, "request_id": 11, @@ -4682,9 +4682,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 162.6303539999867, + "duration_ms": 156.90166799998906, "success": true, - "started_at_unix": 1789970988.462111, + "started_at_unix": 1790057290.917448, "bytes_sent": 245, "bytes_received": 217, "request_id": 12, @@ -4712,9 +4712,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 160.46848700000282, + "duration_ms": 156.03848400002107, "success": true, - "started_at_unix": 1789970988.6248422, + "started_at_unix": 1790057291.074425, "bytes_sent": 245, "bytes_received": 217, "request_id": 13, @@ -4742,9 +4742,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.5233479999778865, + "duration_ms": 1.4728120000313538, "success": true, - "started_at_unix": 1789970988.7854774, + "started_at_unix": 1790057291.2306614, "bytes_sent": 250, "bytes_received": 304, "request_id": 14, @@ -4772,9 +4772,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.1035449999781122, + "duration_ms": 1.106267000011485, "success": true, - "started_at_unix": 1789970988.7870421, + "started_at_unix": 1790057291.2321768, "bytes_sent": 250, "bytes_received": 304, "request_id": 15, @@ -4802,9 +4802,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.0640620000117451, + "duration_ms": 1.0383410000258664, "success": true, - "started_at_unix": 1789970988.7881937, + "started_at_unix": 1790057291.2333333, "bytes_sent": 250, "bytes_received": 304, "request_id": 16, @@ -4832,9 +4832,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.0643829999708032, + "duration_ms": 1.0184230000049865, "success": true, - "started_at_unix": 1789970988.7893026, + "started_at_unix": 1790057291.2344148, "bytes_sent": 250, "bytes_received": 304, "request_id": 17, @@ -4862,9 +4862,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.0479119999899922, + "duration_ms": 1.087202000007892, "success": true, - "started_at_unix": 1789970988.79041, + "started_at_unix": 1790057291.235474, "bytes_sent": 250, "bytes_received": 304, "request_id": 18, @@ -4892,9 +4892,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.0457180000003063, + "duration_ms": 1.0146760000111499, "success": true, - "started_at_unix": 1789970988.7914996, + "started_at_unix": 1790057291.2366154, "bytes_sent": 250, "bytes_received": 304, "request_id": 19, @@ -4922,9 +4922,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.045414999988224736, + "duration_ms": 0.026289000004453555, "success": true, - "started_at_unix": 1789970988.7927263, + "started_at_unix": 1790057291.2378094, "bytes_sent": 372, "bytes_received": 0, "request_id": null, @@ -4941,9 +4941,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 891.7753229999903, + "duration_ms": 858.0036140000402, "success": true, - "started_at_unix": 1789970988.792782, + "started_at_unix": 1790057291.2378452, "bytes_sent": 278, "bytes_received": 30604, "request_id": 20, @@ -4971,9 +4971,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03269100000125036, + "duration_ms": 0.03169899997601533, "success": true, - "started_at_unix": 1789970989.6851046, + "started_at_unix": 1790057292.096352, "bytes_sent": 322, "bytes_received": 0, "request_id": null, @@ -4990,9 +4990,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.024736000000302738, + "duration_ms": 0.025187000005644222, "success": true, - "started_at_unix": 1789970989.6851504, + "started_at_unix": 1790057292.0963967, "bytes_sent": 372, "bytes_received": 0, "request_id": null, @@ -5009,9 +5009,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 250.15245299999833, + "duration_ms": 235.20270199998095, "success": true, - "started_at_unix": 1789970989.6851876, + "started_at_unix": 1790057292.0964348, "bytes_sent": 278, "bytes_received": 30604, "request_id": 21, @@ -5039,9 +5039,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.030347000006258895, + "duration_ms": 0.030686999991758057, "success": true, - "started_at_unix": 1789970989.936157, + "started_at_unix": 1790057292.332385, "bytes_sent": 322, "bytes_received": 0, "request_id": null, @@ -5058,9 +5058,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.023984999984349997, + "duration_ms": 0.02377500004513422, "success": true, - "started_at_unix": 1789970989.9361997, + "started_at_unix": 1790057292.332428, "bytes_sent": 372, "bytes_received": 0, "request_id": null, @@ -5077,9 +5077,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 317.8702209999642, + "duration_ms": 291.23475800003007, "success": true, - "started_at_unix": 1789970989.9362364, + "started_at_unix": 1790057292.3324635, "bytes_sent": 278, "bytes_received": 30604, "request_id": 22, @@ -5107,9 +5107,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.031178000028830866, + "duration_ms": 0.03148900003679955, "success": true, - "started_at_unix": 1789970990.254929, + "started_at_unix": 1790057292.6246965, "bytes_sent": 322, "bytes_received": 0, "request_id": null, @@ -5126,9 +5126,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.024496000037288468, + "duration_ms": 0.018404000002192333, "success": true, - "started_at_unix": 1789970990.2549736, + "started_at_unix": 1790057292.62474, "bytes_sent": 372, "bytes_received": 0, "request_id": null, @@ -5145,9 +5145,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 241.574815999968, + "duration_ms": 239.22062000002597, "success": true, - "started_at_unix": 1789970990.2550101, + "started_at_unix": 1790057292.6247692, "bytes_sent": 278, "bytes_received": 30604, "request_id": 23, @@ -5175,9 +5175,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03079699996533236, + "duration_ms": 0.02656999998862375, "success": true, - "started_at_unix": 1789970990.497564, + "started_at_unix": 1790057292.864924, "bytes_sent": 322, "bytes_received": 0, "request_id": null, @@ -5194,9 +5194,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.018084000032558833, + "duration_ms": 0.014147000001685228, "success": true, - "started_at_unix": 1789970990.497607, + "started_at_unix": 1790057292.8649604, "bytes_sent": 373, "bytes_received": 0, "request_id": null, @@ -5213,9 +5213,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 240.88098300001093, + "duration_ms": 238.16055899999355, "success": true, - "started_at_unix": 1789970990.4976354, + "started_at_unix": 1790057292.8649833, "bytes_sent": 278, "bytes_received": 30604, "request_id": 24, @@ -5243,9 +5243,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.027600999999322084, + "duration_ms": 0.02691000003096633, "success": true, - "started_at_unix": 1789970990.739328, + "started_at_unix": 1790057293.104133, "bytes_sent": 323, "bytes_received": 0, "request_id": null, @@ -5262,9 +5262,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.01398599999902217, + "duration_ms": 0.01433700003872218, "success": true, - "started_at_unix": 1789970990.7393656, + "started_at_unix": 1790057293.1041698, "bytes_sent": 373, "bytes_received": 0, "request_id": null, @@ -5281,9 +5281,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 248.57067600004257, + "duration_ms": 234.24052299998266, "success": true, - "started_at_unix": 1789970990.7393887, + "started_at_unix": 1790057293.104193, "bytes_sent": 278, "bytes_received": 30604, "request_id": 25, @@ -5311,9 +5311,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.029244000018024963, + "duration_ms": 0.030406999997012463, "success": true, - "started_at_unix": 1789970990.988795, + "started_at_unix": 1790057293.339257, "bytes_sent": 323, "bytes_received": 0, "request_id": null, @@ -5330,9 +5330,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.020418000019617466, + "duration_ms": 0.03070700000762372, "success": true, - "started_at_unix": 1789970990.988987, + "started_at_unix": 1790057293.3395, "bytes_sent": 372, "bytes_received": 0, "request_id": null, @@ -5349,9 +5349,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 245.4971409999871, + "duration_ms": 240.50287699998307, "success": true, - "started_at_unix": 1789970990.9890165, + "started_at_unix": 1790057293.339544, "bytes_sent": 245, "bytes_received": 231, "request_id": 26, @@ -5379,9 +5379,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03494600002795778, + "duration_ms": 0.032320000002528104, "success": true, - "started_at_unix": 1789970991.234581, + "started_at_unix": 1790057293.5801036, "bytes_sent": 323, "bytes_received": 0, "request_id": null, @@ -5398,9 +5398,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.019898000005014183, + "duration_ms": 0.02458599999499711, "success": true, - "started_at_unix": 1789970991.2346272, + "started_at_unix": 1790057293.5801485, "bytes_sent": 372, "bytes_received": 0, "request_id": null, @@ -5417,9 +5417,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 245.3517099999658, + "duration_ms": 239.14805499998693, "success": true, - "started_at_unix": 1789970991.234657, + "started_at_unix": 1790057293.5801842, "bytes_sent": 245, "bytes_received": 231, "request_id": 27, @@ -5447,9 +5447,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.028663999955824693, + "duration_ms": 0.03802100002303632, "success": true, - "started_at_unix": 1789970991.4800823, + "started_at_unix": 1790057293.8194158, "bytes_sent": 323, "bytes_received": 0, "request_id": null, @@ -5466,9 +5466,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.015518999987307325, + "duration_ms": 0.030647000016870152, "success": true, - "started_at_unix": 1789970991.4801211, + "started_at_unix": 1790057293.8194683, "bytes_sent": 372, "bytes_received": 0, "request_id": null, @@ -5485,9 +5485,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 243.99922100002414, + "duration_ms": 241.80376800001113, "success": true, - "started_at_unix": 1789970991.480145, + "started_at_unix": 1790057293.8195136, "bytes_sent": 245, "bytes_received": 231, "request_id": 28, @@ -5515,9 +5515,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02815199997030504, + "duration_ms": 0.033401999985471775, "success": true, - "started_at_unix": 1789970991.7242193, + "started_at_unix": 1790057294.0613954, "bytes_sent": 323, "bytes_received": 0, "request_id": null, @@ -5534,9 +5534,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.014668000005713111, + "duration_ms": 0.02516699998977856, "success": true, - "started_at_unix": 1789970991.7242568, + "started_at_unix": 1790057294.0614412, "bytes_sent": 372, "bytes_received": 0, "request_id": null, @@ -5553,9 +5553,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 249.71046000001706, + "duration_ms": 242.37536699996554, "success": true, - "started_at_unix": 1789970991.724279, + "started_at_unix": 1790057294.0614781, "bytes_sent": 245, "bytes_received": 231, "request_id": 29, @@ -5583,9 +5583,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03417300001729018, + "duration_ms": 0.03302100003566011, "success": true, - "started_at_unix": 1789970991.9740758, + "started_at_unix": 1790057294.3039277, "bytes_sent": 323, "bytes_received": 0, "request_id": null, @@ -5602,9 +5602,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.01912599998377118, + "duration_ms": 0.025867999966067146, "success": true, - "started_at_unix": 1789970991.9741216, + "started_at_unix": 1790057294.3039727, "bytes_sent": 372, "bytes_received": 0, "request_id": null, @@ -5621,9 +5621,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 262.59163299999955, + "duration_ms": 240.9814419999634, "success": true, - "started_at_unix": 1789970991.974151, + "started_at_unix": 1790057294.3040113, "bytes_sent": 245, "bytes_received": 231, "request_id": 30, @@ -5651,9 +5651,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.029503999996904895, + "duration_ms": 0.03750100000843304, "success": true, - "started_at_unix": 1789970992.2368486, + "started_at_unix": 1790057294.5450768, "bytes_sent": 323, "bytes_received": 0, "request_id": null, @@ -5670,9 +5670,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.015559000019038649, + "duration_ms": 0.03105899997990491, "success": true, - "started_at_unix": 1789970992.2368882, + "started_at_unix": 1790057294.5451288, "bytes_sent": 372, "bytes_received": 0, "request_id": null, @@ -5689,9 +5689,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 245.62645200001043, + "duration_ms": 240.07438600000341, "success": true, - "started_at_unix": 1789970992.2369118, + "started_at_unix": 1790057294.5451748, "bytes_sent": 245, "bytes_received": 231, "request_id": 31, @@ -5719,9 +5719,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.028524000015295314, + "duration_ms": 0.031669000009060255, "success": true, - "started_at_unix": 1789970992.4826148, + "started_at_unix": 1790057294.7853234, "bytes_sent": 323, "bytes_received": 0, "request_id": null, @@ -5738,9 +5738,9 @@ { "kind": "notification", "method": "textDocument/didClose", - "duration_ms": 0.015047999966100178, + "duration_ms": 0.024135000046499044, "success": true, - "started_at_unix": 1789970992.4827297, + "started_at_unix": 1790057294.7854743, "bytes_sent": 202, "bytes_received": 0, "request_id": null, @@ -5753,9 +5753,9 @@ { "kind": "request", "method": "shutdown", - "duration_ms": 0.940180999975837, + "duration_ms": 0.8370539999873472, "success": true, - "started_at_unix": 1789970992.4827526, + "started_at_unix": 1790057294.7855084, "bytes_sent": 67, "bytes_received": 117, "request_id": 32, @@ -5773,9 +5773,9 @@ { "kind": "notification", "method": "exit", - "duration_ms": 0.022132000026431342, + "duration_ms": 0.02565799997000795, "success": true, - "started_at_unix": 1789970992.4837115, + "started_at_unix": 1790057294.786364, "bytes_sent": 55, "bytes_received": 0, "request_id": null, @@ -5797,7 +5797,7 @@ "environment_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/.venv", "python_executable": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/.venv/bin/python", "success": true, - "total_duration_ms": 7988.093130000038, + "total_duration_ms": 7826.34891500004, "error_message": null, "summary": { "request_count": 32, @@ -5806,11 +5806,11 @@ "failure_count": 0, "bytes_sent": 18582, "bytes_received": 578056, - "min_ms": 0.6749369999852206, - "max_ms": 2914.0544530000057, - "mean_ms": 248.60563993749807, - "median_ms": 186.00793899997825, - "p95_ms": 567.6927501000162, + "min_ms": 0.6547030000092491, + "max_ms": 2829.86762500002, + "mean_ms": 243.52194771874736, + "median_ms": 180.47367400001235, + "p95_ms": 533.9879081500239, "result_summary": { "present_count": 31, "empty_count": 1, @@ -5866,27 +5866,27 @@ "by_method": { "textDocument/completion": { "point_count": 2, - "min_ms": 49.40707700001212, - "max_ms": 245.37757799998872, - "mean_ms": 158.3109730999979, - "median_ms": 207.9761579999797, - "p95_ms": 243.39424394998446 + "min_ms": 49.73572199997989, + "max_ms": 297.3633329999643, + "mean_ms": 163.59800719998816, + "median_ms": 223.86762899998303, + "p95_ms": 266.1118819499904 }, "textDocument/hover": { "point_count": 2, - "min_ms": 185.06408600001123, - "max_ms": 207.51018499998963, - "mean_ms": 191.458167899998, - "median_ms": 189.3094739999981, - "p95_ms": 202.70697859999984 + "min_ms": 178.53786199998467, + "max_ms": 193.1219580000061, + "mean_ms": 186.57418660000644, + "median_ms": 188.95272550003028, + "p95_ms": 192.68036670000583 }, "textDocument/definition": { "point_count": 1, - "min_ms": 1.0147699999834003, - "max_ms": 1.0833780000325532, - "mean_ms": 1.0391533999950298, - "median_ms": 1.0385339999743337, - "p95_ms": 1.0754972000199814 + "min_ms": 1.0450830000081623, + "max_ms": 1.0741680000023734, + "mean_ms": 1.062465599989082, + "median_ms": 1.063276999957452, + "p95_ms": 1.0737430000062886 } }, "validation": { @@ -5912,11 +5912,11 @@ "failure_count": 0, "bytes_sent": 1395, "bytes_received": 7070, - "min_ms": 49.40707700001212, - "max_ms": 185.9115949999932, - "mean_ms": 79.18053220001866, - "median_ms": 52.08326200005331, - "p95_ms": 160.0357217999999, + "min_ms": 49.73572199997989, + "max_ms": 297.3633329999643, + "mean_ms": 101.87696679997771, + "median_ms": 51.421271999970486, + "p95_ms": 250.0569761999713, "result_summary": { "present_count": 5, "empty_count": 0, @@ -5976,9 +5976,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 2914.0544530000057, + "duration_ms": 2829.86762500002, "success": true, - "started_at_unix": 1789970992.6790602, + "started_at_unix": 1790057294.979053, "bytes_sent": 279, "bytes_received": 1414, "request_id": 2, @@ -6006,9 +6006,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 185.9115949999932, + "duration_ms": 297.3633329999643, "success": true, - "started_at_unix": 1789970995.593207, + "started_at_unix": 1790057297.8090482, "bytes_sent": 279, "bytes_received": 1414, "request_id": 3, @@ -6036,9 +6036,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 56.532229000026746, + "duration_ms": 60.83154899999954, "success": true, - "started_at_unix": 1789970995.779256, + "started_at_unix": 1790057298.1065285, "bytes_sent": 279, "bytes_received": 1414, "request_id": 4, @@ -6066,9 +6066,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 51.96849800000791, + "duration_ms": 51.421271999970486, "success": true, - "started_at_unix": 1789970995.835906, + "started_at_unix": 1790057298.1674783, "bytes_sent": 279, "bytes_received": 1414, "request_id": 5, @@ -6096,9 +6096,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 49.40707700001212, + "duration_ms": 50.032957999974315, "success": true, - "started_at_unix": 1789970995.8879952, + "started_at_unix": 1790057298.2190065, "bytes_sent": 279, "bytes_received": 1414, "request_id": 6, @@ -6126,9 +6126,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 52.08326200005331, + "duration_ms": 49.73572199997989, "success": true, - "started_at_unix": 1789970995.9375217, + "started_at_unix": 1790057298.2691581, "bytes_sent": 279, "bytes_received": 1414, "request_id": 7, @@ -6171,11 +6171,11 @@ "failure_count": 0, "bytes_sent": 1234, "bytes_received": 2349, - "min_ms": 192.3491160000026, - "max_ms": 207.51018499998963, - "mean_ms": 197.14786780000395, - "median_ms": 196.30507400000852, - "p95_ms": 205.37542659999417, + "min_ms": 187.97339500002863, + "max_ms": 193.1219580000061, + "mean_ms": 190.87406860002147, + "median_ms": 191.2022900000352, + "p95_ms": 192.92569520000598, "result_summary": { "present_count": 5, "empty_count": 0, @@ -6235,9 +6235,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 348.9131370000109, + "duration_ms": 339.90243700003475, "success": true, - "started_at_unix": 1789970995.9898968, + "started_at_unix": 1790057298.319142, "bytes_sent": 246, "bytes_received": 469, "request_id": 8, @@ -6265,9 +6265,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 207.51018499998963, + "duration_ms": 187.97339500002863, "success": true, - "started_at_unix": 1789970996.3388774, + "started_at_unix": 1790057298.6591165, "bytes_sent": 246, "bytes_received": 469, "request_id": 9, @@ -6295,9 +6295,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 196.30507400000852, + "duration_ms": 193.1219580000061, "success": true, - "started_at_unix": 1789970996.5464737, + "started_at_unix": 1790057298.8471787, "bytes_sent": 247, "bytes_received": 470, "request_id": 10, @@ -6325,9 +6325,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 192.7385710000067, + "duration_ms": 192.14064400000552, "success": true, - "started_at_unix": 1789970996.742862, + "started_at_unix": 1790057299.0403829, "bytes_sent": 247, "bytes_received": 470, "request_id": 11, @@ -6355,9 +6355,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 192.3491160000026, + "duration_ms": 191.2022900000352, "success": true, - "started_at_unix": 1789970996.935715, + "started_at_unix": 1790057299.2326484, "bytes_sent": 247, "bytes_received": 470, "request_id": 12, @@ -6385,9 +6385,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 196.83639300001232, + "duration_ms": 189.93205600003193, "success": true, - "started_at_unix": 1789970997.1281476, + "started_at_unix": 1790057299.423933, "bytes_sent": 247, "bytes_received": 470, "request_id": 13, @@ -6430,11 +6430,11 @@ "failure_count": 0, "bytes_sent": 1260, "bytes_received": 1530, - "min_ms": 1.0147699999834003, - "max_ms": 1.0833780000325532, - "mean_ms": 1.0391533999950298, - "median_ms": 1.0385339999743337, - "p95_ms": 1.0754972000199814, + "min_ms": 1.0450830000081623, + "max_ms": 1.0741680000023734, + "mean_ms": 1.062465599989082, + "median_ms": 1.063276999957452, + "p95_ms": 1.0737430000062886, "result_summary": { "present_count": 5, "empty_count": 0, @@ -6494,9 +6494,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.4538179999590284, + "duration_ms": 1.447485999960918, "success": true, - "started_at_unix": 1789970997.3251572, + "started_at_unix": 1790057299.6140509, "bytes_sent": 252, "bytes_received": 306, "request_id": 14, @@ -6524,9 +6524,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.0833780000325532, + "duration_ms": 1.0741680000023734, "success": true, - "started_at_unix": 1789970997.326654, + "started_at_unix": 1790057299.6155443, "bytes_sent": 252, "bytes_received": 306, "request_id": 15, @@ -6554,9 +6554,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.0385339999743337, + "duration_ms": 1.0720430000219494, "success": true, - "started_at_unix": 1789970997.3278036, + "started_at_unix": 1790057299.616674, "bytes_sent": 252, "bytes_received": 306, "request_id": 16, @@ -6584,9 +6584,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.0147699999834003, + "duration_ms": 1.0450830000081623, "success": true, - "started_at_unix": 1789970997.32889, + "started_at_unix": 1790057299.6178012, "bytes_sent": 252, "bytes_received": 306, "request_id": 17, @@ -6614,9 +6614,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.043973999969694, + "duration_ms": 1.063276999957452, "success": true, - "started_at_unix": 1789970997.329949, + "started_at_unix": 1790057299.6189005, "bytes_sent": 252, "bytes_received": 306, "request_id": 18, @@ -6644,9 +6644,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.0151110000151675, + "duration_ms": 1.0577569999554726, "success": true, - "started_at_unix": 1789970997.331039, + "started_at_unix": 1790057299.6200185, "bytes_sent": 252, "bytes_received": 306, "request_id": 19, @@ -6689,11 +6689,11 @@ "failure_count": 0, "bytes_sent": 1400, "bytes_received": 467859, - "min_ms": 230.0407209999662, - "max_ms": 245.37757799998872, - "mean_ms": 237.44141399997716, - "median_ms": 239.98313099997404, - "p95_ms": 244.49609619998682, + "min_ms": 223.26322899999695, + "max_ms": 227.9156640000224, + "mean_ms": 225.3190475999986, + "median_ms": 224.5572680000123, + "p95_ms": 227.60994080001637, "result_summary": { "present_count": 5, "empty_count": 0, @@ -6753,9 +6753,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 835.0900550000233, + "duration_ms": 771.2034840000115, "success": true, - "started_at_unix": 1789970997.332276, + "started_at_unix": 1790057299.6213052, "bytes_sent": 280, "bytes_received": 93569, "request_id": 20, @@ -6783,9 +6783,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 230.0407209999662, + "duration_ms": 223.26322899999695, "success": true, - "started_at_unix": 1789970998.1688397, + "started_at_unix": 1790057300.3941925, "bytes_sent": 280, "bytes_received": 93569, "request_id": 21, @@ -6813,11 +6813,11 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 239.98313099997404, + "duration_ms": 226.38704799999232, "success": true, - "started_at_unix": 1789970998.4011583, + "started_at_unix": 1790057300.619892, "bytes_sent": 280, - "bytes_received": 93569, + "bytes_received": 93583, "request_id": 22, "error_code": null, "error_message": null, @@ -6826,7 +6826,7 @@ "present": true, "empty": false, "top_level_kind": "dict", - "size_chars": 93455, + "size_chars": 93469, "top_level_count": 2, "completion_item_count": 441 }, @@ -6843,9 +6843,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 240.97016899997925, + "duration_ms": 224.4720289999691, "success": true, - "started_at_unix": 1789970998.643512, + "started_at_unix": 1790057300.8486245, "bytes_sent": 280, "bytes_received": 93569, "request_id": 23, @@ -6873,11 +6873,11 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 245.37757799998872, + "duration_ms": 227.9156640000224, "success": true, - "started_at_unix": 1789970998.8866582, + "started_at_unix": 1790057301.07566, "bytes_sent": 280, - "bytes_received": 93583, + "bytes_received": 93569, "request_id": 24, "error_code": null, "error_message": null, @@ -6886,7 +6886,7 @@ "present": true, "empty": false, "top_level_kind": "dict", - "size_chars": 93469, + "size_chars": 93455, "top_level_count": 2, "completion_item_count": 441 }, @@ -6903,9 +6903,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 230.8354709999776, + "duration_ms": 224.5572680000123, "success": true, - "started_at_unix": 1789970999.134344, + "started_at_unix": 1790057301.306078, "bytes_sent": 280, "bytes_received": 93569, "request_id": 25, @@ -6948,11 +6948,11 @@ "failure_count": 0, "bytes_sent": 1235, "bytes_received": 2005, - "min_ms": 185.06408600001123, - "max_ms": 186.26983199999358, - "mean_ms": 185.76846799999203, - "median_ms": 185.71312500000658, - "p95_ms": 186.23672219998753, + "min_ms": 178.53786199998467, + "max_ms": 191.6361109999798, + "mean_ms": 182.2743045999914, + "median_ms": 180.40199500001108, + "p95_ms": 189.41795939998656, "result_summary": { "present_count": 5, "empty_count": 0, @@ -7012,9 +7012,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 187.0826960000045, + "duration_ms": 179.82342400000562, "success": true, - "started_at_unix": 1789970999.3675795, + "started_at_unix": 1790057301.533222, "bytes_sent": 247, "bytes_received": 401, "request_id": 26, @@ -7042,9 +7042,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 185.71312500000658, + "duration_ms": 178.53786199998467, "success": true, - "started_at_unix": 1789970999.554822, + "started_at_unix": 1790057301.7131653, "bytes_sent": 247, "bytes_received": 401, "request_id": 27, @@ -7072,9 +7072,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 185.69101399998544, + "duration_ms": 180.54535300001362, "success": true, - "started_at_unix": 1789970999.7406723, + "started_at_unix": 1790057301.8918405, "bytes_sent": 247, "bytes_received": 401, "request_id": 28, @@ -7102,9 +7102,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 185.06408600001123, + "duration_ms": 180.40199500001108, "success": true, - "started_at_unix": 1789970999.9265008, + "started_at_unix": 1790057302.0725214, "bytes_sent": 247, "bytes_received": 401, "request_id": 29, @@ -7132,9 +7132,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 186.26983199999358, + "duration_ms": 180.25020199996789, "success": true, - "started_at_unix": 1789971000.111704, + "started_at_unix": 1790057302.2530618, "bytes_sent": 247, "bytes_received": 401, "request_id": 30, @@ -7162,9 +7162,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 186.1042829999633, + "duration_ms": 191.6361109999798, "success": true, - "started_at_unix": 1789971000.2981105, + "started_at_unix": 1790057302.4334462, "bytes_sent": 247, "bytes_received": 401, "request_id": 31, @@ -7196,9 +7196,9 @@ { "kind": "request", "method": "initialize", - "duration_ms": 165.22420500001544, + "duration_ms": 162.76890199998206, "success": true, - "started_at_unix": 1789970992.5134404, + "started_at_unix": 1790057294.8159359, "bytes_sent": 655, "bytes_received": 967, "request_id": 1, @@ -7217,9 +7217,9 @@ { "kind": "notification", "method": "initialized", - "duration_ms": 0.030858000002353947, + "duration_ms": 0.02789199999142511, "success": true, - "started_at_unix": 1789970992.6787977, + "started_at_unix": 1790057294.978793, "bytes_sent": 74, "bytes_received": 0, "request_id": null, @@ -7232,9 +7232,9 @@ { "kind": "notification", "method": "workspace/didChangeConfiguration", - "duration_ms": 0.025888000038776227, + "duration_ms": 0.02674000000979504, "success": true, - "started_at_unix": 1789970992.678863, + "started_at_unix": 1790057294.9788535, "bytes_sent": 635, "bytes_received": 0, "request_id": null, @@ -7250,9 +7250,9 @@ { "kind": "notification", "method": "textDocument/didOpen", - "duration_ms": 0.030036000055133627, + "duration_ms": 0.029755000014120014, "success": true, - "started_at_unix": 1789970992.6789818, + "started_at_unix": 1790057294.978973, "bytes_sent": 786, "bytes_received": 0, "request_id": null, @@ -7268,9 +7268,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 2914.0544530000057, + "duration_ms": 2829.86762500002, "success": true, - "started_at_unix": 1789970992.6790602, + "started_at_unix": 1790057294.979053, "bytes_sent": 279, "bytes_received": 1414, "request_id": 2, @@ -7298,9 +7298,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 185.9115949999932, + "duration_ms": 297.3633329999643, "success": true, - "started_at_unix": 1789970995.593207, + "started_at_unix": 1790057297.8090482, "bytes_sent": 279, "bytes_received": 1414, "request_id": 3, @@ -7328,9 +7328,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 56.532229000026746, + "duration_ms": 60.83154899999954, "success": true, - "started_at_unix": 1789970995.779256, + "started_at_unix": 1790057298.1065285, "bytes_sent": 279, "bytes_received": 1414, "request_id": 4, @@ -7358,9 +7358,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 51.96849800000791, + "duration_ms": 51.421271999970486, "success": true, - "started_at_unix": 1789970995.835906, + "started_at_unix": 1790057298.1674783, "bytes_sent": 279, "bytes_received": 1414, "request_id": 5, @@ -7388,9 +7388,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 49.40707700001212, + "duration_ms": 50.032957999974315, "success": true, - "started_at_unix": 1789970995.8879952, + "started_at_unix": 1790057298.2190065, "bytes_sent": 279, "bytes_received": 1414, "request_id": 6, @@ -7418,9 +7418,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 52.08326200005331, + "duration_ms": 49.73572199997989, "success": true, - "started_at_unix": 1789970995.9375217, + "started_at_unix": 1790057298.2691581, "bytes_sent": 279, "bytes_received": 1414, "request_id": 7, @@ -7448,9 +7448,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 348.9131370000109, + "duration_ms": 339.90243700003475, "success": true, - "started_at_unix": 1789970995.9898968, + "started_at_unix": 1790057298.319142, "bytes_sent": 246, "bytes_received": 469, "request_id": 8, @@ -7478,9 +7478,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 207.51018499998963, + "duration_ms": 187.97339500002863, "success": true, - "started_at_unix": 1789970996.3388774, + "started_at_unix": 1790057298.6591165, "bytes_sent": 246, "bytes_received": 469, "request_id": 9, @@ -7508,9 +7508,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 196.30507400000852, + "duration_ms": 193.1219580000061, "success": true, - "started_at_unix": 1789970996.5464737, + "started_at_unix": 1790057298.8471787, "bytes_sent": 247, "bytes_received": 470, "request_id": 10, @@ -7538,9 +7538,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 192.7385710000067, + "duration_ms": 192.14064400000552, "success": true, - "started_at_unix": 1789970996.742862, + "started_at_unix": 1790057299.0403829, "bytes_sent": 247, "bytes_received": 470, "request_id": 11, @@ -7568,9 +7568,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 192.3491160000026, + "duration_ms": 191.2022900000352, "success": true, - "started_at_unix": 1789970996.935715, + "started_at_unix": 1790057299.2326484, "bytes_sent": 247, "bytes_received": 470, "request_id": 12, @@ -7598,9 +7598,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 196.83639300001232, + "duration_ms": 189.93205600003193, "success": true, - "started_at_unix": 1789970997.1281476, + "started_at_unix": 1790057299.423933, "bytes_sent": 247, "bytes_received": 470, "request_id": 13, @@ -7628,9 +7628,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.4538179999590284, + "duration_ms": 1.447485999960918, "success": true, - "started_at_unix": 1789970997.3251572, + "started_at_unix": 1790057299.6140509, "bytes_sent": 252, "bytes_received": 306, "request_id": 14, @@ -7658,9 +7658,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.0833780000325532, + "duration_ms": 1.0741680000023734, "success": true, - "started_at_unix": 1789970997.326654, + "started_at_unix": 1790057299.6155443, "bytes_sent": 252, "bytes_received": 306, "request_id": 15, @@ -7688,9 +7688,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.0385339999743337, + "duration_ms": 1.0720430000219494, "success": true, - "started_at_unix": 1789970997.3278036, + "started_at_unix": 1790057299.616674, "bytes_sent": 252, "bytes_received": 306, "request_id": 16, @@ -7718,9 +7718,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.0147699999834003, + "duration_ms": 1.0450830000081623, "success": true, - "started_at_unix": 1789970997.32889, + "started_at_unix": 1790057299.6178012, "bytes_sent": 252, "bytes_received": 306, "request_id": 17, @@ -7748,9 +7748,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.043973999969694, + "duration_ms": 1.063276999957452, "success": true, - "started_at_unix": 1789970997.329949, + "started_at_unix": 1790057299.6189005, "bytes_sent": 252, "bytes_received": 306, "request_id": 18, @@ -7778,9 +7778,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.0151110000151675, + "duration_ms": 1.0577569999554726, "success": true, - "started_at_unix": 1789970997.331039, + "started_at_unix": 1790057299.6200185, "bytes_sent": 252, "bytes_received": 306, "request_id": 19, @@ -7808,9 +7808,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02657999999655658, + "duration_ms": 0.03197999996018552, "success": true, - "started_at_unix": 1789970997.3322399, + "started_at_unix": 1790057299.6212592, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -7827,9 +7827,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 835.0900550000233, + "duration_ms": 771.2034840000115, "success": true, - "started_at_unix": 1789970997.332276, + "started_at_unix": 1790057299.6213052, "bytes_sent": 280, "bytes_received": 93569, "request_id": 20, @@ -7857,9 +7857,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03259099997876547, + "duration_ms": 0.029353999991599267, "success": true, - "started_at_unix": 1789970998.1687725, + "started_at_unix": 1790057300.39413, "bytes_sent": 324, "bytes_received": 0, "request_id": null, @@ -7876,9 +7876,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.015059000020301028, + "duration_ms": 0.014836999980616383, "success": true, - "started_at_unix": 1789970998.1688151, + "started_at_unix": 1790057300.394169, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -7895,9 +7895,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 230.0407209999662, + "duration_ms": 223.26322899999695, "success": true, - "started_at_unix": 1789970998.1688397, + "started_at_unix": 1790057300.3941925, "bytes_sent": 280, "bytes_received": 93569, "request_id": 21, @@ -7925,9 +7925,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02805200000466357, + "duration_ms": 0.027431000034994213, "success": true, - "started_at_unix": 1789970998.4010968, + "started_at_unix": 1790057300.619832, "bytes_sent": 324, "bytes_received": 0, "request_id": null, @@ -7944,9 +7944,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.014055999997708568, + "duration_ms": 0.013695999996343744, "success": true, - "started_at_unix": 1789970998.4011352, + "started_at_unix": 1790057300.61987, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -7963,11 +7963,11 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 239.98313099997404, + "duration_ms": 226.38704799999232, "success": true, - "started_at_unix": 1789970998.4011583, + "started_at_unix": 1790057300.619892, "bytes_sent": 280, - "bytes_received": 93569, + "bytes_received": 93583, "request_id": 22, "error_code": null, "error_message": null, @@ -7976,7 +7976,7 @@ "present": true, "empty": false, "top_level_kind": "dict", - "size_chars": 93455, + "size_chars": 93469, "top_level_count": 2, "completion_item_count": 441 }, @@ -7993,9 +7993,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03735900003221104, + "duration_ms": 0.04092700004321159, "success": true, - "started_at_unix": 1789970998.6434283, + "started_at_unix": 1790057300.8485494, "bytes_sent": 324, "bytes_received": 0, "request_id": null, @@ -8012,9 +8012,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.020737999989250966, + "duration_ms": 0.01407600001357423, "success": true, - "started_at_unix": 1789970998.643479, + "started_at_unix": 1790057300.8486006, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -8031,9 +8031,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 240.97016899997925, + "duration_ms": 224.4720289999691, "success": true, - "started_at_unix": 1789970998.643512, + "started_at_unix": 1790057300.8486245, "bytes_sent": 280, "bytes_received": 93569, "request_id": 23, @@ -8061,9 +8061,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02797199999804434, + "duration_ms": 0.0283829999716545, "success": true, - "started_at_unix": 1789970998.8865962, + "started_at_unix": 1790057301.075599, "bytes_sent": 324, "bytes_received": 0, "request_id": null, @@ -8080,9 +8080,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.014467000028162147, + "duration_ms": 0.014147000001685228, "success": true, - "started_at_unix": 1789970998.8866348, + "started_at_unix": 1790057301.0756373, "bytes_sent": 366, "bytes_received": 0, "request_id": null, @@ -8099,11 +8099,11 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 245.37757799998872, + "duration_ms": 227.9156640000224, "success": true, - "started_at_unix": 1789970998.8866582, + "started_at_unix": 1790057301.07566, "bytes_sent": 280, - "bytes_received": 93583, + "bytes_received": 93569, "request_id": 24, "error_code": null, "error_message": null, @@ -8112,7 +8112,7 @@ "present": true, "empty": false, "top_level_kind": "dict", - "size_chars": 93469, + "size_chars": 93455, "top_level_count": 2, "completion_item_count": 441 }, @@ -8129,9 +8129,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.027520999992702855, + "duration_ms": 0.0278120000416493, "success": true, - "started_at_unix": 1789970999.1342835, + "started_at_unix": 1790057301.3060176, "bytes_sent": 325, "bytes_received": 0, "request_id": null, @@ -8148,9 +8148,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.014007000004312431, + "duration_ms": 0.01373599997123165, "success": true, - "started_at_unix": 1789970999.1343212, + "started_at_unix": 1790057301.306056, "bytes_sent": 366, "bytes_received": 0, "request_id": null, @@ -8167,9 +8167,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 230.8354709999776, + "duration_ms": 224.5572680000123, "success": true, - "started_at_unix": 1789970999.134344, + "started_at_unix": 1790057301.306078, "bytes_sent": 280, "bytes_received": 93569, "request_id": 25, @@ -8197,9 +8197,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.028023000027133094, + "duration_ms": 0.02765200002841084, "success": true, - "started_at_unix": 1789970999.3673413, + "started_at_unix": 1790057301.5329943, "bytes_sent": 325, "bytes_received": 0, "request_id": null, @@ -8216,9 +8216,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.020338000012998236, + "duration_ms": 0.01952600001686733, "success": true, - "started_at_unix": 1789970999.36755, + "started_at_unix": 1790057301.533193, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -8235,9 +8235,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 187.0826960000045, + "duration_ms": 179.82342400000562, "success": true, - "started_at_unix": 1789970999.3675795, + "started_at_unix": 1790057301.533222, "bytes_sent": 247, "bytes_received": 401, "request_id": 26, @@ -8265,9 +8265,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.05077500003380919, + "duration_ms": 0.027692000003298745, "success": true, - "started_at_unix": 1789970999.554723, + "started_at_unix": 1790057301.7131057, "bytes_sent": 325, "bytes_received": 0, "request_id": null, @@ -8284,9 +8284,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02235199997357995, + "duration_ms": 0.014547000034781377, "success": true, - "started_at_unix": 1789970999.5547895, + "started_at_unix": 1790057301.7131429, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -8303,9 +8303,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 185.71312500000658, + "duration_ms": 178.53786199998467, "success": true, - "started_at_unix": 1789970999.554822, + "started_at_unix": 1790057301.7131653, "bytes_sent": 247, "bytes_received": 401, "request_id": 27, @@ -8333,9 +8333,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.027461000001949287, + "duration_ms": 0.027831999943828123, "success": true, - "started_at_unix": 1789970999.7406116, + "started_at_unix": 1790057301.8917792, "bytes_sent": 325, "bytes_received": 0, "request_id": null, @@ -8352,9 +8352,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.014587000009669282, + "duration_ms": 0.014958000008391537, "success": true, - "started_at_unix": 1789970999.7406487, + "started_at_unix": 1790057301.8918166, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -8371,9 +8371,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 185.69101399998544, + "duration_ms": 180.54535300001362, "success": true, - "started_at_unix": 1789970999.7406723, + "started_at_unix": 1790057301.8918405, "bytes_sent": 247, "bytes_received": 401, "request_id": 28, @@ -8401,9 +8401,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.028042999986155337, + "duration_ms": 0.026390000016363047, "success": true, - "started_at_unix": 1789970999.9264417, + "started_at_unix": 1790057302.072462, "bytes_sent": 325, "bytes_received": 0, "request_id": null, @@ -8420,9 +8420,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.013936000016201433, + "duration_ms": 0.015007999991212273, "success": true, - "started_at_unix": 1789970999.9264789, + "started_at_unix": 1790057302.0724978, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -8439,9 +8439,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 185.06408600001123, + "duration_ms": 180.40199500001108, "success": true, - "started_at_unix": 1789970999.9265008, + "started_at_unix": 1790057302.0725214, "bytes_sent": 247, "bytes_received": 401, "request_id": 29, @@ -8469,9 +8469,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02716000000191343, + "duration_ms": 0.027670999998008483, "success": true, - "started_at_unix": 1789971000.111642, + "started_at_unix": 1790057302.2529998, "bytes_sent": 325, "bytes_received": 0, "request_id": null, @@ -8488,9 +8488,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.015087999997831503, + "duration_ms": 0.0152289999846289, "success": true, - "started_at_unix": 1789971000.1116796, + "started_at_unix": 1790057302.253037, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -8507,9 +8507,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 186.26983199999358, + "duration_ms": 180.25020199996789, "success": true, - "started_at_unix": 1789971000.111704, + "started_at_unix": 1790057302.2530618, "bytes_sent": 247, "bytes_received": 401, "request_id": 30, @@ -8537,9 +8537,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.027101000000584463, + "duration_ms": 0.025868000022910564, "success": true, - "started_at_unix": 1789971000.2980516, + "started_at_unix": 1790057302.4333878, "bytes_sent": 325, "bytes_received": 0, "request_id": null, @@ -8556,9 +8556,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.014286999999058025, + "duration_ms": 0.01481800001101874, "success": true, - "started_at_unix": 1789971000.298088, + "started_at_unix": 1790057302.433423, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -8575,9 +8575,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 186.1042829999633, + "duration_ms": 191.6361109999798, "success": true, - "started_at_unix": 1789971000.2981105, + "started_at_unix": 1790057302.4334462, "bytes_sent": 247, "bytes_received": 401, "request_id": 31, @@ -8605,9 +8605,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03440399996179622, + "duration_ms": 0.026719999993929378, "success": true, - "started_at_unix": 1789971000.4842908, + "started_at_unix": 1790057302.625159, "bytes_sent": 325, "bytes_received": 0, "request_id": null, @@ -8624,9 +8624,9 @@ { "kind": "notification", "method": "textDocument/didClose", - "duration_ms": 0.014636999992490018, + "duration_ms": 0.014927999984593043, "success": true, - "started_at_unix": 1789971000.4844103, + "started_at_unix": 1790057302.625274, "bytes_sent": 204, "bytes_received": 0, "request_id": null, @@ -8639,9 +8639,9 @@ { "kind": "request", "method": "shutdown", - "duration_ms": 0.6749369999852206, + "duration_ms": 0.6547030000092491, "success": true, - "started_at_unix": 1789971000.4844315, + "started_at_unix": 1790057302.6252954, "bytes_sent": 67, "bytes_received": 117, "request_id": 32, @@ -8659,9 +8659,9 @@ { "kind": "notification", "method": "exit", - "duration_ms": 0.02001699999709672, + "duration_ms": 0.020569000014347694, "success": true, - "started_at_unix": 1789971000.4851222, + "started_at_unix": 1790057302.6259673, "bytes_sent": 55, "bytes_received": 0, "request_id": null, @@ -8683,7 +8683,7 @@ "environment_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/sqlalchemy/.venv", "python_executable": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/sqlalchemy/.venv/bin/python", "success": false, - "total_duration_ms": 7220.961668000029, + "total_duration_ms": 6985.564798000041, "error_message": null, "summary": { "request_count": 32, @@ -8692,11 +8692,11 @@ "failure_count": 0, "bytes_sent": 18918, "bytes_received": 72500, - "min_ms": 0.5555949999802579, - "max_ms": 2630.8077819999767, - "mean_ms": 224.97781600000087, - "median_ms": 39.03693899999894, - "p95_ms": 815.0840122500053, + "min_ms": 0.4769720000012967, + "max_ms": 2601.308668999991, + "mean_ms": 217.63939100000408, + "median_ms": 38.44345250001879, + "p95_ms": 767.175604250016, "result_summary": { "present_count": 31, "empty_count": 13, @@ -8752,27 +8752,27 @@ "by_method": { "textDocument/completion": { "point_count": 2, - "min_ms": 34.24568999997746, - "max_ms": 545.6513699999732, - "mean_ms": 131.76766259999226, - "median_ms": 38.945764999994026, - "p95_ms": 429.42685185000164 + "min_ms": 32.38321200001337, + "max_ms": 520.6936910000195, + "mean_ms": 122.88893420000022, + "median_ms": 37.59395949998634, + "p95_ms": 402.211799600033 }, "textDocument/hover": { "point_count": 2, - "min_ms": 38.67687500002148, - "max_ms": 330.384400000014, - "mean_ms": 184.5719731000031, - "median_ms": 184.37843350000094, - "p95_ms": 330.34878385001036 + "min_ms": 37.58333000001812, + "max_ms": 325.6051200000343, + "mean_ms": 180.91066550001642, + "median_ms": 179.77946900003872, + "p95_ms": 325.53935070001216 }, "textDocument/definition": { "point_count": 1, - "min_ms": 1.0150709999834362, - "max_ms": 1.4142460000243773, - "mean_ms": 1.1254148000148234, - "median_ms": 1.074471000038102, - "p95_ms": 1.351380600021912 + "min_ms": 1.0178919999930258, + "max_ms": 1.5850170000248909, + "mean_ms": 1.2724327999990237, + "median_ms": 1.155869999990955, + "p95_ms": 1.5785960000130217 } }, "validation": { @@ -8798,11 +8798,11 @@ "failure_count": 0, "bytes_sent": 1415, "bytes_received": 1825, - "min_ms": 34.24568999997746, - "max_ms": 545.6513699999732, - "mean_ms": 224.7704993999946, - "median_ms": 166.86107099997116, - "p95_ms": 493.9960285999859, + "min_ms": 32.38321200001337, + "max_ms": 520.6936910000195, + "mean_ms": 208.3979966000129, + "median_ms": 157.86020199999484, + "p95_ms": 468.03507260002556, "result_summary": { "present_count": 5, "empty_count": 0, @@ -8862,9 +8862,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 1144.3905750000454, + "duration_ms": 1068.4312760000125, "success": true, - "started_at_unix": 1789971000.6876569, + "started_at_unix": 1790057302.8220956, "bytes_sent": 283, "bytes_received": 365, "request_id": 2, @@ -8892,9 +8892,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 34.24568999997746, + "duration_ms": 32.38321200001337, "success": true, - "started_at_unix": 1789971001.832117, + "started_at_unix": 1790057303.890641, "bytes_sent": 283, "bytes_received": 365, "request_id": 3, @@ -8922,9 +8922,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 89.7197030000143, + "duration_ms": 73.65227899998672, "success": true, - "started_at_unix": 1789971001.8664489, + "started_at_unix": 1790057303.9231176, "bytes_sent": 283, "bytes_received": 365, "request_id": 4, @@ -8952,9 +8952,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 166.86107099997116, + "duration_ms": 157.86020199999484, "success": true, - "started_at_unix": 1789971001.9562535, + "started_at_unix": 1790057303.9968784, "bytes_sent": 283, "bytes_received": 365, "request_id": 5, @@ -8982,9 +8982,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 287.3746630000369, + "duration_ms": 257.4005990000501, "success": true, - "started_at_unix": 1789971002.1232002, + "started_at_unix": 1790057304.1548243, "bytes_sent": 283, "bytes_received": 365, "request_id": 6, @@ -9012,9 +9012,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 545.6513699999732, + "duration_ms": 520.6936910000195, "success": true, - "started_at_unix": 1789971002.4106624, + "started_at_unix": 1790057304.412311, "bytes_sent": 283, "bytes_received": 365, "request_id": 7, @@ -9057,11 +9057,11 @@ "failure_count": 0, "bytes_sent": 1254, "bytes_received": 54759, - "min_ms": 327.5350229999958, - "max_ms": 330.384400000014, - "mean_ms": 329.40860880000855, - "median_ms": 330.04731300002277, - "p95_ms": 330.3685706000124, + "min_ms": 320.31098600003816, + "max_ms": 325.6051200000343, + "mean_ms": 323.3156330000156, + "median_ms": 324.39866500004655, + "p95_ms": 325.57588920002445, "result_summary": { "present_count": 5, "empty_count": 0, @@ -9121,9 +9121,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 2630.8077819999767, + "duration_ms": 2601.308668999991, "success": true, - "started_at_unix": 1789971002.9564838, + "started_at_unix": 1790057304.9331756, "bytes_sent": 250, "bytes_received": 10951, "request_id": 8, @@ -9151,9 +9151,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 330.384400000014, + "duration_ms": 320.31098600003816, "success": true, - "started_at_unix": 1789971005.5874481, + "started_at_unix": 1790057307.5346794, "bytes_sent": 250, "bytes_received": 10951, "request_id": 9, @@ -9181,9 +9181,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 327.5350229999958, + "duration_ms": 320.804427999974, "success": true, - "started_at_unix": 1789971005.9180777, + "started_at_unix": 1790057307.8552494, "bytes_sent": 251, "bytes_received": 10952, "request_id": 10, @@ -9211,9 +9211,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 330.04731300002277, + "duration_ms": 325.45896599998514, "success": true, - "started_at_unix": 1789971006.2458868, + "started_at_unix": 1790057308.176291, "bytes_sent": 251, "bytes_received": 10952, "request_id": 11, @@ -9241,9 +9241,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 330.3052530000059, + "duration_ms": 324.39866500004655, "success": true, - "started_at_unix": 1789971006.5761774, + "started_at_unix": 1790057308.5019825, "bytes_sent": 251, "bytes_received": 10952, "request_id": 12, @@ -9271,9 +9271,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 328.77105500000425, + "duration_ms": 325.6051200000343, "success": true, - "started_at_unix": 1789971006.9067473, + "started_at_unix": 1790057308.826627, "bytes_sent": 251, "bytes_received": 10952, "request_id": 13, @@ -9316,11 +9316,11 @@ "failure_count": 0, "bytes_sent": 1280, "bytes_received": 1560, - "min_ms": 1.0150709999834362, - "max_ms": 1.4142460000243773, - "mean_ms": 1.1254148000148234, - "median_ms": 1.074471000038102, - "p95_ms": 1.351380600021912, + "min_ms": 1.0178919999930258, + "max_ms": 1.5850170000248909, + "mean_ms": 1.2724327999990237, + "median_ms": 1.155869999990955, + "p95_ms": 1.5785960000130217, "result_summary": { "present_count": 5, "empty_count": 0, @@ -9380,9 +9380,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.389507999988382, + "duration_ms": 1.3844679999692744, "success": true, - "started_at_unix": 1789971007.235894, + "started_at_unix": 1790057309.1526005, "bytes_sent": 256, "bytes_received": 312, "request_id": 14, @@ -9410,9 +9410,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.074471000038102, + "duration_ms": 1.155869999990955, "success": true, - "started_at_unix": 1789971007.2373242, + "started_at_unix": 1790057309.1540282, "bytes_sent": 256, "bytes_received": 312, "request_id": 15, @@ -9440,9 +9440,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.023367000016151, + "duration_ms": 1.0504730000207019, "success": true, - "started_at_unix": 1789971007.2384462, + "started_at_unix": 1790057309.1552353, "bytes_sent": 256, "bytes_received": 312, "request_id": 16, @@ -9470,9 +9470,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.0150709999834362, + "duration_ms": 1.0178919999930258, "success": true, - "started_at_unix": 1789971007.2395155, + "started_at_unix": 1790057309.1563342, "bytes_sent": 256, "bytes_received": 312, "request_id": 17, @@ -9500,9 +9500,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.4142460000243773, + "duration_ms": 1.5850170000248909, "success": true, - "started_at_unix": 1789971007.240594, + "started_at_unix": 1790057309.157418, "bytes_sent": 256, "bytes_received": 312, "request_id": 18, @@ -9530,9 +9530,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.0999190000120507, + "duration_ms": 1.552911999965545, "success": true, - "started_at_unix": 1789971007.2420654, + "started_at_unix": 1790057309.1590629, "bytes_sent": 256, "bytes_received": 312, "request_id": 19, @@ -9575,11 +9575,11 @@ "failure_count": 0, "bytes_sent": 1420, "bytes_received": 730, - "min_ms": 38.40886499995122, - "max_ms": 38.95304899998564, - "mean_ms": 38.76482579998992, - "median_ms": 38.814158999969095, - "p95_ms": 38.950135399988994, + "min_ms": 37.07848699997385, + "max_ms": 37.73762800000213, + "mean_ms": 37.37987179998754, + "median_ms": 37.32162099998959, + "p95_ms": 37.680160599995816, "result_summary": { "present_count": 5, "empty_count": 5, @@ -9639,9 +9639,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 42.1969299999887, + "duration_ms": 44.46835699997109, "success": true, - "started_at_unix": 1789971007.2434053, + "started_at_unix": 1790057309.1608386, "bytes_sent": 284, "bytes_received": 146, "request_id": 20, @@ -9669,9 +9669,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 38.70957500004124, + "duration_ms": 37.311332000001585, "success": true, - "started_at_unix": 1789971007.2857435, + "started_at_unix": 1790057309.2054036, "bytes_sent": 284, "bytes_received": 146, "request_id": 21, @@ -9699,9 +9699,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 38.814158999969095, + "duration_ms": 37.73762800000213, "success": true, - "started_at_unix": 1789971007.3246064, + "started_at_unix": 1790057309.2428198, "bytes_sent": 284, "bytes_received": 146, "request_id": 22, @@ -9729,9 +9729,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 38.93848100000241, + "duration_ms": 37.07848699997385, "success": true, - "started_at_unix": 1789971007.3635736, + "started_at_unix": 1790057309.2806816, "bytes_sent": 284, "bytes_received": 146, "request_id": 23, @@ -9759,9 +9759,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 38.40886499995122, + "duration_ms": 37.32162099998959, "success": true, - "started_at_unix": 1789971007.4026628, + "started_at_unix": 1790057309.3178718, "bytes_sent": 284, "bytes_received": 146, "request_id": 24, @@ -9789,9 +9789,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 38.95304899998564, + "duration_ms": 37.45029099997055, "success": true, - "started_at_unix": 1789971007.441225, + "started_at_unix": 1790057309.3553073, "bytes_sent": 284, "bytes_received": 146, "request_id": 25, @@ -9834,11 +9834,11 @@ "failure_count": 0, "bytes_sent": 1255, "bytes_received": 640, - "min_ms": 38.67687500002148, - "max_ms": 41.22184400000606, - "mean_ms": 39.73533739999766, - "median_ms": 39.05057899999065, - "p95_ms": 41.118293199997424, + "min_ms": 37.58333000001812, + "max_ms": 39.24795200003928, + "mean_ms": 38.50569800001722, + "median_ms": 38.79584600002772, + "p95_ms": 39.16042220002964, "result_summary": { "present_count": 5, "empty_count": 5, @@ -9898,9 +9898,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 38.95998100000497, + "duration_ms": 37.81830899998795, "success": true, - "started_at_unix": 1789971007.4805539, + "started_at_unix": 1790057309.3930237, "bytes_sent": 251, "bytes_received": 128, "request_id": 26, @@ -9928,9 +9928,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 39.05057899999065, + "duration_ms": 37.58333000001812, "success": true, - "started_at_unix": 1789971007.5196545, + "started_at_unix": 1790057309.430951, "bytes_sent": 251, "bytes_received": 128, "request_id": 27, @@ -9958,9 +9958,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 38.67687500002148, + "duration_ms": 38.091059000009864, "success": true, - "started_at_unix": 1789971007.5589006, + "started_at_unix": 1790057309.4686868, "bytes_sent": 251, "bytes_received": 128, "request_id": 28, @@ -9988,9 +9988,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 39.02329900000723, + "duration_ms": 39.24795200003928, "success": true, - "started_at_unix": 1789971007.5977256, + "started_at_unix": 1790057309.5068989, "bytes_sent": 251, "bytes_received": 128, "request_id": 29, @@ -10018,9 +10018,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 41.22184400000606, + "duration_ms": 38.81030299999111, "success": true, - "started_at_unix": 1789971007.6369314, + "started_at_unix": 1790057309.5462835, "bytes_sent": 251, "bytes_received": 128, "request_id": 30, @@ -10048,9 +10048,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 40.70408999996289, + "duration_ms": 38.79584600002772, "success": true, - "started_at_unix": 1789971007.6783068, + "started_at_unix": 1790057309.5852168, "bytes_sent": 251, "bytes_received": 128, "request_id": 31, @@ -10082,9 +10082,9 @@ { "kind": "request", "method": "initialize", - "duration_ms": 171.96631000001616, + "duration_ms": 166.21430000003556, "success": true, - "started_at_unix": 1789971000.5153332, + "started_at_unix": 1790057302.65553, "bytes_sent": 667, "bytes_received": 967, "request_id": 1, @@ -10103,9 +10103,9 @@ { "kind": "notification", "method": "initialized", - "duration_ms": 0.029104000020652165, + "duration_ms": 0.02733100001250932, "success": true, - "started_at_unix": 1789971000.6873925, + "started_at_unix": 1790057302.8218331, "bytes_sent": 74, "bytes_received": 0, "request_id": null, @@ -10118,9 +10118,9 @@ { "kind": "notification", "method": "workspace/didChangeConfiguration", - "duration_ms": 0.02582799999117924, + "duration_ms": 0.02692000003889916, "success": true, - "started_at_unix": 1789971000.6874568, + "started_at_unix": 1790057302.821894, "bytes_sent": 651, "bytes_received": 0, "request_id": null, @@ -10136,9 +10136,9 @@ { "kind": "notification", "method": "textDocument/didOpen", - "duration_ms": 0.030165999987730174, + "duration_ms": 0.02913399998760724, "success": true, - "started_at_unix": 1789971000.6875782, + "started_at_unix": 1790057302.822017, "bytes_sent": 730, "bytes_received": 0, "request_id": null, @@ -10154,9 +10154,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 1144.3905750000454, + "duration_ms": 1068.4312760000125, "success": true, - "started_at_unix": 1789971000.6876569, + "started_at_unix": 1790057302.8220956, "bytes_sent": 283, "bytes_received": 365, "request_id": 2, @@ -10184,9 +10184,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 34.24568999997746, + "duration_ms": 32.38321200001337, "success": true, - "started_at_unix": 1789971001.832117, + "started_at_unix": 1790057303.890641, "bytes_sent": 283, "bytes_received": 365, "request_id": 3, @@ -10214,9 +10214,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 89.7197030000143, + "duration_ms": 73.65227899998672, "success": true, - "started_at_unix": 1789971001.8664489, + "started_at_unix": 1790057303.9231176, "bytes_sent": 283, "bytes_received": 365, "request_id": 4, @@ -10244,9 +10244,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 166.86107099997116, + "duration_ms": 157.86020199999484, "success": true, - "started_at_unix": 1789971001.9562535, + "started_at_unix": 1790057303.9968784, "bytes_sent": 283, "bytes_received": 365, "request_id": 5, @@ -10274,9 +10274,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 287.3746630000369, + "duration_ms": 257.4005990000501, "success": true, - "started_at_unix": 1789971002.1232002, + "started_at_unix": 1790057304.1548243, "bytes_sent": 283, "bytes_received": 365, "request_id": 6, @@ -10304,9 +10304,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 545.6513699999732, + "duration_ms": 520.6936910000195, "success": true, - "started_at_unix": 1789971002.4106624, + "started_at_unix": 1790057304.412311, "bytes_sent": 283, "bytes_received": 365, "request_id": 7, @@ -10334,9 +10334,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 2630.8077819999767, + "duration_ms": 2601.308668999991, "success": true, - "started_at_unix": 1789971002.9564838, + "started_at_unix": 1790057304.9331756, "bytes_sent": 250, "bytes_received": 10951, "request_id": 8, @@ -10364,9 +10364,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 330.384400000014, + "duration_ms": 320.31098600003816, "success": true, - "started_at_unix": 1789971005.5874481, + "started_at_unix": 1790057307.5346794, "bytes_sent": 250, "bytes_received": 10951, "request_id": 9, @@ -10394,9 +10394,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 327.5350229999958, + "duration_ms": 320.804427999974, "success": true, - "started_at_unix": 1789971005.9180777, + "started_at_unix": 1790057307.8552494, "bytes_sent": 251, "bytes_received": 10952, "request_id": 10, @@ -10424,9 +10424,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 330.04731300002277, + "duration_ms": 325.45896599998514, "success": true, - "started_at_unix": 1789971006.2458868, + "started_at_unix": 1790057308.176291, "bytes_sent": 251, "bytes_received": 10952, "request_id": 11, @@ -10454,9 +10454,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 330.3052530000059, + "duration_ms": 324.39866500004655, "success": true, - "started_at_unix": 1789971006.5761774, + "started_at_unix": 1790057308.5019825, "bytes_sent": 251, "bytes_received": 10952, "request_id": 12, @@ -10484,9 +10484,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 328.77105500000425, + "duration_ms": 325.6051200000343, "success": true, - "started_at_unix": 1789971006.9067473, + "started_at_unix": 1790057308.826627, "bytes_sent": 251, "bytes_received": 10952, "request_id": 13, @@ -10514,9 +10514,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.389507999988382, + "duration_ms": 1.3844679999692744, "success": true, - "started_at_unix": 1789971007.235894, + "started_at_unix": 1790057309.1526005, "bytes_sent": 256, "bytes_received": 312, "request_id": 14, @@ -10544,9 +10544,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.074471000038102, + "duration_ms": 1.155869999990955, "success": true, - "started_at_unix": 1789971007.2373242, + "started_at_unix": 1790057309.1540282, "bytes_sent": 256, "bytes_received": 312, "request_id": 15, @@ -10574,9 +10574,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.023367000016151, + "duration_ms": 1.0504730000207019, "success": true, - "started_at_unix": 1789971007.2384462, + "started_at_unix": 1790057309.1552353, "bytes_sent": 256, "bytes_received": 312, "request_id": 16, @@ -10604,9 +10604,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.0150709999834362, + "duration_ms": 1.0178919999930258, "success": true, - "started_at_unix": 1789971007.2395155, + "started_at_unix": 1790057309.1563342, "bytes_sent": 256, "bytes_received": 312, "request_id": 17, @@ -10634,9 +10634,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.4142460000243773, + "duration_ms": 1.5850170000248909, "success": true, - "started_at_unix": 1789971007.240594, + "started_at_unix": 1790057309.157418, "bytes_sent": 256, "bytes_received": 312, "request_id": 18, @@ -10664,9 +10664,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.0999190000120507, + "duration_ms": 1.552911999965545, "success": true, - "started_at_unix": 1789971007.2420654, + "started_at_unix": 1790057309.1590629, "bytes_sent": 256, "bytes_received": 312, "request_id": 19, @@ -10694,9 +10694,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03152799996541944, + "duration_ms": 0.02700099997809957, "success": true, - "started_at_unix": 1789971007.243359, + "started_at_unix": 1790057309.1608021, "bytes_sent": 381, "bytes_received": 0, "request_id": null, @@ -10713,9 +10713,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 42.1969299999887, + "duration_ms": 44.46835699997109, "success": true, - "started_at_unix": 1789971007.2434053, + "started_at_unix": 1790057309.1608386, "bytes_sent": 284, "bytes_received": 146, "request_id": 20, @@ -10743,9 +10743,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03425400001333401, + "duration_ms": 0.026128999991215096, "success": true, - "started_at_unix": 1789971007.2856562, + "started_at_unix": 1790057309.2053459, "bytes_sent": 328, "bytes_received": 0, "request_id": null, @@ -10762,9 +10762,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.026029000025573623, + "duration_ms": 0.014668000005713111, "success": true, - "started_at_unix": 1789971007.2857041, + "started_at_unix": 1790057309.205381, "bytes_sent": 381, "bytes_received": 0, "request_id": null, @@ -10781,9 +10781,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 38.70957500004124, + "duration_ms": 37.311332000001585, "success": true, - "started_at_unix": 1789971007.2857435, + "started_at_unix": 1790057309.2054036, "bytes_sent": 284, "bytes_received": 146, "request_id": 21, @@ -10811,9 +10811,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.0334430000066277, + "duration_ms": 0.024044999975103565, "success": true, - "started_at_unix": 1789971007.3245225, + "started_at_unix": 1790057309.2427661, "bytes_sent": 328, "bytes_received": 0, "request_id": null, @@ -10830,9 +10830,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.0250769999752265, + "duration_ms": 0.01416700001755089, "success": true, - "started_at_unix": 1789971007.3245685, + "started_at_unix": 1790057309.2427986, "bytes_sent": 381, "bytes_received": 0, "request_id": null, @@ -10849,9 +10849,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 38.814158999969095, + "duration_ms": 37.73762800000213, "success": true, - "started_at_unix": 1789971007.3246064, + "started_at_unix": 1790057309.2428198, "bytes_sent": 284, "bytes_received": 146, "request_id": 22, @@ -10879,9 +10879,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03296200003433114, + "duration_ms": 0.02515699998184573, "success": true, - "started_at_unix": 1789971007.3634899, + "started_at_unix": 1790057309.2806253, "bytes_sent": 328, "bytes_received": 0, "request_id": null, @@ -10898,9 +10898,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02524699999639779, + "duration_ms": 0.014767999971354584, "success": true, - "started_at_unix": 1789971007.3635354, + "started_at_unix": 1790057309.2806594, "bytes_sent": 381, "bytes_received": 0, "request_id": null, @@ -10917,9 +10917,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 38.93848100000241, + "duration_ms": 37.07848699997385, "success": true, - "started_at_unix": 1789971007.3635736, + "started_at_unix": 1790057309.2806816, "bytes_sent": 284, "bytes_received": 146, "request_id": 23, @@ -10947,9 +10947,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.031920000026275375, + "duration_ms": 0.024816000006921968, "success": true, - "started_at_unix": 1789971007.4025812, + "started_at_unix": 1790057309.317817, "bytes_sent": 328, "bytes_received": 0, "request_id": null, @@ -10966,9 +10966,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.024455000016132544, + "duration_ms": 0.01424700002417012, "success": true, - "started_at_unix": 1789971007.4026256, + "started_at_unix": 1790057309.3178506, "bytes_sent": 382, "bytes_received": 0, "request_id": null, @@ -10985,9 +10985,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 38.40886499995122, + "duration_ms": 37.32162099998959, "success": true, - "started_at_unix": 1789971007.4026628, + "started_at_unix": 1790057309.3178718, "bytes_sent": 284, "bytes_received": 146, "request_id": 24, @@ -11015,9 +11015,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03244999999196807, + "duration_ms": 0.025357000026815513, "success": true, - "started_at_unix": 1789971007.4411407, + "started_at_unix": 1790057309.3552518, "bytes_sent": 329, "bytes_received": 0, "request_id": null, @@ -11034,9 +11034,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.026087999970059172, + "duration_ms": 0.01415700000961806, "success": true, - "started_at_unix": 1789971007.441186, + "started_at_unix": 1790057309.3552856, "bytes_sent": 382, "bytes_received": 0, "request_id": null, @@ -11053,9 +11053,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 38.95304899998564, + "duration_ms": 37.45029099997055, "success": true, - "started_at_unix": 1789971007.441225, + "started_at_unix": 1790057309.3553073, "bytes_sent": 284, "bytes_received": 146, "request_id": 25, @@ -11083,9 +11083,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03244100003030326, + "duration_ms": 0.024805999998989137, "success": true, - "started_at_unix": 1789971007.4802465, + "started_at_unix": 1790057309.3928082, "bytes_sent": 329, "bytes_received": 0, "request_id": null, @@ -11102,9 +11102,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03139800003282289, + "duration_ms": 0.020689000052698248, "success": true, - "started_at_unix": 1789971007.4805095, + "started_at_unix": 1790057309.3929935, "bytes_sent": 381, "bytes_received": 0, "request_id": null, @@ -11121,9 +11121,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 38.95998100000497, + "duration_ms": 37.81830899998795, "success": true, - "started_at_unix": 1789971007.4805539, + "started_at_unix": 1790057309.3930237, "bytes_sent": 251, "bytes_received": 128, "request_id": 26, @@ -11151,9 +11151,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03501600002664418, + "duration_ms": 0.0300670000115133, "success": true, - "started_at_unix": 1789971007.5195687, + "started_at_unix": 1790057309.4308848, "bytes_sent": 329, "bytes_received": 0, "request_id": null, @@ -11170,9 +11170,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02540799999906085, + "duration_ms": 0.017743000000791653, "success": true, - "started_at_unix": 1789971007.5196173, + "started_at_unix": 1790057309.430925, "bytes_sent": 381, "bytes_received": 0, "request_id": null, @@ -11189,9 +11189,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 39.05057899999065, + "duration_ms": 37.58333000001812, "success": true, - "started_at_unix": 1789971007.5196545, + "started_at_unix": 1790057309.430951, "bytes_sent": 251, "bytes_received": 128, "request_id": 27, @@ -11219,9 +11219,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03649799998584058, + "duration_ms": 0.05271799994943649, "success": true, - "started_at_unix": 1789971007.5588117, + "started_at_unix": 1790057309.4685965, "bytes_sent": 329, "bytes_received": 0, "request_id": null, @@ -11238,9 +11238,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.025728000025537767, + "duration_ms": 0.018575000012788223, "success": true, - "started_at_unix": 1789971007.5588617, + "started_at_unix": 1790057309.4686596, "bytes_sent": 381, "bytes_received": 0, "request_id": null, @@ -11257,9 +11257,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 38.67687500002148, + "duration_ms": 38.091059000009864, "success": true, - "started_at_unix": 1789971007.5589006, + "started_at_unix": 1790057309.4686868, "bytes_sent": 251, "bytes_received": 128, "request_id": 28, @@ -11287,9 +11287,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03144900000506823, + "duration_ms": 0.025878000030843396, "success": true, - "started_at_unix": 1789971007.5976439, + "started_at_unix": 1790057309.506842, "bytes_sent": 329, "bytes_received": 0, "request_id": null, @@ -11306,9 +11306,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.024845999973877042, + "duration_ms": 0.013766000051873561, "success": true, - "started_at_unix": 1789971007.597688, + "started_at_unix": 1790057309.5068772, "bytes_sent": 381, "bytes_received": 0, "request_id": null, @@ -11325,9 +11325,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 39.02329900000723, + "duration_ms": 39.24795200003928, "success": true, - "started_at_unix": 1789971007.5977256, + "started_at_unix": 1790057309.5068989, "bytes_sent": 251, "bytes_received": 128, "request_id": 29, @@ -11355,9 +11355,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03278200000522702, + "duration_ms": 0.028843999984928814, "success": true, - "started_at_unix": 1789971007.6368463, + "started_at_unix": 1790057309.5462058, "bytes_sent": 329, "bytes_received": 0, "request_id": null, @@ -11374,9 +11374,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.025016999984472932, + "duration_ms": 0.02491700001883146, "success": true, - "started_at_unix": 1789971007.6368933, + "started_at_unix": 1790057309.546246, "bytes_sent": 381, "bytes_received": 0, "request_id": null, @@ -11393,9 +11393,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 41.22184400000606, + "duration_ms": 38.81030299999111, "success": true, - "started_at_unix": 1789971007.6369314, + "started_at_unix": 1790057309.5462835, "bytes_sent": 251, "bytes_received": 128, "request_id": 30, @@ -11423,9 +11423,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03228099996022138, + "duration_ms": 0.027500999976837193, "success": true, - "started_at_unix": 1789971007.6782243, + "started_at_unix": 1790057309.5851417, "bytes_sent": 329, "bytes_received": 0, "request_id": null, @@ -11442,9 +11442,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.024956999993719364, + "duration_ms": 0.024945999996361934, "success": true, - "started_at_unix": 1789971007.6782694, + "started_at_unix": 1790057309.5851798, "bytes_sent": 381, "bytes_received": 0, "request_id": null, @@ -11461,9 +11461,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 40.70408999996289, + "duration_ms": 38.79584600002772, "success": true, - "started_at_unix": 1789971007.6783068, + "started_at_unix": 1790057309.5852168, "bytes_sent": 251, "bytes_received": 128, "request_id": 31, @@ -11491,9 +11491,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03193999998529762, + "duration_ms": 0.027932000023156434, "success": true, - "started_at_unix": 1789971007.719079, + "started_at_unix": 1790057309.62406, "bytes_sent": 329, "bytes_received": 0, "request_id": null, @@ -11510,9 +11510,9 @@ { "kind": "notification", "method": "textDocument/didClose", - "duration_ms": 0.023893999980373337, + "duration_ms": 0.025547999996433646, "success": true, - "started_at_unix": 1789971007.7192502, + "started_at_unix": 1790057309.62422, "bytes_sent": 208, "bytes_received": 0, "request_id": null, @@ -11525,9 +11525,9 @@ { "kind": "request", "method": "shutdown", - "duration_ms": 0.5555949999802579, + "duration_ms": 0.4769720000012967, "success": true, - "started_at_unix": 1789971007.7192838, + "started_at_unix": 1790057309.6242554, "bytes_sent": 67, "bytes_received": 117, "request_id": 32, @@ -11545,9 +11545,9 @@ { "kind": "notification", "method": "exit", - "duration_ms": 0.02625900003749848, + "duration_ms": 0.025768000000425673, "success": true, - "started_at_unix": 1789971007.71986, + "started_at_unix": 1790057309.6247532, "bytes_sent": 55, "bytes_received": 0, "request_id": null, @@ -11569,7 +11569,7 @@ "environment_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/transformers/.venv", "python_executable": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/transformers/.venv/bin/python", "success": false, - "total_duration_ms": 179571.20856099998, + "total_duration_ms": 181192.63721799996, "error_message": null, "summary": { "request_count": 32, @@ -11578,11 +11578,11 @@ "failure_count": 0, "bytes_sent": 19004, "bytes_received": 9344, - "min_ms": 0.5471079999779249, - "max_ms": 131892.63187, - "mean_ms": 5606.3240469687535, - "median_ms": 2210.3160940000066, - "p95_ms": 3164.9703153500122, + "min_ms": 0.6102500000224609, + "max_ms": 133537.01684400006, + "mean_ms": 5656.99109290625, + "median_ms": 2202.955498500046, + "p95_ms": 3158.5748232000265, "result_summary": { "present_count": 31, "empty_count": 19, @@ -11638,27 +11638,27 @@ "by_method": { "textDocument/completion": { "point_count": 2, - "min_ms": 2.437679000024673, - "max_ms": 151.9953089999717, - "mean_ms": 75.24923499999545, - "median_ms": 72.09864199998606, - "p95_ms": 151.09269179999387 + "min_ms": 2.4030390000007174, + "max_ms": 144.42888500002482, + "mean_ms": 72.7149185999906, + "median_ms": 72.4661729999525, + "p95_ms": 143.84964320000222 }, "textDocument/hover": { "point_count": 2, - "min_ms": 2640.4375039999763, - "max_ms": 2789.545619000023, - "mean_ms": 2704.9188099000103, - "median_ms": 2701.740360999992, - "p95_ms": 2781.881796350018 + "min_ms": 2630.0428929999953, + "max_ms": 2800.0964730000533, + "mean_ms": 2711.831526499998, + "median_ms": 2703.4719439999435, + "p95_ms": 2797.7006766000272 }, "textDocument/definition": { "point_count": 1, - "min_ms": 2186.038068000016, - "max_ms": 2251.2327480000067, - "mean_ms": 2209.374416000014, - "median_ms": 2202.521380999997, - "p95_ms": 2244.6083598000087 + "min_ms": 2171.239876999948, + "max_ms": 2261.6057499999442, + "mean_ms": 2219.3497920000027, + "median_ms": 2206.6036070000337, + "p95_ms": 2260.8830671999613 } }, "validation": { @@ -11684,11 +11684,11 @@ "failure_count": 0, "bytes_sent": 1440, "bytes_received": 2930, - "min_ms": 141.61233999999467, - "max_ms": 151.9953089999717, - "mean_ms": 147.98423999999386, - "median_ms": 148.64990799998168, - "p95_ms": 151.59414579998156, + "min_ms": 142.08956499999204, + "max_ms": 144.42888500002482, + "mean_ms": 142.8421825999976, + "median_ms": 142.28923699999996, + "p95_ms": 144.17144420001478, "result_summary": { "present_count": 5, "empty_count": 0, @@ -11748,9 +11748,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 3623.822722, + "duration_ms": 3596.715028999995, "success": true, - "started_at_unix": 1789971007.922533, + "started_at_unix": 1790057309.8189692, "bytes_sent": 288, "bytes_received": 586, "request_id": 2, @@ -11778,9 +11778,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 151.9953089999717, + "duration_ms": 144.42888500002482, "success": true, - "started_at_unix": 1789971011.546431, + "started_at_unix": 1790057313.4157586, "bytes_sent": 288, "bytes_received": 586, "request_id": 3, @@ -11808,9 +11808,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 149.98949300002096, + "duration_ms": 143.1416809999746, "success": true, - "started_at_unix": 1789971011.698519, + "started_at_unix": 1790057313.5602977, "bytes_sent": 288, "bytes_received": 586, "request_id": 4, @@ -11838,9 +11838,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 148.64990799998168, + "duration_ms": 142.26154499999666, "success": true, - "started_at_unix": 1789971011.8485994, + "started_at_unix": 1790057313.7035465, "bytes_sent": 288, "bytes_received": 586, "request_id": 5, @@ -11868,9 +11868,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 141.61233999999467, + "duration_ms": 142.28923699999996, "success": true, - "started_at_unix": 1789971011.9973423, + "started_at_unix": 1790057313.8459036, "bytes_sent": 288, "bytes_received": 586, "request_id": 6, @@ -11898,9 +11898,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 147.67415000000028, + "duration_ms": 142.08956499999204, "success": true, - "started_at_unix": 1789971012.1390817, + "started_at_unix": 1790057313.9883285, "bytes_sent": 288, "bytes_received": 586, "request_id": 7, @@ -11943,11 +11943,11 @@ "failure_count": 0, "bytes_sent": 1274, "bytes_received": 639, - "min_ms": 2696.2967549999917, - "max_ms": 2789.545619000023, - "mean_ms": 2748.1002984000156, - "median_ms": 2742.0282900000075, - "p95_ms": 2786.139475600021, + "min_ms": 2729.6758349999664, + "max_ms": 2800.0964730000533, + "mean_ms": 2769.93089099999, + "median_ms": 2792.2710869999037, + "p95_ms": 2799.0316746000417, "result_summary": { "present_count": 5, "empty_count": 5, @@ -12007,9 +12007,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 131892.63187, + "duration_ms": 133537.01684400006, "success": true, - "started_at_unix": 1789971012.2870095, + "started_at_unix": 1790057314.1306245, "bytes_sent": 254, "bytes_received": 127, "request_id": 8, @@ -12037,9 +12037,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 2742.0282900000075, + "duration_ms": 2794.7724809999954, "success": true, - "started_at_unix": 1789971144.1796987, + "started_at_unix": 1790057447.6676986, "bytes_sent": 254, "bytes_received": 127, "request_id": 9, @@ -12067,9 +12067,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 2696.2967549999917, + "duration_ms": 2732.838579000031, "success": true, - "started_at_unix": 1789971146.9218335, + "started_at_unix": 1790057450.462542, "bytes_sent": 255, "bytes_received": 128, "request_id": 10, @@ -12097,9 +12097,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 2789.545619000023, + "duration_ms": 2800.0964730000533, "success": true, - "started_at_unix": 1789971149.6182013, + "started_at_unix": 1790057453.1954515, "bytes_sent": 255, "bytes_received": 128, "request_id": 11, @@ -12127,9 +12127,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 2740.115926000044, + "duration_ms": 2729.6758349999664, "success": true, - "started_at_unix": 1789971152.4078727, + "started_at_unix": 1790057455.9956534, "bytes_sent": 255, "bytes_received": 128, "request_id": 12, @@ -12157,9 +12157,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 2772.5149020000117, + "duration_ms": 2792.2710869999037, "success": true, - "started_at_unix": 1789971155.1480603, + "started_at_unix": 1790057458.725399, "bytes_sent": 255, "bytes_received": 128, "request_id": 13, @@ -12202,11 +12202,11 @@ "failure_count": 0, "bytes_sent": 1300, "bytes_received": 1945, - "min_ms": 2186.038068000016, - "max_ms": 2251.2327480000067, - "mean_ms": 2209.374416000014, - "median_ms": 2202.521380999997, - "p95_ms": 2244.6083598000087, + "min_ms": 2171.239876999948, + "max_ms": 2261.6057499999442, + "mean_ms": 2219.3497920000027, + "median_ms": 2206.6036070000337, + "p95_ms": 2260.8830671999613, "result_summary": { "present_count": 5, "empty_count": 0, @@ -12266,9 +12266,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 2226.605329999984, + "duration_ms": 2173.3394209999233, "success": true, - "started_at_unix": 1789971157.9207416, + "started_at_unix": 1790057461.5178392, "bytes_sent": 260, "bytes_received": 389, "request_id": 14, @@ -12296,9 +12296,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 2202.521380999997, + "duration_ms": 2171.239876999948, "success": true, - "started_at_unix": 1789971160.1474137, + "started_at_unix": 1790057463.691248, "bytes_sent": 260, "bytes_received": 389, "request_id": 15, @@ -12326,9 +12326,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 2251.2327480000067, + "duration_ms": 2261.6057499999442, "success": true, - "started_at_unix": 1789971162.3500202, + "started_at_unix": 1790057465.8625937, "bytes_sent": 260, "bytes_received": 389, "request_id": 16, @@ -12356,9 +12356,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 2188.969076000035, + "duration_ms": 2206.6036070000337, "success": true, - "started_at_unix": 1789971164.6013598, + "started_at_unix": 1790057468.1243043, "bytes_sent": 260, "bytes_received": 389, "request_id": 17, @@ -12386,9 +12386,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 2186.038068000016, + "duration_ms": 2199.307390000058, "success": true, - "started_at_unix": 1789971166.7904239, + "started_at_unix": 1790057470.3310077, "bytes_sent": 260, "bytes_received": 389, "request_id": 18, @@ -12416,9 +12416,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 2218.1108070000164, + "duration_ms": 2257.9923360000294, "success": true, - "started_at_unix": 1789971168.9765468, + "started_at_unix": 1790057472.5303998, "bytes_sent": 260, "bytes_received": 389, "request_id": 19, @@ -12461,11 +12461,11 @@ "failure_count": 0, "bytes_sent": 1445, "bytes_received": 730, - "min_ms": 2.437679000024673, - "max_ms": 2.5849439999774404, - "mean_ms": 2.514229999997042, - "median_ms": 2.5225869999871975, - "p95_ms": 2.584108399980778, + "min_ms": 2.4030390000007174, + "max_ms": 2.842780999912975, + "mean_ms": 2.58765459998358, + "median_ms": 2.6118800000176634, + "p95_ms": 2.8020369999239847, "result_summary": { "present_count": 5, "empty_count": 5, @@ -12525,9 +12525,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.8706420000144135, + "duration_ms": 4.862465000087468, "success": true, - "started_at_unix": 1789971171.1949604, + "started_at_unix": 1790057474.7887397, "bytes_sent": 289, "bytes_received": 146, "request_id": 20, @@ -12555,9 +12555,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 2.5849439999774404, + "duration_ms": 2.6390609999680237, "success": true, - "started_at_unix": 1789971171.19992, + "started_at_unix": 1790057474.7936935, "bytes_sent": 289, "bytes_received": 146, "request_id": 21, @@ -12585,9 +12585,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 2.580765999994128, + "duration_ms": 2.6118800000176634, "success": true, - "started_at_unix": 1789971171.2025943, + "started_at_unix": 1790057474.7964282, "bytes_sent": 289, "bytes_received": 146, "request_id": 22, @@ -12615,9 +12615,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 2.437679000024673, + "duration_ms": 2.842780999912975, "success": true, - "started_at_unix": 1789971171.205263, + "started_at_unix": 1790057474.7991316, "bytes_sent": 289, "bytes_received": 146, "request_id": 23, @@ -12645,9 +12645,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 2.4451740000017708, + "duration_ms": 2.4030390000007174, "success": true, - "started_at_unix": 1789971171.2078261, + "started_at_unix": 1790057474.802064, "bytes_sent": 289, "bytes_received": 146, "request_id": 24, @@ -12675,9 +12675,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 2.5225869999871975, + "duration_ms": 2.4415120000185198, "success": true, - "started_at_unix": 1789971171.2103584, + "started_at_unix": 1790057474.8045526, "bytes_sent": 289, "bytes_received": 146, "request_id": 25, @@ -12720,11 +12720,11 @@ "failure_count": 0, "bytes_sent": 1280, "bytes_received": 640, - "min_ms": 2640.4375039999763, - "max_ms": 2707.1839669999918, - "mean_ms": 2661.7373214000054, - "median_ms": 2644.0923160000125, - "p95_ms": 2700.8653556000013, + "min_ms": 2630.0428929999953, + "max_ms": 2677.2680529999207, + "mean_ms": 2653.7321620000057, + "median_ms": 2652.9711370000086, + "p95_ms": 2674.096238199945, "result_summary": { "present_count": 5, "empty_count": 5, @@ -12784,9 +12784,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 2633.1886629999985, + "duration_ms": 2605.4074109999874, "success": true, - "started_at_unix": 1789971171.2131035, + "started_at_unix": 1790057474.8072238, "bytes_sent": 256, "bytes_received": 128, "request_id": 26, @@ -12814,9 +12814,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 2640.4375039999763, + "duration_ms": 2661.4089790000435, "success": true, - "started_at_unix": 1789971173.8464088, + "started_at_unix": 1790057477.412748, "bytes_sent": 256, "bytes_received": 128, "request_id": 27, @@ -12844,9 +12844,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 2644.0923160000125, + "duration_ms": 2652.9711370000086, "success": true, - "started_at_unix": 1789971176.486977, + "started_at_unix": 1790057480.074284, "bytes_sent": 256, "bytes_received": 128, "request_id": 28, @@ -12874,9 +12874,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 2707.1839669999918, + "duration_ms": 2646.9697480000605, "success": true, - "started_at_unix": 1789971179.1312141, + "started_at_unix": 1790057482.7274075, "bytes_sent": 256, "bytes_received": 128, "request_id": 29, @@ -12904,9 +12904,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 2675.5909100000395, + "duration_ms": 2677.2680529999207, "success": true, - "started_at_unix": 1789971181.8385441, + "started_at_unix": 1790057485.374505, "bytes_sent": 256, "bytes_received": 128, "request_id": 30, @@ -12934,9 +12934,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 2641.381910000007, + "duration_ms": 2630.0428929999953, "success": true, - "started_at_unix": 1789971184.514286, + "started_at_unix": 1790057488.0519235, "bytes_sent": 256, "bytes_received": 128, "request_id": 31, @@ -12968,9 +12968,9 @@ { "kind": "request", "method": "initialize", - "duration_ms": 172.1506389999945, + "duration_ms": 163.5501420000196, "success": true, - "started_at_unix": 1789971007.7500038, + "started_at_unix": 1790057309.6550777, "bytes_sent": 673, "bytes_received": 967, "request_id": 1, @@ -12989,9 +12989,9 @@ { "kind": "notification", "method": "initialized", - "duration_ms": 0.03426400002126684, + "duration_ms": 0.027300999988710828, "success": true, - "started_at_unix": 1789971007.9222744, + "started_at_unix": 1790057309.8187137, "bytes_sent": 74, "bytes_received": 0, "request_id": null, @@ -13004,9 +13004,9 @@ { "kind": "notification", "method": "workspace/didChangeConfiguration", - "duration_ms": 0.024325000026692578, + "duration_ms": 0.026268999988587893, "success": true, - "started_at_unix": 1789971007.922342, + "started_at_unix": 1790057309.8187745, "bytes_sent": 659, "bytes_received": 0, "request_id": null, @@ -13022,9 +13022,9 @@ { "kind": "notification", "method": "textDocument/didOpen", - "duration_ms": 0.028772999996817816, + "duration_ms": 0.029455000003508758, "success": true, - "started_at_unix": 1789971007.9224558, + "started_at_unix": 1790057309.8188922, "bytes_sent": 773, "bytes_received": 0, "request_id": null, @@ -13040,9 +13040,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 3623.822722, + "duration_ms": 3596.715028999995, "success": true, - "started_at_unix": 1789971007.922533, + "started_at_unix": 1790057309.8189692, "bytes_sent": 288, "bytes_received": 586, "request_id": 2, @@ -13070,9 +13070,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 151.9953089999717, + "duration_ms": 144.42888500002482, "success": true, - "started_at_unix": 1789971011.546431, + "started_at_unix": 1790057313.4157586, "bytes_sent": 288, "bytes_received": 586, "request_id": 3, @@ -13100,9 +13100,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 149.98949300002096, + "duration_ms": 143.1416809999746, "success": true, - "started_at_unix": 1789971011.698519, + "started_at_unix": 1790057313.5602977, "bytes_sent": 288, "bytes_received": 586, "request_id": 4, @@ -13130,9 +13130,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 148.64990799998168, + "duration_ms": 142.26154499999666, "success": true, - "started_at_unix": 1789971011.8485994, + "started_at_unix": 1790057313.7035465, "bytes_sent": 288, "bytes_received": 586, "request_id": 5, @@ -13160,9 +13160,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 141.61233999999467, + "duration_ms": 142.28923699999996, "success": true, - "started_at_unix": 1789971011.9973423, + "started_at_unix": 1790057313.8459036, "bytes_sent": 288, "bytes_received": 586, "request_id": 6, @@ -13190,9 +13190,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 147.67415000000028, + "duration_ms": 142.08956499999204, "success": true, - "started_at_unix": 1789971012.1390817, + "started_at_unix": 1790057313.9883285, "bytes_sent": 288, "bytes_received": 586, "request_id": 7, @@ -13220,9 +13220,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 131892.63187, + "duration_ms": 133537.01684400006, "success": true, - "started_at_unix": 1789971012.2870095, + "started_at_unix": 1790057314.1306245, "bytes_sent": 254, "bytes_received": 127, "request_id": 8, @@ -13250,9 +13250,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 2742.0282900000075, + "duration_ms": 2794.7724809999954, "success": true, - "started_at_unix": 1789971144.1796987, + "started_at_unix": 1790057447.6676986, "bytes_sent": 254, "bytes_received": 127, "request_id": 9, @@ -13280,9 +13280,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 2696.2967549999917, + "duration_ms": 2732.838579000031, "success": true, - "started_at_unix": 1789971146.9218335, + "started_at_unix": 1790057450.462542, "bytes_sent": 255, "bytes_received": 128, "request_id": 10, @@ -13310,9 +13310,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 2789.545619000023, + "duration_ms": 2800.0964730000533, "success": true, - "started_at_unix": 1789971149.6182013, + "started_at_unix": 1790057453.1954515, "bytes_sent": 255, "bytes_received": 128, "request_id": 11, @@ -13340,9 +13340,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 2740.115926000044, + "duration_ms": 2729.6758349999664, "success": true, - "started_at_unix": 1789971152.4078727, + "started_at_unix": 1790057455.9956534, "bytes_sent": 255, "bytes_received": 128, "request_id": 12, @@ -13370,9 +13370,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 2772.5149020000117, + "duration_ms": 2792.2710869999037, "success": true, - "started_at_unix": 1789971155.1480603, + "started_at_unix": 1790057458.725399, "bytes_sent": 255, "bytes_received": 128, "request_id": 13, @@ -13400,9 +13400,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 2226.605329999984, + "duration_ms": 2173.3394209999233, "success": true, - "started_at_unix": 1789971157.9207416, + "started_at_unix": 1790057461.5178392, "bytes_sent": 260, "bytes_received": 389, "request_id": 14, @@ -13430,9 +13430,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 2202.521380999997, + "duration_ms": 2171.239876999948, "success": true, - "started_at_unix": 1789971160.1474137, + "started_at_unix": 1790057463.691248, "bytes_sent": 260, "bytes_received": 389, "request_id": 15, @@ -13460,9 +13460,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 2251.2327480000067, + "duration_ms": 2261.6057499999442, "success": true, - "started_at_unix": 1789971162.3500202, + "started_at_unix": 1790057465.8625937, "bytes_sent": 260, "bytes_received": 389, "request_id": 16, @@ -13490,9 +13490,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 2188.969076000035, + "duration_ms": 2206.6036070000337, "success": true, - "started_at_unix": 1789971164.6013598, + "started_at_unix": 1790057468.1243043, "bytes_sent": 260, "bytes_received": 389, "request_id": 17, @@ -13520,9 +13520,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 2186.038068000016, + "duration_ms": 2199.307390000058, "success": true, - "started_at_unix": 1789971166.7904239, + "started_at_unix": 1790057470.3310077, "bytes_sent": 260, "bytes_received": 389, "request_id": 18, @@ -13550,9 +13550,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 2218.1108070000164, + "duration_ms": 2257.9923360000294, "success": true, - "started_at_unix": 1789971168.9765468, + "started_at_unix": 1790057472.5303998, "bytes_sent": 260, "bytes_received": 389, "request_id": 19, @@ -13580,9 +13580,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02986499998769432, + "duration_ms": 0.035876999959327804, "success": true, - "started_at_unix": 1789971171.194918, + "started_at_unix": 1790057474.78869, "bytes_sent": 360, "bytes_received": 0, "request_id": null, @@ -13599,9 +13599,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.8706420000144135, + "duration_ms": 4.862465000087468, "success": true, - "started_at_unix": 1789971171.1949604, + "started_at_unix": 1790057474.7887397, "bytes_sent": 289, "bytes_received": 146, "request_id": 20, @@ -13629,9 +13629,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.024486000029355637, + "duration_ms": 0.023163000037129677, "success": true, - "started_at_unix": 1789971171.1998656, + "started_at_unix": 1790057474.7936394, "bytes_sent": 333, "bytes_received": 0, "request_id": null, @@ -13648,9 +13648,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.014596999960758694, + "duration_ms": 0.014707999980601016, "success": true, - "started_at_unix": 1789971171.1998985, + "started_at_unix": 1790057474.793671, "bytes_sent": 360, "bytes_received": 0, "request_id": null, @@ -13667,9 +13667,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 2.5849439999774404, + "duration_ms": 2.6390609999680237, "success": true, - "started_at_unix": 1789971171.19992, + "started_at_unix": 1790057474.7936935, "bytes_sent": 289, "bytes_received": 146, "request_id": 21, @@ -13697,9 +13697,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.020968999990600423, + "duration_ms": 0.022151000052872405, "success": true, - "started_at_unix": 1789971171.2025464, + "started_at_unix": 1790057474.7963789, "bytes_sent": 333, "bytes_received": 0, "request_id": null, @@ -13716,9 +13716,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.013214999967203767, + "duration_ms": 0.013465000051837706, "success": true, - "started_at_unix": 1789971171.2025745, + "started_at_unix": 1790057474.7964082, "bytes_sent": 360, "bytes_received": 0, "request_id": null, @@ -13735,9 +13735,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 2.580765999994128, + "duration_ms": 2.6118800000176634, "success": true, - "started_at_unix": 1789971171.2025943, + "started_at_unix": 1790057474.7964282, "bytes_sent": 289, "bytes_received": 146, "request_id": 22, @@ -13765,9 +13765,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02109899998004039, + "duration_ms": 0.021448999973472382, "success": true, - "started_at_unix": 1789971171.205215, + "started_at_unix": 1790057474.7990828, "bytes_sent": 333, "bytes_received": 0, "request_id": null, @@ -13784,9 +13784,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.013384999988375057, + "duration_ms": 0.01391600005717919, "success": true, - "started_at_unix": 1789971171.2052429, + "started_at_unix": 1790057474.799111, "bytes_sent": 360, "bytes_received": 0, "request_id": null, @@ -13803,9 +13803,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 2.437679000024673, + "duration_ms": 2.842780999912975, "success": true, - "started_at_unix": 1789971171.205263, + "started_at_unix": 1790057474.7991316, "bytes_sent": 289, "bytes_received": 146, "request_id": 23, @@ -13833,9 +13833,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.04835999999386331, + "duration_ms": 0.02112000004217407, "success": true, - "started_at_unix": 1789971171.2077408, + "started_at_unix": 1790057474.8020153, "bytes_sent": 333, "bytes_received": 0, "request_id": null, @@ -13852,9 +13852,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.017993000028582173, + "duration_ms": 0.013856000009582203, "success": true, - "started_at_unix": 1789971171.2078001, + "started_at_unix": 1790057474.8020432, "bytes_sent": 361, "bytes_received": 0, "request_id": null, @@ -13871,9 +13871,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 2.4451740000017708, + "duration_ms": 2.4030390000007174, "success": true, - "started_at_unix": 1789971171.2078261, + "started_at_unix": 1790057474.802064, "bytes_sent": 289, "bytes_received": 146, "request_id": 24, @@ -13901,9 +13901,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.020919000007779687, + "duration_ms": 0.020137999968028453, "success": true, - "started_at_unix": 1789971171.2103102, + "started_at_unix": 1790057474.804506, "bytes_sent": 334, "bytes_received": 0, "request_id": null, @@ -13920,9 +13920,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.013866000017515034, + "duration_ms": 0.013364999972509395, "success": true, - "started_at_unix": 1789971171.2103379, + "started_at_unix": 1790057474.804533, "bytes_sent": 361, "bytes_received": 0, "request_id": null, @@ -13939,9 +13939,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 2.5225869999871975, + "duration_ms": 2.4415120000185198, "success": true, - "started_at_unix": 1789971171.2103584, + "started_at_unix": 1790057474.8045526, "bytes_sent": 289, "bytes_received": 146, "request_id": 25, @@ -13969,9 +13969,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.020819000042138214, + "duration_ms": 0.02052799993634835, "success": true, - "started_at_unix": 1789971171.2129188, + "started_at_unix": 1790057474.8070335, "bytes_sent": 334, "bytes_received": 0, "request_id": null, @@ -13988,9 +13988,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.01952600001686733, + "duration_ms": 0.01987699999972392, "success": true, - "started_at_unix": 1789971171.2130756, + "started_at_unix": 1790057474.807196, "bytes_sent": 373, "bytes_received": 0, "request_id": null, @@ -14007,9 +14007,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 2633.1886629999985, + "duration_ms": 2605.4074109999874, "success": true, - "started_at_unix": 1789971171.2131035, + "started_at_unix": 1790057474.8072238, "bytes_sent": 256, "bytes_received": 128, "request_id": 26, @@ -14037,9 +14037,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02914399999554007, + "duration_ms": 0.029034000021965767, "success": true, - "started_at_unix": 1789971173.8463464, + "started_at_unix": 1790057477.412685, "bytes_sent": 334, "bytes_received": 0, "request_id": null, @@ -14056,9 +14056,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.015087999997831503, + "duration_ms": 0.016180999978132604, "success": true, - "started_at_unix": 1789971173.846386, + "started_at_unix": 1790057477.4127235, "bytes_sent": 373, "bytes_received": 0, "request_id": null, @@ -14075,9 +14075,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 2640.4375039999763, + "duration_ms": 2661.4089790000435, "success": true, - "started_at_unix": 1789971173.8464088, + "started_at_unix": 1790057477.412748, "bytes_sent": 256, "bytes_received": 128, "request_id": 27, @@ -14105,9 +14105,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.027941999974245846, + "duration_ms": 0.026438999952915765, "success": true, - "started_at_unix": 1789971176.4869165, + "started_at_unix": 1790057480.0742247, "bytes_sent": 334, "bytes_received": 0, "request_id": null, @@ -14124,9 +14124,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.014626999984557187, + "duration_ms": 0.015609000001859386, "success": true, - "started_at_unix": 1789971176.4869542, + "started_at_unix": 1790057480.0742605, "bytes_sent": 373, "bytes_received": 0, "request_id": null, @@ -14143,9 +14143,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 2644.0923160000125, + "duration_ms": 2652.9711370000086, "success": true, - "started_at_unix": 1789971176.486977, + "started_at_unix": 1790057480.074284, "bytes_sent": 256, "bytes_received": 128, "request_id": 28, @@ -14173,9 +14173,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03130800001827083, + "duration_ms": 0.03203899996151449, "success": true, - "started_at_unix": 1789971179.1311452, + "started_at_unix": 1790057482.7273245, "bytes_sent": 334, "bytes_received": 0, "request_id": null, @@ -14192,9 +14192,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.017122000031122298, + "duration_ms": 0.025176000008286792, "success": true, - "started_at_unix": 1789971179.1311877, + "started_at_unix": 1790057482.7273693, "bytes_sent": 373, "bytes_received": 0, "request_id": null, @@ -14211,9 +14211,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 2707.1839669999918, + "duration_ms": 2646.9697480000605, "success": true, - "started_at_unix": 1789971179.1312141, + "started_at_unix": 1790057482.7274075, "bytes_sent": 256, "bytes_received": 128, "request_id": 29, @@ -14241,9 +14241,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.031659000001127424, + "duration_ms": 0.027521999982127454, "success": true, - "started_at_unix": 1789971181.8384736, + "started_at_unix": 1790057485.3744433, "bytes_sent": 334, "bytes_received": 0, "request_id": null, @@ -14260,9 +14260,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.01738299999942683, + "duration_ms": 0.015127999972719408, "success": true, - "started_at_unix": 1789971181.8385162, + "started_at_unix": 1790057485.37448, "bytes_sent": 373, "bytes_received": 0, "request_id": null, @@ -14279,9 +14279,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 2675.5909100000395, + "duration_ms": 2677.2680529999207, "success": true, - "started_at_unix": 1789971181.8385441, + "started_at_unix": 1790057485.374505, "bytes_sent": 256, "bytes_received": 128, "request_id": 30, @@ -14309,9 +14309,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03213000002233457, + "duration_ms": 0.030997999942883325, "success": true, - "started_at_unix": 1789971184.5142033, + "started_at_unix": 1790057488.051841, "bytes_sent": 334, "bytes_received": 0, "request_id": null, @@ -14328,9 +14328,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02458599999499711, + "duration_ms": 0.025227000037375547, "success": true, - "started_at_unix": 1789971184.5142484, + "started_at_unix": 1790057488.0518847, "bytes_sent": 373, "bytes_received": 0, "request_id": null, @@ -14347,9 +14347,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 2641.381910000007, + "duration_ms": 2630.0428929999953, "success": true, - "started_at_unix": 1789971184.514286, + "started_at_unix": 1790057488.0519235, "bytes_sent": 256, "bytes_received": 128, "request_id": 31, @@ -14377,9 +14377,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.05694600002925654, + "duration_ms": 0.034132999985558854, "success": true, - "started_at_unix": 1789971187.1557446, + "started_at_unix": 1790057490.6820478, "bytes_sent": 334, "bytes_received": 0, "request_id": null, @@ -14396,9 +14396,9 @@ { "kind": "notification", "method": "textDocument/didClose", - "duration_ms": 0.018514000032610056, + "duration_ms": 0.019737000002351124, "success": true, - "started_at_unix": 1789971187.155909, + "started_at_unix": 1790057490.6821983, "bytes_sent": 213, "bytes_received": 0, "request_id": null, @@ -14411,9 +14411,9 @@ { "kind": "request", "method": "shutdown", - "duration_ms": 0.5471079999779249, + "duration_ms": 0.6102500000224609, "success": true, - "started_at_unix": 1789971187.1559355, + "started_at_unix": 1790057490.6822262, "bytes_sent": 67, "bytes_received": 117, "request_id": 32, @@ -14431,9 +14431,9 @@ { "kind": "notification", "method": "exit", - "duration_ms": 0.020408000011684635, + "duration_ms": 0.026118999926438846, "success": true, - "started_at_unix": 1789971187.156501, + "started_at_unix": 1790057490.6828618, "bytes_sent": 55, "bytes_received": 0, "request_id": null, @@ -14455,7 +14455,7 @@ "environment_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/web/.venv", "python_executable": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/web/.venv/bin/python", "success": true, - "total_duration_ms": 4852.567748000012, + "total_duration_ms": 4943.528117999904, "error_message": null, "summary": { "request_count": 32, @@ -14464,11 +14464,11 @@ "failure_count": 0, "bytes_sent": 18386, "bytes_received": 86384, - "min_ms": 0.70531299996901, - "max_ms": 985.7487020000235, - "mean_ms": 150.9443420624965, - "median_ms": 85.4509739999969, - "p95_ms": 439.2150048000303, + "min_ms": 0.6910399999924266, + "max_ms": 879.7284769999578, + "mean_ms": 153.7645141562578, + "median_ms": 90.22041350004883, + "p95_ms": 450.3994333500259, "result_summary": { "present_count": 31, "empty_count": 1, @@ -14524,27 +14524,27 @@ "by_method": { "textDocument/completion": { "point_count": 2, - "min_ms": 40.23511100001542, - "max_ms": 112.83395999998902, - "mean_ms": 73.01402499999767, - "median_ms": 85.08469199998103, - "p95_ms": 102.40759274999502 + "min_ms": 40.63138200001504, + "max_ms": 93.0500970000594, + "mean_ms": 77.8354940999975, + "median_ms": 84.82085649995952, + "p95_ms": 92.06468835004671 }, "textDocument/hover": { "point_count": 2, - "min_ms": 11.766131999991103, - "max_ms": 233.23152699998673, - "mean_ms": 142.59884659999216, - "median_ms": 181.55979100001218, - "p95_ms": 232.16911884997558 + "min_ms": 29.018132000032892, + "max_ms": 255.29674500000965, + "mean_ms": 164.85079919999635, + "median_ms": 230.165887499993, + "p95_ms": 245.32711829998556 }, "textDocument/references": { "point_count": 1, - "min_ms": 49.74753699997336, - "max_ms": 70.30994100000498, - "mean_ms": 61.10389219999206, - "median_ms": 65.25778200000332, - "p95_ms": 69.32957120000083 + "min_ms": 4.381449000106841, + "max_ms": 91.83034200009388, + "mean_ms": 46.250886600046215, + "median_ms": 48.42981100000543, + "p95_ms": 89.66467460008971 } }, "validation": { @@ -14570,11 +14570,11 @@ "failure_count": 0, "bytes_sent": 1360, "bytes_received": 1655, - "min_ms": 40.23511100001542, - "max_ms": 112.83395999998902, - "mean_ms": 59.151526400000876, - "median_ms": 45.427216999996745, - "p95_ms": 101.14269599999943, + "min_ms": 40.63138200001504, + "max_ms": 93.0500970000594, + "mean_ms": 68.51931220001006, + "median_ms": 79.18557499999679, + "p95_ms": 90.97825720004948, "result_summary": { "present_count": 5, "empty_count": 0, @@ -14634,9 +14634,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 411.9340320000333, + "duration_ms": 424.0526610000188, "success": true, - "started_at_unix": 1789971187.494951, + "started_at_unix": 1790057491.023699, "bytes_sent": 272, "bytes_received": 331, "request_id": 2, @@ -14664,9 +14664,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 40.23511100001542, + "duration_ms": 40.63138200001504, "success": true, - "started_at_unix": 1789971187.9069605, + "started_at_unix": 1790057491.4478264, "bytes_sent": 272, "bytes_received": 331, "request_id": 3, @@ -14694,9 +14694,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 42.88370399996211, + "duration_ms": 93.0500970000594, "success": true, - "started_at_unix": 1789971187.9473126, + "started_at_unix": 1790057491.4886224, "bytes_sent": 272, "bytes_received": 331, "request_id": 4, @@ -14724,9 +14724,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 112.83395999998902, + "duration_ms": 82.69089800000984, "success": true, - "started_at_unix": 1789971187.9902656, + "started_at_unix": 1790057491.5817618, "bytes_sent": 272, "bytes_received": 331, "request_id": 5, @@ -14754,9 +14754,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 54.37764000004108, + "duration_ms": 47.038608999969256, "success": true, - "started_at_unix": 1789971188.1031864, + "started_at_unix": 1790057491.6645374, "bytes_sent": 272, "bytes_received": 331, "request_id": 6, @@ -14784,9 +14784,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 45.427216999996745, + "duration_ms": 79.18557499999679, "success": true, - "started_at_unix": 1789971188.157644, + "started_at_unix": 1790057491.7116876, "bytes_sent": 272, "bytes_received": 331, "request_id": 7, @@ -14829,11 +14829,11 @@ "failure_count": 0, "bytes_sent": 1204, "bytes_received": 2704, - "min_ms": 11.766131999991103, - "max_ms": 134.25169200002074, - "mean_ms": 54.63055440000062, - "median_ms": 26.18305200002169, - "p95_ms": 124.00435600001173, + "min_ms": 29.018132000032892, + "max_ms": 255.29674500000965, + "mean_ms": 98.6309780000056, + "median_ms": 64.12376200000836, + "p95_ms": 224.59219920001485, "result_summary": { "present_count": 5, "empty_count": 0, @@ -14893,9 +14893,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 187.96756000000414, + "duration_ms": 160.2946069999689, "success": true, - "started_at_unix": 1789971188.2032204, + "started_at_unix": 1790057491.7910655, "bytes_sent": 240, "bytes_received": 540, "request_id": 8, @@ -14923,9 +14923,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 11.766131999991103, + "duration_ms": 64.12376200000836, "success": true, - "started_at_unix": 1789971188.3912616, + "started_at_unix": 1790057491.951435, "bytes_sent": 240, "bytes_received": 540, "request_id": 9, @@ -14953,9 +14953,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 83.01501199997574, + "duration_ms": 42.94223499994132, "success": true, - "started_at_unix": 1789971188.4030886, + "started_at_unix": 1790057492.015695, "bytes_sent": 241, "bytes_received": 541, "request_id": 10, @@ -14983,9 +14983,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 26.18305200002169, + "duration_ms": 29.018132000032892, "success": true, - "started_at_unix": 1789971188.4861789, + "started_at_unix": 1790057492.0587256, "bytes_sent": 241, "bytes_received": 541, "request_id": 11, @@ -15013,9 +15013,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 17.936883999993825, + "duration_ms": 101.77401600003577, "success": true, - "started_at_unix": 1789971188.5124276, + "started_at_unix": 1790057492.087823, "bytes_sent": 241, "bytes_received": 541, "request_id": 12, @@ -15043,9 +15043,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 134.25169200002074, + "duration_ms": 255.29674500000965, "success": true, - "started_at_unix": 1789971188.5304236, + "started_at_unix": 1790057492.1896992, "bytes_sent": 241, "bytes_received": 541, "request_id": 13, @@ -15088,11 +15088,11 @@ "failure_count": 0, "bytes_sent": 1420, "bytes_received": 2435, - "min_ms": 49.74753699997336, - "max_ms": 70.30994100000498, - "mean_ms": 61.10389219999206, - "median_ms": 65.25778200000332, - "p95_ms": 69.32957120000083, + "min_ms": 4.381449000106841, + "max_ms": 91.83034200009388, + "mean_ms": 46.250886600046215, + "median_ms": 48.42981100000543, + "p95_ms": 89.66467460008971, "result_summary": { "present_count": 5, "empty_count": 0, @@ -15152,9 +15152,9 @@ { "kind": "request", "method": "textDocument/references", - "duration_ms": 149.00435699996706, + "duration_ms": 152.5508530000934, "success": true, - "started_at_unix": 1789971188.6648967, + "started_at_unix": 1790057492.4451678, "bytes_sent": 284, "bytes_received": 487, "request_id": 14, @@ -15182,9 +15182,9 @@ { "kind": "request", "method": "textDocument/references", - "duration_ms": 65.40809199998421, + "duration_ms": 81.00200500007304, "success": true, - "started_at_unix": 1789971188.8139837, + "started_at_unix": 1790057492.5977986, "bytes_sent": 284, "bytes_received": 487, "request_id": 15, @@ -15212,9 +15212,9 @@ { "kind": "request", "method": "textDocument/references", - "duration_ms": 49.74753699997336, + "duration_ms": 91.83034200009388, "success": true, - "started_at_unix": 1789971188.879496, + "started_at_unix": 1790057492.6789055, "bytes_sent": 284, "bytes_received": 487, "request_id": 16, @@ -15242,9 +15242,9 @@ { "kind": "request", "method": "textDocument/references", - "duration_ms": 70.30994100000498, + "duration_ms": 48.42981100000543, "success": true, - "started_at_unix": 1789971188.9293451, + "started_at_unix": 1790057492.7708464, "bytes_sent": 284, "bytes_received": 487, "request_id": 17, @@ -15272,9 +15272,9 @@ { "kind": "request", "method": "textDocument/references", - "duration_ms": 54.79610899999443, + "duration_ms": 4.381449000106841, "success": true, - "started_at_unix": 1789971188.9997516, + "started_at_unix": 1790057492.819372, "bytes_sent": 284, "bytes_received": 487, "request_id": 18, @@ -15302,9 +15302,9 @@ { "kind": "request", "method": "textDocument/references", - "duration_ms": 65.25778200000332, + "duration_ms": 5.610825999951885, "success": true, - "started_at_unix": 1789971189.054644, + "started_at_unix": 1790057492.8238328, "bytes_sent": 284, "bytes_received": 487, "request_id": 19, @@ -15347,11 +15347,11 @@ "failure_count": 0, "bytes_sent": 1370, "bytes_received": 58960, - "min_ms": 84.73879299998544, - "max_ms": 89.66425500000241, - "mean_ms": 86.87652359999447, - "median_ms": 85.47135700001718, - "p95_ms": 89.54692840000007, + "min_ms": 84.75781300001017, + "max_ms": 90.8603000000312, + "mean_ms": 87.15167599998495, + "median_ms": 85.67583999990802, + "p95_ms": 90.60434540003826, "result_summary": { "present_count": 5, "empty_count": 0, @@ -15411,9 +15411,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 985.7487020000235, + "duration_ms": 879.7284769999578, "success": true, - "started_at_unix": 1789971189.1202598, + "started_at_unix": 1790057492.8297415, "bytes_sent": 274, "bytes_received": 11792, "request_id": 20, @@ -15441,9 +15441,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 85.47135700001718, + "duration_ms": 90.8603000000312, "success": true, - "started_at_unix": 1789971190.106337, + "started_at_unix": 1790057493.7098992, "bytes_sent": 274, "bytes_received": 11792, "request_id": 21, @@ -15471,9 +15471,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 89.66425500000241, + "duration_ms": 89.58052700006647, "success": true, - "started_at_unix": 1789971190.1923838, + "started_at_unix": 1790057493.801512, "bytes_sent": 274, "bytes_received": 11792, "request_id": 22, @@ -15501,9 +15501,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 84.73879299998544, + "duration_ms": 84.88389999990886, "success": true, - "started_at_unix": 1789971190.2824476, + "started_at_unix": 1790057493.8915517, "bytes_sent": 274, "bytes_received": 11792, "request_id": 23, @@ -15531,9 +15531,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 89.0776219999907, + "duration_ms": 84.75781300001017, "success": true, - "started_at_unix": 1789971190.3675988, + "started_at_unix": 1790057493.9768662, "bytes_sent": 274, "bytes_received": 11792, "request_id": 24, @@ -15561,9 +15561,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 85.43059099997663, + "duration_ms": 85.67583999990802, "success": true, - "started_at_unix": 1789971190.457087, + "started_at_unix": 1790057494.0621014, "bytes_sent": 274, "bytes_received": 11792, "request_id": 25, @@ -15606,11 +15606,11 @@ "failure_count": 0, "bytes_sent": 1205, "bytes_received": 5330, - "min_ms": 228.86789000000363, - "max_ms": 233.23152699998673, - "mean_ms": 230.5671387999837, - "median_ms": 230.1936989999831, - "p95_ms": 232.75934559998177, + "min_ms": 229.87342099997932, + "max_ms": 233.14201899995624, + "mean_ms": 231.0706203999871, + "median_ms": 230.5262219999804, + "p95_ms": 232.78423239996755, "result_summary": { "present_count": 5, "empty_count": 0, @@ -15670,9 +15670,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 472.5584160000267, + "duration_ms": 482.60104400003456, "success": true, - "started_at_unix": 1789971190.5431376, + "started_at_unix": 1790057494.1484275, "bytes_sent": 241, "bytes_received": 1066, "request_id": 26, @@ -15700,9 +15700,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 228.86789000000363, + "duration_ms": 231.3530860000128, "success": true, - "started_at_unix": 1789971191.0158606, + "started_at_unix": 1790057494.6311605, "bytes_sent": 241, "bytes_received": 1066, "request_id": 27, @@ -15730,9 +15730,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 229.67195799998308, + "duration_ms": 230.5262219999804, "success": true, - "started_at_unix": 1789971191.244887, + "started_at_unix": 1790057494.8626876, "bytes_sent": 241, "bytes_received": 1066, "request_id": 28, @@ -15760,9 +15760,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 233.23152699998673, + "duration_ms": 233.14201899995624, "success": true, - "started_at_unix": 1789971191.4746995, + "started_at_unix": 1790057495.0933573, "bytes_sent": 241, "bytes_received": 1066, "request_id": 29, @@ -15790,9 +15790,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 230.87061999996195, + "duration_ms": 229.87342099997932, "success": true, - "started_at_unix": 1789971191.7080746, + "started_at_unix": 1790057495.3266656, "bytes_sent": 241, "bytes_received": 1066, "request_id": 30, @@ -15820,9 +15820,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 230.1936989999831, + "duration_ms": 230.4583540000067, "success": true, - "started_at_unix": 1789971191.9390893, + "started_at_unix": 1790057495.5567372, "bytes_sent": 241, "bytes_received": 1066, "request_id": 31, @@ -15854,9 +15854,9 @@ { "kind": "request", "method": "initialize", - "duration_ms": 160.65238900000622, + "duration_ms": 162.4284050000142, "success": true, - "started_at_unix": 1789971187.3339465, + "started_at_unix": 1790057490.8608954, "bytes_sent": 646, "bytes_received": 967, "request_id": 1, @@ -15875,9 +15875,9 @@ { "kind": "notification", "method": "initialized", - "duration_ms": 0.029084000004786503, + "duration_ms": 0.02647899998464709, "success": true, - "started_at_unix": 1789971187.4946995, + "started_at_unix": 1790057491.0234222, "bytes_sent": 74, "bytes_received": 0, "request_id": null, @@ -15890,9 +15890,9 @@ { "kind": "notification", "method": "workspace/didChangeConfiguration", - "duration_ms": 0.05290799998647344, + "duration_ms": 0.0172320000046966, "success": true, - "started_at_unix": 1789971187.4947536, + "started_at_unix": 1790057491.0234733, "bytes_sent": 623, "bytes_received": 0, "request_id": null, @@ -15908,9 +15908,9 @@ { "kind": "notification", "method": "textDocument/didOpen", - "duration_ms": 0.021710999988044932, + "duration_ms": 0.03871100000196748, "success": true, - "started_at_unix": 1789971187.4948902, + "started_at_unix": 1790057491.023618, "bytes_sent": 539, "bytes_received": 0, "request_id": null, @@ -15926,9 +15926,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 411.9340320000333, + "duration_ms": 424.0526610000188, "success": true, - "started_at_unix": 1789971187.494951, + "started_at_unix": 1790057491.023699, "bytes_sent": 272, "bytes_received": 331, "request_id": 2, @@ -15956,9 +15956,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 40.23511100001542, + "duration_ms": 40.63138200001504, "success": true, - "started_at_unix": 1789971187.9069605, + "started_at_unix": 1790057491.4478264, "bytes_sent": 272, "bytes_received": 331, "request_id": 3, @@ -15986,9 +15986,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 42.88370399996211, + "duration_ms": 93.0500970000594, "success": true, - "started_at_unix": 1789971187.9473126, + "started_at_unix": 1790057491.4886224, "bytes_sent": 272, "bytes_received": 331, "request_id": 4, @@ -16016,9 +16016,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 112.83395999998902, + "duration_ms": 82.69089800000984, "success": true, - "started_at_unix": 1789971187.9902656, + "started_at_unix": 1790057491.5817618, "bytes_sent": 272, "bytes_received": 331, "request_id": 5, @@ -16046,9 +16046,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 54.37764000004108, + "duration_ms": 47.038608999969256, "success": true, - "started_at_unix": 1789971188.1031864, + "started_at_unix": 1790057491.6645374, "bytes_sent": 272, "bytes_received": 331, "request_id": 6, @@ -16076,9 +16076,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 45.427216999996745, + "duration_ms": 79.18557499999679, "success": true, - "started_at_unix": 1789971188.157644, + "started_at_unix": 1790057491.7116876, "bytes_sent": 272, "bytes_received": 331, "request_id": 7, @@ -16106,9 +16106,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 187.96756000000414, + "duration_ms": 160.2946069999689, "success": true, - "started_at_unix": 1789971188.2032204, + "started_at_unix": 1790057491.7910655, "bytes_sent": 240, "bytes_received": 540, "request_id": 8, @@ -16136,9 +16136,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 11.766131999991103, + "duration_ms": 64.12376200000836, "success": true, - "started_at_unix": 1789971188.3912616, + "started_at_unix": 1790057491.951435, "bytes_sent": 240, "bytes_received": 540, "request_id": 9, @@ -16166,9 +16166,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 83.01501199997574, + "duration_ms": 42.94223499994132, "success": true, - "started_at_unix": 1789971188.4030886, + "started_at_unix": 1790057492.015695, "bytes_sent": 241, "bytes_received": 541, "request_id": 10, @@ -16196,9 +16196,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 26.18305200002169, + "duration_ms": 29.018132000032892, "success": true, - "started_at_unix": 1789971188.4861789, + "started_at_unix": 1790057492.0587256, "bytes_sent": 241, "bytes_received": 541, "request_id": 11, @@ -16226,9 +16226,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 17.936883999993825, + "duration_ms": 101.77401600003577, "success": true, - "started_at_unix": 1789971188.5124276, + "started_at_unix": 1790057492.087823, "bytes_sent": 241, "bytes_received": 541, "request_id": 12, @@ -16256,9 +16256,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 134.25169200002074, + "duration_ms": 255.29674500000965, "success": true, - "started_at_unix": 1789971188.5304236, + "started_at_unix": 1790057492.1896992, "bytes_sent": 241, "bytes_received": 541, "request_id": 13, @@ -16286,9 +16286,9 @@ { "kind": "request", "method": "textDocument/references", - "duration_ms": 149.00435699996706, + "duration_ms": 152.5508530000934, "success": true, - "started_at_unix": 1789971188.6648967, + "started_at_unix": 1790057492.4451678, "bytes_sent": 284, "bytes_received": 487, "request_id": 14, @@ -16316,9 +16316,9 @@ { "kind": "request", "method": "textDocument/references", - "duration_ms": 65.40809199998421, + "duration_ms": 81.00200500007304, "success": true, - "started_at_unix": 1789971188.8139837, + "started_at_unix": 1790057492.5977986, "bytes_sent": 284, "bytes_received": 487, "request_id": 15, @@ -16346,9 +16346,9 @@ { "kind": "request", "method": "textDocument/references", - "duration_ms": 49.74753699997336, + "duration_ms": 91.83034200009388, "success": true, - "started_at_unix": 1789971188.879496, + "started_at_unix": 1790057492.6789055, "bytes_sent": 284, "bytes_received": 487, "request_id": 16, @@ -16376,9 +16376,9 @@ { "kind": "request", "method": "textDocument/references", - "duration_ms": 70.30994100000498, + "duration_ms": 48.42981100000543, "success": true, - "started_at_unix": 1789971188.9293451, + "started_at_unix": 1790057492.7708464, "bytes_sent": 284, "bytes_received": 487, "request_id": 17, @@ -16406,9 +16406,9 @@ { "kind": "request", "method": "textDocument/references", - "duration_ms": 54.79610899999443, + "duration_ms": 4.381449000106841, "success": true, - "started_at_unix": 1789971188.9997516, + "started_at_unix": 1790057492.819372, "bytes_sent": 284, "bytes_received": 487, "request_id": 18, @@ -16436,9 +16436,9 @@ { "kind": "request", "method": "textDocument/references", - "duration_ms": 65.25778200000332, + "duration_ms": 5.610825999951885, "success": true, - "started_at_unix": 1789971189.054644, + "started_at_unix": 1790057492.8238328, "bytes_sent": 284, "bytes_received": 487, "request_id": 19, @@ -16466,9 +16466,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03619799997522932, + "duration_ms": 0.028342999939923175, "success": true, - "started_at_unix": 1789971189.1202116, + "started_at_unix": 1790057492.8297036, "bytes_sent": 374, "bytes_received": 0, "request_id": null, @@ -16485,9 +16485,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 985.7487020000235, + "duration_ms": 879.7284769999578, "success": true, - "started_at_unix": 1789971189.1202598, + "started_at_unix": 1790057492.8297415, "bytes_sent": 274, "bytes_received": 11792, "request_id": 20, @@ -16515,9 +16515,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.028282000016588427, + "duration_ms": 0.03417400000671478, "success": true, - "started_at_unix": 1789971190.1062748, + "started_at_unix": 1790057493.7098076, "bytes_sent": 318, "bytes_received": 0, "request_id": null, @@ -16534,9 +16534,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.015619000009792217, + "duration_ms": 0.020678000055340817, "success": true, - "started_at_unix": 1789971190.1063132, + "started_at_unix": 1790057493.7098675, "bytes_sent": 374, "bytes_received": 0, "request_id": null, @@ -16553,9 +16553,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 85.47135700001718, + "duration_ms": 90.8603000000312, "success": true, - "started_at_unix": 1789971190.106337, + "started_at_unix": 1790057493.7098992, "bytes_sent": 274, "bytes_received": 11792, "request_id": 21, @@ -16583,9 +16583,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.024875999997675535, + "duration_ms": 0.03827099999398342, "success": true, - "started_at_unix": 1789971190.1923256, + "started_at_unix": 1790057493.8014257, "bytes_sent": 318, "bytes_received": 0, "request_id": null, @@ -16602,9 +16602,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.01448699998718439, + "duration_ms": 0.022242000000005646, "success": true, - "started_at_unix": 1789971190.1923604, + "started_at_unix": 1790057493.8014772, "bytes_sent": 374, "bytes_received": 0, "request_id": null, @@ -16621,9 +16621,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 89.66425500000241, + "duration_ms": 89.58052700006647, "success": true, - "started_at_unix": 1789971190.1923838, + "started_at_unix": 1790057493.801512, "bytes_sent": 274, "bytes_received": 11792, "request_id": 22, @@ -16651,9 +16651,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.024524999957975524, + "duration_ms": 0.025857999958134315, "success": true, - "started_at_unix": 1789971190.28239, + "started_at_unix": 1790057493.8914926, "bytes_sent": 318, "bytes_received": 0, "request_id": null, @@ -16670,9 +16670,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.014967999959480949, + "duration_ms": 0.014957999951548118, "success": true, - "started_at_unix": 1789971190.2824242, + "started_at_unix": 1790057493.8915281, "bytes_sent": 374, "bytes_received": 0, "request_id": null, @@ -16689,9 +16689,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 84.73879299998544, + "duration_ms": 84.88389999990886, "success": true, - "started_at_unix": 1789971190.2824476, + "started_at_unix": 1790057493.8915517, "bytes_sent": 274, "bytes_received": 11792, "request_id": 23, @@ -16719,9 +16719,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.025638000010985706, + "duration_ms": 0.023154000018621446, "success": true, - "started_at_unix": 1789971190.367541, + "started_at_unix": 1790057493.9768112, "bytes_sent": 318, "bytes_received": 0, "request_id": null, @@ -16738,9 +16738,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.01482800001895157, + "duration_ms": 0.013955999975223676, "success": true, - "started_at_unix": 1789971190.3675761, + "started_at_unix": 1790057493.9768438, "bytes_sent": 375, "bytes_received": 0, "request_id": null, @@ -16757,9 +16757,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 89.0776219999907, + "duration_ms": 84.75781300001017, "success": true, - "started_at_unix": 1789971190.3675988, + "started_at_unix": 1790057493.9768662, "bytes_sent": 274, "bytes_received": 11792, "request_id": 24, @@ -16787,9 +16787,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02450499999895328, + "duration_ms": 0.024685999960638583, "success": true, - "started_at_unix": 1789971190.45703, + "started_at_unix": 1790057494.0620434, "bytes_sent": 319, "bytes_received": 0, "request_id": null, @@ -16806,9 +16806,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.014746999966064323, + "duration_ms": 0.015438999980688095, "success": true, - "started_at_unix": 1789971190.4570644, + "started_at_unix": 1790057494.0620775, "bytes_sent": 375, "bytes_received": 0, "request_id": null, @@ -16825,9 +16825,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 85.43059099997663, + "duration_ms": 85.67583999990802, "success": true, - "started_at_unix": 1789971190.457087, + "started_at_unix": 1790057494.0621014, "bytes_sent": 274, "bytes_received": 11792, "request_id": 25, @@ -16855,9 +16855,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.024225000004207686, + "duration_ms": 0.025729000071805785, "success": true, - "started_at_unix": 1789971190.5429094, + "started_at_unix": 1790057494.148213, "bytes_sent": 319, "bytes_received": 0, "request_id": null, @@ -16874,9 +16874,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03177900003947798, + "duration_ms": 0.020979000055376673, "success": true, - "started_at_unix": 1789971190.543094, + "started_at_unix": 1790057494.1483972, "bytes_sent": 374, "bytes_received": 0, "request_id": null, @@ -16893,9 +16893,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 472.5584160000267, + "duration_ms": 482.60104400003456, "success": true, - "started_at_unix": 1789971190.5431376, + "started_at_unix": 1790057494.1484275, "bytes_sent": 241, "bytes_received": 1066, "request_id": 26, @@ -16923,9 +16923,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.05718599999227081, + "duration_ms": 0.029685999948014796, "success": true, - "started_at_unix": 1789971191.0157673, + "started_at_unix": 1790057494.6310973, "bytes_sent": 319, "bytes_received": 0, "request_id": null, @@ -16942,9 +16942,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.015890000042872998, + "duration_ms": 0.015429000086442102, "success": true, - "started_at_unix": 1789971191.015836, + "started_at_unix": 1790057494.6311371, "bytes_sent": 374, "bytes_received": 0, "request_id": null, @@ -16961,9 +16961,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 228.86789000000363, + "duration_ms": 231.3530860000128, "success": true, - "started_at_unix": 1789971191.0158606, + "started_at_unix": 1790057494.6311605, "bytes_sent": 241, "bytes_received": 1066, "request_id": 27, @@ -16991,9 +16991,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02649900000051275, + "duration_ms": 0.027541999997993116, "success": true, - "started_at_unix": 1789971191.2448268, + "started_at_unix": 1790057494.8626268, "bytes_sent": 319, "bytes_received": 0, "request_id": null, @@ -17010,9 +17010,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.015207999979338638, + "duration_ms": 0.015248999943651143, "success": true, - "started_at_unix": 1789971191.244863, + "started_at_unix": 1790057494.862664, "bytes_sent": 374, "bytes_received": 0, "request_id": null, @@ -17029,9 +17029,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 229.67195799998308, + "duration_ms": 230.5262219999804, "success": true, - "started_at_unix": 1789971191.244887, + "started_at_unix": 1790057494.8626876, "bytes_sent": 241, "bytes_received": 1066, "request_id": 28, @@ -17059,9 +17059,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.026530000013735844, + "duration_ms": 0.027451000050859875, "success": true, - "started_at_unix": 1789971191.4746408, + "started_at_unix": 1790057495.0932977, "bytes_sent": 319, "bytes_received": 0, "request_id": null, @@ -17078,9 +17078,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.013996000006955, + "duration_ms": 0.0149080000255708, "success": true, - "started_at_unix": 1789971191.474677, + "started_at_unix": 1790057495.0933347, "bytes_sent": 374, "bytes_received": 0, "request_id": null, @@ -17097,9 +17097,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 233.23152699998673, + "duration_ms": 233.14201899995624, "success": true, - "started_at_unix": 1789971191.4746995, + "started_at_unix": 1790057495.0933573, "bytes_sent": 241, "bytes_received": 1066, "request_id": 29, @@ -17127,9 +17127,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.026960000013787067, + "duration_ms": 0.028081999971618643, "success": true, - "started_at_unix": 1789971191.7080145, + "started_at_unix": 1790057495.3266027, "bytes_sent": 319, "bytes_received": 0, "request_id": null, @@ -17146,9 +17146,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.014356000008319825, + "duration_ms": 0.015339000015046622, "success": true, - "started_at_unix": 1789971191.7080512, + "started_at_unix": 1790057495.3266408, "bytes_sent": 374, "bytes_received": 0, "request_id": null, @@ -17165,9 +17165,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 230.87061999996195, + "duration_ms": 229.87342099997932, "success": true, - "started_at_unix": 1789971191.7080746, + "started_at_unix": 1790057495.3266656, "bytes_sent": 241, "bytes_received": 1066, "request_id": 30, @@ -17195,9 +17195,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.027191000015136524, + "duration_ms": 0.03161900008308294, "success": true, - "started_at_unix": 1789971191.9390297, + "started_at_unix": 1790057495.5566657, "bytes_sent": 319, "bytes_received": 0, "request_id": null, @@ -17214,9 +17214,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.014617999966048956, + "duration_ms": 0.01823400009470788, "success": true, - "started_at_unix": 1789971191.9390666, + "started_at_unix": 1790057495.5567086, "bytes_sent": 374, "bytes_received": 0, "request_id": null, @@ -17233,9 +17233,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 230.1936989999831, + "duration_ms": 230.4583540000067, "success": true, - "started_at_unix": 1789971191.9390893, + "started_at_unix": 1790057495.5567372, "bytes_sent": 241, "bytes_received": 1066, "request_id": 31, @@ -17263,9 +17263,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02732100000457649, + "duration_ms": 0.02660000006926566, "success": true, - "started_at_unix": 1789971192.1693647, + "started_at_unix": 1790057495.78728, "bytes_sent": 319, "bytes_received": 0, "request_id": null, @@ -17282,9 +17282,9 @@ { "kind": "notification", "method": "textDocument/didClose", - "duration_ms": 0.01464700000042285, + "duration_ms": 0.015087999940988084, "success": true, - "started_at_unix": 1789971192.1694858, + "started_at_unix": 1790057495.787391, "bytes_sent": 198, "bytes_received": 0, "request_id": null, @@ -17297,9 +17297,9 @@ { "kind": "request", "method": "shutdown", - "duration_ms": 0.70531299996901, + "duration_ms": 0.6910399999924266, "success": true, - "started_at_unix": 1789971192.169507, + "started_at_unix": 1790057495.787413, "bytes_sent": 67, "bytes_received": 117, "request_id": 32, @@ -17317,9 +17317,9 @@ { "kind": "notification", "method": "exit", - "duration_ms": 0.019967000014275982, + "duration_ms": 0.02704999997149571, "success": true, - "started_at_unix": 1789971192.1702306, + "started_at_unix": 1790057495.788123, "bytes_sent": 55, "bytes_received": 0, "request_id": null, diff --git a/latest-results/pyrefly-20260921T060722Z-responses.jsonl b/latest-results/pyrefly-20260922T060545Z-responses.jsonl similarity index 99% rename from latest-results/pyrefly-20260921T060722Z-responses.jsonl rename to latest-results/pyrefly-20260922T060545Z-responses.jsonl index 0c095ad..85cbd4e 100644 --- a/latest-results/pyrefly-20260921T060722Z-responses.jsonl +++ b/latest-results/pyrefly-20260922T060545Z-responses.jsonl @@ -123,41 +123,41 @@ {"suite": "transformers", "label": "edit tokenizer then hover (edit+hover)", "method": "textDocument/hover", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/transformers/src/inference.py", "line": 10, "character": 30, "iteration": 3, "result": {"canIncreaseVerbosity": false, "contents": {"kind": "markdown", "value": "```python\nvocab_size: Unknown\n```"}}} {"suite": "transformers", "label": "edit tokenizer then hover (edit+hover)", "method": "textDocument/hover", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/transformers/src/inference.py", "line": 10, "character": 30, "iteration": 4, "result": {"canIncreaseVerbosity": false, "contents": {"kind": "markdown", "value": "```python\nvocab_size: Unknown\n```"}}} {"suite": "transformers", "label": "edit tokenizer then hover (edit+hover)", "method": "textDocument/hover", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/transformers/src/inference.py", "line": 10, "character": 30, "iteration": 5, "result": {"canIncreaseVerbosity": false, "contents": {"kind": "markdown", "value": "```python\nvocab_size: Unknown\n```"}}} -{"suite": "tsp_core", "label": "builtins semantic tokens", "method": "typeServer/semanticTokens", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/builtins_basic.py", "line": 0, "character": 0, "iteration": 1, "result": {"data": [0, 0, 5, 10, 1, 0, 5, 1, 2, 0, 0, 2, 3, 5, 0, 0, 4, 1, 2, 0, 0, 2, 1, 4, 0, 1, 0, 4, 10, 1, 0, 4, 1, 2, 0, 0, 2, 3, 5, 0, 0, 4, 1, 2, 0, 0, 2, 8, 3, 0, 1, 0, 5, 10, 1, 0, 5, 1, 2, 0, 0, 2, 4, 5, 0, 0, 4, 1, 2, 0, 0, 1, 3, 5, 0, 0, 3, 1, 2, 0, 0, 2, 1, 2, 0, 0, 2, 1, 2, 0, 0, 1, 1, 4, 0, 0, 1, 1, 2, 0, 0, 2, 1, 4, 0, 0, 1, 1, 2, 0, 0, 2, 1, 4, 0, 0, 1, 1, 2, 0, 1, 0, 6, 10, 1, 0, 7, 1, 2, 0, 0, 2, 3, 7, 2048, 0, 3, 1, 2, 0, 0, 1, 5, 10, 0, 0, 5, 1, 2, 0], "semantic_token_count": 30, "type_query_count": 2, "type_query_failure_count": 2, "token_type_counts": {"function": 1, "number": 4, "operator": 15, "string": 1, "type": 4, "variable": 5}, "legend": {"tokenTypes": ["comment", "keyword", "operator", "string", "number", "type", "class", "function", "method", "property", "variable", "parameter", "module", "selfParameter", "clsParameter", "builtinConstant"]}}} +{"suite": "tsp_core", "label": "builtins semantic tokens", "method": "typeServer/semanticTokens", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/builtins_basic.py", "line": 0, "character": 0, "iteration": 1, "result": {"data": [0, 0, 5, 10, 1, 0, 5, 1, 2, 0, 0, 2, 3, 5, 0, 0, 4, 1, 2, 0, 0, 2, 1, 4, 0, 1, 0, 4, 10, 1, 0, 4, 1, 2, 0, 0, 2, 3, 5, 0, 0, 4, 1, 2, 0, 0, 2, 8, 3, 0, 1, 0, 5, 10, 1, 0, 5, 1, 2, 0, 0, 2, 4, 5, 0, 0, 4, 1, 2, 0, 0, 1, 3, 5, 0, 0, 3, 1, 2, 0, 0, 2, 1, 2, 0, 0, 2, 1, 2, 0, 0, 1, 1, 4, 0, 0, 1, 1, 2, 0, 0, 2, 1, 4, 0, 0, 1, 1, 2, 0, 0, 2, 1, 4, 0, 0, 1, 1, 2, 0, 1, 0, 6, 10, 1, 0, 7, 1, 2, 0, 0, 2, 3, 7, 2048, 0, 3, 1, 2, 0, 0, 1, 5, 10, 0, 0, 5, 1, 2, 0], "semantic_token_count": 30, "type_query_count": 2, "type_query_failure_count": 0, "token_type_counts": {"function": 1, "number": 4, "operator": 15, "string": 1, "type": 4, "variable": 5}, "legend": {"tokenTypes": ["comment", "keyword", "operator", "string", "number", "type", "class", "function", "method", "property", "variable", "parameter", "module", "selfParameter", "clsParameter", "builtinConstant"]}}} {"suite": "tsp_core", "label": "builtins semantic tokens", "method": "typeServer/semanticTokens", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/builtins_basic.py", "line": 0, "character": 0, "iteration": 2, "result": {"data": [0, 0, 5, 10, 1, 0, 5, 1, 2, 0, 0, 2, 3, 5, 0, 0, 4, 1, 2, 0, 0, 2, 1, 4, 0, 1, 0, 4, 10, 1, 0, 4, 1, 2, 0, 0, 2, 3, 5, 0, 0, 4, 1, 2, 0, 0, 2, 8, 3, 0, 1, 0, 5, 10, 1, 0, 5, 1, 2, 0, 0, 2, 4, 5, 0, 0, 4, 1, 2, 0, 0, 1, 3, 5, 0, 0, 3, 1, 2, 0, 0, 2, 1, 2, 0, 0, 2, 1, 2, 0, 0, 1, 1, 4, 0, 0, 1, 1, 2, 0, 0, 2, 1, 4, 0, 0, 1, 1, 2, 0, 0, 2, 1, 4, 0, 0, 1, 1, 2, 0, 1, 0, 6, 10, 1, 0, 7, 1, 2, 0, 0, 2, 3, 7, 2048, 0, 3, 1, 2, 0, 0, 1, 5, 10, 0, 0, 5, 1, 2, 0], "semantic_token_count": 30, "type_query_count": 2, "type_query_failure_count": 0, "token_type_counts": {"function": 1, "number": 4, "operator": 15, "string": 1, "type": 4, "variable": 5}, "legend": {"tokenTypes": ["comment", "keyword", "operator", "string", "number", "type", "class", "function", "method", "property", "variable", "parameter", "module", "selfParameter", "clsParameter", "builtinConstant"]}}} {"suite": "tsp_core", "label": "builtins semantic tokens", "method": "typeServer/semanticTokens", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/builtins_basic.py", "line": 0, "character": 0, "iteration": 3, "result": {"data": [0, 0, 5, 10, 1, 0, 5, 1, 2, 0, 0, 2, 3, 5, 0, 0, 4, 1, 2, 0, 0, 2, 1, 4, 0, 1, 0, 4, 10, 1, 0, 4, 1, 2, 0, 0, 2, 3, 5, 0, 0, 4, 1, 2, 0, 0, 2, 8, 3, 0, 1, 0, 5, 10, 1, 0, 5, 1, 2, 0, 0, 2, 4, 5, 0, 0, 4, 1, 2, 0, 0, 1, 3, 5, 0, 0, 3, 1, 2, 0, 0, 2, 1, 2, 0, 0, 2, 1, 2, 0, 0, 1, 1, 4, 0, 0, 1, 1, 2, 0, 0, 2, 1, 4, 0, 0, 1, 1, 2, 0, 0, 2, 1, 4, 0, 0, 1, 1, 2, 0, 1, 0, 6, 10, 1, 0, 7, 1, 2, 0, 0, 2, 3, 7, 2048, 0, 3, 1, 2, 0, 0, 1, 5, 10, 0, 0, 5, 1, 2, 0], "semantic_token_count": 30, "type_query_count": 2, "type_query_failure_count": 0, "token_type_counts": {"function": 1, "number": 4, "operator": 15, "string": 1, "type": 4, "variable": 5}, "legend": {"tokenTypes": ["comment", "keyword", "operator", "string", "number", "type", "class", "function", "method", "property", "variable", "parameter", "module", "selfParameter", "clsParameter", "builtinConstant"]}}} {"suite": "tsp_core", "label": "builtins semantic tokens", "method": "typeServer/semanticTokens", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/builtins_basic.py", "line": 0, "character": 0, "iteration": 4, "result": {"data": [0, 0, 5, 10, 1, 0, 5, 1, 2, 0, 0, 2, 3, 5, 0, 0, 4, 1, 2, 0, 0, 2, 1, 4, 0, 1, 0, 4, 10, 1, 0, 4, 1, 2, 0, 0, 2, 3, 5, 0, 0, 4, 1, 2, 0, 0, 2, 8, 3, 0, 1, 0, 5, 10, 1, 0, 5, 1, 2, 0, 0, 2, 4, 5, 0, 0, 4, 1, 2, 0, 0, 1, 3, 5, 0, 0, 3, 1, 2, 0, 0, 2, 1, 2, 0, 0, 2, 1, 2, 0, 0, 1, 1, 4, 0, 0, 1, 1, 2, 0, 0, 2, 1, 4, 0, 0, 1, 1, 2, 0, 0, 2, 1, 4, 0, 0, 1, 1, 2, 0, 1, 0, 6, 10, 1, 0, 7, 1, 2, 0, 0, 2, 3, 7, 2048, 0, 3, 1, 2, 0, 0, 1, 5, 10, 0, 0, 5, 1, 2, 0], "semantic_token_count": 30, "type_query_count": 2, "type_query_failure_count": 0, "token_type_counts": {"function": 1, "number": 4, "operator": 15, "string": 1, "type": 4, "variable": 5}, "legend": {"tokenTypes": ["comment", "keyword", "operator", "string", "number", "type", "class", "function", "method", "property", "variable", "parameter", "module", "selfParameter", "clsParameter", "builtinConstant"]}}} {"suite": "tsp_core", "label": "builtins semantic tokens", "method": "typeServer/semanticTokens", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/builtins_basic.py", "line": 0, "character": 0, "iteration": 5, "result": {"data": [0, 0, 5, 10, 1, 0, 5, 1, 2, 0, 0, 2, 3, 5, 0, 0, 4, 1, 2, 0, 0, 2, 1, 4, 0, 1, 0, 4, 10, 1, 0, 4, 1, 2, 0, 0, 2, 3, 5, 0, 0, 4, 1, 2, 0, 0, 2, 8, 3, 0, 1, 0, 5, 10, 1, 0, 5, 1, 2, 0, 0, 2, 4, 5, 0, 0, 4, 1, 2, 0, 0, 1, 3, 5, 0, 0, 3, 1, 2, 0, 0, 2, 1, 2, 0, 0, 2, 1, 2, 0, 0, 1, 1, 4, 0, 0, 1, 1, 2, 0, 0, 2, 1, 4, 0, 0, 1, 1, 2, 0, 0, 2, 1, 4, 0, 0, 1, 1, 2, 0, 1, 0, 6, 10, 1, 0, 7, 1, 2, 0, 0, 2, 3, 7, 2048, 0, 3, 1, 2, 0, 0, 1, 5, 10, 0, 0, 5, 1, 2, 0], "semantic_token_count": 30, "type_query_count": 2, "type_query_failure_count": 0, "token_type_counts": {"function": 1, "number": 4, "operator": 15, "string": 1, "type": 4, "variable": 5}, "legend": {"tokenTypes": ["comment", "keyword", "operator", "string", "number", "type", "class", "function", "method", "property", "variable", "parameter", "module", "selfParameter", "clsParameter", "builtinConstant"]}}} -{"suite": "tsp_core", "label": "builtin int computed type", "method": "typeServer/getComputedType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/builtins_basic.py", "line": 0, "character": 0, "iteration": 1, "result": {"declaration": {"category": 6, "kind": 0, "name": "int", "node": {"range": {"end": {"character": 9, "line": 417}, "start": {"character": 6, "line": 417}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/builtins.pyi"}}, "flags": 2, "id": 22, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": null}} -{"suite": "tsp_core", "label": "builtin int computed type", "method": "typeServer/getComputedType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/builtins_basic.py", "line": 0, "character": 0, "iteration": 2, "result": {"declaration": {"category": 6, "kind": 0, "name": "int", "node": {"range": {"end": {"character": 9, "line": 417}, "start": {"character": 6, "line": 417}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/builtins.pyi"}}, "flags": 2, "id": 23, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": null}} -{"suite": "tsp_core", "label": "builtin int computed type", "method": "typeServer/getComputedType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/builtins_basic.py", "line": 0, "character": 0, "iteration": 3, "result": {"declaration": {"category": 6, "kind": 0, "name": "int", "node": {"range": {"end": {"character": 9, "line": 417}, "start": {"character": 6, "line": 417}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/builtins.pyi"}}, "flags": 2, "id": 24, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": null}} -{"suite": "tsp_core", "label": "builtin int computed type", "method": "typeServer/getComputedType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/builtins_basic.py", "line": 0, "character": 0, "iteration": 4, "result": {"declaration": {"category": 6, "kind": 0, "name": "int", "node": {"range": {"end": {"character": 9, "line": 417}, "start": {"character": 6, "line": 417}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/builtins.pyi"}}, "flags": 2, "id": 25, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": null}} -{"suite": "tsp_core", "label": "builtin int computed type", "method": "typeServer/getComputedType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/builtins_basic.py", "line": 0, "character": 0, "iteration": 5, "result": {"declaration": {"category": 6, "kind": 0, "name": "int", "node": {"range": {"end": {"character": 9, "line": 417}, "start": {"character": 6, "line": 417}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/builtins.pyi"}}, "flags": 2, "id": 26, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": null}} -{"suite": "tsp_core", "label": "list declared type", "method": "typeServer/getDeclaredType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/builtins_basic.py", "line": 2, "character": 0, "iteration": 1, "result": {"declaration": {"category": 6, "kind": 0, "name": "list", "node": {"range": {"end": {"character": 10, "line": 3463}, "start": {"character": 6, "line": 3463}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/builtins.pyi"}}, "flags": 2, "id": 30, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": [{"declaration": {"category": 6, "kind": 0, "name": "int", "node": {"range": {"end": {"character": 9, "line": 417}, "start": {"character": 6, "line": 417}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/builtins.pyi"}}, "flags": 2, "id": 29, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": null}]}} -{"suite": "tsp_core", "label": "list declared type", "method": "typeServer/getDeclaredType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/builtins_basic.py", "line": 2, "character": 0, "iteration": 2, "result": {"declaration": {"category": 6, "kind": 0, "name": "list", "node": {"range": {"end": {"character": 10, "line": 3463}, "start": {"character": 6, "line": 3463}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/builtins.pyi"}}, "flags": 2, "id": 32, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": [{"declaration": {"category": 6, "kind": 0, "name": "int", "node": {"range": {"end": {"character": 9, "line": 417}, "start": {"character": 6, "line": 417}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/builtins.pyi"}}, "flags": 2, "id": 31, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": null}]}} -{"suite": "tsp_core", "label": "list declared type", "method": "typeServer/getDeclaredType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/builtins_basic.py", "line": 2, "character": 0, "iteration": 3, "result": {"declaration": {"category": 6, "kind": 0, "name": "list", "node": {"range": {"end": {"character": 10, "line": 3463}, "start": {"character": 6, "line": 3463}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/builtins.pyi"}}, "flags": 2, "id": 34, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": [{"declaration": {"category": 6, "kind": 0, "name": "int", "node": {"range": {"end": {"character": 9, "line": 417}, "start": {"character": 6, "line": 417}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/builtins.pyi"}}, "flags": 2, "id": 33, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": null}]}} -{"suite": "tsp_core", "label": "list declared type", "method": "typeServer/getDeclaredType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/builtins_basic.py", "line": 2, "character": 0, "iteration": 4, "result": {"declaration": {"category": 6, "kind": 0, "name": "list", "node": {"range": {"end": {"character": 10, "line": 3463}, "start": {"character": 6, "line": 3463}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/builtins.pyi"}}, "flags": 2, "id": 36, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": [{"declaration": {"category": 6, "kind": 0, "name": "int", "node": {"range": {"end": {"character": 9, "line": 417}, "start": {"character": 6, "line": 417}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/builtins.pyi"}}, "flags": 2, "id": 35, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": null}]}} -{"suite": "tsp_core", "label": "list declared type", "method": "typeServer/getDeclaredType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/builtins_basic.py", "line": 2, "character": 0, "iteration": 5, "result": {"declaration": {"category": 6, "kind": 0, "name": "list", "node": {"range": {"end": {"character": 10, "line": 3463}, "start": {"character": 6, "line": 3463}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/builtins.pyi"}}, "flags": 2, "id": 38, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": [{"declaration": {"category": 6, "kind": 0, "name": "int", "node": {"range": {"end": {"character": 9, "line": 417}, "start": {"character": 6, "line": 417}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/builtins.pyi"}}, "flags": 2, "id": 37, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": null}]}} -{"suite": "tsp_core", "label": "generic specialization computed type", "method": "typeServer/getComputedType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/generics.py", "line": 9, "character": 7, "iteration": 1, "result": {"declaration": {"category": 6, "kind": 0, "name": "str", "node": {"range": {"end": {"character": 9, "line": 1032}, "start": {"character": 6, "line": 1032}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/builtins.pyi"}}, "flags": 2, "id": 40, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": null}} -{"suite": "tsp_core", "label": "generic specialization computed type", "method": "typeServer/getComputedType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/generics.py", "line": 9, "character": 7, "iteration": 2, "result": {"declaration": {"category": 6, "kind": 0, "name": "str", "node": {"range": {"end": {"character": 9, "line": 1032}, "start": {"character": 6, "line": 1032}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/builtins.pyi"}}, "flags": 2, "id": 41, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": null}} -{"suite": "tsp_core", "label": "generic specialization computed type", "method": "typeServer/getComputedType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/generics.py", "line": 9, "character": 7, "iteration": 3, "result": {"declaration": {"category": 6, "kind": 0, "name": "str", "node": {"range": {"end": {"character": 9, "line": 1032}, "start": {"character": 6, "line": 1032}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/builtins.pyi"}}, "flags": 2, "id": 42, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": null}} -{"suite": "tsp_core", "label": "generic specialization computed type", "method": "typeServer/getComputedType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/generics.py", "line": 9, "character": 7, "iteration": 4, "result": {"declaration": {"category": 6, "kind": 0, "name": "str", "node": {"range": {"end": {"character": 9, "line": 1032}, "start": {"character": 6, "line": 1032}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/builtins.pyi"}}, "flags": 2, "id": 43, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": null}} -{"suite": "tsp_core", "label": "generic specialization computed type", "method": "typeServer/getComputedType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/generics.py", "line": 9, "character": 7, "iteration": 5, "result": {"declaration": {"category": 6, "kind": 0, "name": "str", "node": {"range": {"end": {"character": 9, "line": 1032}, "start": {"character": 6, "line": 1032}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/builtins.pyi"}}, "flags": 2, "id": 44, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": null}} +{"suite": "tsp_core", "label": "builtin int computed type", "method": "typeServer/getComputedType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/builtins_basic.py", "line": 0, "character": 0, "iteration": 1, "result": {"declaration": {"category": 6, "kind": 0, "name": "int", "node": {"range": {"end": {"character": 9, "line": 417}, "start": {"character": 6, "line": 417}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/builtins.pyi"}}, "flags": 2, "id": 27, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": null}} +{"suite": "tsp_core", "label": "builtin int computed type", "method": "typeServer/getComputedType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/builtins_basic.py", "line": 0, "character": 0, "iteration": 2, "result": {"declaration": {"category": 6, "kind": 0, "name": "int", "node": {"range": {"end": {"character": 9, "line": 417}, "start": {"character": 6, "line": 417}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/builtins.pyi"}}, "flags": 2, "id": 28, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": null}} +{"suite": "tsp_core", "label": "builtin int computed type", "method": "typeServer/getComputedType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/builtins_basic.py", "line": 0, "character": 0, "iteration": 3, "result": {"declaration": {"category": 6, "kind": 0, "name": "int", "node": {"range": {"end": {"character": 9, "line": 417}, "start": {"character": 6, "line": 417}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/builtins.pyi"}}, "flags": 2, "id": 29, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": null}} +{"suite": "tsp_core", "label": "builtin int computed type", "method": "typeServer/getComputedType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/builtins_basic.py", "line": 0, "character": 0, "iteration": 4, "result": {"declaration": {"category": 6, "kind": 0, "name": "int", "node": {"range": {"end": {"character": 9, "line": 417}, "start": {"character": 6, "line": 417}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/builtins.pyi"}}, "flags": 2, "id": 30, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": null}} +{"suite": "tsp_core", "label": "builtin int computed type", "method": "typeServer/getComputedType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/builtins_basic.py", "line": 0, "character": 0, "iteration": 5, "result": {"declaration": {"category": 6, "kind": 0, "name": "int", "node": {"range": {"end": {"character": 9, "line": 417}, "start": {"character": 6, "line": 417}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/builtins.pyi"}}, "flags": 2, "id": 31, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": null}} +{"suite": "tsp_core", "label": "list declared type", "method": "typeServer/getDeclaredType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/builtins_basic.py", "line": 2, "character": 0, "iteration": 1, "result": {"declaration": {"category": 6, "kind": 0, "name": "list", "node": {"range": {"end": {"character": 10, "line": 3463}, "start": {"character": 6, "line": 3463}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/builtins.pyi"}}, "flags": 2, "id": 35, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": [{"declaration": {"category": 6, "kind": 0, "name": "int", "node": {"range": {"end": {"character": 9, "line": 417}, "start": {"character": 6, "line": 417}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/builtins.pyi"}}, "flags": 2, "id": 34, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": null}]}} +{"suite": "tsp_core", "label": "list declared type", "method": "typeServer/getDeclaredType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/builtins_basic.py", "line": 2, "character": 0, "iteration": 2, "result": {"declaration": {"category": 6, "kind": 0, "name": "list", "node": {"range": {"end": {"character": 10, "line": 3463}, "start": {"character": 6, "line": 3463}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/builtins.pyi"}}, "flags": 2, "id": 37, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": [{"declaration": {"category": 6, "kind": 0, "name": "int", "node": {"range": {"end": {"character": 9, "line": 417}, "start": {"character": 6, "line": 417}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/builtins.pyi"}}, "flags": 2, "id": 36, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": null}]}} +{"suite": "tsp_core", "label": "list declared type", "method": "typeServer/getDeclaredType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/builtins_basic.py", "line": 2, "character": 0, "iteration": 3, "result": {"declaration": {"category": 6, "kind": 0, "name": "list", "node": {"range": {"end": {"character": 10, "line": 3463}, "start": {"character": 6, "line": 3463}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/builtins.pyi"}}, "flags": 2, "id": 39, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": [{"declaration": {"category": 6, "kind": 0, "name": "int", "node": {"range": {"end": {"character": 9, "line": 417}, "start": {"character": 6, "line": 417}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/builtins.pyi"}}, "flags": 2, "id": 38, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": null}]}} +{"suite": "tsp_core", "label": "list declared type", "method": "typeServer/getDeclaredType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/builtins_basic.py", "line": 2, "character": 0, "iteration": 4, "result": {"declaration": {"category": 6, "kind": 0, "name": "list", "node": {"range": {"end": {"character": 10, "line": 3463}, "start": {"character": 6, "line": 3463}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/builtins.pyi"}}, "flags": 2, "id": 41, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": [{"declaration": {"category": 6, "kind": 0, "name": "int", "node": {"range": {"end": {"character": 9, "line": 417}, "start": {"character": 6, "line": 417}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/builtins.pyi"}}, "flags": 2, "id": 40, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": null}]}} +{"suite": "tsp_core", "label": "list declared type", "method": "typeServer/getDeclaredType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/builtins_basic.py", "line": 2, "character": 0, "iteration": 5, "result": {"declaration": {"category": 6, "kind": 0, "name": "list", "node": {"range": {"end": {"character": 10, "line": 3463}, "start": {"character": 6, "line": 3463}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/builtins.pyi"}}, "flags": 2, "id": 43, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": [{"declaration": {"category": 6, "kind": 0, "name": "int", "node": {"range": {"end": {"character": 9, "line": 417}, "start": {"character": 6, "line": 417}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/builtins.pyi"}}, "flags": 2, "id": 42, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": null}]}} +{"suite": "tsp_core", "label": "generic specialization computed type", "method": "typeServer/getComputedType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/generics.py", "line": 9, "character": 7, "iteration": 1, "result": {"declaration": {"category": 6, "kind": 0, "name": "str", "node": {"range": {"end": {"character": 9, "line": 1032}, "start": {"character": 6, "line": 1032}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/builtins.pyi"}}, "flags": 2, "id": 45, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": null}} +{"suite": "tsp_core", "label": "generic specialization computed type", "method": "typeServer/getComputedType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/generics.py", "line": 9, "character": 7, "iteration": 2, "result": {"declaration": {"category": 6, "kind": 0, "name": "str", "node": {"range": {"end": {"character": 9, "line": 1032}, "start": {"character": 6, "line": 1032}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/builtins.pyi"}}, "flags": 2, "id": 46, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": null}} +{"suite": "tsp_core", "label": "generic specialization computed type", "method": "typeServer/getComputedType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/generics.py", "line": 9, "character": 7, "iteration": 3, "result": {"declaration": {"category": 6, "kind": 0, "name": "str", "node": {"range": {"end": {"character": 9, "line": 1032}, "start": {"character": 6, "line": 1032}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/builtins.pyi"}}, "flags": 2, "id": 47, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": null}} +{"suite": "tsp_core", "label": "generic specialization computed type", "method": "typeServer/getComputedType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/generics.py", "line": 9, "character": 7, "iteration": 4, "result": {"declaration": {"category": 6, "kind": 0, "name": "str", "node": {"range": {"end": {"character": 9, "line": 1032}, "start": {"character": 6, "line": 1032}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/builtins.pyi"}}, "flags": 2, "id": 48, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": null}} +{"suite": "tsp_core", "label": "generic specialization computed type", "method": "typeServer/getComputedType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/generics.py", "line": 9, "character": 7, "iteration": 5, "result": {"declaration": {"category": 6, "kind": 0, "name": "str", "node": {"range": {"end": {"character": 9, "line": 1032}, "start": {"character": 6, "line": 1032}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/builtins.pyi"}}, "flags": 2, "id": 49, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": null}} {"suite": "tsp_core", "label": "flow narrowed branch type", "method": "typeServer/getComputedType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/flow_narrowing.py", "line": 4, "character": 15, "iteration": 1, "result": null} {"suite": "tsp_core", "label": "flow narrowed branch type", "method": "typeServer/getComputedType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/flow_narrowing.py", "line": 4, "character": 15, "iteration": 2, "result": null} {"suite": "tsp_core", "label": "flow narrowed branch type", "method": "typeServer/getComputedType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/flow_narrowing.py", "line": 4, "character": 15, "iteration": 3, "result": null} {"suite": "tsp_core", "label": "flow narrowed branch type", "method": "typeServer/getComputedType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/flow_narrowing.py", "line": 4, "character": 15, "iteration": 4, "result": null} {"suite": "tsp_core", "label": "flow narrowed branch type", "method": "typeServer/getComputedType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/flow_narrowing.py", "line": 4, "character": 15, "iteration": 5, "result": null} -{"suite": "tsp_core", "label": "stdlib path computed type", "method": "typeServer/getComputedType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/stdlib_types.py", "line": 3, "character": 0, "iteration": 1, "result": {"declaration": {"category": 6, "kind": 0, "name": "Path", "node": {"range": {"end": {"character": 10, "line": 184}, "start": {"character": 6, "line": 184}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/pathlib/__init__.pyi"}}, "flags": 2, "id": 46, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": null}} -{"suite": "tsp_core", "label": "stdlib path computed type", "method": "typeServer/getComputedType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/stdlib_types.py", "line": 3, "character": 0, "iteration": 2, "result": {"declaration": {"category": 6, "kind": 0, "name": "Path", "node": {"range": {"end": {"character": 10, "line": 184}, "start": {"character": 6, "line": 184}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/pathlib/__init__.pyi"}}, "flags": 2, "id": 47, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": null}} -{"suite": "tsp_core", "label": "stdlib path computed type", "method": "typeServer/getComputedType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/stdlib_types.py", "line": 3, "character": 0, "iteration": 3, "result": {"declaration": {"category": 6, "kind": 0, "name": "Path", "node": {"range": {"end": {"character": 10, "line": 184}, "start": {"character": 6, "line": 184}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/pathlib/__init__.pyi"}}, "flags": 2, "id": 48, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": null}} -{"suite": "tsp_core", "label": "stdlib path computed type", "method": "typeServer/getComputedType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/stdlib_types.py", "line": 3, "character": 0, "iteration": 4, "result": {"declaration": {"category": 6, "kind": 0, "name": "Path", "node": {"range": {"end": {"character": 10, "line": 184}, "start": {"character": 6, "line": 184}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/pathlib/__init__.pyi"}}, "flags": 2, "id": 49, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": null}} -{"suite": "tsp_core", "label": "stdlib path computed type", "method": "typeServer/getComputedType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/stdlib_types.py", "line": 3, "character": 0, "iteration": 5, "result": {"declaration": {"category": 6, "kind": 0, "name": "Path", "node": {"range": {"end": {"character": 10, "line": 184}, "start": {"character": 6, "line": 184}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/pathlib/__init__.pyi"}}, "flags": 2, "id": 50, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": null}} -{"suite": "tsp_core", "label": "function argument expected type", "method": "typeServer/getExpectedType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/expected_types.py", "line": 4, "character": 4, "iteration": 1, "result": {"declaration": {"category": 6, "kind": 0, "name": "int", "node": {"range": {"end": {"character": 9, "line": 417}, "start": {"character": 6, "line": 417}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/builtins.pyi"}}, "flags": 2, "id": 52, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": null}} -{"suite": "tsp_core", "label": "function argument expected type", "method": "typeServer/getExpectedType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/expected_types.py", "line": 4, "character": 4, "iteration": 2, "result": {"declaration": {"category": 6, "kind": 0, "name": "int", "node": {"range": {"end": {"character": 9, "line": 417}, "start": {"character": 6, "line": 417}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/builtins.pyi"}}, "flags": 2, "id": 53, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": null}} -{"suite": "tsp_core", "label": "function argument expected type", "method": "typeServer/getExpectedType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/expected_types.py", "line": 4, "character": 4, "iteration": 3, "result": {"declaration": {"category": 6, "kind": 0, "name": "int", "node": {"range": {"end": {"character": 9, "line": 417}, "start": {"character": 6, "line": 417}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/builtins.pyi"}}, "flags": 2, "id": 54, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": null}} -{"suite": "tsp_core", "label": "function argument expected type", "method": "typeServer/getExpectedType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/expected_types.py", "line": 4, "character": 4, "iteration": 4, "result": {"declaration": {"category": 6, "kind": 0, "name": "int", "node": {"range": {"end": {"character": 9, "line": 417}, "start": {"character": 6, "line": 417}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/builtins.pyi"}}, "flags": 2, "id": 55, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": null}} -{"suite": "tsp_core", "label": "function argument expected type", "method": "typeServer/getExpectedType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/expected_types.py", "line": 4, "character": 4, "iteration": 5, "result": {"declaration": {"category": 6, "kind": 0, "name": "int", "node": {"range": {"end": {"character": 9, "line": 417}, "start": {"character": 6, "line": 417}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/builtins.pyi"}}, "flags": 2, "id": 56, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": null}} +{"suite": "tsp_core", "label": "stdlib path computed type", "method": "typeServer/getComputedType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/stdlib_types.py", "line": 3, "character": 0, "iteration": 1, "result": {"declaration": {"category": 6, "kind": 0, "name": "Path", "node": {"range": {"end": {"character": 10, "line": 184}, "start": {"character": 6, "line": 184}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/pathlib/__init__.pyi"}}, "flags": 2, "id": 51, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": null}} +{"suite": "tsp_core", "label": "stdlib path computed type", "method": "typeServer/getComputedType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/stdlib_types.py", "line": 3, "character": 0, "iteration": 2, "result": {"declaration": {"category": 6, "kind": 0, "name": "Path", "node": {"range": {"end": {"character": 10, "line": 184}, "start": {"character": 6, "line": 184}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/pathlib/__init__.pyi"}}, "flags": 2, "id": 52, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": null}} +{"suite": "tsp_core", "label": "stdlib path computed type", "method": "typeServer/getComputedType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/stdlib_types.py", "line": 3, "character": 0, "iteration": 3, "result": {"declaration": {"category": 6, "kind": 0, "name": "Path", "node": {"range": {"end": {"character": 10, "line": 184}, "start": {"character": 6, "line": 184}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/pathlib/__init__.pyi"}}, "flags": 2, "id": 53, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": null}} +{"suite": "tsp_core", "label": "stdlib path computed type", "method": "typeServer/getComputedType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/stdlib_types.py", "line": 3, "character": 0, "iteration": 4, "result": {"declaration": {"category": 6, "kind": 0, "name": "Path", "node": {"range": {"end": {"character": 10, "line": 184}, "start": {"character": 6, "line": 184}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/pathlib/__init__.pyi"}}, "flags": 2, "id": 54, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": null}} +{"suite": "tsp_core", "label": "stdlib path computed type", "method": "typeServer/getComputedType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/stdlib_types.py", "line": 3, "character": 0, "iteration": 5, "result": {"declaration": {"category": 6, "kind": 0, "name": "Path", "node": {"range": {"end": {"character": 10, "line": 184}, "start": {"character": 6, "line": 184}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/pathlib/__init__.pyi"}}, "flags": 2, "id": 55, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": null}} +{"suite": "tsp_core", "label": "function argument expected type", "method": "typeServer/getExpectedType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/expected_types.py", "line": 4, "character": 4, "iteration": 1, "result": {"declaration": {"category": 6, "kind": 0, "name": "int", "node": {"range": {"end": {"character": 9, "line": 417}, "start": {"character": 6, "line": 417}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/builtins.pyi"}}, "flags": 2, "id": 57, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": null}} +{"suite": "tsp_core", "label": "function argument expected type", "method": "typeServer/getExpectedType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/expected_types.py", "line": 4, "character": 4, "iteration": 2, "result": {"declaration": {"category": 6, "kind": 0, "name": "int", "node": {"range": {"end": {"character": 9, "line": 417}, "start": {"character": 6, "line": 417}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/builtins.pyi"}}, "flags": 2, "id": 58, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": null}} +{"suite": "tsp_core", "label": "function argument expected type", "method": "typeServer/getExpectedType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/expected_types.py", "line": 4, "character": 4, "iteration": 3, "result": {"declaration": {"category": 6, "kind": 0, "name": "int", "node": {"range": {"end": {"character": 9, "line": 417}, "start": {"character": 6, "line": 417}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/builtins.pyi"}}, "flags": 2, "id": 59, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": null}} +{"suite": "tsp_core", "label": "function argument expected type", "method": "typeServer/getExpectedType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/expected_types.py", "line": 4, "character": 4, "iteration": 4, "result": {"declaration": {"category": 6, "kind": 0, "name": "int", "node": {"range": {"end": {"character": 9, "line": 417}, "start": {"character": 6, "line": 417}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/builtins.pyi"}}, "flags": 2, "id": 60, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": null}} +{"suite": "tsp_core", "label": "function argument expected type", "method": "typeServer/getExpectedType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/expected_types.py", "line": 4, "character": 4, "iteration": 5, "result": {"declaration": {"category": 6, "kind": 0, "name": "int", "node": {"range": {"end": {"character": 9, "line": 417}, "start": {"character": 6, "line": 417}}, "uri": "file:///tmp/pyrefly_bundled_typeshed_2e94b8840ea5/builtins.pyi"}}, "flags": 2, "id": 61, "kind": 3, "literalValue": null, "typeAliasInfo": null, "typeArgs": null}} {"suite": "tsp_core", "label": "edited narrowing recomputes type (edit+getComputedType)", "method": "typeServer/getComputedType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/flow_narrowing.py", "line": 4, "character": 15, "iteration": 1, "result": null} {"suite": "tsp_core", "label": "edited narrowing recomputes type (edit+getComputedType)", "method": "typeServer/getComputedType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/flow_narrowing.py", "line": 4, "character": 15, "iteration": 2, "result": null} {"suite": "tsp_core", "label": "edited narrowing recomputes type (edit+getComputedType)", "method": "typeServer/getComputedType", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/src/flow_narrowing.py", "line": 4, "character": 15, "iteration": 3, "result": null} diff --git a/latest-results/pyrefly-20260921T060722Z.json b/latest-results/pyrefly-20260922T060545Z.json similarity index 91% rename from latest-results/pyrefly-20260921T060722Z.json rename to latest-results/pyrefly-20260922T060545Z.json index 0130ef0..b2ad1ee 100644 --- a/latest-results/pyrefly-20260921T060722Z.json +++ b/latest-results/pyrefly-20260922T060545Z.json @@ -17,8 +17,8 @@ "tsp_semantic", "web" ], - "started_at_unix": 1789970938.7940269, - "finished_at_unix": 1789970976.2324414, + "started_at_unix": 1790057242.4791353, + "finished_at_unix": 1790057279.3372777, "scenario_reports": [], "benchmark_reports": [ { @@ -31,7 +31,7 @@ "environment_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/data_science/.venv", "python_executable": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/data_science/.venv/bin/python", "success": true, - "total_duration_ms": 1307.2362980000207, + "total_duration_ms": 1092.3351459999822, "error_message": null, "summary": { "request_count": 32, @@ -40,11 +40,11 @@ "failure_count": 0, "bytes_sent": 18656, "bytes_received": 1424003, - "min_ms": 0.13449099998297243, - "max_ms": 454.334039999992, - "mean_ms": 39.59866237500087, - "median_ms": 2.655188000005637, - "p95_ms": 285.65574140000774, + "min_ms": 0.1264269999978751, + "max_ms": 418.8177000000337, + "mean_ms": 32.73891693748965, + "median_ms": 2.907002999990027, + "p95_ms": 200.1811722500008, "result_summary": { "present_count": 31, "empty_count": 1, @@ -99,27 +99,27 @@ "by_method": { "textDocument/completion": { "point_count": 2, - "min_ms": 0.6760509999992337, - "max_ms": 454.334039999992, - "mean_ms": 60.12182620000317, - "median_ms": 11.811349500007395, - "p95_ms": 293.0709712499986 + "min_ms": 3.1200009999565737, + "max_ms": 418.8177000000337, + "mean_ms": 57.51532549998046, + "median_ms": 24.93616849997693, + "p95_ms": 245.14400835000416 }, "textDocument/hover": { "point_count": 2, - "min_ms": 2.276089000019965, - "max_ms": 6.654214000008096, - "mean_ms": 4.071483600003489, - "median_ms": 2.7403039999995826, - "p95_ms": 6.613264000009167 + "min_ms": 0.48793199999863646, + "max_ms": 5.726611999989473, + "mean_ms": 2.3419199999921148, + "median_ms": 2.4167969999950856, + "p95_ms": 5.51766934997886 }, "textDocument/definition": { "point_count": 1, - "min_ms": 0.18859099998280726, - "max_ms": 0.23229300001048614, - "mean_ms": 0.20514619999971728, - "median_ms": 0.19895100001576793, - "p95_ms": 0.2290790000074594 + "min_ms": 0.21633399995835134, + "max_ms": 0.689578999981677, + "mean_ms": 0.32394739998835576, + "median_ms": 0.23181299997077076, + "p95_ms": 0.6023839999897972 } }, "validation": { @@ -145,11 +145,11 @@ "failure_count": 0, "bytes_sent": 1425, "bytes_received": 95745, - "min_ms": 0.6760509999992337, - "max_ms": 454.334039999992, - "mean_ms": 91.54727960000173, - "median_ms": 0.9491000000139138, - "p95_ms": 363.66161139999343, + "min_ms": 3.1200009999565737, + "max_ms": 418.8177000000337, + "mean_ms": 87.41575299998203, + "median_ms": 4.80804299996862, + "p95_ms": 336.3860632000182, "result_summary": { "present_count": 5, "empty_count": 0, @@ -209,9 +209,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 189.2896220000182, + "duration_ms": 183.94122799998058, "success": true, - "started_at_unix": 1789970938.8112512, + "started_at_unix": 1790057242.4959142, "bytes_sent": 285, "bytes_received": 19149, "request_id": 2, @@ -239,9 +239,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 454.334039999992, + "duration_ms": 418.8177000000337, "success": true, - "started_at_unix": 1789970939.0015333, + "started_at_unix": 1790057242.6806166, "bytes_sent": 285, "bytes_received": 19149, "request_id": 3, @@ -269,9 +269,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 0.9718969999994442, + "duration_ms": 4.80804299996862, "success": true, - "started_at_unix": 1789970939.4572344, + "started_at_unix": 1790057243.1008005, "bytes_sent": 285, "bytes_received": 19149, "request_id": 4, @@ -299,9 +299,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 0.9491000000139138, + "duration_ms": 3.1200009999565737, "success": true, - "started_at_unix": 1789970939.4595165, + "started_at_unix": 1790057243.1069658, "bytes_sent": 285, "bytes_received": 19149, "request_id": 5, @@ -329,9 +329,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 0.8053100000040558, + "duration_ms": 6.659515999956511, "success": true, - "started_at_unix": 1789970939.461154, + "started_at_unix": 1790057243.1114507, "bytes_sent": 285, "bytes_received": 19149, "request_id": 6, @@ -359,9 +359,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 0.6760509999992337, + "duration_ms": 3.6735049999947478, "success": true, - "started_at_unix": 1789970939.4626105, + "started_at_unix": 1790057243.1194417, "bytes_sent": 285, "bytes_received": 19149, "request_id": 7, @@ -404,11 +404,11 @@ "failure_count": 0, "bytes_sent": 1269, "bytes_received": 16614, - "min_ms": 2.276089000019965, - "max_ms": 2.8072089999966465, - "mean_ms": 2.547695000004069, - "median_ms": 2.596595999989404, - "p95_ms": 2.780446999997821, + "min_ms": 2.4141320000126143, + "max_ms": 5.262294999965889, + "mean_ms": 3.0691139999930783, + "median_ms": 2.5556759999858514, + "p95_ms": 4.748636999977407, "result_summary": { "present_count": 5, "empty_count": 0, @@ -468,9 +468,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 403.43655399999534, + "duration_ms": 220.02999300002557, "success": true, - "started_at_unix": 1789970939.464297, + "started_at_unix": 1790057243.124604, "bytes_sent": 253, "bytes_received": 3322, "request_id": 8, @@ -498,9 +498,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 2.6733990000025187, + "duration_ms": 2.5556759999858514, "success": true, - "started_at_unix": 1789970939.8679044, + "started_at_unix": 1790057243.3447585, "bytes_sent": 253, "bytes_received": 3322, "request_id": 9, @@ -528,9 +528,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 2.596595999989404, + "duration_ms": 2.419461999977557, "success": true, - "started_at_unix": 1789970939.8707201, + "started_at_unix": 1790057243.3474362, "bytes_sent": 254, "bytes_received": 3323, "request_id": 10, @@ -558,9 +558,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 2.8072089999966465, + "duration_ms": 2.4141320000126143, "success": true, - "started_at_unix": 1789970939.8734798, + "started_at_unix": 1790057243.3499956, "bytes_sent": 254, "bytes_received": 3323, "request_id": 11, @@ -588,9 +588,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 2.3851820000118096, + "duration_ms": 5.262294999965889, "success": true, - "started_at_unix": 1789970939.8764699, + "started_at_unix": 1790057243.3525543, "bytes_sent": 254, "bytes_received": 3323, "request_id": 12, @@ -618,9 +618,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 2.276089000019965, + "duration_ms": 2.6940050000234805, "success": true, - "started_at_unix": 1789970939.8789806, + "started_at_unix": 1790057243.357942, "bytes_sent": 254, "bytes_received": 3323, "request_id": 13, @@ -663,11 +663,11 @@ "failure_count": 0, "bytes_sent": 1300, "bytes_received": 1225, - "min_ms": 0.18859099998280726, - "max_ms": 0.23229300001048614, - "mean_ms": 0.20514619999971728, - "median_ms": 0.19895100001576793, - "p95_ms": 0.2290790000074594, + "min_ms": 0.21633399995835134, + "max_ms": 0.689578999981677, + "mean_ms": 0.32394739998835576, + "median_ms": 0.23181299997077076, + "p95_ms": 0.6023839999897972, "result_summary": { "present_count": 5, "empty_count": 0, @@ -727,9 +727,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.2506759999789665, + "duration_ms": 0.5181280000101651, "success": true, - "started_at_unix": 1789970939.8814974, + "started_at_unix": 1790057243.3608887, "bytes_sent": 260, "bytes_received": 245, "request_id": 14, @@ -757,9 +757,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.21622299999535244, + "duration_ms": 0.25360400002227834, "success": true, - "started_at_unix": 1789970939.8818302, + "started_at_unix": 1790057243.3614657, "bytes_sent": 260, "bytes_received": 245, "request_id": 15, @@ -787,9 +787,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.18967299999417264, + "duration_ms": 0.2284070000087013, "success": true, - "started_at_unix": 1789970939.8821146, + "started_at_unix": 1790057243.361794, "bytes_sent": 260, "bytes_received": 245, "request_id": 16, @@ -817,9 +817,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.19895100001576793, + "duration_ms": 0.21633399995835134, "success": true, - "started_at_unix": 1789970939.882365, + "started_at_unix": 1790057243.3620944, "bytes_sent": 260, "bytes_received": 245, "request_id": 17, @@ -847,9 +847,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.23229300001048614, + "duration_ms": 0.23181299997077076, "success": true, - "started_at_unix": 1789970939.882657, + "started_at_unix": 1790057243.3624098, "bytes_sent": 260, "bytes_received": 245, "request_id": 18, @@ -877,9 +877,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.18859099998280726, + "duration_ms": 0.689578999981677, "success": true, - "started_at_unix": 1789970939.882956, + "started_at_unix": 1790057243.3627326, "bytes_sent": 260, "bytes_received": 245, "request_id": 19, @@ -922,11 +922,11 @@ "failure_count": 0, "bytes_sent": 1440, "bytes_received": 1058490, - "min_ms": 11.809134000003496, - "max_ms": 95.97166500000753, - "mean_ms": 28.69637280000461, - "median_ms": 11.842637000000877, - "p95_ms": 79.18630460000598, + "min_ms": 23.594385999956557, + "max_ms": 32.87616299996898, + "mean_ms": 27.614897999978893, + "median_ms": 26.916104000008545, + "p95_ms": 31.982907599967803, "result_summary": { "present_count": 5, "empty_count": 0, @@ -986,9 +986,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 21.592134999991686, + "duration_ms": 25.44849499997781, "success": true, - "started_at_unix": 1789970939.88345, + "started_at_unix": 1790057243.3637602, "bytes_sent": 288, "bytes_received": 211698, "request_id": 20, @@ -1016,9 +1016,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 11.813565000011295, + "duration_ms": 28.40988599996308, "success": true, - "started_at_unix": 1789970939.906676, + "started_at_unix": 1790057243.3921597, "bytes_sent": 288, "bytes_received": 211698, "request_id": 21, @@ -1046,9 +1046,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 12.04486299999985, + "duration_ms": 32.87616299996898, "success": true, - "started_at_unix": 1789970939.9227343, + "started_at_unix": 1790057243.425056, "bytes_sent": 288, "bytes_received": 211698, "request_id": 22, @@ -1076,9 +1076,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 11.809134000003496, + "duration_ms": 26.2779509999973, "success": true, - "started_at_unix": 1789970939.9391758, + "started_at_unix": 1790057243.4623523, "bytes_sent": 288, "bytes_received": 211698, "request_id": 23, @@ -1106,9 +1106,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 11.842637000000877, + "duration_ms": 26.916104000008545, "success": true, - "started_at_unix": 1789970939.9552178, + "started_at_unix": 1790057243.4931493, "bytes_sent": 288, "bytes_received": 211698, "request_id": 24, @@ -1136,9 +1136,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 95.97166500000753, + "duration_ms": 23.594385999956557, "success": true, - "started_at_unix": 1789970939.9708772, + "started_at_unix": 1790057243.5244365, "bytes_sent": 288, "bytes_received": 211698, "request_id": 25, @@ -1181,11 +1181,11 @@ "failure_count": 0, "bytes_sent": 1275, "bytes_received": 13450, - "min_ms": 2.6369770000087556, - "max_ms": 6.654214000008096, - "mean_ms": 5.59527220000291, - "median_ms": 6.162927999980639, - "p95_ms": 6.636014000008572, + "min_ms": 0.48793199999863646, + "max_ms": 5.726611999989473, + "mean_ms": 1.6147259999911512, + "median_ms": 0.6129359999818007, + "p95_ms": 4.712126199990506, "result_summary": { "present_count": 5, "empty_count": 0, @@ -1245,9 +1245,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 7.149956999995766, + "duration_ms": 15.00225400002364, "success": true, - "started_at_unix": 1789970940.0698125, + "started_at_unix": 1790057243.5527165, "bytes_sent": 255, "bytes_received": 2690, "request_id": 26, @@ -1275,9 +1275,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 6.5632140000104755, + "duration_ms": 5.726611999989473, "success": true, - "started_at_unix": 1789970940.07716, + "started_at_unix": 1790057243.5680783, "bytes_sent": 255, "bytes_received": 2690, "request_id": 27, @@ -1305,9 +1305,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 6.654214000008096, + "duration_ms": 0.48793199999863646, "success": true, - "started_at_unix": 1789970940.083881, + "started_at_unix": 1790057243.5739837, "bytes_sent": 255, "bytes_received": 2690, "request_id": 28, @@ -1335,9 +1335,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 6.162927999980639, + "duration_ms": 0.6129359999818007, "success": true, - "started_at_unix": 1789970940.0906785, + "started_at_unix": 1790057243.5746894, "bytes_sent": 255, "bytes_received": 2690, "request_id": 29, @@ -1365,9 +1365,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 2.6369770000087556, + "duration_ms": 0.5919669999912003, "success": true, - "started_at_unix": 1789970940.0970156, + "started_at_unix": 1790057243.575517, "bytes_sent": 255, "bytes_received": 2690, "request_id": 30, @@ -1395,9 +1395,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 5.959028000006583, + "duration_ms": 0.6541829999946458, "success": true, - "started_at_unix": 1789970940.099876, + "started_at_unix": 1790057243.5762818, "bytes_sent": 255, "bytes_received": 2690, "request_id": 31, @@ -1429,9 +1429,9 @@ { "kind": "request", "method": "initialize", - "duration_ms": 2.344931999999744, + "duration_ms": 2.3866249999855427, "success": true, - "started_at_unix": 1789970938.8085089, + "started_at_unix": 1790057242.493238, "bytes_sent": 673, "bytes_received": 1314, "request_id": 1, @@ -1450,9 +1450,9 @@ { "kind": "notification", "method": "initialized", - "duration_ms": 0.026689999998552594, + "duration_ms": 0.022231000002648216, "success": true, - "started_at_unix": 1789970938.8109422, + "started_at_unix": 1790057242.495709, "bytes_sent": 74, "bytes_received": 0, "request_id": null, @@ -1465,9 +1465,9 @@ { "kind": "notification", "method": "workspace/didChangeConfiguration", - "duration_ms": 0.030647000016870152, + "duration_ms": 0.015768999958254426, "success": true, - "started_at_unix": 1789970938.8110142, + "started_at_unix": 1790057242.4957523, "bytes_sent": 659, "bytes_received": 0, "request_id": null, @@ -1483,9 +1483,9 @@ { "kind": "notification", "method": "textDocument/didOpen", - "duration_ms": 0.030156000008219053, + "duration_ms": 0.019586000007620896, "success": true, - "started_at_unix": 1789970938.8111687, + "started_at_unix": 1790057242.4958587, "bytes_sent": 492, "bytes_received": 0, "request_id": null, @@ -1501,9 +1501,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 189.2896220000182, + "duration_ms": 183.94122799998058, "success": true, - "started_at_unix": 1789970938.8112512, + "started_at_unix": 1790057242.4959142, "bytes_sent": 285, "bytes_received": 19149, "request_id": 2, @@ -1531,9 +1531,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 454.334039999992, + "duration_ms": 418.8177000000337, "success": true, - "started_at_unix": 1789970939.0015333, + "started_at_unix": 1790057242.6806166, "bytes_sent": 285, "bytes_received": 19149, "request_id": 3, @@ -1561,9 +1561,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 0.9718969999994442, + "duration_ms": 4.80804299996862, "success": true, - "started_at_unix": 1789970939.4572344, + "started_at_unix": 1790057243.1008005, "bytes_sent": 285, "bytes_received": 19149, "request_id": 4, @@ -1591,9 +1591,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 0.9491000000139138, + "duration_ms": 3.1200009999565737, "success": true, - "started_at_unix": 1789970939.4595165, + "started_at_unix": 1790057243.1069658, "bytes_sent": 285, "bytes_received": 19149, "request_id": 5, @@ -1621,9 +1621,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 0.8053100000040558, + "duration_ms": 6.659515999956511, "success": true, - "started_at_unix": 1789970939.461154, + "started_at_unix": 1790057243.1114507, "bytes_sent": 285, "bytes_received": 19149, "request_id": 6, @@ -1651,9 +1651,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 0.6760509999992337, + "duration_ms": 3.6735049999947478, "success": true, - "started_at_unix": 1789970939.4626105, + "started_at_unix": 1790057243.1194417, "bytes_sent": 285, "bytes_received": 19149, "request_id": 7, @@ -1681,9 +1681,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 403.43655399999534, + "duration_ms": 220.02999300002557, "success": true, - "started_at_unix": 1789970939.464297, + "started_at_unix": 1790057243.124604, "bytes_sent": 253, "bytes_received": 3322, "request_id": 8, @@ -1711,9 +1711,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 2.6733990000025187, + "duration_ms": 2.5556759999858514, "success": true, - "started_at_unix": 1789970939.8679044, + "started_at_unix": 1790057243.3447585, "bytes_sent": 253, "bytes_received": 3322, "request_id": 9, @@ -1741,9 +1741,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 2.596595999989404, + "duration_ms": 2.419461999977557, "success": true, - "started_at_unix": 1789970939.8707201, + "started_at_unix": 1790057243.3474362, "bytes_sent": 254, "bytes_received": 3323, "request_id": 10, @@ -1771,9 +1771,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 2.8072089999966465, + "duration_ms": 2.4141320000126143, "success": true, - "started_at_unix": 1789970939.8734798, + "started_at_unix": 1790057243.3499956, "bytes_sent": 254, "bytes_received": 3323, "request_id": 11, @@ -1801,9 +1801,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 2.3851820000118096, + "duration_ms": 5.262294999965889, "success": true, - "started_at_unix": 1789970939.8764699, + "started_at_unix": 1790057243.3525543, "bytes_sent": 254, "bytes_received": 3323, "request_id": 12, @@ -1831,9 +1831,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 2.276089000019965, + "duration_ms": 2.6940050000234805, "success": true, - "started_at_unix": 1789970939.8789806, + "started_at_unix": 1790057243.357942, "bytes_sent": 254, "bytes_received": 3323, "request_id": 13, @@ -1861,9 +1861,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.2506759999789665, + "duration_ms": 0.5181280000101651, "success": true, - "started_at_unix": 1789970939.8814974, + "started_at_unix": 1790057243.3608887, "bytes_sent": 260, "bytes_received": 245, "request_id": 14, @@ -1891,9 +1891,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.21622299999535244, + "duration_ms": 0.25360400002227834, "success": true, - "started_at_unix": 1789970939.8818302, + "started_at_unix": 1790057243.3614657, "bytes_sent": 260, "bytes_received": 245, "request_id": 15, @@ -1921,9 +1921,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.18967299999417264, + "duration_ms": 0.2284070000087013, "success": true, - "started_at_unix": 1789970939.8821146, + "started_at_unix": 1790057243.361794, "bytes_sent": 260, "bytes_received": 245, "request_id": 16, @@ -1951,9 +1951,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.19895100001576793, + "duration_ms": 0.21633399995835134, "success": true, - "started_at_unix": 1789970939.882365, + "started_at_unix": 1790057243.3620944, "bytes_sent": 260, "bytes_received": 245, "request_id": 17, @@ -1981,9 +1981,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.23229300001048614, + "duration_ms": 0.23181299997077076, "success": true, - "started_at_unix": 1789970939.882657, + "started_at_unix": 1790057243.3624098, "bytes_sent": 260, "bytes_received": 245, "request_id": 18, @@ -2011,9 +2011,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.18859099998280726, + "duration_ms": 0.689578999981677, "success": true, - "started_at_unix": 1789970939.882956, + "started_at_unix": 1790057243.3627326, "bytes_sent": 260, "bytes_received": 245, "request_id": 19, @@ -2041,9 +2041,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03375299999675008, + "duration_ms": 0.043921999974827486, "success": true, - "started_at_unix": 1789970939.8834035, + "started_at_unix": 1790057243.3637023, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -2060,9 +2060,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 21.592134999991686, + "duration_ms": 25.44849499997781, "success": true, - "started_at_unix": 1789970939.88345, + "started_at_unix": 1790057243.3637602, "bytes_sent": 288, "bytes_received": 211698, "request_id": 20, @@ -2090,9 +2090,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03841099999135622, + "duration_ms": 0.16898600000558872, "success": true, - "started_at_unix": 1789970939.9065862, + "started_at_unix": 1790057243.3919063, "bytes_sent": 332, "bytes_received": 0, "request_id": null, @@ -2109,9 +2109,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.022712000003366484, + "duration_ms": 0.053030000003673194, "success": true, - "started_at_unix": 1789970939.9066393, + "started_at_unix": 1790057243.392091, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -2128,9 +2128,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 11.813565000011295, + "duration_ms": 28.40988599996308, "success": true, - "started_at_unix": 1789970939.906676, + "started_at_unix": 1790057243.3921597, "bytes_sent": 288, "bytes_received": 211698, "request_id": 21, @@ -2158,9 +2158,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.04899099999988721, + "duration_ms": 0.19675799995866328, "success": true, - "started_at_unix": 1789970939.9226236, + "started_at_unix": 1790057243.4247692, "bytes_sent": 332, "bytes_received": 0, "request_id": null, @@ -2177,9 +2177,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02807200002052923, + "duration_ms": 0.056164999989505304, "success": true, - "started_at_unix": 1789970939.9226894, + "started_at_unix": 1790057243.4249823, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -2196,9 +2196,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 12.04486299999985, + "duration_ms": 32.87616299996898, "success": true, - "started_at_unix": 1789970939.9227343, + "started_at_unix": 1790057243.425056, "bytes_sent": 288, "bytes_received": 211698, "request_id": 22, @@ -2226,9 +2226,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.048480000003792156, + "duration_ms": 0.2010559999803263, "success": true, - "started_at_unix": 1789970939.939065, + "started_at_unix": 1790057243.4620821, "bytes_sent": 332, "bytes_received": 0, "request_id": null, @@ -2245,9 +2245,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02898400001072332, + "duration_ms": 0.03545699996720941, "success": true, - "started_at_unix": 1789970939.9391296, + "started_at_unix": 1790057243.4623013, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -2264,9 +2264,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 11.809134000003496, + "duration_ms": 26.2779509999973, "success": true, - "started_at_unix": 1789970939.9391758, + "started_at_unix": 1790057243.4623523, "bytes_sent": 288, "bytes_received": 211698, "request_id": 23, @@ -2294,9 +2294,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.04732799999374038, + "duration_ms": 0.1730939999902148, "success": true, - "started_at_unix": 1789970939.9551058, + "started_at_unix": 1790057243.492886, "bytes_sent": 332, "bytes_received": 0, "request_id": null, @@ -2313,9 +2313,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.0300660000220887, + "duration_ms": 0.057327000035911624, "success": true, - "started_at_unix": 1789970939.9551687, + "started_at_unix": 1790057243.4930754, "bytes_sent": 366, "bytes_received": 0, "request_id": null, @@ -2332,9 +2332,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 11.842637000000877, + "duration_ms": 26.916104000008545, "success": true, - "started_at_unix": 1789970939.9552178, + "started_at_unix": 1790057243.4931493, "bytes_sent": 288, "bytes_received": 211698, "request_id": 24, @@ -2362,9 +2362,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.04278000000113025, + "duration_ms": 0.1843150000127025, "success": true, - "started_at_unix": 1789970939.9707837, + "started_at_unix": 1790057243.5241551, "bytes_sent": 333, "bytes_received": 0, "request_id": null, @@ -2381,9 +2381,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.021059000005152484, + "duration_ms": 0.06337800004985183, "success": true, - "started_at_unix": 1789970939.9708416, + "started_at_unix": 1790057243.524355, "bytes_sent": 366, "bytes_received": 0, "request_id": null, @@ -2400,9 +2400,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 95.97166500000753, + "duration_ms": 23.594385999956557, "success": true, - "started_at_unix": 1789970939.9708772, + "started_at_unix": 1790057243.5244365, "bytes_sent": 288, "bytes_received": 211698, "request_id": 25, @@ -2430,9 +2430,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.029415000000199143, + "duration_ms": 0.17459600002212028, "success": true, - "started_at_unix": 1789970940.069497, + "started_at_unix": 1790057243.5521617, "bytes_sent": 333, "bytes_received": 0, "request_id": null, @@ -2449,9 +2449,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.0542309999786994, + "duration_ms": 0.06824799999094466, "success": true, - "started_at_unix": 1789970940.0697432, + "started_at_unix": 1790057243.552632, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -2468,9 +2468,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 7.149956999995766, + "duration_ms": 15.00225400002364, "success": true, - "started_at_unix": 1789970940.0698125, + "started_at_unix": 1790057243.5527165, "bytes_sent": 255, "bytes_received": 2690, "request_id": 26, @@ -2498,9 +2498,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.044172000002618006, + "duration_ms": 0.16442800000504576, "success": true, - "started_at_unix": 1789970940.0770445, + "started_at_unix": 1790057243.567828, "bytes_sent": 333, "bytes_received": 0, "request_id": null, @@ -2517,9 +2517,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03858200000195211, + "duration_ms": 0.054581999961555994, "success": true, - "started_at_unix": 1789970940.077104, + "started_at_unix": 1790057243.5680084, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -2536,9 +2536,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 6.5632140000104755, + "duration_ms": 5.726611999989473, "success": true, - "started_at_unix": 1789970940.07716, + "started_at_unix": 1790057243.5680783, "bytes_sent": 255, "bytes_received": 2690, "request_id": 27, @@ -2566,9 +2566,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02515700001026744, + "duration_ms": 0.029664999999567954, "success": true, - "started_at_unix": 1789970940.083824, + "started_at_unix": 1790057243.5739133, "bytes_sent": 333, "bytes_received": 0, "request_id": null, @@ -2585,9 +2585,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.014758000020265172, + "duration_ms": 0.020438000035483128, "success": true, - "started_at_unix": 1789970940.0838587, + "started_at_unix": 1790057243.5739534, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -2604,9 +2604,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 6.654214000008096, + "duration_ms": 0.48793199999863646, "success": true, - "started_at_unix": 1789970940.083881, + "started_at_unix": 1790057243.5739837, "bytes_sent": 255, "bytes_received": 2690, "request_id": 28, @@ -2634,9 +2634,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.025978999985909468, + "duration_ms": 0.03485500002398112, "success": true, - "started_at_unix": 1789970940.0906198, + "started_at_unix": 1790057243.5746045, "bytes_sent": 333, "bytes_received": 0, "request_id": null, @@ -2653,9 +2653,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.016340000001946464, + "duration_ms": 0.026749999960884452, "success": true, - "started_at_unix": 1789970940.0906544, + "started_at_unix": 1790057243.5746512, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -2672,9 +2672,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 6.162927999980639, + "duration_ms": 0.6129359999818007, "success": true, - "started_at_unix": 1789970940.0906785, + "started_at_unix": 1790057243.5746894, "bytes_sent": 255, "bytes_received": 2690, "request_id": 29, @@ -2702,9 +2702,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.025106000009600393, + "duration_ms": 0.03452499998957137, "success": true, - "started_at_unix": 1789970940.0969582, + "started_at_unix": 1790057243.57544, "bytes_sent": 333, "bytes_received": 0, "request_id": null, @@ -2721,9 +2721,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.014195999995081365, + "duration_ms": 0.02170100003695552, "success": true, - "started_at_unix": 1789970940.0969927, + "started_at_unix": 1790057243.575485, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -2740,9 +2740,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 2.6369770000087556, + "duration_ms": 0.5919669999912003, "success": true, - "started_at_unix": 1789970940.0970156, + "started_at_unix": 1790057243.575517, "bytes_sent": 255, "bytes_received": 2690, "request_id": 30, @@ -2770,9 +2770,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.050694000009343654, + "duration_ms": 0.029275000031248055, "success": true, - "started_at_unix": 1789970940.0997543, + "started_at_unix": 1790057243.5762124, "bytes_sent": 333, "bytes_received": 0, "request_id": null, @@ -2789,9 +2789,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.04261899999846719, + "duration_ms": 0.020567999968079675, "success": true, - "started_at_unix": 1789970940.0998182, + "started_at_unix": 1790057243.576251, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -2808,9 +2808,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 5.959028000006583, + "duration_ms": 0.6541829999946458, "success": true, - "started_at_unix": 1789970940.099876, + "started_at_unix": 1790057243.5762818, "bytes_sent": 255, "bytes_received": 2690, "request_id": 31, @@ -2838,9 +2838,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.028283000006013026, + "duration_ms": 0.03088800002615244, "success": true, - "started_at_unix": 1789970940.1059265, + "started_at_unix": 1790057243.577041, "bytes_sent": 333, "bytes_received": 0, "request_id": null, @@ -2857,9 +2857,9 @@ { "kind": "notification", "method": "textDocument/didClose", - "duration_ms": 0.02914399999554007, + "duration_ms": 0.020148000032804703, "success": true, - "started_at_unix": 1789970940.1060584, + "started_at_unix": 1790057243.5771897, "bytes_sent": 212, "bytes_received": 0, "request_id": null, @@ -2872,9 +2872,9 @@ { "kind": "request", "method": "shutdown", - "duration_ms": 0.13449099998297243, + "duration_ms": 0.1264269999978751, "success": true, - "started_at_unix": 1789970940.1060982, + "started_at_unix": 1790057243.577218, "bytes_sent": 67, "bytes_received": 61, "request_id": 32, @@ -2892,9 +2892,9 @@ { "kind": "notification", "method": "exit", - "duration_ms": 0.022752999996100698, + "duration_ms": 0.020679000044765417, "success": true, - "started_at_unix": 1789970940.1062481, + "started_at_unix": 1790057243.5773616, "bytes_sent": 55, "bytes_received": 0, "request_id": null, @@ -2916,7 +2916,7 @@ "environment_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/django/.venv", "python_executable": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/django/.venv/bin/python", "success": true, - "total_duration_ms": 319.38959400000044, + "total_duration_ms": 304.90696399999706, "error_message": null, "summary": { "request_count": 32, @@ -2925,11 +2925,11 @@ "failure_count": 0, "bytes_sent": 18652, "bytes_received": 121793, - "min_ms": 0.19286899998860463, - "max_ms": 129.6985980000045, - "mean_ms": 9.512381906248812, - "median_ms": 2.5346589999912794, - "p95_ms": 45.98989304999175, + "min_ms": 0.1403219999929206, + "max_ms": 126.29654200003415, + "mean_ms": 9.069893562498876, + "median_ms": 2.860621000024821, + "p95_ms": 41.852526749965996, "result_summary": { "present_count": 31, "empty_count": 1, @@ -2984,27 +2984,27 @@ "by_method": { "textDocument/completion": { "point_count": 2, - "min_ms": 1.0107729999901949, - "max_ms": 79.45509900000047, - "mean_ms": 10.306991099997731, - "median_ms": 2.0039225000090255, - "p95_ms": 46.53590475000008 + "min_ms": 0.825945999963551, + "max_ms": 77.07236799996053, + "mean_ms": 9.574334300003784, + "median_ms": 2.0133875000283297, + "p95_ms": 44.40066384998992 }, "textDocument/hover": { "point_count": 2, - "min_ms": 0.619173000018236, - "max_ms": 5.950091000016755, - "mean_ms": 2.2278980000066895, - "median_ms": 1.3577689999948461, - "p95_ms": 5.617770950010481 + "min_ms": 0.6152199999860386, + "max_ms": 5.06402500002423, + "mean_ms": 2.426406699993322, + "median_ms": 2.8956864999827303, + "p95_ms": 5.0474920000056045 }, "textDocument/definition": { "point_count": 1, - "min_ms": 0.19286899998860463, - "max_ms": 7.615493999992395, - "mean_ms": 2.8332167999963076, - "median_ms": 2.2010689999945043, - "p95_ms": 6.667087599993237 + "min_ms": 0.23644200001626814, + "max_ms": 3.651986000022589, + "mean_ms": 1.9659598000089318, + "median_ms": 2.7596580000022186, + "p95_ms": 3.5100280000165185 } }, "validation": { @@ -3030,11 +3030,11 @@ "failure_count": 0, "bytes_sent": 1385, "bytes_received": 4505, - "min_ms": 1.0107729999901949, - "max_ms": 79.45509900000047, - "mean_ms": 18.471413599996822, - "median_ms": 2.849548000000368, - "p95_ms": 64.82434600000032, + "min_ms": 0.825945999963551, + "max_ms": 77.07236799996053, + "mean_ms": 17.335305799986145, + "median_ms": 2.8690720000099645, + "p95_ms": 62.26928899995981, "result_summary": { "present_count": 5, "empty_count": 0, @@ -3094,9 +3094,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 129.6985980000045, + "duration_ms": 126.29654200003415, "success": true, - "started_at_unix": 1789970940.1321692, + "started_at_unix": 1790057243.600902, "bytes_sent": 277, "bytes_received": 901, "request_id": 2, @@ -3124,9 +3124,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 79.45509900000047, + "duration_ms": 77.07236799996053, "success": true, - "started_at_unix": 1789970940.2620087, + "started_at_unix": 1790057243.7273176, "bytes_sent": 277, "bytes_received": 901, "request_id": 3, @@ -3154,9 +3154,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 6.30133399999977, + "duration_ms": 0.825945999963551, "success": true, - "started_at_unix": 1789970940.341634, + "started_at_unix": 1790057243.804611, "bytes_sent": 277, "bytes_received": 901, "request_id": 4, @@ -3184,9 +3184,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 2.7403139999933046, + "duration_ms": 3.0569729999569972, "success": true, - "started_at_unix": 1789970940.3481672, + "started_at_unix": 1790057243.8056455, "bytes_sent": 277, "bytes_received": 901, "request_id": 5, @@ -3214,9 +3214,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 2.849548000000368, + "duration_ms": 2.8690720000099645, "success": true, - "started_at_unix": 1789970940.3510628, + "started_at_unix": 1790057243.8088527, "bytes_sent": 277, "bytes_received": 901, "request_id": 6, @@ -3244,9 +3244,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 1.0107729999901949, + "duration_ms": 2.8521700000396777, "success": true, - "started_at_unix": 1789970940.354066, + "started_at_unix": 1790057243.8118575, "bytes_sent": 277, "bytes_received": 901, "request_id": 7, @@ -3289,11 +3289,11 @@ "failure_count": 0, "bytes_sent": 1224, "bytes_received": 2159, - "min_ms": 1.132229000006646, - "max_ms": 5.950091000016755, - "mean_ms": 2.8875960000050327, - "median_ms": 2.864645000016708, - "p95_ms": 5.341614000013806, + "min_ms": 2.884059999985311, + "max_ms": 5.0272849999828395, + "mean_ms": 3.3318827999778478, + "median_ms": 2.91568899996264, + "p95_ms": 4.606841399981931, "result_summary": { "present_count": 5, "empty_count": 0, @@ -3353,9 +3353,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 18.60926999998469, + "duration_ms": 12.624603999995543, "success": true, - "started_at_unix": 1789970940.3553598, + "started_at_unix": 1790057243.8149972, "bytes_sent": 244, "bytes_received": 431, "request_id": 8, @@ -3383,9 +3383,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 1.5833089999830463, + "duration_ms": 5.0272849999828395, "success": true, - "started_at_unix": 1789970940.3740745, + "started_at_unix": 1790057243.827689, "bytes_sent": 244, "bytes_received": 431, "request_id": 9, @@ -3413,9 +3413,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 1.132229000006646, + "duration_ms": 2.884059999985311, "success": true, - "started_at_unix": 1789970940.3757503, + "started_at_unix": 1790057243.8328, "bytes_sent": 245, "bytes_received": 432, "request_id": 10, @@ -3443,9 +3443,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 5.950091000016755, + "duration_ms": 2.91568899996264, "success": true, - "started_at_unix": 1789970940.3769639, + "started_at_unix": 1790057243.8357666, "bytes_sent": 245, "bytes_received": 432, "request_id": 11, @@ -3473,9 +3473,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 2.864645000016708, + "duration_ms": 2.9250669999782986, "success": true, - "started_at_unix": 1789970940.3830183, + "started_at_unix": 1790057243.8387644, "bytes_sent": 245, "bytes_received": 432, "request_id": 12, @@ -3503,9 +3503,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 2.9077060000020083, + "duration_ms": 2.9073129999801495, "success": true, - "started_at_unix": 1789970940.385969, + "started_at_unix": 1790057243.8417702, "bytes_sent": 245, "bytes_received": 432, "request_id": 13, @@ -3548,11 +3548,11 @@ "failure_count": 0, "bytes_sent": 1250, "bytes_received": 1175, - "min_ms": 0.19286899998860463, - "max_ms": 7.615493999992395, - "mean_ms": 2.8332167999963076, - "median_ms": 2.2010689999945043, - "p95_ms": 6.667087599993237, + "min_ms": 0.23644200001626814, + "max_ms": 3.651986000022589, + "mean_ms": 1.9659598000089318, + "median_ms": 2.7596580000022186, + "p95_ms": 3.5100280000165185, "result_summary": { "present_count": 5, "empty_count": 0, @@ -3612,9 +3612,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 2.8361119999829043, + "duration_ms": 1.259894999975586, "success": true, - "started_at_unix": 1789970940.3890958, + "started_at_unix": 1790057243.8448784, "bytes_sent": 250, "bytes_received": 235, "request_id": 14, @@ -3642,9 +3642,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 2.873461999996607, + "duration_ms": 3.651986000022589, "success": true, - "started_at_unix": 1789970940.3920038, + "started_at_unix": 1790057243.8461983, "bytes_sent": 250, "bytes_received": 235, "request_id": 15, @@ -3672,9 +3672,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.2831900000094265, + "duration_ms": 2.7596580000022186, "success": true, - "started_at_unix": 1789970940.3949592, + "started_at_unix": 1790057243.8499336, "bytes_sent": 250, "bytes_received": 235, "request_id": 16, @@ -3702,9 +3702,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 7.615493999992395, + "duration_ms": 2.9421959999922365, "success": true, - "started_at_unix": 1789970940.3962946, + "started_at_unix": 1790057243.8527749, "bytes_sent": 250, "bytes_received": 235, "request_id": 17, @@ -3732,9 +3732,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 2.2010689999945043, + "duration_ms": 0.23951700001134668, "success": true, - "started_at_unix": 1789970940.4039872, + "started_at_unix": 1790057243.8557994, "bytes_sent": 250, "bytes_received": 235, "request_id": 18, @@ -3762,9 +3762,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.19286899998860463, + "duration_ms": 0.23644200001626814, "success": true, - "started_at_unix": 1789970940.4062786, + "started_at_unix": 1790057243.8561509, "bytes_sent": 250, "bytes_received": 235, "request_id": 19, @@ -3807,11 +3807,11 @@ "failure_count": 0, "bytes_sent": 1390, "bytes_received": 87535, - "min_ms": 1.1925709999900391, - "max_ms": 5.790243999996392, - "mean_ms": 2.14256859999864, - "median_ms": 1.2367740000058802, - "p95_ms": 4.885701400002062, + "min_ms": 1.1283380000008947, + "max_ms": 4.468581000026006, + "mean_ms": 1.813362800021423, + "median_ms": 1.1479860000349618, + "p95_ms": 3.8097858000242004, "result_summary": { "present_count": 5, "empty_count": 0, @@ -3871,9 +3871,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 3.82566599998313, + "duration_ms": 13.036292999970556, "success": true, - "started_at_unix": 1789970940.4067807, + "started_at_unix": 1790057243.8567548, "bytes_sent": 278, "bytes_received": 17507, "request_id": 20, @@ -3901,9 +3901,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 1.2675310000247464, + "duration_ms": 4.468581000026006, "success": true, - "started_at_unix": 1789970940.4109578, + "started_at_unix": 1790057243.8702018, "bytes_sent": 278, "bytes_received": 17507, "request_id": 21, @@ -3931,9 +3931,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 1.2367740000058802, + "duration_ms": 1.1473040000282708, "success": true, - "started_at_unix": 1789970940.4126801, + "started_at_unix": 1790057243.8751504, "bytes_sent": 278, "bytes_received": 17507, "request_id": 22, @@ -3961,9 +3961,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 1.225722999976142, + "duration_ms": 1.1283380000008947, "success": true, - "started_at_unix": 1789970940.4143429, + "started_at_unix": 1790057243.876778, "bytes_sent": 278, "bytes_received": 17507, "request_id": 23, @@ -3991,9 +3991,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 1.1925709999900391, + "duration_ms": 1.1746050000169816, "success": true, - "started_at_unix": 1789970940.4160156, + "started_at_unix": 1790057243.878349, "bytes_sent": 278, "bytes_received": 17507, "request_id": 24, @@ -4021,9 +4021,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 5.790243999996392, + "duration_ms": 1.1479860000349618, "success": true, - "started_at_unix": 1789970940.4176333, + "started_at_unix": 1790057243.880006, "bytes_sent": 278, "bytes_received": 17507, "request_id": 25, @@ -4066,11 +4066,11 @@ "failure_count": 0, "bytes_sent": 1225, "bytes_received": 4975, - "min_ms": 0.619173000018236, - "max_ms": 5.211602000002813, - "mean_ms": 1.5682000000083463, - "median_ms": 0.6880020000039622, - "p95_ms": 4.307615400000485, + "min_ms": 0.6152199999860386, + "max_ms": 5.06402500002423, + "mean_ms": 1.5209306000087963, + "median_ms": 0.6340850000015053, + "p95_ms": 4.185392800025055, "result_summary": { "present_count": 5, "empty_count": 0, @@ -4130,9 +4130,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 5.874945999977399, + "duration_ms": 4.89936700000726, "success": true, - "started_at_unix": 1789970940.4241958, + "started_at_unix": 1790057243.881846, "bytes_sent": 245, "bytes_received": 995, "request_id": 26, @@ -4160,9 +4160,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 5.211602000002813, + "duration_ms": 5.06402500002423, "success": true, - "started_at_unix": 1789970940.4302406, + "started_at_unix": 1790057243.8868706, "bytes_sent": 245, "bytes_received": 995, "request_id": 27, @@ -4190,9 +4190,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.6916689999911796, + "duration_ms": 0.6708640000283594, "success": true, - "started_at_unix": 1789970940.4356039, + "started_at_unix": 1790057243.8920486, "bytes_sent": 245, "bytes_received": 995, "request_id": 28, @@ -4220,9 +4220,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.6880020000039622, + "duration_ms": 0.6152199999860386, "success": true, - "started_at_unix": 1789970940.436412, + "started_at_unix": 1790057243.89282, "bytes_sent": 245, "bytes_received": 995, "request_id": 29, @@ -4250,9 +4250,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.6305540000255405, + "duration_ms": 0.6204590000038479, "success": true, - "started_at_unix": 1789970940.4371963, + "started_at_unix": 1790057243.893531, "bytes_sent": 245, "bytes_received": 995, "request_id": 30, @@ -4280,9 +4280,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.619173000018236, + "duration_ms": 0.6340850000015053, "success": true, - "started_at_unix": 1789970940.4379206, + "started_at_unix": 1790057243.8942435, "bytes_sent": 245, "bytes_received": 995, "request_id": 31, @@ -4314,9 +4314,9 @@ { "kind": "request", "method": "initialize", - "duration_ms": 2.3290039999892542, + "duration_ms": 2.1423619999723087, "success": true, - "started_at_unix": 1789970940.1295342, + "started_at_unix": 1790057243.5984862, "bytes_sent": 655, "bytes_received": 1314, "request_id": 1, @@ -4335,9 +4335,9 @@ { "kind": "notification", "method": "initialized", - "duration_ms": 0.022161999993386416, + "duration_ms": 0.02144100000123217, "success": true, - "started_at_unix": 1789970940.1319494, + "started_at_unix": 1790057243.6007066, "bytes_sent": 74, "bytes_received": 0, "request_id": null, @@ -4350,9 +4350,9 @@ { "kind": "notification", "method": "workspace/didChangeConfiguration", - "duration_ms": 0.023894999998219646, + "duration_ms": 0.015087999997831503, "success": true, - "started_at_unix": 1789970940.1319933, + "started_at_unix": 1790057243.600748, "bytes_sent": 635, "bytes_received": 0, "request_id": null, @@ -4368,9 +4368,9 @@ { "kind": "notification", "method": "textDocument/didOpen", - "duration_ms": 0.02220199999669603, + "duration_ms": 0.020749000043451815, "success": true, - "started_at_unix": 1789970940.1321104, + "started_at_unix": 1790057243.600849, "bytes_sent": 858, "bytes_received": 0, "request_id": null, @@ -4386,9 +4386,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 129.6985980000045, + "duration_ms": 126.29654200003415, "success": true, - "started_at_unix": 1789970940.1321692, + "started_at_unix": 1790057243.600902, "bytes_sent": 277, "bytes_received": 901, "request_id": 2, @@ -4416,9 +4416,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 79.45509900000047, + "duration_ms": 77.07236799996053, "success": true, - "started_at_unix": 1789970940.2620087, + "started_at_unix": 1790057243.7273176, "bytes_sent": 277, "bytes_received": 901, "request_id": 3, @@ -4446,9 +4446,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 6.30133399999977, + "duration_ms": 0.825945999963551, "success": true, - "started_at_unix": 1789970940.341634, + "started_at_unix": 1790057243.804611, "bytes_sent": 277, "bytes_received": 901, "request_id": 4, @@ -4476,9 +4476,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 2.7403139999933046, + "duration_ms": 3.0569729999569972, "success": true, - "started_at_unix": 1789970940.3481672, + "started_at_unix": 1790057243.8056455, "bytes_sent": 277, "bytes_received": 901, "request_id": 5, @@ -4506,9 +4506,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 2.849548000000368, + "duration_ms": 2.8690720000099645, "success": true, - "started_at_unix": 1789970940.3510628, + "started_at_unix": 1790057243.8088527, "bytes_sent": 277, "bytes_received": 901, "request_id": 6, @@ -4536,9 +4536,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 1.0107729999901949, + "duration_ms": 2.8521700000396777, "success": true, - "started_at_unix": 1789970940.354066, + "started_at_unix": 1790057243.8118575, "bytes_sent": 277, "bytes_received": 901, "request_id": 7, @@ -4566,9 +4566,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 18.60926999998469, + "duration_ms": 12.624603999995543, "success": true, - "started_at_unix": 1789970940.3553598, + "started_at_unix": 1790057243.8149972, "bytes_sent": 244, "bytes_received": 431, "request_id": 8, @@ -4596,9 +4596,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 1.5833089999830463, + "duration_ms": 5.0272849999828395, "success": true, - "started_at_unix": 1789970940.3740745, + "started_at_unix": 1790057243.827689, "bytes_sent": 244, "bytes_received": 431, "request_id": 9, @@ -4626,9 +4626,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 1.132229000006646, + "duration_ms": 2.884059999985311, "success": true, - "started_at_unix": 1789970940.3757503, + "started_at_unix": 1790057243.8328, "bytes_sent": 245, "bytes_received": 432, "request_id": 10, @@ -4656,9 +4656,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 5.950091000016755, + "duration_ms": 2.91568899996264, "success": true, - "started_at_unix": 1789970940.3769639, + "started_at_unix": 1790057243.8357666, "bytes_sent": 245, "bytes_received": 432, "request_id": 11, @@ -4686,9 +4686,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 2.864645000016708, + "duration_ms": 2.9250669999782986, "success": true, - "started_at_unix": 1789970940.3830183, + "started_at_unix": 1790057243.8387644, "bytes_sent": 245, "bytes_received": 432, "request_id": 12, @@ -4716,9 +4716,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 2.9077060000020083, + "duration_ms": 2.9073129999801495, "success": true, - "started_at_unix": 1789970940.385969, + "started_at_unix": 1790057243.8417702, "bytes_sent": 245, "bytes_received": 432, "request_id": 13, @@ -4746,9 +4746,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 2.8361119999829043, + "duration_ms": 1.259894999975586, "success": true, - "started_at_unix": 1789970940.3890958, + "started_at_unix": 1790057243.8448784, "bytes_sent": 250, "bytes_received": 235, "request_id": 14, @@ -4776,9 +4776,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 2.873461999996607, + "duration_ms": 3.651986000022589, "success": true, - "started_at_unix": 1789970940.3920038, + "started_at_unix": 1790057243.8461983, "bytes_sent": 250, "bytes_received": 235, "request_id": 15, @@ -4806,9 +4806,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.2831900000094265, + "duration_ms": 2.7596580000022186, "success": true, - "started_at_unix": 1789970940.3949592, + "started_at_unix": 1790057243.8499336, "bytes_sent": 250, "bytes_received": 235, "request_id": 16, @@ -4836,9 +4836,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 7.615493999992395, + "duration_ms": 2.9421959999922365, "success": true, - "started_at_unix": 1789970940.3962946, + "started_at_unix": 1790057243.8527749, "bytes_sent": 250, "bytes_received": 235, "request_id": 17, @@ -4866,9 +4866,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 2.2010689999945043, + "duration_ms": 0.23951700001134668, "success": true, - "started_at_unix": 1789970940.4039872, + "started_at_unix": 1790057243.8557994, "bytes_sent": 250, "bytes_received": 235, "request_id": 18, @@ -4896,9 +4896,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.19286899998860463, + "duration_ms": 0.23644200001626814, "success": true, - "started_at_unix": 1789970940.4062786, + "started_at_unix": 1790057243.8561509, "bytes_sent": 250, "bytes_received": 235, "request_id": 19, @@ -4926,9 +4926,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.06295800000089002, + "duration_ms": 0.03971399996771652, "success": true, - "started_at_unix": 1789970940.406683, + "started_at_unix": 1790057243.8566992, "bytes_sent": 372, "bytes_received": 0, "request_id": null, @@ -4945,9 +4945,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 3.82566599998313, + "duration_ms": 13.036292999970556, "success": true, - "started_at_unix": 1789970940.4067807, + "started_at_unix": 1790057243.8567548, "bytes_sent": 278, "bytes_received": 17507, "request_id": 20, @@ -4975,9 +4975,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.026959999985365357, + "duration_ms": 0.032320999991952704, "success": true, - "started_at_unix": 1789970940.4109015, + "started_at_unix": 1790057243.8701146, "bytes_sent": 322, "bytes_received": 0, "request_id": null, @@ -4994,9 +4994,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.01349499999037107, + "duration_ms": 0.02906400004576426, "success": true, - "started_at_unix": 1789970940.4109368, + "started_at_unix": 1790057243.8701603, "bytes_sent": 372, "bytes_received": 0, "request_id": null, @@ -5013,9 +5013,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 1.2675310000247464, + "duration_ms": 4.468581000026006, "success": true, - "started_at_unix": 1789970940.4109578, + "started_at_unix": 1790057243.8702018, "bytes_sent": 278, "bytes_received": 17507, "request_id": 21, @@ -5043,9 +5043,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.022241000010581047, + "duration_ms": 0.026600000012422242, "success": true, - "started_at_unix": 1789970940.412631, + "started_at_unix": 1790057243.8750756, "bytes_sent": 322, "bytes_received": 0, "request_id": null, @@ -5062,9 +5062,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.012463000018669845, + "duration_ms": 0.024706000033347664, "success": true, - "started_at_unix": 1789970940.4126608, + "started_at_unix": 1790057243.8751132, "bytes_sent": 372, "bytes_received": 0, "request_id": null, @@ -5081,9 +5081,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 1.2367740000058802, + "duration_ms": 1.1473040000282708, "success": true, - "started_at_unix": 1789970940.4126801, + "started_at_unix": 1790057243.8751504, "bytes_sent": 278, "bytes_received": 17507, "request_id": 22, @@ -5111,9 +5111,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02211099999271937, + "duration_ms": 0.026619999971444486, "success": true, - "started_at_unix": 1789970940.4142947, + "started_at_unix": 1790057243.8767035, "bytes_sent": 322, "bytes_received": 0, "request_id": null, @@ -5130,9 +5130,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.012462999990248136, + "duration_ms": 0.02517699999771139, "success": true, - "started_at_unix": 1789970940.414324, + "started_at_unix": 1790057243.8767412, "bytes_sent": 372, "bytes_received": 0, "request_id": null, @@ -5149,9 +5149,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 1.225722999976142, + "duration_ms": 1.1283380000008947, "success": true, - "started_at_unix": 1789970940.4143429, + "started_at_unix": 1790057243.876778, "bytes_sent": 278, "bytes_received": 17507, "request_id": 23, @@ -5179,9 +5179,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.021970999995346574, + "duration_ms": 0.024886999995032966, "success": true, - "started_at_unix": 1789970940.4159684, + "started_at_unix": 1790057243.8782778, "bytes_sent": 322, "bytes_received": 0, "request_id": null, @@ -5198,9 +5198,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.01183199998422424, + "duration_ms": 0.024897000002965797, "success": true, - "started_at_unix": 1789970940.4159973, + "started_at_unix": 1790057243.8783133, "bytes_sent": 373, "bytes_received": 0, "request_id": null, @@ -5217,9 +5217,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 1.1925709999900391, + "duration_ms": 1.1746050000169816, "success": true, - "started_at_unix": 1789970940.4160156, + "started_at_unix": 1790057243.878349, "bytes_sent": 278, "bytes_received": 17507, "request_id": 24, @@ -5247,9 +5247,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.021069000013085315, + "duration_ms": 0.0250769999752265, "success": true, - "started_at_unix": 1789970940.4175875, + "started_at_unix": 1790057243.879935, "bytes_sent": 323, "bytes_received": 0, "request_id": null, @@ -5266,9 +5266,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.011801999988847456, + "duration_ms": 0.024445999997624313, "success": true, - "started_at_unix": 1789970940.4176152, + "started_at_unix": 1790057243.8799703, "bytes_sent": 373, "bytes_received": 0, "request_id": null, @@ -5285,9 +5285,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 5.790243999996392, + "duration_ms": 1.1479860000349618, "success": true, - "started_at_unix": 1789970940.4176333, + "started_at_unix": 1790057243.880006, "bytes_sent": 278, "bytes_received": 17507, "request_id": 25, @@ -5315,9 +5315,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.024976999981163317, + "duration_ms": 0.02681000000848144, "success": true, - "started_at_unix": 1789970940.4238997, + "started_at_unix": 1790057243.8815355, "bytes_sent": 323, "bytes_received": 0, "request_id": null, @@ -5334,9 +5334,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.0323909999906391, + "duration_ms": 0.030646999960026733, "success": true, - "started_at_unix": 1789970940.4241486, + "started_at_unix": 1790057243.8818018, "bytes_sent": 372, "bytes_received": 0, "request_id": null, @@ -5353,9 +5353,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 5.874945999977399, + "duration_ms": 4.89936700000726, "success": true, - "started_at_unix": 1789970940.4241958, + "started_at_unix": 1790057243.881846, "bytes_sent": 245, "bytes_received": 995, "request_id": 26, @@ -5383,9 +5383,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03800100000717066, + "duration_ms": 0.02681000000848144, "success": true, - "started_at_unix": 1789970940.430132, + "started_at_unix": 1790057243.88679, "bytes_sent": 323, "bytes_received": 0, "request_id": null, @@ -5402,9 +5402,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.04270900001301925, + "duration_ms": 0.030687000048601476, "success": true, - "started_at_unix": 1789970940.4301832, + "started_at_unix": 1790057243.886828, "bytes_sent": 372, "bytes_received": 0, "request_id": null, @@ -5421,9 +5421,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 5.211602000002813, + "duration_ms": 5.06402500002423, "success": true, - "started_at_unix": 1789970940.4302406, + "started_at_unix": 1790057243.8868706, "bytes_sent": 245, "bytes_received": 995, "request_id": 27, @@ -5451,9 +5451,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.028932999981634566, + "duration_ms": 0.023553999994874175, "success": true, - "started_at_unix": 1789970940.435523, + "started_at_unix": 1790057243.8919952, "bytes_sent": 323, "bytes_received": 0, "request_id": null, @@ -5470,9 +5470,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.025887999981932808, + "duration_ms": 0.014356999997744424, "success": true, - "started_at_unix": 1789970940.4355638, + "started_at_unix": 1790057243.8920267, "bytes_sent": 372, "bytes_received": 0, "request_id": null, @@ -5489,9 +5489,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.6916689999911796, + "duration_ms": 0.6708640000283594, "success": true, - "started_at_unix": 1789970940.4356039, + "started_at_unix": 1790057243.8920486, "bytes_sent": 245, "bytes_received": 995, "request_id": 28, @@ -5519,9 +5519,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.020667999990564567, + "duration_ms": 0.021069000013085315, "success": true, - "started_at_unix": 1789970940.4363635, + "started_at_unix": 1790057243.8927724, "bytes_sent": 323, "bytes_received": 0, "request_id": null, @@ -5538,9 +5538,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.014276000001700595, + "duration_ms": 0.013104000004204863, "success": true, - "started_at_unix": 1789970940.4363914, + "started_at_unix": 1790057243.8928003, "bytes_sent": 372, "bytes_received": 0, "request_id": null, @@ -5557,9 +5557,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.6880020000039622, + "duration_ms": 0.6152199999860386, "success": true, - "started_at_unix": 1789970940.436412, + "started_at_unix": 1790057243.89282, "bytes_sent": 245, "bytes_received": 995, "request_id": 29, @@ -5587,9 +5587,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.01963700000828794, + "duration_ms": 0.020066999979917455, "success": true, - "started_at_unix": 1789970940.4371512, + "started_at_unix": 1790057243.8934855, "bytes_sent": 323, "bytes_received": 0, "request_id": null, @@ -5606,9 +5606,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.011951999994153084, + "duration_ms": 0.012342999980319291, "success": true, - "started_at_unix": 1789970940.4371774, + "started_at_unix": 1790057243.8935125, "bytes_sent": 372, "bytes_received": 0, "request_id": null, @@ -5625,9 +5625,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.6305540000255405, + "duration_ms": 0.6204590000038479, "success": true, - "started_at_unix": 1789970940.4371963, + "started_at_unix": 1790057243.893531, "bytes_sent": 245, "bytes_received": 995, "request_id": 30, @@ -5655,9 +5655,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.01887500002339948, + "duration_ms": 0.019566999981179833, "success": true, - "started_at_unix": 1789970940.4378765, + "started_at_unix": 1790057243.894199, "bytes_sent": 323, "bytes_received": 0, "request_id": null, @@ -5674,9 +5674,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.012473999987605566, + "duration_ms": 0.013193999961913505, "success": true, - "started_at_unix": 1789970940.437902, + "started_at_unix": 1790057243.8942246, "bytes_sent": 372, "bytes_received": 0, "request_id": null, @@ -5693,9 +5693,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.619173000018236, + "duration_ms": 0.6340850000015053, "success": true, - "started_at_unix": 1789970940.4379206, + "started_at_unix": 1790057243.8942435, "bytes_sent": 245, "bytes_received": 995, "request_id": 31, @@ -5723,9 +5723,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.01993699999047749, + "duration_ms": 0.020648999964123504, "success": true, - "started_at_unix": 1789970940.438587, + "started_at_unix": 1790057243.8949237, "bytes_sent": 323, "bytes_received": 0, "request_id": null, @@ -5742,9 +5742,9 @@ { "kind": "notification", "method": "textDocument/didClose", - "duration_ms": 0.03906300000267038, + "duration_ms": 0.03781099997013371, "success": true, - "started_at_unix": 1789970940.438709, + "started_at_unix": 1790057243.8950303, "bytes_sent": 202, "bytes_received": 0, "request_id": null, @@ -5757,9 +5757,9 @@ { "kind": "request", "method": "shutdown", - "duration_ms": 1.7076500000143824, + "duration_ms": 0.1403219999929206, "success": true, - "started_at_unix": 1789970940.4387817, + "started_at_unix": 1790057243.8950787, "bytes_sent": 67, "bytes_received": 61, "request_id": 32, @@ -5777,9 +5777,9 @@ { "kind": "notification", "method": "exit", - "duration_ms": 0.02955499999757194, + "duration_ms": 0.0259889999938423, "success": true, - "started_at_unix": 1789970940.4405122, + "started_at_unix": 1790057243.8952372, "bytes_sent": 55, "bytes_received": 0, "request_id": null, @@ -5801,7 +5801,7 @@ "environment_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/.venv", "python_executable": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/.venv/bin/python", "success": true, - "total_duration_ms": 1146.2053879999985, + "total_duration_ms": 1107.997509000029, "error_message": null, "summary": { "request_count": 32, @@ -5810,11 +5810,11 @@ "failure_count": 0, "bytes_sent": 18582, "bytes_received": 1247873, - "min_ms": 0.17579799998657109, - "max_ms": 488.1773399999929, - "mean_ms": 34.12507324999847, - "median_ms": 3.2391625000087743, - "p95_ms": 135.0561755000071, + "min_ms": 0.1393610000377521, + "max_ms": 419.7918110000387, + "mean_ms": 32.9450326250047, + "median_ms": 3.3461685000020225, + "p95_ms": 142.35531489999846, "result_summary": { "present_count": 31, "empty_count": 1, @@ -5869,27 +5869,27 @@ "by_method": { "textDocument/completion": { "point_count": 2, - "min_ms": 0.31968800001891395, - "max_ms": 488.1773399999929, - "mean_ms": 63.9886851, - "median_ms": 15.346016999998824, - "p95_ms": 293.78419664999126 + "min_ms": 0.28537399998640467, + "max_ms": 419.7918110000387, + "mean_ms": 62.83796280000615, + "median_ms": 19.12900100001025, + "p95_ms": 261.47801525003405 }, "textDocument/hover": { "point_count": 2, - "min_ms": 0.8388419999789676, - "max_ms": 27.050511999988203, - "mean_ms": 5.514419599990106, - "median_ms": 2.7849719999863964, - "p95_ms": 17.58840564998534 + "min_ms": 0.6115169999816317, + "max_ms": 7.90168700001459, + "mean_ms": 2.9688508999981877, + "median_ms": 2.265037999990227, + "p95_ms": 6.9841235000183115 }, "textDocument/definition": { "point_count": 1, - "min_ms": 0.2793299999837018, - "max_ms": 3.560260000000426, - "mean_ms": 2.316428000005999, - "median_ms": 2.9154100000141625, - "p95_ms": 3.431821000003765 + "min_ms": 2.8623890000289975, + "max_ms": 2.9233330000124624, + "mean_ms": 2.900623000004998, + "median_ms": 2.9154889999745137, + "p95_ms": 2.9225958000097307 } }, "validation": { @@ -5915,11 +5915,11 @@ "failure_count": 0, "bytes_sent": 1395, "bytes_received": 4875, - "min_ms": 0.31968800001891395, - "max_ms": 488.1773399999929, - "mean_ms": 99.11174060000008, - "median_ms": 2.8845699999919816, - "p95_ms": 391.312677199994, + "min_ms": 0.28537399998640467, + "max_ms": 419.7918110000387, + "mean_ms": 85.14217880000388, + "median_ms": 0.3284239999743477, + "p95_ms": 336.83487840003176, "result_summary": { "present_count": 5, "empty_count": 0, @@ -5979,9 +5979,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 218.67993000000752, + "duration_ms": 215.16263300003402, "success": true, - "started_at_unix": 1789970940.4659746, + "started_at_unix": 1790057243.9191806, "bytes_sent": 279, "bytes_received": 975, "request_id": 2, @@ -6009,9 +6009,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 488.1773399999929, + "duration_ms": 419.7918110000387, "success": true, - "started_at_unix": 1789970940.6848269, + "started_at_unix": 1790057244.1344473, "bytes_sent": 279, "bytes_received": 975, "request_id": 3, @@ -6039,9 +6039,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 0.31968800001891395, + "duration_ms": 0.3284239999743477, "success": true, - "started_at_unix": 1789970941.1731417, + "started_at_unix": 1790057244.5543733, "bytes_sent": 279, "bytes_received": 975, "request_id": 4, @@ -6069,9 +6069,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 0.3230789999975059, + "duration_ms": 0.29813700001568577, "success": true, - "started_at_unix": 1789970941.1735938, + "started_at_unix": 1790057244.5548265, "bytes_sent": 279, "bytes_received": 975, "request_id": 5, @@ -6099,9 +6099,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 2.8845699999919816, + "duration_ms": 0.28537399998640467, "success": true, - "started_at_unix": 1789970941.1740031, + "started_at_unix": 1790057244.5552077, "bytes_sent": 279, "bytes_received": 975, "request_id": 6, @@ -6129,9 +6129,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 3.8540259999990667, + "duration_ms": 5.007148000004236, "success": true, - "started_at_unix": 1789970941.1770341, + "started_at_unix": 1790057244.5555997, "bytes_sent": 279, "bytes_received": 975, "request_id": 7, @@ -6174,11 +6174,11 @@ "failure_count": 0, "bytes_sent": 1234, "bytes_received": 14509, - "min_ms": 2.766762999982575, - "max_ms": 6.023608999981889, - "mean_ms": 4.6672365999882, - "median_ms": 5.8644920000006096, - "p95_ms": 5.994514799982653, + "min_ms": 3.7690039999915825, + "max_ms": 7.90168700001459, + "mean_ms": 5.2637154000080955, + "median_ms": 4.801402999987658, + "p95_ms": 7.493881000016244, "result_summary": { "present_count": 5, "empty_count": 0, @@ -6238,9 +6238,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 66.63674000000697, + "duration_ms": 61.845796000000064, "success": true, - "started_at_unix": 1789970941.1811786, + "started_at_unix": 1790057244.5608904, "bytes_sent": 246, "bytes_received": 2901, "request_id": 8, @@ -6268,9 +6268,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 6.023608999981889, + "duration_ms": 5.862657000022864, "success": true, - "started_at_unix": 1789970941.2479496, + "started_at_unix": 1790057244.6228569, "bytes_sent": 246, "bytes_received": 2901, "request_id": 9, @@ -6298,9 +6298,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 2.766762999982575, + "duration_ms": 3.7690039999915825, "success": true, - "started_at_unix": 1789970941.2541275, + "started_at_unix": 1790057244.6288571, "bytes_sent": 247, "bytes_received": 2902, "request_id": 10, @@ -6328,9 +6328,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 5.878137999985711, + "duration_ms": 7.90168700001459, "success": true, - "started_at_unix": 1789970941.2570648, + "started_at_unix": 1790057244.6327794, "bytes_sent": 247, "bytes_received": 2902, "request_id": 11, @@ -6358,9 +6358,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 2.803180999990218, + "duration_ms": 4.801402999987658, "success": true, - "started_at_unix": 1789970941.2631032, + "started_at_unix": 1790057244.6408062, "bytes_sent": 247, "bytes_received": 2902, "request_id": 12, @@ -6388,9 +6388,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 5.8644920000006096, + "duration_ms": 3.9838260000237824, "success": true, - "started_at_unix": 1789970941.266041, + "started_at_unix": 1790057244.64573, "bytes_sent": 247, "bytes_received": 2902, "request_id": 13, @@ -6433,11 +6433,11 @@ "failure_count": 0, "bytes_sent": 1260, "bytes_received": 1185, - "min_ms": 0.2793299999837018, - "max_ms": 3.560260000000426, - "mean_ms": 2.316428000005999, - "median_ms": 2.9154100000141625, - "p95_ms": 3.431821000003765, + "min_ms": 2.8623890000289975, + "max_ms": 2.9233330000124624, + "mean_ms": 2.900623000004998, + "median_ms": 2.9154889999745137, + "p95_ms": 2.9225958000097307, "result_summary": { "present_count": 5, "empty_count": 0, @@ -6497,9 +6497,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 2.6921740000034333, + "duration_ms": 0.7950660000233256, "success": true, - "started_at_unix": 1789970941.2722034, + "started_at_unix": 1790057244.6500072, "bytes_sent": 252, "bytes_received": 237, "request_id": 14, @@ -6527,9 +6527,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 2.9154100000141625, + "duration_ms": 2.8822570000102132, "success": true, - "started_at_unix": 1789970941.2749646, + "started_at_unix": 1790057244.6508672, "bytes_sent": 252, "bytes_received": 237, "request_id": 15, @@ -6557,9 +6557,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 2.9180650000171227, + "duration_ms": 2.8623890000289975, "success": true, - "started_at_unix": 1789970941.2779694, + "started_at_unix": 1790057244.6538284, "bytes_sent": 252, "bytes_received": 237, "request_id": 16, @@ -6587,9 +6587,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.2793299999837018, + "duration_ms": 2.9233330000124624, "success": true, - "started_at_unix": 1789970941.280975, + "started_at_unix": 1790057244.6567695, "bytes_sent": 252, "bytes_received": 237, "request_id": 17, @@ -6617,9 +6617,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 3.560260000000426, + "duration_ms": 2.919646999998804, "success": true, - "started_at_unix": 1789970941.2813306, + "started_at_unix": 1790057244.6597733, "bytes_sent": 252, "bytes_received": 237, "request_id": 18, @@ -6647,9 +6647,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.9090750000145817, + "duration_ms": 2.9154889999745137, "success": true, - "started_at_unix": 1789970941.2849844, + "started_at_unix": 1790057244.662775, "bytes_sent": 252, "bytes_received": 237, "request_id": 19, @@ -6692,11 +6692,11 @@ "failure_count": 0, "bytes_sent": 1400, "bytes_received": 1012745, - "min_ms": 13.782098999996606, - "max_ms": 56.19257699999025, - "mean_ms": 28.86562959999992, - "median_ms": 18.410309000017833, - "p95_ms": 52.760707199990975, + "min_ms": 10.110981000025276, + "max_ms": 67.98337600002924, + "mean_ms": 40.53374680000843, + "median_ms": 32.47787899999821, + "p95_ms": 67.17659620002223, "result_summary": { "present_count": 5, "empty_count": 0, @@ -6756,9 +6756,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 61.04638800002249, + "duration_ms": 82.78569099996957, "success": true, - "started_at_unix": 1789970941.2873187, + "started_at_unix": 1790057244.6661737, "bytes_sent": 280, "bytes_received": 202549, "request_id": 20, @@ -6786,9 +6786,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 13.782098999996606, + "duration_ms": 32.47787899999821, "success": true, - "started_at_unix": 1789970941.3516066, + "started_at_unix": 1790057244.7551425, "bytes_sent": 280, "bytes_received": 202549, "request_id": 21, @@ -6816,9 +6816,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 56.19257699999025, + "duration_ms": 67.98337600002924, "success": true, - "started_at_unix": 1789970941.370508, + "started_at_unix": 1790057244.7976758, "bytes_sent": 280, "bytes_received": 202549, "request_id": 22, @@ -6846,9 +6846,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 39.03322799999387, + "duration_ms": 63.949476999994204, "success": true, - "started_at_unix": 1789970941.436995, + "started_at_unix": 1790057244.8756816, "bytes_sent": 280, "bytes_received": 202549, "request_id": 23, @@ -6876,9 +6876,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 16.90993500000104, + "duration_ms": 28.14702099999522, "success": true, - "started_at_unix": 1789970941.4807074, + "started_at_unix": 1790057244.9496746, "bytes_sent": 280, "bytes_received": 202549, "request_id": 24, @@ -6906,9 +6906,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 18.410309000017833, + "duration_ms": 10.110981000025276, "success": true, - "started_at_unix": 1789970941.5023792, + "started_at_unix": 1790057244.980385, "bytes_sent": 280, "bytes_received": 202549, "request_id": 25, @@ -6951,11 +6951,11 @@ "failure_count": 0, "bytes_sent": 1235, "bytes_received": 5435, - "min_ms": 0.8388419999789676, - "max_ms": 27.050511999988203, - "mean_ms": 6.361602599992011, - "median_ms": 0.984853999995039, - "p95_ms": 22.04627559999039, + "min_ms": 0.6115169999816317, + "max_ms": 0.7610719999888715, + "mean_ms": 0.67398639998828, + "median_ms": 0.6384229999980562, + "p95_ms": 0.7570565999913015, "result_summary": { "present_count": 5, "empty_count": 0, @@ -7015,9 +7015,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 33.8663649999944, + "duration_ms": 18.593747000011263, "success": true, - "started_at_unix": 1789970941.5259485, + "started_at_unix": 1790057244.9932237, "bytes_sent": 247, "bytes_received": 1087, "request_id": 26, @@ -7045,9 +7045,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 2.029329999999163, + "duration_ms": 0.6384229999980562, "success": true, - "started_at_unix": 1789970941.5599842, + "started_at_unix": 1790057245.0119572, "bytes_sent": 247, "bytes_received": 1087, "request_id": 27, @@ -7075,9 +7075,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.984853999995039, + "duration_ms": 0.6179249999718195, "success": true, - "started_at_unix": 1789970941.5621686, + "started_at_unix": 1790057245.0127244, "bytes_sent": 247, "bytes_received": 1087, "request_id": 28, @@ -7105,9 +7105,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 27.050511999988203, + "duration_ms": 0.6115169999816317, "success": true, - "started_at_unix": 1789970941.563301, + "started_at_unix": 1790057245.0134673, "bytes_sent": 247, "bytes_received": 1087, "request_id": 29, @@ -7135,9 +7135,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.9044749999986834, + "duration_ms": 0.7409950000010213, "success": true, - "started_at_unix": 1789970941.590548, + "started_at_unix": 1790057245.0142078, "bytes_sent": 247, "bytes_received": 1087, "request_id": 30, @@ -7165,9 +7165,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.8388419999789676, + "duration_ms": 0.7610719999888715, "success": true, - "started_at_unix": 1789970941.5915983, + "started_at_unix": 1790057245.015081, "bytes_sent": 247, "bytes_received": 1087, "request_id": 31, @@ -7199,9 +7199,9 @@ { "kind": "request", "method": "initialize", - "duration_ms": 2.2917619999986982, + "duration_ms": 2.3474980000059986, "success": true, - "started_at_unix": 1789970940.4632287, + "started_at_unix": 1790057243.9164727, "bytes_sent": 655, "bytes_received": 1314, "request_id": 1, @@ -7220,9 +7220,9 @@ { "kind": "notification", "method": "initialized", - "duration_ms": 0.027260999985401213, + "duration_ms": 0.02551800002947857, "success": true, - "started_at_unix": 1789970940.465616, + "started_at_unix": 1790057243.918906, "bytes_sent": 74, "bytes_received": 0, "request_id": null, @@ -7235,9 +7235,9 @@ { "kind": "notification", "method": "workspace/didChangeConfiguration", - "duration_ms": 0.03202000002033856, + "duration_ms": 0.03268099999331753, "success": true, - "started_at_unix": 1789970940.4656765, + "started_at_unix": 1790057243.9189641, "bytes_sent": 635, "bytes_received": 0, "request_id": null, @@ -7253,9 +7253,9 @@ { "kind": "notification", "method": "textDocument/didOpen", - "duration_ms": 0.03335300002049735, + "duration_ms": 0.033172000030390336, "success": true, - "started_at_unix": 1789970940.465881, + "started_at_unix": 1790057243.919092, "bytes_sent": 786, "bytes_received": 0, "request_id": null, @@ -7271,9 +7271,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 218.67993000000752, + "duration_ms": 215.16263300003402, "success": true, - "started_at_unix": 1789970940.4659746, + "started_at_unix": 1790057243.9191806, "bytes_sent": 279, "bytes_received": 975, "request_id": 2, @@ -7301,9 +7301,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 488.1773399999929, + "duration_ms": 419.7918110000387, "success": true, - "started_at_unix": 1789970940.6848269, + "started_at_unix": 1790057244.1344473, "bytes_sent": 279, "bytes_received": 975, "request_id": 3, @@ -7331,9 +7331,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 0.31968800001891395, + "duration_ms": 0.3284239999743477, "success": true, - "started_at_unix": 1789970941.1731417, + "started_at_unix": 1790057244.5543733, "bytes_sent": 279, "bytes_received": 975, "request_id": 4, @@ -7361,9 +7361,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 0.3230789999975059, + "duration_ms": 0.29813700001568577, "success": true, - "started_at_unix": 1789970941.1735938, + "started_at_unix": 1790057244.5548265, "bytes_sent": 279, "bytes_received": 975, "request_id": 5, @@ -7391,9 +7391,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 2.8845699999919816, + "duration_ms": 0.28537399998640467, "success": true, - "started_at_unix": 1789970941.1740031, + "started_at_unix": 1790057244.5552077, "bytes_sent": 279, "bytes_received": 975, "request_id": 6, @@ -7421,9 +7421,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 3.8540259999990667, + "duration_ms": 5.007148000004236, "success": true, - "started_at_unix": 1789970941.1770341, + "started_at_unix": 1790057244.5555997, "bytes_sent": 279, "bytes_received": 975, "request_id": 7, @@ -7451,9 +7451,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 66.63674000000697, + "duration_ms": 61.845796000000064, "success": true, - "started_at_unix": 1789970941.1811786, + "started_at_unix": 1790057244.5608904, "bytes_sent": 246, "bytes_received": 2901, "request_id": 8, @@ -7481,9 +7481,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 6.023608999981889, + "duration_ms": 5.862657000022864, "success": true, - "started_at_unix": 1789970941.2479496, + "started_at_unix": 1790057244.6228569, "bytes_sent": 246, "bytes_received": 2901, "request_id": 9, @@ -7511,9 +7511,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 2.766762999982575, + "duration_ms": 3.7690039999915825, "success": true, - "started_at_unix": 1789970941.2541275, + "started_at_unix": 1790057244.6288571, "bytes_sent": 247, "bytes_received": 2902, "request_id": 10, @@ -7541,9 +7541,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 5.878137999985711, + "duration_ms": 7.90168700001459, "success": true, - "started_at_unix": 1789970941.2570648, + "started_at_unix": 1790057244.6327794, "bytes_sent": 247, "bytes_received": 2902, "request_id": 11, @@ -7571,9 +7571,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 2.803180999990218, + "duration_ms": 4.801402999987658, "success": true, - "started_at_unix": 1789970941.2631032, + "started_at_unix": 1790057244.6408062, "bytes_sent": 247, "bytes_received": 2902, "request_id": 12, @@ -7601,9 +7601,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 5.8644920000006096, + "duration_ms": 3.9838260000237824, "success": true, - "started_at_unix": 1789970941.266041, + "started_at_unix": 1790057244.64573, "bytes_sent": 247, "bytes_received": 2902, "request_id": 13, @@ -7631,9 +7631,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 2.6921740000034333, + "duration_ms": 0.7950660000233256, "success": true, - "started_at_unix": 1789970941.2722034, + "started_at_unix": 1790057244.6500072, "bytes_sent": 252, "bytes_received": 237, "request_id": 14, @@ -7661,9 +7661,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 2.9154100000141625, + "duration_ms": 2.8822570000102132, "success": true, - "started_at_unix": 1789970941.2749646, + "started_at_unix": 1790057244.6508672, "bytes_sent": 252, "bytes_received": 237, "request_id": 15, @@ -7691,9 +7691,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 2.9180650000171227, + "duration_ms": 2.8623890000289975, "success": true, - "started_at_unix": 1789970941.2779694, + "started_at_unix": 1790057244.6538284, "bytes_sent": 252, "bytes_received": 237, "request_id": 16, @@ -7721,9 +7721,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.2793299999837018, + "duration_ms": 2.9233330000124624, "success": true, - "started_at_unix": 1789970941.280975, + "started_at_unix": 1790057244.6567695, "bytes_sent": 252, "bytes_received": 237, "request_id": 17, @@ -7751,9 +7751,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 3.560260000000426, + "duration_ms": 2.919646999998804, "success": true, - "started_at_unix": 1789970941.2813306, + "started_at_unix": 1790057244.6597733, "bytes_sent": 252, "bytes_received": 237, "request_id": 18, @@ -7781,9 +7781,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.9090750000145817, + "duration_ms": 2.9154889999745137, "success": true, - "started_at_unix": 1789970941.2849844, + "started_at_unix": 1790057244.662775, "bytes_sent": 252, "bytes_received": 237, "request_id": 19, @@ -7811,9 +7811,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.09665999999697306, + "duration_ms": 0.17905499998960295, "success": true, - "started_at_unix": 1789970941.287204, + "started_at_unix": 1790057244.6659772, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -7830,9 +7830,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 61.04638800002249, + "duration_ms": 82.78569099996957, "success": true, - "started_at_unix": 1789970941.2873187, + "started_at_unix": 1790057244.6661737, "bytes_sent": 280, "bytes_received": 202549, "request_id": 20, @@ -7860,9 +7860,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.09739099999706013, + "duration_ms": 0.043591999997261155, "success": true, - "started_at_unix": 1789970941.3514142, + "started_at_unix": 1790057244.755048, "bytes_sent": 324, "bytes_received": 0, "request_id": null, @@ -7879,9 +7879,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.05863999999178304, + "duration_ms": 0.023895000026641355, "success": true, - "started_at_unix": 1789970941.351529, + "started_at_unix": 1790057244.7551053, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -7898,9 +7898,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 13.782098999996606, + "duration_ms": 32.47787899999821, "success": true, - "started_at_unix": 1789970941.3516066, + "started_at_unix": 1790057244.7551425, "bytes_sent": 280, "bytes_received": 202549, "request_id": 21, @@ -7928,9 +7928,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.2413199999864446, + "duration_ms": 2.3638079999841466, "success": true, - "started_at_unix": 1789970941.3701808, + "started_at_unix": 1790057244.7952335, "bytes_sent": 324, "bytes_received": 0, "request_id": null, @@ -7947,9 +7947,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.04476399999475689, + "duration_ms": 0.04080699994801762, "success": true, - "started_at_unix": 1789970941.3704417, + "started_at_unix": 1790057244.7976162, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -7966,9 +7966,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 56.19257699999025, + "duration_ms": 67.98337600002924, "success": true, - "started_at_unix": 1789970941.370508, + "started_at_unix": 1790057244.7976758, "bytes_sent": 280, "bytes_received": 202549, "request_id": 22, @@ -7996,9 +7996,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 5.842903000001343, + "duration_ms": 2.4871880000318924, "success": true, - "started_at_unix": 1789970941.4309747, + "started_at_unix": 1790057244.8731146, "bytes_sent": 324, "bytes_received": 0, "request_id": null, @@ -8015,9 +8015,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.11638699999139135, + "duration_ms": 0.04096699996125608, "success": true, - "started_at_unix": 1789970941.436853, + "started_at_unix": 1790057244.8756213, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -8034,9 +8034,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 39.03322799999387, + "duration_ms": 63.949476999994204, "success": true, - "started_at_unix": 1789970941.436995, + "started_at_unix": 1790057244.8756816, "bytes_sent": 280, "bytes_received": 202549, "request_id": 23, @@ -8064,9 +8064,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.11188799999217736, + "duration_ms": 2.4564809999674253, "success": true, - "started_at_unix": 1789970941.480481, + "started_at_unix": 1790057244.9471407, "bytes_sent": 324, "bytes_received": 0, "request_id": null, @@ -8083,9 +8083,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.07426799999166178, + "duration_ms": 0.04004400000212627, "success": true, - "started_at_unix": 1789970941.480612, + "started_at_unix": 1790057244.9496162, "bytes_sent": 366, "bytes_received": 0, "request_id": null, @@ -8102,9 +8102,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 16.90993500000104, + "duration_ms": 28.14702099999522, "success": true, - "started_at_unix": 1789970941.4807074, + "started_at_unix": 1790057244.9496746, "bytes_sent": 280, "bytes_received": 202549, "request_id": 24, @@ -8132,9 +8132,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.04817000001366978, + "duration_ms": 0.032431000022370426, "success": true, - "started_at_unix": 1789970941.5022655, + "started_at_unix": 1790057244.9802969, "bytes_sent": 325, "bytes_received": 0, "request_id": null, @@ -8151,9 +8151,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02838300000007621, + "duration_ms": 0.0239149999856636, "success": true, - "started_at_unix": 1789970941.502332, + "started_at_unix": 1790057244.980345, "bytes_sent": 366, "bytes_received": 0, "request_id": null, @@ -8170,9 +8170,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 18.410309000017833, + "duration_ms": 10.110981000025276, "success": true, - "started_at_unix": 1789970941.5023792, + "started_at_unix": 1790057244.980385, "bytes_sent": 280, "bytes_received": 202549, "request_id": 25, @@ -8200,9 +8200,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.10404400001107206, + "duration_ms": 0.0302060000194615, "success": true, - "started_at_unix": 1789970941.5253427, + "started_at_unix": 1790057244.992809, "bytes_sent": 325, "bytes_received": 0, "request_id": null, @@ -8219,9 +8219,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.235056999997596, + "duration_ms": 0.03753099997538811, "success": true, - "started_at_unix": 1789970941.5256927, + "started_at_unix": 1790057244.993164, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -8238,9 +8238,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 33.8663649999944, + "duration_ms": 18.593747000011263, "success": true, - "started_at_unix": 1789970941.5259485, + "started_at_unix": 1790057244.9932237, "bytes_sent": 247, "bytes_received": 1087, "request_id": 26, @@ -8268,9 +8268,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03603700000098797, + "duration_ms": 0.029626000014104648, "success": true, - "started_at_unix": 1789970941.5598953, + "started_at_unix": 1790057245.0118775, "bytes_sent": 325, "bytes_received": 0, "request_id": null, @@ -8287,9 +8287,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.026017999999794483, + "duration_ms": 0.024194999980409193, "success": true, - "started_at_unix": 1789970941.559945, + "started_at_unix": 1790057245.01192, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -8306,9 +8306,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 2.029329999999163, + "duration_ms": 0.6384229999980562, "success": true, - "started_at_unix": 1789970941.5599842, + "started_at_unix": 1790057245.0119572, "bytes_sent": 247, "bytes_received": 1087, "request_id": 27, @@ -8336,9 +8336,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02881399998955203, + "duration_ms": 0.024775999975190643, "success": true, - "started_at_unix": 1789970941.5620897, + "started_at_unix": 1790057245.0126538, "bytes_sent": 325, "bytes_received": 0, "request_id": null, @@ -8355,9 +8355,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02531699999508419, + "duration_ms": 0.024736000000302738, "success": true, - "started_at_unix": 1789970941.5621307, + "started_at_unix": 1790057245.0126889, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -8374,9 +8374,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.984853999995039, + "duration_ms": 0.6179249999718195, "success": true, - "started_at_unix": 1789970941.5621686, + "started_at_unix": 1790057245.0127244, "bytes_sent": 247, "bytes_received": 1087, "request_id": 28, @@ -8404,9 +8404,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02741099999070684, + "duration_ms": 0.02434499998571482, "success": true, - "started_at_unix": 1789970941.5632262, + "started_at_unix": 1790057245.0133977, "bytes_sent": 325, "bytes_received": 0, "request_id": null, @@ -8423,9 +8423,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02449499999102045, + "duration_ms": 0.024636000034661265, "success": true, - "started_at_unix": 1789970941.5632648, + "started_at_unix": 1790057245.013432, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -8442,9 +8442,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 27.050511999988203, + "duration_ms": 0.6115169999816317, "success": true, - "started_at_unix": 1789970941.563301, + "started_at_unix": 1790057245.0134673, "bytes_sent": 247, "bytes_received": 1087, "request_id": 29, @@ -8472,9 +8472,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.035395999987031246, + "duration_ms": 0.02451600005315413, "success": true, - "started_at_unix": 1789970941.5904567, + "started_at_unix": 1790057245.0141346, "bytes_sent": 325, "bytes_received": 0, "request_id": null, @@ -8491,9 +8491,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02500600001553721, + "duration_ms": 0.025436999976591324, "success": true, - "started_at_unix": 1789970941.5905066, + "started_at_unix": 1790057245.0141697, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -8510,9 +8510,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.9044749999986834, + "duration_ms": 0.7409950000010213, "success": true, - "started_at_unix": 1789970941.590548, + "started_at_unix": 1790057245.0142078, "bytes_sent": 247, "bytes_received": 1087, "request_id": 30, @@ -8540,9 +8540,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.026619000010441596, + "duration_ms": 0.025216999972599297, "success": true, - "started_at_unix": 1789970941.5915215, + "started_at_unix": 1790057245.0150034, "bytes_sent": 325, "bytes_received": 0, "request_id": null, @@ -8559,9 +8559,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02582800001960095, + "duration_ms": 0.031007999950816156, "success": true, - "started_at_unix": 1789970941.5915596, + "started_at_unix": 1790057245.0150383, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -8578,9 +8578,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.8388419999789676, + "duration_ms": 0.7610719999888715, "success": true, - "started_at_unix": 1789970941.5915983, + "started_at_unix": 1790057245.015081, "bytes_sent": 247, "bytes_received": 1087, "request_id": 31, @@ -8608,9 +8608,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.025467000000389817, + "duration_ms": 0.02410500002270055, "success": true, - "started_at_unix": 1789970941.5925124, + "started_at_unix": 1790057245.0158954, "bytes_sent": 325, "bytes_received": 0, "request_id": null, @@ -8627,9 +8627,9 @@ { "kind": "notification", "method": "textDocument/didClose", - "duration_ms": 0.042829999983950984, + "duration_ms": 0.03659799995148205, "success": true, - "started_at_unix": 1789970941.5926433, + "started_at_unix": 1790057245.0160344, "bytes_sent": 204, "bytes_received": 0, "request_id": null, @@ -8642,9 +8642,9 @@ { "kind": "request", "method": "shutdown", - "duration_ms": 0.17579799998657109, + "duration_ms": 0.1393610000377521, "success": true, - "started_at_unix": 1789970941.5926979, + "started_at_unix": 1790057245.0160806, "bytes_sent": 67, "bytes_received": 61, "request_id": 32, @@ -8662,9 +8662,9 @@ { "kind": "notification", "method": "exit", - "duration_ms": 0.02606900000046153, + "duration_ms": 0.02333399999088215, "success": true, - "started_at_unix": 1789970941.5928948, + "started_at_unix": 1790057245.0162377, "bytes_sent": 55, "bytes_received": 0, "request_id": null, @@ -8686,7 +8686,7 @@ "environment_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/sqlalchemy/.venv", "python_executable": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/sqlalchemy/.venv/bin/python", "success": true, - "total_duration_ms": 826.4919279999958, + "total_duration_ms": 830.0554580000039, "error_message": null, "summary": { "request_count": 32, @@ -8695,11 +8695,11 @@ "failure_count": 0, "bytes_sent": 18918, "bytes_received": 128057, - "min_ms": 0.2160720000006222, - "max_ms": 427.1447000000137, - "mean_ms": 25.324487218749248, - "median_ms": 0.6380789999980152, - "p95_ms": 158.65895529999082, + "min_ms": 0.17842400001200076, + "max_ms": 440.142475000016, + "mean_ms": 25.291869343746498, + "median_ms": 0.6235755000147947, + "p95_ms": 153.2754190499728, "result_summary": { "present_count": 31, "empty_count": 1, @@ -8754,27 +8754,27 @@ "by_method": { "textDocument/completion": { "point_count": 2, - "min_ms": 0.3443509999954131, - "max_ms": 427.1447000000137, - "mean_ms": 43.2304710999972, - "median_ms": 0.7156479999963494, - "p95_ms": 235.28202410000415 + "min_ms": 0.29461100001526574, + "max_ms": 440.142475000016, + "mean_ms": 44.51424050000128, + "median_ms": 0.7151615000111633, + "p95_ms": 242.44574799999677 }, "textDocument/hover": { "point_count": 2, - "min_ms": 0.48233800001185045, - "max_ms": 1.0604849999822363, - "mean_ms": 0.7779238000011901, - "median_ms": 0.7773829999990767, - "p95_ms": 1.056869249991621 + "min_ms": 0.43837900000198715, + "max_ms": 1.0261779999609644, + "mean_ms": 0.7414957999969829, + "median_ms": 0.7560024999975212, + "p95_ms": 1.01620509998952 }, "textDocument/definition": { "point_count": 1, - "min_ms": 0.2568280000048162, - "max_ms": 0.29089099999168866, - "mean_ms": 0.2707439999937833, - "median_ms": 0.2610059999881287, - "p95_ms": 0.29001139999422776 + "min_ms": 0.19872100000384307, + "max_ms": 0.2634729999613228, + "mean_ms": 0.2299737999919671, + "median_ms": 0.221554000006563, + "p95_ms": 0.2597579999701338 } }, "validation": { @@ -8800,11 +8800,11 @@ "failure_count": 0, "bytes_sent": 1415, "bytes_received": 4520, - "min_ms": 0.3443509999954131, - "max_ms": 427.1447000000137, - "mean_ms": 85.71919280000202, - "median_ms": 0.35305800000173804, - "p95_ms": 341.7976326000086, + "min_ms": 0.29461100001526574, + "max_ms": 440.142475000016, + "mean_ms": 88.2760189999999, + "median_ms": 0.3131949999897188, + "p95_ms": 352.1808590000091, "result_summary": { "present_count": 5, "empty_count": 0, @@ -8864,9 +8864,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 342.6251960000002, + "duration_ms": 331.0155140000006, "success": true, - "started_at_unix": 1789970941.626031, + "started_at_unix": 1790057245.0404358, "bytes_sent": 283, "bytes_received": 904, "request_id": 2, @@ -8894,9 +8894,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 427.1447000000137, + "duration_ms": 440.142475000016, "success": true, - "started_at_unix": 1789970941.968819, + "started_at_unix": 1790057245.371648, "bytes_sent": 283, "bytes_received": 904, "request_id": 3, @@ -8924,9 +8924,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 0.40936299998861614, + "duration_ms": 0.33439499998166866, "success": true, - "started_at_unix": 1789970942.3961687, + "started_at_unix": 1790057245.8119187, "bytes_sent": 283, "bytes_received": 904, "request_id": 4, @@ -8954,9 +8954,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 0.3444920000106322, + "duration_ms": 0.3131949999897188, "success": true, - "started_at_unix": 1789970942.396795, + "started_at_unix": 1790057245.8123672, "bytes_sent": 283, "bytes_received": 904, "request_id": 5, @@ -8984,9 +8984,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 0.3443509999954131, + "duration_ms": 0.29541899999685484, "success": true, - "started_at_unix": 1789970942.3972793, + "started_at_unix": 1790057245.8127642, "bytes_sent": 283, "bytes_received": 904, "request_id": 6, @@ -9014,9 +9014,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 0.35305800000173804, + "duration_ms": 0.29461100001526574, "success": true, - "started_at_unix": 1789970942.3977969, + "started_at_unix": 1790057245.8131914, "bytes_sent": 283, "bytes_received": 904, "request_id": 7, @@ -9059,11 +9059,11 @@ "failure_count": 0, "bytes_sent": 1254, "bytes_received": 78239, - "min_ms": 0.9902239999917128, - "max_ms": 1.0604849999822363, - "mean_ms": 1.0378849999938211, - "median_ms": 1.0467390000030719, - "p95_ms": 1.0588779999864073, + "min_ms": 0.96561399999473, + "max_ms": 1.0261779999609644, + "mean_ms": 0.992516799999521, + "median_ms": 1.000420000025315, + "p95_ms": 1.0217455999736558, "result_summary": { "present_count": 5, "empty_count": 0, @@ -9123,9 +9123,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 7.806719999990719, + "duration_ms": 7.043744000043262, "success": true, - "started_at_unix": 1789970942.398418, + "started_at_unix": 1790057245.8137512, "bytes_sent": 250, "bytes_received": 15647, "request_id": 8, @@ -9153,9 +9153,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 1.0524500000030912, + "duration_ms": 1.0261779999609644, "success": true, - "started_at_unix": 1789970942.406479, + "started_at_unix": 1790057245.8210309, "bytes_sent": 250, "bytes_received": 15647, "request_id": 9, @@ -9183,9 +9183,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 1.0395269999889933, + "duration_ms": 0.9663559999921745, "success": true, - "started_at_unix": 1789970942.4079192, + "started_at_unix": 1790057245.822436, "bytes_sent": 251, "bytes_received": 15648, "request_id": 10, @@ -9213,9 +9213,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 1.0604849999822363, + "duration_ms": 1.000420000025315, "success": true, - "started_at_unix": 1789970942.4093218, + "started_at_unix": 1790057245.8237753, "bytes_sent": 251, "bytes_received": 15648, "request_id": 11, @@ -9243,9 +9243,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 1.0467390000030719, + "duration_ms": 1.0040160000244214, "success": true, - "started_at_unix": 1789970942.4107833, + "started_at_unix": 1790057245.8251238, "bytes_sent": 251, "bytes_received": 15648, "request_id": 12, @@ -9273,9 +9273,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.9902239999917128, + "duration_ms": 0.96561399999473, "success": true, - "started_at_unix": 1789970942.4121912, + "started_at_unix": 1790057245.826472, "bytes_sent": 251, "bytes_received": 15648, "request_id": 13, @@ -9318,11 +9318,11 @@ "failure_count": 0, "bytes_sent": 1280, "bytes_received": 1470, - "min_ms": 0.2568280000048162, - "max_ms": 0.29089099999168866, - "mean_ms": 0.2707439999937833, - "median_ms": 0.2610059999881287, - "p95_ms": 0.29001139999422776, + "min_ms": 0.19872100000384307, + "max_ms": 0.2634729999613228, + "mean_ms": 0.2299737999919671, + "median_ms": 0.221554000006563, + "p95_ms": 0.2597579999701338, "result_summary": { "present_count": 5, "empty_count": 0, @@ -9382,9 +9382,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.30984700001113197, + "duration_ms": 0.22833699995317147, "success": true, - "started_at_unix": 1789970942.4136798, + "started_at_unix": 1790057245.8279068, "bytes_sent": 256, "bytes_received": 294, "request_id": 14, @@ -9412,9 +9412,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.2610059999881287, + "duration_ms": 0.19872100000384307, "success": true, - "started_at_unix": 1789970942.4140458, + "started_at_unix": 1790057245.8281822, "bytes_sent": 256, "bytes_received": 294, "request_id": 15, @@ -9442,9 +9442,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.2568280000048162, + "duration_ms": 0.24489800000537798, "success": true, - "started_at_unix": 1789970942.4143848, + "started_at_unix": 1790057245.8284433, "bytes_sent": 256, "bytes_received": 294, "request_id": 16, @@ -9472,9 +9472,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.28649300000438416, + "duration_ms": 0.22122299998272865, "success": true, - "started_at_unix": 1789970942.414713, + "started_at_unix": 1790057245.828758, "bytes_sent": 256, "bytes_received": 294, "request_id": 17, @@ -9502,9 +9502,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.29089099999168866, + "duration_ms": 0.221554000006563, "success": true, - "started_at_unix": 1789970942.4150715, + "started_at_unix": 1790057245.8290424, "bytes_sent": 256, "bytes_received": 294, "request_id": 18, @@ -9532,9 +9532,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.25850199997989876, + "duration_ms": 0.2634729999613228, "success": true, - "started_at_unix": 1789970942.4154391, + "started_at_unix": 1790057245.8293264, "bytes_sent": 256, "bytes_received": 294, "request_id": 19, @@ -9577,11 +9577,11 @@ "failure_count": 0, "bytes_sent": 1420, "bytes_received": 9290, - "min_ms": 0.7116159999895899, - "max_ms": 0.7831979999934902, - "mean_ms": 0.7417493999923863, - "median_ms": 0.7230269999922712, - "p95_ms": 0.7808035999914864, + "min_ms": 0.7007600000292769, + "max_ms": 0.8164149999743131, + "mean_ms": 0.7524620000026516, + "median_ms": 0.7412350000208789, + "p95_ms": 0.8079993999785984, "result_summary": { "present_count": 5, "empty_count": 0, @@ -9641,9 +9641,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 7.492365000018708, + "duration_ms": 7.0633409999913965, "success": true, - "started_at_unix": 1789970942.4160638, + "started_at_unix": 1790057245.8300307, "bytes_sent": 284, "bytes_received": 1858, "request_id": 20, @@ -9671,9 +9671,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 0.7831979999934902, + "duration_ms": 0.7743369999957395, "success": true, - "started_at_unix": 1789970942.4238298, + "started_at_unix": 1790057245.8373072, "bytes_sent": 284, "bytes_received": 1858, "request_id": 21, @@ -9701,9 +9701,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 0.7712259999834714, + "duration_ms": 0.8164149999743131, "success": true, - "started_at_unix": 1789970942.4249027, + "started_at_unix": 1790057245.8383393, "bytes_sent": 284, "bytes_received": 1858, "request_id": 22, @@ -9731,9 +9731,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 0.7230269999922712, + "duration_ms": 0.7295629999930497, "success": true, - "started_at_unix": 1789970942.4259605, + "started_at_unix": 1790057245.8394194, "bytes_sent": 284, "bytes_received": 1858, "request_id": 23, @@ -9761,9 +9761,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 0.7116159999895899, + "duration_ms": 0.7007600000292769, "success": true, - "started_at_unix": 1789970942.4270196, + "started_at_unix": 1790057245.8404076, "bytes_sent": 284, "bytes_received": 1858, "request_id": 24, @@ -9791,9 +9791,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 0.7196800000031089, + "duration_ms": 0.7412350000208789, "success": true, - "started_at_unix": 1789970942.4280124, + "started_at_unix": 1790057245.841335, "bytes_sent": 284, "bytes_received": 1858, "request_id": 25, @@ -9836,11 +9836,11 @@ "failure_count": 0, "bytes_sent": 1255, "bytes_received": 12050, - "min_ms": 0.48233800001185045, - "max_ms": 0.5645420000064405, - "mean_ms": 0.5179626000085591, - "median_ms": 0.5049309999947127, - "p95_ms": 0.5596606000096926, + "min_ms": 0.43837900000198715, + "max_ms": 0.5463910000003125, + "mean_ms": 0.49047479999444477, + "median_ms": 0.4689869999765506, + "p95_ms": 0.5458439999983966, "result_summary": { "present_count": 5, "empty_count": 0, @@ -9900,9 +9900,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 8.141121999983625, + "duration_ms": 7.851704999950471, "success": true, - "started_at_unix": 1789970942.4292436, + "started_at_unix": 1790057245.8425305, "bytes_sent": 251, "bytes_received": 2410, "request_id": 26, @@ -9930,9 +9930,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.5645420000064405, + "duration_ms": 0.5436559999907331, "success": true, - "started_at_unix": 1789970942.4375744, + "started_at_unix": 1790057245.8505454, "bytes_sent": 251, "bytes_received": 2410, "request_id": 27, @@ -9960,9 +9960,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.5401350000227012, + "duration_ms": 0.5463910000003125, "success": true, - "started_at_unix": 1789970942.438322, + "started_at_unix": 1790057245.8512695, "bytes_sent": 251, "bytes_received": 2410, "request_id": 28, @@ -9990,9 +9990,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.4978670000070906, + "duration_ms": 0.43837900000198715, "success": true, - "started_at_unix": 1789970942.439089, + "started_at_unix": 1790057245.8520172, "bytes_sent": 251, "bytes_received": 2410, "request_id": 29, @@ -10020,9 +10020,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.5049309999947127, + "duration_ms": 0.4549610000026405, "success": true, - "started_at_unix": 1789970942.4398024, + "started_at_unix": 1790057245.8526433, "bytes_sent": 251, "bytes_received": 2410, "request_id": 30, @@ -10050,9 +10050,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.48233800001185045, + "duration_ms": 0.4689869999765506, "success": true, - "started_at_unix": 1789970942.4404852, + "started_at_unix": 1790057245.8532555, "bytes_sent": 251, "bytes_received": 2410, "request_id": 31, @@ -10084,9 +10084,9 @@ { "kind": "request", "method": "initialize", - "duration_ms": 2.354600000018081, + "duration_ms": 2.2515219999945657, "success": true, - "started_at_unix": 1789970941.6232717, + "started_at_unix": 1790057245.0378401, "bytes_sent": 667, "bytes_received": 1314, "request_id": 1, @@ -10105,9 +10105,9 @@ { "kind": "notification", "method": "initialized", - "duration_ms": 0.027781000000004497, + "duration_ms": 0.02624900002956565, "success": true, - "started_at_unix": 1789970941.6257198, + "started_at_unix": 1790057245.0401719, "bytes_sent": 74, "bytes_received": 0, "request_id": null, @@ -10120,9 +10120,9 @@ { "kind": "notification", "method": "workspace/didChangeConfiguration", - "duration_ms": 0.03433400001995324, + "duration_ms": 0.03140900003018032, "success": true, - "started_at_unix": 1789970941.6258059, + "started_at_unix": 1790057245.0402305, "bytes_sent": 651, "bytes_received": 0, "request_id": null, @@ -10138,9 +10138,9 @@ { "kind": "notification", "method": "textDocument/didOpen", - "duration_ms": 0.0324599999999009, + "duration_ms": 0.03128800000240517, "success": true, - "started_at_unix": 1789970941.6259432, + "started_at_unix": 1790057245.0403543, "bytes_sent": 730, "bytes_received": 0, "request_id": null, @@ -10156,9 +10156,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 342.6251960000002, + "duration_ms": 331.0155140000006, "success": true, - "started_at_unix": 1789970941.626031, + "started_at_unix": 1790057245.0404358, "bytes_sent": 283, "bytes_received": 904, "request_id": 2, @@ -10186,9 +10186,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 427.1447000000137, + "duration_ms": 440.142475000016, "success": true, - "started_at_unix": 1789970941.968819, + "started_at_unix": 1790057245.371648, "bytes_sent": 283, "bytes_received": 904, "request_id": 3, @@ -10216,9 +10216,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 0.40936299998861614, + "duration_ms": 0.33439499998166866, "success": true, - "started_at_unix": 1789970942.3961687, + "started_at_unix": 1790057245.8119187, "bytes_sent": 283, "bytes_received": 904, "request_id": 4, @@ -10246,9 +10246,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 0.3444920000106322, + "duration_ms": 0.3131949999897188, "success": true, - "started_at_unix": 1789970942.396795, + "started_at_unix": 1790057245.8123672, "bytes_sent": 283, "bytes_received": 904, "request_id": 5, @@ -10276,9 +10276,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 0.3443509999954131, + "duration_ms": 0.29541899999685484, "success": true, - "started_at_unix": 1789970942.3972793, + "started_at_unix": 1790057245.8127642, "bytes_sent": 283, "bytes_received": 904, "request_id": 6, @@ -10306,9 +10306,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 0.35305800000173804, + "duration_ms": 0.29461100001526574, "success": true, - "started_at_unix": 1789970942.3977969, + "started_at_unix": 1790057245.8131914, "bytes_sent": 283, "bytes_received": 904, "request_id": 7, @@ -10336,9 +10336,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 7.806719999990719, + "duration_ms": 7.043744000043262, "success": true, - "started_at_unix": 1789970942.398418, + "started_at_unix": 1790057245.8137512, "bytes_sent": 250, "bytes_received": 15647, "request_id": 8, @@ -10366,9 +10366,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 1.0524500000030912, + "duration_ms": 1.0261779999609644, "success": true, - "started_at_unix": 1789970942.406479, + "started_at_unix": 1790057245.8210309, "bytes_sent": 250, "bytes_received": 15647, "request_id": 9, @@ -10396,9 +10396,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 1.0395269999889933, + "duration_ms": 0.9663559999921745, "success": true, - "started_at_unix": 1789970942.4079192, + "started_at_unix": 1790057245.822436, "bytes_sent": 251, "bytes_received": 15648, "request_id": 10, @@ -10426,9 +10426,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 1.0604849999822363, + "duration_ms": 1.000420000025315, "success": true, - "started_at_unix": 1789970942.4093218, + "started_at_unix": 1790057245.8237753, "bytes_sent": 251, "bytes_received": 15648, "request_id": 11, @@ -10456,9 +10456,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 1.0467390000030719, + "duration_ms": 1.0040160000244214, "success": true, - "started_at_unix": 1789970942.4107833, + "started_at_unix": 1790057245.8251238, "bytes_sent": 251, "bytes_received": 15648, "request_id": 12, @@ -10486,9 +10486,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.9902239999917128, + "duration_ms": 0.96561399999473, "success": true, - "started_at_unix": 1789970942.4121912, + "started_at_unix": 1790057245.826472, "bytes_sent": 251, "bytes_received": 15648, "request_id": 13, @@ -10516,9 +10516,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.30984700001113197, + "duration_ms": 0.22833699995317147, "success": true, - "started_at_unix": 1789970942.4136798, + "started_at_unix": 1790057245.8279068, "bytes_sent": 256, "bytes_received": 294, "request_id": 14, @@ -10546,9 +10546,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.2610059999881287, + "duration_ms": 0.19872100000384307, "success": true, - "started_at_unix": 1789970942.4140458, + "started_at_unix": 1790057245.8281822, "bytes_sent": 256, "bytes_received": 294, "request_id": 15, @@ -10576,9 +10576,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.2568280000048162, + "duration_ms": 0.24489800000537798, "success": true, - "started_at_unix": 1789970942.4143848, + "started_at_unix": 1790057245.8284433, "bytes_sent": 256, "bytes_received": 294, "request_id": 16, @@ -10606,9 +10606,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.28649300000438416, + "duration_ms": 0.22122299998272865, "success": true, - "started_at_unix": 1789970942.414713, + "started_at_unix": 1790057245.828758, "bytes_sent": 256, "bytes_received": 294, "request_id": 17, @@ -10636,9 +10636,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.29089099999168866, + "duration_ms": 0.221554000006563, "success": true, - "started_at_unix": 1789970942.4150715, + "started_at_unix": 1790057245.8290424, "bytes_sent": 256, "bytes_received": 294, "request_id": 18, @@ -10666,9 +10666,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.25850199997989876, + "duration_ms": 0.2634729999613228, "success": true, - "started_at_unix": 1789970942.4154391, + "started_at_unix": 1790057245.8293264, "bytes_sent": 256, "bytes_received": 294, "request_id": 19, @@ -10696,9 +10696,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.04014500001403576, + "duration_ms": 0.1793150000253263, "success": true, - "started_at_unix": 1789970942.4160073, + "started_at_unix": 1790057245.8298337, "bytes_sent": 381, "bytes_received": 0, "request_id": null, @@ -10715,9 +10715,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 7.492365000018708, + "duration_ms": 7.0633409999913965, "success": true, - "started_at_unix": 1789970942.4160638, + "started_at_unix": 1790057245.8300307, "bytes_sent": 284, "bytes_received": 1858, "request_id": 20, @@ -10745,9 +10745,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.037459999987277115, + "duration_ms": 0.03393299999743249, "success": true, - "started_at_unix": 1789970942.4237125, + "started_at_unix": 1790057245.8372288, "bytes_sent": 328, "bytes_received": 0, "request_id": null, @@ -10764,9 +10764,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.028181999994103535, + "duration_ms": 0.021741000011843425, "success": true, - "started_at_unix": 1789970942.4237876, + "started_at_unix": 1790057245.8372743, "bytes_sent": 381, "bytes_received": 0, "request_id": null, @@ -10783,9 +10783,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 0.7831979999934902, + "duration_ms": 0.7743369999957395, "success": true, - "started_at_unix": 1789970942.4238298, + "started_at_unix": 1790057245.8373072, "bytes_sent": 284, "bytes_received": 1858, "request_id": 21, @@ -10813,9 +10813,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03320199999734541, + "duration_ms": 0.032901999986734154, "success": true, - "started_at_unix": 1789970942.4248247, + "started_at_unix": 1790057245.8382597, "bytes_sent": 328, "bytes_received": 0, "request_id": null, @@ -10832,9 +10832,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.021250000003192326, + "duration_ms": 0.024065000047812646, "success": true, - "started_at_unix": 1789970942.424869, + "started_at_unix": 1790057245.8383033, "bytes_sent": 381, "bytes_received": 0, "request_id": null, @@ -10851,9 +10851,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 0.7712259999834714, + "duration_ms": 0.8164149999743131, "success": true, - "started_at_unix": 1789970942.4249027, + "started_at_unix": 1790057245.8383393, "bytes_sent": 284, "bytes_received": 1858, "request_id": 22, @@ -10881,9 +10881,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03225999998335283, + "duration_ms": 0.03333199998678538, "success": true, - "started_at_unix": 1789970942.4258842, + "started_at_unix": 1790057245.839336, "bytes_sent": 328, "bytes_received": 0, "request_id": null, @@ -10900,9 +10900,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.0226120000093033, + "duration_ms": 0.026218999948923738, "success": true, - "started_at_unix": 1789970942.4259272, + "started_at_unix": 1790057245.8393812, "bytes_sent": 381, "bytes_received": 0, "request_id": null, @@ -10919,9 +10919,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 0.7230269999922712, + "duration_ms": 0.7295629999930497, "success": true, - "started_at_unix": 1789970942.4259605, + "started_at_unix": 1790057245.8394194, "bytes_sent": 284, "bytes_received": 1858, "request_id": 23, @@ -10949,9 +10949,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.034805000012738674, + "duration_ms": 0.029535000010127987, "success": true, - "started_at_unix": 1789970942.4269366, + "started_at_unix": 1790057245.8403368, "bytes_sent": 328, "bytes_received": 0, "request_id": null, @@ -10968,9 +10968,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.024304999982405207, + "duration_ms": 0.02076800001304946, "success": true, - "started_at_unix": 1789970942.4269826, + "started_at_unix": 1790057245.8403764, "bytes_sent": 382, "bytes_received": 0, "request_id": null, @@ -10987,9 +10987,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 0.7116159999895899, + "duration_ms": 0.7007600000292769, "success": true, - "started_at_unix": 1789970942.4270196, + "started_at_unix": 1790057245.8404076, "bytes_sent": 284, "bytes_received": 1858, "request_id": 24, @@ -11017,9 +11017,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03218999998466643, + "duration_ms": 0.027120999959606706, "success": true, - "started_at_unix": 1789970942.4279342, + "started_at_unix": 1790057245.8412688, "bytes_sent": 329, "bytes_received": 0, "request_id": null, @@ -11036,9 +11036,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.022722000011299315, + "duration_ms": 0.020146999986536684, "success": true, - "started_at_unix": 1789970942.4279778, + "started_at_unix": 1790057245.8413055, "bytes_sent": 382, "bytes_received": 0, "request_id": null, @@ -11055,9 +11055,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 0.7196800000031089, + "duration_ms": 0.7412350000208789, "success": true, - "started_at_unix": 1789970942.4280124, + "started_at_unix": 1790057245.841335, "bytes_sent": 284, "bytes_received": 1858, "request_id": 25, @@ -11085,9 +11085,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03269100000125036, + "duration_ms": 0.03360299996302274, "success": true, - "started_at_unix": 1789970942.4289348, + "started_at_unix": 1790057245.8422542, "bytes_sent": 329, "bytes_received": 0, "request_id": null, @@ -11104,9 +11104,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03231099998401987, + "duration_ms": 0.032080000039513834, "success": true, - "started_at_unix": 1789970942.4291973, + "started_at_unix": 1790057245.8424852, "bytes_sent": 381, "bytes_received": 0, "request_id": null, @@ -11123,9 +11123,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 8.141121999983625, + "duration_ms": 7.851704999950471, "success": true, - "started_at_unix": 1789970942.4292436, + "started_at_unix": 1790057245.8425305, "bytes_sent": 251, "bytes_received": 2410, "request_id": 26, @@ -11153,9 +11153,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.04137699997386335, + "duration_ms": 0.03333199998678538, "success": true, - "started_at_unix": 1789970942.437479, + "started_at_unix": 1790057245.850464, "bytes_sent": 329, "bytes_received": 0, "request_id": null, @@ -11172,9 +11172,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.026939999997921404, + "duration_ms": 0.024456000005557144, "success": true, - "started_at_unix": 1789970942.437535, + "started_at_unix": 1790057245.8505087, "bytes_sent": 381, "bytes_received": 0, "request_id": null, @@ -11191,9 +11191,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.5645420000064405, + "duration_ms": 0.5436559999907331, "success": true, - "started_at_unix": 1789970942.4375744, + "started_at_unix": 1790057245.8505454, "bytes_sent": 251, "bytes_received": 2410, "request_id": 27, @@ -11221,9 +11221,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03112699999974211, + "duration_ms": 0.030526999978519598, "success": true, - "started_at_unix": 1789970942.4382443, + "started_at_unix": 1790057245.8511944, "bytes_sent": 329, "bytes_received": 0, "request_id": null, @@ -11240,9 +11240,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.024034000006167844, + "duration_ms": 0.02316299998028626, "success": true, - "started_at_unix": 1789970942.4382863, + "started_at_unix": 1790057245.8512359, "bytes_sent": 381, "bytes_received": 0, "request_id": null, @@ -11259,9 +11259,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.5401350000227012, + "duration_ms": 0.5463910000003125, "success": true, - "started_at_unix": 1789970942.438322, + "started_at_unix": 1790057245.8512695, "bytes_sent": 251, "bytes_received": 2410, "request_id": 28, @@ -11289,9 +11289,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.033322999996698854, + "duration_ms": 0.0323500000263266, "success": true, - "started_at_unix": 1789970942.4390125, + "started_at_unix": 1790057245.8519459, "bytes_sent": 329, "bytes_received": 0, "request_id": null, @@ -11308,9 +11308,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.021970999995346574, + "duration_ms": 0.019245999965278315, "success": true, - "started_at_unix": 1789970942.4390564, + "started_at_unix": 1790057245.8519886, "bytes_sent": 381, "bytes_received": 0, "request_id": null, @@ -11327,9 +11327,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.4978670000070906, + "duration_ms": 0.43837900000198715, "success": true, - "started_at_unix": 1789970942.439089, + "started_at_unix": 1790057245.8520172, "bytes_sent": 251, "bytes_received": 2410, "request_id": 29, @@ -11357,9 +11357,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.0323909999906391, + "duration_ms": 0.05602499999213251, "success": true, - "started_at_unix": 1789970942.4396913, + "started_at_unix": 1790057245.8525422, "bytes_sent": 329, "bytes_received": 0, "request_id": null, @@ -11376,9 +11376,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.05213700001149846, + "duration_ms": 0.021140000001196313, "success": true, - "started_at_unix": 1789970942.4397347, + "started_at_unix": 1790057245.8526084, "bytes_sent": 381, "bytes_received": 0, "request_id": null, @@ -11395,9 +11395,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.5049309999947127, + "duration_ms": 0.4549610000026405, "success": true, - "started_at_unix": 1789970942.4398024, + "started_at_unix": 1790057245.8526433, "bytes_sent": 251, "bytes_received": 2410, "request_id": 30, @@ -11425,9 +11425,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03103700001361176, + "duration_ms": 0.02632900003618488, "success": true, - "started_at_unix": 1789970942.4404075, + "started_at_unix": 1790057245.8531885, "bytes_sent": 329, "bytes_received": 0, "request_id": null, @@ -11444,9 +11444,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.024225000004207686, + "duration_ms": 0.021479999986695475, "success": true, - "started_at_unix": 1789970942.4404488, + "started_at_unix": 1790057245.8532243, "bytes_sent": 381, "bytes_received": 0, "request_id": null, @@ -11463,9 +11463,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.48233800001185045, + "duration_ms": 0.4689869999765506, "success": true, - "started_at_unix": 1789970942.4404852, + "started_at_unix": 1790057245.8532555, "bytes_sent": 251, "bytes_received": 2410, "request_id": 31, @@ -11493,9 +11493,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.027630999994698868, + "duration_ms": 0.02898500002856963, "success": true, - "started_at_unix": 1789970942.4410577, + "started_at_unix": 1790057245.8538146, "bytes_sent": 329, "bytes_received": 0, "request_id": null, @@ -11512,9 +11512,9 @@ { "kind": "notification", "method": "textDocument/didClose", - "duration_ms": 0.02275199997825439, + "duration_ms": 5.521418999990146, "success": true, - "started_at_unix": 1789970942.4412024, + "started_at_unix": 1790057245.8539522, "bytes_sent": 208, "bytes_received": 0, "request_id": null, @@ -11527,9 +11527,9 @@ { "kind": "request", "method": "shutdown", - "duration_ms": 0.2160720000006222, + "duration_ms": 0.17842400001200076, "success": true, - "started_at_unix": 1789970942.4412346, + "started_at_unix": 1790057245.8594892, "bytes_sent": 67, "bytes_received": 61, "request_id": 32, @@ -11547,9 +11547,9 @@ { "kind": "notification", "method": "exit", - "duration_ms": 0.022642000004680085, + "duration_ms": 0.027020000004540634, "success": true, - "started_at_unix": 1789970942.4414706, + "started_at_unix": 1790057245.859687, "bytes_sent": 55, "bytes_received": 0, "request_id": null, @@ -11571,7 +11571,7 @@ "environment_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/transformers/.venv", "python_executable": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/transformers/.venv/bin/python", "success": true, - "total_duration_ms": 5582.726908000012, + "total_duration_ms": 5420.308922000004, "error_message": null, "summary": { "request_count": 32, @@ -11580,11 +11580,11 @@ "failure_count": 0, "bytes_sent": 19004, "bytes_received": 11183, - "min_ms": 0.20947899997736386, - "max_ms": 4306.5086600000195, - "mean_ms": 173.4563450937507, - "median_ms": 0.38431850001074963, - "p95_ms": 520.2727695000156, + "min_ms": 0.19997399999738263, + "max_ms": 4149.181726999985, + "mean_ms": 168.72305418749892, + "median_ms": 0.39695349997259655, + "p95_ms": 509.55923144999167, "result_summary": { "present_count": 31, "empty_count": 7, @@ -11639,27 +11639,27 @@ "by_method": { "textDocument/completion": { "point_count": 2, - "min_ms": 0.29053099999032383, - "max_ms": 4306.5086600000195, - "mean_ms": 434.81420390000096, - "median_ms": 0.4373505000074829, - "p95_ms": 2378.8708395500003 + "min_ms": 0.26465500002359477, + "max_ms": 4149.181726999985, + "mean_ms": 418.91074179999924, + "median_ms": 0.39695349997259655, + "p95_ms": 2291.3194044500005 }, "textDocument/hover": { "point_count": 2, - "min_ms": 0.20947899997736386, - "max_ms": 26.172783000021127, - "mean_ms": 5.294261299999903, - "median_ms": 0.3729944999975032, - "p95_ms": 20.839038750014524 + "min_ms": 0.19997399999738263, + "max_ms": 25.949126999989858, + "mean_ms": 7.80430229999638, + "median_ms": 0.338337500011221, + "p95_ms": 25.567168350013958 }, "textDocument/definition": { "point_count": 1, - "min_ms": 0.21463900000640024, - "max_ms": 0.22810499999081912, - "mean_ms": 0.22069880000117337, - "median_ms": 0.22129199999199045, - "p95_ms": 0.22728139999230734 + "min_ms": 0.2015769999843542, + "max_ms": 0.20842899999706788, + "mean_ms": 0.20484479999822724, + "median_ms": 0.20352000001366832, + "p95_ms": 0.20823080000127447 } }, "validation": { @@ -11685,11 +11685,11 @@ "failure_count": 0, "bytes_sent": 1440, "bytes_received": 4430, - "min_ms": 0.29053099999032383, - "max_ms": 4306.5086600000195, - "mean_ms": 861.5543312000057, - "median_ms": 0.3317780000031689, - "p95_ms": 3445.274474600017, + "min_ms": 0.26465500002359477, + "max_ms": 4149.181726999985, + "mean_ms": 830.0763220000023, + "median_ms": 0.31156900001860777, + "p95_ms": 3319.4118523999914, "result_summary": { "present_count": 5, "empty_count": 0, @@ -11749,9 +11749,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 1124.1727530000105, + "duration_ms": 1100.6382479999957, "success": true, - "started_at_unix": 1789970942.4660165, + "started_at_unix": 1790057245.8834515, "bytes_sent": 288, "bytes_received": 886, "request_id": 2, @@ -11779,9 +11779,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4306.5086600000195, + "duration_ms": 4149.181726999985, "success": true, - "started_at_unix": 1789970943.5903263, + "started_at_unix": 1790057246.9842086, "bytes_sent": 288, "bytes_received": 886, "request_id": 3, @@ -11809,9 +11809,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 0.33773300000916606, + "duration_ms": 0.33235400002240567, "success": true, - "started_at_unix": 1789970947.8970642, + "started_at_unix": 1790057251.1336625, "bytes_sent": 288, "bytes_received": 886, "request_id": 4, @@ -11839,9 +11839,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 0.3317780000031689, + "duration_ms": 0.31156900001860777, "success": true, - "started_at_unix": 1789970947.897503, + "started_at_unix": 1790057251.1340916, "bytes_sent": 288, "bytes_received": 886, "request_id": 5, @@ -11869,9 +11869,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 0.30295400000568407, + "duration_ms": 0.2913049999619943, "success": true, - "started_at_unix": 1789970947.897925, + "started_at_unix": 1790057251.1345308, "bytes_sent": 288, "bytes_received": 886, "request_id": 6, @@ -11899,9 +11899,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 0.29053099999032383, + "duration_ms": 0.26465500002359477, "success": true, - "started_at_unix": 1789970947.8983152, + "started_at_unix": 1790057251.1349444, "bytes_sent": 288, "bytes_received": 886, "request_id": 7, @@ -11944,11 +11944,11 @@ "failure_count": 0, "bytes_sent": 1274, "bytes_received": 899, - "min_ms": 0.20947899997736386, - "max_ms": 0.21665299999540366, - "mean_ms": 0.21300219999602632, - "median_ms": 0.21310600001811508, - "p95_ms": 0.21630039999536166, + "min_ms": 0.19997399999738263, + "max_ms": 0.21151600003577187, + "mean_ms": 0.20477699999901233, + "median_ms": 0.20455300000321586, + "p95_ms": 0.2105380000216428, "result_summary": { "present_count": 5, "empty_count": 0, @@ -12008,9 +12008,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.2825060000191115, + "duration_ms": 0.23598100000299382, "success": true, - "started_at_unix": 1789970947.8988101, + "started_at_unix": 1790057251.1354434, "bytes_sent": 254, "bytes_received": 179, "request_id": 8, @@ -12038,9 +12038,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.21665299999540366, + "duration_ms": 0.20662599996512654, "success": true, - "started_at_unix": 1789970947.8991296, + "started_at_unix": 1790057251.135726, "bytes_sent": 254, "bytes_received": 179, "request_id": 9, @@ -12068,9 +12068,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.21488999999519365, + "duration_ms": 0.20455300000321586, "success": true, - "started_at_unix": 1789970947.8993902, + "started_at_unix": 1790057251.135989, "bytes_sent": 255, "bytes_received": 180, "request_id": 10, @@ -12098,9 +12098,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.21310600001811508, + "duration_ms": 0.20121599999356476, "success": true, - "started_at_unix": 1789970947.8996463, + "started_at_unix": 1790057251.1362467, "bytes_sent": 255, "bytes_received": 180, "request_id": 11, @@ -12128,9 +12128,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.21088299999405535, + "duration_ms": 0.19997399999738263, "success": true, - "started_at_unix": 1789970947.8998988, + "started_at_unix": 1790057251.1365013, "bytes_sent": 255, "bytes_received": 180, "request_id": 12, @@ -12158,9 +12158,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.20947899997736386, + "duration_ms": 0.21151600003577187, "success": true, - "started_at_unix": 1789970947.9001493, + "started_at_unix": 1790057251.1367548, "bytes_sent": 255, "bytes_received": 180, "request_id": 13, @@ -12203,11 +12203,11 @@ "failure_count": 0, "bytes_sent": 1300, "bytes_received": 1570, - "min_ms": 0.21463900000640024, - "max_ms": 0.22810499999081912, - "mean_ms": 0.22069880000117337, - "median_ms": 0.22129199999199045, - "p95_ms": 0.22728139999230734, + "min_ms": 0.2015769999843542, + "max_ms": 0.20842899999706788, + "mean_ms": 0.20484479999822724, + "median_ms": 0.20352000001366832, + "p95_ms": 0.20823080000127447, "result_summary": { "present_count": 5, "empty_count": 0, @@ -12267,9 +12267,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.1897159999989526, + "duration_ms": 1.068386999975246, "success": true, - "started_at_unix": 1789970947.9004724, + "started_at_unix": 1790057251.1371124, "bytes_sent": 260, "bytes_received": 314, "request_id": 14, @@ -12297,9 +12297,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.22810499999081912, + "duration_ms": 0.20743800001810087, "success": true, - "started_at_unix": 1789970947.9017026, + "started_at_unix": 1790057251.1382349, "bytes_sent": 260, "bytes_received": 314, "request_id": 15, @@ -12327,9 +12327,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.22398699999826022, + "duration_ms": 0.20842899999706788, "success": true, - "started_at_unix": 1789970947.9019814, + "started_at_unix": 1790057251.1385088, "bytes_sent": 260, "bytes_received": 314, "request_id": 16, @@ -12357,9 +12357,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.2154710000183968, + "duration_ms": 0.20352000001366832, "success": true, - "started_at_unix": 1789970947.9022539, + "started_at_unix": 1790057251.1387832, "bytes_sent": 260, "bytes_received": 314, "request_id": 17, @@ -12387,9 +12387,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.22129199999199045, + "duration_ms": 0.20325999997794497, "success": true, - "started_at_unix": 1789970947.9025466, + "started_at_unix": 1790057251.1390815, "bytes_sent": 260, "bytes_received": 314, "request_id": 18, @@ -12417,9 +12417,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.21463900000640024, + "duration_ms": 0.2015769999843542, "success": true, - "started_at_unix": 1789970947.9028137, + "started_at_unix": 1790057251.1393485, "bytes_sent": 260, "bytes_received": 314, "request_id": 19, @@ -12462,11 +12462,11 @@ "failure_count": 0, "bytes_sent": 1445, "bytes_received": 450, - "min_ms": 0.4309040000123332, - "max_ms": 22.869058999987146, - "mean_ms": 8.07407659999626, - "median_ms": 4.869437999985848, - "p95_ms": 20.646684199988385, + "min_ms": 0.36055399999668225, + "max_ms": 20.598788000029344, + "mean_ms": 7.745161599996209, + "median_ms": 5.789108999977088, + "p95_ms": 18.78783120002936, "result_summary": { "present_count": 5, "empty_count": 5, @@ -12526,9 +12526,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 6.580053999982738, + "duration_ms": 6.456696000043394, "success": true, - "started_at_unix": 1789970947.9032578, + "started_at_unix": 1790057251.139857, "bytes_sent": 289, "bytes_received": 90, "request_id": 20, @@ -12556,9 +12556,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 11.757184999993342, + "duration_ms": 0.43335299994851084, "success": true, - "started_at_unix": 1789970947.9099627, + "started_at_unix": 1790057251.146438, "bytes_sent": 289, "bytes_received": 90, "request_id": 21, @@ -12586,9 +12586,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 0.44379700000263256, + "duration_ms": 0.36055399999668225, "success": true, - "started_at_unix": 1789970947.9219215, + "started_at_unix": 1790057251.1469724, "bytes_sent": 289, "bytes_received": 90, "request_id": 22, @@ -12616,9 +12616,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 0.4309040000123332, + "duration_ms": 11.544004000029418, "success": true, - "started_at_unix": 1789970947.9224918, + "started_at_unix": 1790057251.1474578, "bytes_sent": 289, "bytes_received": 90, "request_id": 23, @@ -12646,9 +12646,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 22.869058999987146, + "duration_ms": 20.598788000029344, "success": true, - "started_at_unix": 1789970947.9230497, + "started_at_unix": 1790057251.1592278, "bytes_sent": 289, "bytes_received": 90, "request_id": 24, @@ -12676,9 +12676,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.869437999985848, + "duration_ms": 5.789108999977088, "success": true, - "started_at_unix": 1789970947.9461212, + "started_at_unix": 1790057251.180001, "bytes_sent": 289, "bytes_received": 90, "request_id": 25, @@ -12721,11 +12721,11 @@ "failure_count": 0, "bytes_sent": 1280, "bytes_received": 825, - "min_ms": 0.5293359999996028, - "max_ms": 26.172783000021127, - "mean_ms": 10.37552040000378, - "median_ms": 10.30788599999255, - "p95_ms": 23.8022300000182, + "min_ms": 0.4651589999866701, + "max_ms": 25.949126999989858, + "mean_ms": 15.403827599993747, + "median_ms": 13.964898999972775, + "p95_ms": 25.77936760000057, "result_summary": { "present_count": 5, "empty_count": 0, @@ -12785,9 +12785,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 13.67281299999945, + "duration_ms": 18.530942999973377, "success": true, - "started_at_unix": 1789970947.9513714, + "started_at_unix": 1790057251.186157, "bytes_sent": 256, "bytes_received": 165, "request_id": 26, @@ -12815,9 +12815,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 14.320018000006485, + "duration_ms": 11.539622999976018, "success": true, - "started_at_unix": 1789970947.9709172, + "started_at_unix": 1790057251.2051144, "bytes_sent": 256, "bytes_received": 165, "request_id": 27, @@ -12845,9 +12845,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.5475789999991321, + "duration_ms": 13.964898999972775, "success": true, - "started_at_unix": 1789970947.9854248, + "started_at_unix": 1790057251.2168176, "bytes_sent": 256, "bytes_received": 165, "request_id": 28, @@ -12875,9 +12875,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.5293359999996028, + "duration_ms": 0.4651589999866701, "success": true, - "started_at_unix": 1789970947.9861262, + "started_at_unix": 1790057251.2309225, "bytes_sent": 256, "bytes_received": 165, "request_id": 29, @@ -12905,9 +12905,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 10.30788599999255, + "duration_ms": 25.100330000043414, "success": true, - "started_at_unix": 1789970947.9898722, + "started_at_unix": 1790057251.231503, "bytes_sent": 256, "bytes_received": 165, "request_id": 30, @@ -12935,9 +12935,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 26.172783000021127, + "duration_ms": 25.949126999989858, "success": true, - "started_at_unix": 1789970948.0029173, + "started_at_unix": 1790057251.2567637, "bytes_sent": 256, "bytes_received": 165, "request_id": 31, @@ -12969,9 +12969,9 @@ { "kind": "request", "method": "initialize", - "duration_ms": 2.262209999997822, + "duration_ms": 2.1555249999778425, "success": true, - "started_at_unix": 1789970942.4633904, + "started_at_unix": 1790057245.88093, "bytes_sent": 673, "bytes_received": 1314, "request_id": 1, @@ -12990,9 +12990,9 @@ { "kind": "notification", "method": "initialized", - "duration_ms": 0.05512299998144954, + "duration_ms": 0.02449599998044505, "success": true, - "started_at_unix": 1789970942.4657454, + "started_at_unix": 1790057245.8831654, "bytes_sent": 74, "bytes_received": 0, "request_id": null, @@ -13005,9 +13005,9 @@ { "kind": "notification", "method": "workspace/didChangeConfiguration", - "duration_ms": 0.021400000008497955, + "duration_ms": 0.030607999974563427, "success": true, - "started_at_unix": 1789970942.4658263, + "started_at_unix": 1790057245.8832223, "bytes_sent": 659, "bytes_received": 0, "request_id": null, @@ -13023,9 +13023,9 @@ { "kind": "notification", "method": "textDocument/didOpen", - "duration_ms": 0.020879000004470072, + "duration_ms": 0.0316189999693961, "success": true, - "started_at_unix": 1789970942.465943, + "started_at_unix": 1790057245.8833451, "bytes_sent": 773, "bytes_received": 0, "request_id": null, @@ -13041,9 +13041,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 1124.1727530000105, + "duration_ms": 1100.6382479999957, "success": true, - "started_at_unix": 1789970942.4660165, + "started_at_unix": 1790057245.8834515, "bytes_sent": 288, "bytes_received": 886, "request_id": 2, @@ -13071,9 +13071,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4306.5086600000195, + "duration_ms": 4149.181726999985, "success": true, - "started_at_unix": 1789970943.5903263, + "started_at_unix": 1790057246.9842086, "bytes_sent": 288, "bytes_received": 886, "request_id": 3, @@ -13101,9 +13101,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 0.33773300000916606, + "duration_ms": 0.33235400002240567, "success": true, - "started_at_unix": 1789970947.8970642, + "started_at_unix": 1790057251.1336625, "bytes_sent": 288, "bytes_received": 886, "request_id": 4, @@ -13131,9 +13131,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 0.3317780000031689, + "duration_ms": 0.31156900001860777, "success": true, - "started_at_unix": 1789970947.897503, + "started_at_unix": 1790057251.1340916, "bytes_sent": 288, "bytes_received": 886, "request_id": 5, @@ -13161,9 +13161,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 0.30295400000568407, + "duration_ms": 0.2913049999619943, "success": true, - "started_at_unix": 1789970947.897925, + "started_at_unix": 1790057251.1345308, "bytes_sent": 288, "bytes_received": 886, "request_id": 6, @@ -13191,9 +13191,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 0.29053099999032383, + "duration_ms": 0.26465500002359477, "success": true, - "started_at_unix": 1789970947.8983152, + "started_at_unix": 1790057251.1349444, "bytes_sent": 288, "bytes_received": 886, "request_id": 7, @@ -13221,9 +13221,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.2825060000191115, + "duration_ms": 0.23598100000299382, "success": true, - "started_at_unix": 1789970947.8988101, + "started_at_unix": 1790057251.1354434, "bytes_sent": 254, "bytes_received": 179, "request_id": 8, @@ -13251,9 +13251,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.21665299999540366, + "duration_ms": 0.20662599996512654, "success": true, - "started_at_unix": 1789970947.8991296, + "started_at_unix": 1790057251.135726, "bytes_sent": 254, "bytes_received": 179, "request_id": 9, @@ -13281,9 +13281,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.21488999999519365, + "duration_ms": 0.20455300000321586, "success": true, - "started_at_unix": 1789970947.8993902, + "started_at_unix": 1790057251.135989, "bytes_sent": 255, "bytes_received": 180, "request_id": 10, @@ -13311,9 +13311,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.21310600001811508, + "duration_ms": 0.20121599999356476, "success": true, - "started_at_unix": 1789970947.8996463, + "started_at_unix": 1790057251.1362467, "bytes_sent": 255, "bytes_received": 180, "request_id": 11, @@ -13341,9 +13341,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.21088299999405535, + "duration_ms": 0.19997399999738263, "success": true, - "started_at_unix": 1789970947.8998988, + "started_at_unix": 1790057251.1365013, "bytes_sent": 255, "bytes_received": 180, "request_id": 12, @@ -13371,9 +13371,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.20947899997736386, + "duration_ms": 0.21151600003577187, "success": true, - "started_at_unix": 1789970947.9001493, + "started_at_unix": 1790057251.1367548, "bytes_sent": 255, "bytes_received": 180, "request_id": 13, @@ -13401,9 +13401,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.1897159999989526, + "duration_ms": 1.068386999975246, "success": true, - "started_at_unix": 1789970947.9004724, + "started_at_unix": 1790057251.1371124, "bytes_sent": 260, "bytes_received": 314, "request_id": 14, @@ -13431,9 +13431,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.22810499999081912, + "duration_ms": 0.20743800001810087, "success": true, - "started_at_unix": 1789970947.9017026, + "started_at_unix": 1790057251.1382349, "bytes_sent": 260, "bytes_received": 314, "request_id": 15, @@ -13461,9 +13461,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.22398699999826022, + "duration_ms": 0.20842899999706788, "success": true, - "started_at_unix": 1789970947.9019814, + "started_at_unix": 1790057251.1385088, "bytes_sent": 260, "bytes_received": 314, "request_id": 16, @@ -13491,9 +13491,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.2154710000183968, + "duration_ms": 0.20352000001366832, "success": true, - "started_at_unix": 1789970947.9022539, + "started_at_unix": 1790057251.1387832, "bytes_sent": 260, "bytes_received": 314, "request_id": 17, @@ -13521,9 +13521,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.22129199999199045, + "duration_ms": 0.20325999997794497, "success": true, - "started_at_unix": 1789970947.9025466, + "started_at_unix": 1790057251.1390815, "bytes_sent": 260, "bytes_received": 314, "request_id": 18, @@ -13551,9 +13551,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.21463900000640024, + "duration_ms": 0.2015769999843542, "success": true, - "started_at_unix": 1789970947.9028137, + "started_at_unix": 1790057251.1393485, "bytes_sent": 260, "bytes_received": 314, "request_id": 19, @@ -13581,9 +13581,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.030186000003595836, + "duration_ms": 0.03371200000401586, "success": true, - "started_at_unix": 1789970947.9032147, + "started_at_unix": 1790057251.1398108, "bytes_sent": 360, "bytes_received": 0, "request_id": null, @@ -13600,9 +13600,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 6.580053999982738, + "duration_ms": 6.456696000043394, "success": true, - "started_at_unix": 1789970947.9032578, + "started_at_unix": 1790057251.139857, "bytes_sent": 289, "bytes_received": 90, "request_id": 20, @@ -13630,9 +13630,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.028583000016624283, + "duration_ms": 0.03413400003182687, "success": true, - "started_at_unix": 1789970947.9098759, + "started_at_unix": 1790057251.1463616, "bytes_sent": 333, "bytes_received": 0, "request_id": null, @@ -13649,9 +13649,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.030657000024802983, + "duration_ms": 0.02111899999590605, "success": true, - "started_at_unix": 1789970947.9099164, + "started_at_unix": 1790057251.1464071, "bytes_sent": 360, "bytes_received": 0, "request_id": null, @@ -13668,9 +13668,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 11.757184999993342, + "duration_ms": 0.43335299994851084, "success": true, - "started_at_unix": 1789970947.9099627, + "started_at_unix": 1790057251.146438, "bytes_sent": 289, "bytes_received": 90, "request_id": 21, @@ -13698,9 +13698,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.0346049999961906, + "duration_ms": 0.02144000001180757, "success": true, - "started_at_unix": 1789970947.9218268, + "started_at_unix": 1790057251.1469176, "bytes_sent": 333, "bytes_received": 0, "request_id": null, @@ -13717,9 +13717,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.031269000004385816, + "duration_ms": 0.01398599999902217, "success": true, - "started_at_unix": 1789970947.9218764, + "started_at_unix": 1790057251.146947, "bytes_sent": 360, "bytes_received": 0, "request_id": null, @@ -13736,9 +13736,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 0.44379700000263256, + "duration_ms": 0.36055399999668225, "success": true, - "started_at_unix": 1789970947.9219215, + "started_at_unix": 1790057251.1469724, "bytes_sent": 289, "bytes_received": 90, "request_id": 22, @@ -13766,9 +13766,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.028082000000040352, + "duration_ms": 0.028923999991548044, "success": true, - "started_at_unix": 1789970947.922409, + "started_at_unix": 1790057251.1473749, "bytes_sent": 333, "bytes_received": 0, "request_id": null, @@ -13785,9 +13785,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.030917999993107514, + "duration_ms": 0.03194999999323045, "success": true, - "started_at_unix": 1789970947.9224482, + "started_at_unix": 1790057251.1474142, "bytes_sent": 360, "bytes_received": 0, "request_id": null, @@ -13804,9 +13804,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 0.4309040000123332, + "duration_ms": 11.544004000029418, "success": true, - "started_at_unix": 1789970947.9224918, + "started_at_unix": 1790057251.1474578, "bytes_sent": 289, "bytes_received": 90, "request_id": 23, @@ -13834,9 +13834,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.027090000003227033, + "duration_ms": 0.07377800000085699, "success": true, - "started_at_unix": 1789970947.9229658, + "started_at_unix": 1790057251.159074, "bytes_sent": 333, "bytes_received": 0, "request_id": null, @@ -13853,9 +13853,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.0341139999875395, + "duration_ms": 0.05226800004720644, "success": true, - "started_at_unix": 1789970947.9230032, + "started_at_unix": 1790057251.1591623, "bytes_sent": 361, "bytes_received": 0, "request_id": null, @@ -13872,9 +13872,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 22.869058999987146, + "duration_ms": 20.598788000029344, "success": true, - "started_at_unix": 1789970947.9230497, + "started_at_unix": 1790057251.1592278, "bytes_sent": 289, "bytes_received": 90, "request_id": 24, @@ -13902,9 +13902,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03860199998939606, + "duration_ms": 0.033892999965701165, "success": true, - "started_at_unix": 1789970947.946028, + "started_at_unix": 1790057251.1799223, "bytes_sent": 334, "bytes_received": 0, "request_id": null, @@ -13921,9 +13921,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02443599998969148, + "duration_ms": 0.020719000019653322, "success": true, - "started_at_unix": 1789970947.9460819, + "started_at_unix": 1790057251.179969, "bytes_sent": 361, "bytes_received": 0, "request_id": null, @@ -13940,9 +13940,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.869437999985848, + "duration_ms": 5.789108999977088, "success": true, - "started_at_unix": 1789970947.9461212, + "started_at_unix": 1790057251.180001, "bytes_sent": 289, "bytes_received": 90, "request_id": 25, @@ -13970,9 +13970,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03312200001914789, + "duration_ms": 0.030497000011564523, "success": true, - "started_at_unix": 1789970947.9510646, + "started_at_unix": 1790057251.1858552, "bytes_sent": 334, "bytes_received": 0, "request_id": null, @@ -13989,9 +13989,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02813199998286109, + "duration_ms": 0.029654999991635123, "success": true, - "started_at_unix": 1789970947.9513307, + "started_at_unix": 1790057251.186114, "bytes_sent": 373, "bytes_received": 0, "request_id": null, @@ -14008,9 +14008,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 13.67281299999945, + "duration_ms": 18.530942999973377, "success": true, - "started_at_unix": 1789970947.9513714, + "started_at_unix": 1790057251.186157, "bytes_sent": 256, "bytes_received": 165, "request_id": 26, @@ -14038,9 +14038,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 5.6987929999934295, + "duration_ms": 0.26549699998668075, "success": true, - "started_at_unix": 1789970947.9651287, + "started_at_unix": 1790057251.2047558, "bytes_sent": 334, "bytes_received": 0, "request_id": null, @@ -14057,9 +14057,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.052538000005597496, + "duration_ms": 0.060712999982115434, "success": true, - "started_at_unix": 1789970947.9708476, + "started_at_unix": 1790057251.2050378, "bytes_sent": 373, "bytes_received": 0, "request_id": null, @@ -14076,9 +14076,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 14.320018000006485, + "duration_ms": 11.539622999976018, "success": true, - "started_at_unix": 1789970947.9709172, + "started_at_unix": 1790057251.2051144, "bytes_sent": 256, "bytes_received": 165, "request_id": 27, @@ -14106,9 +14106,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03858300001979842, + "duration_ms": 0.034163999998781946, "success": true, - "started_at_unix": 1789970947.9853315, + "started_at_unix": 1790057251.2167315, "bytes_sent": 334, "bytes_received": 0, "request_id": null, @@ -14125,9 +14125,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02782200002116042, + "duration_ms": 0.027772000009917974, "success": true, - "started_at_unix": 1789970947.9853835, + "started_at_unix": 1790057251.2167785, "bytes_sent": 373, "bytes_received": 0, "request_id": null, @@ -14144,9 +14144,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.5475789999991321, + "duration_ms": 13.964898999972775, "success": true, - "started_at_unix": 1789970947.9854248, + "started_at_unix": 1790057251.2168176, "bytes_sent": 256, "bytes_received": 165, "request_id": 28, @@ -14174,9 +14174,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03285100001448882, + "duration_ms": 0.0292249999915839, "success": true, - "started_at_unix": 1789970947.9860446, + "started_at_unix": 1790057251.2308445, "bytes_sent": 334, "bytes_received": 0, "request_id": null, @@ -14193,9 +14193,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02499699999702898, + "duration_ms": 0.024536000012176373, "success": true, - "started_at_unix": 1789970947.9860892, + "started_at_unix": 1790057251.2308862, "bytes_sent": 373, "bytes_received": 0, "request_id": null, @@ -14212,9 +14212,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.5293359999996028, + "duration_ms": 0.4651589999866701, "success": true, - "started_at_unix": 1789970947.9861262, + "started_at_unix": 1790057251.2309225, "bytes_sent": 256, "bytes_received": 165, "request_id": 29, @@ -14242,9 +14242,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 3.0781419999925674, + "duration_ms": 0.022451999996064842, "success": true, - "started_at_unix": 1789970947.9867234, + "started_at_unix": 1790057251.2314289, "bytes_sent": 334, "bytes_received": 0, "request_id": null, @@ -14261,9 +14261,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.039633999989519, + "duration_ms": 0.030106999986401206, "success": true, - "started_at_unix": 1789970947.9898171, + "started_at_unix": 1790057251.2314603, "bytes_sent": 373, "bytes_received": 0, "request_id": null, @@ -14280,9 +14280,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 10.30788599999255, + "duration_ms": 25.100330000043414, "success": true, - "started_at_unix": 1789970947.9898722, + "started_at_unix": 1790057251.231503, "bytes_sent": 256, "bytes_received": 165, "request_id": 30, @@ -14310,9 +14310,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 2.534229999980653, + "duration_ms": 0.03377400003046205, "success": true, - "started_at_unix": 1789970948.0002735, + "started_at_unix": 1790057251.256679, "bytes_sent": 334, "bytes_received": 0, "request_id": null, @@ -14329,9 +14329,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.06981900000369023, + "duration_ms": 0.024386000006870745, "success": true, - "started_at_unix": 1789970948.0028281, + "started_at_unix": 1790057251.256727, "bytes_sent": 373, "bytes_received": 0, "request_id": null, @@ -14348,9 +14348,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 26.172783000021127, + "duration_ms": 25.949126999989858, "success": true, - "started_at_unix": 1789970948.0029173, + "started_at_unix": 1790057251.2567637, "bytes_sent": 256, "bytes_received": 165, "request_id": 31, @@ -14378,9 +14378,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.04139699998972901, + "duration_ms": 0.042689999986578187, "success": true, - "started_at_unix": 1789970948.0291991, + "started_at_unix": 1790057251.282824, "bytes_sent": 334, "bytes_received": 0, "request_id": null, @@ -14397,9 +14397,9 @@ { "kind": "notification", "method": "textDocument/didClose", - "duration_ms": 0.027461000001949287, + "duration_ms": 0.026940999987346004, "success": true, - "started_at_unix": 1789970948.0293667, + "started_at_unix": 1790057251.283003, "bytes_sent": 213, "bytes_received": 0, "request_id": null, @@ -14412,9 +14412,9 @@ { "kind": "request", "method": "shutdown", - "duration_ms": 0.25484500000061416, + "duration_ms": 1.8772890000491316, "success": true, - "started_at_unix": 1789970948.0294056, + "started_at_unix": 1790057251.2830412, "bytes_sent": 67, "bytes_received": 61, "request_id": 32, @@ -14432,9 +14432,9 @@ { "kind": "notification", "method": "exit", - "duration_ms": 0.027211000002580477, + "duration_ms": 0.026781000030950963, "success": true, - "started_at_unix": 1789970948.0296817, + "started_at_unix": 1790057251.2849395, "bytes_sent": 55, "bytes_received": 0, "request_id": null, @@ -14456,24 +14456,24 @@ "environment_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/.venv", "python_executable": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_core/.venv/bin/python", "success": false, - "total_duration_ms": 225.07168600000682, + "total_duration_ms": 219.88306200000807, "error_message": null, "summary": { "request_count": 111, "notification_count": 25, - "success_count": 107, - "failure_count": 4, + "success_count": 109, + "failure_count": 2, "bytes_sent": 29067, - "bytes_received": 25776, - "min_ms": 0.12963200001081532, - "max_ms": 120.4904420000048, - "mean_ms": 1.9933941351338047, - "median_ms": 0.21553199999857497, - "p95_ms": 2.0633020000104807, + "bytes_received": 27477, + "min_ms": 0.11627699996097363, + "max_ms": 118.20932300003051, + "mean_ms": 1.9378095675690659, + "median_ms": 0.21200600002657666, + "p95_ms": 1.906294500003014, "result_summary": { - "present_count": 94, + "present_count": 96, "empty_count": 13, - "non_empty_count": 94, + "non_empty_count": 96, "non_empty_rate": 1.0, "metrics": { "semantic_token_count": { @@ -14486,9 +14486,9 @@ "size_chars": { "min": 0.0, "max": 1395.0, - "mean": 249.42056074766356, + "mean": 263.64220183486236, "median": 1.0, - "p95": 876.0 + "p95": 1171.7999999999972 }, "token_type_count": { "min": 6.0, @@ -14500,7 +14500,7 @@ "top_level_count": { "min": 1.0, "max": 8.0, - "mean": 6.782608695652174, + "mean": 6.8125, "median": 7.0, "p95": 8.0 }, @@ -14514,9 +14514,9 @@ "type_query_failure_count": { "min": 0.0, "max": 2.0, - "mean": 0.6666666666666666, + "mean": 0.3333333333333333, "median": 0.0, - "p95": 2.0 + "p95": 1.5 }, "top_level_kind": { "representative": "number", @@ -14526,42 +14526,42 @@ "number", "string" ], - "count": 107 + "count": 109 } } }, "by_method": { "typeServer/semanticTokens": { "point_count": 1, - "min_ms": 0.9694350000017948, - "max_ms": 5.130374999993137, - "mean_ms": 1.8089855999960491, - "median_ms": 0.9797170000069855, - "p95_ms": 4.302921999993713 + "min_ms": 0.9333149999974921, + "max_ms": 5.091916000026231, + "mean_ms": 1.7956937999997535, + "median_ms": 0.9805519999872558, + "p95_ms": 4.274075400019227 }, "typeServer/getComputedType": { "point_count": 5, - "min_ms": 0.187759999988657, - "max_ms": 0.26742500000409564, - "mean_ms": 0.21595840000031785, - "median_ms": 0.21553199999857497, - "p95_ms": 0.2455134000001635 + "min_ms": 0.17332400000213966, + "max_ms": 0.24433599998019417, + "mean_ms": 0.21142468000562076, + "median_ms": 0.21301800001083393, + "p95_ms": 0.23814720001382733 }, "typeServer/getDeclaredType": { "point_count": 1, - "min_ms": 0.2299279999817827, - "max_ms": 0.24896400000784524, - "mean_ms": 0.24163579999481044, - "median_ms": 0.24135900000032962, - "p95_ms": 0.24861320000582054 + "min_ms": 0.22377800002004733, + "max_ms": 0.23395699997763586, + "mean_ms": 0.22808620000205337, + "median_ms": 0.2280260000020462, + "p95_ms": 0.23321759998680136 }, "typeServer/getExpectedType": { "point_count": 1, - "min_ms": 0.23229299998206443, - "max_ms": 0.2545010000005732, - "mean_ms": 0.24306999999339496, - "median_ms": 0.24253099999782535, - "p95_ms": 0.2527241999985108 + "min_ms": 0.21055400003433533, + "max_ms": 0.2213829999959671, + "mean_ms": 0.21547460000874707, + "median_ms": 0.21405000001095686, + "p95_ms": 0.22099039999829984 } }, "validation": { @@ -14587,11 +14587,11 @@ "failure_count": 0, "bytes_sent": 0, "bytes_received": 0, - "min_ms": 0.9694350000017948, - "max_ms": 5.130374999993137, - "mean_ms": 1.8089855999960491, - "median_ms": 0.9797170000069855, - "p95_ms": 4.302921999993713, + "min_ms": 0.9333149999974921, + "max_ms": 5.091916000026231, + "mean_ms": 1.7956937999997535, + "median_ms": 0.9805519999872558, + "p95_ms": 4.274075400019227, "result_summary": { "present_count": 5, "empty_count": 0, @@ -14635,10 +14635,10 @@ }, "type_query_failure_count": { "min": 0.0, - "max": 2.0, - "mean": 0.4, + "max": 0.0, + "mean": 0.0, "median": 0.0, - "p95": 1.5999999999999996 + "p95": 0.0 }, "top_level_kind": { "representative": "dict", @@ -14672,9 +14672,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 1.1501019999968776, + "duration_ms": 0.3941260000033253, "success": false, - "started_at_unix": 1789970950.7653813, + "started_at_unix": 1790057253.9519916, "bytes_sent": 305, "bytes_received": 132, "request_id": 4, @@ -14696,14 +14696,14 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.1637029999983497, + "duration_ms": 0.3341240000054313, "success": false, - "started_at_unix": 1789970950.76658, + "started_at_unix": 1790057253.9524438, "bytes_sent": 306, "bytes_received": 132, "request_id": 5, "error_code": -32802, - "error_message": "Snapshot outdated: client sent 2, server is at 3", + "error_message": "Snapshot outdated: client sent 2, server is at 4", "result_preview": null, "result_summary": {}, "context": { @@ -14720,9 +14720,9 @@ { "kind": "request", "method": "typeServer/semanticTokens", - "duration_ms": 2.155673000004299, + "duration_ms": 1.5213840000001255, "success": true, - "started_at_unix": 1789970950.766964, + "started_at_unix": 1790057253.9529161, "bytes_sent": 0, "bytes_received": 0, "request_id": "local-13", @@ -14753,16 +14753,23 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.18111700001099962, - "success": false, - "started_at_unix": 1789970950.7678435, + "duration_ms": 4.283385999997336, + "success": true, + "started_at_unix": 1790057253.9534702, "bytes_sent": 305, - "bytes_received": 132, + "bytes_received": 1314, "request_id": 7, - "error_code": -32802, - "error_message": "Snapshot outdated: client sent 3, server is at 4", - "result_preview": null, - "result_summary": {}, + "error_code": null, + "error_message": null, + "result_preview": "{'boundToType': None, 'declaration': {'category': 5, 'kind': 0, 'name': 'len', 'node': {'range': {'end': {'character': 7, 'line': 4845}, 'start': {'character...", + "result_summary": { + "present": true, + "empty": false, + "top_level_kind": "dict", + "size_chars": 1391, + "top_level_count": 8, + "has_declaration_node": true + }, "context": { "suite": "tsp_core", "label": "builtins semantic tokens", @@ -14777,16 +14784,23 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.17167199999335025, - "success": false, - "started_at_unix": 1789970950.7680607, + "duration_ms": 0.23174299997208436, + "success": true, + "started_at_unix": 1790057253.957893, "bytes_sent": 306, - "bytes_received": 132, + "bytes_received": 645, "request_id": 8, - "error_code": -32802, - "error_message": "Snapshot outdated: client sent 3, server is at 4", - "result_preview": null, - "result_summary": {}, + "error_code": null, + "error_message": null, + "result_preview": "{'declaration': {'category': 6, 'kind': 0, 'name': 'list', 'node': {'range': {'end': {'character': 10, 'line': 3463}, 'start': {'character': 6, 'line': 3463}...", + "result_summary": { + "present": true, + "empty": false, + "top_level_kind": "dict", + "size_chars": 652, + "top_level_count": 7, + "has_declaration_node": true + }, "context": { "suite": "tsp_core", "label": "builtins semantic tokens", @@ -14801,9 +14815,9 @@ { "kind": "request", "method": "typeServer/semanticTokens", - "duration_ms": 0.9797170000069855, + "duration_ms": 5.091916000026231, "success": true, - "started_at_unix": 1789970950.7683144, + "started_at_unix": 1790057253.958255, "bytes_sent": 0, "bytes_received": 0, "request_id": "local-17", @@ -14818,7 +14832,7 @@ "top_level_count": 6, "semantic_token_count": 30, "type_query_count": 2, - "type_query_failure_count": 2, + "type_query_failure_count": 0, "token_type_count": 6 }, "context": { @@ -14834,9 +14848,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 4.331756999988556, + "duration_ms": 0.24184199997989708, "success": true, - "started_at_unix": 1789970950.768901, + "started_at_unix": 1790057253.9588366, "bytes_sent": 306, "bytes_received": 1315, "request_id": 10, @@ -14865,11 +14879,11 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2325629999972989, + "duration_ms": 0.2139299999726063, "success": true, - "started_at_unix": 1789970950.7733414, + "started_at_unix": 1790057253.9591777, "bytes_sent": 307, - "bytes_received": 646, + "bytes_received": 647, "request_id": 11, "error_code": null, "error_message": null, @@ -14878,7 +14892,7 @@ "present": true, "empty": false, "top_level_kind": "dict", - "size_chars": 652, + "size_chars": 653, "top_level_count": 7, "has_declaration_node": true }, @@ -14896,9 +14910,9 @@ { "kind": "request", "method": "typeServer/semanticTokens", - "duration_ms": 5.130374999993137, + "duration_ms": 1.0027129999912177, "success": true, - "started_at_unix": 1789970950.7736983, + "started_at_unix": 1790057253.9595048, "bytes_sent": 0, "bytes_received": 0, "request_id": "local-21", @@ -14929,11 +14943,11 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.24471599999742466, + "duration_ms": 0.24396599997089652, "success": true, - "started_at_unix": 1789970950.7742655, + "started_at_unix": 1790057253.9600732, "bytes_sent": 306, - "bytes_received": 1315, + "bytes_received": 1319, "request_id": 13, "error_code": null, "error_message": null, @@ -14942,7 +14956,7 @@ "present": true, "empty": false, "top_level_kind": "dict", - "size_chars": 1391, + "size_chars": 1395, "top_level_count": 8, "has_declaration_node": true }, @@ -14960,11 +14974,11 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.23401600000738654, + "duration_ms": 0.22874799998362505, "success": true, - "started_at_unix": 1789970950.7746034, + "started_at_unix": 1790057253.9604132, "bytes_sent": 307, - "bytes_received": 647, + "bytes_received": 648, "request_id": 14, "error_code": null, "error_message": null, @@ -14973,7 +14987,7 @@ "present": true, "empty": false, "top_level_kind": "dict", - "size_chars": 653, + "size_chars": 654, "top_level_count": 7, "has_declaration_node": true }, @@ -14991,9 +15005,9 @@ { "kind": "request", "method": "typeServer/semanticTokens", - "duration_ms": 0.972290999982306, + "duration_ms": 0.9805519999872558, "success": true, - "started_at_unix": 1789970950.7749488, + "started_at_unix": 1790057253.9607546, "bytes_sent": 0, "bytes_received": 0, "request_id": "local-25", @@ -15024,9 +15038,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.24046799998700408, + "duration_ms": 0.23232400002370923, "success": true, - "started_at_unix": 1789970950.7754822, + "started_at_unix": 1790057253.9612768, "bytes_sent": 306, "bytes_received": 1319, "request_id": 16, @@ -15055,9 +15069,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.21676399998682427, + "duration_ms": 0.20802899996397173, "success": true, - "started_at_unix": 1789970950.7758622, + "started_at_unix": 1790057253.9616344, "bytes_sent": 307, "bytes_received": 648, "request_id": 17, @@ -15086,9 +15100,9 @@ { "kind": "request", "method": "typeServer/semanticTokens", - "duration_ms": 0.9931099999960225, + "duration_ms": 0.9699729999965712, "success": true, - "started_at_unix": 1789970950.7761889, + "started_at_unix": 1790057253.9619548, "bytes_sent": 0, "bytes_received": 0, "request_id": "local-29", @@ -15119,9 +15133,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.26749799999947754, + "duration_ms": 0.24059899999429035, "success": true, - "started_at_unix": 1789970950.7767406, + "started_at_unix": 1790057253.962506, "bytes_sent": 306, "bytes_received": 1319, "request_id": 19, @@ -15150,9 +15164,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.21834599999692728, + "duration_ms": 0.19702800000231946, "success": true, - "started_at_unix": 1789970950.777102, + "started_at_unix": 1790057253.9628422, "bytes_sent": 307, "bytes_received": 648, "request_id": 20, @@ -15181,9 +15195,9 @@ { "kind": "request", "method": "typeServer/semanticTokens", - "duration_ms": 0.9694350000017948, + "duration_ms": 0.9333149999974921, "success": true, - "started_at_unix": 1789970950.7774286, + "started_at_unix": 1790057253.963149, "bytes_sent": 0, "bytes_received": 0, "request_id": "local-33", @@ -15229,11 +15243,11 @@ "failure_count": 0, "bytes_sent": 1525, "bytes_received": 1760, - "min_ms": 0.187759999988657, - "max_ms": 0.2076970000075562, - "mean_ms": 0.19501120000313676, - "median_ms": 0.1929290000077799, - "p95_ms": 0.20543680000741915, + "min_ms": 0.17332400000213966, + "max_ms": 0.1850159999889911, + "mean_ms": 0.17888419998826066, + "median_ms": 0.17902399997637986, + "p95_ms": 0.18432459999075945, "result_summary": { "present_count": 5, "empty_count": 0, @@ -15286,9 +15300,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.1992510000263792, + "duration_ms": 0.1902860000200235, "success": true, - "started_at_unix": 1789970950.777777, + "started_at_unix": 1790057253.963477, "bytes_sent": 305, "bytes_received": 352, "request_id": 22, @@ -15316,9 +15330,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.19639600000687096, + "duration_ms": 0.18155899999783287, "success": true, - "started_at_unix": 1789970950.77818, + "started_at_unix": 1790057253.9638574, "bytes_sent": 305, "bytes_received": 352, "request_id": 24, @@ -15346,9 +15360,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.19027400000481975, + "duration_ms": 0.17902399997637986, "success": true, - "started_at_unix": 1789970950.7785923, + "started_at_unix": 1790057253.9642365, "bytes_sent": 305, "bytes_received": 352, "request_id": 26, @@ -15376,9 +15390,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.187759999988657, + "duration_ms": 0.1850159999889911, "success": true, - "started_at_unix": 1789970950.7790058, + "started_at_unix": 1790057253.9646294, "bytes_sent": 305, "bytes_received": 352, "request_id": 28, @@ -15406,9 +15420,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.1929290000077799, + "duration_ms": 0.17332400000213966, "success": true, - "started_at_unix": 1789970950.7794032, + "started_at_unix": 1790057253.9650087, "bytes_sent": 305, "bytes_received": 352, "request_id": 30, @@ -15436,9 +15450,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2076970000075562, + "duration_ms": 0.17549799997595983, "success": true, - "started_at_unix": 1789970950.7798283, + "started_at_unix": 1790057253.96538, "bytes_sent": 305, "bytes_received": 352, "request_id": 32, @@ -15481,11 +15495,11 @@ "failure_count": 0, "bytes_sent": 1525, "bytes_received": 3240, - "min_ms": 0.2299279999817827, - "max_ms": 0.24896400000784524, - "mean_ms": 0.24163579999481044, - "median_ms": 0.24135900000032962, - "p95_ms": 0.24861320000582054, + "min_ms": 0.22377800002004733, + "max_ms": 0.23395699997763586, + "mean_ms": 0.22808620000205337, + "median_ms": 0.2280260000020462, + "p95_ms": 0.23321759998680136, "result_summary": { "present_count": 5, "empty_count": 0, @@ -15538,9 +15552,9 @@ { "kind": "request", "method": "typeServer/getDeclaredType", - "duration_ms": 0.28423999998494764, + "duration_ms": 0.24261300001171549, "success": true, - "started_at_unix": 1789970950.7804139, + "started_at_unix": 1790057253.9659274, "bytes_sent": 305, "bytes_received": 648, "request_id": 34, @@ -15568,9 +15582,9 @@ { "kind": "request", "method": "typeServer/getDeclaredType", - "duration_ms": 0.24896400000784524, + "duration_ms": 0.23026000002346336, "success": true, - "started_at_unix": 1789970950.7809498, + "started_at_unix": 1790057253.9664063, "bytes_sent": 305, "bytes_received": 648, "request_id": 36, @@ -15598,9 +15612,9 @@ { "kind": "request", "method": "typeServer/getDeclaredType", - "duration_ms": 0.24135900000032962, + "duration_ms": 0.23395699997763586, "success": true, - "started_at_unix": 1789970950.7814624, + "started_at_unix": 1790057253.9668875, "bytes_sent": 305, "bytes_received": 648, "request_id": 38, @@ -15628,9 +15642,9 @@ { "kind": "request", "method": "typeServer/getDeclaredType", - "duration_ms": 0.2407179999863729, + "duration_ms": 0.2280260000020462, "success": true, - "started_at_unix": 1789970950.7819874, + "started_at_unix": 1790057253.9673676, "bytes_sent": 305, "bytes_received": 648, "request_id": 40, @@ -15658,9 +15672,9 @@ { "kind": "request", "method": "typeServer/getDeclaredType", - "duration_ms": 0.24720999999772175, + "duration_ms": 0.22440999998707412, "success": true, - "started_at_unix": 1789970950.7824771, + "started_at_unix": 1790057253.9678385, "bytes_sent": 305, "bytes_received": 648, "request_id": 42, @@ -15688,9 +15702,9 @@ { "kind": "request", "method": "typeServer/getDeclaredType", - "duration_ms": 0.2299279999817827, + "duration_ms": 0.22377800002004733, "success": true, - "started_at_unix": 1789970950.7830033, + "started_at_unix": 1790057253.9683037, "bytes_sent": 305, "bytes_received": 648, "request_id": 44, @@ -15733,11 +15747,11 @@ "failure_count": 0, "bytes_sent": 1500, "bytes_received": 1770, - "min_ms": 0.21553199999857497, - "max_ms": 0.24773399999844514, - "mean_ms": 0.23129500000322878, - "median_ms": 0.23297100000263526, - "p95_ms": 0.24551340000016353, + "min_ms": 0.2096320000077867, + "max_ms": 0.2260229999819785, + "mean_ms": 0.21598480000193376, + "median_ms": 0.21301800001083393, + "p95_ms": 0.22453719998338784, "result_summary": { "present_count": 5, "empty_count": 0, @@ -15790,9 +15804,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.3155950000177654, + "duration_ms": 0.21503099998199104, "success": true, - "started_at_unix": 1789970950.7835784, + "started_at_unix": 1790057253.9688852, "bytes_sent": 300, "bytes_received": 354, "request_id": 46, @@ -15820,9 +15834,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.21553199999857497, + "duration_ms": 0.2096320000077867, "success": true, - "started_at_unix": 1789970950.7841218, + "started_at_unix": 1790057253.9693139, "bytes_sent": 300, "bytes_received": 354, "request_id": 48, @@ -15850,9 +15864,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.22360700000945144, + "duration_ms": 0.2260229999819785, "success": true, - "started_at_unix": 1789970950.7845938, + "started_at_unix": 1790057253.96976, "bytes_sent": 300, "bytes_received": 354, "request_id": 50, @@ -15880,9 +15894,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.24773399999844514, + "duration_ms": 0.21301800001083393, "success": true, - "started_at_unix": 1789970950.7850451, + "started_at_unix": 1790057253.970214, "bytes_sent": 300, "bytes_received": 354, "request_id": 52, @@ -15910,9 +15924,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.23663100000703707, + "duration_ms": 0.21859399998902518, "success": true, - "started_at_unix": 1789970950.785548, + "started_at_unix": 1790057253.9706903, "bytes_sent": 300, "bytes_received": 354, "request_id": 54, @@ -15940,9 +15954,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.23297100000263526, + "duration_ms": 0.2126570000200445, "success": true, - "started_at_unix": 1789970950.7860317, + "started_at_unix": 1790057253.971138, "bytes_sent": 300, "bytes_received": 354, "request_id": 56, @@ -15985,11 +15999,11 @@ "failure_count": 0, "bytes_sent": 1535, "bytes_received": 305, - "min_ms": 0.206184000006715, - "max_ms": 0.23015100001089195, - "mean_ms": 0.22100959999988845, - "median_ms": 0.22363700000482822, - "p95_ms": 0.22983740000768194, + "min_ms": 0.20260800005189594, + "max_ms": 0.2243689999659182, + "mean_ms": 0.21187960001043393, + "median_ms": 0.21200600002657666, + "p95_ms": 0.22248739996939548, "result_summary": { "present_count": 0, "empty_count": 5, @@ -16035,9 +16049,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.22668399998337918, + "duration_ms": 0.22241599998551465, "success": true, - "started_at_unix": 1789970950.7865582, + "started_at_unix": 1790057253.9716685, "bytes_sent": 307, "bytes_received": 61, "request_id": 58, @@ -16064,9 +16078,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.22858299999484188, + "duration_ms": 0.21200600002657666, "success": true, - "started_at_unix": 1789970950.7869802, + "started_at_unix": 1790057253.972096, "bytes_sent": 307, "bytes_received": 61, "request_id": 60, @@ -16093,9 +16107,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.23015100001089195, + "duration_ms": 0.20545400002447423, "success": true, - "started_at_unix": 1789970950.7874093, + "started_at_unix": 1790057253.972519, "bytes_sent": 307, "bytes_received": 61, "request_id": 62, @@ -16122,9 +16136,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.22363700000482822, + "duration_ms": 0.21496099998330465, "success": true, - "started_at_unix": 1789970950.7878487, + "started_at_unix": 1790057253.9729228, "bytes_sent": 307, "bytes_received": 61, "request_id": 64, @@ -16151,9 +16165,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.206184000006715, + "duration_ms": 0.20260800005189594, "success": true, - "started_at_unix": 1789970950.788283, + "started_at_unix": 1790057253.973367, "bytes_sent": 307, "bytes_received": 61, "request_id": 66, @@ -16180,9 +16194,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2164929999821652, + "duration_ms": 0.2243689999659182, "success": true, - "started_at_unix": 1789970950.7886968, + "started_at_unix": 1790057253.9737716, "bytes_sent": 307, "bytes_received": 61, "request_id": 68, @@ -16224,11 +16238,11 @@ "failure_count": 0, "bytes_sent": 1515, "bytes_received": 1810, - "min_ms": 0.2072059999989051, - "max_ms": 0.23103999998852487, - "mean_ms": 0.2150063999977192, - "median_ms": 0.2109330000052978, - "p95_ms": 0.22797839998816016, + "min_ms": 0.21235700000943325, + "max_ms": 0.24433599998019417, + "mean_ms": 0.22634700002299724, + "median_ms": 0.22299700003713951, + "p95_ms": 0.24146879999307203, "result_summary": { "present_count": 5, "empty_count": 0, @@ -16281,9 +16295,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.23099000000570413, + "duration_ms": 0.23313600001984014, "success": true, - "started_at_unix": 1789970950.7891889, + "started_at_unix": 1790057253.9742978, "bytes_sent": 303, "bytes_received": 362, "request_id": 70, @@ -16311,9 +16325,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.23103999998852487, + "duration_ms": 0.23000000004458343, "success": true, - "started_at_unix": 1789970950.7896416, + "started_at_unix": 1790057253.9747782, "bytes_sent": 303, "bytes_received": 362, "request_id": 72, @@ -16341,9 +16355,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.21573199998670134, + "duration_ms": 0.24433599998019417, "success": true, - "started_at_unix": 1789970950.7902236, + "started_at_unix": 1790057253.975366, "bytes_sent": 303, "bytes_received": 362, "request_id": 74, @@ -16371,9 +16385,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2101210000091669, + "duration_ms": 0.22299700003713951, "success": true, - "started_at_unix": 1789970950.7906759, + "started_at_unix": 1790057253.975865, "bytes_sent": 303, "bytes_received": 362, "request_id": 76, @@ -16401,9 +16415,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2072059999989051, + "duration_ms": 0.2220450000436358, "success": true, - "started_at_unix": 1789970950.7911303, + "started_at_unix": 1790057253.9763262, "bytes_sent": 303, "bytes_received": 362, "request_id": 78, @@ -16431,9 +16445,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2109330000052978, + "duration_ms": 0.21235700000943325, "success": true, - "started_at_unix": 1789970950.7915776, + "started_at_unix": 1790057253.97681, "bytes_sent": 303, "bytes_received": 362, "request_id": 80, @@ -16476,11 +16490,11 @@ "failure_count": 0, "bytes_sent": 1525, "bytes_received": 1760, - "min_ms": 0.23229299998206443, - "max_ms": 0.2545010000005732, - "mean_ms": 0.24306999999339496, - "median_ms": 0.24253099999782535, - "p95_ms": 0.2527241999985108, + "min_ms": 0.21055400003433533, + "max_ms": 0.2213829999959671, + "mean_ms": 0.21547460000874707, + "median_ms": 0.21405000001095686, + "p95_ms": 0.22099039999829984, "result_summary": { "present_count": 5, "empty_count": 0, @@ -16533,9 +16547,9 @@ { "kind": "request", "method": "typeServer/getExpectedType", - "duration_ms": 0.3003699999908349, + "duration_ms": 0.23929200000338824, "success": true, - "started_at_unix": 1789970950.7921557, + "started_at_unix": 1790057253.977354, "bytes_sent": 305, "bytes_received": 352, "request_id": 82, @@ -16563,9 +16577,9 @@ { "kind": "request", "method": "typeServer/getExpectedType", - "duration_ms": 0.2545010000005732, + "duration_ms": 0.21405000001095686, "success": true, - "started_at_unix": 1789970950.7926805, + "started_at_unix": 1790057253.9778364, "bytes_sent": 305, "bytes_received": 352, "request_id": 84, @@ -16593,9 +16607,9 @@ { "kind": "request", "method": "typeServer/getExpectedType", - "duration_ms": 0.23229299998206443, + "duration_ms": 0.21942000000763073, "success": true, - "started_at_unix": 1789970950.7932043, + "started_at_unix": 1790057253.9783037, "bytes_sent": 305, "bytes_received": 352, "request_id": 86, @@ -16623,9 +16637,9 @@ { "kind": "request", "method": "typeServer/getExpectedType", - "duration_ms": 0.2404079999962505, + "duration_ms": 0.2213829999959671, "success": true, - "started_at_unix": 1789970950.7937038, + "started_at_unix": 1790057253.9788392, "bytes_sent": 305, "bytes_received": 352, "request_id": 88, @@ -16653,9 +16667,9 @@ { "kind": "request", "method": "typeServer/getExpectedType", - "duration_ms": 0.24253099999782535, + "duration_ms": 0.21196599999484533, "success": true, - "started_at_unix": 1789970950.7942054, + "started_at_unix": 1790057253.9793084, "bytes_sent": 305, "bytes_received": 352, "request_id": 90, @@ -16683,9 +16697,9 @@ { "kind": "request", "method": "typeServer/getExpectedType", - "duration_ms": 0.24561699999026132, + "duration_ms": 0.21055400003433533, "success": true, - "started_at_unix": 1789970950.7947125, + "started_at_unix": 1790057253.9798021, "bytes_sent": 305, "bytes_received": 352, "request_id": 92, @@ -16728,11 +16742,11 @@ "failure_count": 0, "bytes_sent": 1541, "bytes_received": 308, - "min_ms": 0.1934209999774339, - "max_ms": 0.26742500000409564, - "mean_ms": 0.21746979999761606, - "median_ms": 0.20655500000543725, - "p95_ms": 0.258336000001691, + "min_ms": 0.20756700001811623, + "max_ms": 0.24018400000613838, + "mean_ms": 0.2240278000044782, + "median_ms": 0.2249709999659899, + "p95_ms": 0.2376904000129798, "result_summary": { "present_count": 0, "empty_count": 5, @@ -16778,9 +16792,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.23066899998980261, + "duration_ms": 0.21854799996390284, "success": true, - "started_at_unix": 1789970950.796712, + "started_at_unix": 1790057253.9815001, "bytes_sent": 307, "bytes_received": 61, "request_id": 94, @@ -16807,9 +16821,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.26742500000409564, + "duration_ms": 0.21970099999180093, "success": true, - "started_at_unix": 1789970950.799054, + "started_at_unix": 1790057253.9837925, "bytes_sent": 307, "bytes_received": 61, "request_id": 96, @@ -16836,9 +16850,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2219799999920724, + "duration_ms": 0.20756700001811623, "success": true, - "started_at_unix": 1789970950.8013186, + "started_at_unix": 1790057253.9845243, "bytes_sent": 307, "bytes_received": 61, "request_id": 98, @@ -16865,9 +16879,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.20655500000543725, + "duration_ms": 0.24018400000613838, "success": true, - "started_at_unix": 1789970950.803603, + "started_at_unix": 1790057253.9852016, "bytes_sent": 309, "bytes_received": 62, "request_id": 100, @@ -16894,9 +16908,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.19796800000904113, + "duration_ms": 0.22771600004034553, "success": true, - "started_at_unix": 1789970950.8042374, + "started_at_unix": 1790057253.9874487, "bytes_sent": 309, "bytes_received": 62, "request_id": 102, @@ -16923,9 +16937,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.1934209999774339, + "duration_ms": 0.2249709999659899, "success": true, - "started_at_unix": 1789970950.8048484, + "started_at_unix": 1790057253.9895167, "bytes_sent": 309, "bytes_received": 62, "request_id": 104, @@ -16956,9 +16970,9 @@ { "kind": "request", "method": "initialize", - "duration_ms": 2.6952769999866177, + "duration_ms": 2.179984000008517, "success": true, - "started_at_unix": 1789970950.585971, + "started_at_unix": 1790057253.775884, "bytes_sent": 661, "bytes_received": 1337, "request_id": 1, @@ -16977,9 +16991,9 @@ { "kind": "notification", "method": "initialized", - "duration_ms": 0.022051999991390403, + "duration_ms": 0.02465599999368351, "success": true, - "started_at_unix": 1789970950.588777, + "started_at_unix": 1790057253.7781498, "bytes_sent": 74, "bytes_received": 0, "request_id": null, @@ -16992,9 +17006,9 @@ { "kind": "notification", "method": "workspace/didChangeConfiguration", - "duration_ms": 0.015609000001859386, + "duration_ms": 0.025386999993770587, "success": true, - "started_at_unix": 1789970950.5888212, + "started_at_unix": 1790057253.7782047, "bytes_sent": 643, "bytes_received": 0, "request_id": null, @@ -17010,9 +17024,9 @@ { "kind": "notification", "method": "textDocument/didOpen", - "duration_ms": 0.01764300000672847, + "duration_ms": 0.026208999997834326, "success": true, - "started_at_unix": 1789970950.5888999, + "started_at_unix": 1790057253.778302, "bytes_sent": 348, "bytes_received": 0, "request_id": null, @@ -17028,9 +17042,9 @@ { "kind": "notification", "method": "textDocument/didOpen", - "duration_ms": 0.025778999997783103, + "duration_ms": 0.02741100001912855, "success": true, - "started_at_unix": 1789970950.5889733, + "started_at_unix": 1790057253.7784061, "bytes_sent": 385, "bytes_received": 0, "request_id": null, @@ -17046,9 +17060,9 @@ { "kind": "notification", "method": "textDocument/didOpen", - "duration_ms": 0.02541699998914737, + "duration_ms": 0.02841399998487759, "success": true, - "started_at_unix": 1789970950.589048, + "started_at_unix": 1790057253.7784908, "bytes_sent": 486, "bytes_received": 0, "request_id": null, @@ -17064,9 +17078,9 @@ { "kind": "notification", "method": "textDocument/didOpen", - "duration_ms": 0.025186999977222513, + "duration_ms": 0.026048999984595866, "success": true, - "started_at_unix": 1789970950.5891292, + "started_at_unix": 1790057253.7786036, "bytes_sent": 387, "bytes_received": 0, "request_id": null, @@ -17082,9 +17096,9 @@ { "kind": "notification", "method": "textDocument/didOpen", - "duration_ms": 0.026879999978746127, + "duration_ms": 0.02589799998986564, "success": true, - "started_at_unix": 1789970950.5892189, + "started_at_unix": 1790057253.7786875, "bytes_sent": 359, "bytes_received": 0, "request_id": null, @@ -17100,9 +17114,9 @@ { "kind": "request", "method": "typeServer/getSupportedProtocolVersion", - "duration_ms": 120.4904420000048, + "duration_ms": 118.20932300003051, "success": true, - "started_at_unix": 1789970950.5892704, + "started_at_unix": 1790057253.7787366, "bytes_sent": 96, "bytes_received": 63, "request_id": 2, @@ -17124,9 +17138,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 54.86152899999297, + "duration_ms": 54.30297700002029, "success": true, - "started_at_unix": 1789970950.709874, + "started_at_unix": 1790057253.8970287, "bytes_sent": 80, "bytes_received": 57, "request_id": 3, @@ -17148,9 +17162,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 1.1501019999968776, + "duration_ms": 0.3941260000033253, "success": false, - "started_at_unix": 1789970950.7653813, + "started_at_unix": 1790057253.9519916, "bytes_sent": 305, "bytes_received": 132, "request_id": 4, @@ -17172,14 +17186,14 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.1637029999983497, + "duration_ms": 0.3341240000054313, "success": false, - "started_at_unix": 1789970950.76658, + "started_at_unix": 1790057253.9524438, "bytes_sent": 306, "bytes_received": 132, "request_id": 5, "error_code": -32802, - "error_message": "Snapshot outdated: client sent 2, server is at 3", + "error_message": "Snapshot outdated: client sent 2, server is at 4", "result_preview": null, "result_summary": {}, "context": { @@ -17196,9 +17210,9 @@ { "kind": "request", "method": "typeServer/semanticTokens", - "duration_ms": 2.155673000004299, + "duration_ms": 1.5213840000001255, "success": true, - "started_at_unix": 1789970950.766964, + "started_at_unix": 1790057253.9529161, "bytes_sent": 0, "bytes_received": 0, "request_id": "local-13", @@ -17229,15 +17243,15 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 0.2280250000126216, + "duration_ms": 0.14506099995514887, "success": true, - "started_at_unix": 1789970950.7670765, + "started_at_unix": 1790057253.952991, "bytes_sent": 80, "bytes_received": 57, "request_id": 6, "error_code": null, "error_message": null, - "result_preview": "3", + "result_preview": "4", "result_summary": { "present": true, "empty": false, @@ -17253,16 +17267,23 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.18111700001099962, - "success": false, - "started_at_unix": 1789970950.7678435, + "duration_ms": 4.283385999997336, + "success": true, + "started_at_unix": 1790057253.9534702, "bytes_sent": 305, - "bytes_received": 132, + "bytes_received": 1314, "request_id": 7, - "error_code": -32802, - "error_message": "Snapshot outdated: client sent 3, server is at 4", - "result_preview": null, - "result_summary": {}, + "error_code": null, + "error_message": null, + "result_preview": "{'boundToType': None, 'declaration': {'category': 5, 'kind': 0, 'name': 'len', 'node': {'range': {'end': {'character': 7, 'line': 4845}, 'start': {'character...", + "result_summary": { + "present": true, + "empty": false, + "top_level_kind": "dict", + "size_chars": 1391, + "top_level_count": 8, + "has_declaration_node": true + }, "context": { "suite": "tsp_core", "label": "builtins semantic tokens", @@ -17277,16 +17298,23 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.17167199999335025, - "success": false, - "started_at_unix": 1789970950.7680607, + "duration_ms": 0.23174299997208436, + "success": true, + "started_at_unix": 1790057253.957893, "bytes_sent": 306, - "bytes_received": 132, + "bytes_received": 645, "request_id": 8, - "error_code": -32802, - "error_message": "Snapshot outdated: client sent 3, server is at 4", - "result_preview": null, - "result_summary": {}, + "error_code": null, + "error_message": null, + "result_preview": "{'declaration': {'category': 6, 'kind': 0, 'name': 'list', 'node': {'range': {'end': {'character': 10, 'line': 3463}, 'start': {'character': 6, 'line': 3463}...", + "result_summary": { + "present": true, + "empty": false, + "top_level_kind": "dict", + "size_chars": 652, + "top_level_count": 7, + "has_declaration_node": true + }, "context": { "suite": "tsp_core", "label": "builtins semantic tokens", @@ -17301,9 +17329,9 @@ { "kind": "request", "method": "typeServer/semanticTokens", - "duration_ms": 0.9797170000069855, + "duration_ms": 5.091916000026231, "success": true, - "started_at_unix": 1789970950.7683144, + "started_at_unix": 1790057253.958255, "bytes_sent": 0, "bytes_received": 0, "request_id": "local-17", @@ -17318,7 +17346,7 @@ "top_level_count": 6, "semantic_token_count": 30, "type_query_count": 2, - "type_query_failure_count": 2, + "type_query_failure_count": 0, "token_type_count": 6 }, "context": { @@ -17334,9 +17362,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 0.13960999999085288, + "duration_ms": 0.13343899996698383, "success": true, - "started_at_unix": 1789970950.7684047, + "started_at_unix": 1790057253.9583445, "bytes_sent": 80, "bytes_received": 57, "request_id": 9, @@ -17358,9 +17386,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 4.331756999988556, + "duration_ms": 0.24184199997989708, "success": true, - "started_at_unix": 1789970950.768901, + "started_at_unix": 1790057253.9588366, "bytes_sent": 306, "bytes_received": 1315, "request_id": 10, @@ -17389,11 +17417,11 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2325629999972989, + "duration_ms": 0.2139299999726063, "success": true, - "started_at_unix": 1789970950.7733414, + "started_at_unix": 1790057253.9591777, "bytes_sent": 307, - "bytes_received": 646, + "bytes_received": 647, "request_id": 11, "error_code": null, "error_message": null, @@ -17402,7 +17430,7 @@ "present": true, "empty": false, "top_level_kind": "dict", - "size_chars": 652, + "size_chars": 653, "top_level_count": 7, "has_declaration_node": true }, @@ -17420,9 +17448,9 @@ { "kind": "request", "method": "typeServer/semanticTokens", - "duration_ms": 5.130374999993137, + "duration_ms": 1.0027129999912177, "success": true, - "started_at_unix": 1789970950.7736983, + "started_at_unix": 1790057253.9595048, "bytes_sent": 0, "bytes_received": 0, "request_id": "local-21", @@ -17453,9 +17481,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 0.14194499999575783, + "duration_ms": 0.13052400004198716, "success": true, - "started_at_unix": 1789970950.773811, + "started_at_unix": 1790057253.95962, "bytes_sent": 81, "bytes_received": 58, "request_id": 12, @@ -17477,11 +17505,11 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.24471599999742466, + "duration_ms": 0.24396599997089652, "success": true, - "started_at_unix": 1789970950.7742655, + "started_at_unix": 1790057253.9600732, "bytes_sent": 306, - "bytes_received": 1315, + "bytes_received": 1319, "request_id": 13, "error_code": null, "error_message": null, @@ -17490,7 +17518,7 @@ "present": true, "empty": false, "top_level_kind": "dict", - "size_chars": 1391, + "size_chars": 1395, "top_level_count": 8, "has_declaration_node": true }, @@ -17508,11 +17536,11 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.23401600000738654, + "duration_ms": 0.22874799998362505, "success": true, - "started_at_unix": 1789970950.7746034, + "started_at_unix": 1790057253.9604132, "bytes_sent": 307, - "bytes_received": 647, + "bytes_received": 648, "request_id": 14, "error_code": null, "error_message": null, @@ -17521,7 +17549,7 @@ "present": true, "empty": false, "top_level_kind": "dict", - "size_chars": 653, + "size_chars": 654, "top_level_count": 7, "has_declaration_node": true }, @@ -17539,9 +17567,9 @@ { "kind": "request", "method": "typeServer/semanticTokens", - "duration_ms": 0.972290999982306, + "duration_ms": 0.9805519999872558, "success": true, - "started_at_unix": 1789970950.7749488, + "started_at_unix": 1790057253.9607546, "bytes_sent": 0, "bytes_received": 0, "request_id": "local-25", @@ -17572,9 +17600,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 0.1424250000070515, + "duration_ms": 0.1255750000268563, "success": true, - "started_at_unix": 1789970950.7750287, + "started_at_unix": 1790057253.960836, "bytes_sent": 81, "bytes_received": 58, "request_id": 15, @@ -17596,9 +17624,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.24046799998700408, + "duration_ms": 0.23232400002370923, "success": true, - "started_at_unix": 1789970950.7754822, + "started_at_unix": 1790057253.9612768, "bytes_sent": 306, "bytes_received": 1319, "request_id": 16, @@ -17627,9 +17655,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.21676399998682427, + "duration_ms": 0.20802899996397173, "success": true, - "started_at_unix": 1789970950.7758622, + "started_at_unix": 1790057253.9616344, "bytes_sent": 307, "bytes_received": 648, "request_id": 17, @@ -17658,9 +17686,9 @@ { "kind": "request", "method": "typeServer/semanticTokens", - "duration_ms": 0.9931099999960225, + "duration_ms": 0.9699729999965712, "success": true, - "started_at_unix": 1789970950.7761889, + "started_at_unix": 1790057253.9619548, "bytes_sent": 0, "bytes_received": 0, "request_id": "local-29", @@ -17691,9 +17719,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 0.14044200000284945, + "duration_ms": 0.13273799999069524, "success": true, - "started_at_unix": 1789970950.7762947, + "started_at_unix": 1790057253.962058, "bytes_sent": 81, "bytes_received": 58, "request_id": 18, @@ -17715,9 +17743,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.26749799999947754, + "duration_ms": 0.24059899999429035, "success": true, - "started_at_unix": 1789970950.7767406, + "started_at_unix": 1790057253.962506, "bytes_sent": 306, "bytes_received": 1319, "request_id": 19, @@ -17746,9 +17774,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.21834599999692728, + "duration_ms": 0.19702800000231946, "success": true, - "started_at_unix": 1789970950.777102, + "started_at_unix": 1790057253.9628422, "bytes_sent": 307, "bytes_received": 648, "request_id": 20, @@ -17777,9 +17805,9 @@ { "kind": "request", "method": "typeServer/semanticTokens", - "duration_ms": 0.9694350000017948, + "duration_ms": 0.9333149999974921, "success": true, - "started_at_unix": 1789970950.7774286, + "started_at_unix": 1790057253.963149, "bytes_sent": 0, "bytes_received": 0, "request_id": "local-33", @@ -17810,9 +17838,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 0.14662399999565423, + "duration_ms": 0.13207599999986996, "success": true, - "started_at_unix": 1789970950.7776048, + "started_at_unix": 1790057253.9633193, "bytes_sent": 81, "bytes_received": 58, "request_id": 21, @@ -17834,9 +17862,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.1992510000263792, + "duration_ms": 0.1902860000200235, "success": true, - "started_at_unix": 1789970950.777777, + "started_at_unix": 1790057253.963477, "bytes_sent": 305, "bytes_received": 352, "request_id": 22, @@ -17864,9 +17892,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 0.13608300000100826, + "duration_ms": 0.120906000006471, "success": true, - "started_at_unix": 1789970950.7780204, + "started_at_unix": 1790057253.963713, "bytes_sent": 81, "bytes_received": 58, "request_id": 23, @@ -17888,9 +17916,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.19639600000687096, + "duration_ms": 0.18155899999783287, "success": true, - "started_at_unix": 1789970950.77818, + "started_at_unix": 1790057253.9638574, "bytes_sent": 305, "bytes_received": 352, "request_id": 24, @@ -17918,9 +17946,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 0.13646400000766334, + "duration_ms": 0.11627699996097363, "success": true, - "started_at_unix": 1789970950.7784336, + "started_at_unix": 1790057253.9640977, "bytes_sent": 81, "bytes_received": 58, "request_id": 25, @@ -17942,9 +17970,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.19027400000481975, + "duration_ms": 0.17902399997637986, "success": true, - "started_at_unix": 1789970950.7785923, + "started_at_unix": 1790057253.9642365, "bytes_sent": 305, "bytes_received": 352, "request_id": 26, @@ -17972,9 +18000,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 0.12963200001081532, + "duration_ms": 0.13493199998038108, "success": true, - "started_at_unix": 1789970950.7788537, + "started_at_unix": 1790057253.964473, "bytes_sent": 81, "bytes_received": 58, "request_id": 27, @@ -17996,9 +18024,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.187759999988657, + "duration_ms": 0.1850159999889911, "success": true, - "started_at_unix": 1789970950.7790058, + "started_at_unix": 1790057253.9646294, "bytes_sent": 305, "bytes_received": 352, "request_id": 28, @@ -18026,9 +18054,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 0.13288700000657627, + "duration_ms": 0.11681900002713519, "success": true, - "started_at_unix": 1789970950.7792482, + "started_at_unix": 1790057253.9648702, "bytes_sent": 81, "bytes_received": 58, "request_id": 29, @@ -18050,9 +18078,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.1929290000077799, + "duration_ms": 0.17332400000213966, "success": true, - "started_at_unix": 1789970950.7794032, + "started_at_unix": 1790057253.9650087, "bytes_sent": 305, "bytes_received": 352, "request_id": 30, @@ -18080,9 +18108,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 0.15481799999861323, + "duration_ms": 0.11923300002081305, "success": true, - "started_at_unix": 1789970950.7796497, + "started_at_unix": 1790057253.9652383, "bytes_sent": 81, "bytes_received": 58, "request_id": 31, @@ -18104,9 +18132,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2076970000075562, + "duration_ms": 0.17549799997595983, "success": true, - "started_at_unix": 1789970950.7798283, + "started_at_unix": 1790057253.96538, "bytes_sent": 305, "bytes_received": 352, "request_id": 32, @@ -18134,9 +18162,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 0.15726099999824328, + "duration_ms": 0.1515700000140896, "success": true, - "started_at_unix": 1789970950.7802246, + "started_at_unix": 1790057253.9657493, "bytes_sent": 81, "bytes_received": 58, "request_id": 33, @@ -18158,9 +18186,9 @@ { "kind": "request", "method": "typeServer/getDeclaredType", - "duration_ms": 0.28423999998494764, + "duration_ms": 0.24261300001171549, "success": true, - "started_at_unix": 1789970950.7804139, + "started_at_unix": 1790057253.9659274, "bytes_sent": 305, "bytes_received": 648, "request_id": 34, @@ -18188,9 +18216,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 0.1686339999764641, + "duration_ms": 0.15599199997495816, "success": true, - "started_at_unix": 1789970950.7807567, + "started_at_unix": 1790057253.9662273, "bytes_sent": 81, "bytes_received": 58, "request_id": 35, @@ -18212,9 +18240,9 @@ { "kind": "request", "method": "typeServer/getDeclaredType", - "duration_ms": 0.24896400000784524, + "duration_ms": 0.23026000002346336, "success": true, - "started_at_unix": 1789970950.7809498, + "started_at_unix": 1790057253.9664063, "bytes_sent": 305, "bytes_received": 648, "request_id": 36, @@ -18242,9 +18270,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 0.16495699998131386, + "duration_ms": 0.15346699996143798, "success": true, - "started_at_unix": 1789970950.781274, + "started_at_unix": 1790057253.9667115, "bytes_sent": 81, "bytes_received": 58, "request_id": 37, @@ -18266,9 +18294,9 @@ { "kind": "request", "method": "typeServer/getDeclaredType", - "duration_ms": 0.24135900000032962, + "duration_ms": 0.23395699997763586, "success": true, - "started_at_unix": 1789970950.7814624, + "started_at_unix": 1790057253.9668875, "bytes_sent": 305, "bytes_received": 648, "request_id": 38, @@ -18296,9 +18324,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 0.17626799998993192, + "duration_ms": 0.15126300002066273, "success": true, - "started_at_unix": 1789970950.7817876, + "started_at_unix": 1790057253.967194, "bytes_sent": 81, "bytes_received": 58, "request_id": 39, @@ -18320,9 +18348,9 @@ { "kind": "request", "method": "typeServer/getDeclaredType", - "duration_ms": 0.2407179999863729, + "duration_ms": 0.2280260000020462, "success": true, - "started_at_unix": 1789970950.7819874, + "started_at_unix": 1790057253.9673676, "bytes_sent": 305, "bytes_received": 648, "request_id": 40, @@ -18350,9 +18378,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 0.15089100000409417, + "duration_ms": 0.14863799998465765, "success": true, - "started_at_unix": 1789970950.7823024, + "started_at_unix": 1790057253.9676673, "bytes_sent": 81, "bytes_received": 58, "request_id": 41, @@ -18374,9 +18402,9 @@ { "kind": "request", "method": "typeServer/getDeclaredType", - "duration_ms": 0.24720999999772175, + "duration_ms": 0.22440999998707412, "success": true, - "started_at_unix": 1789970950.7824771, + "started_at_unix": 1790057253.9678385, "bytes_sent": 305, "bytes_received": 648, "request_id": 42, @@ -18404,9 +18432,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 0.17093799999656767, + "duration_ms": 0.14735600001358762, "success": true, - "started_at_unix": 1789970950.7828062, + "started_at_unix": 1790057253.9681342, "bytes_sent": 81, "bytes_received": 58, "request_id": 43, @@ -18428,9 +18456,9 @@ { "kind": "request", "method": "typeServer/getDeclaredType", - "duration_ms": 0.2299279999817827, + "duration_ms": 0.22377800002004733, "success": true, - "started_at_unix": 1789970950.7830033, + "started_at_unix": 1790057253.9683037, "bytes_sent": 305, "bytes_received": 648, "request_id": 44, @@ -18458,9 +18486,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 0.15313800000171796, + "duration_ms": 0.15931799998725182, "success": true, - "started_at_unix": 1789970950.7833989, + "started_at_unix": 1790057253.9687026, "bytes_sent": 81, "bytes_received": 58, "request_id": 45, @@ -18482,9 +18510,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.3155950000177654, + "duration_ms": 0.21503099998199104, "success": true, - "started_at_unix": 1789970950.7835784, + "started_at_unix": 1790057253.9688852, "bytes_sent": 300, "bytes_received": 354, "request_id": 46, @@ -18512,9 +18540,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 0.15736299999957737, + "duration_ms": 0.14812700004540602, "success": true, - "started_at_unix": 1789970950.7839408, + "started_at_unix": 1790057253.9691439, "bytes_sent": 81, "bytes_received": 58, "request_id": 47, @@ -18536,9 +18564,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.21553199999857497, + "duration_ms": 0.2096320000077867, "success": true, - "started_at_unix": 1789970950.7841218, + "started_at_unix": 1790057253.9693139, "bytes_sent": 300, "bytes_received": 354, "request_id": 48, @@ -18566,9 +18594,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 0.17406399999231326, + "duration_ms": 0.15216499997450228, "success": true, - "started_at_unix": 1789970950.7843952, + "started_at_unix": 1790057253.9695847, "bytes_sent": 81, "bytes_received": 58, "request_id": 49, @@ -18590,9 +18618,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.22360700000945144, + "duration_ms": 0.2260229999819785, "success": true, - "started_at_unix": 1789970950.7845938, + "started_at_unix": 1790057253.96976, "bytes_sent": 300, "bytes_received": 354, "request_id": 50, @@ -18620,9 +18648,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 0.14726399999176465, + "duration_ms": 0.14983100004428707, "success": true, - "started_at_unix": 1789970950.784875, + "started_at_unix": 1790057253.9700418, "bytes_sent": 81, "bytes_received": 58, "request_id": 51, @@ -18644,9 +18672,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.24773399999844514, + "duration_ms": 0.21301800001083393, "success": true, - "started_at_unix": 1789970950.7850451, + "started_at_unix": 1790057253.970214, "bytes_sent": 300, "bytes_received": 354, "request_id": 52, @@ -18674,9 +18702,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 0.17339300001140145, + "duration_ms": 0.18468899997969856, "success": true, - "started_at_unix": 1789970950.7853513, + "started_at_unix": 1790057253.9704814, "bytes_sent": 81, "bytes_received": 58, "request_id": 53, @@ -18698,9 +18726,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.23663100000703707, + "duration_ms": 0.21859399998902518, "success": true, - "started_at_unix": 1789970950.785548, + "started_at_unix": 1790057253.9706903, "bytes_sent": 300, "bytes_received": 354, "request_id": 54, @@ -18728,9 +18756,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 0.167501999982278, + "duration_ms": 0.1506609999637476, "success": true, - "started_at_unix": 1789970950.78584, + "started_at_unix": 1790057253.9709654, "bytes_sent": 81, "bytes_received": 58, "request_id": 55, @@ -18752,9 +18780,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.23297100000263526, + "duration_ms": 0.2126570000200445, "success": true, - "started_at_unix": 1789970950.7860317, + "started_at_unix": 1790057253.971138, "bytes_sent": 300, "bytes_received": 354, "request_id": 56, @@ -18782,9 +18810,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 0.1524139999844465, + "duration_ms": 0.1655340000183969, "success": true, - "started_at_unix": 1789970950.7863817, + "started_at_unix": 1790057253.9714665, "bytes_sent": 81, "bytes_received": 58, "request_id": 57, @@ -18806,9 +18834,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.22668399998337918, + "duration_ms": 0.22241599998551465, "success": true, - "started_at_unix": 1789970950.7865582, + "started_at_unix": 1790057253.9716685, "bytes_sent": 307, "bytes_received": 61, "request_id": 58, @@ -18835,9 +18863,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 0.15158299999029623, + "duration_ms": 0.15289600003143278, "success": true, - "started_at_unix": 1789970950.7868052, + "started_at_unix": 1790057253.971914, "bytes_sent": 81, "bytes_received": 58, "request_id": 59, @@ -18859,9 +18887,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.22858299999484188, + "duration_ms": 0.21200600002657666, "success": true, - "started_at_unix": 1789970950.7869802, + "started_at_unix": 1790057253.972096, "bytes_sent": 307, "bytes_received": 61, "request_id": 60, @@ -18888,9 +18916,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 0.14592200000151934, + "duration_ms": 0.14571300005172816, "success": true, - "started_at_unix": 1789970950.7872393, + "started_at_unix": 1790057253.9723449, "bytes_sent": 81, "bytes_received": 58, "request_id": 61, @@ -18912,9 +18940,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.23015100001089195, + "duration_ms": 0.20545400002447423, "success": true, - "started_at_unix": 1789970950.7874093, + "started_at_unix": 1790057253.972519, "bytes_sent": 307, "bytes_received": 61, "request_id": 62, @@ -18941,9 +18969,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 0.15675200000941913, + "duration_ms": 0.13458199998694909, "success": true, - "started_at_unix": 1789970950.7876694, + "started_at_unix": 1790057253.9727614, "bytes_sent": 81, "bytes_received": 58, "request_id": 63, @@ -18965,9 +18993,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.22363700000482822, + "duration_ms": 0.21496099998330465, "success": true, - "started_at_unix": 1789970950.7878487, + "started_at_unix": 1790057253.9729228, "bytes_sent": 307, "bytes_received": 61, "request_id": 64, @@ -18994,9 +19022,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 0.15970800001241514, + "duration_ms": 0.16710199997760355, "success": true, - "started_at_unix": 1789970950.7881017, + "started_at_unix": 1790057253.973173, "bytes_sent": 81, "bytes_received": 58, "request_id": 65, @@ -19018,9 +19046,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.206184000006715, + "duration_ms": 0.20260800005189594, "success": true, - "started_at_unix": 1789970950.788283, + "started_at_unix": 1790057253.973367, "bytes_sent": 307, "bytes_received": 61, "request_id": 66, @@ -19047,9 +19075,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 0.15565999999012092, + "duration_ms": 0.1372570000057749, "success": true, - "started_at_unix": 1789970950.788519, + "started_at_unix": 1790057253.9736075, "bytes_sent": 81, "bytes_received": 58, "request_id": 67, @@ -19071,9 +19099,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2164929999821652, + "duration_ms": 0.2243689999659182, "success": true, - "started_at_unix": 1789970950.7886968, + "started_at_unix": 1790057253.9737716, "bytes_sent": 307, "bytes_received": 61, "request_id": 68, @@ -19100,9 +19128,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 0.1590260000057242, + "duration_ms": 0.14645300001348005, "success": true, - "started_at_unix": 1789970950.7890067, + "started_at_unix": 1790057253.974122, "bytes_sent": 81, "bytes_received": 58, "request_id": 69, @@ -19124,9 +19152,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.23099000000570413, + "duration_ms": 0.23313600001984014, "success": true, - "started_at_unix": 1789970950.7891889, + "started_at_unix": 1790057253.9742978, "bytes_sent": 303, "bytes_received": 362, "request_id": 70, @@ -19154,9 +19182,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 0.152554000010241, + "duration_ms": 0.15648199996576295, "success": true, - "started_at_unix": 1789970950.7894661, + "started_at_unix": 1790057253.9745927, "bytes_sent": 81, "bytes_received": 58, "request_id": 71, @@ -19178,9 +19206,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.23103999998852487, + "duration_ms": 0.23000000004458343, "success": true, - "started_at_unix": 1789970950.7896416, + "started_at_unix": 1790057253.9747782, "bytes_sent": 303, "bytes_received": 362, "request_id": 72, @@ -19208,9 +19236,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 0.2632199999936802, + "duration_ms": 0.24928599998474965, "success": true, - "started_at_unix": 1789970950.789936, + "started_at_unix": 1790057253.9750884, "bytes_sent": 81, "bytes_received": 58, "request_id": 73, @@ -19232,9 +19260,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.21573199998670134, + "duration_ms": 0.24433599998019417, "success": true, - "started_at_unix": 1789970950.7902236, + "started_at_unix": 1790057253.975366, "bytes_sent": 303, "bytes_received": 362, "request_id": 74, @@ -19262,9 +19290,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 0.1512219999995068, + "duration_ms": 0.14811699998062977, "success": true, - "started_at_unix": 1789970950.7905009, + "started_at_unix": 1790057253.975689, "bytes_sent": 81, "bytes_received": 58, "request_id": 75, @@ -19286,9 +19314,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2101210000091669, + "duration_ms": 0.22299700003713951, "success": true, - "started_at_unix": 1789970950.7906759, + "started_at_unix": 1790057253.975865, "bytes_sent": 303, "bytes_received": 362, "request_id": 76, @@ -19316,9 +19344,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 0.16326400000821195, + "duration_ms": 0.13513300001477546, "success": true, - "started_at_unix": 1789970950.7909448, + "started_at_unix": 1790057253.9761631, "bytes_sent": 81, "bytes_received": 58, "request_id": 77, @@ -19340,9 +19368,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2072059999989051, + "duration_ms": 0.2220450000436358, "success": true, - "started_at_unix": 1789970950.7911303, + "started_at_unix": 1790057253.9763262, "bytes_sent": 303, "bytes_received": 362, "request_id": 78, @@ -19370,9 +19398,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 0.16044800000258874, + "duration_ms": 0.1649680000355147, "success": true, - "started_at_unix": 1789970950.7913947, + "started_at_unix": 1790057253.9766216, "bytes_sent": 81, "bytes_received": 58, "request_id": 79, @@ -19394,9 +19422,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2109330000052978, + "duration_ms": 0.21235700000943325, "success": true, - "started_at_unix": 1789970950.7915776, + "started_at_unix": 1790057253.97681, "bytes_sent": 303, "bytes_received": 362, "request_id": 80, @@ -19424,9 +19452,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 0.19328999999856933, + "duration_ms": 0.16645599998810212, "success": true, - "started_at_unix": 1789970950.7919264, + "started_at_unix": 1790057253.9771569, "bytes_sent": 81, "bytes_received": 58, "request_id": 81, @@ -19448,9 +19476,9 @@ { "kind": "request", "method": "typeServer/getExpectedType", - "duration_ms": 0.3003699999908349, + "duration_ms": 0.23929200000338824, "success": true, - "started_at_unix": 1789970950.7921557, + "started_at_unix": 1790057253.977354, "bytes_sent": 305, "bytes_received": 352, "request_id": 82, @@ -19478,9 +19506,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 0.15412700000183577, + "duration_ms": 0.15114299998231218, "success": true, - "started_at_unix": 1789970950.792502, + "started_at_unix": 1790057253.9776554, "bytes_sent": 81, "bytes_received": 58, "request_id": 83, @@ -19502,9 +19530,9 @@ { "kind": "request", "method": "typeServer/getExpectedType", - "duration_ms": 0.2545010000005732, + "duration_ms": 0.21405000001095686, "success": true, - "started_at_unix": 1789970950.7926805, + "started_at_unix": 1790057253.9778364, "bytes_sent": 305, "bytes_received": 352, "request_id": 84, @@ -19532,9 +19560,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 0.18569799999568204, + "duration_ms": 0.14906899997413348, "success": true, - "started_at_unix": 1789970950.792995, + "started_at_unix": 1790057253.9781272, "bytes_sent": 81, "bytes_received": 58, "request_id": 85, @@ -19556,9 +19584,9 @@ { "kind": "request", "method": "typeServer/getExpectedType", - "duration_ms": 0.23229299998206443, + "duration_ms": 0.21942000000763073, "success": true, - "started_at_unix": 1789970950.7932043, + "started_at_unix": 1790057253.9783037, "bytes_sent": 305, "bytes_received": 352, "request_id": 86, @@ -19586,9 +19614,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 0.16200099997831785, + "duration_ms": 0.16104100001257393, "success": true, - "started_at_unix": 1789970950.793518, + "started_at_unix": 1790057253.9786496, "bytes_sent": 81, "bytes_received": 58, "request_id": 87, @@ -19610,9 +19638,9 @@ { "kind": "request", "method": "typeServer/getExpectedType", - "duration_ms": 0.2404079999962505, + "duration_ms": 0.2213829999959671, "success": true, - "started_at_unix": 1789970950.7937038, + "started_at_unix": 1790057253.9788392, "bytes_sent": 305, "bytes_received": 352, "request_id": 88, @@ -19640,9 +19668,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 0.17934400000285677, + "duration_ms": 0.14666399999896385, "success": true, - "started_at_unix": 1789970950.7940028, + "started_at_unix": 1790057253.9791346, "bytes_sent": 81, "bytes_received": 58, "request_id": 89, @@ -19664,9 +19692,9 @@ { "kind": "request", "method": "typeServer/getExpectedType", - "duration_ms": 0.24253099999782535, + "duration_ms": 0.21196599999484533, "success": true, - "started_at_unix": 1789970950.7942054, + "started_at_unix": 1790057253.9793084, "bytes_sent": 305, "bytes_received": 352, "request_id": 90, @@ -19694,9 +19722,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 0.18314100000793587, + "duration_ms": 0.176540000040859, "success": true, - "started_at_unix": 1789970950.794505, + "started_at_unix": 1790057253.9795978, "bytes_sent": 81, "bytes_received": 58, "request_id": 91, @@ -19718,9 +19746,9 @@ { "kind": "request", "method": "typeServer/getExpectedType", - "duration_ms": 0.24561699999026132, + "duration_ms": 0.21055400003433533, "success": true, - "started_at_unix": 1789970950.7947125, + "started_at_unix": 1790057253.9798021, "bytes_sent": 305, "bytes_received": 352, "request_id": 92, @@ -19748,9 +19776,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02292199999942568, + "duration_ms": 0.03262100000256396, "success": true, - "started_at_unix": 1789970950.7950857, + "started_at_unix": 1790057253.980182, "bytes_sent": 348, "bytes_received": 0, "request_id": null, @@ -19767,9 +19795,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 1.5552190000107657, + "duration_ms": 1.2411400000473805, "success": true, - "started_at_unix": 1789970950.7951162, + "started_at_unix": 1790057253.9802248, "bytes_sent": 81, "bytes_received": 58, "request_id": 93, @@ -19791,9 +19819,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.23066899998980261, + "duration_ms": 0.21854799996390284, "success": true, - "started_at_unix": 1789970950.796712, + "started_at_unix": 1790057253.9815001, "bytes_sent": 307, "bytes_received": 61, "request_id": 94, @@ -19820,9 +19848,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03182000000379048, + "duration_ms": 0.0314389999971354, "success": true, - "started_at_unix": 1789970950.7969651, + "started_at_unix": 1790057253.98174, "bytes_sent": 332, "bytes_received": 0, "request_id": null, @@ -19839,9 +19867,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.022392000005311274, + "duration_ms": 0.0202880000301775, "success": true, - "started_at_unix": 1789970950.7970128, + "started_at_unix": 1790057253.9817843, "bytes_sent": 348, "bytes_received": 0, "request_id": null, @@ -19858,9 +19886,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 1.9709310000166624, + "duration_ms": 1.9428210000000945, "success": true, - "started_at_unix": 1789970950.797044, + "started_at_unix": 1790057253.981813, "bytes_sent": 81, "bytes_received": 58, "request_id": 95, @@ -19882,9 +19910,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.26742500000409564, + "duration_ms": 0.21970099999180093, "success": true, - "started_at_unix": 1789970950.799054, + "started_at_unix": 1790057253.9837925, "bytes_sent": 307, "bytes_received": 61, "request_id": 96, @@ -19911,9 +19939,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.027280000011842276, + "duration_ms": 0.028173000032438722, "success": true, - "started_at_unix": 1789970950.7993572, + "started_at_unix": 1790057253.984051, "bytes_sent": 332, "bytes_received": 0, "request_id": null, @@ -19930,9 +19958,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.029604999980392677, + "duration_ms": 0.01844399997708024, "success": true, - "started_at_unix": 1789970950.799396, + "started_at_unix": 1790057253.984089, "bytes_sent": 348, "bytes_received": 0, "request_id": null, @@ -19949,9 +19977,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 1.8466730000170628, + "duration_ms": 0.37754499999209656, "success": true, - "started_at_unix": 1789970950.799436, + "started_at_unix": 1790057253.984115, "bytes_sent": 81, "bytes_received": 58, "request_id": 97, @@ -19973,9 +20001,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2219799999920724, + "duration_ms": 0.20756700001811623, "success": true, - "started_at_unix": 1789970950.8013186, + "started_at_unix": 1790057253.9845243, "bytes_sent": 307, "bytes_received": 61, "request_id": 98, @@ -20002,9 +20030,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.031408999973336904, + "duration_ms": 0.02641999998331812, "success": true, - "started_at_unix": 1789970950.801579, + "started_at_unix": 1790057253.9847682, "bytes_sent": 332, "bytes_received": 0, "request_id": null, @@ -20021,9 +20049,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03575699997782067, + "duration_ms": 0.018764999992981757, "success": true, - "started_at_unix": 1789970950.8016217, + "started_at_unix": 1790057253.9848034, "bytes_sent": 348, "bytes_received": 0, "request_id": null, @@ -20040,9 +20068,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 1.9018250000044645, + "duration_ms": 0.34183899998652123, "success": true, - "started_at_unix": 1789970950.8016684, + "started_at_unix": 1790057253.9848294, "bytes_sent": 81, "bytes_received": 59, "request_id": 99, @@ -20064,9 +20092,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.20655500000543725, + "duration_ms": 0.24018400000613838, "success": true, - "started_at_unix": 1789970950.803603, + "started_at_unix": 1790057253.9852016, "bytes_sent": 309, "bytes_received": 62, "request_id": 100, @@ -20093,9 +20121,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.021079000021018146, + "duration_ms": 0.02659000000448941, "success": true, - "started_at_unix": 1789970950.8038397, + "started_at_unix": 1790057253.9854753, "bytes_sent": 332, "bytes_received": 0, "request_id": null, @@ -20112,9 +20140,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.013706000004276575, + "duration_ms": 0.02649999998993735, "success": true, - "started_at_unix": 1789970950.8038688, + "started_at_unix": 1790057253.9855132, "bytes_sent": 349, "bytes_received": 0, "request_id": null, @@ -20131,9 +20159,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 0.32261000001199136, + "duration_ms": 1.8697680000059336, "success": true, - "started_at_unix": 1789970950.8038878, + "started_at_unix": 1790057253.9855506, "bytes_sent": 82, "bytes_received": 60, "request_id": 101, @@ -20155,9 +20183,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.19796800000904113, + "duration_ms": 0.22771600004034553, "success": true, - "started_at_unix": 1789970950.8042374, + "started_at_unix": 1790057253.9874487, "bytes_sent": 309, "bytes_received": 62, "request_id": 102, @@ -20184,9 +20212,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.019506000001001667, + "duration_ms": 0.02418600001874438, "success": true, - "started_at_unix": 1789970950.804464, + "started_at_unix": 1790057253.9877071, "bytes_sent": 333, "bytes_received": 0, "request_id": null, @@ -20203,9 +20231,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.01267400000415364, + "duration_ms": 0.027962999979536107, "success": true, - "started_at_unix": 1789970950.8044906, + "started_at_unix": 1790057253.987742, "bytes_sent": 349, "bytes_received": 0, "request_id": null, @@ -20222,9 +20250,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 0.3132729999890671, + "duration_ms": 1.7094410000026983, "success": true, - "started_at_unix": 1789970950.8045082, + "started_at_unix": 1790057253.9877794, "bytes_sent": 82, "bytes_received": 60, "request_id": 103, @@ -20246,9 +20274,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.1934209999774339, + "duration_ms": 0.2249709999659899, "success": true, - "started_at_unix": 1789970950.8048484, + "started_at_unix": 1790057253.9895167, "bytes_sent": 309, "bytes_received": 62, "request_id": 104, @@ -20275,9 +20303,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.019415999986449606, + "duration_ms": 0.027832000000671542, "success": true, - "started_at_unix": 1789970950.8050687, + "started_at_unix": 1790057253.989772, "bytes_sent": 333, "bytes_received": 0, "request_id": null, @@ -20294,9 +20322,9 @@ { "kind": "notification", "method": "textDocument/didClose", - "duration_ms": 0.03293100002110805, + "duration_ms": 0.03504500000417465, "success": true, - "started_at_unix": 1789970950.8051782, + "started_at_unix": 1790057253.9898877, "bytes_sent": 214, "bytes_received": 0, "request_id": null, @@ -20309,9 +20337,9 @@ { "kind": "notification", "method": "textDocument/didClose", - "duration_ms": 0.08321500001784443, + "duration_ms": 0.024286000041229272, "success": true, - "started_at_unix": 1789970950.8052182, + "started_at_unix": 1790057253.98993, "bytes_sent": 212, "bytes_received": 0, "request_id": null, @@ -20324,9 +20352,9 @@ { "kind": "notification", "method": "textDocument/didClose", - "duration_ms": 0.01839500001210581, + "duration_ms": 0.024134999989655626, "success": true, - "started_at_unix": 1789970950.8053086, + "started_at_unix": 1790057253.9899595, "bytes_sent": 214, "bytes_received": 0, "request_id": null, @@ -20339,9 +20367,9 @@ { "kind": "notification", "method": "textDocument/didClose", - "duration_ms": 0.017863000010720498, + "duration_ms": 0.020898999991914025, "success": true, - "started_at_unix": 1789970950.8053322, + "started_at_unix": 1790057253.9899883, "bytes_sent": 208, "bytes_received": 0, "request_id": null, @@ -20354,9 +20382,9 @@ { "kind": "notification", "method": "textDocument/didClose", - "duration_ms": 0.01449700002353893, + "duration_ms": 0.021259999982703448, "success": true, - "started_at_unix": 1789970950.8053548, + "started_at_unix": 1790057253.9900146, "bytes_sent": 214, "bytes_received": 0, "request_id": null, @@ -20369,9 +20397,9 @@ { "kind": "request", "method": "shutdown", - "duration_ms": 0.2253569999766114, + "duration_ms": 0.19249000001764216, "success": true, - "started_at_unix": 1789970950.8053775, + "started_at_unix": 1790057253.9900444, "bytes_sent": 68, "bytes_received": 62, "request_id": 105, @@ -20389,9 +20417,9 @@ { "kind": "notification", "method": "exit", - "duration_ms": 0.03444399999352754, + "duration_ms": 0.031819000014365884, "success": true, - "started_at_unix": 1789970950.8056295, + "started_at_unix": 1790057253.9902608, "bytes_sent": 55, "bytes_received": 0, "request_id": null, @@ -20413,7 +20441,7 @@ "environment_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_semantic/.venv", "python_executable": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/tsp_semantic/.venv/bin/python", "success": true, - "total_duration_ms": 6539.954808000004, + "total_duration_ms": 6568.640463999998, "error_message": null, "summary": { "request_count": 369, @@ -20422,11 +20450,11 @@ "failure_count": 0, "bytes_sent": 110211, "bytes_received": 3481813, - "min_ms": 0.1495280000085586, - "max_ms": 4317.783322999986, - "mean_ms": 19.67523186449794, - "median_ms": 0.46780900001408554, - "p95_ms": 23.329711600001694, + "min_ms": 0.1457620000451243, + "max_ms": 4312.841420000041, + "mean_ms": 19.74660214634289, + "median_ms": 0.44649200003732403, + "p95_ms": 24.552117600012302, "result_summary": { "present_count": 296, "empty_count": 73, @@ -20498,11 +20526,11 @@ "by_method": { "typeServer/semanticTokens": { "point_count": 3, - "min_ms": 9.092009999989159, - "max_ms": 173.27179699998396, - "mean_ms": 63.35547799999404, - "median_ms": 51.42441099999928, - "p95_ms": 157.44685709999257 + "min_ms": 8.317419000036352, + "max_ms": 153.32948999997598, + "mean_ms": 66.0998761333417, + "median_ms": 54.4667210000398, + "p95_ms": 145.8700750999924 } }, "validation": { @@ -20528,11 +20556,11 @@ "failure_count": 0, "bytes_sent": 0, "bytes_received": 0, - "min_ms": 9.092009999989159, - "max_ms": 15.591658000005282, - "mean_ms": 11.354455399998642, - "median_ms": 10.570510000007971, - "p95_ms": 14.806375800003478, + "min_ms": 8.317419000036352, + "max_ms": 12.10150800000065, + "mean_ms": 10.254326600011154, + "median_ms": 10.427981000020736, + "p95_ms": 11.792726999999559, "result_summary": { "present_count": 5, "empty_count": 0, @@ -20613,9 +20641,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.3627909999863732, + "duration_ms": 0.3337059999921621, "success": true, - "started_at_unix": 1789970974.1365428, + "started_at_unix": 1790057277.259537, "bytes_sent": 311, "bytes_received": 60, "request_id": 4, @@ -20643,9 +20671,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.29369700001780075, + "duration_ms": 0.29489799999282695, "success": true, - "started_at_unix": 1789970974.1369522, + "started_at_unix": 1790057277.2599077, "bytes_sent": 311, "bytes_received": 303, "request_id": 5, @@ -20675,9 +20703,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.3464760000042588, + "duration_ms": 0.35776900000428213, "success": true, - "started_at_unix": 1789970974.1373355, + "started_at_unix": 1790057277.2603118, "bytes_sent": 311, "bytes_received": 60, "request_id": 6, @@ -20705,9 +20733,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.26525399999854926, + "duration_ms": 0.2466210000307001, "success": true, - "started_at_unix": 1789970974.1377146, + "started_at_unix": 1790057277.260703, "bytes_sent": 311, "bytes_received": 303, "request_id": 7, @@ -20737,9 +20765,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.20904999999515894, + "duration_ms": 0.20412200001374003, "success": true, - "started_at_unix": 1789970974.1380792, + "started_at_unix": 1790057277.2610397, "bytes_sent": 311, "bytes_received": 60, "request_id": 8, @@ -20767,9 +20795,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.24208099998190846, + "duration_ms": 0.2358610000214867, "success": true, - "started_at_unix": 1789970974.138318, + "started_at_unix": 1790057277.2612762, "bytes_sent": 311, "bytes_received": 303, "request_id": 9, @@ -20799,9 +20827,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 5.767593000001625, + "duration_ms": 4.347164999956021, "success": true, - "started_at_unix": 1789970974.1386762, + "started_at_unix": 1790057277.261653, "bytes_sent": 314, "bytes_received": 1877, "request_id": 10, @@ -20830,9 +20858,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.22529999998255335, + "duration_ms": 0.21175599999878614, "success": true, - "started_at_unix": 1789970974.1445622, + "started_at_unix": 1790057277.2661207, "bytes_sent": 314, "bytes_received": 61, "request_id": 11, @@ -20860,9 +20888,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2356180000049335, + "duration_ms": 0.22018199996409749, "success": true, - "started_at_unix": 1789970974.1448164, + "started_at_unix": 1790057277.266367, "bytes_sent": 314, "bytes_received": 399, "request_id": 12, @@ -20891,9 +20919,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.6224489999908656, + "duration_ms": 0.460622999980842, "success": true, - "started_at_unix": 1789970974.145131, + "started_at_unix": 1790057277.2666707, "bytes_sent": 314, "bytes_received": 9672, "request_id": 13, @@ -20922,9 +20950,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.25772000000756634, + "duration_ms": 0.26697700002387137, "success": true, - "started_at_unix": 1789970974.1462178, + "started_at_unix": 1790057277.2674997, "bytes_sent": 314, "bytes_received": 354, "request_id": 14, @@ -20953,9 +20981,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.21521000002167057, + "duration_ms": 0.2207119999866336, "success": true, - "started_at_unix": 1789970974.1465435, + "started_at_unix": 1790057277.2678392, "bytes_sent": 314, "bytes_received": 354, "request_id": 15, @@ -20984,9 +21012,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.21552100000121754, + "duration_ms": 0.20707700002731144, "success": true, - "started_at_unix": 1789970974.1468136, + "started_at_unix": 1790057277.268119, "bytes_sent": 314, "bytes_received": 354, "request_id": 16, @@ -21015,9 +21043,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.21971900000039568, + "duration_ms": 0.2184989999705067, "success": true, - "started_at_unix": 1789970974.1471035, + "started_at_unix": 1790057277.2684026, "bytes_sent": 314, "bytes_received": 354, "request_id": 17, @@ -21046,9 +21074,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.20746600000620674, + "duration_ms": 0.20707700002731144, "success": true, - "started_at_unix": 1789970974.1473777, + "started_at_unix": 1790057277.2686813, "bytes_sent": 314, "bytes_received": 354, "request_id": 18, @@ -21077,9 +21105,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2164930000105869, + "duration_ms": 0.20567500001789085, "success": true, - "started_at_unix": 1789970974.1476579, + "started_at_unix": 1790057277.2689662, "bytes_sent": 314, "bytes_received": 400, "request_id": 19, @@ -21108,9 +21136,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.3114689999961229, + "duration_ms": 0.26977700002817073, "success": true, - "started_at_unix": 1789970974.147973, + "started_at_unix": 1790057277.2692766, "bytes_sent": 314, "bytes_received": 2261, "request_id": 20, @@ -21139,9 +21167,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2204300000130388, + "duration_ms": 0.2414880000287667, "success": true, - "started_at_unix": 1789970974.148399, + "started_at_unix": 1790057277.269686, "bytes_sent": 314, "bytes_received": 400, "request_id": 21, @@ -21170,9 +21198,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.20062400000142588, + "duration_ms": 0.19453400000202237, "success": true, - "started_at_unix": 1789970974.1486893, + "started_at_unix": 1790057277.2700021, "bytes_sent": 314, "bytes_received": 61, "request_id": 22, @@ -21200,9 +21228,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.22349599998960912, + "duration_ms": 0.19153800002413846, "success": true, - "started_at_unix": 1789970974.148925, + "started_at_unix": 1790057277.2702312, "bytes_sent": 314, "bytes_received": 61, "request_id": 23, @@ -21230,9 +21258,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.21847100001082254, + "duration_ms": 0.19516500003646797, "success": true, - "started_at_unix": 1789970974.1491811, + "started_at_unix": 1790057277.2704525, "bytes_sent": 314, "bytes_received": 61, "request_id": 24, @@ -21260,9 +21288,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2400179999995089, + "duration_ms": 0.21113499997227336, "success": true, - "started_at_unix": 1789970974.1494417, + "started_at_unix": 1790057277.270679, "bytes_sent": 314, "bytes_received": 400, "request_id": 25, @@ -21291,9 +21319,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.23721200000181852, + "duration_ms": 0.19513499995582606, "success": true, - "started_at_unix": 1789970974.1498616, + "started_at_unix": 1790057277.2709968, "bytes_sent": 314, "bytes_received": 61, "request_id": 26, @@ -21321,9 +21349,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.24675999998180487, + "duration_ms": 0.2137090000360331, "success": true, - "started_at_unix": 1789970974.150136, + "started_at_unix": 1790057277.271223, "bytes_sent": 314, "bytes_received": 890, "request_id": 27, @@ -21352,9 +21380,9 @@ { "kind": "request", "method": "typeServer/semanticTokens", - "duration_ms": 15.40317900000332, + "duration_ms": 12.896333000014693, "success": true, - "started_at_unix": 1789970974.1507268, + "started_at_unix": 1790057277.2716897, "bytes_sent": 0, "bytes_received": 0, "request_id": "local-33", @@ -21385,9 +21413,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.20751699997845208, + "duration_ms": 0.21639400000594833, "success": true, - "started_at_unix": 1789970974.1522226, + "started_at_unix": 1790057277.2726648, "bytes_sent": 312, "bytes_received": 61, "request_id": 29, @@ -21415,9 +21443,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2640069999984007, + "duration_ms": 0.23479899999756526, "success": true, - "started_at_unix": 1789970974.1524684, + "started_at_unix": 1790057277.272914, "bytes_sent": 312, "bytes_received": 305, "request_id": 30, @@ -21447,9 +21475,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.23681199999714408, + "duration_ms": 0.19452399999408954, "success": true, - "started_at_unix": 1789970974.1528096, + "started_at_unix": 1790057277.273221, "bytes_sent": 312, "bytes_received": 61, "request_id": 31, @@ -21477,9 +21505,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2445150000198737, + "duration_ms": 0.2705660000401622, "success": true, - "started_at_unix": 1789970974.153075, + "started_at_unix": 1790057277.2734466, "bytes_sent": 312, "bytes_received": 305, "request_id": 32, @@ -21509,9 +21537,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2181060000054913, + "duration_ms": 0.19889099996817095, "success": true, - "started_at_unix": 1789970974.1533973, + "started_at_unix": 1790057277.2738004, "bytes_sent": 312, "bytes_received": 61, "request_id": 33, @@ -21539,9 +21567,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.24633900000026188, + "duration_ms": 0.2280560000258447, "success": true, - "started_at_unix": 1789970974.1536422, + "started_at_unix": 1790057277.2740295, "bytes_sent": 312, "bytes_received": 305, "request_id": 34, @@ -21571,9 +21599,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2920229999858748, + "duration_ms": 0.26257400003260045, "success": true, - "started_at_unix": 1789970974.1540027, + "started_at_unix": 1790057277.2743685, "bytes_sent": 314, "bytes_received": 1882, "request_id": 35, @@ -21602,9 +21630,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.21517100000778555, + "duration_ms": 0.21092500003305759, "success": true, - "started_at_unix": 1789970974.1543996, + "started_at_unix": 1790057277.2747755, "bytes_sent": 314, "bytes_received": 61, "request_id": 36, @@ -21632,9 +21660,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2285150000034264, + "duration_ms": 0.20792899999833026, "success": true, - "started_at_unix": 1789970974.1546447, + "started_at_unix": 1790057277.275019, "bytes_sent": 314, "bytes_received": 400, "request_id": 37, @@ -21663,9 +21691,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.5879249999907188, + "duration_ms": 0.44649200003732403, "success": true, - "started_at_unix": 1789970974.1549497, + "started_at_unix": 1790057277.2753055, "bytes_sent": 314, "bytes_received": 9695, "request_id": 38, @@ -21694,9 +21722,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.26103599998350546, + "duration_ms": 0.2590369999779796, "success": true, - "started_at_unix": 1789970974.1559541, + "started_at_unix": 1790057277.2761123, "bytes_sent": 314, "bytes_received": 355, "request_id": 39, @@ -21725,9 +21753,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.22379699998964497, + "duration_ms": 0.21330900000293695, "success": true, - "started_at_unix": 1789970974.1562846, + "started_at_unix": 1790057277.2764378, "bytes_sent": 314, "bytes_received": 355, "request_id": 40, @@ -21756,9 +21784,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.22319600000741957, + "duration_ms": 0.21095399995374464, "success": true, - "started_at_unix": 1789970974.156562, + "started_at_unix": 1790057277.2767096, "bytes_sent": 314, "bytes_received": 355, "request_id": 41, @@ -21787,9 +21815,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.21937900001489652, + "duration_ms": 0.21623399999270987, "success": true, - "started_at_unix": 1789970974.1568565, + "started_at_unix": 1790057277.2769966, "bytes_sent": 314, "bytes_received": 355, "request_id": 42, @@ -21818,9 +21846,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.231931999991275, + "duration_ms": 0.21475099998724545, "success": true, - "started_at_unix": 1789970974.157128, + "started_at_unix": 1790057277.2772703, "bytes_sent": 314, "bytes_received": 355, "request_id": 43, @@ -21849,9 +21877,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.22237400000335583, + "duration_ms": 0.2367730000401025, "success": true, - "started_at_unix": 1789970974.157432, + "started_at_unix": 1790057277.277564, "bytes_sent": 314, "bytes_received": 401, "request_id": 44, @@ -21880,9 +21908,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.29348700002174155, + "duration_ms": 0.26676599998154416, "success": true, - "started_at_unix": 1789970974.1577718, + "started_at_unix": 1790057277.2779007, "bytes_sent": 314, "bytes_received": 2269, "request_id": 45, @@ -21911,9 +21939,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.22898699998563643, + "duration_ms": 0.2379070000415595, "success": true, - "started_at_unix": 1789970974.1581836, + "started_at_unix": 1790057277.2782874, "bytes_sent": 314, "bytes_received": 401, "request_id": 46, @@ -21942,9 +21970,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.20331800001827105, + "duration_ms": 0.21320900003729548, "success": true, - "started_at_unix": 1789970974.1584823, + "started_at_unix": 1790057277.2786071, "bytes_sent": 314, "bytes_received": 61, "request_id": 47, @@ -21972,9 +22000,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.22283500001663015, + "duration_ms": 0.19505400001662565, "success": true, - "started_at_unix": 1789970974.1587164, + "started_at_unix": 1790057277.2788541, "bytes_sent": 314, "bytes_received": 61, "request_id": 48, @@ -22002,9 +22030,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2490539999939756, + "duration_ms": 0.18896299997095412, "success": true, - "started_at_unix": 1789970974.1589644, + "started_at_unix": 1790057277.2790787, "bytes_sent": 314, "bytes_received": 61, "request_id": 49, @@ -22032,9 +22060,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2106529999821305, + "duration_ms": 0.21832499999163701, "success": true, - "started_at_unix": 1789970974.1592422, + "started_at_unix": 1790057277.2792964, "bytes_sent": 314, "bytes_received": 401, "request_id": 50, @@ -22063,9 +22091,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.194371999981513, + "duration_ms": 0.21231999994597572, "success": true, - "started_at_unix": 1789970974.1595583, + "started_at_unix": 1790057277.2796533, "bytes_sent": 314, "bytes_received": 61, "request_id": 51, @@ -22093,9 +22121,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.23234299999330688, + "duration_ms": 0.22161399999731657, "success": true, - "started_at_unix": 1789970974.1597924, + "started_at_unix": 1790057277.279894, "bytes_sent": 314, "bytes_received": 893, "request_id": 52, @@ -22124,9 +22152,9 @@ { "kind": "request", "method": "typeServer/semanticTokens", - "duration_ms": 9.092009999989159, + "duration_ms": 8.317419000036352, "success": true, - "started_at_unix": 1789970974.1602576, + "started_at_unix": 1790057277.2803285, "bytes_sent": 0, "bytes_received": 0, "request_id": "local-59", @@ -22157,9 +22185,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2685999999982869, + "duration_ms": 0.2149110000004839, "success": true, - "started_at_unix": 1789970974.1613328, + "started_at_unix": 1790057277.281316, "bytes_sent": 312, "bytes_received": 61, "request_id": 54, @@ -22187,9 +22215,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.1659239999962665, + "duration_ms": 3.0522349999841936, "success": true, - "started_at_unix": 1789970974.1616628, + "started_at_unix": 1790057277.2815928, "bytes_sent": 312, "bytes_received": 306, "request_id": 55, @@ -22219,9 +22247,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.23642200000040248, + "duration_ms": 0.22075300000778952, "success": true, - "started_at_unix": 1789970974.1639097, + "started_at_unix": 1790057277.2847426, "bytes_sent": 312, "bytes_received": 61, "request_id": 56, @@ -22249,9 +22277,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.23508600000354818, + "duration_ms": 0.24932599995963756, "success": true, - "started_at_unix": 1789970974.1641781, + "started_at_unix": 1790057277.284999, "bytes_sent": 312, "bytes_received": 306, "request_id": 57, @@ -22281,9 +22309,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.19460199999343786, + "duration_ms": 0.201997000033316, "success": true, - "started_at_unix": 1789970974.1644983, + "started_at_unix": 1790057277.285353, "bytes_sent": 312, "bytes_received": 61, "request_id": 58, @@ -22311,9 +22339,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2492640000184565, + "duration_ms": 0.23540000000821237, "success": true, - "started_at_unix": 1789970974.1647263, + "started_at_unix": 1790057277.2856169, "bytes_sent": 312, "bytes_received": 306, "request_id": 59, @@ -22343,9 +22371,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2900930000180324, + "duration_ms": 0.28824899999335685, "success": true, - "started_at_unix": 1789970974.1650918, + "started_at_unix": 1790057277.2859945, "bytes_sent": 314, "bytes_received": 1887, "request_id": 60, @@ -22374,9 +22402,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.20267800002216063, + "duration_ms": 0.22239599996964898, "success": true, - "started_at_unix": 1789970974.1654894, + "started_at_unix": 1790057277.2864323, "bytes_sent": 314, "bytes_received": 61, "request_id": 61, @@ -22404,9 +22432,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.22516900000368878, + "duration_ms": 0.22479999995539401, "success": true, - "started_at_unix": 1789970974.1657233, + "started_at_unix": 1790057277.2866893, "bytes_sent": 314, "bytes_received": 401, "request_id": 62, @@ -22435,9 +22463,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.46780900001408554, + "duration_ms": 0.581607000015083, "success": true, - "started_at_unix": 1789970974.166039, + "started_at_unix": 1790057277.2870162, "bytes_sent": 314, "bytes_received": 9719, "request_id": 63, @@ -22466,9 +22494,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.255916999975625, + "duration_ms": 0.2505990000258862, "success": true, - "started_at_unix": 1789970974.166905, + "started_at_unix": 1790057277.288207, "bytes_sent": 314, "bytes_received": 355, "request_id": 64, @@ -22497,9 +22525,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2020759999936672, + "duration_ms": 0.23714300004940014, "success": true, - "started_at_unix": 1789970974.167231, + "started_at_unix": 1790057277.288544, "bytes_sent": 314, "bytes_received": 355, "request_id": 65, @@ -22528,9 +22556,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.19242799999119597, + "duration_ms": 0.2019670000095175, "success": true, - "started_at_unix": 1789970974.1674924, + "started_at_unix": 1790057277.2888541, "bytes_sent": 314, "bytes_received": 355, "request_id": 66, @@ -22559,9 +22587,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.23687300000574396, + "duration_ms": 0.20465199997943273, "success": true, - "started_at_unix": 1789970974.1678052, + "started_at_unix": 1790057277.289151, "bytes_sent": 314, "bytes_received": 355, "request_id": 67, @@ -22590,9 +22618,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.20406999999522668, + "duration_ms": 0.24336500001709283, "success": true, - "started_at_unix": 1789970974.1681006, + "started_at_unix": 1790057277.2894268, "bytes_sent": 314, "bytes_received": 355, "request_id": 68, @@ -22621,9 +22649,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.20506199999204, + "duration_ms": 0.22635300001638825, "success": true, - "started_at_unix": 1789970974.1683838, + "started_at_unix": 1790057277.2897694, "bytes_sent": 314, "bytes_received": 401, "request_id": 69, @@ -22652,9 +22680,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2848790000200552, + "duration_ms": 0.27422300001944677, "success": true, - "started_at_unix": 1789970974.1686964, + "started_at_unix": 1790057277.2901332, "bytes_sent": 314, "bytes_received": 2269, "request_id": 70, @@ -22683,9 +22711,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2506479999908606, + "duration_ms": 0.2148720000150206, "success": true, - "started_at_unix": 1789970974.1691036, + "started_at_unix": 1790057277.2906096, "bytes_sent": 314, "bytes_received": 401, "request_id": 71, @@ -22714,9 +22742,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.20169600000485843, + "duration_ms": 0.18416500000739688, "success": true, - "started_at_unix": 1789970974.169429, + "started_at_unix": 1790057277.290918, "bytes_sent": 314, "bytes_received": 61, "request_id": 72, @@ -22744,9 +22772,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.19772799998918344, + "duration_ms": 0.2011860000266097, "success": true, - "started_at_unix": 1789970974.1696658, + "started_at_unix": 1790057277.291141, "bytes_sent": 314, "bytes_received": 61, "request_id": 73, @@ -22774,9 +22802,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.207064999983686, + "duration_ms": 0.22512100002813895, "success": true, - "started_at_unix": 1789970974.169894, + "started_at_unix": 1790057277.2913737, "bytes_sent": 314, "bytes_received": 61, "request_id": 74, @@ -22804,9 +22832,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.23163099999123915, + "duration_ms": 0.2207129999760582, "success": true, - "started_at_unix": 1789970974.1701367, + "started_at_unix": 1790057277.291633, "bytes_sent": 314, "bytes_received": 401, "request_id": 75, @@ -22835,9 +22863,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.21507099998530066, + "duration_ms": 0.18728999998529616, "success": true, - "started_at_unix": 1789970974.1704764, + "started_at_unix": 1790057277.291997, "bytes_sent": 314, "bytes_received": 61, "request_id": 76, @@ -22865,9 +22893,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.23067999998716004, + "duration_ms": 0.21483099999386468, "success": true, - "started_at_unix": 1789970974.170723, + "started_at_unix": 1790057277.2922163, "bytes_sent": 314, "bytes_received": 893, "request_id": 77, @@ -22896,9 +22924,9 @@ { "kind": "request", "method": "typeServer/semanticTokens", - "duration_ms": 10.570510000007971, + "duration_ms": 12.10150800000065, "success": true, - "started_at_unix": 1789970974.171214, + "started_at_unix": 1790057277.2928007, "bytes_sent": 0, "bytes_received": 0, "request_id": "local-85", @@ -22929,9 +22957,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2733499999862943, + "duration_ms": 0.24802299998327726, "success": true, - "started_at_unix": 1789970974.172331, + "started_at_unix": 1790057277.29437, "bytes_sent": 312, "bytes_received": 61, "request_id": 79, @@ -22959,9 +22987,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2706439999826671, + "duration_ms": 0.25231099999700746, "success": true, - "started_at_unix": 1789970974.1726391, + "started_at_unix": 1790057277.294656, "bytes_sent": 312, "bytes_received": 306, "request_id": 80, @@ -22991,9 +23019,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2111830000046666, + "duration_ms": 0.22059299999455106, "success": true, - "started_at_unix": 1789970974.172986, + "started_at_unix": 1790057277.2950048, "bytes_sent": 312, "bytes_received": 61, "request_id": 81, @@ -23021,9 +23049,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.23603999997590108, + "duration_ms": 0.2610479999702875, "success": true, - "started_at_unix": 1789970974.1732292, + "started_at_unix": 1790057277.295261, "bytes_sent": 312, "bytes_received": 306, "request_id": 82, @@ -23053,9 +23081,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.1971070000195141, + "duration_ms": 0.1965480000194475, "success": true, - "started_at_unix": 1789970974.173548, + "started_at_unix": 1790057277.2956514, "bytes_sent": 312, "bytes_received": 61, "request_id": 83, @@ -23083,9 +23111,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.23583899999835012, + "duration_ms": 0.2312629999892124, "success": true, - "started_at_unix": 1789970974.173783, + "started_at_unix": 1790057277.295883, "bytes_sent": 312, "bytes_received": 306, "request_id": 84, @@ -23115,9 +23143,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.333318999992116, + "duration_ms": 0.2813460000083978, "success": true, - "started_at_unix": 1789970974.1741307, + "started_at_unix": 1790057277.2962568, "bytes_sent": 314, "bytes_received": 1887, "request_id": 85, @@ -23146,9 +23174,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.23926599999413156, + "duration_ms": 0.2124469999671419, "success": true, - "started_at_unix": 1789970974.174572, + "started_at_unix": 1790057277.2967136, "bytes_sent": 314, "bytes_received": 61, "request_id": 86, @@ -23176,9 +23204,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.22168299997815666, + "duration_ms": 0.20370100003219704, "success": true, - "started_at_unix": 1789970974.174855, + "started_at_unix": 1790057277.2969613, "bytes_sent": 314, "bytes_received": 401, "request_id": 87, @@ -23207,9 +23235,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.5049700000085977, + "duration_ms": 0.6232250000266504, "success": true, - "started_at_unix": 1789970974.1751554, + "started_at_unix": 1790057277.2972648, "bytes_sent": 314, "bytes_received": 9719, "request_id": 88, @@ -23238,9 +23266,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 1.5170920000002752, + "duration_ms": 0.278951000041161, "success": true, - "started_at_unix": 1789970974.1763897, + "started_at_unix": 1790057277.298501, "bytes_sent": 314, "bytes_received": 355, "request_id": 89, @@ -23269,9 +23297,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.8742830000112463, + "duration_ms": 0.21391999996467348, "success": true, - "started_at_unix": 1789970974.1780095, + "started_at_unix": 1790057277.29887, "bytes_sent": 314, "bytes_received": 355, "request_id": 90, @@ -23300,9 +23328,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 1.9248680000032437, + "duration_ms": 0.20315000000437067, "success": true, - "started_at_unix": 1789970974.1809788, + "started_at_unix": 1790057277.299159, "bytes_sent": 314, "bytes_received": 355, "request_id": 91, @@ -23331,9 +23359,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2568589999896176, + "duration_ms": 0.24614999995264952, "success": true, - "started_at_unix": 1789970974.1830323, + "started_at_unix": 1790057277.299458, "bytes_sent": 314, "bytes_received": 355, "request_id": 92, @@ -23362,9 +23390,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.24157999999374624, + "duration_ms": 0.21017299997083683, "success": true, - "started_at_unix": 1789970974.183376, + "started_at_unix": 1790057277.2997766, "bytes_sent": 314, "bytes_received": 355, "request_id": 93, @@ -23393,9 +23421,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.26043500000128006, + "duration_ms": 0.22080299999061026, "success": true, - "started_at_unix": 1789970974.1837378, + "started_at_unix": 1790057277.300085, "bytes_sent": 314, "bytes_received": 401, "request_id": 94, @@ -23424,9 +23452,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.3316270000084387, + "duration_ms": 0.29574300003787357, "success": true, - "started_at_unix": 1789970974.1841462, + "started_at_unix": 1790057277.3004482, "bytes_sent": 314, "bytes_received": 2269, "request_id": 95, @@ -23455,9 +23483,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2823949999992692, + "duration_ms": 0.21688499998617772, "success": true, - "started_at_unix": 1789970974.1846836, + "started_at_unix": 1790057277.3009233, "bytes_sent": 314, "bytes_received": 401, "request_id": 96, @@ -23486,9 +23514,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.19446199999606506, + "duration_ms": 0.20141599998169113, "success": true, - "started_at_unix": 1789970974.18507, + "started_at_unix": 1790057277.301239, "bytes_sent": 314, "bytes_received": 61, "request_id": 97, @@ -23516,9 +23544,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.17676900000651585, + "duration_ms": 0.21833800002468706, "success": true, - "started_at_unix": 1789970974.1853042, + "started_at_unix": 1790057277.3014808, "bytes_sent": 314, "bytes_received": 61, "request_id": 98, @@ -23546,9 +23574,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2325629999972989, + "duration_ms": 0.18460500001538094, "success": true, - "started_at_unix": 1789970974.1855178, + "started_at_unix": 1790057277.3017306, "bytes_sent": 314, "bytes_received": 61, "request_id": 99, @@ -23576,9 +23604,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.24219099998390448, + "duration_ms": 0.2229959999908715, "success": true, - "started_at_unix": 1789970974.1858196, + "started_at_unix": 1790057277.3019483, "bytes_sent": 315, "bytes_received": 402, "request_id": 100, @@ -23607,9 +23635,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.22498900000300637, + "duration_ms": 0.20121599999356476, "success": true, - "started_at_unix": 1789970974.1862373, + "started_at_unix": 1790057277.302321, "bytes_sent": 315, "bytes_received": 62, "request_id": 101, @@ -23637,9 +23665,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.29848599999127146, + "duration_ms": 0.30488999999533917, "success": true, - "started_at_unix": 1789970974.1865027, + "started_at_unix": 1790057277.3025599, "bytes_sent": 315, "bytes_received": 894, "request_id": 102, @@ -23668,9 +23696,9 @@ { "kind": "request", "method": "typeServer/semanticTokens", - "duration_ms": 15.591658000005282, + "duration_ms": 9.867122000002837, "success": true, - "started_at_unix": 1789970974.187228, + "started_at_unix": 1790057277.303214, "bytes_sent": 0, "bytes_received": 0, "request_id": "local-111", @@ -23701,9 +23729,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.26887099997452424, + "duration_ms": 0.23393700001861362, "success": true, - "started_at_unix": 1789970974.1890352, + "started_at_unix": 1790057277.3048627, "bytes_sent": 313, "bytes_received": 62, "request_id": 104, @@ -23731,9 +23759,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2709649999985686, + "duration_ms": 0.2770780000105333, "success": true, - "started_at_unix": 1789970974.189349, + "started_at_unix": 1790057277.3051388, "bytes_sent": 313, "bytes_received": 307, "request_id": 105, @@ -23763,9 +23791,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2867540000011104, + "duration_ms": 0.24575899999490503, "success": true, - "started_at_unix": 1789970974.1897252, + "started_at_unix": 1790057277.3055224, "bytes_sent": 313, "bytes_received": 62, "request_id": 106, @@ -23793,9 +23821,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2548850000039238, + "duration_ms": 0.26890300000559364, "success": true, - "started_at_unix": 1789970974.1900518, + "started_at_unix": 1790057277.3058085, "bytes_sent": 313, "bytes_received": 307, "request_id": 107, @@ -23825,9 +23853,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.23381599999083846, + "duration_ms": 0.2322139999932915, "success": true, - "started_at_unix": 1789970974.190462, + "started_at_unix": 1790057277.3062236, "bytes_sent": 313, "bytes_received": 62, "request_id": 108, @@ -23855,9 +23883,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.3237530000035349, + "duration_ms": 0.2860449999957382, "success": true, - "started_at_unix": 1789970974.190737, + "started_at_unix": 1790057277.306494, "bytes_sent": 313, "bytes_received": 307, "request_id": 109, @@ -23887,9 +23915,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.31563800001777054, + "duration_ms": 0.3103199999827666, "success": true, - "started_at_unix": 1789970974.1912396, + "started_at_unix": 1790057277.3069417, "bytes_sent": 315, "bytes_received": 1888, "request_id": 110, @@ -23918,9 +23946,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.29613099999892256, + "duration_ms": 0.2472319999924366, "success": true, - "started_at_unix": 1789970974.1917334, + "started_at_unix": 1790057277.3074248, "bytes_sent": 315, "bytes_received": 62, "request_id": 111, @@ -23948,9 +23976,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.25508499999205014, + "duration_ms": 0.24357500001315202, "success": true, - "started_at_unix": 1789970974.1920726, + "started_at_unix": 1790057277.3077123, "bytes_sent": 315, "bytes_received": 402, "request_id": 112, @@ -23979,9 +24007,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.6507720000001882, + "duration_ms": 0.5950429999757034, "success": true, - "started_at_unix": 1789970974.1924508, + "started_at_unix": 1790057277.3080711, "bytes_sent": 315, "bytes_received": 9720, "request_id": 113, @@ -24010,9 +24038,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.4271759999880942, + "duration_ms": 0.4769009999563423, "success": true, - "started_at_unix": 1789970974.1938288, + "started_at_unix": 1790057277.3092682, "bytes_sent": 315, "bytes_received": 356, "request_id": 114, @@ -24041,9 +24069,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2524700000208213, + "duration_ms": 0.21577299997943555, "success": true, - "started_at_unix": 1789970974.1943603, + "started_at_unix": 1790057277.3098333, "bytes_sent": 315, "bytes_received": 356, "request_id": 115, @@ -24072,9 +24100,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2827069999966625, + "duration_ms": 0.19645700001547084, "success": true, - "started_at_unix": 1789970974.194702, + "started_at_unix": 1790057277.310123, "bytes_sent": 315, "bytes_received": 356, "request_id": 116, @@ -24103,9 +24131,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2514189999942573, + "duration_ms": 0.24369599998408376, "success": true, - "started_at_unix": 1789970974.1951058, + "started_at_unix": 1790057277.310423, "bytes_sent": 315, "bytes_received": 356, "request_id": 117, @@ -24134,9 +24162,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2693419999957314, + "duration_ms": 0.22349699997903372, "success": true, - "started_at_unix": 1789970974.195445, + "started_at_unix": 1790057277.31075, "bytes_sent": 315, "bytes_received": 356, "request_id": 118, @@ -24165,9 +24193,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.29819499999916843, + "duration_ms": 0.2168750000350883, "success": true, - "started_at_unix": 1789970974.1959062, + "started_at_unix": 1790057277.3110793, "bytes_sent": 315, "bytes_received": 402, "request_id": 119, @@ -24196,9 +24224,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.33125699999914104, + "duration_ms": 0.2977969999733432, "success": true, - "started_at_unix": 1789970974.1963692, + "started_at_unix": 1790057277.311439, "bytes_sent": 315, "bytes_received": 2270, "request_id": 120, @@ -24227,9 +24255,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2540130000170393, + "duration_ms": 0.21857899997712593, "success": true, - "started_at_unix": 1789970974.1969407, + "started_at_unix": 1790057277.3119278, "bytes_sent": 315, "bytes_received": 402, "request_id": 121, @@ -24258,9 +24286,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.22655200001509002, + "duration_ms": 0.18770099995890632, "success": true, - "started_at_unix": 1789970974.1973078, + "started_at_unix": 1790057277.3122475, "bytes_sent": 315, "bytes_received": 62, "request_id": 122, @@ -24288,9 +24316,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.27787699997361415, + "duration_ms": 0.22869700001137971, "success": true, - "started_at_unix": 1789970974.197579, + "started_at_unix": 1790057277.3124733, "bytes_sent": 315, "bytes_received": 62, "request_id": 123, @@ -24318,9 +24346,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.22881699999288685, + "duration_ms": 0.2146309999488949, "success": true, - "started_at_unix": 1789970974.1978943, + "started_at_unix": 1790057277.3127465, "bytes_sent": 315, "bytes_received": 62, "request_id": 124, @@ -24348,9 +24376,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.23480799998765178, + "duration_ms": 0.2437449999774799, "success": true, - "started_at_unix": 1789970974.1981623, + "started_at_unix": 1790057277.3129978, "bytes_sent": 315, "bytes_received": 402, "request_id": 125, @@ -24379,9 +24407,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2570290000107889, + "duration_ms": 0.2272249999464293, "success": true, - "started_at_unix": 1789970974.1985643, + "started_at_unix": 1790057277.3133976, "bytes_sent": 315, "bytes_received": 62, "request_id": 126, @@ -24409,9 +24437,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.25322199999777695, + "duration_ms": 0.23863600000595397, "success": true, - "started_at_unix": 1789970974.1988583, + "started_at_unix": 1790057277.3136618, "bytes_sent": 315, "bytes_received": 894, "request_id": 127, @@ -24440,9 +24468,9 @@ { "kind": "request", "method": "typeServer/semanticTokens", - "duration_ms": 11.66524699999627, + "duration_ms": 10.427981000020736, "success": true, - "started_at_unix": 1789970974.1994803, + "started_at_unix": 1790057277.3142378, "bytes_sent": 0, "bytes_received": 0, "request_id": "local-137", @@ -24473,9 +24501,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2172650000034082, + "duration_ms": 0.22525100001757892, "success": true, - "started_at_unix": 1789970974.2011266, + "started_at_unix": 1790057277.315836, "bytes_sent": 313, "bytes_received": 62, "request_id": 129, @@ -24503,9 +24531,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.25515499999073654, + "duration_ms": 0.2676600000199869, "success": true, - "started_at_unix": 1789970974.201382, + "started_at_unix": 1790057277.3160992, "bytes_sent": 313, "bytes_received": 307, "request_id": 130, @@ -24535,9 +24563,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2193789999864748, + "duration_ms": 0.2240090000213968, "success": true, - "started_at_unix": 1789970974.2017343, + "started_at_unix": 1790057277.3164675, "bytes_sent": 313, "bytes_received": 62, "request_id": 131, @@ -24565,9 +24593,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.23605999999176674, + "duration_ms": 0.2585530000374092, "success": true, - "started_at_unix": 1789970974.201989, + "started_at_unix": 1790057277.3167274, "bytes_sent": 313, "bytes_received": 307, "request_id": 132, @@ -24597,9 +24625,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.19041499999161715, + "duration_ms": 0.22579199998062904, "success": true, - "started_at_unix": 1789970974.2023327, + "started_at_unix": 1790057277.3171082, "bytes_sent": 313, "bytes_received": 62, "request_id": 133, @@ -24627,9 +24655,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.27791799999477007, + "duration_ms": 0.30424899995296073, "success": true, - "started_at_unix": 1789970974.2025573, + "started_at_unix": 1790057277.317373, "bytes_sent": 313, "bytes_received": 307, "request_id": 134, @@ -24659,9 +24687,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.3126419999830432, + "duration_ms": 0.3044489999979305, "success": true, - "started_at_unix": 1789970974.2029817, + "started_at_unix": 1790057277.3178399, "bytes_sent": 315, "bytes_received": 1888, "request_id": 135, @@ -24690,9 +24718,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.19698700000958524, + "duration_ms": 0.21813699999029268, "success": true, - "started_at_unix": 1789970974.2034488, + "started_at_unix": 1790057277.3183146, "bytes_sent": 315, "bytes_received": 62, "request_id": 136, @@ -24720,9 +24748,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.23218199999064382, + "duration_ms": 0.24715099999639278, "success": true, - "started_at_unix": 1789970974.203682, + "started_at_unix": 1790057277.3186023, "bytes_sent": 315, "bytes_received": 402, "request_id": 137, @@ -24751,9 +24779,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.5812729999945532, + "duration_ms": 0.6287150000048314, "success": true, - "started_at_unix": 1789970974.204017, + "started_at_unix": 1790057277.3189692, "bytes_sent": 315, "bytes_received": 9720, "request_id": 138, @@ -24782,9 +24810,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2464190000068811, + "duration_ms": 0.28421100000741717, "success": true, - "started_at_unix": 1789970974.205253, + "started_at_unix": 1790057277.3202631, "bytes_sent": 315, "bytes_received": 356, "request_id": 139, @@ -24813,9 +24841,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.24801099999649523, + "duration_ms": 0.24931499996228013, "success": true, - "started_at_unix": 1789970974.20559, + "started_at_unix": 1790057277.320675, "bytes_sent": 315, "bytes_received": 356, "request_id": 140, @@ -24844,9 +24872,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.20679599998629783, + "duration_ms": 0.2501079999888134, "success": true, - "started_at_unix": 1789970974.2059147, + "started_at_unix": 1790057277.3210108, "bytes_sent": 315, "bytes_received": 356, "request_id": 141, @@ -24875,9 +24903,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2168039999901339, + "duration_ms": 0.26563599999462895, "success": true, - "started_at_unix": 1789970974.206221, + "started_at_unix": 1790057277.3213787, "bytes_sent": 315, "bytes_received": 356, "request_id": 142, @@ -24906,9 +24934,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.18664699999249024, + "duration_ms": 0.24354599997877813, "success": true, - "started_at_unix": 1789970974.20651, + "started_at_unix": 1790057277.321731, "bytes_sent": 315, "bytes_received": 356, "request_id": 143, @@ -24937,9 +24965,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.23904500000071494, + "duration_ms": 0.246311000012156, "success": true, - "started_at_unix": 1789970974.206827, + "started_at_unix": 1790057277.3220968, "bytes_sent": 315, "bytes_received": 402, "request_id": 144, @@ -24968,9 +24996,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.28923799999347466, + "duration_ms": 0.3333629999815457, "success": true, - "started_at_unix": 1789970974.207209, + "started_at_unix": 1790057277.3225055, "bytes_sent": 315, "bytes_received": 2270, "request_id": 145, @@ -24999,9 +25027,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.24249099999451573, + "duration_ms": 0.24050000001807348, "success": true, - "started_at_unix": 1789970974.2076828, + "started_at_unix": 1790057277.3230348, "bytes_sent": 315, "bytes_received": 402, "request_id": 146, @@ -25030,9 +25058,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.187689000000546, + "duration_ms": 0.24378500000921122, "success": true, - "started_at_unix": 1789970974.2080245, + "started_at_unix": 1790057277.32338, "bytes_sent": 315, "bytes_received": 62, "request_id": 147, @@ -25060,9 +25088,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.18600600000695522, + "duration_ms": 0.20417199999656077, "success": true, - "started_at_unix": 1789970974.2082515, + "started_at_unix": 1790057277.3236654, "bytes_sent": 315, "bytes_received": 62, "request_id": 148, @@ -25090,9 +25118,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.1831100000231345, + "duration_ms": 0.21073400000659603, "success": true, - "started_at_unix": 1789970974.2084694, + "started_at_unix": 1790057277.3239038, "bytes_sent": 315, "bytes_received": 62, "request_id": 149, @@ -25120,9 +25148,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.24198099998784528, + "duration_ms": 0.22840599996243327, "success": true, - "started_at_unix": 1789970974.2086856, + "started_at_unix": 1790057277.3241496, "bytes_sent": 315, "bytes_received": 402, "request_id": 150, @@ -25151,9 +25179,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2046719999952984, + "duration_ms": 0.2313920000460712, "success": true, - "started_at_unix": 1789970974.209073, + "started_at_unix": 1790057277.3245304, "bytes_sent": 315, "bytes_received": 62, "request_id": 151, @@ -25181,9 +25209,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2438849999748527, + "duration_ms": 0.240338999958567, "success": true, - "started_at_unix": 1789970974.2093112, + "started_at_unix": 1790057277.3247998, "bytes_sent": 315, "bytes_received": 894, "request_id": 152, @@ -25212,9 +25240,9 @@ { "kind": "request", "method": "typeServer/semanticTokens", - "duration_ms": 9.852851999994527, + "duration_ms": 10.557602999995197, "success": true, - "started_at_unix": 1789970974.2099288, + "started_at_unix": 1790057277.3253837, "bytes_sent": 0, "bytes_received": 0, "request_id": "local-163", @@ -25260,11 +25288,11 @@ "failure_count": 0, "bytes_sent": 0, "bytes_received": 0, - "min_ms": 62.496778999985736, - "max_ms": 173.27179699998396, - "mean_ms": 126.88260599999239, - "median_ms": 135.69696199999726, - "p95_ms": 168.75038559998643, + "min_ms": 109.49200599998221, + "max_ms": 153.32948999997598, + "mean_ms": 132.29072179999548, + "median_ms": 142.22196000002896, + "p95_ms": 151.19822859998067, "result_summary": { "present_count": 5, "empty_count": 0, @@ -25345,9 +25373,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.21530100002564723, + "duration_ms": 0.2375939999978982, "success": true, - "started_at_unix": 1789970974.2114387, + "started_at_unix": 1790057277.3269656, "bytes_sent": 319, "bytes_received": 62, "request_id": 154, @@ -25375,9 +25403,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.24555699999950775, + "duration_ms": 0.24368499998672633, "success": true, - "started_at_unix": 1789970974.21169, + "started_at_unix": 1790057277.3272426, "bytes_sent": 319, "bytes_received": 470, "request_id": 155, @@ -25406,9 +25434,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.21157399999083282, + "duration_ms": 0.24147099998117483, "success": true, - "started_at_unix": 1789970974.2120216, + "started_at_unix": 1790057277.32761, "bytes_sent": 319, "bytes_received": 396, "request_id": 156, @@ -25437,9 +25465,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.18443400000478505, + "duration_ms": 0.20021400001724032, "success": true, - "started_at_unix": 1789970974.2123282, + "started_at_unix": 1790057277.3279502, "bytes_sent": 319, "bytes_received": 62, "request_id": 157, @@ -25467,9 +25495,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.1853650000214202, + "duration_ms": 0.20144600000548962, "success": true, - "started_at_unix": 1789970974.2125463, + "started_at_unix": 1790057277.328185, "bytes_sent": 319, "bytes_received": 161, "request_id": 158, @@ -25499,9 +25527,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 23.168392000002314, + "duration_ms": 21.455772000024353, "success": true, - "started_at_unix": 1789970974.2128613, + "started_at_unix": 1790057277.328485, "bytes_sent": 319, "bytes_received": 543424, "request_id": 159, @@ -25530,9 +25558,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.6090540000041074, + "duration_ms": 1.4868790000264198, "success": true, - "started_at_unix": 1789970974.2639534, + "started_at_unix": 1790057277.3783307, "bytes_sent": 319, "bytes_received": 397, "request_id": 160, @@ -25561,9 +25589,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.32591699999784396, + "duration_ms": 0.22547200001099554, "success": true, - "started_at_unix": 1789970974.2666976, + "started_at_unix": 1790057277.3799186, "bytes_sent": 319, "bytes_received": 162, "request_id": 161, @@ -25593,9 +25621,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.26606599999468017, + "duration_ms": 0.21247699999094039, "success": true, - "started_at_unix": 1789970974.267118, + "started_at_unix": 1790057277.3802261, "bytes_sent": 321, "bytes_received": 162, "request_id": 162, @@ -25625,9 +25653,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.26232800001935175, + "duration_ms": 0.23223400000915717, "success": true, - "started_at_unix": 1789970974.2674634, + "started_at_unix": 1790057277.3805027, "bytes_sent": 321, "bytes_received": 162, "request_id": 163, @@ -25657,9 +25685,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.27362000000152875, + "duration_ms": 0.2216339999563388, "success": true, - "started_at_unix": 1789970974.267842, + "started_at_unix": 1790057277.3808293, "bytes_sent": 319, "bytes_received": 357, "request_id": 164, @@ -25688,9 +25716,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2783879999981309, + "duration_ms": 0.21726700003910082, "success": true, - "started_at_unix": 1789970974.2681973, + "started_at_unix": 1790057277.3811302, "bytes_sent": 319, "bytes_received": 359, "request_id": 165, @@ -25719,9 +25747,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.3548009999860824, + "duration_ms": 0.33765200004154394, "success": true, - "started_at_unix": 1789970974.2686172, + "started_at_unix": 1790057277.3814785, "bytes_sent": 321, "bytes_received": 1943, "request_id": 166, @@ -25750,9 +25778,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.29337600000189923, + "duration_ms": 0.23817599998210426, "success": true, - "started_at_unix": 1789970974.2691972, + "started_at_unix": 1790057277.3820143, "bytes_sent": 321, "bytes_received": 359, "request_id": 167, @@ -25781,9 +25809,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.27098399999658795, + "duration_ms": 0.239978000024621, "success": true, - "started_at_unix": 1789970974.2696404, + "started_at_unix": 1790057277.3823793, "bytes_sent": 321, "bytes_received": 162, "request_id": 168, @@ -25813,9 +25841,9 @@ { "kind": "request", "method": "typeServer/semanticTokens", - "duration_ms": 59.54022099999179, + "duration_ms": 56.686068999965755, "success": true, - "started_at_unix": 1789970974.2702053, + "started_at_unix": 1790057277.3828838, "bytes_sent": 0, "bytes_received": 0, "request_id": "local-180", @@ -25846,9 +25874,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2798710000035953, + "duration_ms": 0.216424999962328, "success": true, - "started_at_unix": 1789970974.271517, + "started_at_unix": 1790057277.3840206, "bytes_sent": 319, "bytes_received": 62, "request_id": 170, @@ -25876,9 +25904,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.28901900000732894, + "duration_ms": 0.2240189999724862, "success": true, - "started_at_unix": 1789970974.271841, + "started_at_unix": 1790057277.3842742, "bytes_sent": 319, "bytes_received": 471, "request_id": 171, @@ -25907,9 +25935,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2882969999973284, + "duration_ms": 0.2325250000012602, "success": true, - "started_at_unix": 1789970974.2722268, + "started_at_unix": 1790057277.3846114, "bytes_sent": 319, "bytes_received": 397, "request_id": 172, @@ -25938,9 +25966,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.26295899999695393, + "duration_ms": 0.21712600005230343, "success": true, - "started_at_unix": 1789970974.2726295, + "started_at_unix": 1790057277.3849418, "bytes_sent": 319, "bytes_received": 62, "request_id": 173, @@ -25968,9 +25996,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2603039999939938, + "duration_ms": 0.22484999999505817, "success": true, - "started_at_unix": 1789970974.272935, + "started_at_unix": 1790057277.3851955, "bytes_sent": 319, "bytes_received": 162, "request_id": 174, @@ -26000,9 +26028,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 23.437258000001293, + "duration_ms": 31.149249999998574, "success": true, - "started_at_unix": 1789970974.2732983, + "started_at_unix": 1790057277.3855107, "bytes_sent": 319, "bytes_received": 544021, "request_id": 175, @@ -26031,9 +26059,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 3.180764000006775, + "duration_ms": 5.313301000001047, "success": true, - "started_at_unix": 1789970974.3262277, + "started_at_unix": 1790057277.4733007, "bytes_sent": 319, "bytes_received": 397, "request_id": 176, @@ -26062,9 +26090,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.3341320000060932, + "duration_ms": 0.2530930000261833, "success": true, - "started_at_unix": 1789970974.3295603, + "started_at_unix": 1790057277.4787402, "bytes_sent": 319, "bytes_received": 162, "request_id": 177, @@ -26094,9 +26122,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2938669999821286, + "duration_ms": 2.6054190000195376, "success": true, - "started_at_unix": 1789970974.330002, + "started_at_unix": 1790057277.4790797, "bytes_sent": 321, "bytes_received": 162, "request_id": 178, @@ -26126,9 +26154,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2850609999995868, + "duration_ms": 2.8397770000196942, "success": true, - "started_at_unix": 1789970974.3303802, + "started_at_unix": 1790057277.4817631, "bytes_sent": 321, "bytes_received": 162, "request_id": 179, @@ -26158,9 +26186,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2564070000232732, + "duration_ms": 0.24685099998578153, "success": true, - "started_at_unix": 1789970974.3307946, + "started_at_unix": 1790057277.4847157, "bytes_sent": 319, "bytes_received": 357, "request_id": 180, @@ -26189,9 +26217,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.26061500000196247, + "duration_ms": 2.6203470000041307, "success": true, - "started_at_unix": 1789970974.3311346, + "started_at_unix": 1790057277.485054, "bytes_sent": 319, "bytes_received": 359, "request_id": 181, @@ -26220,9 +26248,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.41167700001665253, + "duration_ms": 2.9251670000007834, "success": true, - "started_at_unix": 1789970974.3315332, + "started_at_unix": 1790057277.4878144, "bytes_sent": 321, "bytes_received": 1943, "request_id": 182, @@ -26251,9 +26279,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2718759999993381, + "duration_ms": 2.7144939999743656, "success": true, - "started_at_unix": 1789970974.332168, + "started_at_unix": 1790057277.4909701, "bytes_sent": 321, "bytes_received": 359, "request_id": 183, @@ -26282,9 +26310,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2666369999815288, + "duration_ms": 2.8472919999558144, "success": true, - "started_at_unix": 1789970974.3325915, + "started_at_unix": 1790057277.4938326, "bytes_sent": 321, "bytes_received": 162, "request_id": 184, @@ -26314,9 +26342,9 @@ { "kind": "request", "method": "typeServer/semanticTokens", - "duration_ms": 62.496778999985736, + "duration_ms": 113.73696999999083, "success": true, - "started_at_unix": 1789970974.3331347, + "started_at_unix": 1790057277.4969835, "bytes_sent": 0, "bytes_received": 0, "request_id": "local-197", @@ -26347,9 +26375,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.22386599999890677, + "duration_ms": 0.2371630000084224, "success": true, - "started_at_unix": 1789970974.3343878, + "started_at_unix": 1790057277.49829, "bytes_sent": 319, "bytes_received": 62, "request_id": 186, @@ -26377,9 +26405,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.29634200001282807, + "duration_ms": 0.25772200001483725, "success": true, - "started_at_unix": 1789970974.3346467, + "started_at_unix": 1790057277.4985907, "bytes_sent": 319, "bytes_received": 471, "request_id": 187, @@ -26408,9 +26436,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.24217099999646052, + "duration_ms": 0.2394879999769728, "success": true, - "started_at_unix": 1789970974.3350444, + "started_at_unix": 1790057277.4989457, "bytes_sent": 319, "bytes_received": 397, "request_id": 188, @@ -26439,9 +26467,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2212729999939711, + "duration_ms": 0.22002100001827785, "success": true, - "started_at_unix": 1789970974.3353922, + "started_at_unix": 1790057277.4992938, "bytes_sent": 319, "bytes_received": 62, "request_id": 189, @@ -26469,9 +26497,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.24883399998998357, + "duration_ms": 0.25623900000937283, "success": true, - "started_at_unix": 1789970974.3356504, + "started_at_unix": 1790057277.4995518, "bytes_sent": 319, "bytes_received": 162, "request_id": 190, @@ -26501,9 +26529,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 44.60582999999474, + "duration_ms": 26.616348000004564, "success": true, - "started_at_unix": 1789970974.3359973, + "started_at_unix": 1790057277.4999092, "bytes_sent": 319, "bytes_received": 544021, "request_id": 191, @@ -26532,9 +26560,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 5.447425999989264, + "duration_ms": 4.647075000036693, "success": true, - "started_at_unix": 1789970974.4419422, + "started_at_unix": 1790057277.585966, "bytes_sent": 319, "bytes_received": 397, "request_id": 192, @@ -26563,9 +26591,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 3.3711280000261468, + "duration_ms": 2.9301559999908022, "success": true, - "started_at_unix": 1789970974.447534, + "started_at_unix": 1790057277.59074, "bytes_sent": 319, "bytes_received": 162, "request_id": 193, @@ -26595,9 +26623,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.8563400000223282, + "duration_ms": 0.2452880000305413, "success": true, - "started_at_unix": 1789970974.4510322, + "started_at_unix": 1790057277.5937696, "bytes_sent": 321, "bytes_received": 162, "request_id": 194, @@ -26627,9 +26655,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2936770000019351, + "duration_ms": 2.5970940000092924, "success": true, - "started_at_unix": 1789970974.4539886, + "started_at_unix": 1790057277.5940845, "bytes_sent": 321, "bytes_received": 162, "request_id": 195, @@ -26659,9 +26687,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.4984739999922567, + "duration_ms": 2.9013419999728285, "success": true, - "started_at_unix": 1789970974.454408, + "started_at_unix": 1790057277.5967906, "bytes_sent": 319, "bytes_received": 357, "request_id": 196, @@ -26690,9 +26718,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.8848729999992884, + "duration_ms": 2.9037070000299536, "success": true, - "started_at_unix": 1789970974.4570096, + "started_at_unix": 1790057277.5997846, "bytes_sent": 319, "bytes_received": 359, "request_id": 197, @@ -26721,9 +26749,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.8990890000102354, + "duration_ms": 2.9084660000080476, "success": true, - "started_at_unix": 1789970974.4600525, + "started_at_unix": 1790057277.6028361, "bytes_sent": 321, "bytes_received": 1943, "request_id": 198, @@ -26752,9 +26780,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.688176999981806, + "duration_ms": 0.27967199997647185, "success": true, - "started_at_unix": 1789970974.463203, + "started_at_unix": 1790057277.6059637, "bytes_sent": 321, "bytes_received": 359, "request_id": 199, @@ -26783,9 +26811,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.8261340000028667, + "duration_ms": 0.25839199997790274, "success": true, - "started_at_unix": 1789970974.4660678, + "started_at_unix": 1790057277.6063907, "bytes_sent": 321, "bytes_received": 162, "request_id": 200, @@ -26815,9 +26843,9 @@ { "kind": "request", "method": "typeServer/semanticTokens", - "duration_ms": 135.69696199999726, + "duration_ms": 109.49200599998221, "success": true, - "started_at_unix": 1789970974.4692419, + "started_at_unix": 1790057277.606934, "bytes_sent": 0, "bytes_received": 0, "request_id": "local-214", @@ -26848,9 +26876,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.963860000022578, + "duration_ms": 0.22586200003615886, "success": true, - "started_at_unix": 1789970974.472926, + "started_at_unix": 1790057277.6082518, "bytes_sent": 319, "bytes_received": 62, "request_id": 202, @@ -26878,9 +26906,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.9626680000092165, + "duration_ms": 0.2636529999904269, "success": true, - "started_at_unix": 1789970974.4759433, + "started_at_unix": 1790057277.6085176, "bytes_sent": 319, "bytes_received": 471, "request_id": 203, @@ -26909,9 +26937,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.8741140000079213, + "duration_ms": 0.24168199996665862, "success": true, - "started_at_unix": 1789970974.4790308, + "started_at_unix": 1790057277.6088758, "bytes_sent": 319, "bytes_received": 397, "request_id": 204, @@ -26940,9 +26968,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.8309129999968263, + "duration_ms": 2.457832999994025, "success": true, - "started_at_unix": 1789970974.48205, + "started_at_unix": 1790057277.6092212, "bytes_sent": 319, "bytes_received": 62, "request_id": 205, @@ -26970,9 +26998,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.9690100000152597, + "duration_ms": 0.23113200001034784, "success": true, - "started_at_unix": 1789970974.484936, + "started_at_unix": 1790057277.6117213, "bytes_sent": 319, "bytes_received": 162, "request_id": 206, @@ -27002,9 +27030,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 46.49532999999906, + "duration_ms": 46.5641499999947, "success": true, - "started_at_unix": 1789970974.488046, + "started_at_unix": 1790057277.6120555, "bytes_sent": 319, "bytes_received": 544021, "request_id": 207, @@ -27033,9 +27061,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 3.717244000000619, + "duration_ms": 2.651626000044871, "success": true, - "started_at_unix": 1789970974.5947185, + "started_at_unix": 1790057277.7199574, "bytes_sent": 319, "bytes_received": 397, "request_id": 208, @@ -27064,9 +27092,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 5.318575999979203, + "duration_ms": 1.956957999993847, "success": true, - "started_at_unix": 1789970974.5985713, + "started_at_unix": 1790057277.7227385, "bytes_sent": 319, "bytes_received": 162, "request_id": 209, @@ -27096,9 +27124,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 4.77799899999809, + "duration_ms": 3.8195690000293325, "success": true, - "started_at_unix": 1789970974.6040328, + "started_at_unix": 1790057277.7247896, "bytes_sent": 321, "bytes_received": 162, "request_id": 210, @@ -27128,9 +27156,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 8.87916800002131, + "duration_ms": 2.237611999987621, "success": true, - "started_at_unix": 1789970974.6089296, + "started_at_unix": 1790057277.7286885, "bytes_sent": 321, "bytes_received": 162, "request_id": 211, @@ -27160,9 +27188,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 5.8286969999983285, + "duration_ms": 3.537742000048638, "success": true, - "started_at_unix": 1789970974.6180027, + "started_at_unix": 1790057277.7310712, "bytes_sent": 319, "bytes_received": 357, "request_id": 212, @@ -27191,9 +27219,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 3.8840750000019852, + "duration_ms": 2.9949780000038118, "success": true, - "started_at_unix": 1789970974.6240108, + "started_at_unix": 1790057277.7346966, "bytes_sent": 319, "bytes_received": 359, "request_id": 213, @@ -27222,9 +27250,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 4.713199000008217, + "duration_ms": 2.926038999987668, "success": true, - "started_at_unix": 1789970974.6280937, + "started_at_unix": 1790057277.7378478, "bytes_sent": 321, "bytes_received": 1943, "request_id": 214, @@ -27253,9 +27281,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 5.841820000000553, + "duration_ms": 5.595699000025434, "success": true, - "started_at_unix": 1789970974.6330667, + "started_at_unix": 1790057277.741013, "bytes_sent": 321, "bytes_received": 359, "request_id": 215, @@ -27284,9 +27312,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 5.797228000005816, + "duration_ms": 3.002231000039046, "success": true, - "started_at_unix": 1789970974.6390932, + "started_at_unix": 1790057277.7467647, "bytes_sent": 321, "bytes_received": 162, "request_id": 216, @@ -27316,9 +27344,9 @@ { "kind": "request", "method": "typeServer/semanticTokens", - "duration_ms": 173.27179699998396, + "duration_ms": 142.67318299999943, "success": true, - "started_at_unix": 1789970974.6452374, + "started_at_unix": 1790057277.7500691, "bytes_sent": 0, "bytes_received": 0, "request_id": "local-231", @@ -27349,9 +27377,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.9772959999831983, + "duration_ms": 3.2345660000032694, "success": true, - "started_at_unix": 1789970974.648918, + "started_at_unix": 1790057277.7535415, "bytes_sent": 319, "bytes_received": 62, "request_id": 218, @@ -27379,9 +27407,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.934075000013081, + "duration_ms": 1.8621309999957703, "success": true, - "started_at_unix": 1789970974.6519496, + "started_at_unix": 1790057277.7568238, "bytes_sent": 319, "bytes_received": 471, "request_id": 219, @@ -27410,9 +27438,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2979349999918668, + "duration_ms": 3.8269120000222756, "success": true, - "started_at_unix": 1789970974.6549976, + "started_at_unix": 1790057277.758781, "bytes_sent": 319, "bytes_received": 397, "request_id": 220, @@ -27441,9 +27469,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.4580879999973604, + "duration_ms": 1.9518180000090979, "success": true, - "started_at_unix": 1789970974.6554127, + "started_at_unix": 1790057277.7627237, "bytes_sent": 319, "bytes_received": 62, "request_id": 221, @@ -27471,9 +27499,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.9677370000058545, + "duration_ms": 3.8911930000153916, "success": true, - "started_at_unix": 1789970974.6579142, + "started_at_unix": 1790057277.7647173, "bytes_sent": 319, "bytes_received": 162, "request_id": 222, @@ -27503,9 +27531,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 46.2233129999845, + "duration_ms": 42.045414999961395, "success": true, - "started_at_unix": 1789970974.6609995, + "started_at_unix": 1790057277.7687173, "bytes_sent": 319, "bytes_received": 545209, "request_id": 223, @@ -27534,9 +27562,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 4.846737999997686, + "duration_ms": 4.658486999971956, "success": true, - "started_at_unix": 1789970974.769331, + "started_at_unix": 1790057277.866965, "bytes_sent": 319, "bytes_received": 398, "request_id": 224, @@ -27565,9 +27593,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.571609000000308, + "duration_ms": 2.90595100000246, "success": true, - "started_at_unix": 1789970974.7743096, + "started_at_unix": 1790057277.8717728, "bytes_sent": 319, "bytes_received": 163, "request_id": 225, @@ -27597,9 +27625,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 5.883849000014152, + "duration_ms": 2.8221549999898343, "success": true, - "started_at_unix": 1789970974.7769928, + "started_at_unix": 1790057277.8747873, "bytes_sent": 321, "bytes_received": 163, "request_id": 226, @@ -27629,9 +27657,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.89876900001218, + "duration_ms": 0.9787289999962923, "success": true, - "started_at_unix": 1789970974.782966, + "started_at_unix": 1790057277.8777068, "bytes_sent": 321, "bytes_received": 163, "request_id": 227, @@ -27661,9 +27689,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.26503399999455723, + "duration_ms": 2.892635999955928, "success": true, - "started_at_unix": 1789970974.7859874, + "started_at_unix": 1790057277.878807, "bytes_sent": 319, "bytes_received": 358, "request_id": 228, @@ -27692,9 +27720,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.5392100000090068, + "duration_ms": 4.822283000009975, "success": true, - "started_at_unix": 1789970974.7863424, + "started_at_unix": 1790057277.881799, "bytes_sent": 319, "bytes_received": 360, "request_id": 229, @@ -27723,9 +27751,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.9076460000112547, + "duration_ms": 2.8133580000258007, "success": true, - "started_at_unix": 1789970974.7890317, + "started_at_unix": 1790057277.8868, "bytes_sent": 321, "bytes_received": 1950, "request_id": 230, @@ -27754,9 +27782,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.7368070000193256, + "duration_ms": 1.8353400000137299, "success": true, - "started_at_unix": 1789970974.7921712, + "started_at_unix": 1790057277.8898528, "bytes_sent": 321, "bytes_received": 360, "request_id": 231, @@ -27785,9 +27813,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 3.209587999975838, + "duration_ms": 2.76958699998886, "success": true, - "started_at_unix": 1789970974.7950733, + "started_at_unix": 1790057277.8918436, "bytes_sent": 321, "bytes_received": 163, "request_id": 232, @@ -27817,9 +27845,9 @@ { "kind": "request", "method": "typeServer/semanticTokens", - "duration_ms": 150.6647399999963, + "duration_ms": 142.22196000002896, "success": true, - "started_at_unix": 1789970974.7985988, + "started_at_unix": 1790057277.8949292, "bytes_sent": 0, "bytes_received": 0, "request_id": "local-248", @@ -27850,9 +27878,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 3.072892999995247, + "duration_ms": 1.1635649999561792, "success": true, - "started_at_unix": 1789970974.8028092, + "started_at_unix": 1790057277.8985322, "bytes_sent": 319, "bytes_received": 62, "request_id": 234, @@ -27880,9 +27908,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 5.946685999987267, + "duration_ms": 5.87026200003038, "success": true, - "started_at_unix": 1789970974.8059363, + "started_at_unix": 1790057277.899739, "bytes_sent": 319, "bytes_received": 472, "request_id": 235, @@ -27911,9 +27939,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.898349000020062, + "duration_ms": 2.9930139999692074, "success": true, - "started_at_unix": 1789970974.8119903, + "started_at_unix": 1790057277.9057176, "bytes_sent": 319, "bytes_received": 398, "request_id": 236, @@ -27942,9 +27970,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 5.870114000003923, + "duration_ms": 5.780092999998487, "success": true, - "started_at_unix": 1789970974.8150022, + "started_at_unix": 1790057277.9088311, "bytes_sent": 319, "bytes_received": 62, "request_id": 237, @@ -27972,9 +28000,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.9703120000021954, + "duration_ms": 5.947796999976163, "success": true, - "started_at_unix": 1789970974.8209212, + "started_at_unix": 1790057277.9146628, "bytes_sent": 319, "bytes_received": 163, "request_id": 238, @@ -28004,9 +28032,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 41.30595399999493, + "duration_ms": 39.1219910000018, "success": true, - "started_at_unix": 1789970974.824015, + "started_at_unix": 1790057277.920746, "bytes_sent": 319, "bytes_received": 546192, "request_id": 239, @@ -28035,9 +28063,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 4.679375999984359, + "duration_ms": 4.9310470000136775, "success": true, - "started_at_unix": 1789970974.8961248, + "started_at_unix": 1790057278.0186243, "bytes_sent": 319, "bytes_received": 398, "request_id": 240, @@ -28066,9 +28094,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.9143430000051467, + "duration_ms": 5.97769299997708, "success": true, - "started_at_unix": 1789970974.9009442, + "started_at_unix": 1790057278.0236893, "bytes_sent": 319, "bytes_received": 163, "request_id": 241, @@ -28098,9 +28126,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.9197480000107134, + "duration_ms": 3.9199869999606562, "success": true, - "started_at_unix": 1789970974.9019597, + "started_at_unix": 1790057278.0297616, "bytes_sent": 321, "bytes_received": 163, "request_id": 242, @@ -28130,9 +28158,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 1.6522670000256312, + "duration_ms": 4.909426000040185, "success": true, - "started_at_unix": 1789970974.9049656, + "started_at_unix": 1790057278.0337555, "bytes_sent": 321, "bytes_received": 163, "request_id": 243, @@ -28162,9 +28190,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.30590000000074724, + "duration_ms": 0.9044310000376754, "success": true, - "started_at_unix": 1789970974.9067292, + "started_at_unix": 1790057278.0387816, "bytes_sent": 319, "bytes_received": 358, "request_id": 244, @@ -28193,9 +28221,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.3103260000045793, + "duration_ms": 3.9230930000258013, "success": true, - "started_at_unix": 1789970974.9071226, + "started_at_unix": 1790057278.0397797, "bytes_sent": 319, "bytes_received": 360, "request_id": 245, @@ -28224,9 +28252,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.3531179999924916, + "duration_ms": 0.8994120000238581, "success": true, - "started_at_unix": 1789970974.907574, + "started_at_unix": 1790057278.0438583, "bytes_sent": 321, "bytes_received": 1950, "request_id": 246, @@ -28255,9 +28283,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2674780000120336, + "duration_ms": 2.708230999985517, "success": true, - "started_at_unix": 1789970974.9081352, + "started_at_unix": 1790057278.044986, "bytes_sent": 321, "bytes_received": 360, "request_id": 247, @@ -28286,9 +28314,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 5.34716900000376, + "duration_ms": 2.8432539999698747, "success": true, - "started_at_unix": 1789970974.9085312, + "started_at_unix": 1790057278.0478432, "bytes_sent": 321, "bytes_received": 163, "request_id": 248, @@ -28318,9 +28346,9 @@ { "kind": "request", "method": "typeServer/semanticTokens", - "duration_ms": 112.28275199999871, + "duration_ms": 153.32948999997598, "success": true, - "started_at_unix": 1789970974.9141889, + "started_at_unix": 1790057278.0509896, "bytes_sent": 0, "bytes_received": 0, "request_id": "local-265", @@ -28366,11 +28394,11 @@ "failure_count": 0, "bytes_sent": 0, "bytes_received": 0, - "min_ms": 41.4670139999771, - "max_ms": 60.41100799998844, - "mean_ms": 51.829372599991075, - "median_ms": 51.42441099999928, - "p95_ms": 59.42256699999007, + "min_ms": 43.555501000014374, + "max_ms": 67.14414499998611, + "mean_ms": 55.75458000001845, + "median_ms": 54.4667210000398, + "p95_ms": 66.3833631999978, "result_summary": { "present_count": 5, "empty_count": 0, @@ -28451,9 +28479,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 3.0578460000185714, + "duration_ms": 5.105181000033099, "success": true, - "started_at_unix": 1789970974.9188318, + "started_at_unix": 1790057278.0545893, "bytes_sent": 313, "bytes_received": 377, "request_id": 250, @@ -28482,9 +28510,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.892999000010832, + "duration_ms": 2.91088099999115, "success": true, - "started_at_unix": 1789970974.921989, + "started_at_unix": 1790057278.0597866, "bytes_sent": 313, "bytes_received": 360, "request_id": 251, @@ -28513,9 +28541,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.9196080000133406, + "duration_ms": 2.9366190000246206, "success": true, - "started_at_unix": 1789970974.9250093, + "started_at_unix": 1790057278.062822, "bytes_sent": 313, "bytes_received": 657, "request_id": 252, @@ -28544,9 +28572,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.8177279999965776, + "duration_ms": 2.7984310000306323, "success": true, - "started_at_unix": 1789970974.9280782, + "started_at_unix": 1790057278.0659068, "bytes_sent": 313, "bytes_received": 366, "request_id": 253, @@ -28575,9 +28603,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.8875280000022485, + "duration_ms": 2.8957530000184306, "success": true, - "started_at_unix": 1789970974.9309947, + "started_at_unix": 1790057278.068806, "bytes_sent": 313, "bytes_received": 358, "request_id": 254, @@ -28606,9 +28634,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.87481499998421, + "duration_ms": 2.875695000000178, "success": true, - "started_at_unix": 1789970974.933989, + "started_at_unix": 1790057278.0718095, "bytes_sent": 313, "bytes_received": 62, "request_id": 255, @@ -28636,9 +28664,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.9909399999894504, + "duration_ms": 2.9897480000045107, "success": true, - "started_at_unix": 1789970974.9369183, + "started_at_unix": 1790057278.0747347, "bytes_sent": 312, "bytes_received": 883, "request_id": 256, @@ -28667,9 +28695,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.7596400000220456, + "duration_ms": 2.8295980000052623, "success": true, - "started_at_unix": 1789970974.9401107, + "started_at_unix": 1790057278.077858, "bytes_sent": 313, "bytes_received": 62, "request_id": 257, @@ -28697,9 +28725,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.9725070000097276, + "duration_ms": 2.9637000000093394, "success": true, - "started_at_unix": 1789970974.942912, + "started_at_unix": 1790057278.0807304, "bytes_sent": 313, "bytes_received": 366, "request_id": 258, @@ -28728,9 +28756,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.881506999983685, + "duration_ms": 3.8106830000401715, "success": true, - "started_at_unix": 1789970974.9459972, + "started_at_unix": 1790057278.0838017, "bytes_sent": 313, "bytes_received": 366, "request_id": 259, @@ -28759,9 +28787,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.9243159999907675, + "duration_ms": 2.001762000020335, "success": true, - "started_at_unix": 1789970974.9489872, + "started_at_unix": 1790057278.0877228, "bytes_sent": 313, "bytes_received": 883, "request_id": 260, @@ -28790,9 +28818,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.8097029999969436, + "duration_ms": 2.8185479999933705, "success": true, - "started_at_unix": 1789970974.952081, + "started_at_unix": 1790057278.0898893, "bytes_sent": 313, "bytes_received": 358, "request_id": 261, @@ -28821,9 +28849,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.9043290000174693, + "duration_ms": 4.917731999967145, "success": true, - "started_at_unix": 1789970974.9549925, + "started_at_unix": 1790057278.0928056, "bytes_sent": 313, "bytes_received": 360, "request_id": 262, @@ -28852,9 +28880,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.8401999999800864, + "duration_ms": 2.8823780000379884, "success": true, - "started_at_unix": 1789970974.9580324, + "started_at_unix": 1790057278.0978494, "bytes_sent": 313, "bytes_received": 366, "request_id": 263, @@ -28883,9 +28911,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 5.998361999985491, + "duration_ms": 3.227723000009064, "success": true, - "started_at_unix": 1789970974.961011, + "started_at_unix": 1790057278.1008694, "bytes_sent": 314, "bytes_received": 3532, "request_id": 264, @@ -28914,9 +28942,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.522959000003766, + "duration_ms": 5.166847999987567, "success": true, - "started_at_unix": 1789970974.9673977, + "started_at_unix": 1790057278.1044466, "bytes_sent": 315, "bytes_received": 1282, "request_id": 265, @@ -28945,9 +28973,9 @@ { "kind": "request", "method": "typeServer/semanticTokens", - "duration_ms": 52.360042999993084, + "duration_ms": 56.26616399996465, "success": true, - "started_at_unix": 1789970974.9702694, + "started_at_unix": 1790057278.10998, "bytes_sent": 0, "bytes_received": 0, "request_id": "local-283", @@ -28978,9 +29006,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 3.125662000002194, + "duration_ms": 5.933398999957262, "success": true, - "started_at_unix": 1789970974.9767528, + "started_at_unix": 1790057278.1136894, "bytes_sent": 313, "bytes_received": 377, "request_id": 267, @@ -29009,9 +29037,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.89448099999845, + "duration_ms": 2.8990380000095683, "success": true, - "started_at_unix": 1789970974.9799855, + "started_at_unix": 1790057278.1197178, "bytes_sent": 313, "bytes_received": 360, "request_id": 268, @@ -29040,9 +29068,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.89156600001661, + "duration_ms": 2.87504400000671, "success": true, - "started_at_unix": 1789970974.983007, + "started_at_unix": 1790057278.1227345, "bytes_sent": 313, "bytes_received": 657, "request_id": 269, @@ -29071,9 +29099,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 1.9552219999923182, + "duration_ms": 0.9592129999873578, "success": true, - "started_at_unix": 1789970974.9860342, + "started_at_unix": 1790057278.1257534, "bytes_sent": 313, "bytes_received": 366, "request_id": 270, @@ -29102,9 +29130,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 1.8084780000151568, + "duration_ms": 4.808948999993845, "success": true, - "started_at_unix": 1789970974.9880826, + "started_at_unix": 1790057278.1268096, "bytes_sent": 313, "bytes_received": 358, "request_id": 271, @@ -29133,9 +29161,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.8752359999941746, + "duration_ms": 2.891514999987521, "success": true, - "started_at_unix": 1789970974.99, + "started_at_unix": 1790057278.1317222, "bytes_sent": 313, "bytes_received": 62, "request_id": 272, @@ -29163,9 +29191,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 1.9863390000125491, + "duration_ms": 2.943641000001662, "success": true, - "started_at_unix": 1789970974.9929235, + "started_at_unix": 1790057278.1346672, "bytes_sent": 312, "bytes_received": 883, "request_id": 273, @@ -29194,9 +29222,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.8162149999957364, + "duration_ms": 8.866341000043576, "success": true, - "started_at_unix": 1789970974.9950542, + "started_at_unix": 1790057278.1377423, "bytes_sent": 313, "bytes_received": 62, "request_id": 274, @@ -29224,9 +29252,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.966324999988501, + "duration_ms": 8.950448999996752, "success": true, - "started_at_unix": 1789970974.997916, + "started_at_unix": 1790057278.1466572, "bytes_sent": 313, "bytes_received": 366, "request_id": 275, @@ -29255,9 +29283,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.8956529999959457, + "duration_ms": 1.9890379999765173, "success": true, - "started_at_unix": 1789970975.0009959, + "started_at_unix": 1790057278.1557283, "bytes_sent": 313, "bytes_received": 366, "request_id": 276, @@ -29286,9 +29314,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 5.92276099999367, + "duration_ms": 3.838944999984051, "success": true, - "started_at_unix": 1789970975.0039964, + "started_at_unix": 1790057278.1578226, "bytes_sent": 313, "bytes_received": 883, "request_id": 277, @@ -29317,9 +29345,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.707111999995959, + "duration_ms": 2.783763000024919, "success": true, - "started_at_unix": 1789970975.0100958, + "started_at_unix": 1790057278.161832, "bytes_sent": 313, "bytes_received": 358, "request_id": 278, @@ -29348,9 +29376,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 5.017215000009401, + "duration_ms": 1.9965419999721234, "success": true, - "started_at_unix": 1789970975.0129259, + "started_at_unix": 1790057278.1647108, "bytes_sent": 313, "bytes_received": 360, "request_id": 279, @@ -29379,9 +29407,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.852152999992086, + "duration_ms": 3.814690000012888, "success": true, - "started_at_unix": 1789970975.0180411, + "started_at_unix": 1790057278.1668034, "bytes_sent": 313, "bytes_received": 366, "request_id": 280, @@ -29410,9 +29438,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.988966999993181, + "duration_ms": 5.867476999981136, "success": true, - "started_at_unix": 1789970975.021049, + "started_at_unix": 1790057278.1707454, "bytes_sent": 314, "bytes_received": 3532, "request_id": 281, @@ -29441,9 +29469,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.5380969999844183, + "duration_ms": 2.640374999998585, "success": true, - "started_at_unix": 1789970975.0243986, + "started_at_unix": 1790057278.1769679, "bytes_sent": 315, "bytes_received": 1282, "request_id": 282, @@ -29472,9 +29500,9 @@ { "kind": "request", "method": "typeServer/semanticTokens", - "duration_ms": 51.42441099999928, + "duration_ms": 67.14414499998611, "success": true, - "started_at_unix": 1789970975.0273392, + "started_at_unix": 1790057278.1799757, "bytes_sent": 0, "bytes_received": 0, "request_id": "local-301", @@ -29505,9 +29533,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 3.16798099999005, + "duration_ms": 0.2830189999940558, "success": true, - "started_at_unix": 1789970975.028717, + "started_at_unix": 1790057278.1813378, "bytes_sent": 313, "bytes_received": 377, "request_id": 284, @@ -29536,9 +29564,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 5.909387000002653, + "duration_ms": 0.24729299997261478, "success": true, - "started_at_unix": 1789970975.0319808, + "started_at_unix": 1790057278.1817105, "bytes_sent": 313, "bytes_received": 360, "request_id": 285, @@ -29567,9 +29595,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.880105000002686, + "duration_ms": 0.24428599999737344, "success": true, - "started_at_unix": 1789970975.0380147, + "started_at_unix": 1790057278.1820672, "bytes_sent": 313, "bytes_received": 657, "request_id": 286, @@ -29598,9 +29626,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.8506189999859544, + "duration_ms": 0.24907599998869046, "success": true, - "started_at_unix": 1789970975.0410423, + "started_at_unix": 1790057278.1824424, "bytes_sent": 313, "bytes_received": 366, "request_id": 287, @@ -29629,9 +29657,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.8974069999776475, + "duration_ms": 0.24473799999213952, "success": true, - "started_at_unix": 1789970975.0439992, + "started_at_unix": 1790057278.182778, "bytes_sent": 313, "bytes_received": 358, "request_id": 288, @@ -29660,9 +29688,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.8686020000066037, + "duration_ms": 0.2461000000266722, "success": true, - "started_at_unix": 1789970975.0470061, + "started_at_unix": 1790057278.1831174, "bytes_sent": 313, "bytes_received": 62, "request_id": 289, @@ -29690,9 +29718,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.966334999996434, + "duration_ms": 4.319457000008242, "success": true, - "started_at_unix": 1789970975.049929, + "started_at_unix": 1790057278.183409, "bytes_sent": 312, "bytes_received": 883, "request_id": 290, @@ -29721,9 +29749,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.845960999991348, + "duration_ms": 3.8081880000504498, "success": true, - "started_at_unix": 1789970975.0530293, + "started_at_unix": 1790057278.187858, "bytes_sent": 313, "bytes_received": 62, "request_id": 291, @@ -29751,9 +29779,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.963478999987501, + "duration_ms": 1.9726170000353704, "success": true, - "started_at_unix": 1789970975.055921, + "started_at_unix": 1790057278.19171, "bytes_sent": 313, "bytes_received": 366, "request_id": 292, @@ -29782,9 +29810,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.8902539999933197, + "duration_ms": 2.8989790000082394, "success": true, - "started_at_unix": 1789970975.0589914, + "started_at_unix": 1790057278.193789, "bytes_sent": 313, "bytes_received": 366, "request_id": 293, @@ -29813,9 +29841,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 5.952746999980718, + "duration_ms": 2.920999999957985, "success": true, - "started_at_unix": 1789970975.0619884, + "started_at_unix": 1790057278.196782, "bytes_sent": 313, "bytes_received": 883, "request_id": 294, @@ -29844,9 +29872,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.777954000009686, + "duration_ms": 6.814066000004004, "success": true, - "started_at_unix": 1789970975.068111, + "started_at_unix": 1790057278.1998634, "bytes_sent": 313, "bytes_received": 358, "request_id": 295, @@ -29875,9 +29903,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.8885499999944386, + "duration_ms": 1.9178750000037326, "success": true, - "started_at_unix": 1789970975.070991, + "started_at_unix": 1790057278.206776, "bytes_sent": 313, "bytes_received": 360, "request_id": 296, @@ -29906,9 +29934,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.9128749999927095, + "duration_ms": 2.9043580000234215, "success": true, - "started_at_unix": 1789970975.0739753, + "started_at_unix": 1790057278.2087905, "bytes_sent": 313, "bytes_received": 366, "request_id": 297, @@ -29937,9 +29965,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.9746510000165927, + "duration_ms": 5.367362000015419, "success": true, - "started_at_unix": 1789970975.0770333, + "started_at_unix": 1790057278.2122407, "bytes_sent": 314, "bytes_received": 3532, "request_id": 298, @@ -29968,9 +29996,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.5532650000172907, + "duration_ms": 5.638368999996146, "success": true, - "started_at_unix": 1789970975.0803783, + "started_at_unix": 1790057278.2179697, "bytes_sent": 315, "bytes_received": 1282, "request_id": 299, @@ -29999,9 +30027,9 @@ { "kind": "request", "method": "typeServer/semanticTokens", - "duration_ms": 55.46880299999657, + "duration_ms": 43.555501000014374, "success": true, - "started_at_unix": 1789970975.0833073, + "started_at_unix": 1790057278.2240288, "bytes_sent": 0, "bytes_received": 0, "request_id": "local-319", @@ -30032,9 +30060,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 3.169112000023233, + "duration_ms": 2.876947000004293, "success": true, - "started_at_unix": 1789970975.0846927, + "started_at_unix": 1790057278.2277346, "bytes_sent": 313, "bytes_received": 377, "request_id": 301, @@ -30063,9 +30091,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.9332430000010845, + "duration_ms": 2.0604110000022047, "success": true, - "started_at_unix": 1789970975.0879548, + "started_at_unix": 1790057278.2307062, "bytes_sent": 313, "bytes_received": 360, "request_id": 302, @@ -30094,9 +30122,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.896133999996664, + "duration_ms": 3.7252820000048814, "success": true, - "started_at_unix": 1789970975.091006, + "started_at_unix": 1790057278.2328908, "bytes_sent": 313, "bytes_received": 657, "request_id": 303, @@ -30125,9 +30153,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.828387999983306, + "duration_ms": 1.9580100000098355, "success": true, - "started_at_unix": 1789970975.094052, + "started_at_unix": 1790057278.2367518, "bytes_sent": 313, "bytes_received": 366, "request_id": 304, @@ -30156,9 +30184,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 5.926017999996702, + "duration_ms": 5.807611999955498, "success": true, - "started_at_unix": 1789970975.0969784, + "started_at_unix": 1790057278.2388055, "bytes_sent": 313, "bytes_received": 358, "request_id": 305, @@ -30187,9 +30215,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 1.8779879999897275, + "duration_ms": 5.875772000024426, "success": true, - "started_at_unix": 1789970975.1030238, + "started_at_unix": 1790057278.2447293, "bytes_sent": 313, "bytes_received": 62, "request_id": 306, @@ -30217,9 +30245,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2925550000156818, + "duration_ms": 2.239734999989196, "success": true, - "started_at_unix": 1789970975.10495, + "started_at_unix": 1790057278.2506647, "bytes_sent": 312, "bytes_received": 883, "request_id": 307, @@ -30248,9 +30276,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.23019899998644178, + "duration_ms": 4.572746999997435, "success": true, - "started_at_unix": 1789970975.1053414, + "started_at_unix": 1790057278.2530365, "bytes_sent": 313, "bytes_received": 62, "request_id": 308, @@ -30278,9 +30306,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.25699100001475017, + "duration_ms": 1.0503629999902842, "success": true, - "started_at_unix": 1789970975.1056097, + "started_at_unix": 1790057278.2576544, "bytes_sent": 313, "bytes_received": 366, "request_id": 309, @@ -30309,9 +30337,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 1.0536900000204241, + "duration_ms": 3.803028000049835, "success": true, - "started_at_unix": 1789970975.1069233, + "started_at_unix": 1790057278.2588098, "bytes_sent": 313, "bytes_received": 366, "request_id": 310, @@ -30340,9 +30368,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 1.4770709999822884, + "duration_ms": 2.0158070000206862, "success": true, - "started_at_unix": 1789970975.1080837, + "started_at_unix": 1790057278.26272, "bytes_sent": 313, "bytes_received": 883, "request_id": 311, @@ -30371,9 +30399,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 3.1561889999807136, + "duration_ms": 2.807707999977538, "success": true, - "started_at_unix": 1789970975.1097267, + "started_at_unix": 1790057278.2649016, "bytes_sent": 313, "bytes_received": 358, "request_id": 312, @@ -30402,9 +30430,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.8853940000033163, + "duration_ms": 0.8007970000107889, "success": true, - "started_at_unix": 1789970975.11299, + "started_at_unix": 1790057278.2678106, "bytes_sent": 313, "bytes_received": 360, "request_id": 313, @@ -30433,9 +30461,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.9079260000060003, + "duration_ms": 2.00061900000037, "success": true, - "started_at_unix": 1789970975.1159678, + "started_at_unix": 1790057278.2687008, "bytes_sent": 313, "bytes_received": 366, "request_id": 314, @@ -30464,9 +30492,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.979159000005893, + "duration_ms": 2.976914000043962, "success": true, - "started_at_unix": 1789970975.1190143, + "started_at_unix": 1790057278.2708297, "bytes_sent": 314, "bytes_received": 3532, "request_id": 315, @@ -30495,9 +30523,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.5834319999944455, + "duration_ms": 2.6072029999681945, "success": true, - "started_at_unix": 1789970975.1223543, + "started_at_unix": 1790057278.2741907, "bytes_sent": 315, "bytes_received": 1282, "request_id": 316, @@ -30526,9 +30554,9 @@ { "kind": "request", "method": "typeServer/semanticTokens", - "duration_ms": 41.4670139999771, + "duration_ms": 50.2662970000074, "success": true, - "started_at_unix": 1789970975.1252913, + "started_at_unix": 1790057278.2771406, "bytes_sent": 0, "bytes_received": 0, "request_id": "local-337", @@ -30559,9 +30587,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 1.1941850000027898, + "duration_ms": 2.1508089999997537, "success": true, - "started_at_unix": 1789970975.1298656, + "started_at_unix": 1790057278.283541, "bytes_sent": 313, "bytes_received": 377, "request_id": 318, @@ -30590,9 +30618,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 3.653716000002305, + "duration_ms": 3.823535999970318, "success": true, - "started_at_unix": 1789970975.1311593, + "started_at_unix": 1790057278.2857912, "bytes_sent": 313, "bytes_received": 360, "request_id": 319, @@ -30621,9 +30649,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.930698999989545, + "duration_ms": 2.9863720000093963, "success": true, - "started_at_unix": 1789970975.134932, + "started_at_unix": 1790057278.2897387, "bytes_sent": 313, "bytes_received": 657, "request_id": 320, @@ -30652,9 +30680,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 1.918803999984675, + "duration_ms": 2.7449609999621316, "success": true, - "started_at_unix": 1789970975.1379998, + "started_at_unix": 1790057278.2928755, "bytes_sent": 313, "bytes_received": 366, "request_id": 321, @@ -30683,9 +30711,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.880636000014647, + "duration_ms": 1.988346000018737, "success": true, - "started_at_unix": 1789970975.1400115, + "started_at_unix": 1790057278.2957177, "bytes_sent": 313, "bytes_received": 358, "request_id": 322, @@ -30714,9 +30742,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 3.82079700000304, + "duration_ms": 3.794813000013164, "success": true, - "started_at_unix": 1789970975.1429956, + "started_at_unix": 1790057278.2978148, "bytes_sent": 313, "bytes_received": 62, "request_id": 323, @@ -30744,9 +30772,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.028719000009005, + "duration_ms": 0.3207490000249891, "success": true, - "started_at_unix": 1789970975.1468725, + "started_at_unix": 1790057278.3016644, "bytes_sent": 312, "bytes_received": 883, "request_id": 324, @@ -30775,9 +30803,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.846812000001364, + "duration_ms": 1.5787600000294333, "success": true, - "started_at_unix": 1789970975.1490285, + "started_at_unix": 1790057278.302117, "bytes_sent": 313, "bytes_received": 62, "request_id": 325, @@ -30805,9 +30833,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 3.8948650000065754, + "duration_ms": 3.956964999986212, "success": true, - "started_at_unix": 1789970975.151921, + "started_at_unix": 1790057278.3037405, "bytes_sent": 313, "bytes_received": 366, "request_id": 326, @@ -30836,9 +30864,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 1.9617439999990438, + "duration_ms": 1.8895219999990331, "success": true, - "started_at_unix": 1789970975.1559262, + "started_at_unix": 1790057278.3078053, "bytes_sent": 313, "bytes_received": 366, "request_id": 327, @@ -30867,9 +30895,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.9196280000007846, + "duration_ms": 2.9154189999758273, "success": true, - "started_at_unix": 1789970975.1579916, + "started_at_unix": 1790057278.3097947, "bytes_sent": 313, "bytes_received": 883, "request_id": 328, @@ -30898,9 +30926,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 5.809630000015886, + "duration_ms": 5.833542999994279, "success": true, - "started_at_unix": 1789970975.1610746, + "started_at_unix": 1790057278.3128774, "bytes_sent": 313, "bytes_received": 358, "request_id": 329, @@ -30929,9 +30957,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 3.827898999986701, + "duration_ms": 5.7925060000343365, "success": true, - "started_at_unix": 1789970975.1669893, + "started_at_unix": 1790057278.3188155, "bytes_sent": 313, "bytes_received": 360, "request_id": 330, @@ -30960,9 +30988,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 1.956033999988449, + "duration_ms": 2.9944460000024264, "success": true, - "started_at_unix": 1789970975.1709156, + "started_at_unix": 1790057278.3247025, "bytes_sent": 313, "bytes_received": 366, "request_id": 331, @@ -30991,9 +31019,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.997383000007403, + "duration_ms": 5.77834000000621, "success": true, - "started_at_unix": 1789970975.1730018, + "started_at_unix": 1790057278.3278298, "bytes_sent": 314, "bytes_received": 3532, "request_id": 332, @@ -31022,9 +31050,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.5532559999987825, + "duration_ms": 2.7694759999690177, "success": true, - "started_at_unix": 1789970975.176366, + "started_at_unix": 1790057278.3339686, "bytes_sent": 315, "bytes_received": 1282, "request_id": 333, @@ -31053,9 +31081,9 @@ { "kind": "request", "method": "typeServer/semanticTokens", - "duration_ms": 50.37562699999398, + "duration_ms": 54.4667210000398, "success": true, - "started_at_unix": 1789970975.179276, + "started_at_unix": 1790057278.3371172, "bytes_sent": 0, "bytes_received": 0, "request_id": "local-355", @@ -31086,9 +31114,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.1663340000088738, + "duration_ms": 2.966454999977941, "success": true, - "started_at_unix": 1789970975.1827102, + "started_at_unix": 1790057278.3406527, "bytes_sent": 313, "bytes_received": 377, "request_id": 335, @@ -31117,9 +31145,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.9209209999976338, + "duration_ms": 1.990661000036198, "success": true, - "started_at_unix": 1789970975.184972, + "started_at_unix": 1790057278.3437164, "bytes_sent": 313, "bytes_received": 360, "request_id": 336, @@ -31148,9 +31176,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.91814499999532, + "duration_ms": 2.8909339999927397, "success": true, - "started_at_unix": 1789970975.1880136, + "started_at_unix": 1790057278.3458283, "bytes_sent": 313, "bytes_received": 657, "request_id": 337, @@ -31179,9 +31207,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.8358120000007148, + "duration_ms": 5.736091000017041, "success": true, - "started_at_unix": 1789970975.1910768, + "started_at_unix": 1790057278.3488715, "bytes_sent": 313, "bytes_received": 366, "request_id": 338, @@ -31210,9 +31238,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 3.847405999977127, + "duration_ms": 5.908583999996608, "success": true, - "started_at_unix": 1789970975.1940107, + "started_at_unix": 1790057278.3547003, "bytes_sent": 313, "bytes_received": 358, "request_id": 339, @@ -31241,9 +31269,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 1.8993170000101145, + "duration_ms": 2.9709130000128425, "success": true, - "started_at_unix": 1789970975.1979673, + "started_at_unix": 1790057278.3607185, "bytes_sent": 313, "bytes_received": 62, "request_id": 340, @@ -31271,9 +31299,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.996821000010641, + "duration_ms": 5.866674999992938, "success": true, - "started_at_unix": 1789970975.199919, + "started_at_unix": 1790057278.3637412, "bytes_sent": 312, "bytes_received": 883, "request_id": 341, @@ -31302,9 +31330,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 5.7657190000099945, + "duration_ms": 2.9521580000277936, "success": true, - "started_at_unix": 1789970975.2030494, + "started_at_unix": 1790057278.3697388, "bytes_sent": 313, "bytes_received": 62, "request_id": 342, @@ -31332,9 +31360,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 3.9361910000081934, + "duration_ms": 2.9513769999880424, "success": true, - "started_at_unix": 1789970975.2088625, + "started_at_unix": 1790057278.372735, "bytes_sent": 313, "bytes_received": 366, "request_id": 343, @@ -31363,9 +31391,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 4.890168000002859, + "duration_ms": 2.908025000010639, "success": true, - "started_at_unix": 1789970975.2129092, + "started_at_unix": 1790057278.3757927, "bytes_sent": 313, "bytes_received": 366, "request_id": 344, @@ -31394,9 +31422,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 3.029263000001947, + "duration_ms": 2.9224310000017795, "success": true, - "started_at_unix": 1789970975.2178953, + "started_at_unix": 1790057278.378809, "bytes_sent": 313, "bytes_received": 883, "request_id": 345, @@ -31425,9 +31453,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 5.700096999987636, + "duration_ms": 5.711145000020679, "success": true, - "started_at_unix": 1789970975.2210994, + "started_at_unix": 1790057278.381899, "bytes_sent": 313, "bytes_received": 358, "request_id": 346, @@ -31456,9 +31484,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.8822980000029474, + "duration_ms": 2.992774000006193, "success": true, - "started_at_unix": 1789970975.2268956, + "started_at_unix": 1790057278.3877184, "bytes_sent": 313, "bytes_received": 360, "request_id": 347, @@ -31487,9 +31515,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 3.0177709999748004, + "duration_ms": 5.792276000022412, "success": true, - "started_at_unix": 1789970975.2298644, + "started_at_unix": 1790057278.390816, "bytes_sent": 313, "bytes_received": 366, "request_id": 348, @@ -31518,9 +31546,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 5.987732000022561, + "duration_ms": 3.054028000008202, "success": true, - "started_at_unix": 1789970975.2330167, + "started_at_unix": 1790057278.3967505, "bytes_sent": 314, "bytes_received": 3532, "request_id": 349, @@ -31549,9 +31577,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.5678730000038286, + "duration_ms": 2.5678000000084467, "success": true, - "started_at_unix": 1789970975.239371, + "started_at_unix": 1790057278.4001708, "bytes_sent": 315, "bytes_received": 1282, "request_id": 350, @@ -31580,9 +31608,9 @@ { "kind": "request", "method": "typeServer/semanticTokens", - "duration_ms": 60.41100799998844, + "duration_ms": 63.34023600004457, "success": true, - "started_at_unix": 1789970975.242314, + "started_at_unix": 1790057278.4030766, "bytes_sent": 0, "bytes_received": 0, "request_id": "local-373", @@ -31617,9 +31645,9 @@ { "kind": "request", "method": "initialize", - "duration_ms": 2.276776000002201, + "duration_ms": 2.1799410000085118, "success": true, - "started_at_unix": 1789970968.7250633, + "started_at_unix": 1790057271.8533428, "bytes_sent": 673, "bytes_received": 1337, "request_id": 1, @@ -31638,9 +31666,9 @@ { "kind": "notification", "method": "initialized", - "duration_ms": 0.026047999995171267, + "duration_ms": 0.022050999973544094, "success": true, - "started_at_unix": 1789970968.7274256, + "started_at_unix": 1790057271.8556256, "bytes_sent": 74, "bytes_received": 0, "request_id": null, @@ -31653,9 +31681,9 @@ { "kind": "notification", "method": "workspace/didChangeConfiguration", - "duration_ms": 0.026188000020965774, + "duration_ms": 0.014958000008391537, "success": true, - "started_at_unix": 1789970968.727484, + "started_at_unix": 1790057271.855669, "bytes_sent": 659, "bytes_received": 0, "request_id": null, @@ -31671,9 +31699,9 @@ { "kind": "notification", "method": "textDocument/didOpen", - "duration_ms": 0.03243999998403524, + "duration_ms": 0.018815000032645912, "success": true, - "started_at_unix": 1789970968.7275925, + "started_at_unix": 1790057271.8557408, "bytes_sent": 948, "bytes_received": 0, "request_id": null, @@ -31689,9 +31717,9 @@ { "kind": "notification", "method": "textDocument/didOpen", - "duration_ms": 0.03038700000956851, + "duration_ms": 0.016319999986080802, "success": true, - "started_at_unix": 1789970968.7276871, + "started_at_unix": 1790057271.8557956, "bytes_sent": 841, "bytes_received": 0, "request_id": null, @@ -31707,9 +31735,9 @@ { "kind": "notification", "method": "textDocument/didOpen", - "duration_ms": 0.03417399997829307, + "duration_ms": 0.01616000002968576, "success": true, - "started_at_unix": 1789970968.727813, + "started_at_unix": 1790057271.855845, "bytes_sent": 644, "bytes_received": 0, "request_id": null, @@ -31725,9 +31753,9 @@ { "kind": "request", "method": "typeServer/getSupportedProtocolVersion", - "duration_ms": 1089.5240970000089, + "duration_ms": 1089.9380800000245, "success": true, - "started_at_unix": 1789970968.7278664, + "started_at_unix": 1790057271.8558784, "bytes_sent": 96, "bytes_received": 63, "request_id": 2, @@ -31749,9 +31777,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 4317.783322999986, + "duration_ms": 4312.841420000041, "success": true, - "started_at_unix": 1789970969.817479, + "started_at_unix": 1790057272.945903, "bytes_sent": 80, "bytes_received": 57, "request_id": 3, @@ -31773,9 +31801,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.3627909999863732, + "duration_ms": 0.3337059999921621, "success": true, - "started_at_unix": 1789970974.1365428, + "started_at_unix": 1790057277.259537, "bytes_sent": 311, "bytes_received": 60, "request_id": 4, @@ -31803,9 +31831,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.29369700001780075, + "duration_ms": 0.29489799999282695, "success": true, - "started_at_unix": 1789970974.1369522, + "started_at_unix": 1790057277.2599077, "bytes_sent": 311, "bytes_received": 303, "request_id": 5, @@ -31835,9 +31863,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.3464760000042588, + "duration_ms": 0.35776900000428213, "success": true, - "started_at_unix": 1789970974.1373355, + "started_at_unix": 1790057277.2603118, "bytes_sent": 311, "bytes_received": 60, "request_id": 6, @@ -31865,9 +31893,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.26525399999854926, + "duration_ms": 0.2466210000307001, "success": true, - "started_at_unix": 1789970974.1377146, + "started_at_unix": 1790057277.260703, "bytes_sent": 311, "bytes_received": 303, "request_id": 7, @@ -31897,9 +31925,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.20904999999515894, + "duration_ms": 0.20412200001374003, "success": true, - "started_at_unix": 1789970974.1380792, + "started_at_unix": 1790057277.2610397, "bytes_sent": 311, "bytes_received": 60, "request_id": 8, @@ -31927,9 +31955,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.24208099998190846, + "duration_ms": 0.2358610000214867, "success": true, - "started_at_unix": 1789970974.138318, + "started_at_unix": 1790057277.2612762, "bytes_sent": 311, "bytes_received": 303, "request_id": 9, @@ -31959,9 +31987,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 5.767593000001625, + "duration_ms": 4.347164999956021, "success": true, - "started_at_unix": 1789970974.1386762, + "started_at_unix": 1790057277.261653, "bytes_sent": 314, "bytes_received": 1877, "request_id": 10, @@ -31990,9 +32018,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.22529999998255335, + "duration_ms": 0.21175599999878614, "success": true, - "started_at_unix": 1789970974.1445622, + "started_at_unix": 1790057277.2661207, "bytes_sent": 314, "bytes_received": 61, "request_id": 11, @@ -32020,9 +32048,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2356180000049335, + "duration_ms": 0.22018199996409749, "success": true, - "started_at_unix": 1789970974.1448164, + "started_at_unix": 1790057277.266367, "bytes_sent": 314, "bytes_received": 399, "request_id": 12, @@ -32051,9 +32079,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.6224489999908656, + "duration_ms": 0.460622999980842, "success": true, - "started_at_unix": 1789970974.145131, + "started_at_unix": 1790057277.2666707, "bytes_sent": 314, "bytes_received": 9672, "request_id": 13, @@ -32082,9 +32110,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.25772000000756634, + "duration_ms": 0.26697700002387137, "success": true, - "started_at_unix": 1789970974.1462178, + "started_at_unix": 1790057277.2674997, "bytes_sent": 314, "bytes_received": 354, "request_id": 14, @@ -32113,9 +32141,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.21521000002167057, + "duration_ms": 0.2207119999866336, "success": true, - "started_at_unix": 1789970974.1465435, + "started_at_unix": 1790057277.2678392, "bytes_sent": 314, "bytes_received": 354, "request_id": 15, @@ -32144,9 +32172,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.21552100000121754, + "duration_ms": 0.20707700002731144, "success": true, - "started_at_unix": 1789970974.1468136, + "started_at_unix": 1790057277.268119, "bytes_sent": 314, "bytes_received": 354, "request_id": 16, @@ -32175,9 +32203,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.21971900000039568, + "duration_ms": 0.2184989999705067, "success": true, - "started_at_unix": 1789970974.1471035, + "started_at_unix": 1790057277.2684026, "bytes_sent": 314, "bytes_received": 354, "request_id": 17, @@ -32206,9 +32234,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.20746600000620674, + "duration_ms": 0.20707700002731144, "success": true, - "started_at_unix": 1789970974.1473777, + "started_at_unix": 1790057277.2686813, "bytes_sent": 314, "bytes_received": 354, "request_id": 18, @@ -32237,9 +32265,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2164930000105869, + "duration_ms": 0.20567500001789085, "success": true, - "started_at_unix": 1789970974.1476579, + "started_at_unix": 1790057277.2689662, "bytes_sent": 314, "bytes_received": 400, "request_id": 19, @@ -32268,9 +32296,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.3114689999961229, + "duration_ms": 0.26977700002817073, "success": true, - "started_at_unix": 1789970974.147973, + "started_at_unix": 1790057277.2692766, "bytes_sent": 314, "bytes_received": 2261, "request_id": 20, @@ -32299,9 +32327,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2204300000130388, + "duration_ms": 0.2414880000287667, "success": true, - "started_at_unix": 1789970974.148399, + "started_at_unix": 1790057277.269686, "bytes_sent": 314, "bytes_received": 400, "request_id": 21, @@ -32330,9 +32358,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.20062400000142588, + "duration_ms": 0.19453400000202237, "success": true, - "started_at_unix": 1789970974.1486893, + "started_at_unix": 1790057277.2700021, "bytes_sent": 314, "bytes_received": 61, "request_id": 22, @@ -32360,9 +32388,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.22349599998960912, + "duration_ms": 0.19153800002413846, "success": true, - "started_at_unix": 1789970974.148925, + "started_at_unix": 1790057277.2702312, "bytes_sent": 314, "bytes_received": 61, "request_id": 23, @@ -32390,9 +32418,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.21847100001082254, + "duration_ms": 0.19516500003646797, "success": true, - "started_at_unix": 1789970974.1491811, + "started_at_unix": 1790057277.2704525, "bytes_sent": 314, "bytes_received": 61, "request_id": 24, @@ -32420,9 +32448,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2400179999995089, + "duration_ms": 0.21113499997227336, "success": true, - "started_at_unix": 1789970974.1494417, + "started_at_unix": 1790057277.270679, "bytes_sent": 314, "bytes_received": 400, "request_id": 25, @@ -32451,9 +32479,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.23721200000181852, + "duration_ms": 0.19513499995582606, "success": true, - "started_at_unix": 1789970974.1498616, + "started_at_unix": 1790057277.2709968, "bytes_sent": 314, "bytes_received": 61, "request_id": 26, @@ -32481,9 +32509,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.24675999998180487, + "duration_ms": 0.2137090000360331, "success": true, - "started_at_unix": 1789970974.150136, + "started_at_unix": 1790057277.271223, "bytes_sent": 314, "bytes_received": 890, "request_id": 27, @@ -32512,9 +32540,9 @@ { "kind": "request", "method": "typeServer/semanticTokens", - "duration_ms": 15.40317900000332, + "duration_ms": 12.896333000014693, "success": true, - "started_at_unix": 1789970974.1507268, + "started_at_unix": 1790057277.2716897, "bytes_sent": 0, "bytes_received": 0, "request_id": "local-33", @@ -32545,9 +32573,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 0.15408699999852615, + "duration_ms": 0.16208299996378628, "success": true, - "started_at_unix": 1789970974.150979, + "started_at_unix": 1790057277.271821, "bytes_sent": 81, "bytes_received": 58, "request_id": 28, @@ -32569,9 +32597,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.20751699997845208, + "duration_ms": 0.21639400000594833, "success": true, - "started_at_unix": 1789970974.1522226, + "started_at_unix": 1790057277.2726648, "bytes_sent": 312, "bytes_received": 61, "request_id": 29, @@ -32599,9 +32627,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2640069999984007, + "duration_ms": 0.23479899999756526, "success": true, - "started_at_unix": 1789970974.1524684, + "started_at_unix": 1790057277.272914, "bytes_sent": 312, "bytes_received": 305, "request_id": 30, @@ -32631,9 +32659,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.23681199999714408, + "duration_ms": 0.19452399999408954, "success": true, - "started_at_unix": 1789970974.1528096, + "started_at_unix": 1790057277.273221, "bytes_sent": 312, "bytes_received": 61, "request_id": 31, @@ -32661,9 +32689,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2445150000198737, + "duration_ms": 0.2705660000401622, "success": true, - "started_at_unix": 1789970974.153075, + "started_at_unix": 1790057277.2734466, "bytes_sent": 312, "bytes_received": 305, "request_id": 32, @@ -32693,9 +32721,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2181060000054913, + "duration_ms": 0.19889099996817095, "success": true, - "started_at_unix": 1789970974.1533973, + "started_at_unix": 1790057277.2738004, "bytes_sent": 312, "bytes_received": 61, "request_id": 33, @@ -32723,9 +32751,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.24633900000026188, + "duration_ms": 0.2280560000258447, "success": true, - "started_at_unix": 1789970974.1536422, + "started_at_unix": 1790057277.2740295, "bytes_sent": 312, "bytes_received": 305, "request_id": 34, @@ -32755,9 +32783,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2920229999858748, + "duration_ms": 0.26257400003260045, "success": true, - "started_at_unix": 1789970974.1540027, + "started_at_unix": 1790057277.2743685, "bytes_sent": 314, "bytes_received": 1882, "request_id": 35, @@ -32786,9 +32814,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.21517100000778555, + "duration_ms": 0.21092500003305759, "success": true, - "started_at_unix": 1789970974.1543996, + "started_at_unix": 1790057277.2747755, "bytes_sent": 314, "bytes_received": 61, "request_id": 36, @@ -32816,9 +32844,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2285150000034264, + "duration_ms": 0.20792899999833026, "success": true, - "started_at_unix": 1789970974.1546447, + "started_at_unix": 1790057277.275019, "bytes_sent": 314, "bytes_received": 400, "request_id": 37, @@ -32847,9 +32875,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.5879249999907188, + "duration_ms": 0.44649200003732403, "success": true, - "started_at_unix": 1789970974.1549497, + "started_at_unix": 1790057277.2753055, "bytes_sent": 314, "bytes_received": 9695, "request_id": 38, @@ -32878,9 +32906,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.26103599998350546, + "duration_ms": 0.2590369999779796, "success": true, - "started_at_unix": 1789970974.1559541, + "started_at_unix": 1790057277.2761123, "bytes_sent": 314, "bytes_received": 355, "request_id": 39, @@ -32909,9 +32937,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.22379699998964497, + "duration_ms": 0.21330900000293695, "success": true, - "started_at_unix": 1789970974.1562846, + "started_at_unix": 1790057277.2764378, "bytes_sent": 314, "bytes_received": 355, "request_id": 40, @@ -32940,9 +32968,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.22319600000741957, + "duration_ms": 0.21095399995374464, "success": true, - "started_at_unix": 1789970974.156562, + "started_at_unix": 1790057277.2767096, "bytes_sent": 314, "bytes_received": 355, "request_id": 41, @@ -32971,9 +32999,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.21937900001489652, + "duration_ms": 0.21623399999270987, "success": true, - "started_at_unix": 1789970974.1568565, + "started_at_unix": 1790057277.2769966, "bytes_sent": 314, "bytes_received": 355, "request_id": 42, @@ -33002,9 +33030,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.231931999991275, + "duration_ms": 0.21475099998724545, "success": true, - "started_at_unix": 1789970974.157128, + "started_at_unix": 1790057277.2772703, "bytes_sent": 314, "bytes_received": 355, "request_id": 43, @@ -33033,9 +33061,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.22237400000335583, + "duration_ms": 0.2367730000401025, "success": true, - "started_at_unix": 1789970974.157432, + "started_at_unix": 1790057277.277564, "bytes_sent": 314, "bytes_received": 401, "request_id": 44, @@ -33064,9 +33092,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.29348700002174155, + "duration_ms": 0.26676599998154416, "success": true, - "started_at_unix": 1789970974.1577718, + "started_at_unix": 1790057277.2779007, "bytes_sent": 314, "bytes_received": 2269, "request_id": 45, @@ -33095,9 +33123,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.22898699998563643, + "duration_ms": 0.2379070000415595, "success": true, - "started_at_unix": 1789970974.1581836, + "started_at_unix": 1790057277.2782874, "bytes_sent": 314, "bytes_received": 401, "request_id": 46, @@ -33126,9 +33154,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.20331800001827105, + "duration_ms": 0.21320900003729548, "success": true, - "started_at_unix": 1789970974.1584823, + "started_at_unix": 1790057277.2786071, "bytes_sent": 314, "bytes_received": 61, "request_id": 47, @@ -33156,9 +33184,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.22283500001663015, + "duration_ms": 0.19505400001662565, "success": true, - "started_at_unix": 1789970974.1587164, + "started_at_unix": 1790057277.2788541, "bytes_sent": 314, "bytes_received": 61, "request_id": 48, @@ -33186,9 +33214,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2490539999939756, + "duration_ms": 0.18896299997095412, "success": true, - "started_at_unix": 1789970974.1589644, + "started_at_unix": 1790057277.2790787, "bytes_sent": 314, "bytes_received": 61, "request_id": 49, @@ -33216,9 +33244,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2106529999821305, + "duration_ms": 0.21832499999163701, "success": true, - "started_at_unix": 1789970974.1592422, + "started_at_unix": 1790057277.2792964, "bytes_sent": 314, "bytes_received": 401, "request_id": 50, @@ -33247,9 +33275,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.194371999981513, + "duration_ms": 0.21231999994597572, "success": true, - "started_at_unix": 1789970974.1595583, + "started_at_unix": 1790057277.2796533, "bytes_sent": 314, "bytes_received": 61, "request_id": 51, @@ -33277,9 +33305,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.23234299999330688, + "duration_ms": 0.22161399999731657, "success": true, - "started_at_unix": 1789970974.1597924, + "started_at_unix": 1790057277.279894, "bytes_sent": 314, "bytes_received": 893, "request_id": 52, @@ -33308,9 +33336,9 @@ { "kind": "request", "method": "typeServer/semanticTokens", - "duration_ms": 9.092009999989159, + "duration_ms": 8.317419000036352, "success": true, - "started_at_unix": 1789970974.1602576, + "started_at_unix": 1790057277.2803285, "bytes_sent": 0, "bytes_received": 0, "request_id": "local-59", @@ -33341,9 +33369,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 0.1692560000208232, + "duration_ms": 0.15829599999506172, "success": true, - "started_at_unix": 1789970974.1604486, + "started_at_unix": 1790057277.2805142, "bytes_sent": 81, "bytes_received": 58, "request_id": 53, @@ -33365,9 +33393,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2685999999982869, + "duration_ms": 0.2149110000004839, "success": true, - "started_at_unix": 1789970974.1613328, + "started_at_unix": 1790057277.281316, "bytes_sent": 312, "bytes_received": 61, "request_id": 54, @@ -33395,9 +33423,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.1659239999962665, + "duration_ms": 3.0522349999841936, "success": true, - "started_at_unix": 1789970974.1616628, + "started_at_unix": 1790057277.2815928, "bytes_sent": 312, "bytes_received": 306, "request_id": 55, @@ -33427,9 +33455,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.23642200000040248, + "duration_ms": 0.22075300000778952, "success": true, - "started_at_unix": 1789970974.1639097, + "started_at_unix": 1790057277.2847426, "bytes_sent": 312, "bytes_received": 61, "request_id": 56, @@ -33457,9 +33485,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.23508600000354818, + "duration_ms": 0.24932599995963756, "success": true, - "started_at_unix": 1789970974.1641781, + "started_at_unix": 1790057277.284999, "bytes_sent": 312, "bytes_received": 306, "request_id": 57, @@ -33489,9 +33517,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.19460199999343786, + "duration_ms": 0.201997000033316, "success": true, - "started_at_unix": 1789970974.1644983, + "started_at_unix": 1790057277.285353, "bytes_sent": 312, "bytes_received": 61, "request_id": 58, @@ -33519,9 +33547,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2492640000184565, + "duration_ms": 0.23540000000821237, "success": true, - "started_at_unix": 1789970974.1647263, + "started_at_unix": 1790057277.2856169, "bytes_sent": 312, "bytes_received": 306, "request_id": 59, @@ -33551,9 +33579,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2900930000180324, + "duration_ms": 0.28824899999335685, "success": true, - "started_at_unix": 1789970974.1650918, + "started_at_unix": 1790057277.2859945, "bytes_sent": 314, "bytes_received": 1887, "request_id": 60, @@ -33582,9 +33610,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.20267800002216063, + "duration_ms": 0.22239599996964898, "success": true, - "started_at_unix": 1789970974.1654894, + "started_at_unix": 1790057277.2864323, "bytes_sent": 314, "bytes_received": 61, "request_id": 61, @@ -33612,9 +33640,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.22516900000368878, + "duration_ms": 0.22479999995539401, "success": true, - "started_at_unix": 1789970974.1657233, + "started_at_unix": 1790057277.2866893, "bytes_sent": 314, "bytes_received": 401, "request_id": 62, @@ -33643,9 +33671,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.46780900001408554, + "duration_ms": 0.581607000015083, "success": true, - "started_at_unix": 1789970974.166039, + "started_at_unix": 1790057277.2870162, "bytes_sent": 314, "bytes_received": 9719, "request_id": 63, @@ -33674,9 +33702,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.255916999975625, + "duration_ms": 0.2505990000258862, "success": true, - "started_at_unix": 1789970974.166905, + "started_at_unix": 1790057277.288207, "bytes_sent": 314, "bytes_received": 355, "request_id": 64, @@ -33705,9 +33733,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2020759999936672, + "duration_ms": 0.23714300004940014, "success": true, - "started_at_unix": 1789970974.167231, + "started_at_unix": 1790057277.288544, "bytes_sent": 314, "bytes_received": 355, "request_id": 65, @@ -33736,9 +33764,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.19242799999119597, + "duration_ms": 0.2019670000095175, "success": true, - "started_at_unix": 1789970974.1674924, + "started_at_unix": 1790057277.2888541, "bytes_sent": 314, "bytes_received": 355, "request_id": 66, @@ -33767,9 +33795,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.23687300000574396, + "duration_ms": 0.20465199997943273, "success": true, - "started_at_unix": 1789970974.1678052, + "started_at_unix": 1790057277.289151, "bytes_sent": 314, "bytes_received": 355, "request_id": 67, @@ -33798,9 +33826,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.20406999999522668, + "duration_ms": 0.24336500001709283, "success": true, - "started_at_unix": 1789970974.1681006, + "started_at_unix": 1790057277.2894268, "bytes_sent": 314, "bytes_received": 355, "request_id": 68, @@ -33829,9 +33857,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.20506199999204, + "duration_ms": 0.22635300001638825, "success": true, - "started_at_unix": 1789970974.1683838, + "started_at_unix": 1790057277.2897694, "bytes_sent": 314, "bytes_received": 401, "request_id": 69, @@ -33860,9 +33888,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2848790000200552, + "duration_ms": 0.27422300001944677, "success": true, - "started_at_unix": 1789970974.1686964, + "started_at_unix": 1790057277.2901332, "bytes_sent": 314, "bytes_received": 2269, "request_id": 70, @@ -33891,9 +33919,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2506479999908606, + "duration_ms": 0.2148720000150206, "success": true, - "started_at_unix": 1789970974.1691036, + "started_at_unix": 1790057277.2906096, "bytes_sent": 314, "bytes_received": 401, "request_id": 71, @@ -33922,9 +33950,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.20169600000485843, + "duration_ms": 0.18416500000739688, "success": true, - "started_at_unix": 1789970974.169429, + "started_at_unix": 1790057277.290918, "bytes_sent": 314, "bytes_received": 61, "request_id": 72, @@ -33952,9 +33980,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.19772799998918344, + "duration_ms": 0.2011860000266097, "success": true, - "started_at_unix": 1789970974.1696658, + "started_at_unix": 1790057277.291141, "bytes_sent": 314, "bytes_received": 61, "request_id": 73, @@ -33982,9 +34010,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.207064999983686, + "duration_ms": 0.22512100002813895, "success": true, - "started_at_unix": 1789970974.169894, + "started_at_unix": 1790057277.2913737, "bytes_sent": 314, "bytes_received": 61, "request_id": 74, @@ -34012,9 +34040,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.23163099999123915, + "duration_ms": 0.2207129999760582, "success": true, - "started_at_unix": 1789970974.1701367, + "started_at_unix": 1790057277.291633, "bytes_sent": 314, "bytes_received": 401, "request_id": 75, @@ -34043,9 +34071,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.21507099998530066, + "duration_ms": 0.18728999998529616, "success": true, - "started_at_unix": 1789970974.1704764, + "started_at_unix": 1790057277.291997, "bytes_sent": 314, "bytes_received": 61, "request_id": 76, @@ -34073,9 +34101,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.23067999998716004, + "duration_ms": 0.21483099999386468, "success": true, - "started_at_unix": 1789970974.170723, + "started_at_unix": 1790057277.2922163, "bytes_sent": 314, "bytes_received": 893, "request_id": 77, @@ -34104,9 +34132,9 @@ { "kind": "request", "method": "typeServer/semanticTokens", - "duration_ms": 10.570510000007971, + "duration_ms": 12.10150800000065, "success": true, - "started_at_unix": 1789970974.171214, + "started_at_unix": 1790057277.2928007, "bytes_sent": 0, "bytes_received": 0, "request_id": "local-85", @@ -34137,9 +34165,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 0.1666599999907703, + "duration_ms": 0.1457620000451243, "success": true, - "started_at_unix": 1789970974.1714396, + "started_at_unix": 1790057277.2931693, "bytes_sent": 81, "bytes_received": 58, "request_id": 78, @@ -34161,9 +34189,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2733499999862943, + "duration_ms": 0.24802299998327726, "success": true, - "started_at_unix": 1789970974.172331, + "started_at_unix": 1790057277.29437, "bytes_sent": 312, "bytes_received": 61, "request_id": 79, @@ -34191,9 +34219,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2706439999826671, + "duration_ms": 0.25231099999700746, "success": true, - "started_at_unix": 1789970974.1726391, + "started_at_unix": 1790057277.294656, "bytes_sent": 312, "bytes_received": 306, "request_id": 80, @@ -34223,9 +34251,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2111830000046666, + "duration_ms": 0.22059299999455106, "success": true, - "started_at_unix": 1789970974.172986, + "started_at_unix": 1790057277.2950048, "bytes_sent": 312, "bytes_received": 61, "request_id": 81, @@ -34253,9 +34281,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.23603999997590108, + "duration_ms": 0.2610479999702875, "success": true, - "started_at_unix": 1789970974.1732292, + "started_at_unix": 1790057277.295261, "bytes_sent": 312, "bytes_received": 306, "request_id": 82, @@ -34285,9 +34313,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.1971070000195141, + "duration_ms": 0.1965480000194475, "success": true, - "started_at_unix": 1789970974.173548, + "started_at_unix": 1790057277.2956514, "bytes_sent": 312, "bytes_received": 61, "request_id": 83, @@ -34315,9 +34343,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.23583899999835012, + "duration_ms": 0.2312629999892124, "success": true, - "started_at_unix": 1789970974.173783, + "started_at_unix": 1790057277.295883, "bytes_sent": 312, "bytes_received": 306, "request_id": 84, @@ -34347,9 +34375,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.333318999992116, + "duration_ms": 0.2813460000083978, "success": true, - "started_at_unix": 1789970974.1741307, + "started_at_unix": 1790057277.2962568, "bytes_sent": 314, "bytes_received": 1887, "request_id": 85, @@ -34378,9 +34406,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.23926599999413156, + "duration_ms": 0.2124469999671419, "success": true, - "started_at_unix": 1789970974.174572, + "started_at_unix": 1790057277.2967136, "bytes_sent": 314, "bytes_received": 61, "request_id": 86, @@ -34408,9 +34436,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.22168299997815666, + "duration_ms": 0.20370100003219704, "success": true, - "started_at_unix": 1789970974.174855, + "started_at_unix": 1790057277.2969613, "bytes_sent": 314, "bytes_received": 401, "request_id": 87, @@ -34439,9 +34467,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.5049700000085977, + "duration_ms": 0.6232250000266504, "success": true, - "started_at_unix": 1789970974.1751554, + "started_at_unix": 1790057277.2972648, "bytes_sent": 314, "bytes_received": 9719, "request_id": 88, @@ -34470,9 +34498,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 1.5170920000002752, + "duration_ms": 0.278951000041161, "success": true, - "started_at_unix": 1789970974.1763897, + "started_at_unix": 1790057277.298501, "bytes_sent": 314, "bytes_received": 355, "request_id": 89, @@ -34501,9 +34529,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.8742830000112463, + "duration_ms": 0.21391999996467348, "success": true, - "started_at_unix": 1789970974.1780095, + "started_at_unix": 1790057277.29887, "bytes_sent": 314, "bytes_received": 355, "request_id": 90, @@ -34532,9 +34560,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 1.9248680000032437, + "duration_ms": 0.20315000000437067, "success": true, - "started_at_unix": 1789970974.1809788, + "started_at_unix": 1790057277.299159, "bytes_sent": 314, "bytes_received": 355, "request_id": 91, @@ -34563,9 +34591,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2568589999896176, + "duration_ms": 0.24614999995264952, "success": true, - "started_at_unix": 1789970974.1830323, + "started_at_unix": 1790057277.299458, "bytes_sent": 314, "bytes_received": 355, "request_id": 92, @@ -34594,9 +34622,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.24157999999374624, + "duration_ms": 0.21017299997083683, "success": true, - "started_at_unix": 1789970974.183376, + "started_at_unix": 1790057277.2997766, "bytes_sent": 314, "bytes_received": 355, "request_id": 93, @@ -34625,9 +34653,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.26043500000128006, + "duration_ms": 0.22080299999061026, "success": true, - "started_at_unix": 1789970974.1837378, + "started_at_unix": 1790057277.300085, "bytes_sent": 314, "bytes_received": 401, "request_id": 94, @@ -34656,9 +34684,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.3316270000084387, + "duration_ms": 0.29574300003787357, "success": true, - "started_at_unix": 1789970974.1841462, + "started_at_unix": 1790057277.3004482, "bytes_sent": 314, "bytes_received": 2269, "request_id": 95, @@ -34687,9 +34715,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2823949999992692, + "duration_ms": 0.21688499998617772, "success": true, - "started_at_unix": 1789970974.1846836, + "started_at_unix": 1790057277.3009233, "bytes_sent": 314, "bytes_received": 401, "request_id": 96, @@ -34718,9 +34746,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.19446199999606506, + "duration_ms": 0.20141599998169113, "success": true, - "started_at_unix": 1789970974.18507, + "started_at_unix": 1790057277.301239, "bytes_sent": 314, "bytes_received": 61, "request_id": 97, @@ -34748,9 +34776,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.17676900000651585, + "duration_ms": 0.21833800002468706, "success": true, - "started_at_unix": 1789970974.1853042, + "started_at_unix": 1790057277.3014808, "bytes_sent": 314, "bytes_received": 61, "request_id": 98, @@ -34778,9 +34806,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2325629999972989, + "duration_ms": 0.18460500001538094, "success": true, - "started_at_unix": 1789970974.1855178, + "started_at_unix": 1790057277.3017306, "bytes_sent": 314, "bytes_received": 61, "request_id": 99, @@ -34808,9 +34836,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.24219099998390448, + "duration_ms": 0.2229959999908715, "success": true, - "started_at_unix": 1789970974.1858196, + "started_at_unix": 1790057277.3019483, "bytes_sent": 315, "bytes_received": 402, "request_id": 100, @@ -34839,9 +34867,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.22498900000300637, + "duration_ms": 0.20121599999356476, "success": true, - "started_at_unix": 1789970974.1862373, + "started_at_unix": 1790057277.302321, "bytes_sent": 315, "bytes_received": 62, "request_id": 101, @@ -34869,9 +34897,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.29848599999127146, + "duration_ms": 0.30488999999533917, "success": true, - "started_at_unix": 1789970974.1865027, + "started_at_unix": 1790057277.3025599, "bytes_sent": 315, "bytes_received": 894, "request_id": 102, @@ -34900,9 +34928,9 @@ { "kind": "request", "method": "typeServer/semanticTokens", - "duration_ms": 15.591658000005282, + "duration_ms": 9.867122000002837, "success": true, - "started_at_unix": 1789970974.187228, + "started_at_unix": 1790057277.303214, "bytes_sent": 0, "bytes_received": 0, "request_id": "local-111", @@ -34933,9 +34961,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 0.16242199998828255, + "duration_ms": 0.18416400001797228, "success": true, - "started_at_unix": 1789970974.1875894, + "started_at_unix": 1790057277.303591, "bytes_sent": 82, "bytes_received": 59, "request_id": 103, @@ -34957,9 +34985,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.26887099997452424, + "duration_ms": 0.23393700001861362, "success": true, - "started_at_unix": 1789970974.1890352, + "started_at_unix": 1790057277.3048627, "bytes_sent": 313, "bytes_received": 62, "request_id": 104, @@ -34987,9 +35015,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2709649999985686, + "duration_ms": 0.2770780000105333, "success": true, - "started_at_unix": 1789970974.189349, + "started_at_unix": 1790057277.3051388, "bytes_sent": 313, "bytes_received": 307, "request_id": 105, @@ -35019,9 +35047,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2867540000011104, + "duration_ms": 0.24575899999490503, "success": true, - "started_at_unix": 1789970974.1897252, + "started_at_unix": 1790057277.3055224, "bytes_sent": 313, "bytes_received": 62, "request_id": 106, @@ -35049,9 +35077,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2548850000039238, + "duration_ms": 0.26890300000559364, "success": true, - "started_at_unix": 1789970974.1900518, + "started_at_unix": 1790057277.3058085, "bytes_sent": 313, "bytes_received": 307, "request_id": 107, @@ -35081,9 +35109,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.23381599999083846, + "duration_ms": 0.2322139999932915, "success": true, - "started_at_unix": 1789970974.190462, + "started_at_unix": 1790057277.3062236, "bytes_sent": 313, "bytes_received": 62, "request_id": 108, @@ -35111,9 +35139,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.3237530000035349, + "duration_ms": 0.2860449999957382, "success": true, - "started_at_unix": 1789970974.190737, + "started_at_unix": 1790057277.306494, "bytes_sent": 313, "bytes_received": 307, "request_id": 109, @@ -35143,9 +35171,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.31563800001777054, + "duration_ms": 0.3103199999827666, "success": true, - "started_at_unix": 1789970974.1912396, + "started_at_unix": 1790057277.3069417, "bytes_sent": 315, "bytes_received": 1888, "request_id": 110, @@ -35174,9 +35202,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.29613099999892256, + "duration_ms": 0.2472319999924366, "success": true, - "started_at_unix": 1789970974.1917334, + "started_at_unix": 1790057277.3074248, "bytes_sent": 315, "bytes_received": 62, "request_id": 111, @@ -35204,9 +35232,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.25508499999205014, + "duration_ms": 0.24357500001315202, "success": true, - "started_at_unix": 1789970974.1920726, + "started_at_unix": 1790057277.3077123, "bytes_sent": 315, "bytes_received": 402, "request_id": 112, @@ -35235,9 +35263,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.6507720000001882, + "duration_ms": 0.5950429999757034, "success": true, - "started_at_unix": 1789970974.1924508, + "started_at_unix": 1790057277.3080711, "bytes_sent": 315, "bytes_received": 9720, "request_id": 113, @@ -35266,9 +35294,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.4271759999880942, + "duration_ms": 0.4769009999563423, "success": true, - "started_at_unix": 1789970974.1938288, + "started_at_unix": 1790057277.3092682, "bytes_sent": 315, "bytes_received": 356, "request_id": 114, @@ -35297,9 +35325,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2524700000208213, + "duration_ms": 0.21577299997943555, "success": true, - "started_at_unix": 1789970974.1943603, + "started_at_unix": 1790057277.3098333, "bytes_sent": 315, "bytes_received": 356, "request_id": 115, @@ -35328,9 +35356,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2827069999966625, + "duration_ms": 0.19645700001547084, "success": true, - "started_at_unix": 1789970974.194702, + "started_at_unix": 1790057277.310123, "bytes_sent": 315, "bytes_received": 356, "request_id": 116, @@ -35359,9 +35387,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2514189999942573, + "duration_ms": 0.24369599998408376, "success": true, - "started_at_unix": 1789970974.1951058, + "started_at_unix": 1790057277.310423, "bytes_sent": 315, "bytes_received": 356, "request_id": 117, @@ -35390,9 +35418,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2693419999957314, + "duration_ms": 0.22349699997903372, "success": true, - "started_at_unix": 1789970974.195445, + "started_at_unix": 1790057277.31075, "bytes_sent": 315, "bytes_received": 356, "request_id": 118, @@ -35421,9 +35449,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.29819499999916843, + "duration_ms": 0.2168750000350883, "success": true, - "started_at_unix": 1789970974.1959062, + "started_at_unix": 1790057277.3110793, "bytes_sent": 315, "bytes_received": 402, "request_id": 119, @@ -35452,9 +35480,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.33125699999914104, + "duration_ms": 0.2977969999733432, "success": true, - "started_at_unix": 1789970974.1963692, + "started_at_unix": 1790057277.311439, "bytes_sent": 315, "bytes_received": 2270, "request_id": 120, @@ -35483,9 +35511,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2540130000170393, + "duration_ms": 0.21857899997712593, "success": true, - "started_at_unix": 1789970974.1969407, + "started_at_unix": 1790057277.3119278, "bytes_sent": 315, "bytes_received": 402, "request_id": 121, @@ -35514,9 +35542,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.22655200001509002, + "duration_ms": 0.18770099995890632, "success": true, - "started_at_unix": 1789970974.1973078, + "started_at_unix": 1790057277.3122475, "bytes_sent": 315, "bytes_received": 62, "request_id": 122, @@ -35544,9 +35572,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.27787699997361415, + "duration_ms": 0.22869700001137971, "success": true, - "started_at_unix": 1789970974.197579, + "started_at_unix": 1790057277.3124733, "bytes_sent": 315, "bytes_received": 62, "request_id": 123, @@ -35574,9 +35602,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.22881699999288685, + "duration_ms": 0.2146309999488949, "success": true, - "started_at_unix": 1789970974.1978943, + "started_at_unix": 1790057277.3127465, "bytes_sent": 315, "bytes_received": 62, "request_id": 124, @@ -35604,9 +35632,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.23480799998765178, + "duration_ms": 0.2437449999774799, "success": true, - "started_at_unix": 1789970974.1981623, + "started_at_unix": 1790057277.3129978, "bytes_sent": 315, "bytes_received": 402, "request_id": 125, @@ -35635,9 +35663,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2570290000107889, + "duration_ms": 0.2272249999464293, "success": true, - "started_at_unix": 1789970974.1985643, + "started_at_unix": 1790057277.3133976, "bytes_sent": 315, "bytes_received": 62, "request_id": 126, @@ -35665,9 +35693,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.25322199999777695, + "duration_ms": 0.23863600000595397, "success": true, - "started_at_unix": 1789970974.1988583, + "started_at_unix": 1790057277.3136618, "bytes_sent": 315, "bytes_received": 894, "request_id": 127, @@ -35696,9 +35724,9 @@ { "kind": "request", "method": "typeServer/semanticTokens", - "duration_ms": 11.66524699999627, + "duration_ms": 10.427981000020736, "success": true, - "started_at_unix": 1789970974.1994803, + "started_at_unix": 1790057277.3142378, "bytes_sent": 0, "bytes_received": 0, "request_id": "local-137", @@ -35729,9 +35757,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 0.1798450000194407, + "duration_ms": 0.17409499997711464, "success": true, - "started_at_unix": 1789970974.199861, + "started_at_unix": 1790057277.3146174, "bytes_sent": 82, "bytes_received": 59, "request_id": 128, @@ -35753,9 +35781,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2172650000034082, + "duration_ms": 0.22525100001757892, "success": true, - "started_at_unix": 1789970974.2011266, + "started_at_unix": 1790057277.315836, "bytes_sent": 313, "bytes_received": 62, "request_id": 129, @@ -35783,9 +35811,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.25515499999073654, + "duration_ms": 0.2676600000199869, "success": true, - "started_at_unix": 1789970974.201382, + "started_at_unix": 1790057277.3160992, "bytes_sent": 313, "bytes_received": 307, "request_id": 130, @@ -35815,9 +35843,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2193789999864748, + "duration_ms": 0.2240090000213968, "success": true, - "started_at_unix": 1789970974.2017343, + "started_at_unix": 1790057277.3164675, "bytes_sent": 313, "bytes_received": 62, "request_id": 131, @@ -35845,9 +35873,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.23605999999176674, + "duration_ms": 0.2585530000374092, "success": true, - "started_at_unix": 1789970974.201989, + "started_at_unix": 1790057277.3167274, "bytes_sent": 313, "bytes_received": 307, "request_id": 132, @@ -35877,9 +35905,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.19041499999161715, + "duration_ms": 0.22579199998062904, "success": true, - "started_at_unix": 1789970974.2023327, + "started_at_unix": 1790057277.3171082, "bytes_sent": 313, "bytes_received": 62, "request_id": 133, @@ -35907,9 +35935,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.27791799999477007, + "duration_ms": 0.30424899995296073, "success": true, - "started_at_unix": 1789970974.2025573, + "started_at_unix": 1790057277.317373, "bytes_sent": 313, "bytes_received": 307, "request_id": 134, @@ -35939,9 +35967,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.3126419999830432, + "duration_ms": 0.3044489999979305, "success": true, - "started_at_unix": 1789970974.2029817, + "started_at_unix": 1790057277.3178399, "bytes_sent": 315, "bytes_received": 1888, "request_id": 135, @@ -35970,9 +35998,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.19698700000958524, + "duration_ms": 0.21813699999029268, "success": true, - "started_at_unix": 1789970974.2034488, + "started_at_unix": 1790057277.3183146, "bytes_sent": 315, "bytes_received": 62, "request_id": 136, @@ -36000,9 +36028,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.23218199999064382, + "duration_ms": 0.24715099999639278, "success": true, - "started_at_unix": 1789970974.203682, + "started_at_unix": 1790057277.3186023, "bytes_sent": 315, "bytes_received": 402, "request_id": 137, @@ -36031,9 +36059,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.5812729999945532, + "duration_ms": 0.6287150000048314, "success": true, - "started_at_unix": 1789970974.204017, + "started_at_unix": 1790057277.3189692, "bytes_sent": 315, "bytes_received": 9720, "request_id": 138, @@ -36062,9 +36090,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2464190000068811, + "duration_ms": 0.28421100000741717, "success": true, - "started_at_unix": 1789970974.205253, + "started_at_unix": 1790057277.3202631, "bytes_sent": 315, "bytes_received": 356, "request_id": 139, @@ -36093,9 +36121,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.24801099999649523, + "duration_ms": 0.24931499996228013, "success": true, - "started_at_unix": 1789970974.20559, + "started_at_unix": 1790057277.320675, "bytes_sent": 315, "bytes_received": 356, "request_id": 140, @@ -36124,9 +36152,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.20679599998629783, + "duration_ms": 0.2501079999888134, "success": true, - "started_at_unix": 1789970974.2059147, + "started_at_unix": 1790057277.3210108, "bytes_sent": 315, "bytes_received": 356, "request_id": 141, @@ -36155,9 +36183,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2168039999901339, + "duration_ms": 0.26563599999462895, "success": true, - "started_at_unix": 1789970974.206221, + "started_at_unix": 1790057277.3213787, "bytes_sent": 315, "bytes_received": 356, "request_id": 142, @@ -36186,9 +36214,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.18664699999249024, + "duration_ms": 0.24354599997877813, "success": true, - "started_at_unix": 1789970974.20651, + "started_at_unix": 1790057277.321731, "bytes_sent": 315, "bytes_received": 356, "request_id": 143, @@ -36217,9 +36245,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.23904500000071494, + "duration_ms": 0.246311000012156, "success": true, - "started_at_unix": 1789970974.206827, + "started_at_unix": 1790057277.3220968, "bytes_sent": 315, "bytes_received": 402, "request_id": 144, @@ -36248,9 +36276,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.28923799999347466, + "duration_ms": 0.3333629999815457, "success": true, - "started_at_unix": 1789970974.207209, + "started_at_unix": 1790057277.3225055, "bytes_sent": 315, "bytes_received": 2270, "request_id": 145, @@ -36279,9 +36307,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.24249099999451573, + "duration_ms": 0.24050000001807348, "success": true, - "started_at_unix": 1789970974.2076828, + "started_at_unix": 1790057277.3230348, "bytes_sent": 315, "bytes_received": 402, "request_id": 146, @@ -36310,9 +36338,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.187689000000546, + "duration_ms": 0.24378500000921122, "success": true, - "started_at_unix": 1789970974.2080245, + "started_at_unix": 1790057277.32338, "bytes_sent": 315, "bytes_received": 62, "request_id": 147, @@ -36340,9 +36368,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.18600600000695522, + "duration_ms": 0.20417199999656077, "success": true, - "started_at_unix": 1789970974.2082515, + "started_at_unix": 1790057277.3236654, "bytes_sent": 315, "bytes_received": 62, "request_id": 148, @@ -36370,9 +36398,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.1831100000231345, + "duration_ms": 0.21073400000659603, "success": true, - "started_at_unix": 1789970974.2084694, + "started_at_unix": 1790057277.3239038, "bytes_sent": 315, "bytes_received": 62, "request_id": 149, @@ -36400,9 +36428,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.24198099998784528, + "duration_ms": 0.22840599996243327, "success": true, - "started_at_unix": 1789970974.2086856, + "started_at_unix": 1790057277.3241496, "bytes_sent": 315, "bytes_received": 402, "request_id": 150, @@ -36431,9 +36459,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2046719999952984, + "duration_ms": 0.2313920000460712, "success": true, - "started_at_unix": 1789970974.209073, + "started_at_unix": 1790057277.3245304, "bytes_sent": 315, "bytes_received": 62, "request_id": 151, @@ -36461,9 +36489,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2438849999748527, + "duration_ms": 0.240338999958567, "success": true, - "started_at_unix": 1789970974.2093112, + "started_at_unix": 1790057277.3247998, "bytes_sent": 315, "bytes_received": 894, "request_id": 152, @@ -36492,9 +36520,9 @@ { "kind": "request", "method": "typeServer/semanticTokens", - "duration_ms": 9.852851999994527, + "duration_ms": 10.557602999995197, "success": true, - "started_at_unix": 1789970974.2099288, + "started_at_unix": 1790057277.3253837, "bytes_sent": 0, "bytes_received": 0, "request_id": "local-163", @@ -36525,9 +36553,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 0.15239399999700254, + "duration_ms": 0.1819599999635102, "success": true, - "started_at_unix": 1789970974.2104766, + "started_at_unix": 1790057277.3259816, "bytes_sent": 82, "bytes_received": 59, "request_id": 153, @@ -36549,9 +36577,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.21530100002564723, + "duration_ms": 0.2375939999978982, "success": true, - "started_at_unix": 1789970974.2114387, + "started_at_unix": 1790057277.3269656, "bytes_sent": 319, "bytes_received": 62, "request_id": 154, @@ -36579,9 +36607,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.24555699999950775, + "duration_ms": 0.24368499998672633, "success": true, - "started_at_unix": 1789970974.21169, + "started_at_unix": 1790057277.3272426, "bytes_sent": 319, "bytes_received": 470, "request_id": 155, @@ -36610,9 +36638,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.21157399999083282, + "duration_ms": 0.24147099998117483, "success": true, - "started_at_unix": 1789970974.2120216, + "started_at_unix": 1790057277.32761, "bytes_sent": 319, "bytes_received": 396, "request_id": 156, @@ -36641,9 +36669,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.18443400000478505, + "duration_ms": 0.20021400001724032, "success": true, - "started_at_unix": 1789970974.2123282, + "started_at_unix": 1790057277.3279502, "bytes_sent": 319, "bytes_received": 62, "request_id": 157, @@ -36671,9 +36699,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.1853650000214202, + "duration_ms": 0.20144600000548962, "success": true, - "started_at_unix": 1789970974.2125463, + "started_at_unix": 1790057277.328185, "bytes_sent": 319, "bytes_received": 161, "request_id": 158, @@ -36703,9 +36731,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 23.168392000002314, + "duration_ms": 21.455772000024353, "success": true, - "started_at_unix": 1789970974.2128613, + "started_at_unix": 1790057277.328485, "bytes_sent": 319, "bytes_received": 543424, "request_id": 159, @@ -36734,9 +36762,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.6090540000041074, + "duration_ms": 1.4868790000264198, "success": true, - "started_at_unix": 1789970974.2639534, + "started_at_unix": 1790057277.3783307, "bytes_sent": 319, "bytes_received": 397, "request_id": 160, @@ -36765,9 +36793,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.32591699999784396, + "duration_ms": 0.22547200001099554, "success": true, - "started_at_unix": 1789970974.2666976, + "started_at_unix": 1790057277.3799186, "bytes_sent": 319, "bytes_received": 162, "request_id": 161, @@ -36797,9 +36825,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.26606599999468017, + "duration_ms": 0.21247699999094039, "success": true, - "started_at_unix": 1789970974.267118, + "started_at_unix": 1790057277.3802261, "bytes_sent": 321, "bytes_received": 162, "request_id": 162, @@ -36829,9 +36857,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.26232800001935175, + "duration_ms": 0.23223400000915717, "success": true, - "started_at_unix": 1789970974.2674634, + "started_at_unix": 1790057277.3805027, "bytes_sent": 321, "bytes_received": 162, "request_id": 163, @@ -36861,9 +36889,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.27362000000152875, + "duration_ms": 0.2216339999563388, "success": true, - "started_at_unix": 1789970974.267842, + "started_at_unix": 1790057277.3808293, "bytes_sent": 319, "bytes_received": 357, "request_id": 164, @@ -36892,9 +36920,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2783879999981309, + "duration_ms": 0.21726700003910082, "success": true, - "started_at_unix": 1789970974.2681973, + "started_at_unix": 1790057277.3811302, "bytes_sent": 319, "bytes_received": 359, "request_id": 165, @@ -36923,9 +36951,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.3548009999860824, + "duration_ms": 0.33765200004154394, "success": true, - "started_at_unix": 1789970974.2686172, + "started_at_unix": 1790057277.3814785, "bytes_sent": 321, "bytes_received": 1943, "request_id": 166, @@ -36954,9 +36982,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.29337600000189923, + "duration_ms": 0.23817599998210426, "success": true, - "started_at_unix": 1789970974.2691972, + "started_at_unix": 1790057277.3820143, "bytes_sent": 321, "bytes_received": 359, "request_id": 167, @@ -36985,9 +37013,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.27098399999658795, + "duration_ms": 0.239978000024621, "success": true, - "started_at_unix": 1789970974.2696404, + "started_at_unix": 1790057277.3823793, "bytes_sent": 321, "bytes_received": 162, "request_id": 168, @@ -37017,9 +37045,9 @@ { "kind": "request", "method": "typeServer/semanticTokens", - "duration_ms": 59.54022099999179, + "duration_ms": 56.686068999965755, "success": true, - "started_at_unix": 1789970974.2702053, + "started_at_unix": 1790057277.3828838, "bytes_sent": 0, "bytes_received": 0, "request_id": "local-180", @@ -37050,9 +37078,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 0.217405000000781, + "duration_ms": 0.16313499997977488, "success": true, - "started_at_unix": 1789970974.2703795, + "started_at_unix": 1790057277.3830492, "bytes_sent": 82, "bytes_received": 59, "request_id": 169, @@ -37074,9 +37102,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2798710000035953, + "duration_ms": 0.216424999962328, "success": true, - "started_at_unix": 1789970974.271517, + "started_at_unix": 1790057277.3840206, "bytes_sent": 319, "bytes_received": 62, "request_id": 170, @@ -37104,9 +37132,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.28901900000732894, + "duration_ms": 0.2240189999724862, "success": true, - "started_at_unix": 1789970974.271841, + "started_at_unix": 1790057277.3842742, "bytes_sent": 319, "bytes_received": 471, "request_id": 171, @@ -37135,9 +37163,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2882969999973284, + "duration_ms": 0.2325250000012602, "success": true, - "started_at_unix": 1789970974.2722268, + "started_at_unix": 1790057277.3846114, "bytes_sent": 319, "bytes_received": 397, "request_id": 172, @@ -37166,9 +37194,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.26295899999695393, + "duration_ms": 0.21712600005230343, "success": true, - "started_at_unix": 1789970974.2726295, + "started_at_unix": 1790057277.3849418, "bytes_sent": 319, "bytes_received": 62, "request_id": 173, @@ -37196,9 +37224,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2603039999939938, + "duration_ms": 0.22484999999505817, "success": true, - "started_at_unix": 1789970974.272935, + "started_at_unix": 1790057277.3851955, "bytes_sent": 319, "bytes_received": 162, "request_id": 174, @@ -37228,9 +37256,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 23.437258000001293, + "duration_ms": 31.149249999998574, "success": true, - "started_at_unix": 1789970974.2732983, + "started_at_unix": 1790057277.3855107, "bytes_sent": 319, "bytes_received": 544021, "request_id": 175, @@ -37259,9 +37287,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 3.180764000006775, + "duration_ms": 5.313301000001047, "success": true, - "started_at_unix": 1789970974.3262277, + "started_at_unix": 1790057277.4733007, "bytes_sent": 319, "bytes_received": 397, "request_id": 176, @@ -37290,9 +37318,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.3341320000060932, + "duration_ms": 0.2530930000261833, "success": true, - "started_at_unix": 1789970974.3295603, + "started_at_unix": 1790057277.4787402, "bytes_sent": 319, "bytes_received": 162, "request_id": 177, @@ -37322,9 +37350,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2938669999821286, + "duration_ms": 2.6054190000195376, "success": true, - "started_at_unix": 1789970974.330002, + "started_at_unix": 1790057277.4790797, "bytes_sent": 321, "bytes_received": 162, "request_id": 178, @@ -37354,9 +37382,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2850609999995868, + "duration_ms": 2.8397770000196942, "success": true, - "started_at_unix": 1789970974.3303802, + "started_at_unix": 1790057277.4817631, "bytes_sent": 321, "bytes_received": 162, "request_id": 179, @@ -37386,9 +37414,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2564070000232732, + "duration_ms": 0.24685099998578153, "success": true, - "started_at_unix": 1789970974.3307946, + "started_at_unix": 1790057277.4847157, "bytes_sent": 319, "bytes_received": 357, "request_id": 180, @@ -37417,9 +37445,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.26061500000196247, + "duration_ms": 2.6203470000041307, "success": true, - "started_at_unix": 1789970974.3311346, + "started_at_unix": 1790057277.485054, "bytes_sent": 319, "bytes_received": 359, "request_id": 181, @@ -37448,9 +37476,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.41167700001665253, + "duration_ms": 2.9251670000007834, "success": true, - "started_at_unix": 1789970974.3315332, + "started_at_unix": 1790057277.4878144, "bytes_sent": 321, "bytes_received": 1943, "request_id": 182, @@ -37479,9 +37507,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2718759999993381, + "duration_ms": 2.7144939999743656, "success": true, - "started_at_unix": 1789970974.332168, + "started_at_unix": 1790057277.4909701, "bytes_sent": 321, "bytes_received": 359, "request_id": 183, @@ -37510,9 +37538,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2666369999815288, + "duration_ms": 2.8472919999558144, "success": true, - "started_at_unix": 1789970974.3325915, + "started_at_unix": 1790057277.4938326, "bytes_sent": 321, "bytes_received": 162, "request_id": 184, @@ -37542,9 +37570,9 @@ { "kind": "request", "method": "typeServer/semanticTokens", - "duration_ms": 62.496778999985736, + "duration_ms": 113.73696999999083, "success": true, - "started_at_unix": 1789970974.3331347, + "started_at_unix": 1790057277.4969835, "bytes_sent": 0, "bytes_received": 0, "request_id": "local-197", @@ -37575,9 +37603,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 0.1495280000085586, + "duration_ms": 0.1701079999634203, "success": true, - "started_at_unix": 1789970974.3333604, + "started_at_unix": 1790057277.497236, "bytes_sent": 82, "bytes_received": 59, "request_id": 185, @@ -37599,9 +37627,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.22386599999890677, + "duration_ms": 0.2371630000084224, "success": true, - "started_at_unix": 1789970974.3343878, + "started_at_unix": 1790057277.49829, "bytes_sent": 319, "bytes_received": 62, "request_id": 186, @@ -37629,9 +37657,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.29634200001282807, + "duration_ms": 0.25772200001483725, "success": true, - "started_at_unix": 1789970974.3346467, + "started_at_unix": 1790057277.4985907, "bytes_sent": 319, "bytes_received": 471, "request_id": 187, @@ -37660,9 +37688,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.24217099999646052, + "duration_ms": 0.2394879999769728, "success": true, - "started_at_unix": 1789970974.3350444, + "started_at_unix": 1790057277.4989457, "bytes_sent": 319, "bytes_received": 397, "request_id": 188, @@ -37691,9 +37719,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2212729999939711, + "duration_ms": 0.22002100001827785, "success": true, - "started_at_unix": 1789970974.3353922, + "started_at_unix": 1790057277.4992938, "bytes_sent": 319, "bytes_received": 62, "request_id": 189, @@ -37721,9 +37749,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.24883399998998357, + "duration_ms": 0.25623900000937283, "success": true, - "started_at_unix": 1789970974.3356504, + "started_at_unix": 1790057277.4995518, "bytes_sent": 319, "bytes_received": 162, "request_id": 190, @@ -37753,9 +37781,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 44.60582999999474, + "duration_ms": 26.616348000004564, "success": true, - "started_at_unix": 1789970974.3359973, + "started_at_unix": 1790057277.4999092, "bytes_sent": 319, "bytes_received": 544021, "request_id": 191, @@ -37784,9 +37812,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 5.447425999989264, + "duration_ms": 4.647075000036693, "success": true, - "started_at_unix": 1789970974.4419422, + "started_at_unix": 1790057277.585966, "bytes_sent": 319, "bytes_received": 397, "request_id": 192, @@ -37815,9 +37843,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 3.3711280000261468, + "duration_ms": 2.9301559999908022, "success": true, - "started_at_unix": 1789970974.447534, + "started_at_unix": 1790057277.59074, "bytes_sent": 319, "bytes_received": 162, "request_id": 193, @@ -37847,9 +37875,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.8563400000223282, + "duration_ms": 0.2452880000305413, "success": true, - "started_at_unix": 1789970974.4510322, + "started_at_unix": 1790057277.5937696, "bytes_sent": 321, "bytes_received": 162, "request_id": 194, @@ -37879,9 +37907,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2936770000019351, + "duration_ms": 2.5970940000092924, "success": true, - "started_at_unix": 1789970974.4539886, + "started_at_unix": 1790057277.5940845, "bytes_sent": 321, "bytes_received": 162, "request_id": 195, @@ -37911,9 +37939,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.4984739999922567, + "duration_ms": 2.9013419999728285, "success": true, - "started_at_unix": 1789970974.454408, + "started_at_unix": 1790057277.5967906, "bytes_sent": 319, "bytes_received": 357, "request_id": 196, @@ -37942,9 +37970,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.8848729999992884, + "duration_ms": 2.9037070000299536, "success": true, - "started_at_unix": 1789970974.4570096, + "started_at_unix": 1790057277.5997846, "bytes_sent": 319, "bytes_received": 359, "request_id": 197, @@ -37973,9 +38001,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.8990890000102354, + "duration_ms": 2.9084660000080476, "success": true, - "started_at_unix": 1789970974.4600525, + "started_at_unix": 1790057277.6028361, "bytes_sent": 321, "bytes_received": 1943, "request_id": 198, @@ -38004,9 +38032,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.688176999981806, + "duration_ms": 0.27967199997647185, "success": true, - "started_at_unix": 1789970974.463203, + "started_at_unix": 1790057277.6059637, "bytes_sent": 321, "bytes_received": 359, "request_id": 199, @@ -38035,9 +38063,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.8261340000028667, + "duration_ms": 0.25839199997790274, "success": true, - "started_at_unix": 1789970974.4660678, + "started_at_unix": 1790057277.6063907, "bytes_sent": 321, "bytes_received": 162, "request_id": 200, @@ -38067,9 +38095,9 @@ { "kind": "request", "method": "typeServer/semanticTokens", - "duration_ms": 135.69696199999726, + "duration_ms": 109.49200599998221, "success": true, - "started_at_unix": 1789970974.4692419, + "started_at_unix": 1790057277.606934, "bytes_sent": 0, "bytes_received": 0, "request_id": "local-214", @@ -38100,9 +38128,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 2.4040170000034777, + "duration_ms": 0.17273299999942537, "success": true, - "started_at_unix": 1789970974.4695141, + "started_at_unix": 1790057277.607186, "bytes_sent": 82, "bytes_received": 59, "request_id": 201, @@ -38124,9 +38152,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.963860000022578, + "duration_ms": 0.22586200003615886, "success": true, - "started_at_unix": 1789970974.472926, + "started_at_unix": 1790057277.6082518, "bytes_sent": 319, "bytes_received": 62, "request_id": 202, @@ -38154,9 +38182,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.9626680000092165, + "duration_ms": 0.2636529999904269, "success": true, - "started_at_unix": 1789970974.4759433, + "started_at_unix": 1790057277.6085176, "bytes_sent": 319, "bytes_received": 471, "request_id": 203, @@ -38185,9 +38213,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.8741140000079213, + "duration_ms": 0.24168199996665862, "success": true, - "started_at_unix": 1789970974.4790308, + "started_at_unix": 1790057277.6088758, "bytes_sent": 319, "bytes_received": 397, "request_id": 204, @@ -38216,9 +38244,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.8309129999968263, + "duration_ms": 2.457832999994025, "success": true, - "started_at_unix": 1789970974.48205, + "started_at_unix": 1790057277.6092212, "bytes_sent": 319, "bytes_received": 62, "request_id": 205, @@ -38246,9 +38274,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.9690100000152597, + "duration_ms": 0.23113200001034784, "success": true, - "started_at_unix": 1789970974.484936, + "started_at_unix": 1790057277.6117213, "bytes_sent": 319, "bytes_received": 162, "request_id": 206, @@ -38278,9 +38306,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 46.49532999999906, + "duration_ms": 46.5641499999947, "success": true, - "started_at_unix": 1789970974.488046, + "started_at_unix": 1790057277.6120555, "bytes_sent": 319, "bytes_received": 544021, "request_id": 207, @@ -38309,9 +38337,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 3.717244000000619, + "duration_ms": 2.651626000044871, "success": true, - "started_at_unix": 1789970974.5947185, + "started_at_unix": 1790057277.7199574, "bytes_sent": 319, "bytes_received": 397, "request_id": 208, @@ -38340,9 +38368,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 5.318575999979203, + "duration_ms": 1.956957999993847, "success": true, - "started_at_unix": 1789970974.5985713, + "started_at_unix": 1790057277.7227385, "bytes_sent": 319, "bytes_received": 162, "request_id": 209, @@ -38372,9 +38400,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 4.77799899999809, + "duration_ms": 3.8195690000293325, "success": true, - "started_at_unix": 1789970974.6040328, + "started_at_unix": 1790057277.7247896, "bytes_sent": 321, "bytes_received": 162, "request_id": 210, @@ -38404,9 +38432,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 8.87916800002131, + "duration_ms": 2.237611999987621, "success": true, - "started_at_unix": 1789970974.6089296, + "started_at_unix": 1790057277.7286885, "bytes_sent": 321, "bytes_received": 162, "request_id": 211, @@ -38436,9 +38464,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 5.8286969999983285, + "duration_ms": 3.537742000048638, "success": true, - "started_at_unix": 1789970974.6180027, + "started_at_unix": 1790057277.7310712, "bytes_sent": 319, "bytes_received": 357, "request_id": 212, @@ -38467,9 +38495,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 3.8840750000019852, + "duration_ms": 2.9949780000038118, "success": true, - "started_at_unix": 1789970974.6240108, + "started_at_unix": 1790057277.7346966, "bytes_sent": 319, "bytes_received": 359, "request_id": 213, @@ -38498,9 +38526,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 4.713199000008217, + "duration_ms": 2.926038999987668, "success": true, - "started_at_unix": 1789970974.6280937, + "started_at_unix": 1790057277.7378478, "bytes_sent": 321, "bytes_received": 1943, "request_id": 214, @@ -38529,9 +38557,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 5.841820000000553, + "duration_ms": 5.595699000025434, "success": true, - "started_at_unix": 1789970974.6330667, + "started_at_unix": 1790057277.741013, "bytes_sent": 321, "bytes_received": 359, "request_id": 215, @@ -38560,9 +38588,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 5.797228000005816, + "duration_ms": 3.002231000039046, "success": true, - "started_at_unix": 1789970974.6390932, + "started_at_unix": 1790057277.7467647, "bytes_sent": 321, "bytes_received": 162, "request_id": 216, @@ -38592,9 +38620,9 @@ { "kind": "request", "method": "typeServer/semanticTokens", - "duration_ms": 173.27179699998396, + "duration_ms": 142.67318299999943, "success": true, - "started_at_unix": 1789970974.6452374, + "started_at_unix": 1790057277.7500691, "bytes_sent": 0, "bytes_received": 0, "request_id": "local-231", @@ -38625,9 +38653,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 2.384782000007135, + "duration_ms": 2.3377589999995507, "success": true, - "started_at_unix": 1789970974.6455019, + "started_at_unix": 1790057277.7503283, "bytes_sent": 82, "bytes_received": 59, "request_id": 217, @@ -38649,9 +38677,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.9772959999831983, + "duration_ms": 3.2345660000032694, "success": true, - "started_at_unix": 1789970974.648918, + "started_at_unix": 1790057277.7535415, "bytes_sent": 319, "bytes_received": 62, "request_id": 218, @@ -38679,9 +38707,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.934075000013081, + "duration_ms": 1.8621309999957703, "success": true, - "started_at_unix": 1789970974.6519496, + "started_at_unix": 1790057277.7568238, "bytes_sent": 319, "bytes_received": 471, "request_id": 219, @@ -38710,9 +38738,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2979349999918668, + "duration_ms": 3.8269120000222756, "success": true, - "started_at_unix": 1789970974.6549976, + "started_at_unix": 1790057277.758781, "bytes_sent": 319, "bytes_received": 397, "request_id": 220, @@ -38741,9 +38769,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.4580879999973604, + "duration_ms": 1.9518180000090979, "success": true, - "started_at_unix": 1789970974.6554127, + "started_at_unix": 1790057277.7627237, "bytes_sent": 319, "bytes_received": 62, "request_id": 221, @@ -38771,9 +38799,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.9677370000058545, + "duration_ms": 3.8911930000153916, "success": true, - "started_at_unix": 1789970974.6579142, + "started_at_unix": 1790057277.7647173, "bytes_sent": 319, "bytes_received": 162, "request_id": 222, @@ -38803,9 +38831,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 46.2233129999845, + "duration_ms": 42.045414999961395, "success": true, - "started_at_unix": 1789970974.6609995, + "started_at_unix": 1790057277.7687173, "bytes_sent": 319, "bytes_received": 545209, "request_id": 223, @@ -38834,9 +38862,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 4.846737999997686, + "duration_ms": 4.658486999971956, "success": true, - "started_at_unix": 1789970974.769331, + "started_at_unix": 1790057277.866965, "bytes_sent": 319, "bytes_received": 398, "request_id": 224, @@ -38865,9 +38893,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.571609000000308, + "duration_ms": 2.90595100000246, "success": true, - "started_at_unix": 1789970974.7743096, + "started_at_unix": 1790057277.8717728, "bytes_sent": 319, "bytes_received": 163, "request_id": 225, @@ -38897,9 +38925,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 5.883849000014152, + "duration_ms": 2.8221549999898343, "success": true, - "started_at_unix": 1789970974.7769928, + "started_at_unix": 1790057277.8747873, "bytes_sent": 321, "bytes_received": 163, "request_id": 226, @@ -38929,9 +38957,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.89876900001218, + "duration_ms": 0.9787289999962923, "success": true, - "started_at_unix": 1789970974.782966, + "started_at_unix": 1790057277.8777068, "bytes_sent": 321, "bytes_received": 163, "request_id": 227, @@ -38961,9 +38989,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.26503399999455723, + "duration_ms": 2.892635999955928, "success": true, - "started_at_unix": 1789970974.7859874, + "started_at_unix": 1790057277.878807, "bytes_sent": 319, "bytes_received": 358, "request_id": 228, @@ -38992,9 +39020,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.5392100000090068, + "duration_ms": 4.822283000009975, "success": true, - "started_at_unix": 1789970974.7863424, + "started_at_unix": 1790057277.881799, "bytes_sent": 319, "bytes_received": 360, "request_id": 229, @@ -39023,9 +39051,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.9076460000112547, + "duration_ms": 2.8133580000258007, "success": true, - "started_at_unix": 1789970974.7890317, + "started_at_unix": 1790057277.8868, "bytes_sent": 321, "bytes_received": 1950, "request_id": 230, @@ -39054,9 +39082,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.7368070000193256, + "duration_ms": 1.8353400000137299, "success": true, - "started_at_unix": 1789970974.7921712, + "started_at_unix": 1790057277.8898528, "bytes_sent": 321, "bytes_received": 360, "request_id": 231, @@ -39085,9 +39113,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 3.209587999975838, + "duration_ms": 2.76958699998886, "success": true, - "started_at_unix": 1789970974.7950733, + "started_at_unix": 1790057277.8918436, "bytes_sent": 321, "bytes_received": 163, "request_id": 232, @@ -39117,9 +39145,9 @@ { "kind": "request", "method": "typeServer/semanticTokens", - "duration_ms": 150.6647399999963, + "duration_ms": 142.22196000002896, "success": true, - "started_at_unix": 1789970974.7985988, + "started_at_unix": 1790057277.8949292, "bytes_sent": 0, "bytes_received": 0, "request_id": "local-248", @@ -39150,9 +39178,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 2.961715999987291, + "duration_ms": 2.423749999991287, "success": true, - "started_at_unix": 1789970974.798905, + "started_at_unix": 1790057277.8951917, "bytes_sent": 82, "bytes_received": 59, "request_id": 233, @@ -39174,9 +39202,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 3.072892999995247, + "duration_ms": 1.1635649999561792, "success": true, - "started_at_unix": 1789970974.8028092, + "started_at_unix": 1790057277.8985322, "bytes_sent": 319, "bytes_received": 62, "request_id": 234, @@ -39204,9 +39232,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 5.946685999987267, + "duration_ms": 5.87026200003038, "success": true, - "started_at_unix": 1789970974.8059363, + "started_at_unix": 1790057277.899739, "bytes_sent": 319, "bytes_received": 472, "request_id": 235, @@ -39235,9 +39263,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.898349000020062, + "duration_ms": 2.9930139999692074, "success": true, - "started_at_unix": 1789970974.8119903, + "started_at_unix": 1790057277.9057176, "bytes_sent": 319, "bytes_received": 398, "request_id": 236, @@ -39266,9 +39294,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 5.870114000003923, + "duration_ms": 5.780092999998487, "success": true, - "started_at_unix": 1789970974.8150022, + "started_at_unix": 1790057277.9088311, "bytes_sent": 319, "bytes_received": 62, "request_id": 237, @@ -39296,9 +39324,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.9703120000021954, + "duration_ms": 5.947796999976163, "success": true, - "started_at_unix": 1789970974.8209212, + "started_at_unix": 1790057277.9146628, "bytes_sent": 319, "bytes_received": 163, "request_id": 238, @@ -39328,9 +39356,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 41.30595399999493, + "duration_ms": 39.1219910000018, "success": true, - "started_at_unix": 1789970974.824015, + "started_at_unix": 1790057277.920746, "bytes_sent": 319, "bytes_received": 546192, "request_id": 239, @@ -39359,9 +39387,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 4.679375999984359, + "duration_ms": 4.9310470000136775, "success": true, - "started_at_unix": 1789970974.8961248, + "started_at_unix": 1790057278.0186243, "bytes_sent": 319, "bytes_received": 398, "request_id": 240, @@ -39390,9 +39418,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.9143430000051467, + "duration_ms": 5.97769299997708, "success": true, - "started_at_unix": 1789970974.9009442, + "started_at_unix": 1790057278.0236893, "bytes_sent": 319, "bytes_received": 163, "request_id": 241, @@ -39422,9 +39450,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.9197480000107134, + "duration_ms": 3.9199869999606562, "success": true, - "started_at_unix": 1789970974.9019597, + "started_at_unix": 1790057278.0297616, "bytes_sent": 321, "bytes_received": 163, "request_id": 242, @@ -39454,9 +39482,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 1.6522670000256312, + "duration_ms": 4.909426000040185, "success": true, - "started_at_unix": 1789970974.9049656, + "started_at_unix": 1790057278.0337555, "bytes_sent": 321, "bytes_received": 163, "request_id": 243, @@ -39486,9 +39514,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.30590000000074724, + "duration_ms": 0.9044310000376754, "success": true, - "started_at_unix": 1789970974.9067292, + "started_at_unix": 1790057278.0387816, "bytes_sent": 319, "bytes_received": 358, "request_id": 244, @@ -39517,9 +39545,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.3103260000045793, + "duration_ms": 3.9230930000258013, "success": true, - "started_at_unix": 1789970974.9071226, + "started_at_unix": 1790057278.0397797, "bytes_sent": 319, "bytes_received": 360, "request_id": 245, @@ -39548,9 +39576,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.3531179999924916, + "duration_ms": 0.8994120000238581, "success": true, - "started_at_unix": 1789970974.907574, + "started_at_unix": 1790057278.0438583, "bytes_sent": 321, "bytes_received": 1950, "request_id": 246, @@ -39579,9 +39607,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2674780000120336, + "duration_ms": 2.708230999985517, "success": true, - "started_at_unix": 1789970974.9081352, + "started_at_unix": 1790057278.044986, "bytes_sent": 321, "bytes_received": 360, "request_id": 247, @@ -39610,9 +39638,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 5.34716900000376, + "duration_ms": 2.8432539999698747, "success": true, - "started_at_unix": 1789970974.9085312, + "started_at_unix": 1790057278.0478432, "bytes_sent": 321, "bytes_received": 163, "request_id": 248, @@ -39642,9 +39670,9 @@ { "kind": "request", "method": "typeServer/semanticTokens", - "duration_ms": 112.28275199999871, + "duration_ms": 153.32948999997598, "success": true, - "started_at_unix": 1789970974.9141889, + "started_at_unix": 1790057278.0509896, "bytes_sent": 0, "bytes_received": 0, "request_id": "local-265", @@ -39675,9 +39703,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 3.187065999981087, + "duration_ms": 2.19695599997749, "success": true, - "started_at_unix": 1789970974.9146788, + "started_at_unix": 1790057278.0514762, "bytes_sent": 82, "bytes_received": 59, "request_id": 249, @@ -39699,9 +39727,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 3.0578460000185714, + "duration_ms": 5.105181000033099, "success": true, - "started_at_unix": 1789970974.9188318, + "started_at_unix": 1790057278.0545893, "bytes_sent": 313, "bytes_received": 377, "request_id": 250, @@ -39730,9 +39758,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.892999000010832, + "duration_ms": 2.91088099999115, "success": true, - "started_at_unix": 1789970974.921989, + "started_at_unix": 1790057278.0597866, "bytes_sent": 313, "bytes_received": 360, "request_id": 251, @@ -39761,9 +39789,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.9196080000133406, + "duration_ms": 2.9366190000246206, "success": true, - "started_at_unix": 1789970974.9250093, + "started_at_unix": 1790057278.062822, "bytes_sent": 313, "bytes_received": 657, "request_id": 252, @@ -39792,9 +39820,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.8177279999965776, + "duration_ms": 2.7984310000306323, "success": true, - "started_at_unix": 1789970974.9280782, + "started_at_unix": 1790057278.0659068, "bytes_sent": 313, "bytes_received": 366, "request_id": 253, @@ -39823,9 +39851,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.8875280000022485, + "duration_ms": 2.8957530000184306, "success": true, - "started_at_unix": 1789970974.9309947, + "started_at_unix": 1790057278.068806, "bytes_sent": 313, "bytes_received": 358, "request_id": 254, @@ -39854,9 +39882,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.87481499998421, + "duration_ms": 2.875695000000178, "success": true, - "started_at_unix": 1789970974.933989, + "started_at_unix": 1790057278.0718095, "bytes_sent": 313, "bytes_received": 62, "request_id": 255, @@ -39884,9 +39912,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.9909399999894504, + "duration_ms": 2.9897480000045107, "success": true, - "started_at_unix": 1789970974.9369183, + "started_at_unix": 1790057278.0747347, "bytes_sent": 312, "bytes_received": 883, "request_id": 256, @@ -39915,9 +39943,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.7596400000220456, + "duration_ms": 2.8295980000052623, "success": true, - "started_at_unix": 1789970974.9401107, + "started_at_unix": 1790057278.077858, "bytes_sent": 313, "bytes_received": 62, "request_id": 257, @@ -39945,9 +39973,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.9725070000097276, + "duration_ms": 2.9637000000093394, "success": true, - "started_at_unix": 1789970974.942912, + "started_at_unix": 1790057278.0807304, "bytes_sent": 313, "bytes_received": 366, "request_id": 258, @@ -39976,9 +40004,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.881506999983685, + "duration_ms": 3.8106830000401715, "success": true, - "started_at_unix": 1789970974.9459972, + "started_at_unix": 1790057278.0838017, "bytes_sent": 313, "bytes_received": 366, "request_id": 259, @@ -40007,9 +40035,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.9243159999907675, + "duration_ms": 2.001762000020335, "success": true, - "started_at_unix": 1789970974.9489872, + "started_at_unix": 1790057278.0877228, "bytes_sent": 313, "bytes_received": 883, "request_id": 260, @@ -40038,9 +40066,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.8097029999969436, + "duration_ms": 2.8185479999933705, "success": true, - "started_at_unix": 1789970974.952081, + "started_at_unix": 1790057278.0898893, "bytes_sent": 313, "bytes_received": 358, "request_id": 261, @@ -40069,9 +40097,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.9043290000174693, + "duration_ms": 4.917731999967145, "success": true, - "started_at_unix": 1789970974.9549925, + "started_at_unix": 1790057278.0928056, "bytes_sent": 313, "bytes_received": 360, "request_id": 262, @@ -40100,9 +40128,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.8401999999800864, + "duration_ms": 2.8823780000379884, "success": true, - "started_at_unix": 1789970974.9580324, + "started_at_unix": 1790057278.0978494, "bytes_sent": 313, "bytes_received": 366, "request_id": 263, @@ -40131,9 +40159,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 5.998361999985491, + "duration_ms": 3.227723000009064, "success": true, - "started_at_unix": 1789970974.961011, + "started_at_unix": 1790057278.1008694, "bytes_sent": 314, "bytes_received": 3532, "request_id": 264, @@ -40162,9 +40190,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.522959000003766, + "duration_ms": 5.166847999987567, "success": true, - "started_at_unix": 1789970974.9673977, + "started_at_unix": 1790057278.1044466, "bytes_sent": 315, "bytes_received": 1282, "request_id": 265, @@ -40193,9 +40221,9 @@ { "kind": "request", "method": "typeServer/semanticTokens", - "duration_ms": 52.360042999993084, + "duration_ms": 56.26616399996465, "success": true, - "started_at_unix": 1789970974.9702694, + "started_at_unix": 1790057278.10998, "bytes_sent": 0, "bytes_received": 0, "request_id": "local-283", @@ -40226,9 +40254,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 5.43570499999646, + "duration_ms": 2.633943000034833, "success": true, - "started_at_unix": 1789970974.97044, + "started_at_unix": 1790057278.1101575, "bytes_sent": 82, "bytes_received": 59, "request_id": 266, @@ -40250,9 +40278,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 3.125662000002194, + "duration_ms": 5.933398999957262, "success": true, - "started_at_unix": 1789970974.9767528, + "started_at_unix": 1790057278.1136894, "bytes_sent": 313, "bytes_received": 377, "request_id": 267, @@ -40281,9 +40309,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.89448099999845, + "duration_ms": 2.8990380000095683, "success": true, - "started_at_unix": 1789970974.9799855, + "started_at_unix": 1790057278.1197178, "bytes_sent": 313, "bytes_received": 360, "request_id": 268, @@ -40312,9 +40340,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.89156600001661, + "duration_ms": 2.87504400000671, "success": true, - "started_at_unix": 1789970974.983007, + "started_at_unix": 1790057278.1227345, "bytes_sent": 313, "bytes_received": 657, "request_id": 269, @@ -40343,9 +40371,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 1.9552219999923182, + "duration_ms": 0.9592129999873578, "success": true, - "started_at_unix": 1789970974.9860342, + "started_at_unix": 1790057278.1257534, "bytes_sent": 313, "bytes_received": 366, "request_id": 270, @@ -40374,9 +40402,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 1.8084780000151568, + "duration_ms": 4.808948999993845, "success": true, - "started_at_unix": 1789970974.9880826, + "started_at_unix": 1790057278.1268096, "bytes_sent": 313, "bytes_received": 358, "request_id": 271, @@ -40405,9 +40433,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.8752359999941746, + "duration_ms": 2.891514999987521, "success": true, - "started_at_unix": 1789970974.99, + "started_at_unix": 1790057278.1317222, "bytes_sent": 313, "bytes_received": 62, "request_id": 272, @@ -40435,9 +40463,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 1.9863390000125491, + "duration_ms": 2.943641000001662, "success": true, - "started_at_unix": 1789970974.9929235, + "started_at_unix": 1790057278.1346672, "bytes_sent": 312, "bytes_received": 883, "request_id": 273, @@ -40466,9 +40494,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.8162149999957364, + "duration_ms": 8.866341000043576, "success": true, - "started_at_unix": 1789970974.9950542, + "started_at_unix": 1790057278.1377423, "bytes_sent": 313, "bytes_received": 62, "request_id": 274, @@ -40496,9 +40524,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.966324999988501, + "duration_ms": 8.950448999996752, "success": true, - "started_at_unix": 1789970974.997916, + "started_at_unix": 1790057278.1466572, "bytes_sent": 313, "bytes_received": 366, "request_id": 275, @@ -40527,9 +40555,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.8956529999959457, + "duration_ms": 1.9890379999765173, "success": true, - "started_at_unix": 1789970975.0009959, + "started_at_unix": 1790057278.1557283, "bytes_sent": 313, "bytes_received": 366, "request_id": 276, @@ -40558,9 +40586,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 5.92276099999367, + "duration_ms": 3.838944999984051, "success": true, - "started_at_unix": 1789970975.0039964, + "started_at_unix": 1790057278.1578226, "bytes_sent": 313, "bytes_received": 883, "request_id": 277, @@ -40589,9 +40617,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.707111999995959, + "duration_ms": 2.783763000024919, "success": true, - "started_at_unix": 1789970975.0100958, + "started_at_unix": 1790057278.161832, "bytes_sent": 313, "bytes_received": 358, "request_id": 278, @@ -40620,9 +40648,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 5.017215000009401, + "duration_ms": 1.9965419999721234, "success": true, - "started_at_unix": 1789970975.0129259, + "started_at_unix": 1790057278.1647108, "bytes_sent": 313, "bytes_received": 360, "request_id": 279, @@ -40651,9 +40679,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.852152999992086, + "duration_ms": 3.814690000012888, "success": true, - "started_at_unix": 1789970975.0180411, + "started_at_unix": 1790057278.1668034, "bytes_sent": 313, "bytes_received": 366, "request_id": 280, @@ -40682,9 +40710,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.988966999993181, + "duration_ms": 5.867476999981136, "success": true, - "started_at_unix": 1789970975.021049, + "started_at_unix": 1790057278.1707454, "bytes_sent": 314, "bytes_received": 3532, "request_id": 281, @@ -40713,9 +40741,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.5380969999844183, + "duration_ms": 2.640374999998585, "success": true, - "started_at_unix": 1789970975.0243986, + "started_at_unix": 1790057278.1769679, "bytes_sent": 315, "bytes_received": 1282, "request_id": 282, @@ -40744,9 +40772,9 @@ { "kind": "request", "method": "typeServer/semanticTokens", - "duration_ms": 51.42441099999928, + "duration_ms": 67.14414499998611, "success": true, - "started_at_unix": 1789970975.0273392, + "started_at_unix": 1790057278.1799757, "bytes_sent": 0, "bytes_received": 0, "request_id": "local-301", @@ -40777,9 +40805,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 0.20641399999021814, + "duration_ms": 0.19695499997851584, "success": true, - "started_at_unix": 1789970975.0275927, + "started_at_unix": 1790057278.1802347, "bytes_sent": 82, "bytes_received": 59, "request_id": 283, @@ -40801,9 +40829,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 3.16798099999005, + "duration_ms": 0.2830189999940558, "success": true, - "started_at_unix": 1789970975.028717, + "started_at_unix": 1790057278.1813378, "bytes_sent": 313, "bytes_received": 377, "request_id": 284, @@ -40832,9 +40860,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 5.909387000002653, + "duration_ms": 0.24729299997261478, "success": true, - "started_at_unix": 1789970975.0319808, + "started_at_unix": 1790057278.1817105, "bytes_sent": 313, "bytes_received": 360, "request_id": 285, @@ -40863,9 +40891,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.880105000002686, + "duration_ms": 0.24428599999737344, "success": true, - "started_at_unix": 1789970975.0380147, + "started_at_unix": 1790057278.1820672, "bytes_sent": 313, "bytes_received": 657, "request_id": 286, @@ -40894,9 +40922,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.8506189999859544, + "duration_ms": 0.24907599998869046, "success": true, - "started_at_unix": 1789970975.0410423, + "started_at_unix": 1790057278.1824424, "bytes_sent": 313, "bytes_received": 366, "request_id": 287, @@ -40925,9 +40953,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.8974069999776475, + "duration_ms": 0.24473799999213952, "success": true, - "started_at_unix": 1789970975.0439992, + "started_at_unix": 1790057278.182778, "bytes_sent": 313, "bytes_received": 358, "request_id": 288, @@ -40956,9 +40984,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.8686020000066037, + "duration_ms": 0.2461000000266722, "success": true, - "started_at_unix": 1789970975.0470061, + "started_at_unix": 1790057278.1831174, "bytes_sent": 313, "bytes_received": 62, "request_id": 289, @@ -40986,9 +41014,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.966334999996434, + "duration_ms": 4.319457000008242, "success": true, - "started_at_unix": 1789970975.049929, + "started_at_unix": 1790057278.183409, "bytes_sent": 312, "bytes_received": 883, "request_id": 290, @@ -41017,9 +41045,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.845960999991348, + "duration_ms": 3.8081880000504498, "success": true, - "started_at_unix": 1789970975.0530293, + "started_at_unix": 1790057278.187858, "bytes_sent": 313, "bytes_received": 62, "request_id": 291, @@ -41047,9 +41075,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.963478999987501, + "duration_ms": 1.9726170000353704, "success": true, - "started_at_unix": 1789970975.055921, + "started_at_unix": 1790057278.19171, "bytes_sent": 313, "bytes_received": 366, "request_id": 292, @@ -41078,9 +41106,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.8902539999933197, + "duration_ms": 2.8989790000082394, "success": true, - "started_at_unix": 1789970975.0589914, + "started_at_unix": 1790057278.193789, "bytes_sent": 313, "bytes_received": 366, "request_id": 293, @@ -41109,9 +41137,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 5.952746999980718, + "duration_ms": 2.920999999957985, "success": true, - "started_at_unix": 1789970975.0619884, + "started_at_unix": 1790057278.196782, "bytes_sent": 313, "bytes_received": 883, "request_id": 294, @@ -41140,9 +41168,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.777954000009686, + "duration_ms": 6.814066000004004, "success": true, - "started_at_unix": 1789970975.068111, + "started_at_unix": 1790057278.1998634, "bytes_sent": 313, "bytes_received": 358, "request_id": 295, @@ -41171,9 +41199,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.8885499999944386, + "duration_ms": 1.9178750000037326, "success": true, - "started_at_unix": 1789970975.070991, + "started_at_unix": 1790057278.206776, "bytes_sent": 313, "bytes_received": 360, "request_id": 296, @@ -41202,9 +41230,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.9128749999927095, + "duration_ms": 2.9043580000234215, "success": true, - "started_at_unix": 1789970975.0739753, + "started_at_unix": 1790057278.2087905, "bytes_sent": 313, "bytes_received": 366, "request_id": 297, @@ -41233,9 +41261,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.9746510000165927, + "duration_ms": 5.367362000015419, "success": true, - "started_at_unix": 1789970975.0770333, + "started_at_unix": 1790057278.2122407, "bytes_sent": 314, "bytes_received": 3532, "request_id": 298, @@ -41264,9 +41292,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.5532650000172907, + "duration_ms": 5.638368999996146, "success": true, - "started_at_unix": 1789970975.0803783, + "started_at_unix": 1790057278.2179697, "bytes_sent": 315, "bytes_received": 1282, "request_id": 299, @@ -41295,9 +41323,9 @@ { "kind": "request", "method": "typeServer/semanticTokens", - "duration_ms": 55.46880299999657, + "duration_ms": 43.555501000014374, "success": true, - "started_at_unix": 1789970975.0833073, + "started_at_unix": 1790057278.2240288, "bytes_sent": 0, "bytes_received": 0, "request_id": "local-319", @@ -41328,9 +41356,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 0.20627399999284535, + "duration_ms": 2.559684000004836, "success": true, - "started_at_unix": 1789970975.0835779, + "started_at_unix": 1790057278.2242754, "bytes_sent": 82, "bytes_received": 59, "request_id": 300, @@ -41352,9 +41380,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 3.169112000023233, + "duration_ms": 2.876947000004293, "success": true, - "started_at_unix": 1789970975.0846927, + "started_at_unix": 1790057278.2277346, "bytes_sent": 313, "bytes_received": 377, "request_id": 301, @@ -41383,9 +41411,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.9332430000010845, + "duration_ms": 2.0604110000022047, "success": true, - "started_at_unix": 1789970975.0879548, + "started_at_unix": 1790057278.2307062, "bytes_sent": 313, "bytes_received": 360, "request_id": 302, @@ -41414,9 +41442,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.896133999996664, + "duration_ms": 3.7252820000048814, "success": true, - "started_at_unix": 1789970975.091006, + "started_at_unix": 1790057278.2328908, "bytes_sent": 313, "bytes_received": 657, "request_id": 303, @@ -41445,9 +41473,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.828387999983306, + "duration_ms": 1.9580100000098355, "success": true, - "started_at_unix": 1789970975.094052, + "started_at_unix": 1790057278.2367518, "bytes_sent": 313, "bytes_received": 366, "request_id": 304, @@ -41476,9 +41504,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 5.926017999996702, + "duration_ms": 5.807611999955498, "success": true, - "started_at_unix": 1789970975.0969784, + "started_at_unix": 1790057278.2388055, "bytes_sent": 313, "bytes_received": 358, "request_id": 305, @@ -41507,9 +41535,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 1.8779879999897275, + "duration_ms": 5.875772000024426, "success": true, - "started_at_unix": 1789970975.1030238, + "started_at_unix": 1790057278.2447293, "bytes_sent": 313, "bytes_received": 62, "request_id": 306, @@ -41537,9 +41565,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.2925550000156818, + "duration_ms": 2.239734999989196, "success": true, - "started_at_unix": 1789970975.10495, + "started_at_unix": 1790057278.2506647, "bytes_sent": 312, "bytes_received": 883, "request_id": 307, @@ -41568,9 +41596,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.23019899998644178, + "duration_ms": 4.572746999997435, "success": true, - "started_at_unix": 1789970975.1053414, + "started_at_unix": 1790057278.2530365, "bytes_sent": 313, "bytes_received": 62, "request_id": 308, @@ -41598,9 +41626,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 0.25699100001475017, + "duration_ms": 1.0503629999902842, "success": true, - "started_at_unix": 1789970975.1056097, + "started_at_unix": 1790057278.2576544, "bytes_sent": 313, "bytes_received": 366, "request_id": 309, @@ -41629,9 +41657,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 1.0536900000204241, + "duration_ms": 3.803028000049835, "success": true, - "started_at_unix": 1789970975.1069233, + "started_at_unix": 1790057278.2588098, "bytes_sent": 313, "bytes_received": 366, "request_id": 310, @@ -41660,9 +41688,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 1.4770709999822884, + "duration_ms": 2.0158070000206862, "success": true, - "started_at_unix": 1789970975.1080837, + "started_at_unix": 1790057278.26272, "bytes_sent": 313, "bytes_received": 883, "request_id": 311, @@ -41691,9 +41719,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 3.1561889999807136, + "duration_ms": 2.807707999977538, "success": true, - "started_at_unix": 1789970975.1097267, + "started_at_unix": 1790057278.2649016, "bytes_sent": 313, "bytes_received": 358, "request_id": 312, @@ -41722,9 +41750,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.8853940000033163, + "duration_ms": 0.8007970000107889, "success": true, - "started_at_unix": 1789970975.11299, + "started_at_unix": 1790057278.2678106, "bytes_sent": 313, "bytes_received": 360, "request_id": 313, @@ -41753,9 +41781,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.9079260000060003, + "duration_ms": 2.00061900000037, "success": true, - "started_at_unix": 1789970975.1159678, + "started_at_unix": 1790057278.2687008, "bytes_sent": 313, "bytes_received": 366, "request_id": 314, @@ -41784,9 +41812,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.979159000005893, + "duration_ms": 2.976914000043962, "success": true, - "started_at_unix": 1789970975.1190143, + "started_at_unix": 1790057278.2708297, "bytes_sent": 314, "bytes_received": 3532, "request_id": 315, @@ -41815,9 +41843,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.5834319999944455, + "duration_ms": 2.6072029999681945, "success": true, - "started_at_unix": 1789970975.1223543, + "started_at_unix": 1790057278.2741907, "bytes_sent": 315, "bytes_received": 1282, "request_id": 316, @@ -41846,9 +41874,9 @@ { "kind": "request", "method": "typeServer/semanticTokens", - "duration_ms": 41.4670139999771, + "duration_ms": 50.2662970000074, "success": true, - "started_at_unix": 1789970975.1252913, + "started_at_unix": 1790057278.2771406, "bytes_sent": 0, "bytes_received": 0, "request_id": "local-337", @@ -41879,9 +41907,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 3.3002369999906023, + "duration_ms": 5.206100000009428, "success": true, - "started_at_unix": 1789970975.1255565, + "started_at_unix": 1790057278.2774014, "bytes_sent": 82, "bytes_received": 59, "request_id": 317, @@ -41903,9 +41931,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 1.1941850000027898, + "duration_ms": 2.1508089999997537, "success": true, - "started_at_unix": 1789970975.1298656, + "started_at_unix": 1790057278.283541, "bytes_sent": 313, "bytes_received": 377, "request_id": 318, @@ -41934,9 +41962,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 3.653716000002305, + "duration_ms": 3.823535999970318, "success": true, - "started_at_unix": 1789970975.1311593, + "started_at_unix": 1790057278.2857912, "bytes_sent": 313, "bytes_received": 360, "request_id": 319, @@ -41965,9 +41993,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.930698999989545, + "duration_ms": 2.9863720000093963, "success": true, - "started_at_unix": 1789970975.134932, + "started_at_unix": 1790057278.2897387, "bytes_sent": 313, "bytes_received": 657, "request_id": 320, @@ -41996,9 +42024,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 1.918803999984675, + "duration_ms": 2.7449609999621316, "success": true, - "started_at_unix": 1789970975.1379998, + "started_at_unix": 1790057278.2928755, "bytes_sent": 313, "bytes_received": 366, "request_id": 321, @@ -42027,9 +42055,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.880636000014647, + "duration_ms": 1.988346000018737, "success": true, - "started_at_unix": 1789970975.1400115, + "started_at_unix": 1790057278.2957177, "bytes_sent": 313, "bytes_received": 358, "request_id": 322, @@ -42058,9 +42086,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 3.82079700000304, + "duration_ms": 3.794813000013164, "success": true, - "started_at_unix": 1789970975.1429956, + "started_at_unix": 1790057278.2978148, "bytes_sent": 313, "bytes_received": 62, "request_id": 323, @@ -42088,9 +42116,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.028719000009005, + "duration_ms": 0.3207490000249891, "success": true, - "started_at_unix": 1789970975.1468725, + "started_at_unix": 1790057278.3016644, "bytes_sent": 312, "bytes_received": 883, "request_id": 324, @@ -42119,9 +42147,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.846812000001364, + "duration_ms": 1.5787600000294333, "success": true, - "started_at_unix": 1789970975.1490285, + "started_at_unix": 1790057278.302117, "bytes_sent": 313, "bytes_received": 62, "request_id": 325, @@ -42149,9 +42177,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 3.8948650000065754, + "duration_ms": 3.956964999986212, "success": true, - "started_at_unix": 1789970975.151921, + "started_at_unix": 1790057278.3037405, "bytes_sent": 313, "bytes_received": 366, "request_id": 326, @@ -42180,9 +42208,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 1.9617439999990438, + "duration_ms": 1.8895219999990331, "success": true, - "started_at_unix": 1789970975.1559262, + "started_at_unix": 1790057278.3078053, "bytes_sent": 313, "bytes_received": 366, "request_id": 327, @@ -42211,9 +42239,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.9196280000007846, + "duration_ms": 2.9154189999758273, "success": true, - "started_at_unix": 1789970975.1579916, + "started_at_unix": 1790057278.3097947, "bytes_sent": 313, "bytes_received": 883, "request_id": 328, @@ -42242,9 +42270,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 5.809630000015886, + "duration_ms": 5.833542999994279, "success": true, - "started_at_unix": 1789970975.1610746, + "started_at_unix": 1790057278.3128774, "bytes_sent": 313, "bytes_received": 358, "request_id": 329, @@ -42273,9 +42301,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 3.827898999986701, + "duration_ms": 5.7925060000343365, "success": true, - "started_at_unix": 1789970975.1669893, + "started_at_unix": 1790057278.3188155, "bytes_sent": 313, "bytes_received": 360, "request_id": 330, @@ -42304,9 +42332,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 1.956033999988449, + "duration_ms": 2.9944460000024264, "success": true, - "started_at_unix": 1789970975.1709156, + "started_at_unix": 1790057278.3247025, "bytes_sent": 313, "bytes_received": 366, "request_id": 331, @@ -42335,9 +42363,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.997383000007403, + "duration_ms": 5.77834000000621, "success": true, - "started_at_unix": 1789970975.1730018, + "started_at_unix": 1790057278.3278298, "bytes_sent": 314, "bytes_received": 3532, "request_id": 332, @@ -42366,9 +42394,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.5532559999987825, + "duration_ms": 2.7694759999690177, "success": true, - "started_at_unix": 1789970975.176366, + "started_at_unix": 1790057278.3339686, "bytes_sent": 315, "bytes_received": 1282, "request_id": 333, @@ -42397,9 +42425,9 @@ { "kind": "request", "method": "typeServer/semanticTokens", - "duration_ms": 50.37562699999398, + "duration_ms": 54.4667210000398, "success": true, - "started_at_unix": 1789970975.179276, + "started_at_unix": 1790057278.3371172, "bytes_sent": 0, "bytes_received": 0, "request_id": "local-355", @@ -42430,9 +42458,9 @@ { "kind": "request", "method": "typeServer/getSnapshot", - "duration_ms": 2.330379999989418, + "duration_ms": 2.310768000029384, "success": true, - "started_at_unix": 1789970975.179537, + "started_at_unix": 1790057278.3373833, "bytes_sent": 82, "bytes_received": 59, "request_id": 334, @@ -42454,9 +42482,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.1663340000088738, + "duration_ms": 2.966454999977941, "success": true, - "started_at_unix": 1789970975.1827102, + "started_at_unix": 1790057278.3406527, "bytes_sent": 313, "bytes_received": 377, "request_id": 335, @@ -42485,9 +42513,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.9209209999976338, + "duration_ms": 1.990661000036198, "success": true, - "started_at_unix": 1789970975.184972, + "started_at_unix": 1790057278.3437164, "bytes_sent": 313, "bytes_received": 360, "request_id": 336, @@ -42516,9 +42544,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.91814499999532, + "duration_ms": 2.8909339999927397, "success": true, - "started_at_unix": 1789970975.1880136, + "started_at_unix": 1790057278.3458283, "bytes_sent": 313, "bytes_received": 657, "request_id": 337, @@ -42547,9 +42575,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.8358120000007148, + "duration_ms": 5.736091000017041, "success": true, - "started_at_unix": 1789970975.1910768, + "started_at_unix": 1790057278.3488715, "bytes_sent": 313, "bytes_received": 366, "request_id": 338, @@ -42578,9 +42606,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 3.847405999977127, + "duration_ms": 5.908583999996608, "success": true, - "started_at_unix": 1789970975.1940107, + "started_at_unix": 1790057278.3547003, "bytes_sent": 313, "bytes_received": 358, "request_id": 339, @@ -42609,9 +42637,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 1.8993170000101145, + "duration_ms": 2.9709130000128425, "success": true, - "started_at_unix": 1789970975.1979673, + "started_at_unix": 1790057278.3607185, "bytes_sent": 313, "bytes_received": 62, "request_id": 340, @@ -42639,9 +42667,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.996821000010641, + "duration_ms": 5.866674999992938, "success": true, - "started_at_unix": 1789970975.199919, + "started_at_unix": 1790057278.3637412, "bytes_sent": 312, "bytes_received": 883, "request_id": 341, @@ -42670,9 +42698,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 5.7657190000099945, + "duration_ms": 2.9521580000277936, "success": true, - "started_at_unix": 1789970975.2030494, + "started_at_unix": 1790057278.3697388, "bytes_sent": 313, "bytes_received": 62, "request_id": 342, @@ -42700,9 +42728,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 3.9361910000081934, + "duration_ms": 2.9513769999880424, "success": true, - "started_at_unix": 1789970975.2088625, + "started_at_unix": 1790057278.372735, "bytes_sent": 313, "bytes_received": 366, "request_id": 343, @@ -42731,9 +42759,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 4.890168000002859, + "duration_ms": 2.908025000010639, "success": true, - "started_at_unix": 1789970975.2129092, + "started_at_unix": 1790057278.3757927, "bytes_sent": 313, "bytes_received": 366, "request_id": 344, @@ -42762,9 +42790,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 3.029263000001947, + "duration_ms": 2.9224310000017795, "success": true, - "started_at_unix": 1789970975.2178953, + "started_at_unix": 1790057278.378809, "bytes_sent": 313, "bytes_received": 883, "request_id": 345, @@ -42793,9 +42821,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 5.700096999987636, + "duration_ms": 5.711145000020679, "success": true, - "started_at_unix": 1789970975.2210994, + "started_at_unix": 1790057278.381899, "bytes_sent": 313, "bytes_received": 358, "request_id": 346, @@ -42824,9 +42852,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.8822980000029474, + "duration_ms": 2.992774000006193, "success": true, - "started_at_unix": 1789970975.2268956, + "started_at_unix": 1790057278.3877184, "bytes_sent": 313, "bytes_received": 360, "request_id": 347, @@ -42855,9 +42883,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 3.0177709999748004, + "duration_ms": 5.792276000022412, "success": true, - "started_at_unix": 1789970975.2298644, + "started_at_unix": 1790057278.390816, "bytes_sent": 313, "bytes_received": 366, "request_id": 348, @@ -42886,9 +42914,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 5.987732000022561, + "duration_ms": 3.054028000008202, "success": true, - "started_at_unix": 1789970975.2330167, + "started_at_unix": 1790057278.3967505, "bytes_sent": 314, "bytes_received": 3532, "request_id": 349, @@ -42917,9 +42945,9 @@ { "kind": "request", "method": "typeServer/getComputedType", - "duration_ms": 2.5678730000038286, + "duration_ms": 2.5678000000084467, "success": true, - "started_at_unix": 1789970975.239371, + "started_at_unix": 1790057278.4001708, "bytes_sent": 315, "bytes_received": 1282, "request_id": 350, @@ -42948,9 +42976,9 @@ { "kind": "request", "method": "typeServer/semanticTokens", - "duration_ms": 60.41100799998844, + "duration_ms": 63.34023600004457, "success": true, - "started_at_unix": 1789970975.242314, + "started_at_unix": 1790057278.4030766, "bytes_sent": 0, "bytes_received": 0, "request_id": "local-373", @@ -42981,9 +43009,9 @@ { "kind": "notification", "method": "textDocument/didClose", - "duration_ms": 2.9511760000104914, + "duration_ms": 0.053270000023530883, "success": true, - "started_at_unix": 1789970975.2428384, + "started_at_unix": 1790057278.4035447, "bytes_sent": 219, "bytes_received": 0, "request_id": null, @@ -42996,9 +43024,9 @@ { "kind": "notification", "method": "textDocument/didClose", - "duration_ms": 0.032951000008552, + "duration_ms": 0.02044799998657254, "success": true, - "started_at_unix": 1789970975.2458003, + "started_at_unix": 1790057278.403606, "bytes_sent": 225, "bytes_received": 0, "request_id": null, @@ -43011,9 +43039,9 @@ { "kind": "notification", "method": "textDocument/didClose", - "duration_ms": 0.018253999996886705, + "duration_ms": 0.015287999985957867, "success": true, - "started_at_unix": 1789970975.2458394, + "started_at_unix": 1790057278.4036317, "bytes_sent": 219, "bytes_received": 0, "request_id": null, @@ -43026,9 +43054,9 @@ { "kind": "request", "method": "shutdown", - "duration_ms": 2.016886999996359, + "duration_ms": 2.0332200000439116, "success": true, - "started_at_unix": 1789970975.2458663, + "started_at_unix": 1790057278.403655, "bytes_sent": 68, "bytes_received": 62, "request_id": 351, @@ -43046,9 +43074,9 @@ { "kind": "notification", "method": "exit", - "duration_ms": 0.8951769999896442, + "duration_ms": 0.02832299998090093, "success": true, - "started_at_unix": 1789970975.2479036, + "started_at_unix": 1790057278.4057078, "bytes_sent": 55, "bytes_received": 0, "request_id": null, @@ -43070,7 +43098,7 @@ "environment_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/web/.venv", "python_executable": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/web/.venv/bin/python", "success": true, - "total_duration_ms": 953.6589980000088, + "total_duration_ms": 901.8292869999982, "error_message": null, "summary": { "request_count": 32, @@ -43079,11 +43107,11 @@ "failure_count": 0, "bytes_sent": 18386, "bytes_received": 809009, - "min_ms": 0.14848999998662293, - "max_ms": 258.4873650000077, - "mean_ms": 26.798720750003113, - "median_ms": 1.5995389999972076, - "p95_ms": 210.051073999999, + "min_ms": 0.20148699996980213, + "max_ms": 260.6028790000323, + "mean_ms": 25.751479000007294, + "median_ms": 2.5295235000157845, + "p95_ms": 206.302521300006, "result_summary": { "present_count": 31, "empty_count": 1, @@ -43139,27 +43167,27 @@ "by_method": { "textDocument/completion": { "point_count": 2, - "min_ms": 0.6116600000041217, - "max_ms": 228.6441979999836, - "mean_ms": 37.35230940000065, - "median_ms": 14.585181000001057, - "p95_ms": 146.95593425000035 + "min_ms": 0.5642879999641082, + "max_ms": 225.65741400001116, + "mean_ms": 31.23576150001668, + "median_ms": 7.786550500014755, + "p95_ms": 136.91990925001656 }, "textDocument/hover": { "point_count": 2, - "min_ms": 0.21527100000184873, - "max_ms": 5.4489690000139035, - "mean_ms": 1.2984103999997387, - "median_ms": 0.9360889999925348, - "p95_ms": 3.731436450000554 + "min_ms": 0.20148699996980213, + "max_ms": 22.7823669999907, + "mean_ms": 4.227205799998046, + "median_ms": 1.4958305000050132, + "p95_ms": 14.98541050000595 }, "textDocument/references": { "point_count": 1, - "min_ms": 0.31666000000996064, - "max_ms": 0.36476899998660883, - "mean_ms": 0.33641860000557244, - "median_ms": 0.3378789999999299, - "p95_ms": 0.36063939999166905 + "min_ms": 0.29938900001980073, + "max_ms": 0.3365489999964666, + "mean_ms": 0.31667180001022643, + "median_ms": 0.32214200001590143, + "p95_ms": 0.33439300000281946 } }, "validation": { @@ -43185,11 +43213,11 @@ "failure_count": 0, "bytes_sent": 1360, "bytes_received": 654049, - "min_ms": 24.128681000007646, - "max_ms": 228.6441979999836, - "mean_ms": 70.8143046000032, - "median_ms": 29.033216000016182, - "p95_ms": 192.3383029999911, + "min_ms": 10.863744999994651, + "max_ms": 225.65741400001116, + "mean_ms": 59.6390764000148, + "median_ms": 22.25722000002861, + "p95_ms": 186.21852300001362, "result_summary": { "present_count": 5, "empty_count": 0, @@ -43249,9 +43277,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 194.83851800001162, + "duration_ms": 190.46670000000177, "success": true, - "started_at_unix": 1789970975.2818549, + "started_at_unix": 1790057278.4383693, "bytes_sent": 272, "bytes_received": 65393, "request_id": 2, @@ -43279,9 +43307,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 228.6441979999836, + "duration_ms": 225.65741400001116, "success": true, - "started_at_unix": 1789970975.4798033, + "started_at_unix": 1790057278.6304579, "bytes_sent": 272, "bytes_received": 130597, "request_id": 3, @@ -43309,9 +43337,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 29.033216000016182, + "duration_ms": 22.25722000002861, "success": true, - "started_at_unix": 1789970975.723815, + "started_at_unix": 1790057278.8746703, "bytes_sent": 272, "bytes_received": 130863, "request_id": 4, @@ -43339,9 +43367,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 47.114723000021286, + "duration_ms": 28.462959000023602, "success": true, - "started_at_unix": 1789970975.7716892, + "started_at_unix": 1790057278.914258, "bytes_sent": 272, "bytes_received": 130863, "request_id": 5, @@ -43369,9 +43397,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 24.128681000007646, + "duration_ms": 10.954044000015983, "success": true, - "started_at_unix": 1789970975.8316805, + "started_at_unix": 1790057278.9521425, "bytes_sent": 272, "bytes_received": 130863, "request_id": 6, @@ -43399,9 +43427,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 25.150704999987283, + "duration_ms": 10.863744999994651, "success": true, - "started_at_unix": 1789970975.87467, + "started_at_unix": 1790057278.9722679, "bytes_sent": 272, "bytes_received": 130863, "request_id": 7, @@ -43444,11 +43472,11 @@ "failure_count": 0, "bytes_sent": 1204, "bytes_received": 1504, - "min_ms": 0.21527100000184873, - "max_ms": 0.3300449999983357, - "mean_ms": 0.24840279999693848, - "median_ms": 0.22610100000974853, - "p95_ms": 0.3142215999957898, + "min_ms": 0.20148699996980213, + "max_ms": 22.7823669999907, + "mean_ms": 5.3829411999913646, + "median_ms": 0.2331560000357058, + "p95_ms": 18.923540399987356, "result_summary": { "present_count": 5, "empty_count": 0, @@ -43508,9 +43536,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 258.4873650000077, + "duration_ms": 260.6028790000323, "success": true, - "started_at_unix": 1789970975.9133842, + "started_at_unix": 1790057278.9923403, "bytes_sent": 240, "bytes_received": 300, "request_id": 8, @@ -43538,9 +43566,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.3300449999983357, + "duration_ms": 22.7823669999907, "success": true, - "started_at_unix": 1789970976.1719465, + "started_at_unix": 1790057279.2530165, "bytes_sent": 240, "bytes_received": 300, "request_id": 9, @@ -43568,9 +43596,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.22610100000974853, + "duration_ms": 3.4882339999739997, "success": true, - "started_at_unix": 1789970976.1723287, + "started_at_unix": 1790057279.2759047, "bytes_sent": 241, "bytes_received": 301, "request_id": 10, @@ -43598,9 +43626,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.2509279999856062, + "duration_ms": 0.2331560000357058, "success": true, - "started_at_unix": 1789970976.172602, + "started_at_unix": 1790057279.2794576, "bytes_sent": 241, "bytes_received": 301, "request_id": 11, @@ -43628,9 +43656,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.21527100000184873, + "duration_ms": 0.2094619999866154, "success": true, - "started_at_unix": 1789970976.1729085, + "started_at_unix": 1790057279.2797418, "bytes_sent": 241, "bytes_received": 301, "request_id": 12, @@ -43658,9 +43686,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.21966899998915324, + "duration_ms": 0.20148699996980213, "success": true, - "started_at_unix": 1789970976.1731677, + "started_at_unix": 1790057279.2799969, "bytes_sent": 241, "bytes_received": 301, "request_id": 13, @@ -43703,11 +43731,11 @@ "failure_count": 0, "bytes_sent": 1420, "bytes_received": 2045, - "min_ms": 0.31666000000996064, - "max_ms": 0.36476899998660883, - "mean_ms": 0.33641860000557244, - "median_ms": 0.3378789999999299, - "p95_ms": 0.36063939999166905, + "min_ms": 0.29938900001980073, + "max_ms": 0.3365489999964666, + "mean_ms": 0.31667180001022643, + "median_ms": 0.32214200001590143, + "p95_ms": 0.33439300000281946, "result_summary": { "present_count": 5, "empty_count": 0, @@ -43767,9 +43795,9 @@ { "kind": "request", "method": "textDocument/references", - "duration_ms": 0.4765480000230582, + "duration_ms": 0.4094550000104391, "success": true, - "started_at_unix": 1789970976.1735206, + "started_at_unix": 1790057279.2803326, "bytes_sent": 284, "bytes_received": 409, "request_id": 14, @@ -43797,9 +43825,9 @@ { "kind": "request", "method": "textDocument/references", - "duration_ms": 0.3378789999999299, + "duration_ms": 0.3365489999964666, "success": true, - "started_at_unix": 1789970976.1740468, + "started_at_unix": 1790057279.2807913, "bytes_sent": 284, "bytes_received": 409, "request_id": 15, @@ -43827,9 +43855,9 @@ { "kind": "request", "method": "textDocument/references", - "duration_ms": 0.3441210000119099, + "duration_ms": 0.29938900001980073, "success": true, - "started_at_unix": 1789970976.1744454, + "started_at_unix": 1790057279.2811866, "bytes_sent": 284, "bytes_received": 409, "request_id": 16, @@ -43857,9 +43885,9 @@ { "kind": "request", "method": "textDocument/references", - "duration_ms": 0.31866400001945294, + "duration_ms": 0.32214200001590143, "success": true, - "started_at_unix": 1789970976.174847, + "started_at_unix": 1790057279.281543, "bytes_sent": 284, "bytes_received": 409, "request_id": 17, @@ -43887,9 +43915,9 @@ { "kind": "request", "method": "textDocument/references", - "duration_ms": 0.31666000000996064, + "duration_ms": 0.29950999999073247, "success": true, - "started_at_unix": 1789970976.1752229, + "started_at_unix": 1790057279.2819202, "bytes_sent": 284, "bytes_received": 409, "request_id": 18, @@ -43917,9 +43945,9 @@ { "kind": "request", "method": "textDocument/references", - "duration_ms": 0.36476899998660883, + "duration_ms": 0.32576900002823095, "success": true, - "started_at_unix": 1789970976.1755955, + "started_at_unix": 1790057279.282275, "bytes_sent": 284, "bytes_received": 409, "request_id": 19, @@ -43962,11 +43990,11 @@ "failure_count": 0, "bytes_sent": 1370, "bytes_received": 19240, - "min_ms": 0.6116600000041217, - "max_ms": 5.041680999994469, - "mean_ms": 3.8903141999981017, - "median_ms": 4.583517000014581, - "p95_ms": 5.023072199992384, + "min_ms": 0.5642879999641082, + "max_ms": 4.709356000034859, + "mean_ms": 2.8324466000185566, + "median_ms": 4.0954849999934595, + "p95_ms": 4.603813200037621, "result_summary": { "present_count": 5, "empty_count": 0, @@ -44026,9 +44054,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 3.597961000025407, + "duration_ms": 2.8841310000302656, "success": true, - "started_at_unix": 1789970976.1762023, + "started_at_unix": 1790057279.2828364, "bytes_sent": 274, "bytes_received": 3848, "request_id": 20, @@ -44056,9 +44084,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.948636999984046, + "duration_ms": 4.709356000034859, "success": true, - "started_at_unix": 1789970976.179998, + "started_at_unix": 1790057279.2859156, "bytes_sent": 274, "bytes_received": 3848, "request_id": 21, @@ -44086,9 +44114,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 5.041680999994469, + "duration_ms": 4.181642000048669, "success": true, - "started_at_unix": 1789970976.1852188, + "started_at_unix": 1790057279.2909093, "bytes_sent": 274, "bytes_received": 3848, "request_id": 22, @@ -44116,9 +44144,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 0.6116600000041217, + "duration_ms": 0.6114620000516879, "success": true, - "started_at_unix": 1789970976.190498, + "started_at_unix": 1790057279.295296, "bytes_sent": 274, "bytes_received": 3848, "request_id": 23, @@ -44146,9 +44174,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.583517000014581, + "duration_ms": 0.5642879999641082, "success": true, - "started_at_unix": 1789970976.191353, + "started_at_unix": 1790057279.2961314, "bytes_sent": 274, "bytes_received": 3848, "request_id": 24, @@ -44176,9 +44204,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.266075999993291, + "duration_ms": 4.0954849999934595, "success": true, - "started_at_unix": 1789970976.1961749, + "started_at_unix": 1790057279.29693, "bytes_sent": 274, "bytes_received": 3848, "request_id": 25, @@ -44221,11 +44249,11 @@ "failure_count": 0, "bytes_sent": 1205, "bytes_received": 50705, - "min_ms": 1.542132999986734, - "max_ms": 5.4489690000139035, - "mean_ms": 2.348418000002539, - "median_ms": 1.566848000010168, - "p95_ms": 4.685621200007971, + "min_ms": 1.490395000018907, + "max_ms": 5.455797000024631, + "mean_ms": 3.0714704000047277, + "median_ms": 1.4989210000067033, + "p95_ms": 5.44853740001372, "result_summary": { "present_count": 5, "empty_count": 0, @@ -44285,9 +44313,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 9.557962000002362, + "duration_ms": 9.602256999983183, "success": true, - "started_at_unix": 1789970976.2009647, + "started_at_unix": 1790057279.301495, "bytes_sent": 241, "bytes_received": 10141, "request_id": 26, @@ -44315,9 +44343,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 1.6322299999842471, + "duration_ms": 5.455797000024631, "success": true, - "started_at_unix": 1789970976.2107139, + "started_at_unix": 1790057279.3113084, "bytes_sent": 241, "bytes_received": 10141, "request_id": 27, @@ -44345,9 +44373,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 1.566848000010168, + "duration_ms": 1.4989210000067033, "success": true, - "started_at_unix": 1789970976.2125576, + "started_at_unix": 1790057279.3169575, "bytes_sent": 241, "bytes_received": 10141, "request_id": 28, @@ -44375,9 +44403,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 5.4489690000139035, + "duration_ms": 5.419498999970074, "success": true, - "started_at_unix": 1789970976.2143116, + "started_at_unix": 1790057279.318661, "bytes_sent": 241, "bytes_received": 10141, "request_id": 29, @@ -44405,9 +44433,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 1.5519100000176422, + "duration_ms": 1.492740000003323, "success": true, - "started_at_unix": 1789970976.2199945, + "started_at_unix": 1790057279.3242767, "bytes_sent": 241, "bytes_received": 10141, "request_id": 30, @@ -44435,9 +44463,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 1.542132999986734, + "duration_ms": 1.490395000018907, "success": true, - "started_at_unix": 1789970976.221732, + "started_at_unix": 1790057279.3259504, "bytes_sent": 241, "bytes_received": 10141, "request_id": 31, @@ -44469,9 +44497,9 @@ { "kind": "request", "method": "initialize", - "duration_ms": 2.262929000011127, + "duration_ms": 2.1749160000013035, "success": true, - "started_at_unix": 1789970975.279277, + "started_at_unix": 1790057278.4359126, "bytes_sent": 646, "bytes_received": 1314, "request_id": 1, @@ -44490,9 +44518,9 @@ { "kind": "notification", "method": "initialized", - "duration_ms": 0.021729999986064286, + "duration_ms": 0.02110899998797322, "success": true, - "started_at_unix": 1789970975.281625, + "started_at_unix": 1790057278.438172, "bytes_sent": 74, "bytes_received": 0, "request_id": null, @@ -44505,9 +44533,9 @@ { "kind": "notification", "method": "workspace/didChangeConfiguration", - "duration_ms": 0.015418000003819543, + "duration_ms": 0.014888000009705138, "success": true, - "started_at_unix": 1789970975.281668, + "started_at_unix": 1790057278.4382138, "bytes_sent": 623, "bytes_received": 0, "request_id": null, @@ -44523,9 +44551,9 @@ { "kind": "notification", "method": "textDocument/didOpen", - "duration_ms": 0.021048999997219653, + "duration_ms": 0.021419999995941907, "success": true, - "started_at_unix": 1789970975.281799, + "started_at_unix": 1790057278.4383144, "bytes_sent": 539, "bytes_received": 0, "request_id": null, @@ -44541,9 +44569,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 194.83851800001162, + "duration_ms": 190.46670000000177, "success": true, - "started_at_unix": 1789970975.2818549, + "started_at_unix": 1790057278.4383693, "bytes_sent": 272, "bytes_received": 65393, "request_id": 2, @@ -44571,9 +44599,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 228.6441979999836, + "duration_ms": 225.65741400001116, "success": true, - "started_at_unix": 1789970975.4798033, + "started_at_unix": 1790057278.6304579, "bytes_sent": 272, "bytes_received": 130597, "request_id": 3, @@ -44601,9 +44629,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 29.033216000016182, + "duration_ms": 22.25722000002861, "success": true, - "started_at_unix": 1789970975.723815, + "started_at_unix": 1790057278.8746703, "bytes_sent": 272, "bytes_received": 130863, "request_id": 4, @@ -44631,9 +44659,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 47.114723000021286, + "duration_ms": 28.462959000023602, "success": true, - "started_at_unix": 1789970975.7716892, + "started_at_unix": 1790057278.914258, "bytes_sent": 272, "bytes_received": 130863, "request_id": 5, @@ -44661,9 +44689,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 24.128681000007646, + "duration_ms": 10.954044000015983, "success": true, - "started_at_unix": 1789970975.8316805, + "started_at_unix": 1790057278.9521425, "bytes_sent": 272, "bytes_received": 130863, "request_id": 6, @@ -44691,9 +44719,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 25.150704999987283, + "duration_ms": 10.863744999994651, "success": true, - "started_at_unix": 1789970975.87467, + "started_at_unix": 1790057278.9722679, "bytes_sent": 272, "bytes_received": 130863, "request_id": 7, @@ -44721,9 +44749,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 258.4873650000077, + "duration_ms": 260.6028790000323, "success": true, - "started_at_unix": 1789970975.9133842, + "started_at_unix": 1790057278.9923403, "bytes_sent": 240, "bytes_received": 300, "request_id": 8, @@ -44751,9 +44779,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.3300449999983357, + "duration_ms": 22.7823669999907, "success": true, - "started_at_unix": 1789970976.1719465, + "started_at_unix": 1790057279.2530165, "bytes_sent": 240, "bytes_received": 300, "request_id": 9, @@ -44781,9 +44809,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.22610100000974853, + "duration_ms": 3.4882339999739997, "success": true, - "started_at_unix": 1789970976.1723287, + "started_at_unix": 1790057279.2759047, "bytes_sent": 241, "bytes_received": 301, "request_id": 10, @@ -44811,9 +44839,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.2509279999856062, + "duration_ms": 0.2331560000357058, "success": true, - "started_at_unix": 1789970976.172602, + "started_at_unix": 1790057279.2794576, "bytes_sent": 241, "bytes_received": 301, "request_id": 11, @@ -44841,9 +44869,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.21527100000184873, + "duration_ms": 0.2094619999866154, "success": true, - "started_at_unix": 1789970976.1729085, + "started_at_unix": 1790057279.2797418, "bytes_sent": 241, "bytes_received": 301, "request_id": 12, @@ -44871,9 +44899,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.21966899998915324, + "duration_ms": 0.20148699996980213, "success": true, - "started_at_unix": 1789970976.1731677, + "started_at_unix": 1790057279.2799969, "bytes_sent": 241, "bytes_received": 301, "request_id": 13, @@ -44901,9 +44929,9 @@ { "kind": "request", "method": "textDocument/references", - "duration_ms": 0.4765480000230582, + "duration_ms": 0.4094550000104391, "success": true, - "started_at_unix": 1789970976.1735206, + "started_at_unix": 1790057279.2803326, "bytes_sent": 284, "bytes_received": 409, "request_id": 14, @@ -44931,9 +44959,9 @@ { "kind": "request", "method": "textDocument/references", - "duration_ms": 0.3378789999999299, + "duration_ms": 0.3365489999964666, "success": true, - "started_at_unix": 1789970976.1740468, + "started_at_unix": 1790057279.2807913, "bytes_sent": 284, "bytes_received": 409, "request_id": 15, @@ -44961,9 +44989,9 @@ { "kind": "request", "method": "textDocument/references", - "duration_ms": 0.3441210000119099, + "duration_ms": 0.29938900001980073, "success": true, - "started_at_unix": 1789970976.1744454, + "started_at_unix": 1790057279.2811866, "bytes_sent": 284, "bytes_received": 409, "request_id": 16, @@ -44991,9 +45019,9 @@ { "kind": "request", "method": "textDocument/references", - "duration_ms": 0.31866400001945294, + "duration_ms": 0.32214200001590143, "success": true, - "started_at_unix": 1789970976.174847, + "started_at_unix": 1790057279.281543, "bytes_sent": 284, "bytes_received": 409, "request_id": 17, @@ -45021,9 +45049,9 @@ { "kind": "request", "method": "textDocument/references", - "duration_ms": 0.31666000000996064, + "duration_ms": 0.29950999999073247, "success": true, - "started_at_unix": 1789970976.1752229, + "started_at_unix": 1790057279.2819202, "bytes_sent": 284, "bytes_received": 409, "request_id": 18, @@ -45051,9 +45079,9 @@ { "kind": "request", "method": "textDocument/references", - "duration_ms": 0.36476899998660883, + "duration_ms": 0.32576900002823095, "success": true, - "started_at_unix": 1789970976.1755955, + "started_at_unix": 1790057279.282275, "bytes_sent": 284, "bytes_received": 409, "request_id": 19, @@ -45081,9 +45109,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.031487999990531534, + "duration_ms": 0.02708100004156222, "success": true, - "started_at_unix": 1789970976.1761575, + "started_at_unix": 1790057279.2828, "bytes_sent": 374, "bytes_received": 0, "request_id": null, @@ -45100,9 +45128,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 3.597961000025407, + "duration_ms": 2.8841310000302656, "success": true, - "started_at_unix": 1789970976.1762023, + "started_at_unix": 1790057279.2828364, "bytes_sent": 274, "bytes_received": 3848, "request_id": 20, @@ -45130,9 +45158,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02733100001250932, + "duration_ms": 0.027551000016501348, "success": true, - "started_at_unix": 1789970976.1799173, + "started_at_unix": 1790057279.28584, "bytes_sent": 318, "bytes_received": 0, "request_id": null, @@ -45149,9 +45177,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03013599999235339, + "duration_ms": 0.02748200000723955, "success": true, - "started_at_unix": 1789970976.1799555, + "started_at_unix": 1790057279.2858765, "bytes_sent": 374, "bytes_received": 0, "request_id": null, @@ -45168,9 +45196,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.948636999984046, + "duration_ms": 4.709356000034859, "success": true, - "started_at_unix": 1789970976.179998, + "started_at_unix": 1790057279.2859156, "bytes_sent": 274, "bytes_received": 3848, "request_id": 21, @@ -45198,9 +45226,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.028272000008655596, + "duration_ms": 0.028183000040371553, "success": true, - "started_at_unix": 1789970976.185137, + "started_at_unix": 1790057279.290821, "bytes_sent": 318, "bytes_received": 0, "request_id": null, @@ -45217,9 +45245,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.029334999993579913, + "duration_ms": 0.03462400002263166, "success": true, - "started_at_unix": 1789970976.185177, + "started_at_unix": 1790057279.290861, "bytes_sent": 374, "bytes_received": 0, "request_id": null, @@ -45236,9 +45264,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 5.041680999994469, + "duration_ms": 4.181642000048669, "success": true, - "started_at_unix": 1789970976.1852188, + "started_at_unix": 1790057279.2909093, "bytes_sent": 274, "bytes_received": 3848, "request_id": 22, @@ -45266,9 +45294,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02706000000785025, + "duration_ms": 0.021681000021089858, "success": true, - "started_at_unix": 1789970976.1904237, + "started_at_unix": 1790057279.295246, "bytes_sent": 318, "bytes_received": 0, "request_id": null, @@ -45285,9 +45313,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.024115000002211673, + "duration_ms": 0.01357599995799319, "success": true, - "started_at_unix": 1789970976.1904619, + "started_at_unix": 1790057279.2952752, "bytes_sent": 374, "bytes_received": 0, "request_id": null, @@ -45304,9 +45332,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 0.6116600000041217, + "duration_ms": 0.6114620000516879, "success": true, - "started_at_unix": 1789970976.190498, + "started_at_unix": 1790057279.295296, "bytes_sent": 274, "bytes_received": 3848, "request_id": 23, @@ -45334,9 +45362,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.025456999992456986, + "duration_ms": 0.021841000034328317, "success": true, - "started_at_unix": 1789970976.1912773, + "started_at_unix": 1790057279.2960765, "bytes_sent": 318, "bytes_received": 0, "request_id": null, @@ -45353,9 +45381,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02839300000800904, + "duration_ms": 0.012453000010737014, "success": true, - "started_at_unix": 1789970976.1913128, + "started_at_unix": 1790057279.2961056, "bytes_sent": 375, "bytes_received": 0, "request_id": null, @@ -45372,9 +45400,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.583517000014581, + "duration_ms": 0.5642879999641082, "success": true, - "started_at_unix": 1789970976.191353, + "started_at_unix": 1790057279.2961314, "bytes_sent": 274, "bytes_received": 3848, "request_id": 24, @@ -45402,9 +45430,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02723099999002443, + "duration_ms": 0.02589799998986564, "success": true, - "started_at_unix": 1789970976.1960948, + "started_at_unix": 1790057279.29685, "bytes_sent": 319, "bytes_received": 0, "request_id": null, @@ -45421,9 +45449,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02947499999095271, + "duration_ms": 0.02998700000489407, "success": true, - "started_at_unix": 1789970976.196133, + "started_at_unix": 1790057279.2968864, "bytes_sent": 375, "bytes_received": 0, "request_id": null, @@ -45440,9 +45468,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.266075999993291, + "duration_ms": 4.0954849999934595, "success": true, - "started_at_unix": 1789970976.1961749, + "started_at_unix": 1790057279.29693, "bytes_sent": 274, "bytes_received": 3848, "request_id": 25, @@ -45470,9 +45498,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.027370999987397227, + "duration_ms": 0.027120999959606706, "success": true, - "started_at_unix": 1789970976.2006311, + "started_at_unix": 1790057279.3012028, "bytes_sent": 319, "bytes_received": 0, "request_id": null, @@ -45489,9 +45517,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.04105700000422985, + "duration_ms": 0.03716899999517409, "success": true, - "started_at_unix": 1789970976.200909, + "started_at_unix": 1790057279.3014436, "bytes_sent": 374, "bytes_received": 0, "request_id": null, @@ -45508,9 +45536,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 9.557962000002362, + "duration_ms": 9.602256999983183, "success": true, - "started_at_unix": 1789970976.2009647, + "started_at_unix": 1790057279.301495, "bytes_sent": 241, "bytes_received": 10141, "request_id": 26, @@ -45538,9 +45566,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.030826999989130854, + "duration_ms": 0.035146000016084145, "success": true, - "started_at_unix": 1789970976.2106452, + "started_at_unix": 1790057279.3112097, "bytes_sent": 319, "bytes_received": 0, "request_id": null, @@ -45557,9 +45585,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.018173999990267475, + "duration_ms": 0.036207999983162154, "success": true, - "started_at_unix": 1789970976.2106867, + "started_at_unix": 1790057279.311258, "bytes_sent": 374, "bytes_received": 0, "request_id": null, @@ -45576,9 +45604,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 1.6322299999842471, + "duration_ms": 5.455797000024631, "success": true, - "started_at_unix": 1789970976.2107139, + "started_at_unix": 1790057279.3113084, "bytes_sent": 241, "bytes_received": 10141, "request_id": 27, @@ -45606,9 +45634,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.021250000003192326, + "duration_ms": 0.02252199999475124, "success": true, - "started_at_unix": 1789970976.2125084, + "started_at_unix": 1790057279.3169057, "bytes_sent": 319, "bytes_received": 0, "request_id": null, @@ -45625,9 +45653,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.013455000015483165, + "duration_ms": 0.014136999993752397, "success": true, - "started_at_unix": 1789970976.2125373, + "started_at_unix": 1790057279.3169365, "bytes_sent": 374, "bytes_received": 0, "request_id": null, @@ -45644,9 +45672,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 1.566848000010168, + "duration_ms": 1.4989210000067033, "success": true, - "started_at_unix": 1789970976.2125576, + "started_at_unix": 1790057279.3169575, "bytes_sent": 241, "bytes_received": 10141, "request_id": 28, @@ -45674,9 +45702,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.022631999996747254, + "duration_ms": 0.021601000014470628, "success": true, - "started_at_unix": 1789970976.2142627, + "started_at_unix": 1790057279.3186123, "bytes_sent": 319, "bytes_received": 0, "request_id": null, @@ -45693,9 +45721,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.01282399998103756, + "duration_ms": 0.012873999992280005, "success": true, - "started_at_unix": 1789970976.2142925, + "started_at_unix": 1790057279.3186414, "bytes_sent": 374, "bytes_received": 0, "request_id": null, @@ -45712,9 +45740,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 5.4489690000139035, + "duration_ms": 5.419498999970074, "success": true, - "started_at_unix": 1789970976.2143116, + "started_at_unix": 1790057279.318661, "bytes_sent": 241, "bytes_received": 10141, "request_id": 29, @@ -45742,9 +45770,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.024486000000933927, + "duration_ms": 0.024315000018759747, "success": true, - "started_at_unix": 1789970976.2199378, + "started_at_unix": 1790057279.3242223, "bytes_sent": 319, "bytes_received": 0, "request_id": null, @@ -45761,9 +45789,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.014596999989180404, + "duration_ms": 0.013965999983156507, "success": true, - "started_at_unix": 1789970976.2199717, + "started_at_unix": 1790057279.3242548, "bytes_sent": 374, "bytes_received": 0, "request_id": null, @@ -45780,9 +45808,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 1.5519100000176422, + "duration_ms": 1.492740000003323, "success": true, - "started_at_unix": 1789970976.2199945, + "started_at_unix": 1790057279.3242767, "bytes_sent": 241, "bytes_received": 10141, "request_id": 30, @@ -45810,9 +45838,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.021810999982108115, + "duration_ms": 0.02093900002364535, "success": true, - "started_at_unix": 1789970976.2216835, + "started_at_unix": 1790057279.3259032, "bytes_sent": 319, "bytes_received": 0, "request_id": null, @@ -45829,9 +45857,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.012373000004117785, + "duration_ms": 0.012782999988303345, "success": true, - "started_at_unix": 1789970976.2217124, + "started_at_unix": 1790057279.325931, "bytes_sent": 374, "bytes_received": 0, "request_id": null, @@ -45848,9 +45876,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 1.542132999986734, + "duration_ms": 1.490395000018907, "success": true, - "started_at_unix": 1789970976.221732, + "started_at_unix": 1790057279.3259504, "bytes_sent": 241, "bytes_received": 10141, "request_id": 31, @@ -45878,9 +45906,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.021169000007148497, + "duration_ms": 0.02210100001320825, "success": true, - "started_at_unix": 1789970976.2234046, + "started_at_unix": 1790057279.3275898, "bytes_sent": 319, "bytes_received": 0, "request_id": null, @@ -45897,9 +45925,9 @@ { "kind": "notification", "method": "textDocument/didClose", - "duration_ms": 0.027420000009215073, + "duration_ms": 0.03212100000382634, "success": true, - "started_at_unix": 1789970976.2235262, + "started_at_unix": 1790057279.3277032, "bytes_sent": 198, "bytes_received": 0, "request_id": null, @@ -45912,9 +45940,9 @@ { "kind": "request", "method": "shutdown", - "duration_ms": 0.14848999998662293, + "duration_ms": 1.693957999975737, "success": true, - "started_at_unix": 1789970976.2235644, + "started_at_unix": 1790057279.3277464, "bytes_sent": 67, "bytes_received": 61, "request_id": 32, @@ -45932,9 +45960,9 @@ { "kind": "notification", "method": "exit", - "duration_ms": 0.030186000003595836, + "duration_ms": 0.025047000008271425, "success": true, - "started_at_unix": 1789970976.2237365, + "started_at_unix": 1790057279.3294613, "bytes_sent": 55, "bytes_received": 0, "request_id": null, diff --git a/latest-results/pyright-20260921T060722Z-responses.jsonl b/latest-results/pyright-20260922T060545Z-responses.jsonl similarity index 100% rename from latest-results/pyright-20260921T060722Z-responses.jsonl rename to latest-results/pyright-20260922T060545Z-responses.jsonl diff --git a/latest-results/pyright-20260921T060722Z.json b/latest-results/pyright-20260922T060545Z.json similarity index 90% rename from latest-results/pyright-20260921T060722Z.json rename to latest-results/pyright-20260922T060545Z.json index db594ba..551e074 100644 --- a/latest-results/pyright-20260921T060722Z.json +++ b/latest-results/pyright-20260922T060545Z.json @@ -13,8 +13,8 @@ "transformers", "web" ], - "started_at_unix": 1789970842.0993817, - "finished_at_unix": 1789970933.090264, + "started_at_unix": 1790057145.2891958, + "finished_at_unix": 1790057237.3274148, "scenario_reports": [], "benchmark_reports": [ { @@ -27,7 +27,7 @@ "environment_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/data_science/.venv", "python_executable": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/data_science/.venv/bin/python", "success": true, - "total_duration_ms": 4951.6202080000085, + "total_duration_ms": 4474.1962600000425, "error_message": null, "summary": { "request_count": 32, @@ -36,11 +36,11 @@ "failure_count": 0, "bytes_sent": 18656, "bytes_received": 584995, - "min_ms": 0.3908799999976509, - "max_ms": 1785.9340460000085, - "mean_ms": 152.88041734375125, - "median_ms": 10.89826550000339, - "p95_ms": 608.817054549999, + "min_ms": 0.35197699997979726, + "max_ms": 1672.5892329999965, + "mean_ms": 138.14401525000264, + "median_ms": 8.839665499976945, + "p95_ms": 534.6625754500166, "result_summary": { "present_count": 31, "empty_count": 1, @@ -96,27 +96,27 @@ "by_method": { "textDocument/completion": { "point_count": 2, - "min_ms": 4.4636330000003, - "max_ms": 554.7966070000143, - "mean_ms": 199.92105000000322, - "median_ms": 169.27573150000796, - "p95_ms": 483.545713000005 + "min_ms": 3.2134329999848887, + "max_ms": 481.09526799999, + "mean_ms": 172.10644019999677, + "median_ms": 128.96129599999995, + "p95_ms": 428.8874767000009 }, "textDocument/hover": { "point_count": 2, - "min_ms": 0.8804619999978058, - "max_ms": 32.80972799998949, - "mean_ms": 15.499101499997892, - "median_ms": 13.644607499998074, - "p95_ms": 32.150870399998155 + "min_ms": 0.8164160000205811, + "max_ms": 36.29023700000289, + "mean_ms": 15.60430330000031, + "median_ms": 12.768008999984204, + "p95_ms": 35.47737050000421 }, "textDocument/definition": { "point_count": 1, - "min_ms": 0.3908799999976509, - "max_ms": 0.5064559999823359, - "mean_ms": 0.4416812000044956, - "median_ms": 0.42020100002559957, - "p95_ms": 0.500082999985807 + "min_ms": 0.35197699997979726, + "max_ms": 0.4543890000263673, + "mean_ms": 0.403954800003703, + "median_ms": 0.3882060000250931, + "p95_ms": 0.4536576000191417 } }, "validation": { @@ -142,11 +142,11 @@ "failure_count": 0, "bytes_sent": 1425, "bytes_received": 234150, - "min_ms": 4.4636330000003, - "max_ms": 13.583355000008623, - "mean_ms": 7.351297600001772, - "median_ms": 5.726841000011973, - "p95_ms": 12.50931920000653, + "min_ms": 3.2134329999848887, + "max_ms": 12.38599499998827, + "mean_ms": 5.845321799984049, + "median_ms": 4.970650000018395, + "p95_ms": 10.96746319998374, "result_summary": { "present_count": 5, "empty_count": 0, @@ -206,9 +206,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 1785.9340460000085, + "duration_ms": 1672.5892329999965, "success": true, - "started_at_unix": 1789970852.9454026, + "started_at_unix": 1790057156.7157276, "bytes_sent": 285, "bytes_received": 46830, "request_id": 2, @@ -236,9 +236,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 13.583355000008623, + "duration_ms": 12.38599499998827, "success": true, - "started_at_unix": 1789970854.732242, + "started_at_unix": 1790057158.3900552, "bytes_sent": 285, "bytes_received": 46830, "request_id": 3, @@ -266,9 +266,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 8.213175999998157, + "duration_ms": 5.29333599996562, "success": true, - "started_at_unix": 1789970854.7475772, + "started_at_unix": 1790057158.40406, "bytes_sent": 285, "bytes_received": 46830, "request_id": 4, @@ -296,9 +296,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.769482999989805, + "duration_ms": 4.970650000018395, "success": true, - "started_at_unix": 1789970854.7581213, + "started_at_unix": 1790057158.4106078, "bytes_sent": 285, "bytes_received": 46830, "request_id": 5, @@ -326,9 +326,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.4636330000003, + "duration_ms": 3.3631949999630706, "success": true, - "started_at_unix": 1789970854.7652214, + "started_at_unix": 1790057158.4168096, "bytes_sent": 285, "bytes_received": 46830, "request_id": 6, @@ -356,9 +356,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 5.726841000011973, + "duration_ms": 3.2134329999848887, "success": true, - "started_at_unix": 1789970854.7720814, + "started_at_unix": 1790057158.4213998, "bytes_sent": 285, "bytes_received": 46830, "request_id": 7, @@ -401,11 +401,11 @@ "failure_count": 0, "bytes_sent": 1269, "bytes_received": 21879, - "min_ms": 0.8804619999978058, - "max_ms": 1.5930389999994077, - "mean_ms": 1.1681641999985004, - "median_ms": 1.101368999997021, - "p95_ms": 1.5097159999982068, + "min_ms": 0.8164160000205811, + "max_ms": 1.3689580000004753, + "mean_ms": 1.030644200000097, + "median_ms": 0.9965329999772621, + "p95_ms": 1.3088135999964834, "result_summary": { "present_count": 5, "empty_count": 0, @@ -465,9 +465,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 71.12924500000872, + "duration_ms": 62.75551300001325, "success": true, - "started_at_unix": 1789970854.7791834, + "started_at_unix": 1790057158.4260454, "bytes_sent": 253, "bytes_received": 4375, "request_id": 8, @@ -495,9 +495,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 1.5930389999994077, + "duration_ms": 1.3689580000004753, "success": true, - "started_at_unix": 1789970854.8504379, + "started_at_unix": 1790057158.488923, "bytes_sent": 253, "bytes_received": 4375, "request_id": 9, @@ -525,9 +525,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 1.101368999997021, + "duration_ms": 1.0682359999805158, "success": true, - "started_at_unix": 1789970854.8521352, + "started_at_unix": 1790057158.4903965, "bytes_sent": 254, "bytes_received": 4376, "request_id": 10, @@ -555,9 +555,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 1.1764239999934034, + "duration_ms": 0.903078000021651, "success": true, - "started_at_unix": 1789970854.8533652, + "started_at_unix": 1790057158.491625, "bytes_sent": 254, "bytes_received": 4376, "request_id": 11, @@ -585,9 +585,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 1.089527000004864, + "duration_ms": 0.9965329999772621, "success": true, - "started_at_unix": 1789970854.8546422, + "started_at_unix": 1790057158.4926476, "bytes_sent": 254, "bytes_received": 4376, "request_id": 12, @@ -615,9 +615,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.8804619999978058, + "duration_ms": 0.8164160000205811, "success": true, - "started_at_unix": 1789970854.8558774, + "started_at_unix": 1790057158.493763, "bytes_sent": 254, "bytes_received": 4376, "request_id": 13, @@ -660,11 +660,11 @@ "failure_count": 0, "bytes_sent": 1300, "bytes_received": 1235, - "min_ms": 0.3908799999976509, - "max_ms": 0.5064559999823359, - "mean_ms": 0.4416812000044956, - "median_ms": 0.42020100002559957, - "p95_ms": 0.500082999985807, + "min_ms": 0.35197699997979726, + "max_ms": 0.4543890000263673, + "mean_ms": 0.403954800003703, + "median_ms": 0.3882060000250931, + "p95_ms": 0.4536576000191417, "result_summary": { "present_count": 5, "empty_count": 0, @@ -724,9 +724,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.2019270000109827, + "duration_ms": 1.1734730000512172, "success": true, - "started_at_unix": 1789970854.8569965, + "started_at_unix": 1790057158.4947846, "bytes_sent": 260, "bytes_received": 247, "request_id": 14, @@ -754,9 +754,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.5064559999823359, + "duration_ms": 0.4507319999902393, "success": true, - "started_at_unix": 1789970854.8582463, + "started_at_unix": 1790057158.4960046, "bytes_sent": 260, "bytes_received": 247, "request_id": 15, @@ -784,9 +784,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.4745909999996911, + "duration_ms": 0.4543890000263673, "success": true, - "started_at_unix": 1789970854.8588169, + "started_at_unix": 1790057158.4965107, "bytes_sent": 260, "bytes_received": 247, "request_id": 16, @@ -814,9 +814,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.4162780000172006, + "duration_ms": 0.374469999997018, "success": true, - "started_at_unix": 1789970854.8593445, + "started_at_unix": 1790057158.497018, "bytes_sent": 260, "bytes_received": 247, "request_id": 17, @@ -844,9 +844,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.42020100002559957, + "duration_ms": 0.3882060000250931, "success": true, - "started_at_unix": 1789970854.8598177, + "started_at_unix": 1790057158.497444, "bytes_sent": 260, "bytes_received": 247, "request_id": 18, @@ -874,9 +874,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.3908799999976509, + "duration_ms": 0.35197699997979726, "success": true, - "started_at_unix": 1789970854.860288, + "started_at_unix": 1790057158.4978814, "bytes_sent": 260, "bytes_received": 247, "request_id": 19, @@ -919,11 +919,11 @@ "failure_count": 0, "bytes_sent": 1440, "bytes_received": 226940, - "min_ms": 324.9681080000073, - "max_ms": 554.7966070000143, - "mean_ms": 392.49080240000467, - "median_ms": 344.2960020000214, - "p95_ms": 523.1295430000102, + "min_ms": 245.53659700001162, + "max_ms": 481.09526799999, + "mean_ms": 338.3675586000095, + "median_ms": 302.12454000002253, + "p95_ms": 457.89180519999485, "result_summary": { "present_count": 5, "empty_count": 0, @@ -983,9 +983,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 674.8420459999807, + "duration_ms": 600.1337290000492, "success": true, - "started_at_unix": 1789970854.8609638, + "started_at_unix": 1790057158.4984765, "bytes_sent": 288, "bytes_received": 45388, "request_id": 20, @@ -1013,9 +1013,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 554.7966070000143, + "duration_ms": 481.09526799999, "success": true, - "started_at_unix": 1789970855.5374465, + "started_at_unix": 1790057159.1001515, "bytes_sent": 288, "bytes_received": 45388, "request_id": 21, @@ -1043,9 +1043,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 396.46128699999394, + "duration_ms": 365.0779540000144, "success": true, - "started_at_unix": 1789970856.0944865, + "started_at_unix": 1790057159.5825856, "bytes_sent": 288, "bytes_received": 45388, "request_id": 22, @@ -1073,9 +1073,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 344.2960020000214, + "duration_ms": 302.12454000002253, "success": true, - "started_at_unix": 1789970856.4923313, + "started_at_unix": 1790057159.94905, "bytes_sent": 288, "bytes_received": 45388, "request_id": 23, @@ -1103,9 +1103,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 324.9681080000073, + "duration_ms": 298.00343400000884, "success": true, - "started_at_unix": 1789970856.8388534, + "started_at_unix": 1790057160.252548, "bytes_sent": 288, "bytes_received": 45388, "request_id": 24, @@ -1133,9 +1133,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 341.93200799998635, + "duration_ms": 245.53659700001162, "success": true, - "started_at_unix": 1789970857.1675, + "started_at_unix": 1790057160.552963, "bytes_sent": 288, "bytes_received": 45388, "request_id": 25, @@ -1178,11 +1178,11 @@ "failure_count": 0, "bytes_sent": 1275, "bytes_received": 2350, - "min_ms": 25.69617599999674, - "max_ms": 32.80972799998949, - "mean_ms": 29.830038799997283, - "median_ms": 29.84925199999111, - "p95_ms": 32.51690239999334, + "min_ms": 24.167059999967933, + "max_ms": 36.29023700000289, + "mean_ms": 30.177962400000524, + "median_ms": 28.38795000002392, + "p95_ms": 35.92896300000348, "result_summary": { "present_count": 5, "empty_count": 0, @@ -1242,9 +1242,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 39.1392539999913, + "duration_ms": 43.45821900000146, "success": true, - "started_at_unix": 1789970857.5111823, + "started_at_unix": 1790057160.8001456, "bytes_sent": 255, "bytes_received": 470, "request_id": 26, @@ -1272,9 +1272,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 31.345600000008744, + "duration_ms": 34.48386700000583, "success": true, - "started_at_unix": 1789970857.5504892, + "started_at_unix": 1790057160.843767, "bytes_sent": 255, "bytes_received": 470, "request_id": 27, @@ -1302,9 +1302,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 29.84925199999111, + "duration_ms": 27.56069800000205, "success": true, - "started_at_unix": 1789970857.5820267, + "started_at_unix": 1790057160.8784275, "bytes_sent": 255, "bytes_received": 470, "request_id": 28, @@ -1332,9 +1332,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 32.80972799998949, + "duration_ms": 28.38795000002392, "success": true, - "started_at_unix": 1789970857.6120534, + "started_at_unix": 1790057160.9061484, "bytes_sent": 255, "bytes_received": 470, "request_id": 29, @@ -1362,9 +1362,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 25.69617599999674, + "duration_ms": 36.29023700000289, "success": true, - "started_at_unix": 1789970857.6450322, + "started_at_unix": 1790057160.9347658, "bytes_sent": 255, "bytes_received": 470, "request_id": 30, @@ -1392,9 +1392,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 29.449438000000328, + "duration_ms": 24.167059999967933, "success": true, - "started_at_unix": 1789970857.6709323, + "started_at_unix": 1790057160.9712076, "bytes_sent": 255, "bytes_received": 470, "request_id": 31, @@ -1426,9 +1426,9 @@ { "kind": "request", "method": "initialize", - "duration_ms": 161.7093589999996, + "duration_ms": 159.1787080000131, "success": true, - "started_at_unix": 1789970852.7833498, + "started_at_unix": 1790057156.5561929, "bytes_sent": 673, "bytes_received": 1070, "request_id": 1, @@ -1447,9 +1447,9 @@ { "kind": "notification", "method": "initialized", - "duration_ms": 0.028803999995830054, + "duration_ms": 0.027380999995330058, "success": true, - "started_at_unix": 1789970852.9451742, + "started_at_unix": 1790057156.7154858, "bytes_sent": 74, "bytes_received": 0, "request_id": null, @@ -1462,9 +1462,9 @@ { "kind": "notification", "method": "workspace/didChangeConfiguration", - "duration_ms": 0.016861999995398946, + "duration_ms": 0.015868999980739318, "success": true, - "started_at_unix": 1789970852.9452317, + "started_at_unix": 1790057156.7155397, "bytes_sent": 659, "bytes_received": 0, "request_id": null, @@ -1480,9 +1480,9 @@ { "kind": "notification", "method": "textDocument/didOpen", - "duration_ms": 0.01936600000362887, + "duration_ms": 0.01903499997979452, "success": true, - "started_at_unix": 1789970852.9453397, + "started_at_unix": 1790057156.7156668, "bytes_sent": 492, "bytes_received": 0, "request_id": null, @@ -1498,9 +1498,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 1785.9340460000085, + "duration_ms": 1672.5892329999965, "success": true, - "started_at_unix": 1789970852.9454026, + "started_at_unix": 1790057156.7157276, "bytes_sent": 285, "bytes_received": 46830, "request_id": 2, @@ -1528,9 +1528,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 13.583355000008623, + "duration_ms": 12.38599499998827, "success": true, - "started_at_unix": 1789970854.732242, + "started_at_unix": 1790057158.3900552, "bytes_sent": 285, "bytes_received": 46830, "request_id": 3, @@ -1558,9 +1558,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 8.213175999998157, + "duration_ms": 5.29333599996562, "success": true, - "started_at_unix": 1789970854.7475772, + "started_at_unix": 1790057158.40406, "bytes_sent": 285, "bytes_received": 46830, "request_id": 4, @@ -1588,9 +1588,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.769482999989805, + "duration_ms": 4.970650000018395, "success": true, - "started_at_unix": 1789970854.7581213, + "started_at_unix": 1790057158.4106078, "bytes_sent": 285, "bytes_received": 46830, "request_id": 5, @@ -1618,9 +1618,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.4636330000003, + "duration_ms": 3.3631949999630706, "success": true, - "started_at_unix": 1789970854.7652214, + "started_at_unix": 1790057158.4168096, "bytes_sent": 285, "bytes_received": 46830, "request_id": 6, @@ -1648,9 +1648,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 5.726841000011973, + "duration_ms": 3.2134329999848887, "success": true, - "started_at_unix": 1789970854.7720814, + "started_at_unix": 1790057158.4213998, "bytes_sent": 285, "bytes_received": 46830, "request_id": 7, @@ -1678,9 +1678,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 71.12924500000872, + "duration_ms": 62.75551300001325, "success": true, - "started_at_unix": 1789970854.7791834, + "started_at_unix": 1790057158.4260454, "bytes_sent": 253, "bytes_received": 4375, "request_id": 8, @@ -1708,9 +1708,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 1.5930389999994077, + "duration_ms": 1.3689580000004753, "success": true, - "started_at_unix": 1789970854.8504379, + "started_at_unix": 1790057158.488923, "bytes_sent": 253, "bytes_received": 4375, "request_id": 9, @@ -1738,9 +1738,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 1.101368999997021, + "duration_ms": 1.0682359999805158, "success": true, - "started_at_unix": 1789970854.8521352, + "started_at_unix": 1790057158.4903965, "bytes_sent": 254, "bytes_received": 4376, "request_id": 10, @@ -1768,9 +1768,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 1.1764239999934034, + "duration_ms": 0.903078000021651, "success": true, - "started_at_unix": 1789970854.8533652, + "started_at_unix": 1790057158.491625, "bytes_sent": 254, "bytes_received": 4376, "request_id": 11, @@ -1798,9 +1798,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 1.089527000004864, + "duration_ms": 0.9965329999772621, "success": true, - "started_at_unix": 1789970854.8546422, + "started_at_unix": 1790057158.4926476, "bytes_sent": 254, "bytes_received": 4376, "request_id": 12, @@ -1828,9 +1828,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.8804619999978058, + "duration_ms": 0.8164160000205811, "success": true, - "started_at_unix": 1789970854.8558774, + "started_at_unix": 1790057158.493763, "bytes_sent": 254, "bytes_received": 4376, "request_id": 13, @@ -1858,9 +1858,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.2019270000109827, + "duration_ms": 1.1734730000512172, "success": true, - "started_at_unix": 1789970854.8569965, + "started_at_unix": 1790057158.4947846, "bytes_sent": 260, "bytes_received": 247, "request_id": 14, @@ -1888,9 +1888,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.5064559999823359, + "duration_ms": 0.4507319999902393, "success": true, - "started_at_unix": 1789970854.8582463, + "started_at_unix": 1790057158.4960046, "bytes_sent": 260, "bytes_received": 247, "request_id": 15, @@ -1918,9 +1918,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.4745909999996911, + "duration_ms": 0.4543890000263673, "success": true, - "started_at_unix": 1789970854.8588169, + "started_at_unix": 1790057158.4965107, "bytes_sent": 260, "bytes_received": 247, "request_id": 16, @@ -1948,9 +1948,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.4162780000172006, + "duration_ms": 0.374469999997018, "success": true, - "started_at_unix": 1789970854.8593445, + "started_at_unix": 1790057158.497018, "bytes_sent": 260, "bytes_received": 247, "request_id": 17, @@ -1978,9 +1978,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.42020100002559957, + "duration_ms": 0.3882060000250931, "success": true, - "started_at_unix": 1789970854.8598177, + "started_at_unix": 1790057158.497444, "bytes_sent": 260, "bytes_received": 247, "request_id": 18, @@ -2008,9 +2008,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.3908799999976509, + "duration_ms": 0.35197699997979726, "success": true, - "started_at_unix": 1789970854.860288, + "started_at_unix": 1790057158.4978814, "bytes_sent": 260, "bytes_received": 247, "request_id": 19, @@ -2038,9 +2038,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03329300000132207, + "duration_ms": 0.03206000002364817, "success": true, - "started_at_unix": 1789970854.8609142, + "started_at_unix": 1790057158.4984288, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -2057,9 +2057,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 674.8420459999807, + "duration_ms": 600.1337290000492, "success": true, - "started_at_unix": 1789970854.8609638, + "started_at_unix": 1790057158.4984765, "bytes_sent": 288, "bytes_received": 45388, "request_id": 20, @@ -2087,9 +2087,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.036867999995138234, + "duration_ms": 0.03071700001555655, "success": true, - "started_at_unix": 1789970855.537354, + "started_at_unix": 1790057159.100073, "bytes_sent": 332, "bytes_received": 0, "request_id": null, @@ -2106,9 +2106,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.022161999993386416, + "duration_ms": 0.01880500002471308, "success": true, - "started_at_unix": 1789970855.5374098, + "started_at_unix": 1790057159.1001205, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -2125,9 +2125,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 554.7966070000143, + "duration_ms": 481.09526799999, "success": true, - "started_at_unix": 1789970855.5374465, + "started_at_unix": 1790057159.1001515, "bytes_sent": 288, "bytes_received": 45388, "request_id": 21, @@ -2155,9 +2155,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03958399997827655, + "duration_ms": 0.027681999995365913, "success": true, - "started_at_unix": 1789970856.0943925, + "started_at_unix": 1790057159.582508, "bytes_sent": 332, "bytes_received": 0, "request_id": null, @@ -2174,9 +2174,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02416499998503241, + "duration_ms": 0.014527000018915714, "success": true, - "started_at_unix": 1789970856.0944479, + "started_at_unix": 1790057159.5825465, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -2193,9 +2193,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 396.46128699999394, + "duration_ms": 365.0779540000144, "success": true, - "started_at_unix": 1789970856.0944865, + "started_at_unix": 1790057159.5825856, "bytes_sent": 288, "bytes_received": 45388, "request_id": 22, @@ -2223,9 +2223,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.026388999998516738, + "duration_ms": 0.028102999976908905, "success": true, - "started_at_unix": 1789970856.4922693, + "started_at_unix": 1790057159.9489872, "bytes_sent": 332, "bytes_received": 0, "request_id": null, @@ -2242,9 +2242,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.01431699999443481, + "duration_ms": 0.013936000016201433, "success": true, - "started_at_unix": 1789970856.492307, + "started_at_unix": 1790057159.9490266, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -2261,9 +2261,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 344.2960020000214, + "duration_ms": 302.12454000002253, "success": true, - "started_at_unix": 1789970856.4923313, + "started_at_unix": 1790057159.94905, "bytes_sent": 288, "bytes_received": 45388, "request_id": 23, @@ -2291,9 +2291,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.024555999999620326, + "duration_ms": 0.03113799999709954, "success": true, - "started_at_unix": 1789970856.8387246, + "started_at_unix": 1790057160.252463, "bytes_sent": 332, "bytes_received": 0, "request_id": null, @@ -2310,9 +2310,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03219999999259926, + "duration_ms": 0.02608900001632719, "success": true, - "started_at_unix": 1789970856.838805, + "started_at_unix": 1790057160.2525086, "bytes_sent": 366, "bytes_received": 0, "request_id": null, @@ -2329,9 +2329,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 324.9681080000073, + "duration_ms": 298.00343400000884, "success": true, - "started_at_unix": 1789970856.8388534, + "started_at_unix": 1790057160.252548, "bytes_sent": 288, "bytes_received": 45388, "request_id": 24, @@ -2359,9 +2359,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 1.18762200000333, + "duration_ms": 0.03715900004408468, "success": true, - "started_at_unix": 1789970857.1662385, + "started_at_unix": 1790057160.5528774, "bytes_sent": 333, "bytes_received": 0, "request_id": null, @@ -2378,9 +2378,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03765099998531696, + "duration_ms": 0.021650000007866765, "success": true, - "started_at_unix": 1789970857.1674464, + "started_at_unix": 1790057160.5529284, "bytes_sent": 366, "bytes_received": 0, "request_id": null, @@ -2397,9 +2397,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 341.93200799998635, + "duration_ms": 245.53659700001162, "success": true, - "started_at_unix": 1789970857.1675, + "started_at_unix": 1790057160.552963, "bytes_sent": 288, "bytes_received": 45388, "request_id": 25, @@ -2427,9 +2427,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03400399998554349, + "duration_ms": 0.032411000006504764, "success": true, - "started_at_unix": 1789970857.5107815, + "started_at_unix": 1790057160.799807, "bytes_sent": 333, "bytes_received": 0, "request_id": null, @@ -2446,9 +2446,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03477500001736189, + "duration_ms": 0.03197000000909611, "success": true, - "started_at_unix": 1789970857.511132, + "started_at_unix": 1790057160.8001, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -2465,9 +2465,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 39.1392539999913, + "duration_ms": 43.45821900000146, "success": true, - "started_at_unix": 1789970857.5111823, + "started_at_unix": 1790057160.8001456, "bytes_sent": 255, "bytes_received": 470, "request_id": 26, @@ -2495,9 +2495,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.033743000017238955, + "duration_ms": 0.034574999972392106, "success": true, - "started_at_unix": 1789970857.550401, + "started_at_unix": 1790057160.8436787, "bytes_sent": 333, "bytes_received": 0, "request_id": null, @@ -2514,9 +2514,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.026208999997834326, + "duration_ms": 0.027600999999322084, "success": true, - "started_at_unix": 1789970857.5504491, + "started_at_unix": 1790057160.843727, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -2533,9 +2533,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 31.345600000008744, + "duration_ms": 34.48386700000583, "success": true, - "started_at_unix": 1789970857.5504892, + "started_at_unix": 1790057160.843767, "bytes_sent": 255, "bytes_received": 470, "request_id": 27, @@ -2563,9 +2563,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03301099999930557, + "duration_ms": 0.031669000009060255, "success": true, - "started_at_unix": 1789970857.581934, + "started_at_unix": 1790057160.8783453, "bytes_sent": 333, "bytes_received": 0, "request_id": null, @@ -2582,9 +2582,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02739100000326289, + "duration_ms": 0.025057000016204256, "success": true, - "started_at_unix": 1789970857.5819805, + "started_at_unix": 1790057160.8783898, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -2601,9 +2601,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 29.84925199999111, + "duration_ms": 27.56069800000205, "success": true, - "started_at_unix": 1789970857.5820267, + "started_at_unix": 1790057160.8784275, "bytes_sent": 255, "bytes_received": 470, "request_id": 28, @@ -2631,9 +2631,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.033652000013262295, + "duration_ms": 0.029844999971828656, "success": true, - "started_at_unix": 1789970857.611967, + "started_at_unix": 1790057160.906067, "bytes_sent": 333, "bytes_received": 0, "request_id": null, @@ -2650,9 +2650,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.026109000003771143, + "duration_ms": 0.026338999987274292, "success": true, - "started_at_unix": 1789970857.6120145, + "started_at_unix": 1790057160.90611, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -2669,9 +2669,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 32.80972799998949, + "duration_ms": 28.38795000002392, "success": true, - "started_at_unix": 1789970857.6120534, + "started_at_unix": 1790057160.9061484, "bytes_sent": 255, "bytes_received": 470, "request_id": 29, @@ -2699,9 +2699,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.029745999995611783, + "duration_ms": 0.03789099997675294, "success": true, - "started_at_unix": 1789970857.6449487, + "started_at_unix": 1790057160.9346795, "bytes_sent": 333, "bytes_received": 0, "request_id": null, @@ -2718,9 +2718,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.025979000014331177, + "duration_ms": 0.022952999984227063, "success": true, - "started_at_unix": 1789970857.6449924, + "started_at_unix": 1790057160.9347305, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -2737,9 +2737,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 25.69617599999674, + "duration_ms": 36.29023700000289, "success": true, - "started_at_unix": 1789970857.6450322, + "started_at_unix": 1790057160.9347658, "bytes_sent": 255, "bytes_received": 470, "request_id": 30, @@ -2767,9 +2767,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03355300000862371, + "duration_ms": 0.02638899997009503, "success": true, - "started_at_unix": 1789970857.6708534, + "started_at_unix": 1790057160.971149, "bytes_sent": 333, "bytes_received": 0, "request_id": null, @@ -2786,9 +2786,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.021820000000616346, + "duration_ms": 0.01439699997263233, "success": true, - "started_at_unix": 1789970857.6708992, + "started_at_unix": 1790057160.9711854, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -2805,9 +2805,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 29.449438000000328, + "duration_ms": 24.167059999967933, "success": true, - "started_at_unix": 1789970857.6709323, + "started_at_unix": 1790057160.9712076, "bytes_sent": 255, "bytes_received": 470, "request_id": 31, @@ -2835,9 +2835,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02774200001454119, + "duration_ms": 0.026058000003104098, "success": true, - "started_at_unix": 1789970857.7004664, + "started_at_unix": 1790057160.9954576, "bytes_sent": 333, "bytes_received": 0, "request_id": null, @@ -2854,9 +2854,9 @@ { "kind": "notification", "method": "textDocument/didClose", - "duration_ms": 0.015829000005851412, + "duration_ms": 0.023885000018708524, "success": true, - "started_at_unix": 1789970857.7005947, + "started_at_unix": 1790057160.9956193, "bytes_sent": 212, "bytes_received": 0, "request_id": null, @@ -2869,9 +2869,9 @@ { "kind": "request", "method": "shutdown", - "duration_ms": 1.8075570000064545, + "duration_ms": 2.192403999970338, "success": true, - "started_at_unix": 1789970857.7006183, + "started_at_unix": 1790057160.995654, "bytes_sent": 67, "bytes_received": 61, "request_id": 32, @@ -2889,9 +2889,9 @@ { "kind": "notification", "method": "exit", - "duration_ms": 0.02300299999546951, + "duration_ms": 0.021158999970793957, "success": true, - "started_at_unix": 1789970857.7024472, + "started_at_unix": 1790057160.9978647, "bytes_sent": 55, "bytes_received": 0, "request_id": null, @@ -2913,7 +2913,7 @@ "environment_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/django/.venv", "python_executable": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/django/.venv/bin/python", "success": true, - "total_duration_ms": 1424.5572849999917, + "total_duration_ms": 1458.9327769999727, "error_message": null, "summary": { "request_count": 32, @@ -2922,11 +2922,11 @@ "failure_count": 0, "bytes_sent": 18652, "bytes_received": 199788, - "min_ms": 0.35633300001336465, - "max_ms": 768.3967300000063, - "mean_ms": 43.693803843747325, - "median_ms": 4.775667499998804, - "p95_ms": 119.67470059998811, + "min_ms": 0.359833000004528, + "max_ms": 788.8650589999884, + "mean_ms": 44.76775915625453, + "median_ms": 5.053844999991952, + "p95_ms": 122.3770677000146, "result_summary": { "present_count": 31, "empty_count": 1, @@ -2982,27 +2982,27 @@ "by_method": { "textDocument/completion": { "point_count": 2, - "min_ms": 2.1604439999975966, - "max_ms": 27.60920699998337, - "mean_ms": 15.134194599997386, - "median_ms": 15.685662500004582, - "p95_ms": 27.526511849991664 + "min_ms": 2.162310999949568, + "max_ms": 28.59233999998878, + "mean_ms": 15.627033799989931, + "median_ms": 15.78488299998071, + "p95_ms": 28.02422714999011 }, "textDocument/hover": { "point_count": 2, - "min_ms": 0.4908739999791578, - "max_ms": 44.69204899999113, - "mean_ms": 19.098452999995175, - "median_ms": 16.453695500004528, - "p95_ms": 42.30460550000714 + "min_ms": 0.49412399999937406, + "max_ms": 46.54390900003591, + "mean_ms": 19.495853300009003, + "median_ms": 17.111309499995286, + "p95_ms": 43.41866800002946 }, "textDocument/definition": { "point_count": 1, - "min_ms": 0.35633300001336465, - "max_ms": 0.4478939999899012, - "mean_ms": 0.39338660000112213, - "median_ms": 0.37694200000260025, - "p95_ms": 0.4432213999962187 + "min_ms": 0.359833000004528, + "max_ms": 0.46798500000022614, + "mean_ms": 0.39376220001940965, + "median_ms": 0.3818740000269827, + "p95_ms": 0.4512596000040503 } }, "validation": { @@ -3028,11 +3028,11 @@ "failure_count": 0, "bytes_sent": 1385, "bytes_received": 29540, - "min_ms": 2.1604439999975966, - "max_ms": 8.456055000010565, - "mean_ms": 4.74261219999903, - "median_ms": 4.081712000015614, - "p95_ms": 7.85876860000485, + "min_ms": 2.162310999949568, + "max_ms": 8.413934999964567, + "mean_ms": 4.848815199977707, + "median_ms": 4.273496999985582, + "p95_ms": 7.8979865999713175, "result_summary": { "present_count": 5, "empty_count": 0, @@ -3092,9 +3092,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 768.3967300000063, + "duration_ms": 788.8650589999884, "success": true, - "started_at_unix": 1789970863.3599145, + "started_at_unix": 1790057167.2624469, "bytes_sent": 277, "bytes_received": 1167, "request_id": 2, @@ -3122,9 +3122,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 8.456055000010565, + "duration_ms": 8.413934999964567, "success": true, - "started_at_unix": 1789970864.1284146, + "started_at_unix": 1790057168.051414, "bytes_sent": 277, "bytes_received": 5908, "request_id": 3, @@ -3152,9 +3152,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.081712000015614, + "duration_ms": 4.273496999985582, "success": true, - "started_at_unix": 1789970864.1371796, + "started_at_unix": 1790057168.0601215, "bytes_sent": 277, "bytes_received": 5908, "request_id": 4, @@ -3182,9 +3182,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 3.5452269999893815, + "duration_ms": 3.560139999990497, "success": true, - "started_at_unix": 1789970864.141512, + "started_at_unix": 1790057168.0646749, "bytes_sent": 277, "bytes_received": 5908, "request_id": 5, @@ -3212,9 +3212,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 5.469622999981993, + "duration_ms": 5.834192999998322, "success": true, - "started_at_unix": 1789970864.1453688, + "started_at_unix": 1790057168.0686262, "bytes_sent": 277, "bytes_received": 5908, "request_id": 6, @@ -3242,9 +3242,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 2.1604439999975966, + "duration_ms": 2.162310999949568, "success": true, - "started_at_unix": 1789970864.1510873, + "started_at_unix": 1790057168.0747356, "bytes_sent": 277, "bytes_received": 5908, "request_id": 7, @@ -3287,11 +3287,11 @@ "failure_count": 0, "bytes_sent": 1224, "bytes_received": 1184, - "min_ms": 0.4908739999791578, - "max_ms": 0.6410640000069634, - "mean_ms": 0.5448531999888928, - "median_ms": 0.5299869999930706, - "p95_ms": 0.6250586000021485, + "min_ms": 0.49412399999937406, + "max_ms": 0.6451859999856424, + "mean_ms": 0.5420211999989988, + "median_ms": 0.5127690000108487, + "p95_ms": 0.6261443999846961, "result_summary": { "present_count": 5, "empty_count": 0, @@ -3351,9 +3351,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 2.2949639999865212, + "duration_ms": 2.3192340000264267, "success": true, - "started_at_unix": 1789970864.1536007, + "started_at_unix": 1790057168.077256, "bytes_sent": 244, "bytes_received": 236, "request_id": 8, @@ -3381,9 +3381,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.5013039999823832, + "duration_ms": 0.5127690000108487, "success": true, - "started_at_unix": 1789970864.1559427, + "started_at_unix": 1790057168.0796218, "bytes_sent": 244, "bytes_received": 236, "request_id": 9, @@ -3411,9 +3411,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.6410640000069634, + "duration_ms": 0.6451859999856424, "success": true, - "started_at_unix": 1789970864.1565013, + "started_at_unix": 1790057168.0801907, "bytes_sent": 245, "bytes_received": 237, "request_id": 10, @@ -3441,9 +3441,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.4908739999791578, + "duration_ms": 0.49412399999937406, "success": true, - "started_at_unix": 1789970864.1571972, + "started_at_unix": 1790057168.0808914, "bytes_sent": 245, "bytes_received": 237, "request_id": 11, @@ -3471,9 +3471,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.5299869999930706, + "duration_ms": 0.5499779999809107, "success": true, - "started_at_unix": 1789970864.1577425, + "started_at_unix": 1790057168.081439, "bytes_sent": 245, "bytes_received": 237, "request_id": 12, @@ -3501,9 +3501,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.561036999982889, + "duration_ms": 0.5080490000182181, "success": true, - "started_at_unix": 1789970864.158327, + "started_at_unix": 1790057168.0820422, "bytes_sent": 245, "bytes_received": 237, "request_id": 13, @@ -3546,11 +3546,11 @@ "failure_count": 0, "bytes_sent": 1250, "bytes_received": 1185, - "min_ms": 0.35633300001336465, - "max_ms": 0.4478939999899012, - "mean_ms": 0.39338660000112213, - "median_ms": 0.37694200000260025, - "p95_ms": 0.4432213999962187, + "min_ms": 0.359833000004528, + "max_ms": 0.46798500000022614, + "mean_ms": 0.39376220001940965, + "median_ms": 0.3818740000269827, + "p95_ms": 0.4512596000040503, "result_summary": { "present_count": 5, "empty_count": 0, @@ -3610,9 +3610,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.214993000019149, + "duration_ms": 1.2255309999886776, "success": true, - "started_at_unix": 1789970864.1590672, + "started_at_unix": 1790057168.0827181, "bytes_sent": 250, "bytes_received": 237, "request_id": 14, @@ -3640,9 +3640,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.4245310000214886, + "duration_ms": 0.3818740000269827, "success": true, - "started_at_unix": 1789970864.1603415, + "started_at_unix": 1790057168.0839856, "bytes_sent": 250, "bytes_received": 237, "request_id": 15, @@ -3670,9 +3670,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.4478939999899012, + "duration_ms": 0.46798500000022614, "success": true, - "started_at_unix": 1789970864.1608162, + "started_at_unix": 1790057168.0844202, "bytes_sent": 250, "bytes_received": 237, "request_id": 16, @@ -3700,9 +3700,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.37694200000260025, + "duration_ms": 0.37476100004596447, "success": true, - "started_at_unix": 1789970864.16131, + "started_at_unix": 1790057168.0849388, "bytes_sent": 250, "bytes_received": 237, "request_id": 17, @@ -3730,9 +3730,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.35633300001336465, + "duration_ms": 0.38435800001934695, "success": true, - "started_at_unix": 1789970864.1617277, + "started_at_unix": 1790057168.0853634, "bytes_sent": 250, "bytes_received": 237, "request_id": 18, @@ -3760,9 +3760,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.361232999978256, + "duration_ms": 0.359833000004528, "success": true, - "started_at_unix": 1789970864.1621246, + "started_at_unix": 1790057168.0857992, "bytes_sent": 250, "bytes_received": 237, "request_id": 19, @@ -3805,11 +3805,11 @@ "failure_count": 0, "bytes_sent": 1390, "bytes_received": 136275, - "min_ms": 22.9152699999986, - "max_ms": 27.60920699998337, - "mean_ms": 25.525776999995742, - "median_ms": 26.73635700000432, - "p95_ms": 27.572453599987057, + "min_ms": 23.15583099999685, + "max_ms": 28.59233999998878, + "mean_ms": 26.405252400002155, + "median_ms": 26.74893100004283, + "p95_ms": 28.339845399989372, "result_summary": { "present_count": 5, "empty_count": 0, @@ -3869,9 +3869,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 33.29266900001926, + "duration_ms": 33.05455399998891, "success": true, - "started_at_unix": 1789970864.1627202, + "started_at_unix": 1790057168.0864263, "bytes_sent": 278, "bytes_received": 27255, "request_id": 20, @@ -3899,9 +3899,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 26.73635700000432, + "duration_ms": 27.329866999991737, "success": true, - "started_at_unix": 1789970864.1966803, + "started_at_unix": 1790057168.1201532, "bytes_sent": 278, "bytes_received": 27255, "request_id": 21, @@ -3929,9 +3929,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 27.60920699998337, + "duration_ms": 28.59233999998878, "success": true, - "started_at_unix": 1789970864.224332, + "started_at_unix": 1790057168.148411, "bytes_sent": 278, "bytes_received": 27255, "request_id": 22, @@ -3959,9 +3959,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 22.94261099999062, + "duration_ms": 26.199292999990575, "success": true, - "started_at_unix": 1789970864.2528548, + "started_at_unix": 1790057168.177943, "bytes_sent": 278, "bytes_received": 27255, "request_id": 23, @@ -3989,9 +3989,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 27.4254400000018, + "duration_ms": 26.74893100004283, "success": true, - "started_at_unix": 1789970864.2773294, + "started_at_unix": 1790057168.2050958, "bytes_sent": 278, "bytes_received": 27255, "request_id": 24, @@ -4019,9 +4019,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 22.9152699999986, + "duration_ms": 23.15583099999685, "success": true, - "started_at_unix": 1789970864.3056245, + "started_at_unix": 1790057168.232833, "bytes_sent": 278, "bytes_received": 27255, "request_id": 25, @@ -4064,11 +4064,11 @@ "failure_count": 0, "bytes_sent": 1225, "bytes_received": 1315, - "min_ms": 32.26632700000209, - "max_ms": 44.69204899999113, - "mean_ms": 37.65205280000146, - "median_ms": 37.60534599999232, - "p95_ms": 43.630962999998246, + "min_ms": 33.57743300000493, + "max_ms": 46.54390900003591, + "mean_ms": 38.44968540001901, + "median_ms": 37.89401900002076, + "p95_ms": 45.15491300003305, "result_summary": { "present_count": 5, "empty_count": 0, @@ -4128,9 +4128,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 87.11134699998979, + "duration_ms": 92.23179000002801, "success": true, - "started_at_unix": 1789970864.3295827, + "started_at_unix": 1790057168.257158, "bytes_sent": 245, "bytes_received": 263, "request_id": 26, @@ -4158,9 +4158,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 44.69204899999113, + "duration_ms": 46.54390900003591, "success": true, - "started_at_unix": 1789970864.416884, + "started_at_unix": 1790057168.349554, "bytes_sent": 245, "bytes_received": 263, "request_id": 27, @@ -4188,9 +4188,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 34.309922999995024, + "duration_ms": 33.57743300000493, "success": true, - "started_at_unix": 1789970864.4617503, + "started_at_unix": 1790057168.396309, "bytes_sent": 245, "bytes_received": 263, "request_id": 28, @@ -4218,9 +4218,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 37.60534599999232, + "duration_ms": 39.5989290000216, "success": true, - "started_at_unix": 1789970864.4962025, + "started_at_unix": 1790057168.4300473, "bytes_sent": 245, "bytes_received": 263, "request_id": 29, @@ -4248,9 +4248,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 32.26632700000209, + "duration_ms": 34.63413700001183, "success": true, - "started_at_unix": 1789970864.5339792, + "started_at_unix": 1790057168.4698472, "bytes_sent": 245, "bytes_received": 263, "request_id": 30, @@ -4278,9 +4278,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 39.38661900002671, + "duration_ms": 37.89401900002076, "success": true, - "started_at_unix": 1789970864.5664148, + "started_at_unix": 1790057168.5047185, "bytes_sent": 245, "bytes_received": 263, "request_id": 31, @@ -4312,9 +4312,9 @@ { "kind": "request", "method": "initialize", - "duration_ms": 159.4743549999862, + "duration_ms": 159.22129599999835, "success": true, - "started_at_unix": 1789970863.2001057, + "started_at_unix": 1790057167.102919, "bytes_sent": 655, "bytes_received": 1070, "request_id": 1, @@ -4333,9 +4333,9 @@ { "kind": "notification", "method": "initialized", - "duration_ms": 0.022822999994787097, + "duration_ms": 0.02351300003056167, "success": true, - "started_at_unix": 1789970863.359677, + "started_at_unix": 1790057167.2622364, "bytes_sent": 74, "bytes_received": 0, "request_id": null, @@ -4348,9 +4348,9 @@ { "kind": "notification", "method": "workspace/didChangeConfiguration", - "duration_ms": 0.01606000000720087, + "duration_ms": 0.015039000004435366, "success": true, - "started_at_unix": 1789970863.3597252, + "started_at_unix": 1790057167.2622857, "bytes_sent": 635, "bytes_received": 0, "request_id": null, @@ -4366,9 +4366,9 @@ { "kind": "notification", "method": "textDocument/didOpen", - "duration_ms": 0.021328999991965247, + "duration_ms": 0.018595000028653885, "success": true, - "started_at_unix": 1789970863.3598566, + "started_at_unix": 1790057167.2623923, "bytes_sent": 858, "bytes_received": 0, "request_id": null, @@ -4384,9 +4384,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 768.3967300000063, + "duration_ms": 788.8650589999884, "success": true, - "started_at_unix": 1789970863.3599145, + "started_at_unix": 1790057167.2624469, "bytes_sent": 277, "bytes_received": 1167, "request_id": 2, @@ -4414,9 +4414,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 8.456055000010565, + "duration_ms": 8.413934999964567, "success": true, - "started_at_unix": 1789970864.1284146, + "started_at_unix": 1790057168.051414, "bytes_sent": 277, "bytes_received": 5908, "request_id": 3, @@ -4444,9 +4444,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.081712000015614, + "duration_ms": 4.273496999985582, "success": true, - "started_at_unix": 1789970864.1371796, + "started_at_unix": 1790057168.0601215, "bytes_sent": 277, "bytes_received": 5908, "request_id": 4, @@ -4474,9 +4474,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 3.5452269999893815, + "duration_ms": 3.560139999990497, "success": true, - "started_at_unix": 1789970864.141512, + "started_at_unix": 1790057168.0646749, "bytes_sent": 277, "bytes_received": 5908, "request_id": 5, @@ -4504,9 +4504,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 5.469622999981993, + "duration_ms": 5.834192999998322, "success": true, - "started_at_unix": 1789970864.1453688, + "started_at_unix": 1790057168.0686262, "bytes_sent": 277, "bytes_received": 5908, "request_id": 6, @@ -4534,9 +4534,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 2.1604439999975966, + "duration_ms": 2.162310999949568, "success": true, - "started_at_unix": 1789970864.1510873, + "started_at_unix": 1790057168.0747356, "bytes_sent": 277, "bytes_received": 5908, "request_id": 7, @@ -4564,9 +4564,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 2.2949639999865212, + "duration_ms": 2.3192340000264267, "success": true, - "started_at_unix": 1789970864.1536007, + "started_at_unix": 1790057168.077256, "bytes_sent": 244, "bytes_received": 236, "request_id": 8, @@ -4594,9 +4594,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.5013039999823832, + "duration_ms": 0.5127690000108487, "success": true, - "started_at_unix": 1789970864.1559427, + "started_at_unix": 1790057168.0796218, "bytes_sent": 244, "bytes_received": 236, "request_id": 9, @@ -4624,9 +4624,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.6410640000069634, + "duration_ms": 0.6451859999856424, "success": true, - "started_at_unix": 1789970864.1565013, + "started_at_unix": 1790057168.0801907, "bytes_sent": 245, "bytes_received": 237, "request_id": 10, @@ -4654,9 +4654,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.4908739999791578, + "duration_ms": 0.49412399999937406, "success": true, - "started_at_unix": 1789970864.1571972, + "started_at_unix": 1790057168.0808914, "bytes_sent": 245, "bytes_received": 237, "request_id": 11, @@ -4684,9 +4684,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.5299869999930706, + "duration_ms": 0.5499779999809107, "success": true, - "started_at_unix": 1789970864.1577425, + "started_at_unix": 1790057168.081439, "bytes_sent": 245, "bytes_received": 237, "request_id": 12, @@ -4714,9 +4714,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.561036999982889, + "duration_ms": 0.5080490000182181, "success": true, - "started_at_unix": 1789970864.158327, + "started_at_unix": 1790057168.0820422, "bytes_sent": 245, "bytes_received": 237, "request_id": 13, @@ -4744,9 +4744,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.214993000019149, + "duration_ms": 1.2255309999886776, "success": true, - "started_at_unix": 1789970864.1590672, + "started_at_unix": 1790057168.0827181, "bytes_sent": 250, "bytes_received": 237, "request_id": 14, @@ -4774,9 +4774,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.4245310000214886, + "duration_ms": 0.3818740000269827, "success": true, - "started_at_unix": 1789970864.1603415, + "started_at_unix": 1790057168.0839856, "bytes_sent": 250, "bytes_received": 237, "request_id": 15, @@ -4804,9 +4804,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.4478939999899012, + "duration_ms": 0.46798500000022614, "success": true, - "started_at_unix": 1789970864.1608162, + "started_at_unix": 1790057168.0844202, "bytes_sent": 250, "bytes_received": 237, "request_id": 16, @@ -4834,9 +4834,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.37694200000260025, + "duration_ms": 0.37476100004596447, "success": true, - "started_at_unix": 1789970864.16131, + "started_at_unix": 1790057168.0849388, "bytes_sent": 250, "bytes_received": 237, "request_id": 17, @@ -4864,9 +4864,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.35633300001336465, + "duration_ms": 0.38435800001934695, "success": true, - "started_at_unix": 1789970864.1617277, + "started_at_unix": 1790057168.0853634, "bytes_sent": 250, "bytes_received": 237, "request_id": 18, @@ -4894,9 +4894,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.361232999978256, + "duration_ms": 0.359833000004528, "success": true, - "started_at_unix": 1789970864.1621246, + "started_at_unix": 1790057168.0857992, "bytes_sent": 250, "bytes_received": 237, "request_id": 19, @@ -4924,9 +4924,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.026208999997834326, + "duration_ms": 0.030726999966645963, "success": true, - "started_at_unix": 1789970864.162669, + "started_at_unix": 1790057168.0863564, "bytes_sent": 372, "bytes_received": 0, "request_id": null, @@ -4943,9 +4943,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 33.29266900001926, + "duration_ms": 33.05455399998891, "success": true, - "started_at_unix": 1789970864.1627202, + "started_at_unix": 1790057168.0864263, "bytes_sent": 278, "bytes_received": 27255, "request_id": 20, @@ -4973,9 +4973,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.028253000010636242, + "duration_ms": 0.03479500003322755, "success": true, - "started_at_unix": 1789970864.1966183, + "started_at_unix": 1790057168.1200635, "bytes_sent": 322, "bytes_received": 0, "request_id": null, @@ -4992,9 +4992,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.015199000017673825, + "duration_ms": 0.026999999988674972, "success": true, - "started_at_unix": 1789970864.196656, + "started_at_unix": 1790057168.1201122, "bytes_sent": 372, "bytes_received": 0, "request_id": null, @@ -5011,9 +5011,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 26.73635700000432, + "duration_ms": 27.329866999991737, "success": true, - "started_at_unix": 1789970864.1966803, + "started_at_unix": 1790057168.1201532, "bytes_sent": 278, "bytes_received": 27255, "request_id": 21, @@ -5041,9 +5041,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.025628000003052875, + "duration_ms": 0.03286100002242165, "success": true, - "started_at_unix": 1789970864.2242734, + "started_at_unix": 1790057168.148325, "bytes_sent": 322, "bytes_received": 0, "request_id": null, @@ -5060,9 +5060,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.014627000012978897, + "duration_ms": 0.025858000014977733, "success": true, - "started_at_unix": 1789970864.2243085, + "started_at_unix": 1790057168.1483712, "bytes_sent": 372, "bytes_received": 0, "request_id": null, @@ -5079,9 +5079,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 27.60920699998337, + "duration_ms": 28.59233999998878, "success": true, - "started_at_unix": 1789970864.224332, + "started_at_unix": 1790057168.148411, "bytes_sent": 278, "bytes_received": 27255, "request_id": 22, @@ -5109,9 +5109,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.05365999999185078, + "duration_ms": 0.031488999979956134, "success": true, - "started_at_unix": 1789970864.2527466, + "started_at_unix": 1790057168.1778576, "bytes_sent": 322, "bytes_received": 0, "request_id": null, @@ -5128,9 +5128,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.027501000005258902, + "duration_ms": 0.02583799999911207, "success": true, - "started_at_unix": 1789970864.2528136, + "started_at_unix": 1790057168.1779034, "bytes_sent": 372, "bytes_received": 0, "request_id": null, @@ -5147,9 +5147,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 22.94261099999062, + "duration_ms": 26.199292999990575, "success": true, - "started_at_unix": 1789970864.2528548, + "started_at_unix": 1790057168.177943, "bytes_sent": 278, "bytes_received": 27255, "request_id": 23, @@ -5177,9 +5177,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03641800000764306, + "duration_ms": 0.036297999997714214, "success": true, - "started_at_unix": 1789970864.2772455, + "started_at_unix": 1790057168.2050073, "bytes_sent": 322, "bytes_received": 0, "request_id": null, @@ -5196,9 +5196,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.023143000021264015, + "duration_ms": 0.025597999979254382, "success": true, - "started_at_unix": 1789970864.2772942, + "started_at_unix": 1790057168.2050574, "bytes_sent": 373, "bytes_received": 0, "request_id": null, @@ -5215,9 +5215,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 27.4254400000018, + "duration_ms": 26.74893100004283, "success": true, - "started_at_unix": 1789970864.2773294, + "started_at_unix": 1790057168.2050958, "bytes_sent": 278, "bytes_received": 27255, "request_id": 24, @@ -5245,9 +5245,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.025687999993806443, + "duration_ms": 0.0366090000056829, "success": true, - "started_at_unix": 1789970864.305567, + "started_at_unix": 1790057168.2327416, "bytes_sent": 323, "bytes_received": 0, "request_id": null, @@ -5264,9 +5264,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.014196000023503075, + "duration_ms": 0.025298000025486544, "success": true, - "started_at_unix": 1789970864.305602, + "started_at_unix": 1790057168.2327933, "bytes_sent": 373, "bytes_received": 0, "request_id": null, @@ -5283,9 +5283,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 22.9152699999986, + "duration_ms": 23.15583099999685, "success": true, - "started_at_unix": 1789970864.3056245, + "started_at_unix": 1790057168.232833, "bytes_sent": 278, "bytes_received": 27255, "request_id": 25, @@ -5313,9 +5313,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.025026000002981164, + "duration_ms": 0.03194999999323045, "success": true, - "started_at_unix": 1789970864.329347, + "started_at_unix": 1790057168.2568219, "bytes_sent": 323, "bytes_received": 0, "request_id": null, @@ -5332,9 +5332,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.020547999980635723, + "duration_ms": 0.03198000001702894, "success": true, - "started_at_unix": 1789970864.3295527, + "started_at_unix": 1790057168.2571113, "bytes_sent": 372, "bytes_received": 0, "request_id": null, @@ -5351,9 +5351,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 87.11134699998979, + "duration_ms": 92.23179000002801, "success": true, - "started_at_unix": 1789970864.3295827, + "started_at_unix": 1790057168.257158, "bytes_sent": 245, "bytes_received": 263, "request_id": 26, @@ -5381,9 +5381,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.036467999990463795, + "duration_ms": 0.03534600000421051, "success": true, - "started_at_unix": 1789970864.4168048, + "started_at_unix": 1790057168.3494651, "bytes_sent": 323, "bytes_received": 0, "request_id": null, @@ -5400,9 +5400,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.01913599999170401, + "duration_ms": 0.02673899996352702, "success": true, - "started_at_unix": 1789970864.416854, + "started_at_unix": 1790057168.3495142, "bytes_sent": 372, "bytes_received": 0, "request_id": null, @@ -5419,9 +5419,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 44.69204899999113, + "duration_ms": 46.54390900003591, "success": true, - "started_at_unix": 1789970864.416884, + "started_at_unix": 1790057168.349554, "bytes_sent": 245, "bytes_received": 263, "request_id": 27, @@ -5449,9 +5449,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03014600000028622, + "duration_ms": 0.04122699999697943, "success": true, - "started_at_unix": 1789970864.461685, + "started_at_unix": 1790057168.3962147, "bytes_sent": 323, "bytes_received": 0, "request_id": null, @@ -5468,9 +5468,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.015528999995240156, + "duration_ms": 0.028603999965071125, "success": true, - "started_at_unix": 1789970864.461726, + "started_at_unix": 1790057168.3962703, "bytes_sent": 372, "bytes_received": 0, "request_id": null, @@ -5487,9 +5487,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 34.309922999995024, + "duration_ms": 33.57743300000493, "success": true, - "started_at_unix": 1789970864.4617503, + "started_at_unix": 1790057168.396309, "bytes_sent": 245, "bytes_received": 263, "request_id": 28, @@ -5517,9 +5517,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02740099998277401, + "duration_ms": 0.03153899996277687, "success": true, - "started_at_unix": 1789970864.4961402, + "started_at_unix": 1790057168.429976, "bytes_sent": 323, "bytes_received": 0, "request_id": null, @@ -5536,9 +5536,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.01539800001637559, + "duration_ms": 0.01836399997046101, "success": true, - "started_at_unix": 1789970864.496178, + "started_at_unix": 1790057168.4300194, "bytes_sent": 372, "bytes_received": 0, "request_id": null, @@ -5555,9 +5555,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 37.60534599999232, + "duration_ms": 39.5989290000216, "success": true, - "started_at_unix": 1789970864.4962025, + "started_at_unix": 1790057168.4300473, "bytes_sent": 245, "bytes_received": 263, "request_id": 29, @@ -5585,9 +5585,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03204899999786903, + "duration_ms": 0.03693799999382463, "success": true, - "started_at_unix": 1789970864.5338917, + "started_at_unix": 1790057168.4697628, "bytes_sent": 323, "bytes_received": 0, "request_id": null, @@ -5604,9 +5604,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.027420000009215073, + "duration_ms": 0.021570999990672135, "success": true, - "started_at_unix": 1789970864.5339377, + "started_at_unix": 1790057168.4698133, "bytes_sent": 372, "bytes_received": 0, "request_id": null, @@ -5623,9 +5623,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 32.26632700000209, + "duration_ms": 34.63413700001183, "success": true, - "started_at_unix": 1789970864.5339792, + "started_at_unix": 1790057168.4698472, "bytes_sent": 245, "bytes_received": 263, "request_id": 30, @@ -5653,9 +5653,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.030917000003682915, + "duration_ms": 0.0391429999808679, "success": true, - "started_at_unix": 1789970864.566331, + "started_at_unix": 1790057168.5046308, "bytes_sent": 323, "bytes_received": 0, "request_id": null, @@ -5672,9 +5672,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02682999999592539, + "duration_ms": 0.02318299999615192, "success": true, - "started_at_unix": 1789970864.5663755, + "started_at_unix": 1790057168.5046835, "bytes_sent": 372, "bytes_received": 0, "request_id": null, @@ -5691,9 +5691,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 39.38661900002671, + "duration_ms": 37.89401900002076, "success": true, - "started_at_unix": 1789970864.5664148, + "started_at_unix": 1790057168.5047185, "bytes_sent": 245, "bytes_received": 263, "request_id": 31, @@ -5721,9 +5721,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.029605000008814386, + "duration_ms": 0.04131700001153149, "success": true, - "started_at_unix": 1789970864.6058886, + "started_at_unix": 1790057168.5427344, "bytes_sent": 323, "bytes_received": 0, "request_id": null, @@ -5740,9 +5740,9 @@ { "kind": "notification", "method": "textDocument/didClose", - "duration_ms": 0.027090000003227033, + "duration_ms": 0.025197000013577053, "success": true, - "started_at_unix": 1789970864.6060529, + "started_at_unix": 1790057168.54291, "bytes_sent": 202, "bytes_received": 0, "request_id": null, @@ -5755,9 +5755,9 @@ { "kind": "request", "method": "shutdown", - "duration_ms": 2.1232559999759815, + "duration_ms": 2.453147000039735, "success": true, - "started_at_unix": 1789970864.6060915, + "started_at_unix": 1790057168.5429475, "bytes_sent": 67, "bytes_received": 61, "request_id": 32, @@ -5775,9 +5775,9 @@ { "kind": "notification", "method": "exit", - "duration_ms": 0.02673000000186221, + "duration_ms": 0.02780199997687305, "success": true, - "started_at_unix": 1789970864.6082344, + "started_at_unix": 1790057168.5454206, "bytes_sent": 55, "bytes_received": 0, "request_id": null, @@ -5799,7 +5799,7 @@ "environment_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/.venv", "python_executable": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/.venv/bin/python", "success": true, - "total_duration_ms": 11137.015861000009, + "total_duration_ms": 10563.58312399999, "error_message": null, "summary": { "request_count": 32, @@ -5808,11 +5808,11 @@ "failure_count": 0, "bytes_sent": 18582, "bytes_received": 1678353, - "min_ms": 0.3767819999893618, - "max_ms": 4527.5690429999995, - "mean_ms": 344.23677468750304, - "median_ms": 11.944609499991543, - "p95_ms": 1532.498235300002, + "min_ms": 0.34941299998081377, + "max_ms": 4601.888202999988, + "mean_ms": 326.064404843752, + "median_ms": 10.479702499992527, + "p95_ms": 1610.072244500011, "result_summary": { "present_count": 31, "empty_count": 1, @@ -5868,27 +5868,27 @@ "by_method": { "textDocument/completion": { "point_count": 2, - "min_ms": 9.450060999995458, - "max_ms": 1288.0847250000045, - "mean_ms": 440.6243695000001, - "median_ms": 248.10333850000177, - "p95_ms": 1220.8630243500052 + "min_ms": 11.990897000032419, + "max_ms": 1258.9721240000245, + "mean_ms": 354.629125200006, + "median_ms": 239.0040054999929, + "p95_ms": 1203.7996031000146 }, "textDocument/hover": { "point_count": 2, - "min_ms": 0.5392550000067331, - "max_ms": 13.498897000005172, - "mean_ms": 6.605635500002904, - "median_ms": 5.984401500001013, - "p95_ms": 13.230344650008874 + "min_ms": 0.6485970000085217, + "max_ms": 16.964785000027405, + "mean_ms": 6.2405182000077275, + "median_ms": 5.897031000017705, + "p95_ms": 14.215081600013939 }, "textDocument/definition": { "point_count": 1, - "min_ms": 0.3767819999893618, - "max_ms": 0.5166220000205612, - "mean_ms": 0.4362148000097932, - "median_ms": 0.4236900000194055, - "p95_ms": 0.5060584000204926 + "min_ms": 0.34941299998081377, + "max_ms": 0.4371670000296035, + "mean_ms": 0.38404580000133137, + "median_ms": 0.3651119999972252, + "p95_ms": 0.43307540003070244 } }, "validation": { @@ -5914,11 +5914,11 @@ "failure_count": 0, "bytes_sent": 1395, "bytes_received": 925882, - "min_ms": 9.450060999995458, - "max_ms": 327.1456159999957, - "mean_ms": 78.22510780000016, - "median_ms": 14.232899000006682, - "p95_ms": 267.4742059999971, + "min_ms": 11.990897000032419, + "max_ms": 361.3364340000089, + "mean_ms": 86.40764080000736, + "median_ms": 14.879968999991888, + "p95_ms": 295.24418580000423, "result_summary": { "present_count": 5, "empty_count": 0, @@ -5978,9 +5978,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4527.5690429999995, + "duration_ms": 4601.888202999988, "success": true, - "started_at_unix": 1789970875.2282896, + "started_at_unix": 1790057179.25273, "bytes_sent": 279, "bytes_received": 12262, "request_id": 2, @@ -6008,9 +6008,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 327.1456159999957, + "duration_ms": 361.3364340000089, "success": true, - "started_at_unix": 1789970879.7563763, + "started_at_unix": 1790057183.855013, "bytes_sent": 279, "bytes_received": 129656, "request_id": 3, @@ -6038,9 +6038,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 28.788566000002902, + "duration_ms": 30.875192999985757, "success": true, - "started_at_unix": 1789970880.0874834, + "started_at_unix": 1790057184.2231665, "bytes_sent": 279, "bytes_received": 198413, "request_id": 4, @@ -6068,9 +6068,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 11.508397000000059, + "duration_ms": 12.9557110000178, "success": true, - "started_at_unix": 1789970880.1222804, + "started_at_unix": 1790057184.2646322, "bytes_sent": 279, "bytes_received": 199271, "request_id": 5, @@ -6098,9 +6098,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 14.232899000006682, + "duration_ms": 14.879968999991888, "success": true, - "started_at_unix": 1789970880.1450243, + "started_at_unix": 1790057184.2836025, "bytes_sent": 279, "bytes_received": 199271, "request_id": 6, @@ -6128,9 +6128,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 9.450060999995458, + "duration_ms": 11.990897000032419, "success": true, - "started_at_unix": 1789970880.165101, + "started_at_unix": 1790057184.3044574, "bytes_sent": 279, "bytes_received": 199271, "request_id": 7, @@ -6173,11 +6173,11 @@ "failure_count": 0, "bytes_sent": 1234, "bytes_received": 2694, - "min_ms": 0.5392550000067331, - "max_ms": 0.7419620000064242, - "mean_ms": 0.6495038000082332, - "median_ms": 0.6497800000033749, - "p95_ms": 0.7325164000064888, + "min_ms": 0.6485970000085217, + "max_ms": 2.511834000017643, + "mean_ms": 1.068665000002511, + "median_ms": 0.6837280000127066, + "p95_ms": 2.17451460000575, "result_summary": { "present_count": 5, "empty_count": 0, @@ -6237,9 +6237,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 3.1333560000064153, + "duration_ms": 4.403810999974667, "success": true, - "started_at_unix": 1789970880.1806297, + "started_at_unix": 1790057184.3284447, "bytes_sent": 246, "bytes_received": 538, "request_id": 8, @@ -6267,9 +6267,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.6497800000033749, + "duration_ms": 0.8252369999581788, "success": true, - "started_at_unix": 1789970880.1838672, + "started_at_unix": 1790057184.3329186, "bytes_sent": 246, "bytes_received": 538, "request_id": 9, @@ -6297,9 +6297,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.7419620000064242, + "duration_ms": 2.511834000017643, "success": true, - "started_at_unix": 1789970880.1845942, + "started_at_unix": 1790057184.3338127, "bytes_sent": 247, "bytes_received": 539, "request_id": 10, @@ -6327,9 +6327,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.694734000006747, + "duration_ms": 0.6739290000155052, "success": true, - "started_at_unix": 1789970880.1854112, + "started_at_unix": 1790057184.3363838, "bytes_sent": 247, "bytes_received": 539, "request_id": 11, @@ -6357,9 +6357,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.6217880000178866, + "duration_ms": 0.6485970000085217, "success": true, - "started_at_unix": 1789970880.186193, + "started_at_unix": 1790057184.3371143, "bytes_sent": 247, "bytes_received": 539, "request_id": 12, @@ -6387,9 +6387,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.5392550000067331, + "duration_ms": 0.6837280000127066, "success": true, - "started_at_unix": 1789970880.186893, + "started_at_unix": 1790057184.33782, "bytes_sent": 247, "bytes_received": 539, "request_id": 13, @@ -6432,11 +6432,11 @@ "failure_count": 0, "bytes_sent": 1260, "bytes_received": 1195, - "min_ms": 0.3767819999893618, - "max_ms": 0.5166220000205612, - "mean_ms": 0.4362148000097932, - "median_ms": 0.4236900000194055, - "p95_ms": 0.5060584000204926, + "min_ms": 0.34941299998081377, + "max_ms": 0.4371670000296035, + "mean_ms": 0.38404580000133137, + "median_ms": 0.3651119999972252, + "p95_ms": 0.43307540003070244, "result_summary": { "present_count": 5, "empty_count": 0, @@ -6496,9 +6496,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.160351000009996, + "duration_ms": 1.1633050000341427, "success": true, - "started_at_unix": 1789970880.1876118, + "started_at_unix": 1790057184.338681, "bytes_sent": 252, "bytes_received": 239, "request_id": 14, @@ -6526,9 +6526,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.46380400002021815, + "duration_ms": 0.4371670000296035, "success": true, - "started_at_unix": 1789970880.1888254, + "started_at_unix": 1790057184.3398874, "bytes_sent": 252, "bytes_received": 239, "request_id": 15, @@ -6556,9 +6556,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.4001759999994192, + "duration_ms": 0.41670900003509814, "success": true, - "started_at_unix": 1789970880.1893528, + "started_at_unix": 1790057184.3403785, "bytes_sent": 252, "bytes_received": 239, "request_id": 16, @@ -6586,9 +6586,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.4236900000194055, + "duration_ms": 0.3651119999972252, "success": true, - "started_at_unix": 1789970880.1898184, + "started_at_unix": 1790057184.3408456, "bytes_sent": 252, "bytes_received": 239, "request_id": 17, @@ -6616,9 +6616,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.3767819999893618, + "duration_ms": 0.34941299998081377, "success": true, - "started_at_unix": 1789970880.1903129, + "started_at_unix": 1790057184.3412616, "bytes_sent": 252, "bytes_received": 239, "request_id": 18, @@ -6646,9 +6646,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.5166220000205612, + "duration_ms": 0.3518279999639162, "success": true, - "started_at_unix": 1789970880.1907487, + "started_at_unix": 1790057184.3416624, "bytes_sent": 252, "bytes_received": 239, "request_id": 19, @@ -6691,11 +6691,11 @@ "failure_count": 0, "bytes_sent": 1400, "bytes_received": 588920, - "min_ms": 247.31206399999905, - "max_ms": 1288.0847250000045, - "mean_ms": 803.0236312, - "median_ms": 1092.1235859999854, - "p95_ms": 1258.2084136000049, + "min_ms": 237.2293389999527, + "max_ms": 1258.9721240000245, + "mean_ms": 622.8506096000046, + "median_ms": 240.90639100001, + "p95_ms": 1234.4510036000202, "result_summary": { "present_count": 5, "empty_count": 0, @@ -6755,9 +6755,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 1831.225859, + "duration_ms": 2039.194613999996, "success": true, - "started_at_unix": 1789970880.1915245, + "started_at_unix": 1790057184.342265, "bytes_sent": 280, "bytes_received": 117784, "request_id": 20, @@ -6785,9 +6785,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 1288.0847250000045, + "duration_ms": 1258.9721240000245, "success": true, - "started_at_unix": 1789970882.026971, + "started_at_unix": 1790057186.3855872, "bytes_sent": 280, "bytes_received": 117784, "request_id": 21, @@ -6815,9 +6815,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 1138.7031680000064, + "duration_ms": 1136.366522000003, "success": true, - "started_at_unix": 1789970883.3182213, + "started_at_unix": 1790057187.6478343, "bytes_sent": 280, "bytes_received": 117784, "request_id": 22, @@ -6845,9 +6845,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 247.31206399999905, + "duration_ms": 240.7786720000331, "success": true, - "started_at_unix": 1789970884.4600754, + "started_at_unix": 1790057188.7873309, "bytes_sent": 280, "bytes_received": 117784, "request_id": 23, @@ -6875,9 +6875,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 248.89461300000448, + "duration_ms": 240.90639100001, "success": true, - "started_at_unix": 1789970884.7105508, + "started_at_unix": 1790057189.0313008, "bytes_sent": 280, "bytes_received": 117784, "request_id": 24, @@ -6905,9 +6905,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 1092.1235859999854, + "duration_ms": 237.2293389999527, "success": true, - "started_at_unix": 1789970884.9626708, + "started_at_unix": 1790057189.2753847, "bytes_sent": 280, "bytes_received": 117784, "request_id": 25, @@ -6950,11 +6950,11 @@ "failure_count": 0, "bytes_sent": 1235, "bytes_received": 23090, - "min_ms": 11.226840999995602, - "max_ms": 13.498897000005172, - "mean_ms": 12.561767199997576, - "median_ms": 12.800161999990678, - "p95_ms": 13.379540400006817, + "min_ms": 9.282228000017767, + "max_ms": 16.964785000027405, + "mean_ms": 11.412371400012944, + "median_ms": 10.105071999987558, + "p95_ms": 15.742694600021421, "result_summary": { "present_count": 5, "empty_count": 0, @@ -7014,9 +7014,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 13.078403999998045, + "duration_ms": 12.948421999965376, "success": true, - "started_at_unix": 1789970886.0581346, + "started_at_unix": 1790057189.5160608, "bytes_sent": 247, "bytes_received": 4618, "request_id": 26, @@ -7044,9 +7044,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 13.498897000005172, + "duration_ms": 9.855439000034494, "success": true, - "started_at_unix": 1789970886.0714076, + "started_at_unix": 1790057189.529146, "bytes_sent": 247, "bytes_received": 4618, "request_id": 27, @@ -7074,9 +7074,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 12.902114000013398, + "duration_ms": 10.854332999997496, "success": true, - "started_at_unix": 1789970886.085133, + "started_at_unix": 1790057189.53919, "bytes_sent": 247, "bytes_received": 4618, "request_id": 28, @@ -7104,9 +7104,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 11.226840999995602, + "duration_ms": 9.282228000017767, "success": true, - "started_at_unix": 1789970886.0982442, + "started_at_unix": 1790057189.5502634, "bytes_sent": 247, "bytes_received": 4618, "request_id": 29, @@ -7134,9 +7134,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 12.380821999983027, + "duration_ms": 10.105071999987558, "success": true, - "started_at_unix": 1789970886.1096694, + "started_at_unix": 1790057189.559763, "bytes_sent": 247, "bytes_received": 4618, "request_id": 30, @@ -7164,9 +7164,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 12.800161999990678, + "duration_ms": 16.964785000027405, "success": true, - "started_at_unix": 1789970886.122253, + "started_at_unix": 1790057189.570173, "bytes_sent": 247, "bytes_received": 4618, "request_id": 31, @@ -7198,9 +7198,9 @@ { "kind": "request", "method": "initialize", - "duration_ms": 162.34702799999923, + "duration_ms": 161.34346999996296, "success": true, - "started_at_unix": 1789970875.065638, + "started_at_unix": 1790057179.0910642, "bytes_sent": 655, "bytes_received": 1070, "request_id": 1, @@ -7219,9 +7219,9 @@ { "kind": "notification", "method": "initialized", - "duration_ms": 0.024856999999656182, + "duration_ms": 0.023483999996187777, "success": true, - "started_at_unix": 1789970875.2280834, + "started_at_unix": 1790057179.2525003, "bytes_sent": 74, "bytes_received": 0, "request_id": null, @@ -7234,9 +7234,9 @@ { "kind": "notification", "method": "workspace/didChangeConfiguration", - "duration_ms": 0.01632000001450251, + "duration_ms": 0.016281000000617496, "success": true, - "started_at_unix": 1789970875.2281306, + "started_at_unix": 1790057179.2525456, "bytes_sent": 635, "bytes_received": 0, "request_id": null, @@ -7252,9 +7252,9 @@ { "kind": "notification", "method": "textDocument/didOpen", - "duration_ms": 0.01912499999434658, + "duration_ms": 0.020828999993227626, "success": true, - "started_at_unix": 1789970875.2282348, + "started_at_unix": 1790057179.2526748, "bytes_sent": 786, "bytes_received": 0, "request_id": null, @@ -7270,9 +7270,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4527.5690429999995, + "duration_ms": 4601.888202999988, "success": true, - "started_at_unix": 1789970875.2282896, + "started_at_unix": 1790057179.25273, "bytes_sent": 279, "bytes_received": 12262, "request_id": 2, @@ -7300,9 +7300,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 327.1456159999957, + "duration_ms": 361.3364340000089, "success": true, - "started_at_unix": 1789970879.7563763, + "started_at_unix": 1790057183.855013, "bytes_sent": 279, "bytes_received": 129656, "request_id": 3, @@ -7330,9 +7330,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 28.788566000002902, + "duration_ms": 30.875192999985757, "success": true, - "started_at_unix": 1789970880.0874834, + "started_at_unix": 1790057184.2231665, "bytes_sent": 279, "bytes_received": 198413, "request_id": 4, @@ -7360,9 +7360,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 11.508397000000059, + "duration_ms": 12.9557110000178, "success": true, - "started_at_unix": 1789970880.1222804, + "started_at_unix": 1790057184.2646322, "bytes_sent": 279, "bytes_received": 199271, "request_id": 5, @@ -7390,9 +7390,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 14.232899000006682, + "duration_ms": 14.879968999991888, "success": true, - "started_at_unix": 1789970880.1450243, + "started_at_unix": 1790057184.2836025, "bytes_sent": 279, "bytes_received": 199271, "request_id": 6, @@ -7420,9 +7420,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 9.450060999995458, + "duration_ms": 11.990897000032419, "success": true, - "started_at_unix": 1789970880.165101, + "started_at_unix": 1790057184.3044574, "bytes_sent": 279, "bytes_received": 199271, "request_id": 7, @@ -7450,9 +7450,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 3.1333560000064153, + "duration_ms": 4.403810999974667, "success": true, - "started_at_unix": 1789970880.1806297, + "started_at_unix": 1790057184.3284447, "bytes_sent": 246, "bytes_received": 538, "request_id": 8, @@ -7480,9 +7480,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.6497800000033749, + "duration_ms": 0.8252369999581788, "success": true, - "started_at_unix": 1789970880.1838672, + "started_at_unix": 1790057184.3329186, "bytes_sent": 246, "bytes_received": 538, "request_id": 9, @@ -7510,9 +7510,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.7419620000064242, + "duration_ms": 2.511834000017643, "success": true, - "started_at_unix": 1789970880.1845942, + "started_at_unix": 1790057184.3338127, "bytes_sent": 247, "bytes_received": 539, "request_id": 10, @@ -7540,9 +7540,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.694734000006747, + "duration_ms": 0.6739290000155052, "success": true, - "started_at_unix": 1789970880.1854112, + "started_at_unix": 1790057184.3363838, "bytes_sent": 247, "bytes_received": 539, "request_id": 11, @@ -7570,9 +7570,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.6217880000178866, + "duration_ms": 0.6485970000085217, "success": true, - "started_at_unix": 1789970880.186193, + "started_at_unix": 1790057184.3371143, "bytes_sent": 247, "bytes_received": 539, "request_id": 12, @@ -7600,9 +7600,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.5392550000067331, + "duration_ms": 0.6837280000127066, "success": true, - "started_at_unix": 1789970880.186893, + "started_at_unix": 1790057184.33782, "bytes_sent": 247, "bytes_received": 539, "request_id": 13, @@ -7630,9 +7630,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.160351000009996, + "duration_ms": 1.1633050000341427, "success": true, - "started_at_unix": 1789970880.1876118, + "started_at_unix": 1790057184.338681, "bytes_sent": 252, "bytes_received": 239, "request_id": 14, @@ -7660,9 +7660,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.46380400002021815, + "duration_ms": 0.4371670000296035, "success": true, - "started_at_unix": 1789970880.1888254, + "started_at_unix": 1790057184.3398874, "bytes_sent": 252, "bytes_received": 239, "request_id": 15, @@ -7690,9 +7690,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.4001759999994192, + "duration_ms": 0.41670900003509814, "success": true, - "started_at_unix": 1789970880.1893528, + "started_at_unix": 1790057184.3403785, "bytes_sent": 252, "bytes_received": 239, "request_id": 16, @@ -7720,9 +7720,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.4236900000194055, + "duration_ms": 0.3651119999972252, "success": true, - "started_at_unix": 1789970880.1898184, + "started_at_unix": 1790057184.3408456, "bytes_sent": 252, "bytes_received": 239, "request_id": 17, @@ -7750,9 +7750,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.3767819999893618, + "duration_ms": 0.34941299998081377, "success": true, - "started_at_unix": 1789970880.1903129, + "started_at_unix": 1790057184.3412616, "bytes_sent": 252, "bytes_received": 239, "request_id": 18, @@ -7780,9 +7780,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.5166220000205612, + "duration_ms": 0.3518279999639162, "success": true, - "started_at_unix": 1789970880.1907487, + "started_at_unix": 1790057184.3416624, "bytes_sent": 252, "bytes_received": 239, "request_id": 19, @@ -7810,9 +7810,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03355300000862371, + "duration_ms": 0.028503000010005053, "success": true, - "started_at_unix": 1789970880.1914783, + "started_at_unix": 1790057184.3422225, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -7829,9 +7829,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 1831.225859, + "duration_ms": 2039.194613999996, "success": true, - "started_at_unix": 1789970880.1915245, + "started_at_unix": 1790057184.342265, "bytes_sent": 280, "bytes_received": 117784, "request_id": 20, @@ -7859,9 +7859,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.05681600001139486, + "duration_ms": 0.047137999956703425, "success": true, - "started_at_unix": 1789970882.0268617, + "started_at_unix": 1790057186.3854659, "bytes_sent": 324, "bytes_received": 0, "request_id": null, @@ -7878,9 +7878,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.024155000005521288, + "duration_ms": 0.02366399996844848, "success": true, - "started_at_unix": 1789970882.0269327, + "started_at_unix": 1790057186.3855283, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -7897,9 +7897,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 1288.0847250000045, + "duration_ms": 1258.9721240000245, "success": true, - "started_at_unix": 1789970882.026971, + "started_at_unix": 1790057186.3855872, "bytes_sent": 280, "bytes_received": 117784, "request_id": 21, @@ -7927,9 +7927,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.030606999985138827, + "duration_ms": 0.035316000037255435, "success": true, - "started_at_unix": 1789970883.3181555, + "started_at_unix": 1790057187.6477513, "bytes_sent": 324, "bytes_received": 0, "request_id": null, @@ -7946,9 +7946,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.014676999995799633, + "duration_ms": 0.022120999972230493, "success": true, - "started_at_unix": 1789970883.318197, + "started_at_unix": 1790057187.6478, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -7965,9 +7965,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 1138.7031680000064, + "duration_ms": 1136.366522000003, "success": true, - "started_at_unix": 1789970883.3182213, + "started_at_unix": 1790057187.6478343, "bytes_sent": 280, "bytes_received": 117784, "request_id": 22, @@ -7995,9 +7995,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.024805999998989137, + "duration_ms": 0.024556000028042035, "success": true, - "started_at_unix": 1789970884.4600155, + "started_at_unix": 1790057188.7872727, "bytes_sent": 324, "bytes_received": 0, "request_id": null, @@ -8014,9 +8014,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.013946000024134264, + "duration_ms": 0.014227000008304458, "success": true, - "started_at_unix": 1789970884.460051, + "started_at_unix": 1790057188.7873075, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -8033,9 +8033,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 247.31206399999905, + "duration_ms": 240.7786720000331, "success": true, - "started_at_unix": 1789970884.4600754, + "started_at_unix": 1790057188.7873309, "bytes_sent": 280, "bytes_received": 117784, "request_id": 23, @@ -8063,9 +8063,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.031148000005032372, + "duration_ms": 0.032411000006504764, "success": true, - "started_at_unix": 1789970884.710482, + "started_at_unix": 1790057189.0312161, "bytes_sent": 324, "bytes_received": 0, "request_id": null, @@ -8082,9 +8082,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.015007999991212273, + "duration_ms": 0.02533700001094985, "success": true, - "started_at_unix": 1789970884.7105243, + "started_at_unix": 1790057189.0312626, "bytes_sent": 366, "bytes_received": 0, "request_id": null, @@ -8101,9 +8101,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 248.89461300000448, + "duration_ms": 240.90639100001, "success": true, - "started_at_unix": 1789970884.7105508, + "started_at_unix": 1790057189.0313008, "bytes_sent": 280, "bytes_received": 117784, "request_id": 24, @@ -8131,9 +8131,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02766200000792196, + "duration_ms": 0.03288099998144389, "success": true, - "started_at_unix": 1789970884.9626062, + "started_at_unix": 1790057189.275299, "bytes_sent": 325, "bytes_received": 0, "request_id": null, @@ -8150,9 +8150,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.014055999997708568, + "duration_ms": 0.025227000037375547, "success": true, - "started_at_unix": 1789970884.9626458, + "started_at_unix": 1790057189.2753458, "bytes_sent": 366, "bytes_received": 0, "request_id": null, @@ -8169,9 +8169,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 1092.1235859999854, + "duration_ms": 237.2293389999527, "success": true, - "started_at_unix": 1789970884.9626708, + "started_at_unix": 1790057189.2753847, "bytes_sent": 280, "bytes_received": 117784, "request_id": 25, @@ -8199,9 +8199,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.029756000003544614, + "duration_ms": 0.03293200001053265, "success": true, - "started_at_unix": 1789970886.0578897, + "started_at_unix": 1790057189.515732, "bytes_sent": 325, "bytes_received": 0, "request_id": null, @@ -8218,9 +8218,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02051799998525894, + "duration_ms": 0.029995999966558884, "success": true, - "started_at_unix": 1789970886.058104, + "started_at_unix": 1790057189.5160167, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -8237,9 +8237,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 13.078403999998045, + "duration_ms": 12.948421999965376, "success": true, - "started_at_unix": 1789970886.0581346, + "started_at_unix": 1790057189.5160608, "bytes_sent": 247, "bytes_received": 4618, "request_id": 26, @@ -8267,9 +8267,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.0345340000080796, + "duration_ms": 0.025057000016204256, "success": true, - "started_at_unix": 1789970886.0713296, + "started_at_unix": 1790057189.529091, "bytes_sent": 325, "bytes_received": 0, "request_id": null, @@ -8286,9 +8286,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02227199999538243, + "duration_ms": 0.01464700000042285, "success": true, - "started_at_unix": 1789970886.0713747, + "started_at_unix": 1790057189.529124, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -8305,9 +8305,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 13.498897000005172, + "duration_ms": 9.855439000034494, "success": true, - "started_at_unix": 1789970886.0714076, + "started_at_unix": 1790057189.529146, "bytes_sent": 247, "bytes_received": 4618, "request_id": 27, @@ -8335,9 +8335,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.031028000023525237, + "duration_ms": 0.028693999979623186, "success": true, - "started_at_unix": 1789970886.085063, + "started_at_unix": 1790057189.5391266, "bytes_sent": 325, "bytes_received": 0, "request_id": null, @@ -8354,9 +8354,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.019105000006902628, + "duration_ms": 0.016821999963667622, "success": true, - "started_at_unix": 1789970886.0851047, + "started_at_unix": 1790057189.5391648, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -8373,9 +8373,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 12.902114000013398, + "duration_ms": 10.854332999997496, "success": true, - "started_at_unix": 1789970886.085133, + "started_at_unix": 1790057189.53919, "bytes_sent": 247, "bytes_received": 4618, "request_id": 28, @@ -8403,9 +8403,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.026520000005803013, + "duration_ms": 0.028913999983615213, "success": true, - "started_at_unix": 1789970886.0981863, + "started_at_unix": 1790057189.5501842, "bytes_sent": 325, "bytes_received": 0, "request_id": null, @@ -8422,9 +8422,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.014036000010264615, + "duration_ms": 0.026047999995171267, "success": true, - "started_at_unix": 1789970886.0982215, + "started_at_unix": 1790057189.5502245, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -8441,9 +8441,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 11.226840999995602, + "duration_ms": 9.282228000017767, "success": true, - "started_at_unix": 1789970886.0982442, + "started_at_unix": 1790057189.5502634, "bytes_sent": 247, "bytes_received": 4618, "request_id": 29, @@ -8471,9 +8471,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.029514999994262325, + "duration_ms": 0.028864000000794476, "success": true, - "started_at_unix": 1789970886.1095867, + "started_at_unix": 1790057189.5596795, "bytes_sent": 325, "bytes_received": 0, "request_id": null, @@ -8490,9 +8490,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.026359000003139954, + "duration_ms": 0.02824300003112512, "success": true, - "started_at_unix": 1789970886.1096284, + "started_at_unix": 1790057189.5597203, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -8509,9 +8509,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 12.380821999983027, + "duration_ms": 10.105071999987558, "success": true, - "started_at_unix": 1789970886.1096694, + "started_at_unix": 1790057189.559763, "bytes_sent": 247, "bytes_received": 4618, "request_id": 30, @@ -8539,9 +8539,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.026369000011072785, + "duration_ms": 0.040024999975685205, "success": true, - "started_at_unix": 1789970886.1221933, + "started_at_unix": 1790057189.5700798, "bytes_sent": 325, "bytes_received": 0, "request_id": null, @@ -8558,9 +8558,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.015047999994521888, + "duration_ms": 0.02765199997156742, "success": true, - "started_at_unix": 1789970886.1222293, + "started_at_unix": 1790057189.570133, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -8577,9 +8577,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 12.800161999990678, + "duration_ms": 16.964785000027405, "success": true, - "started_at_unix": 1789970886.122253, + "started_at_unix": 1790057189.570173, "bytes_sent": 247, "bytes_received": 4618, "request_id": 31, @@ -8607,9 +8607,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.035545999992336874, + "duration_ms": 0.03682900000967493, "success": true, - "started_at_unix": 1789970886.135225, + "started_at_unix": 1790057189.5873191, "bytes_sent": 325, "bytes_received": 0, "request_id": null, @@ -8626,9 +8626,9 @@ { "kind": "notification", "method": "textDocument/didClose", - "duration_ms": 0.024155000005521288, + "duration_ms": 0.020978999998533254, "success": true, - "started_at_unix": 1789970886.1353986, + "started_at_unix": 1790057189.5874774, "bytes_sent": 204, "bytes_received": 0, "request_id": null, @@ -8641,9 +8641,9 @@ { "kind": "request", "method": "shutdown", - "duration_ms": 2.5816250000048058, + "duration_ms": 2.502466999999342, "success": true, - "started_at_unix": 1789970886.1354325, + "started_at_unix": 1790057189.587508, "bytes_sent": 67, "bytes_received": 61, "request_id": 32, @@ -8661,9 +8661,9 @@ { "kind": "notification", "method": "exit", - "duration_ms": 0.028613000012001066, + "duration_ms": 0.027692000003298745, "success": true, - "started_at_unix": 1789970886.1380374, + "started_at_unix": 1790057189.5900311, "bytes_sent": 55, "bytes_received": 0, "request_id": null, @@ -8685,7 +8685,7 @@ "environment_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/sqlalchemy/.venv", "python_executable": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/sqlalchemy/.venv/bin/python", "success": true, - "total_duration_ms": 3678.1578249999993, + "total_duration_ms": 3562.7550379999775, "error_message": null, "summary": { "request_count": 32, @@ -8694,11 +8694,11 @@ "failure_count": 0, "bytes_sent": 18918, "bytes_received": 140023, - "min_ms": 0.3310269999872162, - "max_ms": 1941.23777599998, - "mean_ms": 113.69391646874672, - "median_ms": 7.531603999993308, - "p95_ms": 194.47519419999816, + "min_ms": 0.3490629999873818, + "max_ms": 1859.6832160000076, + "mean_ms": 110.08434937500411, + "median_ms": 6.967343500008383, + "p95_ms": 172.68935835000718, "result_summary": { "present_count": 31, "empty_count": 1, @@ -8754,27 +8754,27 @@ "by_method": { "textDocument/completion": { "point_count": 2, - "min_ms": 5.10663700001146, - "max_ms": 224.67286500000228, - "mean_ms": 76.90269750000027, - "median_ms": 62.38869050000062, - "p95_ms": 188.46044610000368 + "min_ms": 4.501403000006121, + "max_ms": 179.45265500003416, + "mean_ms": 73.29074910001054, + "median_ms": 56.465055500012795, + "p95_ms": 173.61151550001352 }, "textDocument/hover": { "point_count": 2, - "min_ms": 1.0783490000108031, - "max_ms": 104.66934600000855, - "mean_ms": 47.90257939999378, - "median_ms": 43.040764999986436, - "p95_ms": 102.10582064999585 + "min_ms": 0.9929149999834408, + "max_ms": 104.9780860000169, + "mean_ms": 49.70780160001027, + "median_ms": 44.85446450001973, + "p95_ms": 104.26885045000915 }, "textDocument/definition": { "point_count": 1, - "min_ms": 0.3310269999872162, - "max_ms": 0.4713040000012825, - "mean_ms": 0.3968903999975737, - "median_ms": 0.4046729999913623, - "p95_ms": 0.4613202000030014 + "min_ms": 0.3490629999873818, + "max_ms": 0.4131020000386343, + "mean_ms": 0.3792287999999644, + "median_ms": 0.369460000001709, + "p95_ms": 0.40996020002239675 } }, "validation": { @@ -8800,11 +8800,11 @@ "failure_count": 0, "bytes_sent": 1415, "bytes_received": 1825, - "min_ms": 5.10663700001146, - "max_ms": 15.602513000004592, - "mean_ms": 8.154033199997457, - "median_ms": 7.397639999993544, - "p95_ms": 13.970627200001216, + "min_ms": 4.501403000006121, + "max_ms": 11.402648000000681, + "mean_ms": 7.049134000010326, + "median_ms": 6.841477000023133, + "p95_ms": 10.540760399999272, "result_summary": { "present_count": 5, "empty_count": 0, @@ -8864,9 +8864,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 1941.23777599998, + "duration_ms": 1859.6832160000076, "success": true, - "started_at_unix": 1789970891.1899462, + "started_at_unix": 1790057194.779431, "bytes_sent": 283, "bytes_received": 365, "request_id": 2, @@ -8894,9 +8894,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 15.602513000004592, + "duration_ms": 11.402648000000681, "success": true, - "started_at_unix": 1789970893.1312625, + "started_at_unix": 1790057196.6392002, "bytes_sent": 283, "bytes_received": 365, "request_id": 3, @@ -8924,9 +8924,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 7.397639999993544, + "duration_ms": 7.093209999993633, "success": true, - "started_at_unix": 1789970893.1469874, + "started_at_unix": 1790057196.6507013, "bytes_sent": 283, "bytes_received": 365, "request_id": 4, @@ -8954,9 +8954,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 5.220291999989968, + "duration_ms": 5.406932000028064, "success": true, - "started_at_unix": 1789970893.1544914, + "started_at_unix": 1790057196.6578803, "bytes_sent": 283, "bytes_received": 365, "request_id": 5, @@ -8984,9 +8984,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 5.10663700001146, + "duration_ms": 4.501403000006121, "success": true, - "started_at_unix": 1789970893.1597857, + "started_at_unix": 1790057196.6633532, "bytes_sent": 283, "bytes_received": 365, "request_id": 6, @@ -9014,9 +9014,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 7.443083999987721, + "duration_ms": 6.841477000023133, "success": true, - "started_at_unix": 1789970893.1649885, + "started_at_unix": 1790057196.6679387, "bytes_sent": 283, "bytes_received": 365, "request_id": 7, @@ -9059,11 +9059,11 @@ "failure_count": 0, "bytes_sent": 1254, "bytes_received": 55094, - "min_ms": 1.0783490000108031, - "max_ms": 1.3674969999897257, - "mean_ms": 1.247136999995746, - "median_ms": 1.3047159999928226, - "p95_ms": 1.3598375999890777, + "min_ms": 0.9929149999834408, + "max_ms": 1.2666680000279484, + "mean_ms": 1.1283248000040658, + "median_ms": 1.1636250000037762, + "p95_ms": 1.2466344000245044, "result_summary": { "present_count": 5, "empty_count": 0, @@ -9123,9 +9123,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 7.620123999998896, + "duration_ms": 5.190610999989076, "success": true, - "started_at_unix": 1789970893.1726077, + "started_at_unix": 1790057196.6749372, "bytes_sent": 250, "bytes_received": 11018, "request_id": 8, @@ -9153,9 +9153,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 1.3047159999928226, + "duration_ms": 1.1665000000107284, "success": true, - "started_at_unix": 1789970893.1803546, + "started_at_unix": 1790057196.6802466, "bytes_sent": 250, "bytes_received": 11018, "request_id": 9, @@ -9183,9 +9183,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 1.3674969999897257, + "duration_ms": 1.1636250000037762, "success": true, - "started_at_unix": 1789970893.1819038, + "started_at_unix": 1790057196.6816595, "bytes_sent": 251, "bytes_received": 11019, "request_id": 10, @@ -9213,9 +9213,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 1.0783490000108031, + "duration_ms": 1.051915999994435, "success": true, - "started_at_unix": 1789970893.183439, + "started_at_unix": 1790057196.6830006, "bytes_sent": 251, "bytes_received": 11019, "request_id": 11, @@ -9243,9 +9243,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 1.3291999999864856, + "duration_ms": 1.2666680000279484, "success": true, - "started_at_unix": 1789970893.1846776, + "started_at_unix": 1790057196.68423, "bytes_sent": 251, "bytes_received": 11019, "request_id": 12, @@ -9273,9 +9273,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 1.155922999998893, + "duration_ms": 0.9929149999834408, "success": true, - "started_at_unix": 1789970893.186186, + "started_at_unix": 1790057196.6857052, "bytes_sent": 251, "bytes_received": 11019, "request_id": 13, @@ -9318,11 +9318,11 @@ "failure_count": 0, "bytes_sent": 1280, "bytes_received": 1225, - "min_ms": 0.3310269999872162, - "max_ms": 0.4713040000012825, - "mean_ms": 0.3968903999975737, - "median_ms": 0.4046729999913623, - "p95_ms": 0.4613202000030014, + "min_ms": 0.3490629999873818, + "max_ms": 0.4131020000386343, + "mean_ms": 0.3792287999999644, + "median_ms": 0.369460000001709, + "p95_ms": 0.40996020002239675, "result_summary": { "present_count": 5, "empty_count": 0, @@ -9382,9 +9382,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.1485889999960364, + "duration_ms": 1.136543999962214, "success": true, - "started_at_unix": 1789970893.1875935, + "started_at_unix": 1790057196.6869519, "bytes_sent": 256, "bytes_received": 245, "request_id": 14, @@ -9412,9 +9412,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.42138500000987733, + "duration_ms": 0.4131020000386343, "success": true, - "started_at_unix": 1789970893.1887808, + "started_at_unix": 1790057196.6881318, "bytes_sent": 256, "bytes_received": 245, "request_id": 15, @@ -9442,9 +9442,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.3560629999981302, + "duration_ms": 0.369460000001709, "success": true, - "started_at_unix": 1789970893.1892495, + "started_at_unix": 1790057196.6886263, "bytes_sent": 256, "bytes_received": 245, "request_id": 16, @@ -9472,9 +9472,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.4046729999913623, + "duration_ms": 0.3490629999873818, "success": true, - "started_at_unix": 1789970893.1896498, + "started_at_unix": 1790057196.6890483, "bytes_sent": 256, "bytes_received": 245, "request_id": 17, @@ -9502,9 +9502,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.3310269999872162, + "duration_ms": 0.36712600001465034, "success": true, - "started_at_unix": 1789970893.1901002, + "started_at_unix": 1790057196.689449, "bytes_sent": 256, "bytes_received": 245, "request_id": 18, @@ -9532,9 +9532,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.4713040000012825, + "duration_ms": 0.3973929999574466, "success": true, - "started_at_unix": 1789970893.1904943, + "started_at_unix": 1790057196.6898868, "bytes_sent": 256, "bytes_received": 245, "request_id": 19, @@ -9577,11 +9577,11 @@ "failure_count": 0, "bytes_sent": 1420, "bytes_received": 52070, - "min_ms": 109.17486799999665, - "max_ms": 224.67286500000228, - "mean_ms": 145.6513618000031, - "median_ms": 131.2846630000024, - "p95_ms": 208.57845660000294, + "min_ms": 101.52746300002491, + "max_ms": 179.45265500003416, + "mean_ms": 139.53236420001076, + "median_ms": 131.25842599998805, + "p95_ms": 176.856593000025, "result_summary": { "present_count": 5, "empty_count": 0, @@ -9641,9 +9641,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 169.7680089999949, + "duration_ms": 167.1557519999851, "success": true, - "started_at_unix": 1789970893.1912904, + "started_at_unix": 1790057196.6906304, "bytes_sent": 284, "bytes_received": 10414, "request_id": 20, @@ -9671,9 +9671,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 224.67286500000228, + "duration_ms": 166.4723449999883, "success": true, - "started_at_unix": 1789970893.3615482, + "started_at_unix": 1790057196.8581357, "bytes_sent": 284, "bytes_received": 10414, "request_id": 21, @@ -9701,9 +9701,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 144.20082300000558, + "duration_ms": 179.45265500003416, "success": true, - "started_at_unix": 1789970893.5866861, + "started_at_unix": 1790057197.0252867, "bytes_sent": 284, "bytes_received": 10414, "request_id": 22, @@ -9731,9 +9731,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 131.2846630000024, + "duration_ms": 131.25842599998805, "success": true, - "started_at_unix": 1789970893.7313516, + "started_at_unix": 1790057197.2052193, "bytes_sent": 284, "bytes_received": 10414, "request_id": 23, @@ -9761,9 +9761,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 118.92359000000852, + "duration_ms": 118.95093200001838, "success": true, - "started_at_unix": 1789970893.8634293, + "started_at_unix": 1790057197.337249, "bytes_sent": 284, "bytes_received": 10414, "request_id": 24, @@ -9791,9 +9791,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 109.17486799999665, + "duration_ms": 101.52746300002491, "success": true, - "started_at_unix": 1789970893.9828687, + "started_at_unix": 1790057197.4566817, "bytes_sent": 284, "bytes_received": 10414, "request_id": 25, @@ -9836,11 +9836,11 @@ "failure_count": 0, "bytes_sent": 1255, "bytes_received": 5530, - "min_ms": 84.71403299998315, - "max_ms": 104.66934600000855, - "mean_ms": 94.55802179999182, - "median_ms": 95.54234199998746, - "p95_ms": 103.5300014000029, + "min_ms": 88.44226100001151, + "max_ms": 104.9780860000169, + "mean_ms": 98.28727840001648, + "median_ms": 98.83408000001737, + "p95_ms": 104.66287020001346, "result_summary": { "present_count": 5, "empty_count": 0, @@ -9900,9 +9900,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 102.16948999999431, + "duration_ms": 95.61489300000403, "success": true, - "started_at_unix": 1789970894.0927951, + "started_at_unix": 1790057197.5588775, "bytes_sent": 251, "bytes_received": 1106, "request_id": 26, @@ -9930,9 +9930,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 104.66934600000855, + "duration_ms": 103.40200699999968, "success": true, - "started_at_unix": 1789970894.195131, + "started_at_unix": 1790057197.654705, "bytes_sent": 251, "bytes_received": 1106, "request_id": 27, @@ -9960,9 +9960,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 84.71403299998315, + "duration_ms": 88.44226100001151, "success": true, - "started_at_unix": 1789970894.30001, + "started_at_unix": 1790057197.7583265, "bytes_sent": 251, "bytes_received": 1106, "request_id": 28, @@ -9990,9 +9990,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 98.97262299998033, + "duration_ms": 95.77995800003691, "success": true, - "started_at_unix": 1789970894.3849144, + "started_at_unix": 1790057197.8469553, "bytes_sent": 251, "bytes_received": 1106, "request_id": 29, @@ -10020,9 +10020,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 88.89176499999962, + "duration_ms": 104.9780860000169, "success": true, - "started_at_unix": 1789970894.4840486, + "started_at_unix": 1790057197.942956, "bytes_sent": 251, "bytes_received": 1106, "request_id": 30, @@ -10050,9 +10050,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 95.54234199998746, + "duration_ms": 98.83408000001737, "success": true, - "started_at_unix": 1789970894.573126, + "started_at_unix": 1790057198.0480983, "bytes_sent": 251, "bytes_received": 1106, "request_id": 31, @@ -10084,9 +10084,9 @@ { "kind": "request", "method": "initialize", - "duration_ms": 164.15295999999557, + "duration_ms": 159.72765800000843, "success": true, - "started_at_unix": 1789970891.0254555, + "started_at_unix": 1790057194.619413, "bytes_sent": 667, "bytes_received": 1070, "request_id": 1, @@ -10105,9 +10105,9 @@ { "kind": "notification", "method": "initialized", - "duration_ms": 0.02375400001142225, + "duration_ms": 0.023944000020037493, "success": true, - "started_at_unix": 1789970891.189704, + "started_at_unix": 1790057194.7792327, "bytes_sent": 74, "bytes_received": 0, "request_id": null, @@ -10120,9 +10120,9 @@ { "kind": "notification", "method": "workspace/didChangeConfiguration", - "duration_ms": 0.046647000004895744, + "duration_ms": 0.015219000033539487, "success": true, - "started_at_unix": 1789970891.1897502, + "started_at_unix": 1790057194.7792785, "bytes_sent": 651, "bytes_received": 0, "request_id": null, @@ -10138,9 +10138,9 @@ { "kind": "notification", "method": "textDocument/didOpen", - "duration_ms": 0.019726000004993693, + "duration_ms": 0.018072999978357984, "success": true, - "started_at_unix": 1789970891.1898918, + "started_at_unix": 1790057194.77938, "bytes_sent": 730, "bytes_received": 0, "request_id": null, @@ -10156,9 +10156,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 1941.23777599998, + "duration_ms": 1859.6832160000076, "success": true, - "started_at_unix": 1789970891.1899462, + "started_at_unix": 1790057194.779431, "bytes_sent": 283, "bytes_received": 365, "request_id": 2, @@ -10186,9 +10186,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 15.602513000004592, + "duration_ms": 11.402648000000681, "success": true, - "started_at_unix": 1789970893.1312625, + "started_at_unix": 1790057196.6392002, "bytes_sent": 283, "bytes_received": 365, "request_id": 3, @@ -10216,9 +10216,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 7.397639999993544, + "duration_ms": 7.093209999993633, "success": true, - "started_at_unix": 1789970893.1469874, + "started_at_unix": 1790057196.6507013, "bytes_sent": 283, "bytes_received": 365, "request_id": 4, @@ -10246,9 +10246,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 5.220291999989968, + "duration_ms": 5.406932000028064, "success": true, - "started_at_unix": 1789970893.1544914, + "started_at_unix": 1790057196.6578803, "bytes_sent": 283, "bytes_received": 365, "request_id": 5, @@ -10276,9 +10276,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 5.10663700001146, + "duration_ms": 4.501403000006121, "success": true, - "started_at_unix": 1789970893.1597857, + "started_at_unix": 1790057196.6633532, "bytes_sent": 283, "bytes_received": 365, "request_id": 6, @@ -10306,9 +10306,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 7.443083999987721, + "duration_ms": 6.841477000023133, "success": true, - "started_at_unix": 1789970893.1649885, + "started_at_unix": 1790057196.6679387, "bytes_sent": 283, "bytes_received": 365, "request_id": 7, @@ -10336,9 +10336,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 7.620123999998896, + "duration_ms": 5.190610999989076, "success": true, - "started_at_unix": 1789970893.1726077, + "started_at_unix": 1790057196.6749372, "bytes_sent": 250, "bytes_received": 11018, "request_id": 8, @@ -10366,9 +10366,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 1.3047159999928226, + "duration_ms": 1.1665000000107284, "success": true, - "started_at_unix": 1789970893.1803546, + "started_at_unix": 1790057196.6802466, "bytes_sent": 250, "bytes_received": 11018, "request_id": 9, @@ -10396,9 +10396,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 1.3674969999897257, + "duration_ms": 1.1636250000037762, "success": true, - "started_at_unix": 1789970893.1819038, + "started_at_unix": 1790057196.6816595, "bytes_sent": 251, "bytes_received": 11019, "request_id": 10, @@ -10426,9 +10426,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 1.0783490000108031, + "duration_ms": 1.051915999994435, "success": true, - "started_at_unix": 1789970893.183439, + "started_at_unix": 1790057196.6830006, "bytes_sent": 251, "bytes_received": 11019, "request_id": 11, @@ -10456,9 +10456,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 1.3291999999864856, + "duration_ms": 1.2666680000279484, "success": true, - "started_at_unix": 1789970893.1846776, + "started_at_unix": 1790057196.68423, "bytes_sent": 251, "bytes_received": 11019, "request_id": 12, @@ -10486,9 +10486,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 1.155922999998893, + "duration_ms": 0.9929149999834408, "success": true, - "started_at_unix": 1789970893.186186, + "started_at_unix": 1790057196.6857052, "bytes_sent": 251, "bytes_received": 11019, "request_id": 13, @@ -10516,9 +10516,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.1485889999960364, + "duration_ms": 1.136543999962214, "success": true, - "started_at_unix": 1789970893.1875935, + "started_at_unix": 1790057196.6869519, "bytes_sent": 256, "bytes_received": 245, "request_id": 14, @@ -10546,9 +10546,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.42138500000987733, + "duration_ms": 0.4131020000386343, "success": true, - "started_at_unix": 1789970893.1887808, + "started_at_unix": 1790057196.6881318, "bytes_sent": 256, "bytes_received": 245, "request_id": 15, @@ -10576,9 +10576,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.3560629999981302, + "duration_ms": 0.369460000001709, "success": true, - "started_at_unix": 1789970893.1892495, + "started_at_unix": 1790057196.6886263, "bytes_sent": 256, "bytes_received": 245, "request_id": 16, @@ -10606,9 +10606,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.4046729999913623, + "duration_ms": 0.3490629999873818, "success": true, - "started_at_unix": 1789970893.1896498, + "started_at_unix": 1790057196.6890483, "bytes_sent": 256, "bytes_received": 245, "request_id": 17, @@ -10636,9 +10636,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.3310269999872162, + "duration_ms": 0.36712600001465034, "success": true, - "started_at_unix": 1789970893.1901002, + "started_at_unix": 1790057196.689449, "bytes_sent": 256, "bytes_received": 245, "request_id": 18, @@ -10666,9 +10666,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.4713040000012825, + "duration_ms": 0.3973929999574466, "success": true, - "started_at_unix": 1789970893.1904943, + "started_at_unix": 1790057196.6898868, "bytes_sent": 256, "bytes_received": 245, "request_id": 19, @@ -10696,9 +10696,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03359199999408702, + "duration_ms": 0.07074299998066635, "success": true, - "started_at_unix": 1789970893.1912434, + "started_at_unix": 1790057196.690545, "bytes_sent": 381, "bytes_received": 0, "request_id": null, @@ -10715,9 +10715,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 169.7680089999949, + "duration_ms": 167.1557519999851, "success": true, - "started_at_unix": 1789970893.1912904, + "started_at_unix": 1790057196.6906304, "bytes_sent": 284, "bytes_received": 10414, "request_id": 20, @@ -10745,9 +10745,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.032250000003841706, + "duration_ms": 0.03454500000543703, "success": true, - "started_at_unix": 1789970893.361472, + "started_at_unix": 1790057196.858048, "bytes_sent": 328, "bytes_received": 0, "request_id": null, @@ -10764,9 +10764,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.020237999990513345, + "duration_ms": 0.026118999983282265, "success": true, - "started_at_unix": 1789970893.361517, + "started_at_unix": 1790057196.8580968, "bytes_sent": 381, "bytes_received": 0, "request_id": null, @@ -10783,9 +10783,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 224.67286500000228, + "duration_ms": 166.4723449999883, "success": true, - "started_at_unix": 1789970893.3615482, + "started_at_unix": 1790057196.8581357, "bytes_sent": 284, "bytes_received": 10414, "request_id": 21, @@ -10813,9 +10813,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.027049999999917418, + "duration_ms": 0.029504999986329494, "success": true, - "started_at_unix": 1789970893.5866268, + "started_at_unix": 1790057197.0252151, "bytes_sent": 328, "bytes_received": 0, "request_id": null, @@ -10832,9 +10832,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.013765999995030143, + "duration_ms": 0.018904999990354554, "success": true, - "started_at_unix": 1789970893.586664, + "started_at_unix": 1790057197.0252569, "bytes_sent": 381, "bytes_received": 0, "request_id": null, @@ -10851,9 +10851,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 144.20082300000558, + "duration_ms": 179.45265500003416, "success": true, - "started_at_unix": 1789970893.5866861, + "started_at_unix": 1790057197.0252867, "bytes_sent": 284, "bytes_received": 10414, "request_id": 22, @@ -10881,9 +10881,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.029164000011405733, + "duration_ms": 0.03226000001177454, "success": true, - "started_at_unix": 1789970893.731288, + "started_at_unix": 1790057197.2051349, "bytes_sent": 328, "bytes_received": 0, "request_id": null, @@ -10900,9 +10900,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.014677999985224233, + "duration_ms": 0.02533699995410643, "success": true, - "started_at_unix": 1789970893.7313275, + "started_at_unix": 1790057197.2051806, "bytes_sent": 381, "bytes_received": 0, "request_id": null, @@ -10919,9 +10919,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 131.2846630000024, + "duration_ms": 131.25842599998805, "success": true, - "started_at_unix": 1789970893.7313516, + "started_at_unix": 1790057197.2052193, "bytes_sent": 284, "bytes_received": 10414, "request_id": 23, @@ -10949,9 +10949,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03742000001238921, + "duration_ms": 0.03807199999528166, "success": true, - "started_at_unix": 1789970893.8633378, + "started_at_unix": 1790057197.337162, "bytes_sent": 328, "bytes_received": 0, "request_id": null, @@ -10968,9 +10968,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.026560000009112628, + "duration_ms": 0.021831000026395486, "success": true, - "started_at_unix": 1789970893.8633897, + "started_at_unix": 1790057197.3372142, "bytes_sent": 382, "bytes_received": 0, "request_id": null, @@ -10987,9 +10987,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 118.92359000000852, + "duration_ms": 118.95093200001838, "success": true, - "started_at_unix": 1789970893.8634293, + "started_at_unix": 1790057197.337249, "bytes_sent": 284, "bytes_received": 10414, "request_id": 24, @@ -11017,9 +11017,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03441399999815076, + "duration_ms": 0.031228000011651602, "success": true, - "started_at_unix": 1789970893.9827514, + "started_at_unix": 1790057197.4566154, "bytes_sent": 329, "bytes_received": 0, "request_id": null, @@ -11036,9 +11036,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.026149000007080758, + "duration_ms": 0.014967999959480949, "success": true, - "started_at_unix": 1789970893.9828296, + "started_at_unix": 1790057197.4566574, "bytes_sent": 382, "bytes_received": 0, "request_id": null, @@ -11055,9 +11055,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 109.17486799999665, + "duration_ms": 101.52746300002491, "success": true, - "started_at_unix": 1789970893.9828687, + "started_at_unix": 1790057197.4566817, "bytes_sent": 284, "bytes_received": 10414, "request_id": 25, @@ -11085,9 +11085,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03221000000053209, + "duration_ms": 0.030106999986401206, "success": true, - "started_at_unix": 1789970894.0924408, + "started_at_unix": 1790057197.5586305, "bytes_sent": 329, "bytes_received": 0, "request_id": null, @@ -11104,9 +11104,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02970500000287757, + "duration_ms": 0.020418000019617466, "success": true, - "started_at_unix": 1789970894.092721, + "started_at_unix": 1790057197.5588474, "bytes_sent": 381, "bytes_received": 0, "request_id": null, @@ -11123,9 +11123,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 102.16948999999431, + "duration_ms": 95.61489300000403, "success": true, - "started_at_unix": 1789970894.0927951, + "started_at_unix": 1790057197.5588775, "bytes_sent": 251, "bytes_received": 1106, "request_id": 26, @@ -11153,9 +11153,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.033893000022544584, + "duration_ms": 0.0402349999717444, "success": true, - "started_at_unix": 1789970894.1950452, + "started_at_unix": 1790057197.6546202, "bytes_sent": 329, "bytes_received": 0, "request_id": null, @@ -11172,9 +11172,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.025096000001667562, + "duration_ms": 0.02104000003555484, "success": true, - "started_at_unix": 1789970894.1950924, + "started_at_unix": 1790057197.6546733, "bytes_sent": 381, "bytes_received": 0, "request_id": null, @@ -11191,9 +11191,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 104.66934600000855, + "duration_ms": 103.40200699999968, "success": true, - "started_at_unix": 1789970894.195131, + "started_at_unix": 1790057197.654705, "bytes_sent": 251, "bytes_received": 1106, "request_id": 27, @@ -11221,9 +11221,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.038452000012512144, + "duration_ms": 0.040034999983618036, "success": true, - "started_at_unix": 1789970894.299928, + "started_at_unix": 1790057197.7582393, "bytes_sent": 329, "bytes_received": 0, "request_id": null, @@ -11240,9 +11240,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.020889000012402903, + "duration_ms": 0.022342000022490538, "success": true, - "started_at_unix": 1789970894.2999787, + "started_at_unix": 1790057197.758293, "bytes_sent": 381, "bytes_received": 0, "request_id": null, @@ -11259,9 +11259,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 84.71403299998315, + "duration_ms": 88.44226100001151, "success": true, - "started_at_unix": 1789970894.30001, + "started_at_unix": 1790057197.7583265, "bytes_sent": 251, "bytes_received": 1106, "request_id": 28, @@ -11289,9 +11289,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.029335000022001623, + "duration_ms": 0.03361300002779899, "success": true, - "started_at_unix": 1789970894.3848512, + "started_at_unix": 1790057197.8468695, "bytes_sent": 329, "bytes_received": 0, "request_id": null, @@ -11308,9 +11308,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.014647999989847449, + "duration_ms": 0.025778000008358504, "success": true, - "started_at_unix": 1789970894.3848917, + "started_at_unix": 1790057197.846917, "bytes_sent": 381, "bytes_received": 0, "request_id": null, @@ -11327,9 +11327,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 98.97262299998033, + "duration_ms": 95.77995800003691, "success": true, - "started_at_unix": 1789970894.3849144, + "started_at_unix": 1790057197.8469553, "bytes_sent": 251, "bytes_received": 1106, "request_id": 29, @@ -11357,9 +11357,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.028843999984928814, + "duration_ms": 0.03851200000326571, "success": true, - "started_at_unix": 1789970894.4839852, + "started_at_unix": 1790057197.942868, "bytes_sent": 329, "bytes_received": 0, "request_id": null, @@ -11376,9 +11376,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.015039000004435366, + "duration_ms": 0.02333300000145755, "success": true, - "started_at_unix": 1789970894.484024, + "started_at_unix": 1790057197.9429202, "bytes_sent": 381, "bytes_received": 0, "request_id": null, @@ -11395,9 +11395,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 88.89176499999962, + "duration_ms": 104.9780860000169, "success": true, - "started_at_unix": 1789970894.4840486, + "started_at_unix": 1790057197.942956, "bytes_sent": 251, "bytes_received": 1106, "request_id": 30, @@ -11425,9 +11425,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.034153999990849115, + "duration_ms": 0.030235999986416573, "success": true, - "started_at_unix": 1789970894.573051, + "started_at_unix": 1790057198.048033, "bytes_sent": 329, "bytes_received": 0, "request_id": null, @@ -11444,9 +11444,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.018344000011438766, + "duration_ms": 0.015128999962144007, "success": true, - "started_at_unix": 1789970894.5730975, + "started_at_unix": 1790057198.0480742, "bytes_sent": 381, "bytes_received": 0, "request_id": null, @@ -11463,9 +11463,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 95.54234199998746, + "duration_ms": 98.83408000001737, "success": true, - "started_at_unix": 1789970894.573126, + "started_at_unix": 1790057198.0480983, "bytes_sent": 251, "bytes_received": 1106, "request_id": 31, @@ -11493,9 +11493,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.0384010000118451, + "duration_ms": 0.06074300000591393, "success": true, - "started_at_unix": 1789970894.6688313, + "started_at_unix": 1790057198.1470861, "bytes_sent": 329, "bytes_received": 0, "request_id": null, @@ -11512,9 +11512,9 @@ { "kind": "notification", "method": "textDocument/didClose", - "duration_ms": 0.02374400000348942, + "duration_ms": 0.021809999964261806, "success": true, - "started_at_unix": 1789970894.6689942, + "started_at_unix": 1790057198.1473, "bytes_sent": 208, "bytes_received": 0, "request_id": null, @@ -11527,9 +11527,9 @@ { "kind": "request", "method": "shutdown", - "duration_ms": 2.0711580000067897, + "duration_ms": 2.308854999967025, "success": true, - "started_at_unix": 1789970894.6690273, + "started_at_unix": 1790057198.147332, "bytes_sent": 67, "bytes_received": 61, "request_id": 32, @@ -11547,9 +11547,9 @@ { "kind": "notification", "method": "exit", - "duration_ms": 0.038621999976840016, + "duration_ms": 0.026859999991302175, "success": true, - "started_at_unix": 1789970894.671121, + "started_at_unix": 1790057198.1496668, "bytes_sent": 55, "bytes_received": 0, "request_id": null, @@ -11571,7 +11571,7 @@ "environment_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/transformers/.venv", "python_executable": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/transformers/.venv/bin/python", "success": true, - "total_duration_ms": 16424.64689799999, + "total_duration_ms": 15620.502692999991, "error_message": null, "summary": { "request_count": 32, @@ -11580,11 +11580,11 @@ "failure_count": 0, "bytes_sent": 19004, "bytes_received": 698018, - "min_ms": 0.39557699997772033, - "max_ms": 12383.714978, - "mean_ms": 507.39216693750143, - "median_ms": 8.172552000004885, - "p95_ms": 610.2272760000176, + "min_ms": 0.3713340000217613, + "max_ms": 11907.491175000017, + "mean_ms": 482.28264115625484, + "median_ms": 7.578906500015137, + "p95_ms": 569.2662169000015, "result_summary": { "present_count": 31, "empty_count": 7, @@ -11640,27 +11640,27 @@ "by_method": { "textDocument/completion": { "point_count": 2, - "min_ms": 5.949069999985568, - "max_ms": 91.89601799999991, - "mean_ms": 31.80031280000435, - "median_ms": 26.72179500000027, - "p95_ms": 76.43156235000954 + "min_ms": 6.600622000007661, + "max_ms": 93.642004000003, + "mean_ms": 29.422239000007266, + "median_ms": 23.995775000031472, + "p95_ms": 72.09597430000082 }, "textDocument/hover": { "point_count": 2, - "min_ms": 0.4118880000021363, - "max_ms": 555.0753570000211, - "mean_ms": 267.1400392000038, - "median_ms": 262.4820269999901, - "p95_ms": 545.4836992500105 + "min_ms": 0.4521849999719052, + "max_ms": 517.5474819999977, + "mean_ms": 241.65311770000244, + "median_ms": 234.8629825000046, + "p95_ms": 500.53572654998953 }, "textDocument/definition": { "point_count": 1, - "min_ms": 0.39557699997772033, - "max_ms": 0.5771950000053039, - "mean_ms": 0.451574799996024, - "median_ms": 0.43496000000686763, - "p95_ms": 0.5493710000052943 + "min_ms": 0.3713340000217613, + "max_ms": 0.4864640000050713, + "mean_ms": 0.41691140000921223, + "median_ms": 0.38864700002250174, + "p95_ms": 0.4793960000029074 } }, "validation": { @@ -11686,11 +11686,11 @@ "failure_count": 0, "bytes_sent": 1440, "bytes_received": 581925, - "min_ms": 41.78616699999793, - "max_ms": 91.89601799999991, - "mean_ms": 55.48425840000846, - "median_ms": 43.74050800001328, - "p95_ms": 85.02292660000421, + "min_ms": 36.14383900003304, + "max_ms": 93.642004000003, + "mean_ms": 50.791055599995616, + "median_ms": 40.148453999961475, + "p95_ms": 84.06599080000206, "result_summary": { "present_count": 5, "empty_count": 0, @@ -11750,9 +11750,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 12383.714978, + "duration_ms": 11907.491175000017, "success": true, - "started_at_unix": 1789970910.9877172, + "started_at_unix": 1790057215.8562772, "bytes_sent": 288, "bytes_received": 110008, "request_id": 2, @@ -11780,9 +11780,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 91.89601799999991, + "duration_ms": 93.642004000003, "success": true, - "started_at_unix": 1789970923.3736796, + "started_at_unix": 1790057227.7658973, "bytes_sent": 288, "bytes_received": 116385, "request_id": 3, @@ -11810,9 +11810,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 57.53056100002141, + "duration_ms": 45.76193799999828, "success": true, - "started_at_unix": 1789970923.4691622, + "started_at_unix": 1790057227.8630095, "bytes_sent": 288, "bytes_received": 116385, "request_id": 4, @@ -11840,9 +11840,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 41.78616699999793, + "duration_ms": 38.259042999982285, "success": true, - "started_at_unix": 1789970923.5300531, + "started_at_unix": 1790057227.9121878, "bytes_sent": 288, "bytes_received": 116385, "request_id": 5, @@ -11870,9 +11870,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 43.74050800001328, + "duration_ms": 40.148453999961475, "success": true, - "started_at_unix": 1789970923.575259, + "started_at_unix": 1790057227.9538486, "bytes_sent": 288, "bytes_received": 116385, "request_id": 6, @@ -11900,9 +11900,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 42.468038000009756, + "duration_ms": 36.14383900003304, "success": true, - "started_at_unix": 1789970923.6224623, + "started_at_unix": 1790057227.9974377, "bytes_sent": 288, "bytes_received": 116385, "request_id": 7, @@ -11945,11 +11945,11 @@ "failure_count": 0, "bytes_sent": 1274, "bytes_received": 1054, - "min_ms": 0.4118880000021363, - "max_ms": 0.6138539999938075, - "mean_ms": 0.4800684000031197, - "median_ms": 0.45308400001431437, - "p95_ms": 0.5920551999963664, + "min_ms": 0.4521849999719052, + "max_ms": 0.5709270000124889, + "mean_ms": 0.4885070000113956, + "median_ms": 0.47576899999057787, + "p95_ms": 0.5520578000187015, "result_summary": { "present_count": 5, "empty_count": 0, @@ -12009,9 +12009,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 2.1059119999904397, + "duration_ms": 2.194943000006333, "success": true, - "started_at_unix": 1789970923.6684544, + "started_at_unix": 1790057228.037106, "bytes_sent": 254, "bytes_received": 210, "request_id": 8, @@ -12039,9 +12039,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.6138539999938075, + "duration_ms": 0.5709270000124889, "success": true, - "started_at_unix": 1789970923.670605, + "started_at_unix": 1790057228.0393412, "bytes_sent": 254, "bytes_received": 210, "request_id": 9, @@ -12069,9 +12069,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.5048600000066017, + "duration_ms": 0.47576899999057787, "success": true, - "started_at_unix": 1789970923.6712797, + "started_at_unix": 1790057228.0399601, "bytes_sent": 255, "bytes_received": 211, "request_id": 10, @@ -12099,9 +12099,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.4118880000021363, + "duration_ms": 0.4521849999719052, "success": true, - "started_at_unix": 1789970923.6718304, + "started_at_unix": 1790057228.0404787, "bytes_sent": 255, "bytes_received": 211, "request_id": 11, @@ -12129,9 +12129,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.45308400001431437, + "duration_ms": 0.4765810000435522, "success": true, - "started_at_unix": 1789970923.672291, + "started_at_unix": 1790057228.0409722, "bytes_sent": 255, "bytes_received": 211, "request_id": 12, @@ -12159,9 +12159,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.4166559999987385, + "duration_ms": 0.46707300003845376, "success": true, - "started_at_unix": 1789970923.672788, + "started_at_unix": 1790057228.0414884, "bytes_sent": 255, "bytes_received": 211, "request_id": 13, @@ -12204,11 +12204,11 @@ "failure_count": 0, "bytes_sent": 1300, "bytes_received": 1580, - "min_ms": 0.39557699997772033, - "max_ms": 0.5771950000053039, - "mean_ms": 0.451574799996024, - "median_ms": 0.43496000000686763, - "p95_ms": 0.5493710000052943, + "min_ms": 0.3713340000217613, + "max_ms": 0.4864640000050713, + "mean_ms": 0.41691140000921223, + "median_ms": 0.38864700002250174, + "p95_ms": 0.4793960000029074, "result_summary": { "present_count": 5, "empty_count": 0, @@ -12268,9 +12268,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.1434389999749328, + "duration_ms": 1.1103759999855356, "success": true, - "started_at_unix": 1789970923.6733232, + "started_at_unix": 1790057228.0420601, "bytes_sent": 260, "bytes_received": 316, "request_id": 14, @@ -12298,9 +12298,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.4120669999849724, + "duration_ms": 0.38864700002250174, "success": true, - "started_at_unix": 1789970923.6745033, + "started_at_unix": 1790057228.043204, "bytes_sent": 260, "bytes_received": 316, "request_id": 15, @@ -12328,9 +12328,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.4380750000052558, + "duration_ms": 0.4511239999942518, "success": true, - "started_at_unix": 1789970923.674973, + "started_at_unix": 1790057228.0436342, "bytes_sent": 260, "bytes_received": 316, "request_id": 16, @@ -12358,9 +12358,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.5771950000053039, + "duration_ms": 0.4864640000050713, "success": true, - "started_at_unix": 1789970923.6754732, + "started_at_unix": 1790057228.0441403, "bytes_sent": 260, "bytes_received": 316, "request_id": 17, @@ -12388,9 +12388,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.39557699997772033, + "duration_ms": 0.386988000002475, "success": true, - "started_at_unix": 1789970923.676126, + "started_at_unix": 1790057228.0447028, "bytes_sent": 260, "bytes_received": 316, "request_id": 18, @@ -12418,9 +12418,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.43496000000686763, + "duration_ms": 0.3713340000217613, "success": true, - "started_at_unix": 1789970923.6765862, + "started_at_unix": 1790057228.0451632, "bytes_sent": 260, "bytes_received": 316, "request_id": 19, @@ -12463,11 +12463,11 @@ "failure_count": 0, "bytes_sent": 1445, "bytes_received": 445, - "min_ms": 5.949069999985568, - "max_ms": 11.65742300000261, - "mean_ms": 8.11636720000024, - "median_ms": 6.664393000022528, - "p95_ms": 11.262080599999535, + "min_ms": 6.600622000007661, + "max_ms": 11.847711000029904, + "mean_ms": 8.053422400018917, + "median_ms": 6.710203000011461, + "p95_ms": 11.167690800027685, "result_summary": { "present_count": 5, "empty_count": 5, @@ -12527,9 +12527,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 14.098017999998547, + "duration_ms": 14.161977000014758, "success": true, - "started_at_unix": 1789970923.6773348, + "started_at_unix": 1790057228.0458546, "bytes_sent": 289, "bytes_received": 89, "request_id": 20, @@ -12557,9 +12557,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 6.630239000003257, + "duration_ms": 8.447610000018813, "success": true, - "started_at_unix": 1789970923.6915824, + "started_at_unix": 1790057228.0601182, "bytes_sent": 289, "bytes_received": 89, "request_id": 21, @@ -12587,9 +12587,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 6.664393000022528, + "duration_ms": 6.660966000026747, "success": true, - "started_at_unix": 1789970923.6983526, + "started_at_unix": 1790057228.0687046, "bytes_sent": 289, "bytes_received": 89, "request_id": 22, @@ -12617,9 +12617,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 9.680710999987241, + "duration_ms": 6.600622000007661, "success": true, - "started_at_unix": 1789970923.7051187, + "started_at_unix": 1790057228.0754936, "bytes_sent": 289, "bytes_received": 89, "request_id": 23, @@ -12647,9 +12647,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 11.65742300000261, + "duration_ms": 11.847711000029904, "success": true, - "started_at_unix": 1789970923.714916, + "started_at_unix": 1790057228.0822268, "bytes_sent": 289, "bytes_received": 89, "request_id": 24, @@ -12677,9 +12677,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 5.949069999985568, + "duration_ms": 6.710203000011461, "success": true, - "started_at_unix": 1789970923.726718, + "started_at_unix": 1790057228.094176, "bytes_sent": 289, "bytes_received": 89, "request_id": 25, @@ -12722,11 +12722,11 @@ "failure_count": 0, "bytes_sent": 1280, "bytes_received": 1050, - "min_ms": 524.3501999999864, - "max_ms": 555.0753570000211, - "mean_ms": 533.8000100000045, - "median_ms": 530.9771720000072, - "p95_ms": 550.8123980000164, + "min_ms": 469.1550379999967, + "max_ms": 517.5474819999977, + "mean_ms": 482.8177283999935, + "median_ms": 477.84242000000177, + "p95_ms": 509.9867017999941, "result_summary": { "present_count": 5, "empty_count": 0, @@ -12786,9 +12786,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 677.6351770000133, + "duration_ms": 632.4780040000064, "success": true, - "started_at_unix": 1789970923.7330885, + "started_at_unix": 1790057228.101147, "bytes_sent": 256, "bytes_received": 210, "request_id": 26, @@ -12816,9 +12816,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 555.0753570000211, + "duration_ms": 517.5474819999977, "success": true, - "started_at_unix": 1789970924.4109392, + "started_at_unix": 1790057228.7337892, "bytes_sent": 256, "bytes_received": 210, "request_id": 27, @@ -12846,9 +12846,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 533.7605619999977, + "duration_ms": 469.1550379999967, "success": true, - "started_at_unix": 1789970924.9662209, + "started_at_unix": 1790057229.251552, "bytes_sent": 256, "bytes_received": 210, "request_id": 28, @@ -12876,9 +12876,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 530.9771720000072, + "duration_ms": 477.84242000000177, "success": true, - "started_at_unix": 1789970925.500164, + "started_at_unix": 1790057229.720857, "bytes_sent": 256, "bytes_received": 210, "request_id": 29, @@ -12906,9 +12906,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 524.3501999999864, + "duration_ms": 469.8001209999916, "success": true, - "started_at_unix": 1789970926.0312915, + "started_at_unix": 1790057230.1988966, "bytes_sent": 256, "bytes_received": 210, "request_id": 30, @@ -12936,9 +12936,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 524.83675900001, + "duration_ms": 479.7435809999797, "success": true, - "started_at_unix": 1789970926.5558937, + "started_at_unix": 1790057230.6689105, "bytes_sent": 256, "bytes_received": 210, "request_id": 31, @@ -12970,9 +12970,9 @@ { "kind": "request", "method": "initialize", - "duration_ms": 162.84270799999945, + "duration_ms": 160.35352099999045, "success": true, - "started_at_unix": 1789970910.824577, + "started_at_unix": 1790057215.6956358, "bytes_sent": 673, "bytes_received": 1070, "request_id": 1, @@ -12991,9 +12991,9 @@ { "kind": "notification", "method": "initialized", - "duration_ms": 0.023724000016045466, + "duration_ms": 0.02285299996174217, "success": true, - "started_at_unix": 1789970910.9875138, + "started_at_unix": 1790057215.8560824, "bytes_sent": 74, "bytes_received": 0, "request_id": null, @@ -13006,9 +13006,9 @@ { "kind": "notification", "method": "workspace/didChangeConfiguration", - "duration_ms": 0.015287999985957867, + "duration_ms": 0.014335999992454163, "success": true, - "started_at_unix": 1789970910.9875617, + "started_at_unix": 1790057215.8561282, "bytes_sent": 659, "bytes_received": 0, "request_id": null, @@ -13024,9 +13024,9 @@ { "kind": "notification", "method": "textDocument/didOpen", - "duration_ms": 0.018564000015430793, + "duration_ms": 0.017721999995501392, "success": true, - "started_at_unix": 1789970910.9876635, + "started_at_unix": 1790057215.856226, "bytes_sent": 773, "bytes_received": 0, "request_id": null, @@ -13042,9 +13042,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 12383.714978, + "duration_ms": 11907.491175000017, "success": true, - "started_at_unix": 1789970910.9877172, + "started_at_unix": 1790057215.8562772, "bytes_sent": 288, "bytes_received": 110008, "request_id": 2, @@ -13072,9 +13072,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 91.89601799999991, + "duration_ms": 93.642004000003, "success": true, - "started_at_unix": 1789970923.3736796, + "started_at_unix": 1790057227.7658973, "bytes_sent": 288, "bytes_received": 116385, "request_id": 3, @@ -13102,9 +13102,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 57.53056100002141, + "duration_ms": 45.76193799999828, "success": true, - "started_at_unix": 1789970923.4691622, + "started_at_unix": 1790057227.8630095, "bytes_sent": 288, "bytes_received": 116385, "request_id": 4, @@ -13132,9 +13132,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 41.78616699999793, + "duration_ms": 38.259042999982285, "success": true, - "started_at_unix": 1789970923.5300531, + "started_at_unix": 1790057227.9121878, "bytes_sent": 288, "bytes_received": 116385, "request_id": 5, @@ -13162,9 +13162,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 43.74050800001328, + "duration_ms": 40.148453999961475, "success": true, - "started_at_unix": 1789970923.575259, + "started_at_unix": 1790057227.9538486, "bytes_sent": 288, "bytes_received": 116385, "request_id": 6, @@ -13192,9 +13192,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 42.468038000009756, + "duration_ms": 36.14383900003304, "success": true, - "started_at_unix": 1789970923.6224623, + "started_at_unix": 1790057227.9974377, "bytes_sent": 288, "bytes_received": 116385, "request_id": 7, @@ -13222,9 +13222,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 2.1059119999904397, + "duration_ms": 2.194943000006333, "success": true, - "started_at_unix": 1789970923.6684544, + "started_at_unix": 1790057228.037106, "bytes_sent": 254, "bytes_received": 210, "request_id": 8, @@ -13252,9 +13252,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.6138539999938075, + "duration_ms": 0.5709270000124889, "success": true, - "started_at_unix": 1789970923.670605, + "started_at_unix": 1790057228.0393412, "bytes_sent": 254, "bytes_received": 210, "request_id": 9, @@ -13282,9 +13282,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.5048600000066017, + "duration_ms": 0.47576899999057787, "success": true, - "started_at_unix": 1789970923.6712797, + "started_at_unix": 1790057228.0399601, "bytes_sent": 255, "bytes_received": 211, "request_id": 10, @@ -13312,9 +13312,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.4118880000021363, + "duration_ms": 0.4521849999719052, "success": true, - "started_at_unix": 1789970923.6718304, + "started_at_unix": 1790057228.0404787, "bytes_sent": 255, "bytes_received": 211, "request_id": 11, @@ -13342,9 +13342,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.45308400001431437, + "duration_ms": 0.4765810000435522, "success": true, - "started_at_unix": 1789970923.672291, + "started_at_unix": 1790057228.0409722, "bytes_sent": 255, "bytes_received": 211, "request_id": 12, @@ -13372,9 +13372,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.4166559999987385, + "duration_ms": 0.46707300003845376, "success": true, - "started_at_unix": 1789970923.672788, + "started_at_unix": 1790057228.0414884, "bytes_sent": 255, "bytes_received": 211, "request_id": 13, @@ -13402,9 +13402,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 1.1434389999749328, + "duration_ms": 1.1103759999855356, "success": true, - "started_at_unix": 1789970923.6733232, + "started_at_unix": 1790057228.0420601, "bytes_sent": 260, "bytes_received": 316, "request_id": 14, @@ -13432,9 +13432,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.4120669999849724, + "duration_ms": 0.38864700002250174, "success": true, - "started_at_unix": 1789970923.6745033, + "started_at_unix": 1790057228.043204, "bytes_sent": 260, "bytes_received": 316, "request_id": 15, @@ -13462,9 +13462,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.4380750000052558, + "duration_ms": 0.4511239999942518, "success": true, - "started_at_unix": 1789970923.674973, + "started_at_unix": 1790057228.0436342, "bytes_sent": 260, "bytes_received": 316, "request_id": 16, @@ -13492,9 +13492,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.5771950000053039, + "duration_ms": 0.4864640000050713, "success": true, - "started_at_unix": 1789970923.6754732, + "started_at_unix": 1790057228.0441403, "bytes_sent": 260, "bytes_received": 316, "request_id": 17, @@ -13522,9 +13522,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.39557699997772033, + "duration_ms": 0.386988000002475, "success": true, - "started_at_unix": 1789970923.676126, + "started_at_unix": 1790057228.0447028, "bytes_sent": 260, "bytes_received": 316, "request_id": 18, @@ -13552,9 +13552,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.43496000000686763, + "duration_ms": 0.3713340000217613, "success": true, - "started_at_unix": 1789970923.6765862, + "started_at_unix": 1790057228.0451632, "bytes_sent": 260, "bytes_received": 316, "request_id": 19, @@ -13582,9 +13582,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03469400002131806, + "duration_ms": 0.0346049999961906, "success": true, - "started_at_unix": 1789970923.6772866, + "started_at_unix": 1790057228.045808, "bytes_sent": 360, "bytes_received": 0, "request_id": null, @@ -13601,9 +13601,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 14.098017999998547, + "duration_ms": 14.161977000014758, "success": true, - "started_at_unix": 1789970923.6773348, + "started_at_unix": 1790057228.0458546, "bytes_sent": 289, "bytes_received": 89, "request_id": 20, @@ -13631,9 +13631,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03859199998146323, + "duration_ms": 0.02690999997412291, "success": true, - "started_at_unix": 1789970923.6914968, + "started_at_unix": 1790057228.0600584, "bytes_sent": 333, "bytes_received": 0, "request_id": null, @@ -13650,9 +13650,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.023373000004767164, + "duration_ms": 0.01580999997941035, "success": true, - "started_at_unix": 1789970923.691548, + "started_at_unix": 1790057228.0600948, "bytes_sent": 360, "bytes_received": 0, "request_id": null, @@ -13669,9 +13669,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 6.630239000003257, + "duration_ms": 8.447610000018813, "success": true, - "started_at_unix": 1789970923.6915824, + "started_at_unix": 1790057228.0601182, "bytes_sent": 289, "bytes_received": 89, "request_id": 21, @@ -13699,9 +13699,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03228999997872961, + "duration_ms": 0.023374000022613473, "success": true, - "started_at_unix": 1789970923.6982758, + "started_at_unix": 1790057228.0686219, "bytes_sent": 333, "bytes_received": 0, "request_id": null, @@ -13718,9 +13718,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.022160999975540108, + "duration_ms": 0.018594000039229286, "success": true, - "started_at_unix": 1789970923.6983197, + "started_at_unix": 1790057228.0686774, "bytes_sent": 360, "bytes_received": 0, "request_id": null, @@ -13737,9 +13737,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 6.664393000022528, + "duration_ms": 6.660966000026747, "success": true, - "started_at_unix": 1789970923.6983526, + "started_at_unix": 1790057228.0687046, "bytes_sent": 289, "bytes_received": 89, "request_id": 22, @@ -13767,9 +13767,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.023033000019268002, + "duration_ms": 0.027591999980813853, "success": true, - "started_at_unix": 1789970923.7050655, + "started_at_unix": 1790057228.0754132, "bytes_sent": 333, "bytes_received": 0, "request_id": null, @@ -13786,9 +13786,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.014416999988497992, + "duration_ms": 0.027600999999322084, "success": true, - "started_at_unix": 1789970923.7050967, + "started_at_unix": 1790057228.0754526, "bytes_sent": 360, "bytes_received": 0, "request_id": null, @@ -13805,9 +13805,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 9.680710999987241, + "duration_ms": 6.600622000007661, "success": true, - "started_at_unix": 1789970923.7051187, + "started_at_unix": 1790057228.0754936, "bytes_sent": 289, "bytes_received": 89, "request_id": 23, @@ -13835,9 +13835,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.030487000003631692, + "duration_ms": 0.03164000003152978, "success": true, - "started_at_unix": 1789970923.7148547, + "started_at_unix": 1790057228.0821526, "bytes_sent": 333, "bytes_received": 0, "request_id": null, @@ -13854,9 +13854,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.015017999999145104, + "duration_ms": 0.021731000003910594, "success": true, - "started_at_unix": 1789970923.7148933, + "started_at_unix": 1790057228.0821948, "bytes_sent": 361, "bytes_received": 0, "request_id": null, @@ -13873,9 +13873,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 11.65742300000261, + "duration_ms": 11.847711000029904, "success": true, - "started_at_unix": 1789970923.714916, + "started_at_unix": 1790057228.0822268, "bytes_sent": 289, "bytes_received": 89, "request_id": 24, @@ -13903,9 +13903,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.029754999985698305, + "duration_ms": 0.0229329999683614, "success": true, - "started_at_unix": 1789970923.7266378, + "started_at_unix": 1790057228.0941234, "bytes_sent": 334, "bytes_received": 0, "request_id": null, @@ -13922,9 +13922,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.025858000014977733, + "duration_ms": 0.014367000005677255, "success": true, - "started_at_unix": 1789970923.726679, + "started_at_unix": 1790057228.0941544, "bytes_sent": 361, "bytes_received": 0, "request_id": null, @@ -13941,9 +13941,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 5.949069999985568, + "duration_ms": 6.710203000011461, "success": true, - "started_at_unix": 1789970923.726718, + "started_at_unix": 1790057228.094176, "bytes_sent": 289, "bytes_received": 89, "request_id": 25, @@ -13971,9 +13971,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02799199998548829, + "duration_ms": 0.020317999997132574, "success": true, - "started_at_unix": 1789970923.7327156, + "started_at_unix": 1790057228.1009254, "bytes_sent": 334, "bytes_received": 0, "request_id": null, @@ -13990,9 +13990,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.034474000017326034, + "duration_ms": 0.02011800000900621, "success": true, - "started_at_unix": 1789970923.733039, + "started_at_unix": 1790057228.1011188, "bytes_sent": 373, "bytes_received": 0, "request_id": null, @@ -14009,9 +14009,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 677.6351770000133, + "duration_ms": 632.4780040000064, "success": true, - "started_at_unix": 1789970923.7330885, + "started_at_unix": 1790057228.101147, "bytes_sent": 256, "bytes_received": 210, "request_id": 26, @@ -14039,9 +14039,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.035066000009464915, + "duration_ms": 0.03243099996552701, "success": true, - "started_at_unix": 1789970924.4108548, + "started_at_unix": 1790057228.733713, "bytes_sent": 334, "bytes_received": 0, "request_id": null, @@ -14058,9 +14058,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02267200000005687, + "duration_ms": 0.020738999978675565, "success": true, - "started_at_unix": 1789970924.4109037, + "started_at_unix": 1790057228.733758, "bytes_sent": 373, "bytes_received": 0, "request_id": null, @@ -14077,9 +14077,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 555.0753570000211, + "duration_ms": 517.5474819999977, "success": true, - "started_at_unix": 1789970924.4109392, + "started_at_unix": 1790057228.7337892, "bytes_sent": 256, "bytes_received": 210, "request_id": 27, @@ -14107,9 +14107,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03491499998631298, + "duration_ms": 0.04440300000396746, "success": true, - "started_at_unix": 1789970924.9661314, + "started_at_unix": 1790057229.251457, "bytes_sent": 334, "bytes_received": 0, "request_id": null, @@ -14126,9 +14126,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.026058999992528697, + "duration_ms": 0.026188999981968664, "success": true, - "started_at_unix": 1789970924.9661808, + "started_at_unix": 1790057229.2515144, "bytes_sent": 373, "bytes_received": 0, "request_id": null, @@ -14145,9 +14145,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 533.7605619999977, + "duration_ms": 469.1550379999967, "success": true, - "started_at_unix": 1789970924.9662209, + "started_at_unix": 1790057229.251552, "bytes_sent": 256, "bytes_received": 210, "request_id": 28, @@ -14175,9 +14175,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.032831999988047755, + "duration_ms": 0.026268999988587893, "success": true, - "started_at_unix": 1789970925.5000777, + "started_at_unix": 1790057229.720798, "bytes_sent": 334, "bytes_received": 0, "request_id": null, @@ -14194,9 +14194,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.026109000003771143, + "duration_ms": 0.014527000018915714, "success": true, - "started_at_unix": 1789970925.500125, + "started_at_unix": 1790057229.7208343, "bytes_sent": 373, "bytes_received": 0, "request_id": null, @@ -14213,9 +14213,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 530.9771720000072, + "duration_ms": 477.84242000000177, "success": true, - "started_at_unix": 1789970925.500164, + "started_at_unix": 1790057229.720857, "bytes_sent": 256, "bytes_received": 210, "request_id": 29, @@ -14243,9 +14243,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.022872999977607833, + "duration_ms": 0.030016000039267965, "success": true, - "started_at_unix": 1789970926.0312345, + "started_at_unix": 1790057230.1988163, "bytes_sent": 334, "bytes_received": 0, "request_id": null, @@ -14262,9 +14262,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.013695000006919145, + "duration_ms": 0.02319300000408475, "success": true, - "started_at_unix": 1789970926.0312686, + "started_at_unix": 1790057230.1988595, "bytes_sent": 373, "bytes_received": 0, "request_id": null, @@ -14281,9 +14281,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 524.3501999999864, + "duration_ms": 469.8001209999916, "success": true, - "started_at_unix": 1789970926.0312915, + "started_at_unix": 1790057230.1988966, "bytes_sent": 256, "bytes_received": 210, "request_id": 30, @@ -14311,9 +14311,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.034804999984316964, + "duration_ms": 0.032841999995980586, "success": true, - "started_at_unix": 1789970926.5558171, + "started_at_unix": 1790057230.6688273, "bytes_sent": 334, "bytes_received": 0, "request_id": null, @@ -14330,9 +14330,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.01796299997636197, + "duration_ms": 0.02458600005184053, "success": true, - "started_at_unix": 1789970926.555865, + "started_at_unix": 1790057230.6688735, "bytes_sent": 373, "bytes_received": 0, "request_id": null, @@ -14349,9 +14349,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 524.83675900001, + "duration_ms": 479.7435809999797, "success": true, - "started_at_unix": 1789970926.5558937, + "started_at_unix": 1790057230.6689105, "bytes_sent": 256, "bytes_received": 210, "request_id": 31, @@ -14379,9 +14379,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03843199999664648, + "duration_ms": 0.030525999989095, "success": true, - "started_at_unix": 1789970927.0808744, + "started_at_unix": 1790057231.148741, "bytes_sent": 334, "bytes_received": 0, "request_id": null, @@ -14398,9 +14398,9 @@ { "kind": "notification", "method": "textDocument/didClose", - "duration_ms": 0.021500000002561137, + "duration_ms": 0.02582799999117924, "success": true, - "started_at_unix": 1789970927.0810378, + "started_at_unix": 1790057231.1488996, "bytes_sent": 213, "bytes_received": 0, "request_id": null, @@ -14413,9 +14413,9 @@ { "kind": "request", "method": "shutdown", - "duration_ms": 3.3477160000074946, + "duration_ms": 2.416396999990411, "success": true, - "started_at_unix": 1789970927.0810685, + "started_at_unix": 1790057231.1489358, "bytes_sent": 67, "bytes_received": 61, "request_id": 32, @@ -14433,9 +14433,9 @@ { "kind": "notification", "method": "exit", - "duration_ms": 0.02319300000408475, + "duration_ms": 0.027271000021755754, "success": true, - "started_at_unix": 1789970927.0844352, + "started_at_unix": 1790057231.15137, "bytes_sent": 55, "bytes_received": 0, "request_id": null, @@ -14457,7 +14457,7 @@ "environment_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/web/.venv", "python_executable": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/web/.venv/bin/python", "success": true, - "total_duration_ms": 1592.396593000018, + "total_duration_ms": 1535.2920470000413, "error_message": null, "summary": { "request_count": 32, @@ -14466,11 +14466,11 @@ "failure_count": 0, "bytes_sent": 18386, "bytes_received": 326736, - "min_ms": 0.4671199999961573, - "max_ms": 1095.3545209999902, - "mean_ms": 48.766467906245836, - "median_ms": 4.169795500004625, - "p95_ms": 96.72576109998082, + "min_ms": 0.4342419999829872, + "max_ms": 1071.1348699999803, + "mean_ms": 47.00013421874516, + "median_ms": 3.4044705000155773, + "p95_ms": 95.01816364995923, "result_summary": { "present_count": 31, "empty_count": 1, @@ -14526,27 +14526,27 @@ "by_method": { "textDocument/completion": { "point_count": 2, - "min_ms": 3.1191929999749846, - "max_ms": 9.786176999995178, - "mean_ms": 5.689400099996078, - "median_ms": 5.118729000002986, - "p95_ms": 9.456877799991048 + "min_ms": 2.6266739999982747, + "max_ms": 8.798653999974704, + "mean_ms": 4.556259399998908, + "median_ms": 3.780282499974419, + "p95_ms": 7.6119778999725405 }, "textDocument/hover": { "point_count": 2, - "min_ms": 0.4671199999961573, - "max_ms": 40.661377999981596, - "mean_ms": 18.38011679999454, - "median_ms": 15.664837499997475, - "p95_ms": 40.27483699997987 + "min_ms": 0.4342419999829872, + "max_ms": 41.571484999963104, + "mean_ms": 17.467242199990096, + "median_ms": 14.23872249998226, + "p95_ms": 40.43007934998002 }, "textDocument/references": { "point_count": 1, - "min_ms": 0.7403289999956542, - "max_ms": 0.9182649999956993, - "mean_ms": 0.8153897999932269, - "median_ms": 0.8284930000002078, - "p95_ms": 0.9034837999934098 + "min_ms": 0.6522689999997056, + "max_ms": 1.097772999969493, + "mean_ms": 0.8067438000011862, + "median_ms": 0.7235219999870424, + "p95_ms": 1.0495123999817224 } }, "validation": { @@ -14572,11 +14572,11 @@ "failure_count": 0, "bytes_sent": 1360, "bytes_received": 41660, - "min_ms": 3.1191929999749846, - "max_ms": 9.786176999995178, - "mean_ms": 6.039407199995139, - "median_ms": 4.2068680000113545, - "p95_ms": 9.639821799993342, + "min_ms": 2.6266739999982747, + "max_ms": 8.798653999974704, + "mean_ms": 4.586485799995899, + "median_ms": 3.716314999962833, + "p95_ms": 7.966138199981287, "result_summary": { "present_count": 5, "empty_count": 0, @@ -14636,9 +14636,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 1095.3545209999902, + "duration_ms": 1071.1348699999803, "success": true, - "started_at_unix": 1789970931.6640015, + "started_at_unix": 1790057235.9533234, "bytes_sent": 272, "bytes_received": 1455, "request_id": 2, @@ -14666,9 +14666,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 9.786176999995178, + "duration_ms": 8.798653999974704, "success": true, - "started_at_unix": 1789970932.7594786, + "started_at_unix": 1790057237.0245633, "bytes_sent": 272, "bytes_received": 8332, "request_id": 3, @@ -14696,9 +14696,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 9.054400999986001, + "duration_ms": 4.636075000007622, "success": true, - "started_at_unix": 1789970932.7696738, + "started_at_unix": 1790057237.0337672, "bytes_sent": 272, "bytes_received": 8332, "request_id": 4, @@ -14726,9 +14726,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.030397000008179, + "duration_ms": 3.154711000036059, "success": true, - "started_at_unix": 1789970932.7791986, + "started_at_unix": 1790057237.0387974, "bytes_sent": 272, "bytes_received": 8332, "request_id": 5, @@ -14756,9 +14756,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 3.1191929999749846, + "duration_ms": 2.6266739999982747, "success": true, - "started_at_unix": 1789970932.7836056, + "started_at_unix": 1790057237.0423214, "bytes_sent": 272, "bytes_received": 8332, "request_id": 6, @@ -14786,9 +14786,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.2068680000113545, + "duration_ms": 3.716314999962833, "success": true, - "started_at_unix": 1789970932.7871232, + "started_at_unix": 1790057237.0453017, "bytes_sent": 272, "bytes_received": 8332, "request_id": 7, @@ -14831,11 +14831,11 @@ "failure_count": 0, "bytes_sent": 1204, "bytes_received": 1029, - "min_ms": 0.4671199999961573, - "max_ms": 0.6179810000048747, - "mean_ms": 0.5289271999970424, - "median_ms": 0.5147290000024896, - "p95_ms": 0.6034960000022238, + "min_ms": 0.4342419999829872, + "max_ms": 0.5699649999542089, + "mean_ms": 0.483726199990997, + "median_ms": 0.4759290000038163, + "p95_ms": 0.5526187999635113, "result_summary": { "present_count": 5, "empty_count": 0, @@ -14895,9 +14895,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 2.3560479999957806, + "duration_ms": 2.2153909999929056, "success": true, - "started_at_unix": 1789970932.7918527, + "started_at_unix": 1790057237.0497327, "bytes_sent": 240, "bytes_received": 205, "request_id": 8, @@ -14925,9 +14925,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.5455559999916204, + "duration_ms": 0.4759290000038163, "success": true, - "started_at_unix": 1789970932.79426, + "started_at_unix": 1790057237.051994, "bytes_sent": 240, "bytes_received": 205, "request_id": 9, @@ -14955,9 +14955,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.6179810000048747, + "duration_ms": 0.5699649999542089, "success": true, - "started_at_unix": 1789970932.7948656, + "started_at_unix": 1790057237.0525265, "bytes_sent": 241, "bytes_received": 206, "request_id": 10, @@ -14985,9 +14985,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.5147290000024896, + "duration_ms": 0.45526100001325176, "success": true, - "started_at_unix": 1789970932.7955391, + "started_at_unix": 1790057237.053152, "bytes_sent": 241, "bytes_received": 206, "request_id": 11, @@ -15015,9 +15015,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.49924999999007014, + "duration_ms": 0.4832340000007207, "success": true, - "started_at_unix": 1789970932.7961082, + "started_at_unix": 1790057237.053661, "bytes_sent": 241, "bytes_received": 206, "request_id": 12, @@ -15045,9 +15045,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.4671199999961573, + "duration_ms": 0.4342419999829872, "success": true, - "started_at_unix": 1789970932.7966607, + "started_at_unix": 1790057237.054199, "bytes_sent": 241, "bytes_received": 206, "request_id": 13, @@ -15090,11 +15090,11 @@ "failure_count": 0, "bytes_sent": 1420, "bytes_received": 2045, - "min_ms": 0.7403289999956542, - "max_ms": 0.9182649999956993, - "mean_ms": 0.8153897999932269, - "median_ms": 0.8284930000002078, - "p95_ms": 0.9034837999934098, + "min_ms": 0.6522689999997056, + "max_ms": 1.097772999969493, + "mean_ms": 0.8067438000011862, + "median_ms": 0.7235219999870424, + "p95_ms": 1.0495123999817224, "result_summary": { "present_count": 5, "empty_count": 0, @@ -15154,9 +15154,9 @@ { "kind": "request", "method": "textDocument/references", - "duration_ms": 2.9894380000143883, + "duration_ms": 2.9433909999738717, "success": true, - "started_at_unix": 1789970932.797263, + "started_at_unix": 1790057237.054757, "bytes_sent": 284, "bytes_received": 409, "request_id": 14, @@ -15184,9 +15184,9 @@ { "kind": "request", "method": "textDocument/references", - "duration_ms": 0.7403289999956542, + "duration_ms": 0.6522689999997056, "success": true, - "started_at_unix": 1789970932.8003063, + "started_at_unix": 1790057237.0577528, "bytes_sent": 284, "bytes_received": 409, "request_id": 15, @@ -15214,9 +15214,9 @@ { "kind": "request", "method": "textDocument/references", - "duration_ms": 0.8284930000002078, + "duration_ms": 0.7036850000190498, "success": true, - "started_at_unix": 1789970932.8011115, + "started_at_unix": 1790057237.0584686, "bytes_sent": 284, "bytes_received": 409, "request_id": 16, @@ -15244,9 +15244,9 @@ { "kind": "request", "method": "textDocument/references", - "duration_ms": 0.9182649999956993, + "duration_ms": 0.8564700000306402, "success": true, - "started_at_unix": 1789970932.8020303, + "started_at_unix": 1790057237.0592587, "bytes_sent": 284, "bytes_received": 409, "request_id": 17, @@ -15274,9 +15274,9 @@ { "kind": "request", "method": "textDocument/references", - "duration_ms": 0.8443589999842516, + "duration_ms": 1.097772999969493, "success": true, - "started_at_unix": 1789970932.80305, + "started_at_unix": 1790057237.0602033, "bytes_sent": 284, "bytes_received": 409, "request_id": 18, @@ -15304,9 +15304,9 @@ { "kind": "request", "method": "textDocument/references", - "duration_ms": 0.7455029999903218, + "duration_ms": 0.7235219999870424, "success": true, - "started_at_unix": 1789970932.8039799, + "started_at_unix": 1790057237.0613654, "bytes_sent": 284, "bytes_received": 409, "request_id": 19, @@ -15349,11 +15349,11 @@ "failure_count": 0, "bytes_sent": 1370, "bytes_received": 229265, - "min_ms": 4.132722999997895, - "max_ms": 6.684179999979278, - "mean_ms": 5.339392999997017, - "median_ms": 5.5735760000175105, - "p95_ms": 6.47586479998381, + "min_ms": 3.3078069999987747, + "max_ms": 6.161595999969904, + "mean_ms": 4.526033000001917, + "median_ms": 3.8442499999860047, + "p95_ms": 6.092352399980427, "result_summary": { "present_count": 5, "empty_count": 0, @@ -15413,9 +15413,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 8.628726000011966, + "duration_ms": 9.009498000011718, "success": true, - "started_at_unix": 1789970932.8050964, + "started_at_unix": 1790057237.0623257, "bytes_sent": 274, "bytes_received": 45853, "request_id": 20, @@ -15443,9 +15443,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 5.642604000001938, + "duration_ms": 5.81537800002252, "success": true, - "started_at_unix": 1789970932.81472, + "started_at_unix": 1790057237.0722811, "bytes_sent": 274, "bytes_received": 45853, "request_id": 21, @@ -15473,9 +15473,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 6.684179999979278, + "duration_ms": 6.161595999969904, "success": true, - "started_at_unix": 1789970932.8230264, + "started_at_unix": 1790057237.0794458, "bytes_sent": 274, "bytes_received": 45853, "request_id": 22, @@ -15503,9 +15503,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 5.5735760000175105, + "duration_ms": 3.50113400003238, "success": true, - "started_at_unix": 1789970932.8311968, + "started_at_unix": 1790057237.0878415, "bytes_sent": 274, "bytes_received": 45853, "request_id": 23, @@ -15533,9 +15533,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.663881999988462, + "duration_ms": 3.8442499999860047, "success": true, - "started_at_unix": 1789970932.8381727, + "started_at_unix": 1790057237.0927627, "bytes_sent": 274, "bytes_received": 45853, "request_id": 24, @@ -15563,9 +15563,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.132722999997895, + "duration_ms": 3.3078069999987747, "success": true, - "started_at_unix": 1789970932.8442771, + "started_at_unix": 1790057237.0987906, "bytes_sent": 274, "bytes_received": 45853, "request_id": 25, @@ -15608,11 +15608,11 @@ "failure_count": 0, "bytes_sent": 1205, "bytes_received": 3070, - "min_ms": 30.711693999990075, - "max_ms": 40.661377999981596, - "mean_ms": 36.231306399992036, - "median_ms": 37.14405200000215, - "p95_ms": 40.48958199998083, + "min_ms": 27.90748000001031, + "max_ms": 41.571484999963104, + "mean_ms": 34.450758199989195, + "median_ms": 33.104491999949914, + "p95_ms": 41.06419359997062, "result_summary": { "present_count": 5, "empty_count": 0, @@ -15672,9 +15672,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 38.41025500000228, + "duration_ms": 32.2732770000016, "success": true, - "started_at_unix": 1789970932.8502085, + "started_at_unix": 1790057237.1040251, "bytes_sent": 241, "bytes_received": 614, "request_id": 26, @@ -15702,9 +15702,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 40.661377999981596, + "duration_ms": 41.571484999963104, "success": true, - "started_at_unix": 1789970932.8888032, + "started_at_unix": 1790057237.136454, "bytes_sent": 241, "bytes_received": 614, "request_id": 27, @@ -15732,9 +15732,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 39.80239799997776, + "duration_ms": 33.104491999949914, "success": true, - "started_at_unix": 1789970932.9296784, + "started_at_unix": 1790057237.1782007, "bytes_sent": 241, "bytes_received": 614, "request_id": 28, @@ -15762,9 +15762,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 37.14405200000215, + "duration_ms": 39.03502800000069, "success": true, - "started_at_unix": 1789970932.969668, + "started_at_unix": 1790057237.2114637, "bytes_sent": 241, "bytes_received": 614, "request_id": 29, @@ -15792,9 +15792,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 32.837010000008604, + "duration_ms": 27.90748000001031, "success": true, - "started_at_unix": 1789970933.006992, + "started_at_unix": 1790057237.2507274, "bytes_sent": 241, "bytes_received": 614, "request_id": 30, @@ -15822,9 +15822,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 30.711693999990075, + "duration_ms": 30.635306000021956, "success": true, - "started_at_unix": 1789970933.0400152, + "started_at_unix": 1790057237.2788308, "bytes_sent": 241, "bytes_received": 614, "request_id": 31, @@ -15856,9 +15856,9 @@ { "kind": "request", "method": "initialize", - "duration_ms": 165.24889599998005, + "duration_ms": 160.3418819999547, "success": true, - "started_at_unix": 1789970931.4984074, + "started_at_unix": 1790057235.7926953, "bytes_sent": 646, "bytes_received": 1070, "request_id": 1, @@ -15877,9 +15877,9 @@ { "kind": "notification", "method": "initialized", - "duration_ms": 0.027221000010513308, + "duration_ms": 0.023893999980373337, "success": true, - "started_at_unix": 1789970931.6637812, + "started_at_unix": 1790057235.9531283, "bytes_sent": 74, "bytes_received": 0, "request_id": null, @@ -15892,9 +15892,9 @@ { "kind": "notification", "method": "workspace/didChangeConfiguration", - "duration_ms": 0.015868999980739318, + "duration_ms": 0.014858000042750064, "success": true, - "started_at_unix": 1789970931.6638315, + "started_at_unix": 1790057235.9531724, "bytes_sent": 623, "bytes_received": 0, "request_id": null, @@ -15910,9 +15910,9 @@ { "kind": "notification", "method": "textDocument/didOpen", - "duration_ms": 0.019165000026077905, + "duration_ms": 0.01820399995722255, "success": true, - "started_at_unix": 1789970931.6639493, + "started_at_unix": 1790057235.953273, "bytes_sent": 539, "bytes_received": 0, "request_id": null, @@ -15928,9 +15928,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 1095.3545209999902, + "duration_ms": 1071.1348699999803, "success": true, - "started_at_unix": 1789970931.6640015, + "started_at_unix": 1790057235.9533234, "bytes_sent": 272, "bytes_received": 1455, "request_id": 2, @@ -15958,9 +15958,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 9.786176999995178, + "duration_ms": 8.798653999974704, "success": true, - "started_at_unix": 1789970932.7594786, + "started_at_unix": 1790057237.0245633, "bytes_sent": 272, "bytes_received": 8332, "request_id": 3, @@ -15988,9 +15988,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 9.054400999986001, + "duration_ms": 4.636075000007622, "success": true, - "started_at_unix": 1789970932.7696738, + "started_at_unix": 1790057237.0337672, "bytes_sent": 272, "bytes_received": 8332, "request_id": 4, @@ -16018,9 +16018,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.030397000008179, + "duration_ms": 3.154711000036059, "success": true, - "started_at_unix": 1789970932.7791986, + "started_at_unix": 1790057237.0387974, "bytes_sent": 272, "bytes_received": 8332, "request_id": 5, @@ -16048,9 +16048,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 3.1191929999749846, + "duration_ms": 2.6266739999982747, "success": true, - "started_at_unix": 1789970932.7836056, + "started_at_unix": 1790057237.0423214, "bytes_sent": 272, "bytes_received": 8332, "request_id": 6, @@ -16078,9 +16078,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.2068680000113545, + "duration_ms": 3.716314999962833, "success": true, - "started_at_unix": 1789970932.7871232, + "started_at_unix": 1790057237.0453017, "bytes_sent": 272, "bytes_received": 8332, "request_id": 7, @@ -16108,9 +16108,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 2.3560479999957806, + "duration_ms": 2.2153909999929056, "success": true, - "started_at_unix": 1789970932.7918527, + "started_at_unix": 1790057237.0497327, "bytes_sent": 240, "bytes_received": 205, "request_id": 8, @@ -16138,9 +16138,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.5455559999916204, + "duration_ms": 0.4759290000038163, "success": true, - "started_at_unix": 1789970932.79426, + "started_at_unix": 1790057237.051994, "bytes_sent": 240, "bytes_received": 205, "request_id": 9, @@ -16168,9 +16168,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.6179810000048747, + "duration_ms": 0.5699649999542089, "success": true, - "started_at_unix": 1789970932.7948656, + "started_at_unix": 1790057237.0525265, "bytes_sent": 241, "bytes_received": 206, "request_id": 10, @@ -16198,9 +16198,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.5147290000024896, + "duration_ms": 0.45526100001325176, "success": true, - "started_at_unix": 1789970932.7955391, + "started_at_unix": 1790057237.053152, "bytes_sent": 241, "bytes_received": 206, "request_id": 11, @@ -16228,9 +16228,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.49924999999007014, + "duration_ms": 0.4832340000007207, "success": true, - "started_at_unix": 1789970932.7961082, + "started_at_unix": 1790057237.053661, "bytes_sent": 241, "bytes_received": 206, "request_id": 12, @@ -16258,9 +16258,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.4671199999961573, + "duration_ms": 0.4342419999829872, "success": true, - "started_at_unix": 1789970932.7966607, + "started_at_unix": 1790057237.054199, "bytes_sent": 241, "bytes_received": 206, "request_id": 13, @@ -16288,9 +16288,9 @@ { "kind": "request", "method": "textDocument/references", - "duration_ms": 2.9894380000143883, + "duration_ms": 2.9433909999738717, "success": true, - "started_at_unix": 1789970932.797263, + "started_at_unix": 1790057237.054757, "bytes_sent": 284, "bytes_received": 409, "request_id": 14, @@ -16318,9 +16318,9 @@ { "kind": "request", "method": "textDocument/references", - "duration_ms": 0.7403289999956542, + "duration_ms": 0.6522689999997056, "success": true, - "started_at_unix": 1789970932.8003063, + "started_at_unix": 1790057237.0577528, "bytes_sent": 284, "bytes_received": 409, "request_id": 15, @@ -16348,9 +16348,9 @@ { "kind": "request", "method": "textDocument/references", - "duration_ms": 0.8284930000002078, + "duration_ms": 0.7036850000190498, "success": true, - "started_at_unix": 1789970932.8011115, + "started_at_unix": 1790057237.0584686, "bytes_sent": 284, "bytes_received": 409, "request_id": 16, @@ -16378,9 +16378,9 @@ { "kind": "request", "method": "textDocument/references", - "duration_ms": 0.9182649999956993, + "duration_ms": 0.8564700000306402, "success": true, - "started_at_unix": 1789970932.8020303, + "started_at_unix": 1790057237.0592587, "bytes_sent": 284, "bytes_received": 409, "request_id": 17, @@ -16408,9 +16408,9 @@ { "kind": "request", "method": "textDocument/references", - "duration_ms": 0.8443589999842516, + "duration_ms": 1.097772999969493, "success": true, - "started_at_unix": 1789970932.80305, + "started_at_unix": 1790057237.0602033, "bytes_sent": 284, "bytes_received": 409, "request_id": 18, @@ -16438,9 +16438,9 @@ { "kind": "request", "method": "textDocument/references", - "duration_ms": 0.7455029999903218, + "duration_ms": 0.7235219999870424, "success": true, - "started_at_unix": 1789970932.8039799, + "started_at_unix": 1790057237.0613654, "bytes_sent": 284, "bytes_received": 409, "request_id": 19, @@ -16468,9 +16468,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.038050999989991396, + "duration_ms": 0.02766199997950025, "success": true, - "started_at_unix": 1789970932.8050454, + "started_at_unix": 1790057237.0622885, "bytes_sent": 374, "bytes_received": 0, "request_id": null, @@ -16487,9 +16487,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 8.628726000011966, + "duration_ms": 9.009498000011718, "success": true, - "started_at_unix": 1789970932.8050964, + "started_at_unix": 1790057237.0623257, "bytes_sent": 274, "bytes_received": 45853, "request_id": 20, @@ -16517,9 +16517,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03030700000294928, + "duration_ms": 0.026450000007116614, "success": true, - "started_at_unix": 1789970932.8146539, + "started_at_unix": 1790057237.0722225, "bytes_sent": 318, "bytes_received": 0, "request_id": null, @@ -16536,9 +16536,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.01598000000058164, + "duration_ms": 0.015297999993890699, "success": true, - "started_at_unix": 1789970932.8146946, + "started_at_unix": 1790057237.072258, "bytes_sent": 374, "bytes_received": 0, "request_id": null, @@ -16555,9 +16555,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 5.642604000001938, + "duration_ms": 5.81537800002252, "success": true, - "started_at_unix": 1789970932.81472, + "started_at_unix": 1790057237.0722811, "bytes_sent": 274, "bytes_received": 45853, "request_id": 21, @@ -16585,9 +16585,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03917300000466639, + "duration_ms": 0.02425500002800618, "success": true, - "started_at_unix": 1789970932.822938, + "started_at_unix": 1790057237.0793893, "bytes_sent": 318, "bytes_received": 0, "request_id": null, @@ -16604,9 +16604,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02218199998083037, + "duration_ms": 0.015078999979323271, "success": true, - "started_at_unix": 1789970932.8229904, + "started_at_unix": 1790057237.0794225, "bytes_sent": 374, "bytes_received": 0, "request_id": null, @@ -16623,9 +16623,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 6.684179999979278, + "duration_ms": 6.161595999969904, "success": true, - "started_at_unix": 1789970932.8230264, + "started_at_unix": 1790057237.0794458, "bytes_sent": 274, "bytes_received": 45853, "request_id": 22, @@ -16653,9 +16653,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.028783999994175247, + "duration_ms": 0.029785999970499688, "success": true, - "started_at_unix": 1789970932.8311322, + "started_at_unix": 1790057237.0877762, "bytes_sent": 318, "bytes_received": 0, "request_id": null, @@ -16672,9 +16672,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.015549000011105818, + "duration_ms": 0.016501000004609523, "success": true, - "started_at_unix": 1789970932.8311713, + "started_at_unix": 1790057237.0878158, "bytes_sent": 374, "bytes_received": 0, "request_id": null, @@ -16691,9 +16691,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 5.5735760000175105, + "duration_ms": 3.50113400003238, "success": true, - "started_at_unix": 1789970932.8311968, + "started_at_unix": 1790057237.0878415, "bytes_sent": 274, "bytes_received": 45853, "request_id": 23, @@ -16721,9 +16721,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.027702000011231576, + "duration_ms": 0.02616900002294642, "success": true, - "started_at_unix": 1789970932.838109, + "started_at_unix": 1790057237.092704, "bytes_sent": 318, "bytes_received": 0, "request_id": null, @@ -16740,9 +16740,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.015358000013065976, + "duration_ms": 0.014857999985906645, "success": true, - "started_at_unix": 1789970932.8381472, + "started_at_unix": 1790057237.092739, "bytes_sent": 375, "bytes_received": 0, "request_id": null, @@ -16759,9 +16759,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.663881999988462, + "duration_ms": 3.8442499999860047, "success": true, - "started_at_unix": 1789970932.8381727, + "started_at_unix": 1790057237.0927627, "bytes_sent": 274, "bytes_received": 45853, "request_id": 24, @@ -16789,9 +16789,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02798200000597717, + "duration_ms": 0.03140900003018032, "success": true, - "started_at_unix": 1789970932.8442142, + "started_at_unix": 1790057237.0987103, "bytes_sent": 319, "bytes_received": 0, "request_id": null, @@ -16808,9 +16808,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.014937999992525874, + "duration_ms": 0.02498599997124984, "success": true, - "started_at_unix": 1789970932.8442526, + "started_at_unix": 1790057237.0987546, "bytes_sent": 375, "bytes_received": 0, "request_id": null, @@ -16827,9 +16827,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.132722999997895, + "duration_ms": 3.3078069999987747, "success": true, - "started_at_unix": 1789970932.8442771, + "started_at_unix": 1790057237.0987906, "bytes_sent": 274, "bytes_received": 45853, "request_id": 25, @@ -16857,9 +16857,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.026960000013787067, + "duration_ms": 0.025728000025537767, "success": true, - "started_at_unix": 1789970932.8499649, + "started_at_unix": 1790057237.103794, "bytes_sent": 319, "bytes_received": 0, "request_id": null, @@ -16876,9 +16876,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.021750999991354547, + "duration_ms": 0.02044800004341596, "success": true, - "started_at_unix": 1789970932.8501766, + "started_at_unix": 1790057237.1039963, "bytes_sent": 374, "bytes_received": 0, "request_id": null, @@ -16895,9 +16895,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 38.41025500000228, + "duration_ms": 32.2732770000016, "success": true, - "started_at_unix": 1789970932.8502085, + "started_at_unix": 1790057237.1040251, "bytes_sent": 241, "bytes_received": 614, "request_id": 26, @@ -16925,9 +16925,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03104800001096919, + "duration_ms": 0.03628799998978138, "success": true, - "started_at_unix": 1789970932.8886971, + "started_at_unix": 1790057237.1363776, "bytes_sent": 319, "bytes_received": 0, "request_id": null, @@ -16944,9 +16944,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.05254799998510862, + "duration_ms": 0.01903600002606254, "success": true, - "started_at_unix": 1789970932.8887389, + "started_at_unix": 1790057237.1364257, "bytes_sent": 374, "bytes_received": 0, "request_id": null, @@ -16963,9 +16963,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 40.661377999981596, + "duration_ms": 41.571484999963104, "success": true, - "started_at_unix": 1789970932.8888032, + "started_at_unix": 1790057237.136454, "bytes_sent": 241, "bytes_received": 614, "request_id": 27, @@ -16993,9 +16993,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03947400000470225, + "duration_ms": 0.03146900002093389, "success": true, - "started_at_unix": 1789970932.929588, + "started_at_unix": 1790057237.178118, "bytes_sent": 319, "bytes_received": 0, "request_id": null, @@ -17012,9 +17012,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.023984999984349997, + "duration_ms": 0.025978999985909468, "success": true, - "started_at_unix": 1789970932.9296408, + "started_at_unix": 1790057237.1781626, "bytes_sent": 374, "bytes_received": 0, "request_id": null, @@ -17031,9 +17031,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 39.80239799997776, + "duration_ms": 33.104491999949914, "success": true, - "started_at_unix": 1789970932.9296784, + "started_at_unix": 1790057237.1782007, "bytes_sent": 241, "bytes_received": 614, "request_id": 28, @@ -17061,9 +17061,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.035155999995595266, + "duration_ms": 0.03014600002870793, "success": true, - "started_at_unix": 1789970932.969582, + "started_at_unix": 1790057237.2113981, "bytes_sent": 319, "bytes_received": 0, "request_id": null, @@ -17080,9 +17080,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.025187000005644222, + "duration_ms": 0.01673100001653438, "success": true, - "started_at_unix": 1789970932.9696305, + "started_at_unix": 1790057237.2114387, "bytes_sent": 374, "bytes_received": 0, "request_id": null, @@ -17099,9 +17099,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 37.14405200000215, + "duration_ms": 39.03502800000069, "success": true, - "started_at_unix": 1789970932.969668, + "started_at_unix": 1790057237.2114637, "bytes_sent": 241, "bytes_received": 614, "request_id": 29, @@ -17129,9 +17129,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03238100001112798, + "duration_ms": 0.0368190000017421, "success": true, - "started_at_unix": 1789970933.0069082, + "started_at_unix": 1790057237.25064, "bytes_sent": 319, "bytes_received": 0, "request_id": null, @@ -17148,9 +17148,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02501700001289464, + "duration_ms": 0.02336400001468064, "success": true, - "started_at_unix": 1789970933.006954, + "started_at_unix": 1790057237.2506907, "bytes_sent": 374, "bytes_received": 0, "request_id": null, @@ -17167,9 +17167,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 32.837010000008604, + "duration_ms": 27.90748000001031, "success": true, - "started_at_unix": 1789970933.006992, + "started_at_unix": 1790057237.2507274, "bytes_sent": 241, "bytes_received": 614, "request_id": 30, @@ -17197,9 +17197,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.0335130000053141, + "duration_ms": 0.03366199996435171, "success": true, - "started_at_unix": 1789970933.0399292, + "started_at_unix": 1790057237.2787514, "bytes_sent": 319, "bytes_received": 0, "request_id": null, @@ -17216,9 +17216,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02649999998993735, + "duration_ms": 0.0217709999787985, "success": true, - "started_at_unix": 1789970933.0399756, + "started_at_unix": 1790057237.2787976, "bytes_sent": 374, "bytes_received": 0, "request_id": null, @@ -17235,9 +17235,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 30.711693999990075, + "duration_ms": 30.635306000021956, "success": true, - "started_at_unix": 1789970933.0400152, + "started_at_unix": 1790057237.2788308, "bytes_sent": 241, "bytes_received": 614, "request_id": 31, @@ -17265,9 +17265,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03277100000786959, + "duration_ms": 0.06067300000722753, "success": true, - "started_at_unix": 1789970933.0708506, + "started_at_unix": 1790057237.309555, "bytes_sent": 319, "bytes_received": 0, "request_id": null, @@ -17284,9 +17284,9 @@ { "kind": "notification", "method": "textDocument/didClose", - "duration_ms": 0.026269000017009603, + "duration_ms": 0.028953999958503118, "success": true, - "started_at_unix": 1789970933.071014, + "started_at_unix": 1790057237.3097515, "bytes_sent": 198, "bytes_received": 0, "request_id": null, @@ -17299,9 +17299,9 @@ { "kind": "request", "method": "shutdown", - "duration_ms": 2.766970999999785, + "duration_ms": 1.817251000034048, "success": true, - "started_at_unix": 1789970933.0710514, + "started_at_unix": 1790057237.3097918, "bytes_sent": 67, "bytes_received": 61, "request_id": 32, @@ -17319,9 +17319,9 @@ { "kind": "notification", "method": "exit", - "duration_ms": 0.5888669999762897, + "duration_ms": 0.025868999955491745, "success": true, - "started_at_unix": 1789970933.0738404, + "started_at_unix": 1790057237.3116298, "bytes_sent": 55, "bytes_received": 0, "request_id": null, diff --git a/latest-results/summary-20260921T060722Z.csv b/latest-results/summary-20260921T060722Z.csv deleted file mode 100644 index 482fc21..0000000 --- a/latest-results/summary-20260921T060722Z.csv +++ /dev/null @@ -1,132 +0,0 @@ -report_type,baseline_server_id,server_id,server_name,suite_name,scenario_name,point_label,method,method_display,success,mean_ms,p95_ms,non_empty_rate,result_metric_name,result_metric_label,result_metric_value,result_metric_delta,validation_passed,validation_failure_count -benchmark,pyright,pyright,Pyright,data_science,,dataframe completion,textDocument/completion,textDocument/completion,True,7.351297600001772,12.50931920000653,1.0,completion_item_count,Completions found,201.0,0.0,True,0 -benchmark,pyright,ty,Ty,data_science,,dataframe completion,textDocument/completion,textDocument/completion,True,1.6740320000053543,1.8784031999985016,1.0,completion_item_count,Completions found,223.0,22.0,True,0 -benchmark,pyright,pyrefly,Pyrefly,data_science,,dataframe completion,textDocument/completion,textDocument/completion,True,91.54727960000173,363.66161139999343,1.0,completion_item_count,Completions found,250.0,49.0,True,0 -benchmark,pyright,pylsp-mypy,pylsp-mypy,data_science,,dataframe completion,textDocument/completion,textDocument/completion,True,238.91272660000027,469.6185436000064,1.0,completion_item_count,Completions found,188.0,-13.0,True,0 -benchmark,pyright,pyright,Pyright,data_science,,dataframe describe hover,textDocument/hover,textDocument/hover,True,1.1681641999985004,1.5097159999982068,1.0,hover_text_char_count,Hover length,4019.0,0.0,True,0 -benchmark,pyright,ty,Ty,data_science,,dataframe describe hover,textDocument/hover,textDocument/hover,True,0.32937720000063564,0.348992199985787,1.0,hover_text_char_count,Hover length,4232.0,213.0,True,0 -benchmark,pyright,pyrefly,Pyrefly,data_science,,dataframe describe hover,textDocument/hover,textDocument/hover,True,2.547695000004069,2.780446999997821,1.0,hover_text_char_count,Hover length,3182.0,-837.0,True,0 -benchmark,pyright,pylsp-mypy,pylsp-mypy,data_science,,dataframe describe hover,textDocument/hover,textDocument/hover,True,183.3277790000011,184.5099302000051,1.0,hover_text_char_count,Hover length,4134.0,115.0,True,0 -benchmark,pyright,pyright,Pyright,data_science,,summarize definition,textDocument/definition,textDocument/definition,True,0.4416812000044956,0.500082999985807,1.0,location_count,Definitions found,1.0,0.0,True,0 -benchmark,pyright,ty,Ty,data_science,,summarize definition,textDocument/definition,textDocument/definition,True,0.2245821999963482,0.23132640000653737,1.0,location_count,Definitions found,1.0,0.0,True,0 -benchmark,pyright,pyrefly,Pyrefly,data_science,,summarize definition,textDocument/definition,textDocument/definition,True,0.20514619999971728,0.2290790000074594,1.0,location_count,Definitions found,1.0,0.0,True,0 -benchmark,pyright,pylsp-mypy,pylsp-mypy,data_science,,summarize definition,textDocument/definition,textDocument/definition,True,1.0531573999969623,1.0961775999930978,1.0,location_count,Definitions found,1.0,0.0,True,0 -benchmark,pyright,pyright,Pyright,data_science,,edit array then complete (edit+completion),textDocument/completion,textDocument/completion,True,392.49080240000467,523.1295430000102,1.0,completion_item_count,Completions found,168.0,0.0,True,0 -benchmark,pyright,ty,Ty,data_science,,edit array then complete (edit+completion),textDocument/completion,textDocument/completion,True,16.375255599996308,18.03165259998991,1.0,completion_item_count,Completions found,168.0,0.0,True,0 -benchmark,pyright,pyrefly,Pyrefly,data_science,,edit array then complete (edit+completion),textDocument/completion,textDocument/completion,True,28.69637280000461,79.18630460000598,1.0,completion_item_count,Completions found,149.0,-19.0,True,0 -benchmark,pyright,pylsp-mypy,pylsp-mypy,data_science,,edit array then complete (edit+completion),textDocument/completion,textDocument/completion,False,4.603106400003298,4.717281200009893,0.0,completion_item_count,Completions found,0.0,-168.0,False,10 -benchmark,pyright,pyright,Pyright,data_science,,edit array then hover (edit+hover),textDocument/hover,textDocument/hover,True,29.830038799997283,32.51690239999334,1.0,hover_text_char_count,Hover length,278.0,0.0,True,0 -benchmark,pyright,ty,Ty,data_science,,edit array then hover (edit+hover),textDocument/hover,textDocument/hover,True,6.613315599997804,7.154345400005013,1.0,hover_text_char_count,Hover length,267.0,-11.0,True,0 -benchmark,pyright,pyrefly,Pyrefly,data_science,,edit array then hover (edit+hover),textDocument/hover,textDocument/hover,True,5.59527220000291,6.636014000008572,1.0,hover_text_char_count,Hover length,2546.0,2268.0,True,0 -benchmark,pyright,pylsp-mypy,pylsp-mypy,data_science,,edit array then hover (edit+hover),textDocument/hover,textDocument/hover,True,171.09828699999525,173.17222660001335,1.0,hover_text_char_count,Hover length,5662.0,5384.0,True,0 -benchmark,pyright,pyright,Pyright,django,,queryset completion,textDocument/completion,textDocument/completion,True,4.74261219999903,7.85876860000485,1.0,completion_item_count,Completions found,10.0,0.0,True,0 -benchmark,pyright,ty,Ty,django,,queryset completion,textDocument/completion,textDocument/completion,True,5.217117000000826,7.459327200001552,1.0,completion_item_count,Completions found,261.0,251.0,True,0 -benchmark,pyright,pyrefly,Pyrefly,django,,queryset completion,textDocument/completion,textDocument/completion,True,18.471413599996822,64.82434600000032,1.0,completion_item_count,Completions found,15.0,5.0,True,0 -benchmark,pyright,pylsp-mypy,pylsp-mypy,django,,queryset completion,textDocument/completion,textDocument/completion,True,225.3118309999877,689.9120359999755,1.0,completion_item_count,Completions found,2.0,-8.0,True,0 -benchmark,pyright,pyright,Pyright,django,,queryset filter hover,textDocument/hover,textDocument/hover,True,0.5448531999888928,0.6250586000021485,1.0,hover_text_char_count,Hover length,57.0,0.0,True,0 -benchmark,pyright,ty,Ty,django,,queryset filter hover,textDocument/hover,textDocument/hover,True,0.23280980000777163,0.24732260001201212,1.0,hover_text_char_count,Hover length,46.0,-11.0,True,0 -benchmark,pyright,pyrefly,Pyrefly,django,,queryset filter hover,textDocument/hover,textDocument/hover,True,2.8875960000050327,5.341614000013806,1.0,hover_text_char_count,Hover length,298.0,241.0,True,0 -benchmark,pyright,pylsp-mypy,pylsp-mypy,django,,queryset filter hover,textDocument/hover,textDocument/hover,True,162.2419423999986,163.3335195999848,1.0,hover_text_char_count,Hover length,57.0,0.0,True,0 -benchmark,pyright,pyright,Pyright,django,,model definition,textDocument/definition,textDocument/definition,True,0.39338660000112213,0.4432213999962187,1.0,location_count,Definitions found,1.0,0.0,True,0 -benchmark,pyright,ty,Ty,django,,model definition,textDocument/definition,textDocument/definition,True,0.19840780000208724,0.20390820000102394,1.0,location_count,Definitions found,1.0,0.0,True,0 -benchmark,pyright,pyrefly,Pyrefly,django,,model definition,textDocument/definition,textDocument/definition,True,2.8332167999963076,6.667087599993237,1.0,location_count,Definitions found,1.0,0.0,True,0 -benchmark,pyright,pylsp-mypy,pylsp-mypy,django,,model definition,textDocument/definition,textDocument/definition,True,1.0651239999901918,1.0957125999766504,1.0,location_count,Definitions found,1.0,0.0,True,0 -benchmark,pyright,pyright,Pyright,django,,edit queryset then complete (edit+completion),textDocument/completion,textDocument/completion,True,25.525776999995742,27.572453599987057,1.0,completion_item_count,Completions found,104.0,0.0,True,0 -benchmark,pyright,ty,Ty,django,,edit queryset then complete (edit+completion),textDocument/completion,textDocument/completion,True,4.865027400006738,5.455596800010198,1.0,completion_item_count,Completions found,104.0,0.0,True,0 -benchmark,pyright,pyrefly,Pyrefly,django,,edit queryset then complete (edit+completion),textDocument/completion,textDocument/completion,True,2.14256859999864,4.885701400002062,1.0,completion_item_count,Completions found,83.0,-21.0,True,0 -benchmark,pyright,pylsp-mypy,pylsp-mypy,django,,edit queryset then complete (edit+completion),textDocument/completion,textDocument/completion,True,259.8098297999968,304.32666739997103,1.0,completion_item_count,Completions found,143.0,39.0,True,0 -benchmark,pyright,pyright,Pyright,django,,edit queryset then hover (edit+hover),textDocument/hover,textDocument/hover,True,37.65205280000146,43.630962999998246,1.0,hover_text_char_count,Hover length,83.0,0.0,True,0 -benchmark,pyright,ty,Ty,django,,edit queryset then hover (edit+hover),textDocument/hover,textDocument/hover,True,3.1963454000049296,3.2721041999991485,1.0,hover_text_char_count,Hover length,100.0,17.0,True,0 -benchmark,pyright,pyrefly,Pyrefly,django,,edit queryset then hover (edit+hover),textDocument/hover,textDocument/hover,True,1.5682000000083463,4.307615400000485,1.0,hover_text_char_count,Hover length,858.0,775.0,True,0 -benchmark,pyright,pylsp-mypy,pylsp-mypy,django,,edit queryset then hover (edit+hover),textDocument/hover,textDocument/hover,True,249.4558952000034,260.01539840000305,1.0,hover_text_char_count,Hover length,71.0,-12.0,True,0 -benchmark,pyright,pyright,Pyright,pandas,,report dataframe completion,textDocument/completion,textDocument/completion,True,78.22510780000016,267.4742059999971,1.0,completion_item_count,Completions found,271.2,0.0,True,0 -benchmark,pyright,ty,Ty,pandas,,report dataframe completion,textDocument/completion,textDocument/completion,True,19.61909319999222,23.02445599998464,1.0,completion_item_count,Completions found,1000.0,728.8,True,0 -benchmark,pyright,pyrefly,Pyrefly,pandas,,report dataframe completion,textDocument/completion,textDocument/completion,True,99.11174060000008,391.312677199994,1.0,completion_item_count,Completions found,16.0,-255.2,True,0 -benchmark,pyright,pylsp-mypy,pylsp-mypy,pandas,,report dataframe completion,textDocument/completion,textDocument/completion,True,79.18053220001866,160.0357217999999,1.0,completion_item_count,Completions found,6.0,-265.2,True,0 -benchmark,pyright,pyright,Pyright,pandas,,dataframe groupby hover,textDocument/hover,textDocument/hover,True,0.6495038000082332,0.7325164000064888,1.0,hover_text_char_count,Hover length,350.0,0.0,True,0 -benchmark,pyright,ty,Ty,pandas,,dataframe groupby hover,textDocument/hover,textDocument/hover,True,0.30333519999317105,0.3519657999959236,1.0,hover_text_char_count,Hover length,329.0,-21.0,True,0 -benchmark,pyright,pyrefly,Pyrefly,pandas,,dataframe groupby hover,textDocument/hover,textDocument/hover,True,4.6672365999882,5.994514799982653,1.0,hover_text_char_count,Hover length,2759.0,2409.0,True,0 -benchmark,pyright,pylsp-mypy,pylsp-mypy,pandas,,dataframe groupby hover,textDocument/hover,textDocument/hover,True,197.14786780000395,205.37542659999417,1.0,hover_text_char_count,Hover length,301.0,-49.0,True,0 -benchmark,pyright,pyright,Pyright,pandas,,build report definition,textDocument/definition,textDocument/definition,True,0.4362148000097932,0.5060584000204926,1.0,location_count,Definitions found,1.0,0.0,True,0 -benchmark,pyright,ty,Ty,pandas,,build report definition,textDocument/definition,textDocument/definition,True,0.22373720000246067,0.23429859998600477,1.0,location_count,Definitions found,1.0,0.0,True,0 -benchmark,pyright,pyrefly,Pyrefly,pandas,,build report definition,textDocument/definition,textDocument/definition,True,2.316428000005999,3.431821000003765,1.0,location_count,Definitions found,1.0,0.0,True,0 -benchmark,pyright,pylsp-mypy,pylsp-mypy,pandas,,build report definition,textDocument/definition,textDocument/definition,True,1.0391533999950298,1.0754972000199814,1.0,location_count,Definitions found,1.0,0.0,True,0 -benchmark,pyright,pyright,Pyright,pandas,,edit dataframe then complete (edit+completion),textDocument/completion,textDocument/completion,True,803.0236312,1258.2084136000049,1.0,completion_item_count,Completions found,440.0,0.0,True,0 -benchmark,pyright,ty,Ty,pandas,,edit dataframe then complete (edit+completion),textDocument/completion,textDocument/completion,True,20.40400159999649,20.829794399992352,1.0,completion_item_count,Completions found,448.0,8.0,True,0 -benchmark,pyright,pyrefly,Pyrefly,pandas,,edit dataframe then complete (edit+completion),textDocument/completion,textDocument/completion,True,28.86562959999992,52.760707199990975,1.0,completion_item_count,Completions found,256.0,-184.0,True,0 -benchmark,pyright,pylsp-mypy,pylsp-mypy,pandas,,edit dataframe then complete (edit+completion),textDocument/completion,textDocument/completion,True,237.44141399997716,244.49609619998682,1.0,completion_item_count,Completions found,441.0,1.0,True,0 -benchmark,pyright,pyright,Pyright,pandas,,edit dataframe then hover (edit+hover),textDocument/hover,textDocument/hover,True,12.561767199997576,13.379540400006817,1.0,hover_text_char_count,Hover length,4292.0,0.0,True,0 -benchmark,pyright,ty,Ty,pandas,,edit dataframe then hover (edit+hover),textDocument/hover,textDocument/hover,True,6.122238599999719,6.279815800002098,1.0,hover_text_char_count,Hover length,4441.0,149.0,True,0 -benchmark,pyright,pyrefly,Pyrefly,pandas,,edit dataframe then hover (edit+hover),textDocument/hover,textDocument/hover,True,6.361602599992011,22.04627559999039,1.0,hover_text_char_count,Hover length,943.0,-3349.0,True,0 -benchmark,pyright,pylsp-mypy,pylsp-mypy,pandas,,edit dataframe then hover (edit+hover),textDocument/hover,textDocument/hover,True,185.76846799999203,186.23672219998753,1.0,hover_text_char_count,Hover length,232.0,-4060.0,True,0 -benchmark,pyright,pyright,Pyright,sqlalchemy,,query completion,textDocument/completion,textDocument/completion,True,8.154033199997457,13.970627200001216,1.0,completion_item_count,Completions found,1.0,0.0,True,0 -benchmark,pyright,ty,Ty,sqlalchemy,,query completion,textDocument/completion,textDocument/completion,True,3.5923695999997562,8.075164199993877,1.0,completion_item_count,Completions found,1.0,0.0,True,0 -benchmark,pyright,pyrefly,Pyrefly,sqlalchemy,,query completion,textDocument/completion,textDocument/completion,True,85.71919280000202,341.7976326000086,1.0,completion_item_count,Completions found,15.0,14.0,True,0 -benchmark,pyright,pylsp-mypy,pylsp-mypy,sqlalchemy,,query completion,textDocument/completion,textDocument/completion,True,224.7704993999946,493.9960285999859,1.0,completion_item_count,Completions found,1.0,0.0,True,0 -benchmark,pyright,pyright,Pyright,sqlalchemy,,sessionmaker hover,textDocument/hover,textDocument/hover,True,1.247136999995746,1.3598375999890777,1.0,hover_text_char_count,Hover length,10572.0,0.0,True,0 -benchmark,pyright,ty,Ty,sqlalchemy,,sessionmaker hover,textDocument/hover,textDocument/hover,True,0.41001540001275316,0.43515440000305716,1.0,hover_text_char_count,Hover length,10621.0,49.0,True,0 -benchmark,pyright,pyrefly,Pyrefly,sqlalchemy,,sessionmaker hover,textDocument/hover,textDocument/hover,True,1.0378849999938211,1.0588779999864073,1.0,hover_text_char_count,Hover length,15232.0,4660.0,True,0 -benchmark,pyright,pylsp-mypy,pylsp-mypy,sqlalchemy,,sessionmaker hover,textDocument/hover,textDocument/hover,True,329.40860880000855,330.3685706000124,1.0,hover_text_char_count,Hover length,10498.0,-74.0,True,0 -benchmark,pyright,pyright,Pyright,sqlalchemy,,mapped class definition,textDocument/definition,textDocument/definition,True,0.3968903999975737,0.4613202000030014,1.0,location_count,Definitions found,1.0,0.0,True,0 -benchmark,pyright,ty,Ty,sqlalchemy,,mapped class definition,textDocument/definition,textDocument/definition,True,0.2140785999927175,0.22273880001080215,1.0,location_count,Definitions found,2.0,1.0,True,0 -benchmark,pyright,pyrefly,Pyrefly,sqlalchemy,,mapped class definition,textDocument/definition,textDocument/definition,True,0.2707439999937833,0.29001139999422776,1.0,location_count,Definitions found,1.0,0.0,True,0 -benchmark,pyright,pylsp-mypy,pylsp-mypy,sqlalchemy,,mapped class definition,textDocument/definition,textDocument/definition,True,1.1254148000148234,1.351380600021912,1.0,location_count,Definitions found,1.0,0.0,True,0 -benchmark,pyright,pyright,Pyright,sqlalchemy,,edit query then complete (edit+completion),textDocument/completion,textDocument/completion,True,145.6513618000031,208.57845660000294,1.0,completion_item_count,Completions found,38.0,0.0,True,0 -benchmark,pyright,ty,Ty,sqlalchemy,,edit query then complete (edit+completion),textDocument/completion,textDocument/completion,True,5.173459400003821,6.317219600009594,1.0,completion_item_count,Completions found,23.0,-15.0,True,0 -benchmark,pyright,pyrefly,Pyrefly,sqlalchemy,,edit query then complete (edit+completion),textDocument/completion,textDocument/completion,True,0.7417493999923863,0.7808035999914864,1.0,completion_item_count,Completions found,17.0,-21.0,True,0 -benchmark,pyright,pylsp-mypy,pylsp-mypy,sqlalchemy,,edit query then complete (edit+completion),textDocument/completion,textDocument/completion,False,38.76482579998992,38.950135399988994,0.0,completion_item_count,Completions found,0.0,-38.0,False,10 -benchmark,pyright,pyright,Pyright,sqlalchemy,,edit session then hover (edit+hover),textDocument/hover,textDocument/hover,True,94.55802179999182,103.5300014000029,1.0,hover_text_char_count,Hover length,900.0,0.0,True,0 -benchmark,pyright,ty,Ty,sqlalchemy,,edit session then hover (edit+hover),textDocument/hover,textDocument/hover,True,4.5281180000017685,4.574716999997008,1.0,hover_text_char_count,Hover length,958.0,58.0,True,0 -benchmark,pyright,pyrefly,Pyrefly,sqlalchemy,,edit session then hover (edit+hover),textDocument/hover,textDocument/hover,True,0.5179626000085591,0.5596606000096926,1.0,hover_text_char_count,Hover length,2246.0,1346.0,True,0 -benchmark,pyright,pylsp-mypy,pylsp-mypy,sqlalchemy,,edit session then hover (edit+hover),textDocument/hover,textDocument/hover,False,39.73533739999766,41.118293199997424,0.0,hover_text_char_count,Hover length,0.0,-900.0,False,10 -benchmark,pyright,pyright,Pyright,transformers,,classifier pipeline completion,textDocument/completion,textDocument/completion,True,55.48425840000846,85.02292660000421,1.0,completion_item_count,Completions found,123.0,0.0,True,0 -benchmark,pyright,ty,Ty,transformers,,classifier pipeline completion,textDocument/completion,textDocument/completion,True,14.382595999995829,15.991560599991317,1.0,completion_item_count,Completions found,777.0,654.0,True,0 -benchmark,pyright,pyrefly,Pyrefly,transformers,,classifier pipeline completion,textDocument/completion,textDocument/completion,True,861.5543312000057,3445.274474600017,1.0,completion_item_count,Completions found,15.0,-108.0,True,0 -benchmark,pyright,pylsp-mypy,pylsp-mypy,transformers,,classifier pipeline completion,textDocument/completion,textDocument/completion,True,147.98423999999386,151.59414579998156,1.0,completion_item_count,Completions found,2.0,-121.0,True,0 -benchmark,pyright,pyright,Pyright,transformers,,pipeline hover,textDocument/hover,textDocument/hover,True,0.4800684000031197,0.5920551999963664,1.0,hover_text_char_count,Hover length,34.0,0.0,True,0 -benchmark,pyright,ty,Ty,transformers,,pipeline hover,textDocument/hover,textDocument/hover,True,0.3757966000023316,0.8056883999984163,1.0,hover_text_char_count,Hover length,7.0,-27.0,True,0 -benchmark,pyright,pyrefly,Pyrefly,transformers,,pipeline hover,textDocument/hover,textDocument/hover,True,0.21300219999602632,0.21630039999536166,1.0,hover_text_char_count,Hover length,48.0,14.0,True,0 -benchmark,pyright,pylsp-mypy,pylsp-mypy,transformers,,pipeline hover,textDocument/hover,textDocument/hover,False,2748.1002984000156,2786.139475600021,0.0,hover_text_char_count,Hover length,0.0,-34.0,False,10 -benchmark,pyright,pyright,Pyright,transformers,,auto tokenizer definition,textDocument/definition,textDocument/definition,True,0.451574799996024,0.5493710000052943,1.0,location_count,Definitions found,1.0,0.0,True,0 -benchmark,pyright,ty,Ty,transformers,,auto tokenizer definition,textDocument/definition,textDocument/definition,True,0.3015816000072391,0.3296658000124353,1.0,location_count,Definitions found,1.0,0.0,True,0 -benchmark,pyright,pyrefly,Pyrefly,transformers,,auto tokenizer definition,textDocument/definition,textDocument/definition,True,0.22069880000117337,0.22728139999230734,1.0,location_count,Definitions found,1.0,0.0,True,0 -benchmark,pyright,pylsp-mypy,pylsp-mypy,transformers,,auto tokenizer definition,textDocument/definition,textDocument/definition,True,2209.374416000014,2244.6083598000087,1.0,location_count,Definitions found,1.0,0.0,True,0 -benchmark,pyright,pyright,Pyright,transformers,,edit prediction then complete (edit+completion),textDocument/completion,textDocument/completion,True,8.11636720000024,11.262080599999535,0.0,completion_item_count,Completions found,0.0,0.0,True,0 -benchmark,pyright,ty,Ty,transformers,,edit prediction then complete (edit+completion),textDocument/completion,textDocument/completion,True,7.241317599999775,8.697671199996648,1.0,completion_item_count,Completions found,23.0,23.0,True,0 -benchmark,pyright,pyrefly,Pyrefly,transformers,,edit prediction then complete (edit+completion),textDocument/completion,textDocument/completion,True,8.07407659999626,20.646684199988385,0.0,completion_item_count,Completions found,0.0,0.0,True,0 -benchmark,pyright,pylsp-mypy,pylsp-mypy,transformers,,edit prediction then complete (edit+completion),textDocument/completion,textDocument/completion,True,2.514229999997042,2.584108399980778,0.0,completion_item_count,Completions found,0.0,0.0,True,0 -benchmark,pyright,pyright,Pyright,transformers,,edit tokenizer then hover (edit+hover),textDocument/hover,textDocument/hover,True,533.8000100000045,550.8123980000164,1.0,hover_text_char_count,Hover length,30.0,0.0,True,0 -benchmark,pyright,ty,Ty,transformers,,edit tokenizer then hover (edit+hover),textDocument/hover,textDocument/hover,True,6.0544026000002304,6.125302399999555,1.0,hover_text_char_count,Hover length,7.0,-23.0,True,0 -benchmark,pyright,pyrefly,Pyrefly,transformers,,edit tokenizer then hover (edit+hover),textDocument/hover,textDocument/hover,True,10.37552040000378,23.8022300000182,1.0,hover_text_char_count,Hover length,33.0,3.0,True,0 -benchmark,pyright,pylsp-mypy,pylsp-mypy,transformers,,edit tokenizer then hover (edit+hover),textDocument/hover,textDocument/hover,False,2661.7373214000054,2700.8653556000013,0.0,hover_text_char_count,Hover length,0.0,-30.0,False,10 -benchmark,pyright,pyright,Pyright,web,,request args completion,textDocument/completion,textDocument/completion,True,6.039407199995139,9.639821799993342,1.0,completion_item_count,Completions found,14.0,0.0,True,0 -benchmark,pyright,ty,Ty,web,,request args completion,textDocument/completion,textDocument/completion,True,6.336523800001714,8.819444599993176,1.0,completion_item_count,Completions found,467.0,453.0,True,0 -benchmark,pyright,pyrefly,Pyrefly,web,,request args completion,textDocument/completion,textDocument/completion,True,70.8143046000032,192.3383029999911,1.0,completion_item_count,Completions found,487.8,473.8,True,0 -benchmark,pyright,pylsp-mypy,pylsp-mypy,web,,request args completion,textDocument/completion,textDocument/completion,True,59.151526400000876,101.14269599999943,1.0,completion_item_count,Completions found,1.0,-13.0,True,0 -benchmark,pyright,pyright,Pyright,web,,client session hover,textDocument/hover,textDocument/hover,True,0.5289271999970424,0.6034960000022238,1.0,hover_text_char_count,Hover length,26.0,0.0,True,0 -benchmark,pyright,ty,Ty,web,,client session hover,textDocument/hover,textDocument/hover,True,0.22246840000548218,0.2601902000037626,1.0,hover_text_char_count,Hover length,7.0,-19.0,True,0 -benchmark,pyright,pyrefly,Pyrefly,web,,client session hover,textDocument/hover,textDocument/hover,True,0.24840279999693848,0.3142215999957898,1.0,hover_text_char_count,Hover length,167.0,141.0,True,0 -benchmark,pyright,pylsp-mypy,pylsp-mypy,web,,client session hover,textDocument/hover,textDocument/hover,True,54.63055440000062,124.00435600001173,1.0,hover_text_char_count,Hover length,359.0,333.0,True,0 -benchmark,pyright,pyright,Pyright,web,,client references,textDocument/references,textDocument/references,True,0.8153897999932269,0.9034837999934098,1.0,location_count,References found,2.0,0.0,True,0 -benchmark,pyright,ty,Ty,web,,client references,textDocument/references,textDocument/references,True,0.6311777999997048,0.7163607999814303,1.0,location_count,References found,2.0,0.0,True,0 -benchmark,pyright,pyrefly,Pyrefly,web,,client references,textDocument/references,textDocument/references,True,0.33641860000557244,0.36063939999166905,1.0,location_count,References found,2.0,0.0,True,0 -benchmark,pyright,pylsp-mypy,pylsp-mypy,web,,client references,textDocument/references,textDocument/references,True,61.10389219999206,69.32957120000083,1.0,location_count,References found,2.0,0.0,True,0 -benchmark,pyright,pyright,Pyright,web,,edit response then complete (edit+completion),textDocument/completion,textDocument/completion,True,5.339392999997017,6.47586479998381,1.0,completion_item_count,Completions found,205.0,0.0,True,0 -benchmark,pyright,ty,Ty,web,,edit response then complete (edit+completion),textDocument/completion,textDocument/completion,True,6.057198600001357,6.475912599989897,1.0,completion_item_count,Completions found,225.0,20.0,True,0 -benchmark,pyright,pyrefly,Pyrefly,web,,edit response then complete (edit+completion),textDocument/completion,textDocument/completion,True,3.8903141999981017,5.023072199992384,1.0,completion_item_count,Completions found,32.0,-173.0,True,0 -benchmark,pyright,pylsp-mypy,pylsp-mypy,web,,edit response then complete (edit+completion),textDocument/completion,textDocument/completion,True,86.87652359999447,89.54692840000007,1.0,completion_item_count,Completions found,57.0,-148.0,True,0 -benchmark,pyright,pyright,Pyright,web,,edit response then hover (edit+hover),textDocument/hover,textDocument/hover,True,36.231306399992036,40.48958199998083,1.0,hover_text_char_count,Hover length,420.0,0.0,True,0 -benchmark,pyright,ty,Ty,web,,edit response then hover (edit+hover),textDocument/hover,textDocument/hover,True,3.620180799998707,3.7769891999971605,1.0,hover_text_char_count,Hover length,1555.0,1135.0,True,0 -benchmark,pyright,pyrefly,Pyrefly,web,,edit response then hover (edit+hover),textDocument/hover,textDocument/hover,True,2.348418000002539,4.685621200007971,1.0,hover_text_char_count,Hover length,9977.0,9557.0,True,0 -benchmark,pyright,pylsp-mypy,pylsp-mypy,web,,edit response then hover (edit+hover),textDocument/hover,textDocument/hover,True,230.5671387999837,232.75934559998177,1.0,hover_text_char_count,Hover length,880.0,460.0,True,0 -benchmark,pyright,pyrefly,Pyrefly,tsp_core,,builtins semantic tokens,typeServer/semanticTokens,semantic token impl using typeServer/getComputedType,True,1.8089855999960491,4.302921999993713,1.0,semantic_token_count,Semantic tokens found,30.0,,True,0 -benchmark,pyright,pyrefly,Pyrefly,tsp_core,,builtin int computed type,typeServer/getComputedType,typeServer/getComputedType,True,0.19501120000313676,0.20543680000741915,1.0,top_level_count,Results found,7.0,,True,0 -benchmark,pyright,pyrefly,Pyrefly,tsp_core,,list declared type,typeServer/getDeclaredType,typeServer/getDeclaredType,True,0.24163579999481044,0.24861320000582054,1.0,top_level_count,Results found,7.0,,True,0 -benchmark,pyright,pyrefly,Pyrefly,tsp_core,,generic specialization computed type,typeServer/getComputedType,typeServer/getComputedType,True,0.23129500000322878,0.24551340000016353,1.0,top_level_count,Results found,7.0,,True,0 -benchmark,pyright,pyrefly,Pyrefly,tsp_core,,flow narrowed branch type,typeServer/getComputedType,typeServer/getComputedType,False,0.22100959999988845,0.22983740000768194,,,,,,False,10 -benchmark,pyright,pyrefly,Pyrefly,tsp_core,,stdlib path computed type,typeServer/getComputedType,typeServer/getComputedType,True,0.2150063999977192,0.22797839998816016,1.0,top_level_count,Results found,7.0,,True,0 -benchmark,pyright,pyrefly,Pyrefly,tsp_core,,function argument expected type,typeServer/getExpectedType,typeServer/getExpectedType,True,0.24306999999339496,0.2527241999985108,1.0,top_level_count,Results found,7.0,,True,0 -benchmark,pyright,pyrefly,Pyrefly,tsp_core,,edited narrowing recomputes type (edit+getComputedType),typeServer/getComputedType,typeServer/getComputedType,False,0.21746979999761606,0.258336000001691,,,,,,False,10 -benchmark,pyright,pyrefly,Pyrefly,tsp_semantic,,django semantic tokens,typeServer/semanticTokens,semantic token impl using typeServer/getComputedType,True,11.354455399998642,14.806375800003478,1.0,semantic_token_count,Semantic tokens found,126.0,,True,0 -benchmark,pyright,pyrefly,Pyrefly,tsp_semantic,,transformers semantic tokens,typeServer/semanticTokens,semantic token impl using typeServer/getComputedType,True,126.88260599999239,168.75038559998643,1.0,semantic_token_count,Semantic tokens found,74.0,,True,0 -benchmark,pyright,pyrefly,Pyrefly,tsp_semantic,,stdlib semantic tokens,typeServer/semanticTokens,semantic token impl using typeServer/getComputedType,True,51.829372599991075,59.42256699999007,1.0,semantic_token_count,Semantic tokens found,75.0,,True,0 diff --git a/latest-results/summary-20260922T060545Z.csv b/latest-results/summary-20260922T060545Z.csv new file mode 100644 index 0000000..04296a5 --- /dev/null +++ b/latest-results/summary-20260922T060545Z.csv @@ -0,0 +1,132 @@ +report_type,baseline_server_id,server_id,server_name,suite_name,scenario_name,point_label,method,method_display,success,mean_ms,p95_ms,non_empty_rate,result_metric_name,result_metric_label,result_metric_value,result_metric_delta,validation_passed,validation_failure_count +benchmark,pyright,pyright,Pyright,data_science,,dataframe completion,textDocument/completion,textDocument/completion,True,5.845321799984049,10.96746319998374,1.0,completion_item_count,Completions found,201.0,0.0,True,0 +benchmark,pyright,ty,Ty,data_science,,dataframe completion,textDocument/completion,textDocument/completion,True,1.6749368000091636,1.90124220001735,1.0,completion_item_count,Completions found,223.0,22.0,True,0 +benchmark,pyright,pyrefly,Pyrefly,data_science,,dataframe completion,textDocument/completion,textDocument/completion,True,87.41575299998203,336.3860632000182,1.0,completion_item_count,Completions found,250.0,49.0,True,0 +benchmark,pyright,pylsp-mypy,pylsp-mypy,data_science,,dataframe completion,textDocument/completion,textDocument/completion,True,213.17441640001107,463.90641899999986,1.0,completion_item_count,Completions found,188.0,-13.0,True,0 +benchmark,pyright,pyright,Pyright,data_science,,dataframe describe hover,textDocument/hover,textDocument/hover,True,1.030644200000097,1.3088135999964834,1.0,hover_text_char_count,Hover length,4019.0,0.0,True,0 +benchmark,pyright,ty,Ty,data_science,,dataframe describe hover,textDocument/hover,textDocument/hover,True,0.31926660000181073,0.33791160001328535,1.0,hover_text_char_count,Hover length,4232.0,213.0,True,0 +benchmark,pyright,pyrefly,Pyrefly,data_science,,dataframe describe hover,textDocument/hover,textDocument/hover,True,3.0691139999930783,4.748636999977407,1.0,hover_text_char_count,Hover length,3182.0,-837.0,True,0 +benchmark,pyright,pylsp-mypy,pylsp-mypy,data_science,,dataframe describe hover,textDocument/hover,textDocument/hover,True,176.77088000000367,178.89025779998065,1.0,hover_text_char_count,Hover length,4134.0,115.0,True,0 +benchmark,pyright,pyright,Pyright,data_science,,summarize definition,textDocument/definition,textDocument/definition,True,0.403954800003703,0.4536576000191417,1.0,location_count,Definitions found,1.0,0.0,True,0 +benchmark,pyright,ty,Ty,data_science,,summarize definition,textDocument/definition,textDocument/definition,True,0.21170740001252852,0.2157348000082493,1.0,location_count,Definitions found,1.0,0.0,True,0 +benchmark,pyright,pyrefly,Pyrefly,data_science,,summarize definition,textDocument/definition,textDocument/definition,True,0.32394739998835576,0.6023839999897972,1.0,location_count,Definitions found,1.0,0.0,True,0 +benchmark,pyright,pylsp-mypy,pylsp-mypy,data_science,,summarize definition,textDocument/definition,textDocument/definition,True,1.0330769999995937,1.0982011999658425,1.0,location_count,Definitions found,1.0,0.0,True,0 +benchmark,pyright,pyright,Pyright,data_science,,edit array then complete (edit+completion),textDocument/completion,textDocument/completion,True,338.3675586000095,457.89180519999485,1.0,completion_item_count,Completions found,168.0,0.0,True,0 +benchmark,pyright,ty,Ty,data_science,,edit array then complete (edit+completion),textDocument/completion,textDocument/completion,True,12.681957800020882,14.194727000017338,1.0,completion_item_count,Completions found,168.0,0.0,True,0 +benchmark,pyright,pyrefly,Pyrefly,data_science,,edit array then complete (edit+completion),textDocument/completion,textDocument/completion,True,27.614897999978893,31.982907599967803,1.0,completion_item_count,Completions found,149.0,-19.0,True,0 +benchmark,pyright,pylsp-mypy,pylsp-mypy,data_science,,edit array then complete (edit+completion),textDocument/completion,textDocument/completion,False,4.393724399983512,4.619566399969699,0.0,completion_item_count,Completions found,0.0,-168.0,False,10 +benchmark,pyright,pyright,Pyright,data_science,,edit array then hover (edit+hover),textDocument/hover,textDocument/hover,True,30.177962400000524,35.92896300000348,1.0,hover_text_char_count,Hover length,278.0,0.0,True,0 +benchmark,pyright,ty,Ty,data_science,,edit array then hover (edit+hover),textDocument/hover,textDocument/hover,True,5.36151039999595,5.3804418000027,1.0,hover_text_char_count,Hover length,267.0,-11.0,True,0 +benchmark,pyright,pyrefly,Pyrefly,data_science,,edit array then hover (edit+hover),textDocument/hover,textDocument/hover,True,1.6147259999911512,4.712126199990506,1.0,hover_text_char_count,Hover length,2546.0,2268.0,True,0 +benchmark,pyright,pylsp-mypy,pylsp-mypy,data_science,,edit array then hover (edit+hover),textDocument/hover,textDocument/hover,True,166.16818379999359,168.06677459998127,1.0,hover_text_char_count,Hover length,5662.0,5384.0,True,0 +benchmark,pyright,pyright,Pyright,django,,queryset completion,textDocument/completion,textDocument/completion,True,4.848815199977707,7.8979865999713175,1.0,completion_item_count,Completions found,10.0,0.0,True,0 +benchmark,pyright,ty,Ty,django,,queryset completion,textDocument/completion,textDocument/completion,True,4.586584000014682,6.572862600000917,1.0,completion_item_count,Completions found,261.0,251.0,True,0 +benchmark,pyright,pyrefly,Pyrefly,django,,queryset completion,textDocument/completion,textDocument/completion,True,17.335305799986145,62.26928899995981,1.0,completion_item_count,Completions found,15.0,5.0,True,0 +benchmark,pyright,pylsp-mypy,pylsp-mypy,django,,queryset completion,textDocument/completion,textDocument/completion,True,211.2607998000044,647.6612826000177,1.0,completion_item_count,Completions found,2.0,-8.0,True,0 +benchmark,pyright,pyright,Pyright,django,,queryset filter hover,textDocument/hover,textDocument/hover,True,0.5420211999989988,0.6261443999846961,1.0,hover_text_char_count,Hover length,57.0,0.0,True,0 +benchmark,pyright,ty,Ty,django,,queryset filter hover,textDocument/hover,textDocument/hover,True,0.21202619998348382,0.22626899998385852,1.0,hover_text_char_count,Hover length,46.0,-11.0,True,0 +benchmark,pyright,pyrefly,Pyrefly,django,,queryset filter hover,textDocument/hover,textDocument/hover,True,3.3318827999778478,4.606841399981931,1.0,hover_text_char_count,Hover length,298.0,241.0,True,0 +benchmark,pyright,pylsp-mypy,pylsp-mypy,django,,queryset filter hover,textDocument/hover,textDocument/hover,True,154.61519460001227,156.72903119999546,1.0,hover_text_char_count,Hover length,57.0,0.0,True,0 +benchmark,pyright,pyright,Pyright,django,,model definition,textDocument/definition,textDocument/definition,True,0.39376220001940965,0.4512596000040503,1.0,location_count,Definitions found,1.0,0.0,True,0 +benchmark,pyright,ty,Ty,django,,model definition,textDocument/definition,textDocument/definition,True,0.18328639999936058,0.19877959999803352,1.0,location_count,Definitions found,1.0,0.0,True,0 +benchmark,pyright,pyrefly,Pyrefly,django,,model definition,textDocument/definition,textDocument/definition,True,1.9659598000089318,3.5100280000165185,1.0,location_count,Definitions found,1.0,0.0,True,0 +benchmark,pyright,pylsp-mypy,pylsp-mypy,django,,model definition,textDocument/definition,textDocument/definition,True,1.052981800012276,1.1024540000107663,1.0,location_count,Definitions found,1.0,0.0,True,0 +benchmark,pyright,pyright,Pyright,django,,edit queryset then complete (edit+completion),textDocument/completion,textDocument/completion,True,26.405252400002155,28.339845399989372,1.0,completion_item_count,Completions found,104.0,0.0,True,0 +benchmark,pyright,ty,Ty,django,,edit queryset then complete (edit+completion),textDocument/completion,textDocument/completion,True,4.570914999987963,4.879518399980043,1.0,completion_item_count,Completions found,104.0,0.0,True,0 +benchmark,pyright,pyrefly,Pyrefly,django,,edit queryset then complete (edit+completion),textDocument/completion,textDocument/completion,True,1.813362800021423,3.8097858000242004,1.0,completion_item_count,Completions found,83.0,-21.0,True,0 +benchmark,pyright,pylsp-mypy,pylsp-mypy,django,,edit queryset then complete (edit+completion),textDocument/completion,textDocument/completion,True,247.61183240000264,280.83193040002925,1.0,completion_item_count,Completions found,143.0,39.0,True,0 +benchmark,pyright,pyright,Pyright,django,,edit queryset then hover (edit+hover),textDocument/hover,textDocument/hover,True,38.44968540001901,45.15491300003305,1.0,hover_text_char_count,Hover length,83.0,0.0,True,0 +benchmark,pyright,ty,Ty,django,,edit queryset then hover (edit+hover),textDocument/hover,textDocument/hover,True,3.2715881999934027,3.9161370000101665,1.0,hover_text_char_count,Hover length,100.0,17.0,True,0 +benchmark,pyright,pyrefly,Pyrefly,django,,edit queryset then hover (edit+hover),textDocument/hover,textDocument/hover,True,1.5209306000087963,4.185392800025055,1.0,hover_text_char_count,Hover length,858.0,775.0,True,0 +benchmark,pyright,pylsp-mypy,pylsp-mypy,django,,edit queryset then hover (edit+hover),textDocument/hover,textDocument/hover,True,240.87660359998608,242.26104719997466,1.0,hover_text_char_count,Hover length,71.0,-12.0,True,0 +benchmark,pyright,pyright,Pyright,pandas,,report dataframe completion,textDocument/completion,textDocument/completion,True,86.40764080000736,295.24418580000423,1.0,completion_item_count,Completions found,271.2,0.0,True,0 +benchmark,pyright,ty,Ty,pandas,,report dataframe completion,textDocument/completion,textDocument/completion,True,18.239466200009247,21.672843200008174,1.0,completion_item_count,Completions found,1000.0,728.8,True,0 +benchmark,pyright,pyrefly,Pyrefly,pandas,,report dataframe completion,textDocument/completion,textDocument/completion,True,85.14217880000388,336.83487840003176,1.0,completion_item_count,Completions found,16.0,-255.2,True,0 +benchmark,pyright,pylsp-mypy,pylsp-mypy,pandas,,report dataframe completion,textDocument/completion,textDocument/completion,True,101.87696679997771,250.0569761999713,1.0,completion_item_count,Completions found,6.0,-265.2,True,0 +benchmark,pyright,pyright,Pyright,pandas,,dataframe groupby hover,textDocument/hover,textDocument/hover,True,1.068665000002511,2.17451460000575,1.0,hover_text_char_count,Hover length,350.0,0.0,True,0 +benchmark,pyright,ty,Ty,pandas,,dataframe groupby hover,textDocument/hover,textDocument/hover,True,0.283047000004899,0.303260800001226,1.0,hover_text_char_count,Hover length,329.0,-21.0,True,0 +benchmark,pyright,pyrefly,Pyrefly,pandas,,dataframe groupby hover,textDocument/hover,textDocument/hover,True,5.2637154000080955,7.493881000016244,1.0,hover_text_char_count,Hover length,2759.0,2409.0,True,0 +benchmark,pyright,pylsp-mypy,pylsp-mypy,pandas,,dataframe groupby hover,textDocument/hover,textDocument/hover,True,190.87406860002147,192.92569520000598,1.0,hover_text_char_count,Hover length,301.0,-49.0,True,0 +benchmark,pyright,pyright,Pyright,pandas,,build report definition,textDocument/definition,textDocument/definition,True,0.38404580000133137,0.43307540003070244,1.0,location_count,Definitions found,1.0,0.0,True,0 +benchmark,pyright,ty,Ty,pandas,,build report definition,textDocument/definition,textDocument/definition,True,0.21561520001114332,0.222015000031206,1.0,location_count,Definitions found,1.0,0.0,True,0 +benchmark,pyright,pyrefly,Pyrefly,pandas,,build report definition,textDocument/definition,textDocument/definition,True,2.900623000004998,2.9225958000097307,1.0,location_count,Definitions found,1.0,0.0,True,0 +benchmark,pyright,pylsp-mypy,pylsp-mypy,pandas,,build report definition,textDocument/definition,textDocument/definition,True,1.062465599989082,1.0737430000062886,1.0,location_count,Definitions found,1.0,0.0,True,0 +benchmark,pyright,pyright,Pyright,pandas,,edit dataframe then complete (edit+completion),textDocument/completion,textDocument/completion,True,622.8506096000046,1234.4510036000202,1.0,completion_item_count,Completions found,440.0,0.0,True,0 +benchmark,pyright,ty,Ty,pandas,,edit dataframe then complete (edit+completion),textDocument/completion,textDocument/completion,True,17.0232378000037,18.147168200005126,1.0,completion_item_count,Completions found,448.0,8.0,True,0 +benchmark,pyright,pyrefly,Pyrefly,pandas,,edit dataframe then complete (edit+completion),textDocument/completion,textDocument/completion,True,40.53374680000843,67.17659620002223,1.0,completion_item_count,Completions found,256.0,-184.0,True,0 +benchmark,pyright,pylsp-mypy,pylsp-mypy,pandas,,edit dataframe then complete (edit+completion),textDocument/completion,textDocument/completion,True,225.3190475999986,227.60994080001637,1.0,completion_item_count,Completions found,441.0,1.0,True,0 +benchmark,pyright,pyright,Pyright,pandas,,edit dataframe then hover (edit+hover),textDocument/hover,textDocument/hover,True,11.412371400012944,15.742694600021421,1.0,hover_text_char_count,Hover length,4292.0,0.0,True,0 +benchmark,pyright,ty,Ty,pandas,,edit dataframe then hover (edit+hover),textDocument/hover,textDocument/hover,True,4.50025300000334,4.5613589999902615,1.0,hover_text_char_count,Hover length,4441.0,149.0,True,0 +benchmark,pyright,pyrefly,Pyrefly,pandas,,edit dataframe then hover (edit+hover),textDocument/hover,textDocument/hover,True,0.67398639998828,0.7570565999913015,1.0,hover_text_char_count,Hover length,943.0,-3349.0,True,0 +benchmark,pyright,pylsp-mypy,pylsp-mypy,pandas,,edit dataframe then hover (edit+hover),textDocument/hover,textDocument/hover,True,182.2743045999914,189.41795939998656,1.0,hover_text_char_count,Hover length,232.0,-4060.0,True,0 +benchmark,pyright,pyright,Pyright,sqlalchemy,,query completion,textDocument/completion,textDocument/completion,True,7.049134000010326,10.540760399999272,1.0,completion_item_count,Completions found,1.0,0.0,True,0 +benchmark,pyright,ty,Ty,sqlalchemy,,query completion,textDocument/completion,textDocument/completion,True,3.3790296000006492,7.762377400001695,1.0,completion_item_count,Completions found,1.0,0.0,True,0 +benchmark,pyright,pyrefly,Pyrefly,sqlalchemy,,query completion,textDocument/completion,textDocument/completion,True,88.2760189999999,352.1808590000091,1.0,completion_item_count,Completions found,15.0,14.0,True,0 +benchmark,pyright,pylsp-mypy,pylsp-mypy,sqlalchemy,,query completion,textDocument/completion,textDocument/completion,True,208.3979966000129,468.03507260002556,1.0,completion_item_count,Completions found,1.0,0.0,True,0 +benchmark,pyright,pyright,Pyright,sqlalchemy,,sessionmaker hover,textDocument/hover,textDocument/hover,True,1.1283248000040658,1.2466344000245044,1.0,hover_text_char_count,Hover length,10572.0,0.0,True,0 +benchmark,pyright,ty,Ty,sqlalchemy,,sessionmaker hover,textDocument/hover,textDocument/hover,True,0.3879352000126346,0.41869899999937843,1.0,hover_text_char_count,Hover length,10621.0,49.0,True,0 +benchmark,pyright,pyrefly,Pyrefly,sqlalchemy,,sessionmaker hover,textDocument/hover,textDocument/hover,True,0.992516799999521,1.0217455999736558,1.0,hover_text_char_count,Hover length,15232.0,4660.0,True,0 +benchmark,pyright,pylsp-mypy,pylsp-mypy,sqlalchemy,,sessionmaker hover,textDocument/hover,textDocument/hover,True,323.3156330000156,325.57588920002445,1.0,hover_text_char_count,Hover length,10498.0,-74.0,True,0 +benchmark,pyright,pyright,Pyright,sqlalchemy,,mapped class definition,textDocument/definition,textDocument/definition,True,0.3792287999999644,0.40996020002239675,1.0,location_count,Definitions found,1.0,0.0,True,0 +benchmark,pyright,ty,Ty,sqlalchemy,,mapped class definition,textDocument/definition,textDocument/definition,True,0.20912699999371398,0.21484159999545227,1.0,location_count,Definitions found,2.0,1.0,True,0 +benchmark,pyright,pyrefly,Pyrefly,sqlalchemy,,mapped class definition,textDocument/definition,textDocument/definition,True,0.2299737999919671,0.2597579999701338,1.0,location_count,Definitions found,1.0,0.0,True,0 +benchmark,pyright,pylsp-mypy,pylsp-mypy,sqlalchemy,,mapped class definition,textDocument/definition,textDocument/definition,True,1.2724327999990237,1.5785960000130217,1.0,location_count,Definitions found,1.0,0.0,True,0 +benchmark,pyright,pyright,Pyright,sqlalchemy,,edit query then complete (edit+completion),textDocument/completion,textDocument/completion,True,139.53236420001076,176.856593000025,1.0,completion_item_count,Completions found,38.0,0.0,True,0 +benchmark,pyright,ty,Ty,sqlalchemy,,edit query then complete (edit+completion),textDocument/completion,textDocument/completion,True,4.798684600007164,5.071497600010844,1.0,completion_item_count,Completions found,23.0,-15.0,True,0 +benchmark,pyright,pyrefly,Pyrefly,sqlalchemy,,edit query then complete (edit+completion),textDocument/completion,textDocument/completion,True,0.7524620000026516,0.8079993999785984,1.0,completion_item_count,Completions found,17.0,-21.0,True,0 +benchmark,pyright,pylsp-mypy,pylsp-mypy,sqlalchemy,,edit query then complete (edit+completion),textDocument/completion,textDocument/completion,False,37.37987179998754,37.680160599995816,0.0,completion_item_count,Completions found,0.0,-38.0,False,10 +benchmark,pyright,pyright,Pyright,sqlalchemy,,edit session then hover (edit+hover),textDocument/hover,textDocument/hover,True,98.28727840001648,104.66287020001346,1.0,hover_text_char_count,Hover length,900.0,0.0,True,0 +benchmark,pyright,ty,Ty,sqlalchemy,,edit session then hover (edit+hover),textDocument/hover,textDocument/hover,True,4.482901599999423,4.581407799992121,1.0,hover_text_char_count,Hover length,958.0,58.0,True,0 +benchmark,pyright,pyrefly,Pyrefly,sqlalchemy,,edit session then hover (edit+hover),textDocument/hover,textDocument/hover,True,0.49047479999444477,0.5458439999983966,1.0,hover_text_char_count,Hover length,2246.0,1346.0,True,0 +benchmark,pyright,pylsp-mypy,pylsp-mypy,sqlalchemy,,edit session then hover (edit+hover),textDocument/hover,textDocument/hover,False,38.50569800001722,39.16042220002964,0.0,hover_text_char_count,Hover length,0.0,-900.0,False,10 +benchmark,pyright,pyright,Pyright,transformers,,classifier pipeline completion,textDocument/completion,textDocument/completion,True,50.791055599995616,84.06599080000206,1.0,completion_item_count,Completions found,123.0,0.0,True,0 +benchmark,pyright,ty,Ty,transformers,,classifier pipeline completion,textDocument/completion,textDocument/completion,True,11.269538199996987,12.647735800010196,1.0,completion_item_count,Completions found,777.0,654.0,True,0 +benchmark,pyright,pyrefly,Pyrefly,transformers,,classifier pipeline completion,textDocument/completion,textDocument/completion,True,830.0763220000023,3319.4118523999914,1.0,completion_item_count,Completions found,15.0,-108.0,True,0 +benchmark,pyright,pylsp-mypy,pylsp-mypy,transformers,,classifier pipeline completion,textDocument/completion,textDocument/completion,True,142.8421825999976,144.17144420001478,1.0,completion_item_count,Completions found,2.0,-121.0,True,0 +benchmark,pyright,pyright,Pyright,transformers,,pipeline hover,textDocument/hover,textDocument/hover,True,0.4885070000113956,0.5520578000187015,1.0,hover_text_char_count,Hover length,34.0,0.0,True,0 +benchmark,pyright,ty,Ty,transformers,,pipeline hover,textDocument/hover,textDocument/hover,True,0.23045179998462118,0.25138400000059846,1.0,hover_text_char_count,Hover length,7.0,-27.0,True,0 +benchmark,pyright,pyrefly,Pyrefly,transformers,,pipeline hover,textDocument/hover,textDocument/hover,True,0.20477699999901233,0.2105380000216428,1.0,hover_text_char_count,Hover length,48.0,14.0,True,0 +benchmark,pyright,pylsp-mypy,pylsp-mypy,transformers,,pipeline hover,textDocument/hover,textDocument/hover,False,2769.93089099999,2799.0316746000417,0.0,hover_text_char_count,Hover length,0.0,-34.0,False,10 +benchmark,pyright,pyright,Pyright,transformers,,auto tokenizer definition,textDocument/definition,textDocument/definition,True,0.41691140000921223,0.4793960000029074,1.0,location_count,Definitions found,1.0,0.0,True,0 +benchmark,pyright,ty,Ty,transformers,,auto tokenizer definition,textDocument/definition,textDocument/definition,True,0.2620339999907628,0.27520659999709096,1.0,location_count,Definitions found,1.0,0.0,True,0 +benchmark,pyright,pyrefly,Pyrefly,transformers,,auto tokenizer definition,textDocument/definition,textDocument/definition,True,0.20484479999822724,0.20823080000127447,1.0,location_count,Definitions found,1.0,0.0,True,0 +benchmark,pyright,pylsp-mypy,pylsp-mypy,transformers,,auto tokenizer definition,textDocument/definition,textDocument/definition,True,2219.3497920000027,2260.8830671999613,1.0,location_count,Definitions found,1.0,0.0,True,0 +benchmark,pyright,pyright,Pyright,transformers,,edit prediction then complete (edit+completion),textDocument/completion,textDocument/completion,True,8.053422400018917,11.167690800027685,0.0,completion_item_count,Completions found,0.0,0.0,True,0 +benchmark,pyright,ty,Ty,transformers,,edit prediction then complete (edit+completion),textDocument/completion,textDocument/completion,True,5.98618980000083,6.323733000022003,1.0,completion_item_count,Completions found,23.0,23.0,True,0 +benchmark,pyright,pyrefly,Pyrefly,transformers,,edit prediction then complete (edit+completion),textDocument/completion,textDocument/completion,True,7.745161599996209,18.78783120002936,0.0,completion_item_count,Completions found,0.0,0.0,True,0 +benchmark,pyright,pylsp-mypy,pylsp-mypy,transformers,,edit prediction then complete (edit+completion),textDocument/completion,textDocument/completion,True,2.58765459998358,2.8020369999239847,0.0,completion_item_count,Completions found,0.0,0.0,True,0 +benchmark,pyright,pyright,Pyright,transformers,,edit tokenizer then hover (edit+hover),textDocument/hover,textDocument/hover,True,482.8177283999935,509.9867017999941,1.0,hover_text_char_count,Hover length,30.0,0.0,True,0 +benchmark,pyright,ty,Ty,transformers,,edit tokenizer then hover (edit+hover),textDocument/hover,textDocument/hover,True,5.702210600009039,5.747457200016015,1.0,hover_text_char_count,Hover length,7.0,-23.0,True,0 +benchmark,pyright,pyrefly,Pyrefly,transformers,,edit tokenizer then hover (edit+hover),textDocument/hover,textDocument/hover,True,15.403827599993747,25.77936760000057,1.0,hover_text_char_count,Hover length,33.0,3.0,True,0 +benchmark,pyright,pylsp-mypy,pylsp-mypy,transformers,,edit tokenizer then hover (edit+hover),textDocument/hover,textDocument/hover,False,2653.7321620000057,2674.096238199945,0.0,hover_text_char_count,Hover length,0.0,-30.0,False,10 +benchmark,pyright,pyright,Pyright,web,,request args completion,textDocument/completion,textDocument/completion,True,4.586485799995899,7.966138199981287,1.0,completion_item_count,Completions found,14.0,0.0,True,0 +benchmark,pyright,ty,Ty,web,,request args completion,textDocument/completion,textDocument/completion,True,5.934927799989964,8.43446879999874,1.0,completion_item_count,Completions found,467.0,453.0,True,0 +benchmark,pyright,pyrefly,Pyrefly,web,,request args completion,textDocument/completion,textDocument/completion,True,59.6390764000148,186.21852300001362,1.0,completion_item_count,Completions found,487.8,473.8,True,0 +benchmark,pyright,pylsp-mypy,pylsp-mypy,web,,request args completion,textDocument/completion,textDocument/completion,True,68.51931220001006,90.97825720004948,1.0,completion_item_count,Completions found,1.0,-13.0,True,0 +benchmark,pyright,pyright,Pyright,web,,client session hover,textDocument/hover,textDocument/hover,True,0.483726199990997,0.5526187999635113,1.0,hover_text_char_count,Hover length,26.0,0.0,True,0 +benchmark,pyright,ty,Ty,web,,client session hover,textDocument/hover,textDocument/hover,True,0.2100543999972615,0.23188880002180667,1.0,hover_text_char_count,Hover length,7.0,-19.0,True,0 +benchmark,pyright,pyrefly,Pyrefly,web,,client session hover,textDocument/hover,textDocument/hover,True,5.3829411999913646,18.923540399987356,1.0,hover_text_char_count,Hover length,167.0,141.0,True,0 +benchmark,pyright,pylsp-mypy,pylsp-mypy,web,,client session hover,textDocument/hover,textDocument/hover,True,98.6309780000056,224.59219920001485,1.0,hover_text_char_count,Hover length,359.0,333.0,True,0 +benchmark,pyright,pyright,Pyright,web,,client references,textDocument/references,textDocument/references,True,0.8067438000011862,1.0495123999817224,1.0,location_count,References found,2.0,0.0,True,0 +benchmark,pyright,ty,Ty,web,,client references,textDocument/references,textDocument/references,True,0.6031003999851237,0.6674770000131502,1.0,location_count,References found,2.0,0.0,True,0 +benchmark,pyright,pyrefly,Pyrefly,web,,client references,textDocument/references,textDocument/references,True,0.31667180001022643,0.33439300000281946,1.0,location_count,References found,2.0,0.0,True,0 +benchmark,pyright,pylsp-mypy,pylsp-mypy,web,,client references,textDocument/references,textDocument/references,True,46.250886600046215,89.66467460008971,1.0,location_count,References found,2.0,0.0,True,0 +benchmark,pyright,pyright,Pyright,web,,edit response then complete (edit+completion),textDocument/completion,textDocument/completion,True,4.526033000001917,6.092352399980427,1.0,completion_item_count,Completions found,205.0,0.0,True,0 +benchmark,pyright,ty,Ty,web,,edit response then complete (edit+completion),textDocument/completion,textDocument/completion,True,4.425384399996801,4.623935999995865,1.0,completion_item_count,Completions found,225.0,20.0,True,0 +benchmark,pyright,pyrefly,Pyrefly,web,,edit response then complete (edit+completion),textDocument/completion,textDocument/completion,True,2.8324466000185566,4.603813200037621,1.0,completion_item_count,Completions found,32.0,-173.0,True,0 +benchmark,pyright,pylsp-mypy,pylsp-mypy,web,,edit response then complete (edit+completion),textDocument/completion,textDocument/completion,True,87.15167599998495,90.60434540003826,1.0,completion_item_count,Completions found,57.0,-148.0,True,0 +benchmark,pyright,pyright,Pyright,web,,edit response then hover (edit+hover),textDocument/hover,textDocument/hover,True,34.450758199989195,41.06419359997062,1.0,hover_text_char_count,Hover length,420.0,0.0,True,0 +benchmark,pyright,ty,Ty,web,,edit response then hover (edit+hover),textDocument/hover,textDocument/hover,True,2.8336377999949036,2.875829000038266,1.0,hover_text_char_count,Hover length,1555.0,1135.0,True,0 +benchmark,pyright,pyrefly,Pyrefly,web,,edit response then hover (edit+hover),textDocument/hover,textDocument/hover,True,3.0714704000047277,5.44853740001372,1.0,hover_text_char_count,Hover length,9977.0,9557.0,True,0 +benchmark,pyright,pylsp-mypy,pylsp-mypy,web,,edit response then hover (edit+hover),textDocument/hover,textDocument/hover,True,231.0706203999871,232.78423239996755,1.0,hover_text_char_count,Hover length,880.0,460.0,True,0 +benchmark,pyright,pyrefly,Pyrefly,tsp_core,,builtins semantic tokens,typeServer/semanticTokens,semantic token impl using typeServer/getComputedType,True,1.7956937999997535,4.274075400019227,1.0,semantic_token_count,Semantic tokens found,30.0,,True,0 +benchmark,pyright,pyrefly,Pyrefly,tsp_core,,builtin int computed type,typeServer/getComputedType,typeServer/getComputedType,True,0.17888419998826066,0.18432459999075945,1.0,top_level_count,Results found,7.0,,True,0 +benchmark,pyright,pyrefly,Pyrefly,tsp_core,,list declared type,typeServer/getDeclaredType,typeServer/getDeclaredType,True,0.22808620000205337,0.23321759998680136,1.0,top_level_count,Results found,7.0,,True,0 +benchmark,pyright,pyrefly,Pyrefly,tsp_core,,generic specialization computed type,typeServer/getComputedType,typeServer/getComputedType,True,0.21598480000193376,0.22453719998338784,1.0,top_level_count,Results found,7.0,,True,0 +benchmark,pyright,pyrefly,Pyrefly,tsp_core,,flow narrowed branch type,typeServer/getComputedType,typeServer/getComputedType,False,0.21187960001043393,0.22248739996939548,,,,,,False,10 +benchmark,pyright,pyrefly,Pyrefly,tsp_core,,stdlib path computed type,typeServer/getComputedType,typeServer/getComputedType,True,0.22634700002299724,0.24146879999307203,1.0,top_level_count,Results found,7.0,,True,0 +benchmark,pyright,pyrefly,Pyrefly,tsp_core,,function argument expected type,typeServer/getExpectedType,typeServer/getExpectedType,True,0.21547460000874707,0.22099039999829984,1.0,top_level_count,Results found,7.0,,True,0 +benchmark,pyright,pyrefly,Pyrefly,tsp_core,,edited narrowing recomputes type (edit+getComputedType),typeServer/getComputedType,typeServer/getComputedType,False,0.2240278000044782,0.2376904000129798,,,,,,False,10 +benchmark,pyright,pyrefly,Pyrefly,tsp_semantic,,django semantic tokens,typeServer/semanticTokens,semantic token impl using typeServer/getComputedType,True,10.254326600011154,11.792726999999559,1.0,semantic_token_count,Semantic tokens found,126.0,,True,0 +benchmark,pyright,pyrefly,Pyrefly,tsp_semantic,,transformers semantic tokens,typeServer/semanticTokens,semantic token impl using typeServer/getComputedType,True,132.29072179999548,151.19822859998067,1.0,semantic_token_count,Semantic tokens found,74.0,,True,0 +benchmark,pyright,pyrefly,Pyrefly,tsp_semantic,,stdlib semantic tokens,typeServer/semanticTokens,semantic token impl using typeServer/getComputedType,True,55.75458000001845,66.3833631999978,1.0,semantic_token_count,Semantic tokens found,75.0,,True,0 diff --git a/latest-results/summary-20260921T060722Z.json b/latest-results/summary-20260922T060545Z.json similarity index 89% rename from latest-results/summary-20260921T060722Z.json rename to latest-results/summary-20260922T060545Z.json index 61413fa..6485e00 100644 --- a/latest-results/summary-20260921T060722Z.json +++ b/latest-results/summary-20260922T060545Z.json @@ -17,12 +17,12 @@ "tsp_semantic" ], "baseline_server": "pyright", - "generated_at": "20260921T060722Z", + "generated_at": "20260922T060545Z", "servers": [ { "id": "pyright", "display_name": "Pyright", - "output_path": "results/bench-servers/pyright-20260921T060722Z.json", + "output_path": "results/bench-servers/pyright-20260922T060545Z.json", "success": true, "benchmark_count": 6, "command": [ @@ -58,21 +58,21 @@ { "id": "ty", "display_name": "Ty", - "output_path": "results/bench-servers/ty-20260921T060722Z.json", + "output_path": "results/bench-servers/ty-20260922T060545Z.json", "success": true, "benchmark_count": 6, "command": [ - "/home/runner/work/python-lsp-compare/python-lsp-compare/.python-lsp-compare/servers/ty/0.0.82/ty-x86_64-unknown-linux-gnu/ty", + "/home/runner/work/python-lsp-compare/python-lsp-compare/.python-lsp-compare/servers/ty/0.0.83/ty-x86_64-unknown-linux-gnu/ty", "server" ], - "source_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/.python-lsp-compare/servers/ty/0.0.82/ty-x86_64-unknown-linux-gnu/ty", + "source_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/.python-lsp-compare/servers/ty/0.0.83/ty-x86_64-unknown-linux-gnu/ty", "version": { "kind": "release", - "label": "0.0.82", + "label": "0.0.83", "repo_root": null, "commit": null, "short_commit": null, - "source_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/.python-lsp-compare/servers/ty/0.0.82/ty-x86_64-unknown-linux-gnu/ty" + "source_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/.python-lsp-compare/servers/ty/0.0.83/ty-x86_64-unknown-linux-gnu/ty" }, "requested_benchmarks": [ "data_science", @@ -91,7 +91,7 @@ { "id": "pyrefly", "display_name": "Pyrefly", - "output_path": "results/bench-servers/pyrefly-20260921T060722Z.json", + "output_path": "results/bench-servers/pyrefly-20260922T060545Z.json", "success": false, "benchmark_count": 8, "command": [ @@ -131,7 +131,7 @@ { "id": "pylsp-mypy", "display_name": "pylsp-mypy", - "output_path": "results/bench-servers/pylsp-mypy-20260921T060722Z.json", + "output_path": "results/bench-servers/pylsp-mypy-20260922T060545Z.json", "success": false, "benchmark_count": 6, "command": [ diff --git a/latest-results/summary-20260921T060722Z.md b/latest-results/summary-20260922T060545Z.md similarity index 60% rename from latest-results/summary-20260921T060722Z.md rename to latest-results/summary-20260922T060545Z.md index ab07aaa..2b05902 100644 --- a/latest-results/summary-20260921T060722Z.md +++ b/latest-results/summary-20260922T060545Z.md @@ -1,8 +1,8 @@ # Python LSP Benchmark Comparison -Generated from `results/bench-servers/summary-20260921T060722Z.json` +Generated from `results/bench-servers/summary-20260922T060545Z.json` -- Generated at: 20260921T060722Z +- Generated at: 20260922T060545Z - Config: `github-releases` - Servers: pyright, ty, pyrefly, pylsp-mypy - Baseline server: Pyright (pyright) @@ -13,7 +13,7 @@ Generated from `results/bench-servers/summary-20260921T060722Z.json` | Server | Version | Source | | --- | --- | --- | | Pyright | 1.1.414 | /home/runner/work/python-lsp-compare/python-lsp-compare/.python-lsp-compare/servers/pyright/1.1.414/package/dist/pyright-langserver.js | -| Ty | 0.0.82 | /home/runner/work/python-lsp-compare/python-lsp-compare/.python-lsp-compare/servers/ty/0.0.82/ty-x86_64-unknown-linux-gnu/ty | +| Ty | 0.0.83 | /home/runner/work/python-lsp-compare/python-lsp-compare/.python-lsp-compare/servers/ty/0.0.83/ty-x86_64-unknown-linux-gnu/ty | | Pyrefly | 1.3.1 | /home/runner/work/python-lsp-compare/python-lsp-compare/.python-lsp-compare/servers/pyrefly/venv/bin/pyrefly | | pylsp-mypy | 1.15.0 | /home/runner/work/python-lsp-compare/python-lsp-compare/.python-lsp-compare/servers/pylsp-mypy/venv/bin/pylsp | @@ -30,10 +30,10 @@ Generated from `results/bench-servers/summary-20260921T060722Z.json` | Server | Success | Benchmarks | Wall clock ms | Avg measured ms | Measured requests | Non-empty % | Failed points | | --- | --- | --- | ---: | ---: | ---: | ---: | ---: | -| Ty | yes | 6 | 5565.98 | 4.82 | 150 | 100% | 0 | -| Pyrefly | no | 8 | 16900.74 | 37.50 | 205 | 97% | 2 | -| Pyright | yes | 6 | 39208.39 | 76.41 | 150 | 97% | 0 | -| pylsp-mypy | no | 6 | 215805.28 | 369.78 | 150 | 80% | 5 | +| Ty | yes | 6 | 5018.11 | 4.14 | 150 | 100% | 0 | +| Pyrefly | no | 8 | 16445.96 | 36.53 | 205 | 97% | 2 | +| Pyright | yes | 6 | 37215.26 | 66.75 | 150 | 97% | 0 | +| pylsp-mypy | no | 6 | 216321.07 | 368.24 | 150 | 80% | 5 | *Wall clock ms includes server startup, warmup iterations, and shutdown — but excludes one-time environment creation and dependency installation.* @@ -41,10 +41,10 @@ Generated from `results/bench-servers/summary-20260921T060722Z.json` | Server | Success | Wall clock ms | Avg measured ms | Points | Measured requests | Non-empty % | Failed points | | --- | --- | ---: | ---: | ---: | ---: | ---: | ---: | -| Ty | yes | 548.30 | 5.04 | 5 | 25 | 100% | 0 | -| Pyrefly | yes | 1307.24 | 25.72 | 5 | 25 | 100% | 0 | -| Pyright | yes | 4951.62 | 86.26 | 5 | 25 | 100% | 0 | -| pylsp-mypy | no | 8025.24 | 119.80 | 5 | 25 | 80% | 1 | +| Ty | yes | 493.68 | 4.05 | 5 | 25 | 100% | 0 | +| Pyrefly | yes | 1092.34 | 24.01 | 5 | 25 | 100% | 0 | +| Pyright | yes | 4474.20 | 75.17 | 5 | 25 | 100% | 0 | +| pylsp-mypy | no | 7706.46 | 112.31 | 5 | 25 | 80% | 1 | ### dataframe completion @@ -52,10 +52,10 @@ Method: `textDocument/completion` | Server | Success | Mean ms | P95 ms | Non-empty % | Completions found | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| Ty | yes | 1.67 | 1.88 | 100% | 223.00 | +22.00 | pass | -| Pyright | yes | 7.35 | 12.51 | 100% | 201.00 | 0.00 | pass | -| Pyrefly | yes | 91.55 | 363.66 | 100% | 250.00 | +49.00 | pass | -| pylsp-mypy | yes | 238.91 | 469.62 | 100% | 188.00 | -13.00 | pass | +| Ty | yes | 1.67 | 1.90 | 100% | 223.00 | +22.00 | pass | +| Pyright | yes | 5.85 | 10.97 | 100% | 201.00 | 0.00 | pass | +| Pyrefly | yes | 87.42 | 336.39 | 100% | 250.00 | +49.00 | pass | +| pylsp-mypy | yes | 213.17 | 463.91 | 100% | 188.00 | -13.00 | pass | ### dataframe describe hover @@ -63,10 +63,10 @@ Method: `textDocument/hover` | Server | Success | Mean ms | P95 ms | Non-empty % | Hover length | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| Ty | yes | 0.33 | 0.35 | 100% | 4232.00 | +213.00 | pass | -| Pyright | yes | 1.17 | 1.51 | 100% | 4019.00 | 0.00 | pass | -| Pyrefly | yes | 2.55 | 2.78 | 100% | 3182.00 | -837.00 | pass | -| pylsp-mypy | yes | 183.33 | 184.51 | 100% | 4134.00 | +115.00 | pass | +| Ty | yes | 0.32 | 0.34 | 100% | 4232.00 | +213.00 | pass | +| Pyright | yes | 1.03 | 1.31 | 100% | 4019.00 | 0.00 | pass | +| Pyrefly | yes | 3.07 | 4.75 | 100% | 3182.00 | -837.00 | pass | +| pylsp-mypy | yes | 176.77 | 178.89 | 100% | 4134.00 | +115.00 | pass | ### summarize definition @@ -74,10 +74,10 @@ Method: `textDocument/definition` | Server | Success | Mean ms | P95 ms | Non-empty % | Definitions found | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| Pyrefly | yes | 0.21 | 0.23 | 100% | 1.00 | 0.00 | pass | -| Ty | yes | 0.22 | 0.23 | 100% | 1.00 | 0.00 | pass | -| Pyright | yes | 0.44 | 0.50 | 100% | 1.00 | 0.00 | pass | -| pylsp-mypy | yes | 1.05 | 1.10 | 100% | 1.00 | 0.00 | pass | +| Ty | yes | 0.21 | 0.22 | 100% | 1.00 | 0.00 | pass | +| Pyrefly | yes | 0.32 | 0.60 | 100% | 1.00 | 0.00 | pass | +| Pyright | yes | 0.40 | 0.45 | 100% | 1.00 | 0.00 | pass | +| pylsp-mypy | yes | 1.03 | 1.10 | 100% | 1.00 | 0.00 | pass | ### edit array then complete (edit+completion) @@ -85,10 +85,10 @@ Method: `textDocument/completion` | Server | Success | Mean ms | P95 ms | Non-empty % | Completions found | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| pylsp-mypy | no | 4.60 | 4.72 | 0% | 0.00 | -168.00 | fail (10) | -| Ty | yes | 16.38 | 18.03 | 100% | 168.00 | 0.00 | pass | -| Pyrefly | yes | 28.70 | 79.19 | 100% | 149.00 | -19.00 | pass | -| Pyright | yes | 392.49 | 523.13 | 100% | 168.00 | 0.00 | pass | +| pylsp-mypy | no | 4.39 | 4.62 | 0% | 0.00 | -168.00 | fail (10) | +| Ty | yes | 12.68 | 14.19 | 100% | 168.00 | 0.00 | pass | +| Pyrefly | yes | 27.61 | 31.98 | 100% | 149.00 | -19.00 | pass | +| Pyright | yes | 338.37 | 457.89 | 100% | 168.00 | 0.00 | pass | ### edit array then hover (edit+hover) @@ -96,10 +96,10 @@ Method: `textDocument/hover` | Server | Success | Mean ms | P95 ms | Non-empty % | Hover length | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| Pyrefly | yes | 5.60 | 6.64 | 100% | 2546.00 | +2268.00 | pass | -| Ty | yes | 6.61 | 7.15 | 100% | 267.00 | -11.00 | pass | -| Pyright | yes | 29.83 | 32.52 | 100% | 278.00 | 0.00 | pass | -| pylsp-mypy | yes | 171.10 | 173.17 | 100% | 5662.00 | +5384.00 | pass | +| Pyrefly | yes | 1.61 | 4.71 | 100% | 2546.00 | +2268.00 | pass | +| Ty | yes | 5.36 | 5.38 | 100% | 267.00 | -11.00 | pass | +| Pyright | yes | 30.18 | 35.93 | 100% | 278.00 | 0.00 | pass | +| pylsp-mypy | yes | 166.17 | 168.07 | 100% | 5662.00 | +5384.00 | pass | ### Result Differences @@ -112,10 +112,10 @@ Method: `textDocument/hover` | Server | Success | Wall clock ms | Avg measured ms | Points | Measured requests | Non-empty % | Failed points | | --- | --- | ---: | ---: | ---: | ---: | ---: | ---: | -| Ty | yes | 272.79 | 2.74 | 5 | 25 | 100% | 0 | -| Pyrefly | yes | 319.39 | 5.58 | 5 | 25 | 100% | 0 | -| Pyright | yes | 1424.56 | 13.77 | 5 | 25 | 100% | 0 | -| pylsp-mypy | yes | 8147.20 | 179.58 | 5 | 25 | 100% | 0 | +| Ty | yes | 261.78 | 2.56 | 5 | 25 | 100% | 0 | +| Pyrefly | yes | 304.91 | 5.19 | 5 | 25 | 100% | 0 | +| Pyright | yes | 1458.93 | 14.13 | 5 | 25 | 100% | 0 | +| pylsp-mypy | yes | 7666.54 | 171.08 | 5 | 25 | 100% | 0 | ### queryset completion @@ -123,10 +123,10 @@ Method: `textDocument/completion` | Server | Success | Mean ms | P95 ms | Non-empty % | Completions found | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| Pyright | yes | 4.74 | 7.86 | 100% | 10.00 | 0.00 | pass | -| Ty | yes | 5.22 | 7.46 | 100% | 261.00 | +251.00 | pass | -| Pyrefly | yes | 18.47 | 64.82 | 100% | 15.00 | +5.00 | pass | -| pylsp-mypy | yes | 225.31 | 689.91 | 100% | 2.00 | -8.00 | pass | +| Ty | yes | 4.59 | 6.57 | 100% | 261.00 | +251.00 | pass | +| Pyright | yes | 4.85 | 7.90 | 100% | 10.00 | 0.00 | pass | +| Pyrefly | yes | 17.34 | 62.27 | 100% | 15.00 | +5.00 | pass | +| pylsp-mypy | yes | 211.26 | 647.66 | 100% | 2.00 | -8.00 | pass | ### queryset filter hover @@ -134,10 +134,10 @@ Method: `textDocument/hover` | Server | Success | Mean ms | P95 ms | Non-empty % | Hover length | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| Ty | yes | 0.23 | 0.25 | 100% | 46.00 | -11.00 | pass | +| Ty | yes | 0.21 | 0.23 | 100% | 46.00 | -11.00 | pass | | Pyright | yes | 0.54 | 0.63 | 100% | 57.00 | 0.00 | pass | -| Pyrefly | yes | 2.89 | 5.34 | 100% | 298.00 | +241.00 | pass | -| pylsp-mypy | yes | 162.24 | 163.33 | 100% | 57.00 | 0.00 | pass | +| Pyrefly | yes | 3.33 | 4.61 | 100% | 298.00 | +241.00 | pass | +| pylsp-mypy | yes | 154.62 | 156.73 | 100% | 57.00 | 0.00 | pass | ### model definition @@ -145,10 +145,10 @@ Method: `textDocument/definition` | Server | Success | Mean ms | P95 ms | Non-empty % | Definitions found | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| Ty | yes | 0.20 | 0.20 | 100% | 1.00 | 0.00 | pass | -| Pyright | yes | 0.39 | 0.44 | 100% | 1.00 | 0.00 | pass | -| pylsp-mypy | yes | 1.07 | 1.10 | 100% | 1.00 | 0.00 | pass | -| Pyrefly | yes | 2.83 | 6.67 | 100% | 1.00 | 0.00 | pass | +| Ty | yes | 0.18 | 0.20 | 100% | 1.00 | 0.00 | pass | +| Pyright | yes | 0.39 | 0.45 | 100% | 1.00 | 0.00 | pass | +| pylsp-mypy | yes | 1.05 | 1.10 | 100% | 1.00 | 0.00 | pass | +| Pyrefly | yes | 1.97 | 3.51 | 100% | 1.00 | 0.00 | pass | ### edit queryset then complete (edit+completion) @@ -156,10 +156,10 @@ Method: `textDocument/completion` | Server | Success | Mean ms | P95 ms | Non-empty % | Completions found | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| Pyrefly | yes | 2.14 | 4.89 | 100% | 83.00 | -21.00 | pass | -| Ty | yes | 4.87 | 5.46 | 100% | 104.00 | 0.00 | pass | -| Pyright | yes | 25.53 | 27.57 | 100% | 104.00 | 0.00 | pass | -| pylsp-mypy | yes | 259.81 | 304.33 | 100% | 143.00 | +39.00 | pass | +| Pyrefly | yes | 1.81 | 3.81 | 100% | 83.00 | -21.00 | pass | +| Ty | yes | 4.57 | 4.88 | 100% | 104.00 | 0.00 | pass | +| Pyright | yes | 26.41 | 28.34 | 100% | 104.00 | 0.00 | pass | +| pylsp-mypy | yes | 247.61 | 280.83 | 100% | 143.00 | +39.00 | pass | ### edit queryset then hover (edit+hover) @@ -167,10 +167,10 @@ Method: `textDocument/hover` | Server | Success | Mean ms | P95 ms | Non-empty % | Hover length | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| Pyrefly | yes | 1.57 | 4.31 | 100% | 858.00 | +775.00 | pass | -| Ty | yes | 3.20 | 3.27 | 100% | 100.00 | +17.00 | pass | -| Pyright | yes | 37.65 | 43.63 | 100% | 83.00 | 0.00 | pass | -| pylsp-mypy | yes | 249.46 | 260.02 | 100% | 71.00 | -12.00 | pass | +| Pyrefly | yes | 1.52 | 4.19 | 100% | 858.00 | +775.00 | pass | +| Ty | yes | 3.27 | 3.92 | 100% | 100.00 | +17.00 | pass | +| Pyright | yes | 38.45 | 45.15 | 100% | 83.00 | 0.00 | pass | +| pylsp-mypy | yes | 240.88 | 242.26 | 100% | 71.00 | -12.00 | pass | ### Result Differences @@ -183,10 +183,10 @@ Method: `textDocument/hover` | Server | Success | Wall clock ms | Avg measured ms | Points | Measured requests | Non-empty % | Failed points | | --- | --- | ---: | ---: | ---: | ---: | ---: | ---: | -| Ty | yes | 909.36 | 9.33 | 5 | 25 | 100% | 0 | -| Pyrefly | yes | 1146.21 | 28.26 | 5 | 25 | 100% | 0 | -| pylsp-mypy | yes | 7988.09 | 140.12 | 5 | 25 | 100% | 0 | -| Pyright | yes | 11137.02 | 178.98 | 5 | 25 | 100% | 0 | +| Ty | yes | 830.36 | 8.05 | 5 | 25 | 100% | 0 | +| Pyrefly | yes | 1108.00 | 26.90 | 5 | 25 | 100% | 0 | +| pylsp-mypy | yes | 7826.35 | 140.28 | 5 | 25 | 100% | 0 | +| Pyright | yes | 10563.58 | 144.42 | 5 | 25 | 100% | 0 | ### report dataframe completion @@ -194,10 +194,10 @@ Method: `textDocument/completion` | Server | Success | Mean ms | P95 ms | Non-empty % | Completions found | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| Ty | yes | 19.62 | 23.02 | 100% | 1000.00 | +728.80 | pass | -| Pyright | yes | 78.23 | 267.47 | 100% | 271.20 | 0.00 | pass | -| pylsp-mypy | yes | 79.18 | 160.04 | 100% | 6.00 | -265.20 | pass | -| Pyrefly | yes | 99.11 | 391.31 | 100% | 16.00 | -255.20 | pass | +| Ty | yes | 18.24 | 21.67 | 100% | 1000.00 | +728.80 | pass | +| Pyrefly | yes | 85.14 | 336.83 | 100% | 16.00 | -255.20 | pass | +| Pyright | yes | 86.41 | 295.24 | 100% | 271.20 | 0.00 | pass | +| pylsp-mypy | yes | 101.88 | 250.06 | 100% | 6.00 | -265.20 | pass | ### dataframe groupby hover @@ -205,10 +205,10 @@ Method: `textDocument/hover` | Server | Success | Mean ms | P95 ms | Non-empty % | Hover length | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| Ty | yes | 0.30 | 0.35 | 100% | 329.00 | -21.00 | pass | -| Pyright | yes | 0.65 | 0.73 | 100% | 350.00 | 0.00 | pass | -| Pyrefly | yes | 4.67 | 5.99 | 100% | 2759.00 | +2409.00 | pass | -| pylsp-mypy | yes | 197.15 | 205.38 | 100% | 301.00 | -49.00 | pass | +| Ty | yes | 0.28 | 0.30 | 100% | 329.00 | -21.00 | pass | +| Pyright | yes | 1.07 | 2.17 | 100% | 350.00 | 0.00 | pass | +| Pyrefly | yes | 5.26 | 7.49 | 100% | 2759.00 | +2409.00 | pass | +| pylsp-mypy | yes | 190.87 | 192.93 | 100% | 301.00 | -49.00 | pass | ### build report definition @@ -216,10 +216,10 @@ Method: `textDocument/definition` | Server | Success | Mean ms | P95 ms | Non-empty % | Definitions found | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| Ty | yes | 0.22 | 0.23 | 100% | 1.00 | 0.00 | pass | -| Pyright | yes | 0.44 | 0.51 | 100% | 1.00 | 0.00 | pass | -| pylsp-mypy | yes | 1.04 | 1.08 | 100% | 1.00 | 0.00 | pass | -| Pyrefly | yes | 2.32 | 3.43 | 100% | 1.00 | 0.00 | pass | +| Ty | yes | 0.22 | 0.22 | 100% | 1.00 | 0.00 | pass | +| Pyright | yes | 0.38 | 0.43 | 100% | 1.00 | 0.00 | pass | +| pylsp-mypy | yes | 1.06 | 1.07 | 100% | 1.00 | 0.00 | pass | +| Pyrefly | yes | 2.90 | 2.92 | 100% | 1.00 | 0.00 | pass | ### edit dataframe then complete (edit+completion) @@ -227,10 +227,10 @@ Method: `textDocument/completion` | Server | Success | Mean ms | P95 ms | Non-empty % | Completions found | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| Ty | yes | 20.40 | 20.83 | 100% | 448.00 | +8.00 | pass | -| Pyrefly | yes | 28.87 | 52.76 | 100% | 256.00 | -184.00 | pass | -| pylsp-mypy | yes | 237.44 | 244.50 | 100% | 441.00 | +1.00 | pass | -| Pyright | yes | 803.02 | 1258.21 | 100% | 440.00 | 0.00 | pass | +| Ty | yes | 17.02 | 18.15 | 100% | 448.00 | +8.00 | pass | +| Pyrefly | yes | 40.53 | 67.18 | 100% | 256.00 | -184.00 | pass | +| pylsp-mypy | yes | 225.32 | 227.61 | 100% | 441.00 | +1.00 | pass | +| Pyright | yes | 622.85 | 1234.45 | 100% | 440.00 | 0.00 | pass | ### edit dataframe then hover (edit+hover) @@ -238,10 +238,10 @@ Method: `textDocument/hover` | Server | Success | Mean ms | P95 ms | Non-empty % | Hover length | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| Ty | yes | 6.12 | 6.28 | 100% | 4441.00 | +149.00 | pass | -| Pyrefly | yes | 6.36 | 22.05 | 100% | 943.00 | -3349.00 | pass | -| Pyright | yes | 12.56 | 13.38 | 100% | 4292.00 | 0.00 | pass | -| pylsp-mypy | yes | 185.77 | 186.24 | 100% | 232.00 | -4060.00 | pass | +| Pyrefly | yes | 0.67 | 0.76 | 100% | 943.00 | -3349.00 | pass | +| Ty | yes | 4.50 | 4.56 | 100% | 4441.00 | +149.00 | pass | +| Pyright | yes | 11.41 | 15.74 | 100% | 4292.00 | 0.00 | pass | +| pylsp-mypy | yes | 182.27 | 189.42 | 100% | 232.00 | -4060.00 | pass | ### Result Differences @@ -254,10 +254,10 @@ Method: `textDocument/hover` | Server | Success | Wall clock ms | Avg measured ms | Points | Measured requests | Non-empty % | Failed points | | --- | --- | ---: | ---: | ---: | ---: | ---: | ---: | -| Ty | yes | 384.84 | 2.78 | 5 | 25 | 100% | 0 | -| Pyrefly | yes | 826.49 | 17.66 | 5 | 25 | 100% | 0 | -| Pyright | yes | 3678.16 | 50.00 | 5 | 25 | 100% | 0 | -| pylsp-mypy | no | 7220.96 | 126.76 | 5 | 25 | 60% | 2 | +| Ty | yes | 363.94 | 2.65 | 5 | 25 | 100% | 0 | +| Pyrefly | yes | 830.06 | 18.15 | 5 | 25 | 100% | 0 | +| Pyright | yes | 3562.76 | 49.28 | 5 | 25 | 100% | 0 | +| pylsp-mypy | no | 6985.56 | 121.77 | 5 | 25 | 60% | 2 | ### query completion @@ -265,10 +265,10 @@ Method: `textDocument/completion` | Server | Success | Mean ms | P95 ms | Non-empty % | Completions found | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| Ty | yes | 3.59 | 8.08 | 100% | 1.00 | 0.00 | pass | -| Pyright | yes | 8.15 | 13.97 | 100% | 1.00 | 0.00 | pass | -| Pyrefly | yes | 85.72 | 341.80 | 100% | 15.00 | +14.00 | pass | -| pylsp-mypy | yes | 224.77 | 494.00 | 100% | 1.00 | 0.00 | pass | +| Ty | yes | 3.38 | 7.76 | 100% | 1.00 | 0.00 | pass | +| Pyright | yes | 7.05 | 10.54 | 100% | 1.00 | 0.00 | pass | +| Pyrefly | yes | 88.28 | 352.18 | 100% | 15.00 | +14.00 | pass | +| pylsp-mypy | yes | 208.40 | 468.04 | 100% | 1.00 | 0.00 | pass | ### sessionmaker hover @@ -276,10 +276,10 @@ Method: `textDocument/hover` | Server | Success | Mean ms | P95 ms | Non-empty % | Hover length | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| Ty | yes | 0.41 | 0.44 | 100% | 10621.00 | +49.00 | pass | -| Pyrefly | yes | 1.04 | 1.06 | 100% | 15232.00 | +4660.00 | pass | -| Pyright | yes | 1.25 | 1.36 | 100% | 10572.00 | 0.00 | pass | -| pylsp-mypy | yes | 329.41 | 330.37 | 100% | 10498.00 | -74.00 | pass | +| Ty | yes | 0.39 | 0.42 | 100% | 10621.00 | +49.00 | pass | +| Pyrefly | yes | 0.99 | 1.02 | 100% | 15232.00 | +4660.00 | pass | +| Pyright | yes | 1.13 | 1.25 | 100% | 10572.00 | 0.00 | pass | +| pylsp-mypy | yes | 323.32 | 325.58 | 100% | 10498.00 | -74.00 | pass | ### mapped class definition @@ -287,10 +287,10 @@ Method: `textDocument/definition` | Server | Success | Mean ms | P95 ms | Non-empty % | Definitions found | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| Ty | yes | 0.21 | 0.22 | 100% | 2.00 | +1.00 | pass | -| Pyrefly | yes | 0.27 | 0.29 | 100% | 1.00 | 0.00 | pass | -| Pyright | yes | 0.40 | 0.46 | 100% | 1.00 | 0.00 | pass | -| pylsp-mypy | yes | 1.13 | 1.35 | 100% | 1.00 | 0.00 | pass | +| Ty | yes | 0.21 | 0.21 | 100% | 2.00 | +1.00 | pass | +| Pyrefly | yes | 0.23 | 0.26 | 100% | 1.00 | 0.00 | pass | +| Pyright | yes | 0.38 | 0.41 | 100% | 1.00 | 0.00 | pass | +| pylsp-mypy | yes | 1.27 | 1.58 | 100% | 1.00 | 0.00 | pass | ### edit query then complete (edit+completion) @@ -298,10 +298,10 @@ Method: `textDocument/completion` | Server | Success | Mean ms | P95 ms | Non-empty % | Completions found | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| Pyrefly | yes | 0.74 | 0.78 | 100% | 17.00 | -21.00 | pass | -| Ty | yes | 5.17 | 6.32 | 100% | 23.00 | -15.00 | pass | -| pylsp-mypy | no | 38.76 | 38.95 | 0% | 0.00 | -38.00 | fail (10) | -| Pyright | yes | 145.65 | 208.58 | 100% | 38.00 | 0.00 | pass | +| Pyrefly | yes | 0.75 | 0.81 | 100% | 17.00 | -21.00 | pass | +| Ty | yes | 4.80 | 5.07 | 100% | 23.00 | -15.00 | pass | +| pylsp-mypy | no | 37.38 | 37.68 | 0% | 0.00 | -38.00 | fail (10) | +| Pyright | yes | 139.53 | 176.86 | 100% | 38.00 | 0.00 | pass | ### edit session then hover (edit+hover) @@ -309,10 +309,10 @@ Method: `textDocument/hover` | Server | Success | Mean ms | P95 ms | Non-empty % | Hover length | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| Pyrefly | yes | 0.52 | 0.56 | 100% | 2246.00 | +1346.00 | pass | -| Ty | yes | 4.53 | 4.57 | 100% | 958.00 | +58.00 | pass | -| pylsp-mypy | no | 39.74 | 41.12 | 0% | 0.00 | -900.00 | fail (10) | -| Pyright | yes | 94.56 | 103.53 | 100% | 900.00 | 0.00 | pass | +| Pyrefly | yes | 0.49 | 0.55 | 100% | 2246.00 | +1346.00 | pass | +| Ty | yes | 4.48 | 4.58 | 100% | 958.00 | +58.00 | pass | +| pylsp-mypy | no | 38.51 | 39.16 | 0% | 0.00 | -900.00 | fail (10) | +| Pyright | yes | 98.29 | 104.66 | 100% | 900.00 | 0.00 | pass | ### Result Differences @@ -326,10 +326,10 @@ Method: `textDocument/hover` | Server | Success | Wall clock ms | Avg measured ms | Points | Measured requests | Non-empty % | Failed points | | --- | --- | ---: | ---: | ---: | ---: | ---: | ---: | -| Ty | yes | 3026.41 | 5.67 | 5 | 25 | 100% | 0 | -| Pyright | yes | 16424.65 | 119.67 | 5 | 25 | 80% | 0 | -| Pyrefly | yes | 5582.73 | 176.09 | 5 | 25 | 80% | 0 | -| pylsp-mypy | no | 179571.21 | 1553.94 | 5 | 25 | 40% | 2 | +| Ty | yes | 2726.39 | 4.69 | 5 | 25 | 100% | 0 | +| Pyright | yes | 15620.50 | 108.51 | 5 | 25 | 80% | 0 | +| Pyrefly | yes | 5420.31 | 170.73 | 5 | 25 | 80% | 0 | +| pylsp-mypy | no | 181192.64 | 1557.69 | 5 | 25 | 40% | 2 | ### classifier pipeline completion @@ -337,10 +337,10 @@ Method: `textDocument/completion` | Server | Success | Mean ms | P95 ms | Non-empty % | Completions found | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| Ty | yes | 14.38 | 15.99 | 100% | 777.00 | +654.00 | pass | -| Pyright | yes | 55.48 | 85.02 | 100% | 123.00 | 0.00 | pass | -| pylsp-mypy | yes | 147.98 | 151.59 | 100% | 2.00 | -121.00 | pass | -| Pyrefly | yes | 861.55 | 3445.27 | 100% | 15.00 | -108.00 | pass | +| Ty | yes | 11.27 | 12.65 | 100% | 777.00 | +654.00 | pass | +| Pyright | yes | 50.79 | 84.07 | 100% | 123.00 | 0.00 | pass | +| pylsp-mypy | yes | 142.84 | 144.17 | 100% | 2.00 | -121.00 | pass | +| Pyrefly | yes | 830.08 | 3319.41 | 100% | 15.00 | -108.00 | pass | ### pipeline hover @@ -348,10 +348,10 @@ Method: `textDocument/hover` | Server | Success | Mean ms | P95 ms | Non-empty % | Hover length | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| Pyrefly | yes | 0.21 | 0.22 | 100% | 48.00 | +14.00 | pass | -| Ty | yes | 0.38 | 0.81 | 100% | 7.00 | -27.00 | pass | -| Pyright | yes | 0.48 | 0.59 | 100% | 34.00 | 0.00 | pass | -| pylsp-mypy | no | 2748.10 | 2786.14 | 0% | 0.00 | -34.00 | fail (10) | +| Pyrefly | yes | 0.20 | 0.21 | 100% | 48.00 | +14.00 | pass | +| Ty | yes | 0.23 | 0.25 | 100% | 7.00 | -27.00 | pass | +| Pyright | yes | 0.49 | 0.55 | 100% | 34.00 | 0.00 | pass | +| pylsp-mypy | no | 2769.93 | 2799.03 | 0% | 0.00 | -34.00 | fail (10) | ### auto tokenizer definition @@ -359,10 +359,10 @@ Method: `textDocument/definition` | Server | Success | Mean ms | P95 ms | Non-empty % | Definitions found | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| Pyrefly | yes | 0.22 | 0.23 | 100% | 1.00 | 0.00 | pass | -| Ty | yes | 0.30 | 0.33 | 100% | 1.00 | 0.00 | pass | -| Pyright | yes | 0.45 | 0.55 | 100% | 1.00 | 0.00 | pass | -| pylsp-mypy | yes | 2209.37 | 2244.61 | 100% | 1.00 | 0.00 | pass | +| Pyrefly | yes | 0.20 | 0.21 | 100% | 1.00 | 0.00 | pass | +| Ty | yes | 0.26 | 0.28 | 100% | 1.00 | 0.00 | pass | +| Pyright | yes | 0.42 | 0.48 | 100% | 1.00 | 0.00 | pass | +| pylsp-mypy | yes | 2219.35 | 2260.88 | 100% | 1.00 | 0.00 | pass | ### edit prediction then complete (edit+completion) @@ -370,10 +370,10 @@ Method: `textDocument/completion` | Server | Success | Mean ms | P95 ms | Non-empty % | Completions found | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| pylsp-mypy | yes | 2.51 | 2.58 | 0% | 0.00 | 0.00 | pass | -| Ty | yes | 7.24 | 8.70 | 100% | 23.00 | +23.00 | pass | -| Pyrefly | yes | 8.07 | 20.65 | 0% | 0.00 | 0.00 | pass | -| Pyright | yes | 8.12 | 11.26 | 0% | 0.00 | 0.00 | pass | +| pylsp-mypy | yes | 2.59 | 2.80 | 0% | 0.00 | 0.00 | pass | +| Ty | yes | 5.99 | 6.32 | 100% | 23.00 | +23.00 | pass | +| Pyrefly | yes | 7.75 | 18.79 | 0% | 0.00 | 0.00 | pass | +| Pyright | yes | 8.05 | 11.17 | 0% | 0.00 | 0.00 | pass | ### edit tokenizer then hover (edit+hover) @@ -381,10 +381,10 @@ Method: `textDocument/hover` | Server | Success | Mean ms | P95 ms | Non-empty % | Hover length | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| Ty | yes | 6.05 | 6.13 | 100% | 7.00 | -23.00 | pass | -| Pyrefly | yes | 10.38 | 23.80 | 100% | 33.00 | +3.00 | pass | -| Pyright | yes | 533.80 | 550.81 | 100% | 30.00 | 0.00 | pass | -| pylsp-mypy | no | 2661.74 | 2700.87 | 0% | 0.00 | -30.00 | fail (10) | +| Ty | yes | 5.70 | 5.75 | 100% | 7.00 | -23.00 | pass | +| Pyrefly | yes | 15.40 | 25.78 | 100% | 33.00 | +3.00 | pass | +| Pyright | yes | 482.82 | 509.99 | 100% | 30.00 | 0.00 | pass | +| pylsp-mypy | no | 2653.73 | 2674.10 | 0% | 0.00 | -30.00 | fail (10) | ### Result Differences @@ -397,10 +397,10 @@ Method: `textDocument/hover` | Server | Success | Wall clock ms | Avg measured ms | Points | Measured requests | Non-empty % | Failed points | | --- | --- | ---: | ---: | ---: | ---: | ---: | ---: | -| Ty | yes | 424.28 | 3.37 | 5 | 25 | 100% | 0 | -| Pyright | yes | 1592.40 | 9.79 | 5 | 25 | 100% | 0 | -| Pyrefly | yes | 953.66 | 15.53 | 5 | 25 | 100% | 0 | -| pylsp-mypy | yes | 4852.57 | 98.47 | 5 | 25 | 100% | 0 | +| Ty | yes | 341.97 | 2.80 | 5 | 25 | 100% | 0 | +| Pyright | yes | 1535.29 | 8.97 | 5 | 25 | 100% | 0 | +| Pyrefly | yes | 901.83 | 14.25 | 5 | 25 | 100% | 0 | +| pylsp-mypy | yes | 4943.53 | 106.32 | 5 | 25 | 100% | 0 | ### request args completion @@ -408,10 +408,10 @@ Method: `textDocument/completion` | Server | Success | Mean ms | P95 ms | Non-empty % | Completions found | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| Pyright | yes | 6.04 | 9.64 | 100% | 14.00 | 0.00 | pass | -| Ty | yes | 6.34 | 8.82 | 100% | 467.00 | +453.00 | pass | -| pylsp-mypy | yes | 59.15 | 101.14 | 100% | 1.00 | -13.00 | pass | -| Pyrefly | yes | 70.81 | 192.34 | 100% | 487.80 | +473.80 | pass | +| Pyright | yes | 4.59 | 7.97 | 100% | 14.00 | 0.00 | pass | +| Ty | yes | 5.93 | 8.43 | 100% | 467.00 | +453.00 | pass | +| Pyrefly | yes | 59.64 | 186.22 | 100% | 487.80 | +473.80 | pass | +| pylsp-mypy | yes | 68.52 | 90.98 | 100% | 1.00 | -13.00 | pass | ### client session hover @@ -419,10 +419,10 @@ Method: `textDocument/hover` | Server | Success | Mean ms | P95 ms | Non-empty % | Hover length | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| Ty | yes | 0.22 | 0.26 | 100% | 7.00 | -19.00 | pass | -| Pyrefly | yes | 0.25 | 0.31 | 100% | 167.00 | +141.00 | pass | -| Pyright | yes | 0.53 | 0.60 | 100% | 26.00 | 0.00 | pass | -| pylsp-mypy | yes | 54.63 | 124.00 | 100% | 359.00 | +333.00 | pass | +| Ty | yes | 0.21 | 0.23 | 100% | 7.00 | -19.00 | pass | +| Pyright | yes | 0.48 | 0.55 | 100% | 26.00 | 0.00 | pass | +| Pyrefly | yes | 5.38 | 18.92 | 100% | 167.00 | +141.00 | pass | +| pylsp-mypy | yes | 98.63 | 224.59 | 100% | 359.00 | +333.00 | pass | ### client references @@ -430,10 +430,10 @@ Method: `textDocument/references` | Server | Success | Mean ms | P95 ms | Non-empty % | References found | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| Pyrefly | yes | 0.34 | 0.36 | 100% | 2.00 | 0.00 | pass | -| Ty | yes | 0.63 | 0.72 | 100% | 2.00 | 0.00 | pass | -| Pyright | yes | 0.82 | 0.90 | 100% | 2.00 | 0.00 | pass | -| pylsp-mypy | yes | 61.10 | 69.33 | 100% | 2.00 | 0.00 | pass | +| Pyrefly | yes | 0.32 | 0.33 | 100% | 2.00 | 0.00 | pass | +| Ty | yes | 0.60 | 0.67 | 100% | 2.00 | 0.00 | pass | +| Pyright | yes | 0.81 | 1.05 | 100% | 2.00 | 0.00 | pass | +| pylsp-mypy | yes | 46.25 | 89.66 | 100% | 2.00 | 0.00 | pass | ### edit response then complete (edit+completion) @@ -441,10 +441,10 @@ Method: `textDocument/completion` | Server | Success | Mean ms | P95 ms | Non-empty % | Completions found | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| Pyrefly | yes | 3.89 | 5.02 | 100% | 32.00 | -173.00 | pass | -| Pyright | yes | 5.34 | 6.48 | 100% | 205.00 | 0.00 | pass | -| Ty | yes | 6.06 | 6.48 | 100% | 225.00 | +20.00 | pass | -| pylsp-mypy | yes | 86.88 | 89.55 | 100% | 57.00 | -148.00 | pass | +| Pyrefly | yes | 2.83 | 4.60 | 100% | 32.00 | -173.00 | pass | +| Ty | yes | 4.43 | 4.62 | 100% | 225.00 | +20.00 | pass | +| Pyright | yes | 4.53 | 6.09 | 100% | 205.00 | 0.00 | pass | +| pylsp-mypy | yes | 87.15 | 90.60 | 100% | 57.00 | -148.00 | pass | ### edit response then hover (edit+hover) @@ -452,10 +452,10 @@ Method: `textDocument/hover` | Server | Success | Mean ms | P95 ms | Non-empty % | Hover length | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| Pyrefly | yes | 2.35 | 4.69 | 100% | 9977.00 | +9557.00 | pass | -| Ty | yes | 3.62 | 3.78 | 100% | 1555.00 | +1135.00 | pass | -| Pyright | yes | 36.23 | 40.49 | 100% | 420.00 | 0.00 | pass | -| pylsp-mypy | yes | 230.57 | 232.76 | 100% | 880.00 | +460.00 | pass | +| Ty | yes | 2.83 | 2.88 | 100% | 1555.00 | +1135.00 | pass | +| Pyrefly | yes | 3.07 | 5.45 | 100% | 9977.00 | +9557.00 | pass | +| Pyright | yes | 34.45 | 41.06 | 100% | 420.00 | 0.00 | pass | +| pylsp-mypy | yes | 231.07 | 232.78 | 100% | 880.00 | +460.00 | pass | ### Result Differences @@ -468,7 +468,7 @@ Method: `textDocument/hover` | Server | Success | Wall clock ms | Avg measured ms | Points | Measured requests | Non-empty % | Failed points | | --- | --- | ---: | ---: | ---: | ---: | ---: | ---: | -| Pyrefly | no | 225.07 | 0.42 | 8 | 40 | 100% | 2 | +| Pyrefly | no | 219.88 | 0.41 | 8 | 40 | 100% | 2 | ### builtins semantic tokens @@ -476,7 +476,7 @@ Method: semantic token impl using typeServer/getComputedType | Server | Success | Mean ms | P95 ms | Non-empty % | Semantic tokens found | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| Pyrefly | yes | 1.81 | 4.30 | 100% | 30.00 | 0.00 | pass | +| Pyrefly | yes | 1.80 | 4.27 | 100% | 30.00 | 0.00 | pass | ### builtin int computed type @@ -484,7 +484,7 @@ Method: `typeServer/getComputedType` | Server | Success | Mean ms | P95 ms | Non-empty % | Results found | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| Pyrefly | yes | 0.20 | 0.21 | 100% | 7.00 | 0.00 | pass | +| Pyrefly | yes | 0.18 | 0.18 | 100% | 7.00 | 0.00 | pass | ### list declared type @@ -492,7 +492,7 @@ Method: `typeServer/getDeclaredType` | Server | Success | Mean ms | P95 ms | Non-empty % | Results found | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| Pyrefly | yes | 0.24 | 0.25 | 100% | 7.00 | 0.00 | pass | +| Pyrefly | yes | 0.23 | 0.23 | 100% | 7.00 | 0.00 | pass | ### generic specialization computed type @@ -500,7 +500,7 @@ Method: `typeServer/getComputedType` | Server | Success | Mean ms | P95 ms | Non-empty % | Results found | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| Pyrefly | yes | 0.23 | 0.25 | 100% | 7.00 | 0.00 | pass | +| Pyrefly | yes | 0.22 | 0.22 | 100% | 7.00 | 0.00 | pass | ### stdlib path computed type @@ -508,7 +508,7 @@ Method: `typeServer/getComputedType` | Server | Success | Mean ms | P95 ms | Non-empty % | Results found | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| Pyrefly | yes | 0.22 | 0.23 | 100% | 7.00 | 0.00 | pass | +| Pyrefly | yes | 0.23 | 0.24 | 100% | 7.00 | 0.00 | pass | ### function argument expected type @@ -516,13 +516,13 @@ Method: `typeServer/getExpectedType` | Server | Success | Mean ms | P95 ms | Non-empty % | Results found | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| Pyrefly | yes | 0.24 | 0.25 | 100% | 7.00 | 0.00 | pass | +| Pyrefly | yes | 0.22 | 0.22 | 100% | 7.00 | 0.00 | pass | ## Benchmark: tsp_semantic | Server | Success | Wall clock ms | Avg measured ms | Points | Measured requests | Non-empty % | Failed points | | --- | --- | ---: | ---: | ---: | ---: | ---: | ---: | -| Pyrefly | yes | 6539.95 | 63.36 | 3 | 15 | 100% | 0 | +| Pyrefly | yes | 6568.64 | 66.10 | 3 | 15 | 100% | 0 | ### django semantic tokens @@ -530,7 +530,7 @@ Method: semantic token impl using typeServer/getComputedType | Server | Success | Mean ms | P95 ms | Non-empty % | Semantic tokens found | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| Pyrefly | yes | 11.35 | 14.81 | 100% | 126.00 | 0.00 | pass | +| Pyrefly | yes | 10.25 | 11.79 | 100% | 126.00 | 0.00 | pass | ### transformers semantic tokens @@ -538,7 +538,7 @@ Method: semantic token impl using typeServer/getComputedType | Server | Success | Mean ms | P95 ms | Non-empty % | Semantic tokens found | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| Pyrefly | yes | 126.88 | 168.75 | 100% | 74.00 | 0.00 | pass | +| Pyrefly | yes | 132.29 | 151.20 | 100% | 74.00 | 0.00 | pass | ### stdlib semantic tokens @@ -546,4 +546,4 @@ Method: semantic token impl using typeServer/getComputedType | Server | Success | Mean ms | P95 ms | Non-empty % | Semantic tokens found | Delta vs Pyright | Validation | | --- | --- | ---: | ---: | ---: | ---: | ---: | --- | -| Pyrefly | yes | 51.83 | 59.42 | 100% | 75.00 | 0.00 | pass | +| Pyrefly | yes | 55.75 | 66.38 | 100% | 75.00 | 0.00 | pass | diff --git a/latest-results/ty-20260921T060722Z-responses.jsonl b/latest-results/ty-20260922T060545Z-responses.jsonl similarity index 99% rename from latest-results/ty-20260921T060722Z-responses.jsonl rename to latest-results/ty-20260922T060545Z-responses.jsonl index 6769af9..3bb5ee9 100644 --- a/latest-results/ty-20260921T060722Z-responses.jsonl +++ b/latest-results/ty-20260922T060545Z-responses.jsonl @@ -63,11 +63,11 @@ {"suite": "pandas", "label": "build report definition", "method": "textDocument/definition", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py", "line": 16, "character": 17, "iteration": 3, "result": [{"range": {"end": {"character": 16, "line": 3}, "start": {"character": 4, "line": 3}}, "uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}]} {"suite": "pandas", "label": "build report definition", "method": "textDocument/definition", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py", "line": 16, "character": 17, "iteration": 4, "result": [{"range": {"end": {"character": 16, "line": 3}, "start": {"character": 4, "line": 3}}, "uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}]} {"suite": "pandas", "label": "build report definition", "method": "textDocument/definition", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py", "line": 16, "character": 17, "iteration": 5, "result": [{"range": {"end": {"character": 16, "line": 3}, "start": {"character": 4, "line": 3}}, "uri": "file:///home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py"}]} -{"suite": "pandas", "label": "edit dataframe then complete (edit+completion)", "method": "textDocument/completion", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py", "line": 17, "character": 39, "iteration": 1, "result": {"isIncomplete": true, "items": [{"detail": "DataFrame", "documentation": {"kind": "plaintext", "value": "Two-dimensional, size-mutable, potentially heterogeneous tabular data.\n\nData structure also contains labeled axes (rows and columns).\nArithmetic operations align on both row and column labels. Can be\nthought of as a dict-like container for Series objects. The primary\npandas data structure.\n\nParameters\n----------\ndata : ndarray (structured or homogeneous), Iterable, dict, or DataFrame\n Dict can contain Series, arrays, constants, dataclass or list-like objects. If\n data is a dict, column order follows insertion-order. If a dict contains Series\n which have an index defined, it is aligned by its index. This alignment also\n occurs if data is a Series or a DataFrame itself. Alignment is done on\n Series/DataFrame inputs.\n\n If data is a list of dicts, column order follows insertion-order.\n\nindex : Index or array-like\n Index to use for resulting frame. Will default to RangeIndex if\n no indexing information part of input data and no index provided.\ncolumns : Index or array-like\n Column labels to use for resulting frame when data does not have them,\n defaulting to RangeIndex(0, 1, 2, ..., n). If data contains column labels,\n will perform column selection instead.\ndtype : dtype, default None\n Data type to force. Only a single dtype is allowed. If None, infer.\ncopy : bool or None, default None\n Copy data from inputs.\n For dict data, the default of None behaves like ``copy=True``. For DataFrame\n or 2d ndarray input, the default of None behaves like ``copy=False``.\n If data is a dict containing one or more Series (possibly of different dtypes),\n ``copy=False`` will ensure that these inputs are not copied.\n\n .. versionchanged:: 1.3.0\n\nSee Also\n--------\nDataFrame.from_records : Constructor from tuples, also record arrays.\nDataFrame.from_dict : From dicts of Series, arrays, or dicts.\nread_csv : Read a comma-separated values (csv) file into DataFrame.\nread_table : Read general delimited file into DataFrame.\nread_clipboard : Read text from clipboard into DataFrame.\n\nNotes\n-----\nPlease reference the :ref:`User Guide ` for more information.\n\nExamples\n--------\nConstructing DataFrame from a dictionary.\n\n>>> d = {'col1': [1, 2], 'col2': [3, 4]}\n>>> df = pd.DataFrame(data=d)\n>>> df\n col1 col2\n0 1 3\n1 2 4\n\nNotice that the inferred dtype is int64.\n\n>>> df.dtypes\ncol1 int64\ncol2 int64\ndtype: object\n\nTo enforce a single dtype:\n\n>>> df = pd.DataFrame(data=d, dtype=np.int8)\n>>> df.dtypes\ncol1 int8\ncol2 int8\ndtype: object\n\nConstructing DataFrame from a dictionary including Series:\n\n>>> d = {'col1': [0, 1, 2, 3], 'col2': pd.Series([2, 3], index=[2, 3])}\n>>> pd.DataFrame(data=d, index=[0, 1, 2, 3])\n col1 col2\n0 0 NaN\n1 1 NaN\n2 2 2.0\n3 3 3.0\n\nConstructing DataFrame from numpy ndarray:\n\n>>> df2 = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]),\n... columns=['a', 'b', 'c'])\n>>> df2\n a b c\n0 1 2 3\n1 4 5 6\n2 7 8 9\n\nConstructing DataFrame from a numpy ndarray that has labeled columns:\n\n>>> data = np.array([(1, 2, 3), (4, 5, 6), (7, 8, 9)],\n... dtype=[(\"a\", \"i4\"), (\"b\", \"i4\"), (\"c\", \"i4\")])\n>>> df3 = pd.DataFrame(data, columns=['c', 'a'])\n...\n>>> df3\n c a\n0 3 1\n1 6 4\n2 9 7\n\nConstructing DataFrame from dataclass:\n\n>>> from dataclasses import make_dataclass\n>>> Point = make_dataclass(\"Point\", [(\"x\", int), (\"y\", int)])\n>>> pd.DataFrame([Point(0, 0), Point(0, 3), Point(2, 3)])\n x y\n0 0 0\n1 0 3\n2 2 3\n\nConstructing DataFrame from Series/DataFrame:\n\n>>> ser = pd.Series([1, 2, 3], index=[\"a\", \"b\", \"c\"])\n>>> df = pd.DataFrame(data=ser, index=[\"a\", \"c\"])\n>>> df\n 0\na 1\nc 3\n\n>>> df1 = pd.DataFrame([1, 2, 3], index=[\"a\", \"b\", \"c\"], columns=[\"x\"])\n>>> df2 = pd.DataFrame(data=df1, index=[\"a\", \"c\"])\n>>> df2\n x\na 1\nc 3\n"}, "kind": 22, "label": "T", "sortText": " 0"}, {"detail": "bound method DataFrame.abs() -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return a Series/DataFrame with absolute numeric value of each element.\n\nThis function only applies to elements that are all numeric.\n\nReturns\n-------\nabs\n Series/DataFrame containing the absolute value of each element.\n\nSee Also\n--------\nnumpy.absolute : Calculate the absolute value element-wise.\n\nNotes\n-----\nFor ``complex`` inputs, ``1.2 + 1j``, the absolute value is\n:math:`\\sqrt{ a^2 + b^2 }`.\n\nExamples\n--------\nAbsolute numeric values in a Series.\n\n>>> s = pd.Series([-1.10, 2, -3.33, 4])\n>>> s.abs()\n0 1.10\n1 2.00\n2 3.33\n3 4.00\ndtype: float64\n\nAbsolute numeric values in a Series with complex numbers.\n\n>>> s = pd.Series([1.2 + 1j])\n>>> s.abs()\n0 1.56205\ndtype: float64\n\nAbsolute numeric values in a Series with a Timedelta element.\n\n>>> s = pd.Series([pd.Timedelta('1 days')])\n>>> s.abs()\n0 1 days\ndtype: timedelta64[ns]\n\nSelect rows with data closest to certain value using argsort (from\n`StackOverflow `__).\n\n>>> df = pd.DataFrame({\n... 'a': [4, 5, 6, 7],\n... 'b': [10, 20, 30, 40],\n... 'c': [100, 50, -30, -50]\n... })\n>>> df\n a b c\n0 4 10 100\n1 5 20 50\n2 6 30 -30\n3 7 40 -50\n>>> df.loc[(df.c - 43).abs().argsort()]\n a b c\n1 5 20 50\n0 4 10 100\n2 6 30 -30\n3 7 40 -50\n"}, "kind": 2, "label": "abs", "sortText": " 1"}, {"detail": "bound method DataFrame.add(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "add", "sortText": " 2"}, {"detail": "bound method DataFrame.add_prefix(prefix: str, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Prefix labels with string `prefix`.\n\nFor Series, the row labels are prefixed.\nFor DataFrame, the column labels are prefixed.\n\nParameters\n----------\nprefix : str\n The string to add before each label.\naxis : {0 or 'index', 1 or 'columns', None}, default None\n Axis to add prefix on\n\n .. versionadded:: 2.0.0\n\nReturns\n-------\nSeries or DataFrame\n New Series or DataFrame with updated labels.\n\nSee Also\n--------\nSeries.add_suffix: Suffix row labels with string `suffix`.\nDataFrame.add_suffix: Suffix column labels with string `suffix`.\n\nExamples\n--------\n>>> s = pd.Series([1, 2, 3, 4])\n>>> s\n0 1\n1 2\n2 3\n3 4\ndtype: int64\n\n>>> s.add_prefix('item_')\nitem_0 1\nitem_1 2\nitem_2 3\nitem_3 4\ndtype: int64\n\n>>> df = pd.DataFrame({'A': [1, 2, 3, 4], 'B': [3, 4, 5, 6]})\n>>> df\n A B\n0 1 3\n1 2 4\n2 3 5\n3 4 6\n\n>>> df.add_prefix('col_')\n col_A col_B\n0 1 3\n1 2 4\n2 3 5\n3 4 6\n"}, "kind": 2, "label": "add_prefix", "sortText": " 3"}, {"detail": "bound method DataFrame.add_suffix(suffix: str, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Suffix labels with string `suffix`.\n\nFor Series, the row labels are suffixed.\nFor DataFrame, the column labels are suffixed.\n\nParameters\n----------\nsuffix : str\n The string to add after each label.\naxis : {0 or 'index', 1 or 'columns', None}, default None\n Axis to add suffix on\n\n .. versionadded:: 2.0.0\n\nReturns\n-------\nSeries or DataFrame\n New Series or DataFrame with updated labels.\n\nSee Also\n--------\nSeries.add_prefix: Prefix row labels with string `prefix`.\nDataFrame.add_prefix: Prefix column labels with string `prefix`.\n\nExamples\n--------\n>>> s = pd.Series([1, 2, 3, 4])\n>>> s\n0 1\n1 2\n2 3\n3 4\ndtype: int64\n\n>>> s.add_suffix('_item')\n0_item 1\n1_item 2\n2_item 3\n3_item 4\ndtype: int64\n\n>>> df = pd.DataFrame({'A': [1, 2, 3, 4], 'B': [3, 4, 5, 6]})\n>>> df\n A B\n0 1 3\n1 2 4\n2 3 5\n3 4 6\n\n>>> df.add_suffix('_col')\n A_col B_col\n0 1 3\n1 2 4\n2 3 5\n3 4 6\n"}, "kind": 2, "label": "add_suffix", "sortText": " 4"}, {"detail": "(func=None, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, *args, **kwargs) -> Unknown", "kind": 3, "label": "agg", "sortText": " 5"}, {"detail": "bound method DataFrame.aggregate(func=None, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, *args, **kwargs) -> Unknown", "kind": 2, "label": "aggregate", "sortText": " 6"}, {"detail": "bound method DataFrame.align[NDFrameT](other: NDFrameT, join: Literal[\"outer\", \"inner\", \"left\", \"right\"] = \"outer\", axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, level: Hashable = None, copy: bool | None = None, fill_value: Hashable = None, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None | _NoDefault = ..., limit: int | None | _NoDefault = ..., fill_axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., broadcast_axis: int | Literal[\"index\", \"columns\", \"rows\"] | None | _NoDefault = ...) -> tuple[DataFrame, NDFrameT]", "documentation": {"kind": "plaintext", "value": "Align two objects on their axes with the specified join method.\n\nJoin method is specified for each axis Index.\n\nParameters\n----------\nother : DataFrame or Series\njoin : {{'outer', 'inner', 'left', 'right'}}, default 'outer'\n Type of alignment to be performed.\n\n * left: use only keys from left frame, preserve key order.\n * right: use only keys from right frame, preserve key order.\n * outer: use union of keys from both frames, sort keys lexicographically.\n * inner: use intersection of keys from both frames,\n preserve the order of the left keys.\n\naxis : allowed axis of the other object, default None\n Align on index (0), columns (1), or both (None).\nlevel : int or level name, default None\n Broadcast across a level, matching Index values on the\n passed MultiIndex level.\ncopy : bool, default True\n Always returns new objects. If copy=False and no reindexing is\n required then original objects are returned.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\nfill_value : scalar, default np.nan\n Value to use for missing values. Defaults to NaN, but can be any\n \"compatible\" value.\nmethod : {{'backfill', 'bfill', 'pad', 'ffill', None}}, default None\n Method to use for filling holes in reindexed Series:\n\n - pad / ffill: propagate last valid observation forward to next valid.\n - backfill / bfill: use NEXT valid observation to fill gap.\n\n .. deprecated:: 2.1\n\nlimit : int, default None\n If method is specified, this is the maximum number of consecutive\n NaN values to forward/backward fill. In other words, if there is\n a gap with more than this number of consecutive NaNs, it will only\n be partially filled. If method is not specified, this is the\n maximum number of entries along the entire axis where NaNs will be\n filled. Must be greater than 0 if not None.\n\n .. deprecated:: 2.1\n\nfill_axis : {axes_single_arg}, default 0\n Filling axis, method and limit.\n\n .. deprecated:: 2.1\n\nbroadcast_axis : {axes_single_arg}, default None\n Broadcast values along this axis, if aligning two objects of\n different dimensions.\n\n .. deprecated:: 2.1\n\nReturns\n-------\ntuple of ({klass}, type of other)\n Aligned objects.\n\nExamples\n--------\n>>> df = pd.DataFrame(\n... [[1, 2, 3, 4], [6, 7, 8, 9]], columns=[\"D\", \"B\", \"E\", \"A\"], index=[1, 2]\n... )\n>>> other = pd.DataFrame(\n... [[10, 20, 30, 40], [60, 70, 80, 90], [600, 700, 800, 900]],\n... columns=[\"A\", \"B\", \"C\", \"D\"],\n... index=[2, 3, 4],\n... )\n>>> df\n D B E A\n1 1 2 3 4\n2 6 7 8 9\n>>> other\n A B C D\n2 10 20 30 40\n3 60 70 80 90\n4 600 700 800 900\n\nAlign on columns:\n\n>>> left, right = df.align(other, join=\"outer\", axis=1)\n>>> left\n A B C D E\n1 4 2 NaN 1 3\n2 9 7 NaN 6 8\n>>> right\n A B C D E\n2 10 20 30 40 NaN\n3 60 70 80 90 NaN\n4 600 700 800 900 NaN\n\nWe can also align on the index:\n\n>>> left, right = df.align(other, join=\"outer\", axis=0)\n>>> left\n D B E A\n1 1.0 2.0 3.0 4.0\n2 6.0 7.0 8.0 9.0\n3 NaN NaN NaN NaN\n4 NaN NaN NaN NaN\n>>> right\n A B C D\n1 NaN NaN NaN NaN\n2 10.0 20.0 30.0 40.0\n3 60.0 70.0 80.0 90.0\n4 600.0 700.0 800.0 900.0\n\nFinally, the default `axis=None` will align on both index and columns:\n\n>>> left, right = df.align(other, join=\"outer\", axis=None)\n>>> left\n A B C D E\n1 4.0 2.0 NaN 1.0 3.0\n2 9.0 7.0 NaN 6.0 8.0\n3 NaN NaN NaN NaN NaN\n4 NaN NaN NaN NaN NaN\n>>> right\n A B C D E\n1 NaN NaN NaN NaN NaN\n2 10.0 20.0 30.0 40.0 NaN\n3 60.0 70.0 80.0 90.0 NaN\n4 600.0 700.0 800.0 900.0 NaN\n"}, "kind": 2, "label": "align", "sortText": " 7"}, {"detail": "bound method DataFrame.all(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, bool_only: bool = False, skipna: bool = True, **kwargs) -> Series | bool", "kind": 2, "label": "all", "sortText": " 8"}, {"detail": "bound method DataFrame.any(*, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, bool_only: bool = False, skipna: bool = True, **kwargs) -> Series | bool", "kind": 2, "label": "any", "sortText": " 9"}, {"detail": "bound method DataFrame.apply(func: ((...) -> Unknown) | str | list[((...) -> Unknown) | str] | MutableMapping[Hashable, ((...) -> Unknown) | str | list[((...) -> Unknown) | str]], axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, raw: bool = False, result_type: Literal[\"expand\", \"reduce\", \"broadcast\"] | None = None, args=..., by_row: Literal[False, \"compat\"] = \"compat\", engine: Literal[\"python\", \"numba\"] = \"python\", engine_kwargs: dict[str, bool] | None = None, **kwargs) -> Unknown", "documentation": {"kind": "plaintext", "value": "Apply a function along an axis of the DataFrame.\n\nObjects passed to the function are Series objects whose index is\neither the DataFrame's index (``axis=0``) or the DataFrame's columns\n(``axis=1``). By default (``result_type=None``), the final return type\nis inferred from the return type of the applied function. Otherwise,\nit depends on the `result_type` argument.\n\nParameters\n----------\nfunc : function\n Function to apply to each column or row.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Axis along which the function is applied:\n\n * 0 or 'index': apply function to each column.\n * 1 or 'columns': apply function to each row.\n\nraw : bool, default False\n Determines if row or column is passed as a Series or ndarray object:\n\n * ``False`` : passes each row or column as a Series to the\n function.\n * ``True`` : the passed function will receive ndarray objects\n instead.\n If you are just applying a NumPy reduction function this will\n achieve much better performance.\n\nresult_type : {'expand', 'reduce', 'broadcast', None}, default None\n These only act when ``axis=1`` (columns):\n\n * 'expand' : list-like results will be turned into columns.\n * 'reduce' : returns a Series if possible rather than expanding\n list-like results. This is the opposite of 'expand'.\n * 'broadcast' : results will be broadcast to the original shape\n of the DataFrame, the original index and columns will be\n retained.\n\n The default behaviour (None) depends on the return value of the\n applied function: list-like results will be returned as a Series\n of those. However if the apply function returns a Series these\n are expanded to columns.\nargs : tuple\n Positional arguments to pass to `func` in addition to the\n array/series.\nby_row : False or \"compat\", default \"compat\"\n Only has an effect when ``func`` is a listlike or dictlike of funcs\n and the func isn't a string.\n If \"compat\", will if possible first translate the func into pandas\n methods (e.g. ``Series().apply(np.sum)`` will be translated to\n ``Series().sum()``). If that doesn't work, will try call to apply again with\n ``by_row=True`` and if that fails, will call apply again with\n ``by_row=False`` (backward compatible).\n If False, the funcs will be passed the whole Series at once.\n\n .. versionadded:: 2.1.0\n\nengine : {'python', 'numba'}, default 'python'\n Choose between the python (default) engine or the numba engine in apply.\n\n The numba engine will attempt to JIT compile the passed function,\n which may result in speedups for large DataFrames.\n It also supports the following engine_kwargs :\n\n - nopython (compile the function in nopython mode)\n - nogil (release the GIL inside the JIT compiled function)\n - parallel (try to apply the function in parallel over the DataFrame)\n\n Note: Due to limitations within numba/how pandas interfaces with numba,\n you should only use this if raw=True\n\n Note: The numba compiler only supports a subset of\n valid Python/numpy operations.\n\n Please read more about the `supported python features\n `_\n and `supported numpy features\n `_\n in numba to learn what you can or cannot use in the passed function.\n\n .. versionadded:: 2.2.0\n\nengine_kwargs : dict\n Pass keyword arguments to the engine.\n This is currently only used by the numba engine,\n see the documentation for the engine argument for more information.\n**kwargs\n Additional keyword arguments to pass as keywords arguments to\n `func`.\n\nReturns\n-------\nSeries or DataFrame\n Result of applying ``func`` along the given axis of the\n DataFrame.\n\nSee Also\n--------\nDataFrame.map: For elementwise operations.\nDataFrame.aggregate: Only perform aggregating type operations.\nDataFrame.transform: Only perform transforming type operations.\n\nNotes\n-----\nFunctions that mutate the passed object can produce unexpected\nbehavior or errors and are not supported. See :ref:`gotchas.udf-mutation`\nfor more details.\n\nExamples\n--------\n>>> df = pd.DataFrame([[4, 9]] * 3, columns=['A', 'B'])\n>>> df\n A B\n0 4 9\n1 4 9\n2 4 9\n\nUsing a numpy universal function (in this case the same as\n``np.sqrt(df)``):\n\n>>> df.apply(np.sqrt)\n A B\n0 2.0 3.0\n1 2.0 3.0\n2 2.0 3.0\n\nUsing a reducing function on either axis\n\n>>> df.apply(np.sum, axis=0)\nA 12\nB 27\ndtype: int64\n\n>>> df.apply(np.sum, axis=1)\n0 13\n1 13\n2 13\ndtype: int64\n\nReturning a list-like will result in a Series\n\n>>> df.apply(lambda x: [1, 2], axis=1)\n0 [1, 2]\n1 [1, 2]\n2 [1, 2]\ndtype: object\n\nPassing ``result_type='expand'`` will expand list-like results\nto columns of a Dataframe\n\n>>> df.apply(lambda x: [1, 2], axis=1, result_type='expand')\n 0 1\n0 1 2\n1 1 2\n2 1 2\n\nReturning a Series inside the function is similar to passing\n``result_type='expand'``. The resulting column names\nwill be the Series index.\n\n>>> df.apply(lambda x: pd.Series([1, 2], index=['foo', 'bar']), axis=1)\n foo bar\n0 1 2\n1 1 2\n2 1 2\n\nPassing ``result_type='broadcast'`` will ensure the same shape\nresult, whether list-like or scalar is returned by the function,\nand broadcast it along the axis. The resulting column names will\nbe the originals.\n\n>>> df.apply(lambda x: [1, 2], axis=1, result_type='broadcast')\n A B\n0 1 2\n1 1 2\n2 1 2\n"}, "kind": 2, "label": "apply", "sortText": " 10"}, {"detail": "bound method DataFrame.applymap(func: (Any, /) -> Any, na_action: Literal[\"ignore\"] | None = None, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Apply a function to a Dataframe elementwise.\n\n.. deprecated:: 2.1.0\n\n DataFrame.applymap has been deprecated. Use DataFrame.map instead.\n\nThis method applies a function that accepts and returns a scalar\nto every element of a DataFrame.\n\nParameters\n----------\nfunc : callable\n Python function, returns a single value from a single value.\nna_action : {None, 'ignore'}, default None\n If 'ignore', propagate NaN values, without passing them to func.\n**kwargs\n Additional keyword arguments to pass as keywords arguments to\n `func`.\n\nReturns\n-------\nDataFrame\n Transformed DataFrame.\n\nSee Also\n--------\nDataFrame.apply : Apply a function along input axis of DataFrame.\nDataFrame.map : Apply a function along input axis of DataFrame.\nDataFrame.replace: Replace values given in `to_replace` with `value`.\n\nExamples\n--------\n>>> df = pd.DataFrame([[1, 2.12], [3.356, 4.567]])\n>>> df\n 0 1\n0 1.000 2.120\n1 3.356 4.567\n\n>>> df.map(lambda x: len(str(x)))\n 0 1\n0 3 4\n1 5 5\n"}, "kind": 2, "label": "applymap", "sortText": " 11"}, {"detail": "bound method DataFrame.asfreq(freq: str | BaseOffset, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None = None, how: Literal[\"start\", \"end\"] | None = None, normalize: bool = False, fill_value: Hashable = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Convert time series to specified frequency.\n\nReturns the original data conformed to a new index with the specified\nfrequency.\n\nIf the index of this {klass} is a :class:`~pandas.PeriodIndex`, the new index\nis the result of transforming the original index with\n:meth:`PeriodIndex.asfreq ` (so the original index\nwill map one-to-one to the new index).\n\nOtherwise, the new index will be equivalent to ``pd.date_range(start, end,\nfreq=freq)`` where ``start`` and ``end`` are, respectively, the first and\nlast entries in the original index (see :func:`pandas.date_range`). The\nvalues corresponding to any timesteps in the new index which were not present\nin the original index will be null (``NaN``), unless a method for filling\nsuch unknowns is provided (see the ``method`` parameter below).\n\nThe :meth:`resample` method is more appropriate if an operation on each group of\ntimesteps (such as an aggregate) is necessary to represent the data at the new\nfrequency.\n\nParameters\n----------\nfreq : DateOffset or str\n Frequency DateOffset or string.\nmethod : {{'backfill'/'bfill', 'pad'/'ffill'}}, default None\n Method to use for filling holes in reindexed Series (note this\n does not fill NaNs that already were present):\n\n * 'pad' / 'ffill': propagate last valid observation forward to next\n valid\n * 'backfill' / 'bfill': use NEXT valid observation to fill.\nhow : {{'start', 'end'}}, default end\n For PeriodIndex only (see PeriodIndex.asfreq).\nnormalize : bool, default False\n Whether to reset output index to midnight.\nfill_value : scalar, optional\n Value to use for missing values, applied during upsampling (note\n this does not fill NaNs that already were present).\n\nReturns\n-------\n{klass}\n {klass} object reindexed to the specified frequency.\n\nSee Also\n--------\nreindex : Conform DataFrame to new index with optional filling logic.\n\nNotes\n-----\nTo learn more about the frequency strings, please see `this link\n`__.\n\nExamples\n--------\nStart by creating a series with 4 one minute timestamps.\n\n>>> index = pd.date_range('1/1/2000', periods=4, freq='min')\n>>> series = pd.Series([0.0, None, 2.0, 3.0], index=index)\n>>> df = pd.DataFrame({{'s': series}})\n>>> df\n s\n2000-01-01 00:00:00 0.0\n2000-01-01 00:01:00 NaN\n2000-01-01 00:02:00 2.0\n2000-01-01 00:03:00 3.0\n\nUpsample the series into 30 second bins.\n\n>>> df.asfreq(freq='30s')\n s\n2000-01-01 00:00:00 0.0\n2000-01-01 00:00:30 NaN\n2000-01-01 00:01:00 NaN\n2000-01-01 00:01:30 NaN\n2000-01-01 00:02:00 2.0\n2000-01-01 00:02:30 NaN\n2000-01-01 00:03:00 3.0\n\nUpsample again, providing a ``fill value``.\n\n>>> df.asfreq(freq='30s', fill_value=9.0)\n s\n2000-01-01 00:00:00 0.0\n2000-01-01 00:00:30 9.0\n2000-01-01 00:01:00 NaN\n2000-01-01 00:01:30 9.0\n2000-01-01 00:02:00 2.0\n2000-01-01 00:02:30 9.0\n2000-01-01 00:03:00 3.0\n\nUpsample again, providing a ``method``.\n\n>>> df.asfreq(freq='30s', method='bfill')\n s\n2000-01-01 00:00:00 0.0\n2000-01-01 00:00:30 NaN\n2000-01-01 00:01:00 NaN\n2000-01-01 00:01:30 2.0\n2000-01-01 00:02:00 2.0\n2000-01-01 00:02:30 3.0\n2000-01-01 00:03:00 3.0\n"}, "kind": 2, "label": "asfreq", "sortText": " 12"}, {"detail": "bound method DataFrame.asof(where, subset=None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Return the last row(s) without any NaNs before `where`.\n\nThe last row (for each element in `where`, if list) without any\nNaN is taken.\nIn case of a :class:`~pandas.DataFrame`, the last row without NaN\nconsidering only the subset of columns (if not `None`)\n\nIf there is no good value, NaN is returned for a Series or\na Series of NaN values for a DataFrame\n\nParameters\n----------\nwhere : date or array-like of dates\n Date(s) before which the last row(s) are returned.\nsubset : str or array-like of str, default `None`\n For DataFrame, if not `None`, only use these columns to\n check for NaNs.\n\nReturns\n-------\nscalar, Series, or DataFrame\n\n The return can be:\n\n * scalar : when `self` is a Series and `where` is a scalar\n * Series: when `self` is a Series and `where` is an array-like,\n or when `self` is a DataFrame and `where` is a scalar\n * DataFrame : when `self` is a DataFrame and `where` is an\n array-like\n\nSee Also\n--------\nmerge_asof : Perform an asof merge. Similar to left join.\n\nNotes\n-----\nDates are assumed to be sorted. Raises if this is not the case.\n\nExamples\n--------\nA Series and a scalar `where`.\n\n>>> s = pd.Series([1, 2, np.nan, 4], index=[10, 20, 30, 40])\n>>> s\n10 1.0\n20 2.0\n30 NaN\n40 4.0\ndtype: float64\n\n>>> s.asof(20)\n2.0\n\nFor a sequence `where`, a Series is returned. The first value is\nNaN, because the first element of `where` is before the first\nindex value.\n\n>>> s.asof([5, 20])\n5 NaN\n20 2.0\ndtype: float64\n\nMissing values are not considered. The following is ``2.0``, not\nNaN, even though NaN is at the index location for ``30``.\n\n>>> s.asof(30)\n2.0\n\nTake all columns into consideration\n\n>>> df = pd.DataFrame({'a': [10., 20., 30., 40., 50.],\n... 'b': [None, None, None, None, 500]},\n... index=pd.DatetimeIndex(['2018-02-27 09:01:00',\n... '2018-02-27 09:02:00',\n... '2018-02-27 09:03:00',\n... '2018-02-27 09:04:00',\n... '2018-02-27 09:05:00']))\n>>> df.asof(pd.DatetimeIndex(['2018-02-27 09:03:30',\n... '2018-02-27 09:04:30']))\n a b\n2018-02-27 09:03:30 NaN NaN\n2018-02-27 09:04:30 NaN NaN\n\nTake a single column into consideration\n\n>>> df.asof(pd.DatetimeIndex(['2018-02-27 09:03:30',\n... '2018-02-27 09:04:30']),\n... subset=['a'])\n a b\n2018-02-27 09:03:30 30.0 NaN\n2018-02-27 09:04:30 40.0 NaN\n"}, "kind": 2, "label": "asof", "sortText": " 13"}, {"detail": "bound method DataFrame.assign(**kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Assign new columns to a DataFrame.\n\nReturns a new object with all original columns in addition to new ones.\nExisting columns that are re-assigned will be overwritten.\n\nParameters\n----------\n**kwargs : dict of {str: callable or Series}\n The column names are keywords. If the values are\n callable, they are computed on the DataFrame and\n assigned to the new columns. The callable must not\n change input DataFrame (though pandas doesn't check it).\n If the values are not callable, (e.g. a Series, scalar, or array),\n they are simply assigned.\n\nReturns\n-------\nDataFrame\n A new DataFrame with the new columns in addition to\n all the existing columns.\n\nNotes\n-----\nAssigning multiple columns within the same ``assign`` is possible.\nLater items in '\\*\\*kwargs' may refer to newly created or modified\ncolumns in 'df'; items are computed and assigned into 'df' in order.\n\nExamples\n--------\n>>> df = pd.DataFrame({'temp_c': [17.0, 25.0]},\n... index=['Portland', 'Berkeley'])\n>>> df\n temp_c\nPortland 17.0\nBerkeley 25.0\n\nWhere the value is a callable, evaluated on `df`:\n\n>>> df.assign(temp_f=lambda x: x.temp_c * 9 / 5 + 32)\n temp_c temp_f\nPortland 17.0 62.6\nBerkeley 25.0 77.0\n\nAlternatively, the same behavior can be achieved by directly\nreferencing an existing Series or sequence:\n\n>>> df.assign(temp_f=df['temp_c'] * 9 / 5 + 32)\n temp_c temp_f\nPortland 17.0 62.6\nBerkeley 25.0 77.0\n\nYou can create multiple columns within the same assign where one\nof the columns depends on another one defined within the same assign:\n\n>>> df.assign(temp_f=lambda x: x['temp_c'] * 9 / 5 + 32,\n... temp_k=lambda x: (x['temp_f'] + 459.67) * 5 / 9)\n temp_c temp_f temp_k\nPortland 17.0 62.6 290.15\nBerkeley 25.0 77.0 298.15\n"}, "kind": 2, "label": "assign", "sortText": " 14"}, {"detail": "bound method DataFrame.astype(dtype, copy: bool | None = None, errors: Literal[\"ignore\", \"raise\"] = \"raise\") -> DataFrame", "documentation": {"kind": "plaintext", "value": "Cast a pandas object to a specified dtype ``dtype``.\n\nParameters\n----------\ndtype : str, data type, Series or Mapping of column name -> data type\n Use a str, numpy.dtype, pandas.ExtensionDtype or Python type to\n cast entire pandas object to the same type. Alternatively, use a\n mapping, e.g. {col: dtype, ...}, where col is a column label and dtype is\n a numpy.dtype or Python type to cast one or more of the DataFrame's\n columns to column-specific types.\ncopy : bool, default True\n Return a copy when ``copy=True`` (be very careful setting\n ``copy=False`` as changes to values then may propagate to other\n pandas objects).\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\nerrors : {'raise', 'ignore'}, default 'raise'\n Control raising of exceptions on invalid data for provided dtype.\n\n - ``raise`` : allow exceptions to be raised\n - ``ignore`` : suppress exceptions. On error return original object.\n\nReturns\n-------\nsame type as caller\n\nSee Also\n--------\nto_datetime : Convert argument to datetime.\nto_timedelta : Convert argument to timedelta.\nto_numeric : Convert argument to a numeric type.\nnumpy.ndarray.astype : Cast a numpy array to a specified type.\n\nNotes\n-----\n.. versionchanged:: 2.0.0\n\n Using ``astype`` to convert from timezone-naive dtype to\n timezone-aware dtype will raise an exception.\n Use :meth:`Series.dt.tz_localize` instead.\n\nExamples\n--------\nCreate a DataFrame:\n\n>>> d = {'col1': [1, 2], 'col2': [3, 4]}\n>>> df = pd.DataFrame(data=d)\n>>> df.dtypes\ncol1 int64\ncol2 int64\ndtype: object\n\nCast all columns to int32:\n\n>>> df.astype('int32').dtypes\ncol1 int32\ncol2 int32\ndtype: object\n\nCast col1 to int32 using a dictionary:\n\n>>> df.astype({'col1': 'int32'}).dtypes\ncol1 int32\ncol2 int64\ndtype: object\n\nCreate a series:\n\n>>> ser = pd.Series([1, 2], dtype='int32')\n>>> ser\n0 1\n1 2\ndtype: int32\n>>> ser.astype('int64')\n0 1\n1 2\ndtype: int64\n\nConvert to categorical type:\n\n>>> ser.astype('category')\n0 1\n1 2\ndtype: category\nCategories (2, int32): [1, 2]\n\nConvert to ordered categorical type with custom ordering:\n\n>>> from pandas.api.types import CategoricalDtype\n>>> cat_dtype = CategoricalDtype(\n... categories=[2, 1], ordered=True)\n>>> ser.astype(cat_dtype)\n0 1\n1 2\ndtype: category\nCategories (2, int64): [2 < 1]\n\nCreate a series of dates:\n\n>>> ser_date = pd.Series(pd.date_range('20200101', periods=3))\n>>> ser_date\n0 2020-01-01\n1 2020-01-02\n2 2020-01-03\ndtype: datetime64[ns]\n"}, "kind": 2, "label": "astype", "sortText": " 15"}, {"detail": "_AtIndexer", "kind": 22, "label": "at", "sortText": " 16"}, {"detail": "bound method DataFrame.at_time(time, asof: bool = False, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Select values at particular time of day (e.g., 9:30AM).\n\nParameters\n----------\ntime : datetime.time or str\n The values to select.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n For `Series` this parameter is unused and defaults to 0.\n\nReturns\n-------\nSeries or DataFrame\n\nRaises\n------\nTypeError\n If the index is not a :class:`DatetimeIndex`\n\nSee Also\n--------\nbetween_time : Select values between particular times of the day.\nfirst : Select initial periods of time series based on a date offset.\nlast : Select final periods of time series based on a date offset.\nDatetimeIndex.indexer_at_time : Get just the index locations for\n values at particular time of the day.\n\nExamples\n--------\n>>> i = pd.date_range('2018-04-09', periods=4, freq='12h')\n>>> ts = pd.DataFrame({'A': [1, 2, 3, 4]}, index=i)\n>>> ts\n A\n2018-04-09 00:00:00 1\n2018-04-09 12:00:00 2\n2018-04-10 00:00:00 3\n2018-04-10 12:00:00 4\n\n>>> ts.at_time('12:00')\n A\n2018-04-09 12:00:00 2\n2018-04-10 12:00:00 4\n"}, "kind": 2, "label": "at_time", "sortText": " 17"}, {"detail": "dict[Hashable, Any]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "attrs", "sortText": " 18"}, {"detail": "list[Index]", "documentation": {"kind": "plaintext", "value": "Built-in mutable sequence.\n\nIf no argument is given, the constructor creates a new empty list.\nThe argument must be an iterable if specified.\n"}, "kind": 22, "label": "axes", "sortText": " 19"}, {"detail": "bound method DataFrame.backfill(*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = None, inplace: bool = False, limit: None | int = None, downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame | None", "documentation": {"kind": "plaintext", "value": "Fill NA/NaN values by using the next valid observation to fill the gap.\n\n.. deprecated:: 2.0\n\n {klass}.backfill is deprecated. Use {klass}.bfill instead.\n\nReturns\n-------\n{klass} or None\n Object with missing values filled or None if ``inplace=True``.\n\nExamples\n--------\nPlease see examples for :meth:`DataFrame.bfill` or :meth:`Series.bfill`.\n"}, "kind": 2, "label": "backfill", "sortText": " 20"}, {"detail": "bound method DataFrame.between_time(start_time, end_time, inclusive: Literal[\"left\", \"right\", \"both\", \"neither\"] = \"both\", axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Select values between particular times of the day (e.g., 9:00-9:30 AM).\n\nBy setting ``start_time`` to be later than ``end_time``,\nyou can get the times that are *not* between the two times.\n\nParameters\n----------\nstart_time : datetime.time or str\n Initial time as a time filter limit.\nend_time : datetime.time or str\n End time as a time filter limit.\ninclusive : {\"both\", \"neither\", \"left\", \"right\"}, default \"both\"\n Include boundaries; whether to set each bound as closed or open.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Determine range time on index or columns value.\n For `Series` this parameter is unused and defaults to 0.\n\nReturns\n-------\nSeries or DataFrame\n Data from the original object filtered to the specified dates range.\n\nRaises\n------\nTypeError\n If the index is not a :class:`DatetimeIndex`\n\nSee Also\n--------\nat_time : Select values at a particular time of the day.\nfirst : Select initial periods of time series based on a date offset.\nlast : Select final periods of time series based on a date offset.\nDatetimeIndex.indexer_between_time : Get just the index locations for\n values between particular times of the day.\n\nExamples\n--------\n>>> i = pd.date_range('2018-04-09', periods=4, freq='1D20min')\n>>> ts = pd.DataFrame({'A': [1, 2, 3, 4]}, index=i)\n>>> ts\n A\n2018-04-09 00:00:00 1\n2018-04-10 00:20:00 2\n2018-04-11 00:40:00 3\n2018-04-12 01:00:00 4\n\n>>> ts.between_time('0:15', '0:45')\n A\n2018-04-10 00:20:00 2\n2018-04-11 00:40:00 3\n\nYou get the times that are *not* between two times by setting\n``start_time`` later than ``end_time``:\n\n>>> ts.between_time('0:45', '0:15')\n A\n2018-04-09 00:00:00 1\n2018-04-12 01:00:00 4\n"}, "kind": 2, "label": "between_time", "sortText": " 21"}, {"detail": "Overload[(*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: Literal[False] = ..., limit: None | int = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame, (*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: Literal[True], limit: None | int = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> None, (*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: bool = ..., limit: None | int = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Fill NA/NaN values by using the next valid observation to fill the gap.\n\nParameters\n----------\naxis : {axes_single_arg}\n Axis along which to fill missing values. For `Series`\n this parameter is unused and defaults to 0.\ninplace : bool, default False\n If True, fill in-place. Note: this will modify any\n other views on this object (e.g., a no-copy slice for a column in a\n DataFrame).\nlimit : int, default None\n If method is specified, this is the maximum number of consecutive\n NaN values to forward/backward fill. In other words, if there is\n a gap with more than this number of consecutive NaNs, it will only\n be partially filled. If method is not specified, this is the\n maximum number of entries along the entire axis where NaNs will be\n filled. Must be greater than 0 if not None.\nlimit_area : {{`None`, 'inside', 'outside'}}, default None\n If limit is specified, consecutive NaNs will be filled with this\n restriction.\n\n * ``None``: No fill restriction.\n * 'inside': Only fill NaNs surrounded by valid values\n (interpolate).\n * 'outside': Only fill NaNs outside valid values (extrapolate).\n\n .. versionadded:: 2.2.0\n\ndowncast : dict, default is None\n A dict of item->dtype of what to downcast if possible,\n or the string 'infer' which will try to downcast to an appropriate\n equal type (e.g. float64 to int64 if possible).\n\n .. deprecated:: 2.2.0\n\nReturns\n-------\n{klass} or None\n Object with missing values filled or None if ``inplace=True``.\n\nExamples\n--------\nFor Series:\n\n>>> s = pd.Series([1, None, None, 2])\n>>> s.bfill()\n0 1.0\n1 2.0\n2 2.0\n3 2.0\ndtype: float64\n>>> s.bfill(limit=1)\n0 1.0\n1 NaN\n2 2.0\n3 2.0\ndtype: float64\n\nWith DataFrame:\n\n>>> df = pd.DataFrame({{'A': [1, None, None, 4], 'B': [None, 5, None, 7]}})\n>>> df\n A B\n0 1.0 NaN\n1 NaN 5.0\n2 NaN NaN\n3 4.0 7.0\n>>> df.bfill()\n A B\n0 1.0 5.0\n1 4.0 5.0\n2 4.0 7.0\n3 4.0 7.0\n>>> df.bfill(limit=1)\n A B\n0 1.0 5.0\n1 NaN 5.0\n2 4.0 7.0\n3 4.0 7.0\n"}, "kind": 2, "label": "bfill", "sortText": " 22"}, {"detail": "bound method DataFrame.bool() -> bool", "documentation": {"kind": "plaintext", "value": "Return the bool of a single element Series or DataFrame.\n\n.. deprecated:: 2.1.0\n\n bool is deprecated and will be removed in future version of pandas.\n For ``Series`` use ``pandas.Series.item``.\n\nThis must be a boolean scalar value, either True or False. It will raise a\nValueError if the Series or DataFrame does not have exactly 1 element, or that\nelement is not boolean (integer values 0 and 1 will also raise an exception).\n\nReturns\n-------\nbool\n The value in the Series or DataFrame.\n\nSee Also\n--------\nSeries.astype : Change the data type of a Series, including to boolean.\nDataFrame.astype : Change the data type of a DataFrame, including to boolean.\nnumpy.bool_ : NumPy boolean data type, used by pandas for boolean values.\n\nExamples\n--------\nThe method will only work for single element objects with a boolean value:\n\n>>> pd.Series([True]).bool() # doctest: +SKIP\nTrue\n>>> pd.Series([False]).bool() # doctest: +SKIP\nFalse\n\n>>> pd.DataFrame({'col': [True]}).bool() # doctest: +SKIP\nTrue\n>>> pd.DataFrame({'col': [False]}).bool() # doctest: +SKIP\nFalse\n\nThis is an alternative method and will only work\nfor single element objects with a boolean value:\n\n>>> pd.Series([True]).item() # doctest: +SKIP\nTrue\n>>> pd.Series([False]).item() # doctest: +SKIP\nFalse\n"}, "kind": 2, "label": "bool", "sortText": " 23"}, {"detail": "(column=None, by=None, ax=None, fontsize: int | None = None, rot: int = 0, grid: bool = True, figsize: tuple[float, float] | None = None, layout=None, return_type=None, backend=None, **kwargs) -> Unknown", "kind": 3, "label": "boxplot", "sortText": " 24"}, {"detail": "Overload[(lower=..., upper=..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: Literal[False] = ..., **kwargs) -> DataFrame, (lower=..., upper=..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: Literal[True], **kwargs) -> None, (lower=..., upper=..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: bool = ..., **kwargs) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Trim values at input threshold(s).\n\nAssigns values outside boundary to boundary values. Thresholds\ncan be singular values or array like, and in the latter case\nthe clipping is performed element-wise in the specified axis.\n\nParameters\n----------\nlower : float or array-like, default None\n Minimum threshold value. All values below this\n threshold will be set to it. A missing\n threshold (e.g `NA`) will not clip the value.\nupper : float or array-like, default None\n Maximum threshold value. All values above this\n threshold will be set to it. A missing\n threshold (e.g `NA`) will not clip the value.\naxis : {{0 or 'index', 1 or 'columns', None}}, default None\n Align object with lower and upper along the given axis.\n For `Series` this parameter is unused and defaults to `None`.\ninplace : bool, default False\n Whether to perform the operation in place on the data.\n*args, **kwargs\n Additional keywords have no effect but might be accepted\n for compatibility with numpy.\n\nReturns\n-------\nSeries or DataFrame or None\n Same type as calling object with the values outside the\n clip boundaries replaced or None if ``inplace=True``.\n\nSee Also\n--------\nSeries.clip : Trim values at input threshold in series.\nDataFrame.clip : Trim values at input threshold in dataframe.\nnumpy.clip : Clip (limit) the values in an array.\n\nExamples\n--------\n>>> data = {'col_0': [9, -3, 0, -1, 5], 'col_1': [-2, -7, 6, 8, -5]}\n>>> df = pd.DataFrame(data)\n>>> df\n col_0 col_1\n0 9 -2\n1 -3 -7\n2 0 6\n3 -1 8\n4 5 -5\n\nClips per column using lower and upper thresholds:\n\n>>> df.clip(-4, 6)\n col_0 col_1\n0 6 -2\n1 -3 -4\n2 0 6\n3 -1 6\n4 5 -4\n\nClips using specific lower and upper thresholds per column:\n\n>>> df.clip([-2, -1], [4, 5])\n col_0 col_1\n0 4 -1\n1 -2 -1\n2 0 5\n3 -1 5\n4 4 -1\n\nClips using specific lower and upper thresholds per column element:\n\n>>> t = pd.Series([2, -4, -1, 6, 3])\n>>> t\n0 2\n1 -4\n2 -1\n3 6\n4 3\ndtype: int64\n\n>>> df.clip(t, t + 4, axis=0)\n col_0 col_1\n0 6 2\n1 -3 -4\n2 0 3\n3 6 8\n4 5 3\n\nClips using specific lower threshold per column element, with missing values:\n\n>>> t = pd.Series([2, -4, np.nan, 6, 3])\n>>> t\n0 2.0\n1 -4.0\n2 NaN\n3 6.0\n4 3.0\ndtype: float64\n\n>>> df.clip(t, axis=0)\ncol_0 col_1\n0 9 2\n1 -3 -4\n2 0 6\n3 6 8\n4 5 3\n"}, "kind": 2, "label": "clip", "sortText": " 25"}, {"detail": "Index", "documentation": {"kind": "plaintext", "value": "Immutable sequence used for indexing and alignment.\n\nThe basic object storing axis labels for all pandas objects.\n\n.. versionchanged:: 2.0.0\n\n Index can hold all numpy numeric dtypes (except float16). Previously only\n int64/uint64/float64 dtypes were accepted.\n\nParameters\n----------\ndata : array-like (1-dimensional)\ndtype : str, numpy.dtype, or ExtensionDtype, optional\n Data type for the output Index. If not specified, this will be\n inferred from `data`.\n See the :ref:`user guide ` for more usages.\ncopy : bool, default False\n Copy input data.\nname : object\n Name to be stored in the index.\ntupleize_cols : bool (default: True)\n When True, attempt to create a MultiIndex if possible.\n\nSee Also\n--------\nRangeIndex : Index implementing a monotonic integer range.\nCategoricalIndex : Index of :class:`Categorical` s.\nMultiIndex : A multi-level, or hierarchical Index.\nIntervalIndex : An Index of :class:`Interval` s.\nDatetimeIndex : Index of datetime64 data.\nTimedeltaIndex : Index of timedelta64 data.\nPeriodIndex : Index of Period data.\n\nNotes\n-----\nAn Index instance can **only** contain hashable objects.\nAn Index instance *can not* hold numpy float16 dtype.\n\nExamples\n--------\n>>> pd.Index([1, 2, 3])\nIndex([1, 2, 3], dtype='int64')\n\n>>> pd.Index(list('abc'))\nIndex(['a', 'b', 'c'], dtype='object')\n\n>>> pd.Index([1, 2, 3], dtype=\"uint8\")\nIndex([1, 2, 3], dtype='uint8')\n"}, "kind": 22, "label": "columns", "sortText": " 26"}, {"detail": "bound method DataFrame.combine(other: DataFrame, func: (Series, Series, /) -> Series | Hashable, fill_value=None, overwrite: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Perform column-wise combine with another DataFrame.\n\nCombines a DataFrame with `other` DataFrame using `func`\nto element-wise combine columns. The row and column indexes of the\nresulting DataFrame will be the union of the two.\n\nParameters\n----------\nother : DataFrame\n The DataFrame to merge column-wise.\nfunc : function\n Function that takes two series as inputs and return a Series or a\n scalar. Used to merge the two dataframes column by columns.\nfill_value : scalar value, default None\n The value to fill NaNs with prior to passing any column to the\n merge func.\noverwrite : bool, default True\n If True, columns in `self` that do not exist in `other` will be\n overwritten with NaNs.\n\nReturns\n-------\nDataFrame\n Combination of the provided DataFrames.\n\nSee Also\n--------\nDataFrame.combine_first : Combine two DataFrame objects and default to\n non-null values in frame calling the method.\n\nExamples\n--------\nCombine using a simple function that chooses the smaller column.\n\n>>> df1 = pd.DataFrame({'A': [0, 0], 'B': [4, 4]})\n>>> df2 = pd.DataFrame({'A': [1, 1], 'B': [3, 3]})\n>>> take_smaller = lambda s1, s2: s1 if s1.sum() < s2.sum() else s2\n>>> df1.combine(df2, take_smaller)\n A B\n0 0 3\n1 0 3\n\nExample using a true element-wise combine function.\n\n>>> df1 = pd.DataFrame({'A': [5, 0], 'B': [2, 4]})\n>>> df2 = pd.DataFrame({'A': [1, 1], 'B': [3, 3]})\n>>> df1.combine(df2, np.minimum)\n A B\n0 1 2\n1 0 3\n\nUsing `fill_value` fills Nones prior to passing the column to the\nmerge function.\n\n>>> df1 = pd.DataFrame({'A': [0, 0], 'B': [None, 4]})\n>>> df2 = pd.DataFrame({'A': [1, 1], 'B': [3, 3]})\n>>> df1.combine(df2, take_smaller, fill_value=-5)\n A B\n0 0 -5.0\n1 0 4.0\n\nHowever, if the same element in both dataframes is None, that None\nis preserved\n\n>>> df1 = pd.DataFrame({'A': [0, 0], 'B': [None, 4]})\n>>> df2 = pd.DataFrame({'A': [1, 1], 'B': [None, 3]})\n>>> df1.combine(df2, take_smaller, fill_value=-5)\n A B\n0 0 -5.0\n1 0 3.0\n\nExample that demonstrates the use of `overwrite` and behavior when\nthe axis differ between the dataframes.\n\n>>> df1 = pd.DataFrame({'A': [0, 0], 'B': [4, 4]})\n>>> df2 = pd.DataFrame({'B': [3, 3], 'C': [-10, 1], }, index=[1, 2])\n>>> df1.combine(df2, take_smaller)\n A B C\n0 NaN NaN NaN\n1 NaN 3.0 -10.0\n2 NaN 3.0 1.0\n\n>>> df1.combine(df2, take_smaller, overwrite=False)\n A B C\n0 0.0 NaN NaN\n1 0.0 3.0 -10.0\n2 NaN 3.0 1.0\n\nDemonstrating the preference of the passed in dataframe.\n\n>>> df2 = pd.DataFrame({'B': [3, 3], 'C': [1, 1], }, index=[1, 2])\n>>> df2.combine(df1, take_smaller)\n A B C\n0 0.0 NaN NaN\n1 0.0 3.0 NaN\n2 NaN 3.0 NaN\n\n>>> df2.combine(df1, take_smaller, overwrite=False)\n A B C\n0 0.0 NaN NaN\n1 0.0 3.0 1.0\n2 NaN 3.0 1.0\n"}, "kind": 2, "label": "combine", "sortText": " 27"}, {"detail": "bound method DataFrame.combine_first(other: DataFrame) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Update null elements with value in the same location in `other`.\n\nCombine two DataFrame objects by filling null values in one DataFrame\nwith non-null values from other DataFrame. The row and column indexes\nof the resulting DataFrame will be the union of the two. The resulting\ndataframe contains the 'first' dataframe values and overrides the\nsecond one values where both first.loc[index, col] and\nsecond.loc[index, col] are not missing values, upon calling\nfirst.combine_first(second).\n\nParameters\n----------\nother : DataFrame\n Provided DataFrame to use to fill null values.\n\nReturns\n-------\nDataFrame\n The result of combining the provided DataFrame with the other object.\n\nSee Also\n--------\nDataFrame.combine : Perform series-wise operation on two DataFrames\n using a given function.\n\nExamples\n--------\n>>> df1 = pd.DataFrame({'A': [None, 0], 'B': [None, 4]})\n>>> df2 = pd.DataFrame({'A': [1, 1], 'B': [3, 3]})\n>>> df1.combine_first(df2)\n A B\n0 1.0 3.0\n1 0.0 4.0\n\nNull values still persist if the location of that null value\ndoes not exist in `other`\n\n>>> df1 = pd.DataFrame({'A': [None, 0], 'B': [4, None]})\n>>> df2 = pd.DataFrame({'B': [3, 3], 'C': [1, 1]}, index=[1, 2])\n>>> df1.combine_first(df2)\n A B C\n0 NaN 4.0 NaN\n1 0.0 3.0 1.0\n2 NaN 3.0 1.0\n"}, "kind": 2, "label": "combine_first", "sortText": " 28"}, {"detail": "bound method DataFrame.compare(other: DataFrame, align_axis: int | Literal[\"index\", \"columns\", \"rows\"] = 1, keep_shape: bool = False, keep_equal: bool = False, result_names: tuple[str | None, str | None] = ...) -> DataFrame", "kind": 2, "label": "compare", "sortText": " 29"}, {"detail": "bound method DataFrame.convert_dtypes(infer_objects: bool = True, convert_string: bool = True, convert_integer: bool = True, convert_boolean: bool = True, convert_floating: bool = True, dtype_backend: Literal[\"pyarrow\", \"numpy_nullable\"] = \"numpy_nullable\") -> DataFrame", "documentation": {"kind": "plaintext", "value": "Convert columns to the best possible dtypes using dtypes supporting ``pd.NA``.\n\nParameters\n----------\ninfer_objects : bool, default True\n Whether object dtypes should be converted to the best possible types.\nconvert_string : bool, default True\n Whether object dtypes should be converted to ``StringDtype()``.\nconvert_integer : bool, default True\n Whether, if possible, conversion can be done to integer extension types.\nconvert_boolean : bool, defaults True\n Whether object dtypes should be converted to ``BooleanDtypes()``.\nconvert_floating : bool, defaults True\n Whether, if possible, conversion can be done to floating extension types.\n If `convert_integer` is also True, preference will be give to integer\n dtypes if the floats can be faithfully casted to integers.\ndtype_backend : {'numpy_nullable', 'pyarrow'}, default 'numpy_nullable'\n Back-end data type applied to the resultant :class:`DataFrame`\n (still experimental). Behaviour is as follows:\n\n * ``\"numpy_nullable\"``: returns nullable-dtype-backed :class:`DataFrame`\n (default).\n * ``\"pyarrow\"``: returns pyarrow-backed nullable :class:`ArrowDtype`\n DataFrame.\n\n .. versionadded:: 2.0\n\nReturns\n-------\nSeries or DataFrame\n Copy of input object with new dtype.\n\nSee Also\n--------\ninfer_objects : Infer dtypes of objects.\nto_datetime : Convert argument to datetime.\nto_timedelta : Convert argument to timedelta.\nto_numeric : Convert argument to a numeric type.\n\nNotes\n-----\nBy default, ``convert_dtypes`` will attempt to convert a Series (or each\nSeries in a DataFrame) to dtypes that support ``pd.NA``. By using the options\n``convert_string``, ``convert_integer``, ``convert_boolean`` and\n``convert_floating``, it is possible to turn off individual conversions\nto ``StringDtype``, the integer extension types, ``BooleanDtype``\nor floating extension types, respectively.\n\nFor object-dtyped columns, if ``infer_objects`` is ``True``, use the inference\nrules as during normal Series/DataFrame construction. Then, if possible,\nconvert to ``StringDtype``, ``BooleanDtype`` or an appropriate integer\nor floating extension type, otherwise leave as ``object``.\n\nIf the dtype is integer, convert to an appropriate integer extension type.\n\nIf the dtype is numeric, and consists of all integers, convert to an\nappropriate integer extension type. Otherwise, convert to an\nappropriate floating extension type.\n\nIn the future, as new dtypes are added that support ``pd.NA``, the results\nof this method will change to support those new dtypes.\n\nExamples\n--------\n>>> df = pd.DataFrame(\n... {\n... \"a\": pd.Series([1, 2, 3], dtype=np.dtype(\"int32\")),\n... \"b\": pd.Series([\"x\", \"y\", \"z\"], dtype=np.dtype(\"O\")),\n... \"c\": pd.Series([True, False, np.nan], dtype=np.dtype(\"O\")),\n... \"d\": pd.Series([\"h\", \"i\", np.nan], dtype=np.dtype(\"O\")),\n... \"e\": pd.Series([10, np.nan, 20], dtype=np.dtype(\"float\")),\n... \"f\": pd.Series([np.nan, 100.5, 200], dtype=np.dtype(\"float\")),\n... }\n... )\n\nStart with a DataFrame with default dtypes.\n\n>>> df\n a b c d e f\n0 1 x True h 10.0 NaN\n1 2 y False i NaN 100.5\n2 3 z NaN NaN 20.0 200.0\n\n>>> df.dtypes\na int32\nb object\nc object\nd object\ne float64\nf float64\ndtype: object\n\nConvert the DataFrame to use best possible dtypes.\n\n>>> dfn = df.convert_dtypes()\n>>> dfn\n a b c d e f\n0 1 x True h 10 \n1 2 y False i 100.5\n2 3 z 20 200.0\n\n>>> dfn.dtypes\na Int32\nb string[python]\nc boolean\nd string[python]\ne Int64\nf Float64\ndtype: object\n\nStart with a Series of strings and missing data represented by ``np.nan``.\n\n>>> s = pd.Series([\"a\", \"b\", np.nan])\n>>> s\n0 a\n1 b\n2 NaN\ndtype: object\n\nObtain a Series with dtype ``StringDtype``.\n\n>>> s.convert_dtypes()\n0 a\n1 b\n2 \ndtype: string\n"}, "kind": 2, "label": "convert_dtypes", "sortText": " 30"}, {"detail": "bound method DataFrame.copy(deep: bool | None = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Make a copy of this object's indices and data.\n\nWhen ``deep=True`` (default), a new object will be created with a\ncopy of the calling object's data and indices. Modifications to\nthe data or indices of the copy will not be reflected in the\noriginal object (see notes below).\n\nWhen ``deep=False``, a new object will be created without copying\nthe calling object's data or index (only references to the data\nand index are copied). Any changes to the data of the original\nwill be reflected in the shallow copy (and vice versa).\n\n.. note::\n The ``deep=False`` behaviour as described above will change\n in pandas 3.0. `Copy-on-Write\n `__\n will be enabled by default, which means that the \"shallow\" copy\n is that is returned with ``deep=False`` will still avoid making\n an eager copy, but changes to the data of the original will *no*\n longer be reflected in the shallow copy (or vice versa). Instead,\n it makes use of a lazy (deferred) copy mechanism that will copy\n the data only when any changes to the original or shallow copy is\n made.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nParameters\n----------\ndeep : bool, default True\n Make a deep copy, including a copy of the data and the indices.\n With ``deep=False`` neither the indices nor the data are copied.\n\nReturns\n-------\nSeries or DataFrame\n Object type matches caller.\n\nNotes\n-----\nWhen ``deep=True``, data is copied but actual Python objects\nwill not be copied recursively, only the reference to the object.\nThis is in contrast to `copy.deepcopy` in the Standard Library,\nwhich recursively copies object data (see examples below).\n\nWhile ``Index`` objects are copied when ``deep=True``, the underlying\nnumpy array is not copied for performance reasons. Since ``Index`` is\nimmutable, the underlying data can be safely shared and a copy\nis not needed.\n\nSince pandas is not thread safe, see the\n:ref:`gotchas ` when copying in a threading\nenvironment.\n\nWhen ``copy_on_write`` in pandas config is set to ``True``, the\n``copy_on_write`` config takes effect even when ``deep=False``.\nThis means that any changes to the copied data would make a new copy\nof the data upon write (and vice versa). Changes made to either the\noriginal or copied variable would not be reflected in the counterpart.\nSee :ref:`Copy_on_Write ` for more information.\n\nExamples\n--------\n>>> s = pd.Series([1, 2], index=[\"a\", \"b\"])\n>>> s\na 1\nb 2\ndtype: int64\n\n>>> s_copy = s.copy()\n>>> s_copy\na 1\nb 2\ndtype: int64\n\n**Shallow copy versus default (deep) copy:**\n\n>>> s = pd.Series([1, 2], index=[\"a\", \"b\"])\n>>> deep = s.copy()\n>>> shallow = s.copy(deep=False)\n\nShallow copy shares data and index with original.\n\n>>> s is shallow\nFalse\n>>> s.values is shallow.values and s.index is shallow.index\nTrue\n\nDeep copy has own copy of data and index.\n\n>>> s is deep\nFalse\n>>> s.values is deep.values or s.index is deep.index\nFalse\n\nUpdates to the data shared by shallow copy and original is reflected\nin both (NOTE: this will no longer be true for pandas >= 3.0);\ndeep copy remains unchanged.\n\n>>> s.iloc[0] = 3\n>>> shallow.iloc[1] = 4\n>>> s\na 3\nb 4\ndtype: int64\n>>> shallow\na 3\nb 4\ndtype: int64\n>>> deep\na 1\nb 2\ndtype: int64\n\nNote that when copying an object containing Python objects, a deep copy\nwill copy the data, but will not do so recursively. Updating a nested\ndata object will be reflected in the deep copy.\n\n>>> s = pd.Series([[1, 2], [3, 4]])\n>>> deep = s.copy()\n>>> s[0][0] = 10\n>>> s\n0 [10, 2]\n1 [3, 4]\ndtype: object\n>>> deep\n0 [10, 2]\n1 [3, 4]\ndtype: object\n\n**Copy-on-Write is set to true**, the shallow copy is not modified\nwhen the original data is changed:\n\n>>> with pd.option_context(\"mode.copy_on_write\", True):\n... s = pd.Series([1, 2], index=[\"a\", \"b\"])\n... copy = s.copy(deep=False)\n... s.iloc[0] = 100\n... s\na 100\nb 2\ndtype: int64\n>>> copy\na 1\nb 2\ndtype: int64\n"}, "kind": 2, "label": "copy", "sortText": " 31"}, {"detail": "bound method DataFrame.corr(method: Literal[\"pearson\", \"kendall\", \"spearman\"] | ((ndarray[_AnyShape, dtype[Any]], ndarray[_AnyShape, dtype[Any]], /) -> float) = \"pearson\", min_periods: int = 1, numeric_only: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Compute pairwise correlation of columns, excluding NA/null values.\n\nParameters\n----------\nmethod : {'pearson', 'kendall', 'spearman'} or callable\n Method of correlation:\n\n * pearson : standard correlation coefficient\n * kendall : Kendall Tau correlation coefficient\n * spearman : Spearman rank correlation\n * callable: callable with input two 1d ndarrays\n and returning a float. Note that the returned matrix from corr\n will have 1 along the diagonals and will be symmetric\n regardless of the callable's behavior.\nmin_periods : int, optional\n Minimum number of observations required per pair of columns\n to have a valid result. Currently only available for Pearson\n and Spearman correlation.\nnumeric_only : bool, default False\n Include only `float`, `int` or `boolean` data.\n\n .. versionadded:: 1.5.0\n\n .. versionchanged:: 2.0.0\n The default value of ``numeric_only`` is now ``False``.\n\nReturns\n-------\nDataFrame\n Correlation matrix.\n\nSee Also\n--------\nDataFrame.corrwith : Compute pairwise correlation with another\n DataFrame or Series.\nSeries.corr : Compute the correlation between two Series.\n\nNotes\n-----\nPearson, Kendall and Spearman correlation are currently computed using pairwise complete observations.\n\n* `Pearson correlation coefficient `_\n* `Kendall rank correlation coefficient `_\n* `Spearman's rank correlation coefficient `_\n\nExamples\n--------\n>>> def histogram_intersection(a, b):\n... v = np.minimum(a, b).sum().round(decimals=1)\n... return v\n>>> df = pd.DataFrame([(.2, .3), (.0, .6), (.6, .0), (.2, .1)],\n... columns=['dogs', 'cats'])\n>>> df.corr(method=histogram_intersection)\n dogs cats\ndogs 1.0 0.3\ncats 0.3 1.0\n\n>>> df = pd.DataFrame([(1, 1), (2, np.nan), (np.nan, 3), (4, 4)],\n... columns=['dogs', 'cats'])\n>>> df.corr(min_periods=3)\n dogs cats\ndogs 1.0 NaN\ncats NaN 1.0\n"}, "kind": 2, "label": "corr", "sortText": " 32"}, {"detail": "bound method DataFrame.corrwith(other: DataFrame | Series, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, drop: bool = False, method: Literal[\"pearson\", \"kendall\", \"spearman\"] | ((ndarray[_AnyShape, dtype[Any]], ndarray[_AnyShape, dtype[Any]], /) -> float) = \"pearson\", numeric_only: bool = False) -> Series", "documentation": {"kind": "plaintext", "value": "Compute pairwise correlation.\n\nPairwise correlation is computed between rows or columns of\nDataFrame with rows or columns of Series or DataFrame. DataFrames\nare first aligned along both axes before computing the\ncorrelations.\n\nParameters\n----------\nother : DataFrame, Series\n Object with which to compute correlations.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to use. 0 or 'index' to compute row-wise, 1 or 'columns' for\n column-wise.\ndrop : bool, default False\n Drop missing indices from result.\nmethod : {'pearson', 'kendall', 'spearman'} or callable\n Method of correlation:\n\n * pearson : standard correlation coefficient\n * kendall : Kendall Tau correlation coefficient\n * spearman : Spearman rank correlation\n * callable: callable with input two 1d ndarrays\n and returning a float.\n\nnumeric_only : bool, default False\n Include only `float`, `int` or `boolean` data.\n\n .. versionadded:: 1.5.0\n\n .. versionchanged:: 2.0.0\n The default value of ``numeric_only`` is now ``False``.\n\nReturns\n-------\nSeries\n Pairwise correlations.\n\nSee Also\n--------\nDataFrame.corr : Compute pairwise correlation of columns.\n\nExamples\n--------\n>>> index = [\"a\", \"b\", \"c\", \"d\", \"e\"]\n>>> columns = [\"one\", \"two\", \"three\", \"four\"]\n>>> df1 = pd.DataFrame(np.arange(20).reshape(5, 4), index=index, columns=columns)\n>>> df2 = pd.DataFrame(np.arange(16).reshape(4, 4), index=index[:4], columns=columns)\n>>> df1.corrwith(df2)\none 1.0\ntwo 1.0\nthree 1.0\nfour 1.0\ndtype: float64\n\n>>> df2.corrwith(df1, axis=1)\na 1.0\nb 1.0\nc 1.0\nd 1.0\ne NaN\ndtype: float64\n"}, "kind": 2, "label": "corrwith", "sortText": " 33"}, {"detail": "bound method DataFrame.count(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, numeric_only: bool = False) -> Unknown", "documentation": {"kind": "plaintext", "value": "Count non-NA cells for each column or row.\n\nThe values `None`, `NaN`, `NaT`, ``pandas.NA`` are considered NA.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n If 0 or 'index' counts are generated for each column.\n If 1 or 'columns' counts are generated for each row.\nnumeric_only : bool, default False\n Include only `float`, `int` or `boolean` data.\n\nReturns\n-------\nSeries\n For each column/row the number of non-NA/null entries.\n\nSee Also\n--------\nSeries.count: Number of non-NA elements in a Series.\nDataFrame.value_counts: Count unique combinations of columns.\nDataFrame.shape: Number of DataFrame rows and columns (including NA\n elements).\nDataFrame.isna: Boolean same-sized DataFrame showing places of NA\n elements.\n\nExamples\n--------\nConstructing DataFrame from a dictionary:\n\n>>> df = pd.DataFrame({\"Person\":\n... [\"John\", \"Myla\", \"Lewis\", \"John\", \"Myla\"],\n... \"Age\": [24., np.nan, 21., 33, 26],\n... \"Single\": [False, True, True, True, False]})\n>>> df\n Person Age Single\n0 John 24.0 False\n1 Myla NaN True\n2 Lewis 21.0 True\n3 John 33.0 True\n4 Myla 26.0 False\n\nNotice the uncounted NA values:\n\n>>> df.count()\nPerson 5\nAge 4\nSingle 5\ndtype: int64\n\nCounts for each **row**:\n\n>>> df.count(axis='columns')\n0 3\n1 2\n2 3\n3 3\n4 3\ndtype: int64\n"}, "kind": 2, "label": "count", "sortText": " 34"}, {"detail": "bound method DataFrame.cov(min_periods: int | None = None, ddof: int | None = 1, numeric_only: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Compute pairwise covariance of columns, excluding NA/null values.\n\nCompute the pairwise covariance among the series of a DataFrame.\nThe returned data frame is the `covariance matrix\n`__ of the columns\nof the DataFrame.\n\nBoth NA and null values are automatically excluded from the\ncalculation. (See the note below about bias from missing values.)\nA threshold can be set for the minimum number of\nobservations for each value created. Comparisons with observations\nbelow this threshold will be returned as ``NaN``.\n\nThis method is generally used for the analysis of time series data to\nunderstand the relationship between different measures\nacross time.\n\nParameters\n----------\nmin_periods : int, optional\n Minimum number of observations required per pair of columns\n to have a valid result.\n\nddof : int, default 1\n Delta degrees of freedom. The divisor used in calculations\n is ``N - ddof``, where ``N`` represents the number of elements.\n This argument is applicable only when no ``nan`` is in the dataframe.\n\nnumeric_only : bool, default False\n Include only `float`, `int` or `boolean` data.\n\n .. versionadded:: 1.5.0\n\n .. versionchanged:: 2.0.0\n The default value of ``numeric_only`` is now ``False``.\n\nReturns\n-------\nDataFrame\n The covariance matrix of the series of the DataFrame.\n\nSee Also\n--------\nSeries.cov : Compute covariance with another Series.\ncore.window.ewm.ExponentialMovingWindow.cov : Exponential weighted sample\n covariance.\ncore.window.expanding.Expanding.cov : Expanding sample covariance.\ncore.window.rolling.Rolling.cov : Rolling sample covariance.\n\nNotes\n-----\nReturns the covariance matrix of the DataFrame's time series.\nThe covariance is normalized by N-ddof.\n\nFor DataFrames that have Series that are missing data (assuming that\ndata is `missing at random\n`__)\nthe returned covariance matrix will be an unbiased estimate\nof the variance and covariance between the member Series.\n\nHowever, for many applications this estimate may not be acceptable\nbecause the estimate covariance matrix is not guaranteed to be positive\nsemi-definite. This could lead to estimate correlations having\nabsolute values which are greater than one, and/or a non-invertible\ncovariance matrix. See `Estimation of covariance matrices\n`__ for more details.\n\nExamples\n--------\n>>> df = pd.DataFrame([(1, 2), (0, 3), (2, 0), (1, 1)],\n... columns=['dogs', 'cats'])\n>>> df.cov()\n dogs cats\ndogs 0.666667 -1.000000\ncats -1.000000 1.666667\n\n>>> np.random.seed(42)\n>>> df = pd.DataFrame(np.random.randn(1000, 5),\n... columns=['a', 'b', 'c', 'd', 'e'])\n>>> df.cov()\n a b c d e\na 0.998438 -0.020161 0.059277 -0.008943 0.014144\nb -0.020161 1.059352 -0.008543 -0.024738 0.009826\nc 0.059277 -0.008543 1.010670 -0.001486 -0.000271\nd -0.008943 -0.024738 -0.001486 0.921297 -0.013692\ne 0.014144 0.009826 -0.000271 -0.013692 0.977795\n\n**Minimum number of periods**\n\nThis method also supports an optional ``min_periods`` keyword\nthat specifies the required minimum number of non-NA observations for\neach column pair in order to have a valid result:\n\n>>> np.random.seed(42)\n>>> df = pd.DataFrame(np.random.randn(20, 3),\n... columns=['a', 'b', 'c'])\n>>> df.loc[df.index[:5], 'a'] = np.nan\n>>> df.loc[df.index[5:10], 'b'] = np.nan\n>>> df.cov(min_periods=12)\n a b c\na 0.316741 NaN -0.150812\nb NaN 1.248003 0.191417\nc -0.150812 0.191417 0.895202\n"}, "kind": 2, "label": "cov", "sortText": " 35"}, {"detail": "bound method DataFrame.cummax(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, skipna: bool = True, *args, **kwargs) -> Unknown", "kind": 2, "label": "cummax", "sortText": " 36"}, {"detail": "bound method DataFrame.cummin(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, skipna: bool = True, *args, **kwargs) -> Unknown", "kind": 2, "label": "cummin", "sortText": " 37"}, {"detail": "bound method DataFrame.cumprod(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, skipna: bool = True, *args, **kwargs) -> Unknown", "kind": 2, "label": "cumprod", "sortText": " 38"}, {"detail": "bound method DataFrame.cumsum(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, skipna: bool = True, *args, **kwargs) -> Unknown", "kind": 2, "label": "cumsum", "sortText": " 39"}, {"detail": "bound method DataFrame.describe(percentiles=None, include=None, exclude=None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Generate descriptive statistics.\n\nDescriptive statistics include those that summarize the central\ntendency, dispersion and shape of a\ndataset's distribution, excluding ``NaN`` values.\n\nAnalyzes both numeric and object series, as well\nas ``DataFrame`` column sets of mixed data types. The output\nwill vary depending on what is provided. Refer to the notes\nbelow for more detail.\n\nParameters\n----------\npercentiles : list-like of numbers, optional\n The percentiles to include in the output. All should\n fall between 0 and 1. The default is\n ``[.25, .5, .75]``, which returns the 25th, 50th, and\n 75th percentiles.\ninclude : 'all', list-like of dtypes or None (default), optional\n A white list of data types to include in the result. Ignored\n for ``Series``. Here are the options:\n\n - 'all' : All columns of the input will be included in the output.\n - A list-like of dtypes : Limits the results to the\n provided data types.\n To limit the result to numeric types submit\n ``numpy.number``. To limit it instead to object columns submit\n the ``numpy.object`` data type. Strings\n can also be used in the style of\n ``select_dtypes`` (e.g. ``df.describe(include=['O'])``). To\n select pandas categorical columns, use ``'category'``\n - None (default) : The result will include all numeric columns.\nexclude : list-like of dtypes or None (default), optional,\n A black list of data types to omit from the result. Ignored\n for ``Series``. Here are the options:\n\n - A list-like of dtypes : Excludes the provided data types\n from the result. To exclude numeric types submit\n ``numpy.number``. To exclude object columns submit the data\n type ``numpy.object``. Strings can also be used in the style of\n ``select_dtypes`` (e.g. ``df.describe(exclude=['O'])``). To\n exclude pandas categorical columns, use ``'category'``\n - None (default) : The result will exclude nothing.\n\nReturns\n-------\nSeries or DataFrame\n Summary statistics of the Series or Dataframe provided.\n\nSee Also\n--------\nDataFrame.count: Count number of non-NA/null observations.\nDataFrame.max: Maximum of the values in the object.\nDataFrame.min: Minimum of the values in the object.\nDataFrame.mean: Mean of the values.\nDataFrame.std: Standard deviation of the observations.\nDataFrame.select_dtypes: Subset of a DataFrame including/excluding\n columns based on their dtype.\n\nNotes\n-----\nFor numeric data, the result's index will include ``count``,\n``mean``, ``std``, ``min``, ``max`` as well as lower, ``50`` and\nupper percentiles. By default the lower percentile is ``25`` and the\nupper percentile is ``75``. The ``50`` percentile is the\nsame as the median.\n\nFor object data (e.g. strings or timestamps), the result's index\nwill include ``count``, ``unique``, ``top``, and ``freq``. The ``top``\nis the most common value. The ``freq`` is the most common value's\nfrequency. Timestamps also include the ``first`` and ``last`` items.\n\nIf multiple object values have the highest count, then the\n``count`` and ``top`` results will be arbitrarily chosen from\namong those with the highest count.\n\nFor mixed data types provided via a ``DataFrame``, the default is to\nreturn only an analysis of numeric columns. If the dataframe consists\nonly of object and categorical data without any numeric columns, the\ndefault is to return an analysis of both the object and categorical\ncolumns. If ``include='all'`` is provided as an option, the result\nwill include a union of attributes of each type.\n\nThe `include` and `exclude` parameters can be used to limit\nwhich columns in a ``DataFrame`` are analyzed for the output.\nThe parameters are ignored when analyzing a ``Series``.\n\nExamples\n--------\nDescribing a numeric ``Series``.\n\n>>> s = pd.Series([1, 2, 3])\n>>> s.describe()\ncount 3.0\nmean 2.0\nstd 1.0\nmin 1.0\n25% 1.5\n50% 2.0\n75% 2.5\nmax 3.0\ndtype: float64\n\nDescribing a categorical ``Series``.\n\n>>> s = pd.Series(['a', 'a', 'b', 'c'])\n>>> s.describe()\ncount 4\nunique 3\ntop a\nfreq 2\ndtype: object\n\nDescribing a timestamp ``Series``.\n\n>>> s = pd.Series([\n... np.datetime64(\"2000-01-01\"),\n... np.datetime64(\"2010-01-01\"),\n... np.datetime64(\"2010-01-01\")\n... ])\n>>> s.describe()\ncount 3\nmean 2006-09-01 08:00:00\nmin 2000-01-01 00:00:00\n25% 2004-12-31 12:00:00\n50% 2010-01-01 00:00:00\n75% 2010-01-01 00:00:00\nmax 2010-01-01 00:00:00\ndtype: object\n\nDescribing a ``DataFrame``. By default only numeric fields\nare returned.\n\n>>> df = pd.DataFrame({'categorical': pd.Categorical(['d', 'e', 'f']),\n... 'numeric': [1, 2, 3],\n... 'object': ['a', 'b', 'c']\n... })\n>>> df.describe()\n numeric\ncount 3.0\nmean 2.0\nstd 1.0\nmin 1.0\n25% 1.5\n50% 2.0\n75% 2.5\nmax 3.0\n\nDescribing all columns of a ``DataFrame`` regardless of data type.\n\n>>> df.describe(include='all') # doctest: +SKIP\n categorical numeric object\ncount 3 3.0 3\nunique 3 NaN 3\ntop f NaN a\nfreq 1 NaN 1\nmean NaN 2.0 NaN\nstd NaN 1.0 NaN\nmin NaN 1.0 NaN\n25% NaN 1.5 NaN\n50% NaN 2.0 NaN\n75% NaN 2.5 NaN\nmax NaN 3.0 NaN\n\nDescribing a column from a ``DataFrame`` by accessing it as\nan attribute.\n\n>>> df.numeric.describe()\ncount 3.0\nmean 2.0\nstd 1.0\nmin 1.0\n25% 1.5\n50% 2.0\n75% 2.5\nmax 3.0\nName: numeric, dtype: float64\n\nIncluding only numeric columns in a ``DataFrame`` description.\n\n>>> df.describe(include=[np.number])\n numeric\ncount 3.0\nmean 2.0\nstd 1.0\nmin 1.0\n25% 1.5\n50% 2.0\n75% 2.5\nmax 3.0\n\nIncluding only string columns in a ``DataFrame`` description.\n\n>>> df.describe(include=[object]) # doctest: +SKIP\n object\ncount 3\nunique 3\ntop a\nfreq 1\n\nIncluding only categorical columns from a ``DataFrame`` description.\n\n>>> df.describe(include=['category'])\n categorical\ncount 3\nunique 3\ntop d\nfreq 1\n\nExcluding numeric columns from a ``DataFrame`` description.\n\n>>> df.describe(exclude=[np.number]) # doctest: +SKIP\n categorical object\ncount 3 3\nunique 3 3\ntop f a\nfreq 1 1\n\nExcluding object columns from a ``DataFrame`` description.\n\n>>> df.describe(exclude=[object]) # doctest: +SKIP\n categorical numeric\ncount 3 3.0\nunique 3 NaN\ntop f NaN\nfreq 1 NaN\nmean NaN 2.0\nstd NaN 1.0\nmin NaN 1.0\n25% NaN 1.5\n50% NaN 2.0\n75% NaN 2.5\nmax NaN 3.0\n"}, "kind": 2, "label": "describe", "sortText": " 40"}, {"detail": "bound method DataFrame.diff(periods: int = 1, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> DataFrame", "kind": 2, "label": "diff", "sortText": " 41"}, {"detail": "(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 3, "label": "div", "sortText": " 42"}, {"detail": "(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 3, "label": "divide", "sortText": " 43"}, {"detail": "Overload[(other: Series) -> Series, (other: DataFrame | Index | ExtensionArray | ndarray[_AnyShape, dtype[Any]]) -> DataFrame]", "documentation": {"kind": "plaintext", "value": "Compute the matrix multiplication between the DataFrame and other.\n\nThis method computes the matrix product between the DataFrame and the\nvalues of an other Series, DataFrame or a numpy array.\n\nIt can also be called using ``self @ other``.\n\nParameters\n----------\nother : Series, DataFrame or array-like\n The other object to compute the matrix product with.\n\nReturns\n-------\nSeries or DataFrame\n If other is a Series, return the matrix product between self and\n other as a Series. If other is a DataFrame or a numpy.array, return\n the matrix product of self and other in a DataFrame of a np.array.\n\nSee Also\n--------\nSeries.dot: Similar method for Series.\n\nNotes\n-----\nThe dimensions of DataFrame and other must be compatible in order to\ncompute the matrix multiplication. In addition, the column names of\nDataFrame and the index of other must contain the same values, as they\nwill be aligned prior to the multiplication.\n\nThe dot method for Series computes the inner product, instead of the\nmatrix product here.\n\nExamples\n--------\nHere we multiply a DataFrame with a Series.\n\n>>> df = pd.DataFrame([[0, 1, -2, -1], [1, 1, 1, 1]])\n>>> s = pd.Series([1, 1, 2, 1])\n>>> df.dot(s)\n0 -4\n1 5\ndtype: int64\n\nHere we multiply a DataFrame with another DataFrame.\n\n>>> other = pd.DataFrame([[0, 1], [1, 2], [-1, -1], [2, 0]])\n>>> df.dot(other)\n 0 1\n0 1 4\n1 2 2\n\nNote that the dot method give the same result as @\n\n>>> df @ other\n 0 1\n0 1 4\n1 2 2\n\nThe dot method works also if other is an np.array.\n\n>>> arr = np.array([[0, 1], [1, 2], [-1, -1], [2, 0]])\n>>> df.dot(arr)\n 0 1\n0 1 4\n1 2 2\n\nNote how shuffling of the objects does not change the result.\n\n>>> s2 = s.reindex([1, 0, 2, 3])\n>>> df.dot(s2)\n0 -4\n1 5\ndtype: int64\n"}, "kind": 2, "label": "dot", "sortText": " 44"}, {"detail": "Overload[(labels: Hashable | Sequence[Hashable] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., index: Hashable | Sequence[Hashable] = ..., columns: Hashable | Sequence[Hashable] = ..., level: Hashable = ..., inplace: Literal[True], errors: Literal[\"ignore\", \"raise\"] = ...) -> None, (labels: Hashable | Sequence[Hashable] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., index: Hashable | Sequence[Hashable] = ..., columns: Hashable | Sequence[Hashable] = ..., level: Hashable = ..., inplace: Literal[False] = ..., errors: Literal[\"ignore\", \"raise\"] = ...) -> DataFrame, (labels: Hashable | Sequence[Hashable] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., index: Hashable | Sequence[Hashable] = ..., columns: Hashable | Sequence[Hashable] = ..., level: Hashable = ..., inplace: bool = ..., errors: Literal[\"ignore\", \"raise\"] = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Drop specified labels from rows or columns.\n\nRemove rows or columns by specifying label names and corresponding\naxis, or by directly specifying index or column names. When using a\nmulti-index, labels on different levels can be removed by specifying\nthe level. See the :ref:`user guide `\nfor more information about the now unused levels.\n\nParameters\n----------\nlabels : single label or list-like\n Index or column labels to drop. A tuple will be used as a single\n label and not treated as a list-like.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Whether to drop labels from the index (0 or 'index') or\n columns (1 or 'columns').\nindex : single label or list-like\n Alternative to specifying axis (``labels, axis=0``\n is equivalent to ``index=labels``).\ncolumns : single label or list-like\n Alternative to specifying axis (``labels, axis=1``\n is equivalent to ``columns=labels``).\nlevel : int or level name, optional\n For MultiIndex, level from which the labels will be removed.\ninplace : bool, default False\n If False, return a copy. Otherwise, do operation\n in place and return None.\nerrors : {'ignore', 'raise'}, default 'raise'\n If 'ignore', suppress error and only existing labels are\n dropped.\n\nReturns\n-------\nDataFrame or None\n Returns DataFrame or None DataFrame with the specified\n index or column labels removed or None if inplace=True.\n\nRaises\n------\nKeyError\n If any of the labels is not found in the selected axis.\n\nSee Also\n--------\nDataFrame.loc : Label-location based indexer for selection by label.\nDataFrame.dropna : Return DataFrame with labels on given axis omitted\n where (all or any) data are missing.\nDataFrame.drop_duplicates : Return DataFrame with duplicate rows\n removed, optionally only considering certain columns.\nSeries.drop : Return Series with specified index labels removed.\n\nExamples\n--------\n>>> df = pd.DataFrame(np.arange(12).reshape(3, 4),\n... columns=['A', 'B', 'C', 'D'])\n>>> df\n A B C D\n0 0 1 2 3\n1 4 5 6 7\n2 8 9 10 11\n\nDrop columns\n\n>>> df.drop(['B', 'C'], axis=1)\n A D\n0 0 3\n1 4 7\n2 8 11\n\n>>> df.drop(columns=['B', 'C'])\n A D\n0 0 3\n1 4 7\n2 8 11\n\nDrop a row by index\n\n>>> df.drop([0, 1])\n A B C D\n2 8 9 10 11\n\nDrop columns and/or rows of MultiIndex DataFrame\n\n>>> midx = pd.MultiIndex(levels=[['llama', 'cow', 'falcon'],\n... ['speed', 'weight', 'length']],\n... codes=[[0, 0, 0, 1, 1, 1, 2, 2, 2],\n... [0, 1, 2, 0, 1, 2, 0, 1, 2]])\n>>> df = pd.DataFrame(index=midx, columns=['big', 'small'],\n... data=[[45, 30], [200, 100], [1.5, 1], [30, 20],\n... [250, 150], [1.5, 0.8], [320, 250],\n... [1, 0.8], [0.3, 0.2]])\n>>> df\n big small\nllama speed 45.0 30.0\n weight 200.0 100.0\n length 1.5 1.0\ncow speed 30.0 20.0\n weight 250.0 150.0\n length 1.5 0.8\nfalcon speed 320.0 250.0\n weight 1.0 0.8\n length 0.3 0.2\n\nDrop a specific index combination from the MultiIndex\nDataFrame, i.e., drop the combination ``'falcon'`` and\n``'weight'``, which deletes only the corresponding row\n\n>>> df.drop(index=('falcon', 'weight'))\n big small\nllama speed 45.0 30.0\n weight 200.0 100.0\n length 1.5 1.0\ncow speed 30.0 20.0\n weight 250.0 150.0\n length 1.5 0.8\nfalcon speed 320.0 250.0\n length 0.3 0.2\n\n>>> df.drop(index='cow', columns='small')\n big\nllama speed 45.0\n weight 200.0\n length 1.5\nfalcon speed 320.0\n weight 1.0\n length 0.3\n\n>>> df.drop(index='length', level=1)\n big small\nllama speed 45.0 30.0\n weight 200.0 100.0\ncow speed 30.0 20.0\n weight 250.0 150.0\nfalcon speed 320.0 250.0\n weight 1.0 0.8\n"}, "kind": 2, "label": "drop", "sortText": " 45"}, {"detail": "Overload[(subset: Hashable | Sequence[Hashable] = ..., *, keep: Literal[\"first\", \"last\", False] = ..., inplace: Literal[True], ignore_index: bool = ...) -> None, (subset: Hashable | Sequence[Hashable] = ..., *, keep: Literal[\"first\", \"last\", False] = ..., inplace: Literal[False] = ..., ignore_index: bool = ...) -> DataFrame, (subset: Hashable | Sequence[Hashable] = ..., *, keep: Literal[\"first\", \"last\", False] = ..., inplace: bool = ..., ignore_index: bool = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Return DataFrame with duplicate rows removed.\n\nConsidering certain columns is optional. Indexes, including time indexes\nare ignored.\n\nParameters\n----------\nsubset : column label or sequence of labels, optional\n Only consider certain columns for identifying duplicates, by\n default use all of the columns.\nkeep : {'first', 'last', ``False``}, default 'first'\n Determines which duplicates (if any) to keep.\n\n - 'first' : Drop duplicates except for the first occurrence.\n - 'last' : Drop duplicates except for the last occurrence.\n - ``False`` : Drop all duplicates.\n\ninplace : bool, default ``False``\n Whether to modify the DataFrame rather than creating a new one.\nignore_index : bool, default ``False``\n If ``True``, the resulting axis will be labeled 0, 1, \u2026, n - 1.\n\nReturns\n-------\nDataFrame or None\n DataFrame with duplicates removed or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.value_counts: Count unique combinations of columns.\n\nExamples\n--------\nConsider dataset containing ramen rating.\n\n>>> df = pd.DataFrame({\n... 'brand': ['Yum Yum', 'Yum Yum', 'Indomie', 'Indomie', 'Indomie'],\n... 'style': ['cup', 'cup', 'cup', 'pack', 'pack'],\n... 'rating': [4, 4, 3.5, 15, 5]\n... })\n>>> df\n brand style rating\n0 Yum Yum cup 4.0\n1 Yum Yum cup 4.0\n2 Indomie cup 3.5\n3 Indomie pack 15.0\n4 Indomie pack 5.0\n\nBy default, it removes duplicate rows based on all columns.\n\n>>> df.drop_duplicates()\n brand style rating\n0 Yum Yum cup 4.0\n2 Indomie cup 3.5\n3 Indomie pack 15.0\n4 Indomie pack 5.0\n\nTo remove duplicates on specific column(s), use ``subset``.\n\n>>> df.drop_duplicates(subset=['brand'])\n brand style rating\n0 Yum Yum cup 4.0\n2 Indomie cup 3.5\n\nTo remove duplicates and keep last occurrences, use ``keep``.\n\n>>> df.drop_duplicates(subset=['brand', 'style'], keep='last')\n brand style rating\n1 Yum Yum cup 4.0\n2 Indomie cup 3.5\n4 Indomie pack 5.0\n"}, "kind": 2, "label": "drop_duplicates", "sortText": " 46"}, {"detail": "bound method DataFrame.droplevel(level: Hashable | Sequence[Hashable], axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return {klass} with requested index / column level(s) removed.\n\nParameters\n----------\nlevel : int, str, or list-like\n If a string is given, must be the name of a level\n If list-like, elements must be names or positional indexes\n of levels.\n\naxis : {{0 or 'index', 1 or 'columns'}}, default 0\n Axis along which the level(s) is removed:\n\n * 0 or 'index': remove level(s) in column.\n * 1 or 'columns': remove level(s) in row.\n\n For `Series` this parameter is unused and defaults to 0.\n\nReturns\n-------\n{klass}\n {klass} with requested index / column level(s) removed.\n\nExamples\n--------\n>>> df = pd.DataFrame([\n... [1, 2, 3, 4],\n... [5, 6, 7, 8],\n... [9, 10, 11, 12]\n... ]).set_index([0, 1]).rename_axis(['a', 'b'])\n\n>>> df.columns = pd.MultiIndex.from_tuples([\n... ('c', 'e'), ('d', 'f')\n... ], names=['level_1', 'level_2'])\n\n>>> df\nlevel_1 c d\nlevel_2 e f\na b\n1 2 3 4\n5 6 7 8\n9 10 11 12\n\n>>> df.droplevel('a')\nlevel_1 c d\nlevel_2 e f\nb\n2 3 4\n6 7 8\n10 11 12\n\n>>> df.droplevel('level_2', axis=1)\nlevel_1 c d\na b\n1 2 3 4\n5 6 7 8\n9 10 11 12\n"}, "kind": 2, "label": "droplevel", "sortText": " 47"}, {"detail": "Overload[(*, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., how: Literal[\"any\", \"all\"] | _NoDefault = ..., thresh: int | _NoDefault = ..., subset: Hashable | Sequence[Hashable] = ..., inplace: Literal[False] = ..., ignore_index: bool = ...) -> DataFrame, (*, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., how: Literal[\"any\", \"all\"] | _NoDefault = ..., thresh: int | _NoDefault = ..., subset: Hashable | Sequence[Hashable] = ..., inplace: Literal[True], ignore_index: bool = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Remove missing values.\n\nSee the :ref:`User Guide ` for more on which values are\nconsidered missing, and how to work with missing data.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Determine if rows or columns which contain missing values are\n removed.\n\n * 0, or 'index' : Drop rows which contain missing values.\n * 1, or 'columns' : Drop columns which contain missing value.\n\n Only a single axis is allowed.\n\nhow : {'any', 'all'}, default 'any'\n Determine if row or column is removed from DataFrame, when we have\n at least one NA or all NA.\n\n * 'any' : If any NA values are present, drop that row or column.\n * 'all' : If all values are NA, drop that row or column.\n\nthresh : int, optional\n Require that many non-NA values. Cannot be combined with how.\nsubset : column label or sequence of labels, optional\n Labels along other axis to consider, e.g. if you are dropping rows\n these would be a list of columns to include.\ninplace : bool, default False\n Whether to modify the DataFrame rather than creating a new one.\nignore_index : bool, default ``False``\n If ``True``, the resulting axis will be labeled 0, 1, \u2026, n - 1.\n\n .. versionadded:: 2.0.0\n\nReturns\n-------\nDataFrame or None\n DataFrame with NA entries dropped from it or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.isna: Indicate missing values.\nDataFrame.notna : Indicate existing (non-missing) values.\nDataFrame.fillna : Replace missing values.\nSeries.dropna : Drop missing values.\nIndex.dropna : Drop missing indices.\n\nExamples\n--------\n>>> df = pd.DataFrame({\"name\": ['Alfred', 'Batman', 'Catwoman'],\n... \"toy\": [np.nan, 'Batmobile', 'Bullwhip'],\n... \"born\": [pd.NaT, pd.Timestamp(\"1940-04-25\"),\n... pd.NaT]})\n>>> df\n name toy born\n0 Alfred NaN NaT\n1 Batman Batmobile 1940-04-25\n2 Catwoman Bullwhip NaT\n\nDrop the rows where at least one element is missing.\n\n>>> df.dropna()\n name toy born\n1 Batman Batmobile 1940-04-25\n\nDrop the columns where at least one element is missing.\n\n>>> df.dropna(axis='columns')\n name\n0 Alfred\n1 Batman\n2 Catwoman\n\nDrop the rows where all elements are missing.\n\n>>> df.dropna(how='all')\n name toy born\n0 Alfred NaN NaT\n1 Batman Batmobile 1940-04-25\n2 Catwoman Bullwhip NaT\n\nKeep only the rows with at least 2 non-NA values.\n\n>>> df.dropna(thresh=2)\n name toy born\n1 Batman Batmobile 1940-04-25\n2 Catwoman Bullwhip NaT\n\nDefine in which columns to look for missing values.\n\n>>> df.dropna(subset=['name', 'toy'])\n name toy born\n1 Batman Batmobile 1940-04-25\n2 Catwoman Bullwhip NaT\n"}, "kind": 2, "label": "dropna", "sortText": " 48"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "dtype", "sortText": " 49"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "dtypes", "sortText": " 50"}, {"detail": "bound method DataFrame.duplicated(subset: Hashable | Sequence[Hashable] = None, keep: Literal[\"first\", \"last\", False] = \"first\") -> Series", "documentation": {"kind": "plaintext", "value": "Return boolean Series denoting duplicate rows.\n\nConsidering certain columns is optional.\n\nParameters\n----------\nsubset : column label or sequence of labels, optional\n Only consider certain columns for identifying duplicates, by\n default use all of the columns.\nkeep : {'first', 'last', False}, default 'first'\n Determines which duplicates (if any) to mark.\n\n - ``first`` : Mark duplicates as ``True`` except for the first occurrence.\n - ``last`` : Mark duplicates as ``True`` except for the last occurrence.\n - False : Mark all duplicates as ``True``.\n\nReturns\n-------\nSeries\n Boolean series for each duplicated rows.\n\nSee Also\n--------\nIndex.duplicated : Equivalent method on index.\nSeries.duplicated : Equivalent method on Series.\nSeries.drop_duplicates : Remove duplicate values from Series.\nDataFrame.drop_duplicates : Remove duplicate values from DataFrame.\n\nExamples\n--------\nConsider dataset containing ramen rating.\n\n>>> df = pd.DataFrame({\n... 'brand': ['Yum Yum', 'Yum Yum', 'Indomie', 'Indomie', 'Indomie'],\n... 'style': ['cup', 'cup', 'cup', 'pack', 'pack'],\n... 'rating': [4, 4, 3.5, 15, 5]\n... })\n>>> df\n brand style rating\n0 Yum Yum cup 4.0\n1 Yum Yum cup 4.0\n2 Indomie cup 3.5\n3 Indomie pack 15.0\n4 Indomie pack 5.0\n\nBy default, for each set of duplicated values, the first occurrence\nis set on False and all others on True.\n\n>>> df.duplicated()\n0 False\n1 True\n2 False\n3 False\n4 False\ndtype: bool\n\nBy using 'last', the last occurrence of each set of duplicated values\nis set on False and all others on True.\n\n>>> df.duplicated(keep='last')\n0 True\n1 False\n2 False\n3 False\n4 False\ndtype: bool\n\nBy setting ``keep`` on False, all duplicates are True.\n\n>>> df.duplicated(keep=False)\n0 True\n1 True\n2 False\n3 False\n4 False\ndtype: bool\n\nTo find duplicates on specific column(s), use ``subset``.\n\n>>> df.duplicated(subset=['brand'])\n0 False\n1 True\n2 False\n3 True\n4 True\ndtype: bool\n"}, "kind": 2, "label": "duplicated", "sortText": " 51"}, {"detail": "bool", "documentation": {"kind": "plaintext", "value": "Returns True when the argument is true, False otherwise.\nThe builtins True and False are the only two instances of the class bool.\nThe class bool is a subclass of the class int, and cannot be subclassed.\n"}, "kind": 22, "label": "empty", "sortText": " 52"}, {"detail": "bound method DataFrame.eq(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "eq", "sortText": " 53"}, {"detail": "bound method DataFrame.equals(other: object) -> bool", "documentation": {"kind": "plaintext", "value": "Test whether two objects contain the same elements.\n\nThis function allows two Series or DataFrames to be compared against\neach other to see if they have the same shape and elements. NaNs in\nthe same location are considered equal.\n\nThe row/column index do not need to have the same type, as long\nas the values are considered equal. Corresponding columns and\nindex must be of the same dtype.\n\nParameters\n----------\nother : Series or DataFrame\n The other Series or DataFrame to be compared with the first.\n\nReturns\n-------\nbool\n True if all elements are the same in both objects, False\n otherwise.\n\nSee Also\n--------\nSeries.eq : Compare two Series objects of the same length\n and return a Series where each element is True if the element\n in each Series is equal, False otherwise.\nDataFrame.eq : Compare two DataFrame objects of the same shape and\n return a DataFrame where each element is True if the respective\n element in each DataFrame is equal, False otherwise.\ntesting.assert_series_equal : Raises an AssertionError if left and\n right are not equal. Provides an easy interface to ignore\n inequality in dtypes, indexes and precision among others.\ntesting.assert_frame_equal : Like assert_series_equal, but targets\n DataFrames.\nnumpy.array_equal : Return True if two arrays have the same shape\n and elements, False otherwise.\n\nExamples\n--------\n>>> df = pd.DataFrame({1: [10], 2: [20]})\n>>> df\n 1 2\n0 10 20\n\nDataFrames df and exactly_equal have the same types and values for\ntheir elements and column labels, which will return True.\n\n>>> exactly_equal = pd.DataFrame({1: [10], 2: [20]})\n>>> exactly_equal\n 1 2\n0 10 20\n>>> df.equals(exactly_equal)\nTrue\n\nDataFrames df and different_column_type have the same element\ntypes and values, but have different types for the column labels,\nwhich will still return True.\n\n>>> different_column_type = pd.DataFrame({1.0: [10], 2.0: [20]})\n>>> different_column_type\n 1.0 2.0\n0 10 20\n>>> df.equals(different_column_type)\nTrue\n\nDataFrames df and different_data_type have different types for the\nsame values for their elements, and will return False even though\ntheir column labels are the same values and types.\n\n>>> different_data_type = pd.DataFrame({1: [10.0], 2: [20.0]})\n>>> different_data_type\n 1 2\n0 10.0 20.0\n>>> df.equals(different_data_type)\nFalse\n"}, "kind": 2, "label": "equals", "sortText": " 54"}, {"detail": "Overload[(expr: str, *, inplace: Literal[False] = ..., **kwargs) -> Any, (expr: str, *, inplace: Literal[True], **kwargs) -> None]", "documentation": {"kind": "plaintext", "value": "Evaluate a string describing operations on DataFrame columns.\n\nOperates on columns only, not specific rows or elements. This allows\n`eval` to run arbitrary code, which can make you vulnerable to code\ninjection if you pass user input to this function.\n\nParameters\n----------\nexpr : str\n The expression string to evaluate.\ninplace : bool, default False\n If the expression contains an assignment, whether to perform the\n operation inplace and mutate the existing DataFrame. Otherwise,\n a new DataFrame is returned.\n**kwargs\n See the documentation for :func:`eval` for complete details\n on the keyword arguments accepted by\n :meth:`~pandas.DataFrame.query`.\n\nReturns\n-------\nndarray, scalar, pandas object, or None\n The result of the evaluation or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.query : Evaluates a boolean expression to query the columns\n of a frame.\nDataFrame.assign : Can evaluate an expression or function to create new\n values for a column.\neval : Evaluate a Python expression as a string using various\n backends.\n\nNotes\n-----\nFor more details see the API documentation for :func:`~eval`.\nFor detailed examples see :ref:`enhancing performance with eval\n`.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': range(1, 6), 'B': range(10, 0, -2)})\n>>> df\n A B\n0 1 10\n1 2 8\n2 3 6\n3 4 4\n4 5 2\n>>> df.eval('A + B')\n0 11\n1 10\n2 9\n3 8\n4 7\ndtype: int64\n\nAssignment is allowed though by default the original DataFrame is not\nmodified.\n\n>>> df.eval('C = A + B')\n A B C\n0 1 10 11\n1 2 8 10\n2 3 6 9\n3 4 4 8\n4 5 2 7\n>>> df\n A B\n0 1 10\n1 2 8\n2 3 6\n3 4 4\n4 5 2\n\nMultiple columns can be assigned to using multi-line expressions:\n\n>>> df.eval(\n... '''\n... C = A + B\n... D = A - B\n... '''\n... )\n A B C D\n0 1 10 11 -9\n1 2 8 10 -6\n2 3 6 9 -3\n3 4 4 8 0\n4 5 2 7 3\n"}, "kind": 2, "label": "eval", "sortText": " 55"}, {"detail": "bound method DataFrame.ewm(com: float | None = None, span: float | None = None, halflife: float | timedelta | timedelta64[Any] | ... omitted 3 union elements = None, alpha: float | None = None, min_periods: int | None = 0, adjust: bool = True, ignore_na: bool = False, axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., times: ndarray[_AnyShape, dtype[Any]] | DataFrame | Series | None = None, method: Literal[\"single\", \"table\"] = \"single\") -> ExponentialMovingWindow", "kind": 2, "label": "ewm", "sortText": " 56"}, {"detail": "bound method DataFrame.expanding(min_periods: int = 1, axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., method: Literal[\"single\", \"table\"] = \"single\") -> Expanding", "kind": 2, "label": "expanding", "sortText": " 57"}, {"detail": "bound method DataFrame.explode(column: Hashable | Sequence[Hashable], ignore_index: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Transform each element of a list-like to a row, replicating index values.\n\nParameters\n----------\ncolumn : IndexLabel\n Column(s) to explode.\n For multiple columns, specify a non-empty list with each element\n be str or tuple, and all specified columns their list-like data\n on same row of the frame must have matching length.\n\n .. versionadded:: 1.3.0\n Multi-column explode\n\nignore_index : bool, default False\n If True, the resulting index will be labeled 0, 1, \u2026, n - 1.\n\nReturns\n-------\nDataFrame\n Exploded lists to rows of the subset columns;\n index will be duplicated for these rows.\n\nRaises\n------\nValueError :\n * If columns of the frame are not unique.\n * If specified columns to explode is empty list.\n * If specified columns to explode have not matching count of\n elements rowwise in the frame.\n\nSee Also\n--------\nDataFrame.unstack : Pivot a level of the (necessarily hierarchical)\n index labels.\nDataFrame.melt : Unpivot a DataFrame from wide format to long format.\nSeries.explode : Explode a DataFrame from list-like columns to long format.\n\nNotes\n-----\nThis routine will explode list-likes including lists, tuples, sets,\nSeries, and np.ndarray. The result dtype of the subset rows will\nbe object. Scalars will be returned unchanged, and empty list-likes will\nresult in a np.nan for that row. In addition, the ordering of rows in the\noutput will be non-deterministic when exploding sets.\n\nReference :ref:`the user guide ` for more examples.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [[0, 1, 2], 'foo', [], [3, 4]],\n... 'B': 1,\n... 'C': [['a', 'b', 'c'], np.nan, [], ['d', 'e']]})\n>>> df\n A B C\n0 [0, 1, 2] 1 [a, b, c]\n1 foo 1 NaN\n2 [] 1 []\n3 [3, 4] 1 [d, e]\n\nSingle-column explode.\n\n>>> df.explode('A')\n A B C\n0 0 1 [a, b, c]\n0 1 1 [a, b, c]\n0 2 1 [a, b, c]\n1 foo 1 NaN\n2 NaN 1 []\n3 3 1 [d, e]\n3 4 1 [d, e]\n\nMulti-column explode.\n\n>>> df.explode(list('AC'))\n A B C\n0 0 1 a\n0 1 1 b\n0 2 1 c\n1 foo 1 NaN\n2 NaN 1 NaN\n3 3 1 d\n3 4 1 e\n"}, "kind": 2, "label": "explode", "sortText": " 58"}, {"detail": "Overload[(*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: Literal[False] = ..., limit: None | int = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame, (*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: Literal[True], limit: None | int = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> None, (*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: bool = ..., limit: None | int = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Fill NA/NaN values by propagating the last valid observation to next valid.\n\nParameters\n----------\naxis : {axes_single_arg}\n Axis along which to fill missing values. For `Series`\n this parameter is unused and defaults to 0.\ninplace : bool, default False\n If True, fill in-place. Note: this will modify any\n other views on this object (e.g., a no-copy slice for a column in a\n DataFrame).\nlimit : int, default None\n If method is specified, this is the maximum number of consecutive\n NaN values to forward/backward fill. In other words, if there is\n a gap with more than this number of consecutive NaNs, it will only\n be partially filled. If method is not specified, this is the\n maximum number of entries along the entire axis where NaNs will be\n filled. Must be greater than 0 if not None.\nlimit_area : {{`None`, 'inside', 'outside'}}, default None\n If limit is specified, consecutive NaNs will be filled with this\n restriction.\n\n * ``None``: No fill restriction.\n * 'inside': Only fill NaNs surrounded by valid values\n (interpolate).\n * 'outside': Only fill NaNs outside valid values (extrapolate).\n\n .. versionadded:: 2.2.0\n\ndowncast : dict, default is None\n A dict of item->dtype of what to downcast if possible,\n or the string 'infer' which will try to downcast to an appropriate\n equal type (e.g. float64 to int64 if possible).\n\n .. deprecated:: 2.2.0\n\nReturns\n-------\n{klass} or None\n Object with missing values filled or None if ``inplace=True``.\n\nExamples\n--------\n>>> df = pd.DataFrame([[np.nan, 2, np.nan, 0],\n... [3, 4, np.nan, 1],\n... [np.nan, np.nan, np.nan, np.nan],\n... [np.nan, 3, np.nan, 4]],\n... columns=list(\"ABCD\"))\n>>> df\n A B C D\n0 NaN 2.0 NaN 0.0\n1 3.0 4.0 NaN 1.0\n2 NaN NaN NaN NaN\n3 NaN 3.0 NaN 4.0\n\n>>> df.ffill()\n A B C D\n0 NaN 2.0 NaN 0.0\n1 3.0 4.0 NaN 1.0\n2 3.0 4.0 NaN 1.0\n3 3.0 3.0 NaN 4.0\n\n>>> ser = pd.Series([1, np.nan, 2, 3])\n>>> ser.ffill()\n0 1.0\n1 1.0\n2 2.0\n3 3.0\ndtype: float64\n"}, "kind": 2, "label": "ffill", "sortText": " 59"}, {"detail": "Overload[(value: Hashable | Mapping[Unknown, Unknown] | Series | DataFrame = ..., *, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: Literal[False] = ..., limit: int | None = ..., downcast: dict[Unknown, Unknown] | None = ...) -> DataFrame, (value: Hashable | Mapping[Unknown, Unknown] | Series | DataFrame = ..., *, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: Literal[True], limit: int | None = ..., downcast: dict[Unknown, Unknown] | None = ...) -> None, (value: Hashable | Mapping[Unknown, Unknown] | Series | DataFrame = ..., *, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: bool = ..., limit: int | None = ..., downcast: dict[Unknown, Unknown] | None = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Fill NA/NaN values using the specified method.\n\nParameters\n----------\nvalue : scalar, dict, Series, or DataFrame\n Value to use to fill holes (e.g. 0), alternately a\n dict/Series/DataFrame of values specifying which value to use for\n each index (for a Series) or column (for a DataFrame). Values not\n in the dict/Series/DataFrame will not be filled. This value cannot\n be a list.\nmethod : {{'backfill', 'bfill', 'ffill', None}}, default None\n Method to use for filling holes in reindexed Series:\n\n * ffill: propagate last valid observation forward to next valid.\n * backfill / bfill: use next valid observation to fill gap.\n\n .. deprecated:: 2.1.0\n Use ffill or bfill instead.\n\naxis : {axes_single_arg}\n Axis along which to fill missing values. For `Series`\n this parameter is unused and defaults to 0.\ninplace : bool, default False\n If True, fill in-place. Note: this will modify any\n other views on this object (e.g., a no-copy slice for a column in a\n DataFrame).\nlimit : int, default None\n If method is specified, this is the maximum number of consecutive\n NaN values to forward/backward fill. In other words, if there is\n a gap with more than this number of consecutive NaNs, it will only\n be partially filled. If method is not specified, this is the\n maximum number of entries along the entire axis where NaNs will be\n filled. Must be greater than 0 if not None.\ndowncast : dict, default is None\n A dict of item->dtype of what to downcast if possible,\n or the string 'infer' which will try to downcast to an appropriate\n equal type (e.g. float64 to int64 if possible).\n\n .. deprecated:: 2.2.0\n\nReturns\n-------\n{klass} or None\n Object with missing values filled or None if ``inplace=True``.\n\nSee Also\n--------\nffill : Fill values by propagating the last valid observation to next valid.\nbfill : Fill values by using the next valid observation to fill the gap.\ninterpolate : Fill NaN values using interpolation.\nreindex : Conform object to new index.\nasfreq : Convert TimeSeries to specified frequency.\n\nExamples\n--------\n>>> df = pd.DataFrame([[np.nan, 2, np.nan, 0],\n... [3, 4, np.nan, 1],\n... [np.nan, np.nan, np.nan, np.nan],\n... [np.nan, 3, np.nan, 4]],\n... columns=list(\"ABCD\"))\n>>> df\n A B C D\n0 NaN 2.0 NaN 0.0\n1 3.0 4.0 NaN 1.0\n2 NaN NaN NaN NaN\n3 NaN 3.0 NaN 4.0\n\nReplace all NaN elements with 0s.\n\n>>> df.fillna(0)\n A B C D\n0 0.0 2.0 0.0 0.0\n1 3.0 4.0 0.0 1.0\n2 0.0 0.0 0.0 0.0\n3 0.0 3.0 0.0 4.0\n\nReplace all NaN elements in column 'A', 'B', 'C', and 'D', with 0, 1,\n2, and 3 respectively.\n\n>>> values = {{\"A\": 0, \"B\": 1, \"C\": 2, \"D\": 3}}\n>>> df.fillna(value=values)\n A B C D\n0 0.0 2.0 2.0 0.0\n1 3.0 4.0 2.0 1.0\n2 0.0 1.0 2.0 3.0\n3 0.0 3.0 2.0 4.0\n\nOnly replace the first NaN element.\n\n>>> df.fillna(value=values, limit=1)\n A B C D\n0 0.0 2.0 2.0 0.0\n1 3.0 4.0 NaN 1.0\n2 NaN 1.0 NaN 3.0\n3 NaN 3.0 NaN 4.0\n\nWhen filling using a DataFrame, replacement happens along\nthe same column names and same indices\n\n>>> df2 = pd.DataFrame(np.zeros((4, 4)), columns=list(\"ABCE\"))\n>>> df.fillna(df2)\n A B C D\n0 0.0 2.0 0.0 0.0\n1 3.0 4.0 0.0 1.0\n2 0.0 0.0 0.0 NaN\n3 0.0 3.0 0.0 4.0\n\nNote that column D is not affected since it is not present in df2.\n"}, "kind": 2, "label": "fillna", "sortText": " 60"}, {"detail": "bound method DataFrame.filter(items=None, like: str | None = None, regex: str | None = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Subset the dataframe rows or columns according to the specified index labels.\n\nNote that this routine does not filter a dataframe on its\ncontents. The filter is applied to the labels of the index.\n\nParameters\n----------\nitems : list-like\n Keep labels from axis which are in items.\nlike : str\n Keep labels from axis for which \"like in label == True\".\nregex : str (regular expression)\n Keep labels from axis for which re.search(regex, label) == True.\naxis : {0 or 'index', 1 or 'columns', None}, default None\n The axis to filter on, expressed either as an index (int)\n or axis name (str). By default this is the info axis, 'columns' for\n DataFrame. For `Series` this parameter is unused and defaults to `None`.\n\nReturns\n-------\nsame type as input object\n\nSee Also\n--------\nDataFrame.loc : Access a group of rows and columns\n by label(s) or a boolean array.\n\nNotes\n-----\nThe ``items``, ``like``, and ``regex`` parameters are\nenforced to be mutually exclusive.\n\n``axis`` defaults to the info axis that is used when indexing\nwith ``[]``.\n\nExamples\n--------\n>>> df = pd.DataFrame(np.array(([1, 2, 3], [4, 5, 6])),\n... index=['mouse', 'rabbit'],\n... columns=['one', 'two', 'three'])\n>>> df\n one two three\nmouse 1 2 3\nrabbit 4 5 6\n\n>>> # select columns by name\n>>> df.filter(items=['one', 'three'])\n one three\nmouse 1 3\nrabbit 4 6\n\n>>> # select columns by regular expression\n>>> df.filter(regex='e$', axis=1)\n one three\nmouse 1 3\nrabbit 4 6\n\n>>> # select rows containing 'bbi'\n>>> df.filter(like='bbi', axis=0)\n one two three\nrabbit 4 5 6\n"}, "kind": 2, "label": "filter", "sortText": " 61"}, {"detail": "bound method DataFrame.first(offset) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Select initial periods of time series data based on a date offset.\n\n.. deprecated:: 2.1\n :meth:`.first` is deprecated and will be removed in a future version.\n Please create a mask and filter using `.loc` instead.\n\nFor a DataFrame with a sorted DatetimeIndex, this function can\nselect the first few rows based on a date offset.\n\nParameters\n----------\noffset : str, DateOffset or dateutil.relativedelta\n The offset length of the data that will be selected. For instance,\n '1ME' will display all the rows having their index within the first month.\n\nReturns\n-------\nSeries or DataFrame\n A subset of the caller.\n\nRaises\n------\nTypeError\n If the index is not a :class:`DatetimeIndex`\n\nSee Also\n--------\nlast : Select final periods of time series based on a date offset.\nat_time : Select values at a particular time of the day.\nbetween_time : Select values between particular times of the day.\n\nExamples\n--------\n>>> i = pd.date_range('2018-04-09', periods=4, freq='2D')\n>>> ts = pd.DataFrame({'A': [1, 2, 3, 4]}, index=i)\n>>> ts\n A\n2018-04-09 1\n2018-04-11 2\n2018-04-13 3\n2018-04-15 4\n\nGet the rows for the first 3 days:\n\n>>> ts.first('3D')\n A\n2018-04-09 1\n2018-04-11 2\n\nNotice the data for 3 first calendar days were returned, not the first\n3 days observed in the dataset, and therefore data for 2018-04-13 was\nnot returned.\n"}, "kind": 2, "label": "first", "sortText": " 62"}, {"detail": "bound method DataFrame.first_valid_index() -> Hashable", "documentation": {"kind": "plaintext", "value": "Return index for {position} non-NA value or None, if no non-NA value is found.\n\nReturns\n-------\ntype of index\n\nExamples\n--------\nFor Series:\n\n>>> s = pd.Series([None, 3, 4])\n>>> s.first_valid_index()\n1\n>>> s.last_valid_index()\n2\n\n>>> s = pd.Series([None, None])\n>>> print(s.first_valid_index())\nNone\n>>> print(s.last_valid_index())\nNone\n\nIf all elements in Series are NA/null, returns None.\n\n>>> s = pd.Series()\n>>> print(s.first_valid_index())\nNone\n>>> print(s.last_valid_index())\nNone\n\nIf Series is empty, returns None.\n\nFor DataFrame:\n\n>>> df = pd.DataFrame({{'A': [None, None, 2], 'B': [None, 3, 4]}})\n>>> df\n A B\n0 NaN NaN\n1 NaN 3.0\n2 2.0 4.0\n>>> df.first_valid_index()\n1\n>>> df.last_valid_index()\n2\n\n>>> df = pd.DataFrame({{'A': [None, None, None], 'B': [None, None, None]}})\n>>> df\n A B\n0 None None\n1 None None\n2 None None\n>>> print(df.first_valid_index())\nNone\n>>> print(df.last_valid_index())\nNone\n\nIf all elements in DataFrame are NA/null, returns None.\n\n>>> df = pd.DataFrame()\n>>> df\nEmpty DataFrame\nColumns: []\nIndex: []\n>>> print(df.first_valid_index())\nNone\n>>> print(df.last_valid_index())\nNone\n\nIf DataFrame is empty, returns None.\n"}, "kind": 2, "label": "first_valid_index", "sortText": " 63"}, {"detail": "Flags", "documentation": {"kind": "plaintext", "value": "Flags that apply to pandas objects.\n\nParameters\n----------\nobj : Series or DataFrame\n The object these flags are associated with.\nallows_duplicate_labels : bool, default True\n Whether to allow duplicate labels in this object. By default,\n duplicate labels are permitted. Setting this to ``False`` will\n cause an :class:`errors.DuplicateLabelError` to be raised when\n `index` (or columns for DataFrame) is not unique, or any\n subsequent operation on introduces duplicates.\n See :ref:`duplicates.disallow` for more.\n\n .. warning::\n\n This is an experimental feature. Currently, many methods fail to\n propagate the ``allows_duplicate_labels`` value. In future versions\n it is expected that every method taking or returning one or more\n DataFrame or Series objects will propagate ``allows_duplicate_labels``.\n\nExamples\n--------\nAttributes can be set in two ways:\n\n>>> df = pd.DataFrame()\n>>> df.flags\n\n>>> df.flags.allows_duplicate_labels = False\n>>> df.flags\n\n\n>>> df.flags['allows_duplicate_labels'] = True\n>>> df.flags\n\n"}, "kind": 22, "label": "flags", "sortText": " 64"}, {"detail": "bound method DataFrame.floordiv(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "floordiv", "sortText": " 65"}, {"detail": "bound method type[DataFrame].from_dict(data: dict[Unknown, Unknown], orient: Literal[\"columns\", \"index\", \"tight\"] = \"columns\", dtype: ExtensionDtype | str | dtype[Any] | type | None = None, columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Construct DataFrame from dict of array-like or dicts.\n\nCreates DataFrame object from dictionary by columns or by index\nallowing dtype specification.\n\nParameters\n----------\ndata : dict\n Of the form {field : array-like} or {field : dict}.\norient : {'columns', 'index', 'tight'}, default 'columns'\n The \"orientation\" of the data. If the keys of the passed dict\n should be the columns of the resulting DataFrame, pass 'columns'\n (default). Otherwise if the keys should be rows, pass 'index'.\n If 'tight', assume a dict with keys ['index', 'columns', 'data',\n 'index_names', 'column_names'].\n\n .. versionadded:: 1.4.0\n 'tight' as an allowed value for the ``orient`` argument\n\ndtype : dtype, default None\n Data type to force after DataFrame construction, otherwise infer.\ncolumns : list, default None\n Column labels to use when ``orient='index'``. Raises a ValueError\n if used with ``orient='columns'`` or ``orient='tight'``.\n\nReturns\n-------\nDataFrame\n\nSee Also\n--------\nDataFrame.from_records : DataFrame from structured ndarray, sequence\n of tuples or dicts, or DataFrame.\nDataFrame : DataFrame object creation using constructor.\nDataFrame.to_dict : Convert the DataFrame to a dictionary.\n\nExamples\n--------\nBy default the keys of the dict become the DataFrame columns:\n\n>>> data = {'col_1': [3, 2, 1, 0], 'col_2': ['a', 'b', 'c', 'd']}\n>>> pd.DataFrame.from_dict(data)\n col_1 col_2\n0 3 a\n1 2 b\n2 1 c\n3 0 d\n\nSpecify ``orient='index'`` to create the DataFrame using dictionary\nkeys as rows:\n\n>>> data = {'row_1': [3, 2, 1, 0], 'row_2': ['a', 'b', 'c', 'd']}\n>>> pd.DataFrame.from_dict(data, orient='index')\n 0 1 2 3\nrow_1 3 2 1 0\nrow_2 a b c d\n\nWhen using the 'index' orientation, the column names can be\nspecified manually:\n\n>>> pd.DataFrame.from_dict(data, orient='index',\n... columns=['A', 'B', 'C', 'D'])\n A B C D\nrow_1 3 2 1 0\nrow_2 a b c d\n\nSpecify ``orient='tight'`` to create the DataFrame using a 'tight'\nformat:\n\n>>> data = {'index': [('a', 'b'), ('a', 'c')],\n... 'columns': [('x', 1), ('y', 2)],\n... 'data': [[1, 3], [2, 4]],\n... 'index_names': ['n1', 'n2'],\n... 'column_names': ['z1', 'z2']}\n>>> pd.DataFrame.from_dict(data, orient='tight')\nz1 x y\nz2 1 2\nn1 n2\na b 1 3\n c 2 4\n"}, "kind": 2, "label": "from_dict", "sortText": " 66"}, {"detail": "bound method type[DataFrame].from_records(data, index=None, exclude=None, columns=None, coerce_float: bool = False, nrows: int | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Convert structured or record ndarray to DataFrame.\n\nCreates a DataFrame object from a structured ndarray, sequence of\ntuples or dicts, or DataFrame.\n\nParameters\n----------\ndata : structured ndarray, sequence of tuples or dicts, or DataFrame\n Structured input data.\n\n .. deprecated:: 2.1.0\n Passing a DataFrame is deprecated.\nindex : str, list of fields, array-like\n Field of array to use as the index, alternately a specific set of\n input labels to use.\nexclude : sequence, default None\n Columns or fields to exclude.\ncolumns : sequence, default None\n Column names to use. If the passed data do not have names\n associated with them, this argument provides names for the\n columns. Otherwise this argument indicates the order of the columns\n in the result (any names not found in the data will become all-NA\n columns).\ncoerce_float : bool, default False\n Attempt to convert values of non-string, non-numeric objects (like\n decimal.Decimal) to floating point, useful for SQL result sets.\nnrows : int, default None\n Number of rows to read if data is an iterator.\n\nReturns\n-------\nDataFrame\n\nSee Also\n--------\nDataFrame.from_dict : DataFrame from dict of array-like or dicts.\nDataFrame : DataFrame object creation using constructor.\n\nExamples\n--------\nData can be provided as a structured ndarray:\n\n>>> data = np.array([(3, 'a'), (2, 'b'), (1, 'c'), (0, 'd')],\n... dtype=[('col_1', 'i4'), ('col_2', 'U1')])\n>>> pd.DataFrame.from_records(data)\n col_1 col_2\n0 3 a\n1 2 b\n2 1 c\n3 0 d\n\nData can be provided as a list of dicts:\n\n>>> data = [{'col_1': 3, 'col_2': 'a'},\n... {'col_1': 2, 'col_2': 'b'},\n... {'col_1': 1, 'col_2': 'c'},\n... {'col_1': 0, 'col_2': 'd'}]\n>>> pd.DataFrame.from_records(data)\n col_1 col_2\n0 3 a\n1 2 b\n2 1 c\n3 0 d\n\nData can be provided as a list of tuples with corresponding columns:\n\n>>> data = [(3, 'a'), (2, 'b'), (1, 'c'), (0, 'd')]\n>>> pd.DataFrame.from_records(data, columns=['col_1', 'col_2'])\n col_1 col_2\n0 3 a\n1 2 b\n2 1 c\n3 0 d\n"}, "kind": 2, "label": "from_records", "sortText": " 67"}, {"detail": "bound method DataFrame.ge(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "ge", "sortText": " 68"}, {"detail": "bound method DataFrame.get(key, default=None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Get item from object for given key (ex: DataFrame column).\n\nReturns default value if not found.\n\nParameters\n----------\nkey : object\n\nReturns\n-------\nsame type as items contained in object\n\nExamples\n--------\n>>> df = pd.DataFrame(\n... [\n... [24.3, 75.7, \"high\"],\n... [31, 87.8, \"high\"],\n... [22, 71.6, \"medium\"],\n... [35, 95, \"medium\"],\n... ],\n... columns=[\"temp_celsius\", \"temp_fahrenheit\", \"windspeed\"],\n... index=pd.date_range(start=\"2014-02-12\", end=\"2014-02-15\", freq=\"D\"),\n... )\n\n>>> df\n temp_celsius temp_fahrenheit windspeed\n2014-02-12 24.3 75.7 high\n2014-02-13 31.0 87.8 high\n2014-02-14 22.0 71.6 medium\n2014-02-15 35.0 95.0 medium\n\n>>> df.get([\"temp_celsius\", \"windspeed\"])\n temp_celsius windspeed\n2014-02-12 24.3 high\n2014-02-13 31.0 high\n2014-02-14 22.0 medium\n2014-02-15 35.0 medium\n\n>>> ser = df['windspeed']\n>>> ser.get('2014-02-13')\n'high'\n\nIf the key isn't found, the default value will be used.\n\n>>> df.get([\"temp_celsius\", \"temp_kelvin\"], default=\"default_value\")\n'default_value'\n\n>>> ser.get('2014-02-10', '[unknown]')\n'[unknown]'\n"}, "kind": 2, "label": "get", "sortText": " 69"}, {"detail": "bound method DataFrame.groupby(by=None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., level: Hashable | Sequence[Hashable] = None, as_index: bool = True, sort: bool = True, group_keys: bool = True, observed: bool | _NoDefault = ..., dropna: bool = True) -> DataFrameGroupBy", "kind": 2, "label": "groupby", "sortText": " 70"}, {"detail": "bound method DataFrame.gt(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "gt", "sortText": " 71"}, {"detail": "bound method DataFrame.head(n: int = 5) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the first `n` rows.\n\nThis function returns the first `n` rows for the object based\non position. It is useful for quickly testing if your object\nhas the right type of data in it.\n\nFor negative values of `n`, this function returns all rows except\nthe last `|n|` rows, equivalent to ``df[:n]``.\n\nIf n is larger than the number of rows, this function returns all rows.\n\nParameters\n----------\nn : int, default 5\n Number of rows to select.\n\nReturns\n-------\nsame type as caller\n The first `n` rows of the caller object.\n\nSee Also\n--------\nDataFrame.tail: Returns the last `n` rows.\n\nExamples\n--------\n>>> df = pd.DataFrame({'animal': ['alligator', 'bee', 'falcon', 'lion',\n... 'monkey', 'parrot', 'shark', 'whale', 'zebra']})\n>>> df\n animal\n0 alligator\n1 bee\n2 falcon\n3 lion\n4 monkey\n5 parrot\n6 shark\n7 whale\n8 zebra\n\nViewing the first 5 lines\n\n>>> df.head()\n animal\n0 alligator\n1 bee\n2 falcon\n3 lion\n4 monkey\n\nViewing the first `n` lines (three in this case)\n\n>>> df.head(3)\n animal\n0 alligator\n1 bee\n2 falcon\n\nFor negative values of `n`\n\n>>> df.head(-3)\n animal\n0 alligator\n1 bee\n2 falcon\n3 lion\n4 monkey\n5 parrot\n"}, "kind": 2, "label": "head", "sortText": " 72"}, {"detail": "(column: Hashable | Sequence[Hashable] = None, by=None, grid: bool = True, xlabelsize: int | None = None, xrot: float | None = None, ylabelsize: int | None = None, yrot: float | None = None, ax=None, sharex: bool = False, sharey: bool = False, figsize: tuple[int, int] | None = None, layout: tuple[int, int] | None = None, bins: int | Sequence[int] = 10, backend: str | None = None, legend: bool = False, **kwargs) -> Unknown", "kind": 3, "label": "hist", "sortText": " 73"}, {"detail": "_iAtIndexer", "kind": 22, "label": "iat", "sortText": " 74"}, {"detail": "bound method DataFrame.idxmax(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, skipna: bool = True, numeric_only: bool = False) -> Series", "kind": 2, "label": "idxmax", "sortText": " 75"}, {"detail": "bound method DataFrame.idxmin(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, skipna: bool = True, numeric_only: bool = False) -> Series", "kind": 2, "label": "idxmin", "sortText": " 76"}, {"detail": "_iLocIndexer", "kind": 22, "label": "iloc", "sortText": " 77"}, {"detail": "Index", "documentation": {"kind": "plaintext", "value": "Immutable sequence used for indexing and alignment.\n\nThe basic object storing axis labels for all pandas objects.\n\n.. versionchanged:: 2.0.0\n\n Index can hold all numpy numeric dtypes (except float16). Previously only\n int64/uint64/float64 dtypes were accepted.\n\nParameters\n----------\ndata : array-like (1-dimensional)\ndtype : str, numpy.dtype, or ExtensionDtype, optional\n Data type for the output Index. If not specified, this will be\n inferred from `data`.\n See the :ref:`user guide ` for more usages.\ncopy : bool, default False\n Copy input data.\nname : object\n Name to be stored in the index.\ntupleize_cols : bool (default: True)\n When True, attempt to create a MultiIndex if possible.\n\nSee Also\n--------\nRangeIndex : Index implementing a monotonic integer range.\nCategoricalIndex : Index of :class:`Categorical` s.\nMultiIndex : A multi-level, or hierarchical Index.\nIntervalIndex : An Index of :class:`Interval` s.\nDatetimeIndex : Index of datetime64 data.\nTimedeltaIndex : Index of timedelta64 data.\nPeriodIndex : Index of Period data.\n\nNotes\n-----\nAn Index instance can **only** contain hashable objects.\nAn Index instance *can not* hold numpy float16 dtype.\n\nExamples\n--------\n>>> pd.Index([1, 2, 3])\nIndex([1, 2, 3], dtype='int64')\n\n>>> pd.Index(list('abc'))\nIndex(['a', 'b', 'c'], dtype='object')\n\n>>> pd.Index([1, 2, 3], dtype=\"uint8\")\nIndex([1, 2, 3], dtype='uint8')\n"}, "kind": 22, "label": "index", "sortText": " 78"}, {"detail": "bound method DataFrame.infer_objects(copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Attempt to infer better dtypes for object columns.\n\nAttempts soft conversion of object-dtyped\ncolumns, leaving non-object and unconvertible\ncolumns unchanged. The inference rules are the\nsame as during normal Series/DataFrame construction.\n\nParameters\n----------\ncopy : bool, default True\n Whether to make a copy for non-object or non-inferable columns\n or Series.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\nsame type as input object\n\nSee Also\n--------\nto_datetime : Convert argument to datetime.\nto_timedelta : Convert argument to timedelta.\nto_numeric : Convert argument to numeric type.\nconvert_dtypes : Convert argument to best possible dtype.\n\nExamples\n--------\n>>> df = pd.DataFrame({\"A\": [\"a\", 1, 2, 3]})\n>>> df = df.iloc[1:]\n>>> df\n A\n1 1\n2 2\n3 3\n\n>>> df.dtypes\nA object\ndtype: object\n\n>>> df.infer_objects().dtypes\nA int64\ndtype: object\n"}, "kind": 2, "label": "infer_objects", "sortText": " 79"}, {"detail": "bound method DataFrame.info(verbose: bool | None = None, buf: WriteBuffer[str] | None = None, max_cols: int | None = None, memory_usage: bool | str | None = None, show_counts: bool | None = None) -> None", "kind": 2, "label": "info", "sortText": " 80"}, {"detail": "bound method DataFrame.insert(loc: int, column: Hashable, value: str | float | Period | ... omitted 9 union elements, allow_duplicates: bool | _NoDefault = ...) -> None", "documentation": {"kind": "plaintext", "value": "Insert column into DataFrame at specified location.\n\nRaises a ValueError if `column` is already contained in the DataFrame,\nunless `allow_duplicates` is set to True.\n\nParameters\n----------\nloc : int\n Insertion index. Must verify 0 <= loc <= len(columns).\ncolumn : str, number, or hashable object\n Label of the inserted column.\nvalue : Scalar, Series, or array-like\n Content of the inserted column.\nallow_duplicates : bool, optional, default lib.no_default\n Allow duplicate column labels to be created.\n\nSee Also\n--------\nIndex.insert : Insert new item by index.\n\nExamples\n--------\n>>> df = pd.DataFrame({'col1': [1, 2], 'col2': [3, 4]})\n>>> df\n col1 col2\n0 1 3\n1 2 4\n>>> df.insert(1, \"newcol\", [99, 99])\n>>> df\n col1 newcol col2\n0 1 99 3\n1 2 99 4\n>>> df.insert(0, \"col1\", [100, 100], allow_duplicates=True)\n>>> df\n col1 col1 newcol col2\n0 100 1 99 3\n1 100 2 99 4\n\nNotice that pandas uses index alignment in case of `value` from type `Series`:\n\n>>> df.insert(0, \"col0\", pd.Series([5, 6], index=[1, 2]))\n>>> df\n col0 col1 col1 newcol col2\n0 NaN 100 1 99 3\n1 5.0 100 2 99 4\n"}, "kind": 2, "label": "insert", "sortText": " 81"}, {"detail": "Overload[(method: Literal[\"linear\", \"time\", \"index\", \"values\", \"nearest\", ... omitted 13 literals] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., limit: int | None = ..., inplace: Literal[False] = ..., limit_direction: Literal[\"forward\", \"backward\", \"both\"] | None = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: Literal[\"infer\"] | None | _NoDefault = ..., **kwargs) -> DataFrame, (method: Literal[\"linear\", \"time\", \"index\", \"values\", \"nearest\", ... omitted 13 literals] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., limit: int | None = ..., inplace: Literal[True], limit_direction: Literal[\"forward\", \"backward\", \"both\"] | None = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: Literal[\"infer\"] | None | _NoDefault = ..., **kwargs) -> None, (method: Literal[\"linear\", \"time\", \"index\", \"values\", \"nearest\", ... omitted 13 literals] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., limit: int | None = ..., inplace: bool = ..., limit_direction: Literal[\"forward\", \"backward\", \"both\"] | None = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: Literal[\"infer\"] | None | _NoDefault = ..., **kwargs) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Fill NaN values using an interpolation method.\n\nPlease note that only ``method='linear'`` is supported for\nDataFrame/Series with a MultiIndex.\n\nParameters\n----------\nmethod : str, default 'linear'\n Interpolation technique to use. One of:\n\n * 'linear': Ignore the index and treat the values as equally\n spaced. This is the only method supported on MultiIndexes.\n * 'time': Works on daily and higher resolution data to interpolate\n given length of interval.\n * 'index', 'values': use the actual numerical values of the index.\n * 'pad': Fill in NaNs using existing values.\n * 'nearest', 'zero', 'slinear', 'quadratic', 'cubic',\n 'barycentric', 'polynomial': Passed to\n `scipy.interpolate.interp1d`, whereas 'spline' is passed to\n `scipy.interpolate.UnivariateSpline`. These methods use the numerical\n values of the index. Both 'polynomial' and 'spline' require that\n you also specify an `order` (int), e.g.\n ``df.interpolate(method='polynomial', order=5)``. Note that,\n `slinear` method in Pandas refers to the Scipy first order `spline`\n instead of Pandas first order `spline`.\n * 'krogh', 'piecewise_polynomial', 'spline', 'pchip', 'akima',\n 'cubicspline': Wrappers around the SciPy interpolation methods of\n similar names. See `Notes`.\n * 'from_derivatives': Refers to\n `scipy.interpolate.BPoly.from_derivatives`.\n\naxis : {{0 or 'index', 1 or 'columns', None}}, default None\n Axis to interpolate along. For `Series` this parameter is unused\n and defaults to 0.\nlimit : int, optional\n Maximum number of consecutive NaNs to fill. Must be greater than\n 0.\ninplace : bool, default False\n Update the data in place if possible.\nlimit_direction : {{'forward', 'backward', 'both'}}, Optional\n Consecutive NaNs will be filled in this direction.\n\n If limit is specified:\n * If 'method' is 'pad' or 'ffill', 'limit_direction' must be 'forward'.\n * If 'method' is 'backfill' or 'bfill', 'limit_direction' must be\n 'backwards'.\n\n If 'limit' is not specified:\n * If 'method' is 'backfill' or 'bfill', the default is 'backward'\n * else the default is 'forward'\n\n raises ValueError if `limit_direction` is 'forward' or 'both' and\n method is 'backfill' or 'bfill'.\n raises ValueError if `limit_direction` is 'backward' or 'both' and\n method is 'pad' or 'ffill'.\n\nlimit_area : {{`None`, 'inside', 'outside'}}, default None\n If limit is specified, consecutive NaNs will be filled with this\n restriction.\n\n * ``None``: No fill restriction.\n * 'inside': Only fill NaNs surrounded by valid values\n (interpolate).\n * 'outside': Only fill NaNs outside valid values (extrapolate).\n\ndowncast : optional, 'infer' or None, defaults to None\n Downcast dtypes if possible.\n\n .. deprecated:: 2.1.0\n\n``**kwargs`` : optional\n Keyword arguments to pass on to the interpolating function.\n\nReturns\n-------\nSeries or DataFrame or None\n Returns the same object type as the caller, interpolated at\n some or all ``NaN`` values or None if ``inplace=True``.\n\nSee Also\n--------\nfillna : Fill missing values using different methods.\nscipy.interpolate.Akima1DInterpolator : Piecewise cubic polynomials\n (Akima interpolator).\nscipy.interpolate.BPoly.from_derivatives : Piecewise polynomial in the\n Bernstein basis.\nscipy.interpolate.interp1d : Interpolate a 1-D function.\nscipy.interpolate.KroghInterpolator : Interpolate polynomial (Krogh\n interpolator).\nscipy.interpolate.PchipInterpolator : PCHIP 1-d monotonic cubic\n interpolation.\nscipy.interpolate.CubicSpline : Cubic spline data interpolator.\n\nNotes\n-----\nThe 'krogh', 'piecewise_polynomial', 'spline', 'pchip' and 'akima'\nmethods are wrappers around the respective SciPy implementations of\nsimilar names. These use the actual numerical values of the index.\nFor more information on their behavior, see the\n`SciPy documentation\n`__.\n\nExamples\n--------\nFilling in ``NaN`` in a :class:`~pandas.Series` via linear\ninterpolation.\n\n>>> s = pd.Series([0, 1, np.nan, 3])\n>>> s\n0 0.0\n1 1.0\n2 NaN\n3 3.0\ndtype: float64\n>>> s.interpolate()\n0 0.0\n1 1.0\n2 2.0\n3 3.0\ndtype: float64\n\nFilling in ``NaN`` in a Series via polynomial interpolation or splines:\nBoth 'polynomial' and 'spline' methods require that you also specify\nan ``order`` (int).\n\n>>> s = pd.Series([0, 2, np.nan, 8])\n>>> s.interpolate(method='polynomial', order=2)\n0 0.000000\n1 2.000000\n2 4.666667\n3 8.000000\ndtype: float64\n\nFill the DataFrame forward (that is, going down) along each column\nusing linear interpolation.\n\nNote how the last entry in column 'a' is interpolated differently,\nbecause there is no entry after it to use for interpolation.\nNote how the first entry in column 'b' remains ``NaN``, because there\nis no entry before it to use for interpolation.\n\n>>> df = pd.DataFrame([(0.0, np.nan, -1.0, 1.0),\n... (np.nan, 2.0, np.nan, np.nan),\n... (2.0, 3.0, np.nan, 9.0),\n... (np.nan, 4.0, -4.0, 16.0)],\n... columns=list('abcd'))\n>>> df\n a b c d\n0 0.0 NaN -1.0 1.0\n1 NaN 2.0 NaN NaN\n2 2.0 3.0 NaN 9.0\n3 NaN 4.0 -4.0 16.0\n>>> df.interpolate(method='linear', limit_direction='forward', axis=0)\n a b c d\n0 0.0 NaN -1.0 1.0\n1 1.0 2.0 -2.0 5.0\n2 2.0 3.0 -3.0 9.0\n3 2.0 4.0 -4.0 16.0\n\nUsing polynomial interpolation.\n\n>>> df['d'].interpolate(method='polynomial', order=2)\n0 1.0\n1 4.0\n2 9.0\n3 16.0\nName: d, dtype: float64\n"}, "kind": 2, "label": "interpolate", "sortText": " 82"}, {"detail": "bound method DataFrame.isetitem(loc, value) -> None", "documentation": {"kind": "plaintext", "value": "Set the given value in the column with position `loc`.\n\nThis is a positional analogue to ``__setitem__``.\n\nParameters\n----------\nloc : int or sequence of ints\n Index position for the column.\nvalue : scalar or arraylike\n Value(s) for the column.\n\nNotes\n-----\n``frame.isetitem(loc, value)`` is an in-place method as it will\nmodify the DataFrame in place (not returning a new object). In contrast to\n``frame.iloc[:, i] = value`` which will try to update the existing values in\nplace, ``frame.isetitem(loc, value)`` will not update the values of the column\nitself in place, it will instead insert a new array.\n\nIn cases where ``frame.columns`` is unique, this is equivalent to\n``frame[frame.columns[i]] = value``.\n"}, "kind": 2, "label": "isetitem", "sortText": " 83"}, {"detail": "bound method DataFrame.isin(values: Series | DataFrame | Sequence[Unknown] | Mapping[Unknown, Unknown]) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Whether each element in the DataFrame is contained in values.\n\nParameters\n----------\nvalues : iterable, Series, DataFrame or dict\n The result will only be true at a location if all the\n labels match. If `values` is a Series, that's the index. If\n `values` is a dict, the keys must be the column names,\n which must match. If `values` is a DataFrame,\n then both the index and column labels must match.\n\nReturns\n-------\nDataFrame\n DataFrame of booleans showing whether each element in the DataFrame\n is contained in values.\n\nSee Also\n--------\nDataFrame.eq: Equality test for DataFrame.\nSeries.isin: Equivalent method on Series.\nSeries.str.contains: Test if pattern or regex is contained within a\n string of a Series or Index.\n\nExamples\n--------\n>>> df = pd.DataFrame({'num_legs': [2, 4], 'num_wings': [2, 0]},\n... index=['falcon', 'dog'])\n>>> df\n num_legs num_wings\nfalcon 2 2\ndog 4 0\n\nWhen ``values`` is a list check whether every value in the DataFrame\nis present in the list (which animals have 0 or 2 legs or wings)\n\n>>> df.isin([0, 2])\n num_legs num_wings\nfalcon True True\ndog False True\n\nTo check if ``values`` is *not* in the DataFrame, use the ``~`` operator:\n\n>>> ~df.isin([0, 2])\n num_legs num_wings\nfalcon False False\ndog True False\n\nWhen ``values`` is a dict, we can pass values to check for each\ncolumn separately:\n\n>>> df.isin({'num_wings': [0, 3]})\n num_legs num_wings\nfalcon False False\ndog False True\n\nWhen ``values`` is a Series or DataFrame the index and column must\nmatch. Note that 'falcon' does not match based on the number of legs\nin other.\n\n>>> other = pd.DataFrame({'num_legs': [8, 3], 'num_wings': [0, 2]},\n... index=['spider', 'falcon'])\n>>> df.isin(other)\n num_legs num_wings\nfalcon False True\ndog False False\n"}, "kind": 2, "label": "isin", "sortText": " 84"}, {"detail": "bound method DataFrame.isna() -> DataFrame", "kind": 2, "label": "isna", "sortText": " 85"}, {"detail": "bound method DataFrame.isnull() -> DataFrame", "documentation": {"kind": "plaintext", "value": "DataFrame.isnull is an alias for DataFrame.isna.\n"}, "kind": 2, "label": "isnull", "sortText": " 86"}, {"detail": "bound method DataFrame.items() -> Iterable[tuple[Hashable, Series]]", "kind": 2, "label": "items", "sortText": " 87"}, {"detail": "bound method DataFrame.iterrows() -> Iterable[tuple[Hashable, Series]]", "documentation": {"kind": "plaintext", "value": "Iterate over DataFrame rows as (index, Series) pairs.\n\nYields\n------\nindex : label or tuple of label\n The index of the row. A tuple for a `MultiIndex`.\ndata : Series\n The data of the row as a Series.\n\nSee Also\n--------\nDataFrame.itertuples : Iterate over DataFrame rows as namedtuples of the values.\nDataFrame.items : Iterate over (column name, Series) pairs.\n\nNotes\n-----\n1. Because ``iterrows`` returns a Series for each row,\n it does **not** preserve dtypes across the rows (dtypes are\n preserved across columns for DataFrames).\n\n To preserve dtypes while iterating over the rows, it is better\n to use :meth:`itertuples` which returns namedtuples of the values\n and which is generally faster than ``iterrows``.\n\n2. You should **never modify** something you are iterating over.\n This is not guaranteed to work in all cases. Depending on the\n data types, the iterator returns a copy and not a view, and writing\n to it will have no effect.\n\nExamples\n--------\n\n>>> df = pd.DataFrame([[1, 1.5]], columns=['int', 'float'])\n>>> row = next(df.iterrows())[1]\n>>> row\nint 1.0\nfloat 1.5\nName: 0, dtype: float64\n>>> print(row['int'].dtype)\nfloat64\n>>> print(df['int'].dtype)\nint64\n"}, "kind": 2, "label": "iterrows", "sortText": " 88"}, {"detail": "bound method DataFrame.itertuples(index: bool = True, name: str | None = \"Pandas\") -> Iterable[tuple[Any, ...]]", "documentation": {"kind": "plaintext", "value": "Iterate over DataFrame rows as namedtuples.\n\nParameters\n----------\nindex : bool, default True\n If True, return the index as the first element of the tuple.\nname : str or None, default \"Pandas\"\n The name of the returned namedtuples or None to return regular\n tuples.\n\nReturns\n-------\niterator\n An object to iterate over namedtuples for each row in the\n DataFrame with the first field possibly being the index and\n following fields being the column values.\n\nSee Also\n--------\nDataFrame.iterrows : Iterate over DataFrame rows as (index, Series)\n pairs.\nDataFrame.items : Iterate over (column name, Series) pairs.\n\nNotes\n-----\nThe column names will be renamed to positional names if they are\ninvalid Python identifiers, repeated, or start with an underscore.\n\nExamples\n--------\n>>> df = pd.DataFrame({'num_legs': [4, 2], 'num_wings': [0, 2]},\n... index=['dog', 'hawk'])\n>>> df\n num_legs num_wings\ndog 4 0\nhawk 2 2\n>>> for row in df.itertuples():\n... print(row)\n...\nPandas(Index='dog', num_legs=4, num_wings=0)\nPandas(Index='hawk', num_legs=2, num_wings=2)\n\nBy setting the `index` parameter to False we can remove the index\nas the first element of the tuple:\n\n>>> for row in df.itertuples(index=False):\n... print(row)\n...\nPandas(num_legs=4, num_wings=0)\nPandas(num_legs=2, num_wings=2)\n\nWith the `name` parameter set we set a custom name for the yielded\nnamedtuples:\n\n>>> for row in df.itertuples(name='Animal'):\n... print(row)\n...\nAnimal(Index='dog', num_legs=4, num_wings=0)\nAnimal(Index='hawk', num_legs=2, num_wings=2)\n"}, "kind": 2, "label": "itertuples", "sortText": " 89"}, {"detail": "bound method DataFrame.join(other: DataFrame | Series | Iterable[DataFrame | Series], on: Hashable | Sequence[Hashable] = None, how: Literal[\"left\", \"right\", \"inner\", \"outer\", \"cross\"] = \"left\", lsuffix: str = \"\", rsuffix: str = \"\", sort: bool = False, validate: Literal[\"one_to_one\", \"1:1\", \"one_to_many\", \"1:m\", \"many_to_one\", ... omitted 3 literals] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Join columns of another DataFrame.\n\nJoin columns with `other` DataFrame either on index or on a key\ncolumn. Efficiently join multiple DataFrame objects by index at once by\npassing a list.\n\nParameters\n----------\nother : DataFrame, Series, or a list containing any combination of them\n Index should be similar to one of the columns in this one. If a\n Series is passed, its name attribute must be set, and that will be\n used as the column name in the resulting joined DataFrame.\non : str, list of str, or array-like, optional\n Column or index level name(s) in the caller to join on the index\n in `other`, otherwise joins index-on-index. If multiple\n values given, the `other` DataFrame must have a MultiIndex. Can\n pass an array as the join key if it is not already contained in\n the calling DataFrame. Like an Excel VLOOKUP operation.\nhow : {'left', 'right', 'outer', 'inner', 'cross'}, default 'left'\n How to handle the operation of the two objects.\n\n * left: use calling frame's index (or column if on is specified)\n * right: use `other`'s index.\n * outer: form union of calling frame's index (or column if on is\n specified) with `other`'s index, and sort it lexicographically.\n * inner: form intersection of calling frame's index (or column if\n on is specified) with `other`'s index, preserving the order\n of the calling's one.\n * cross: creates the cartesian product from both frames, preserves the order\n of the left keys.\nlsuffix : str, default ''\n Suffix to use from left frame's overlapping columns.\nrsuffix : str, default ''\n Suffix to use from right frame's overlapping columns.\nsort : bool, default False\n Order result DataFrame lexicographically by the join key. If False,\n the order of the join key depends on the join type (how keyword).\nvalidate : str, optional\n If specified, checks if join is of specified type.\n\n * \"one_to_one\" or \"1:1\": check if join keys are unique in both left\n and right datasets.\n * \"one_to_many\" or \"1:m\": check if join keys are unique in left dataset.\n * \"many_to_one\" or \"m:1\": check if join keys are unique in right dataset.\n * \"many_to_many\" or \"m:m\": allowed, but does not result in checks.\n\n .. versionadded:: 1.5.0\n\nReturns\n-------\nDataFrame\n A dataframe containing columns from both the caller and `other`.\n\nSee Also\n--------\nDataFrame.merge : For column(s)-on-column(s) operations.\n\nNotes\n-----\nParameters `on`, `lsuffix`, and `rsuffix` are not supported when\npassing a list of `DataFrame` objects.\n\nExamples\n--------\n>>> df = pd.DataFrame({'key': ['K0', 'K1', 'K2', 'K3', 'K4', 'K5'],\n... 'A': ['A0', 'A1', 'A2', 'A3', 'A4', 'A5']})\n\n>>> df\n key A\n0 K0 A0\n1 K1 A1\n2 K2 A2\n3 K3 A3\n4 K4 A4\n5 K5 A5\n\n>>> other = pd.DataFrame({'key': ['K0', 'K1', 'K2'],\n... 'B': ['B0', 'B1', 'B2']})\n\n>>> other\n key B\n0 K0 B0\n1 K1 B1\n2 K2 B2\n\nJoin DataFrames using their indexes.\n\n>>> df.join(other, lsuffix='_caller', rsuffix='_other')\n key_caller A key_other B\n0 K0 A0 K0 B0\n1 K1 A1 K1 B1\n2 K2 A2 K2 B2\n3 K3 A3 NaN NaN\n4 K4 A4 NaN NaN\n5 K5 A5 NaN NaN\n\nIf we want to join using the key columns, we need to set key to be\nthe index in both `df` and `other`. The joined DataFrame will have\nkey as its index.\n\n>>> df.set_index('key').join(other.set_index('key'))\n A B\nkey\nK0 A0 B0\nK1 A1 B1\nK2 A2 B2\nK3 A3 NaN\nK4 A4 NaN\nK5 A5 NaN\n\nAnother option to join using the key columns is to use the `on`\nparameter. DataFrame.join always uses `other`'s index but we can use\nany column in `df`. This method preserves the original DataFrame's\nindex in the result.\n\n>>> df.join(other.set_index('key'), on='key')\n key A B\n0 K0 A0 B0\n1 K1 A1 B1\n2 K2 A2 B2\n3 K3 A3 NaN\n4 K4 A4 NaN\n5 K5 A5 NaN\n\nUsing non-unique key values shows how they are matched.\n\n>>> df = pd.DataFrame({'key': ['K0', 'K1', 'K1', 'K3', 'K0', 'K1'],\n... 'A': ['A0', 'A1', 'A2', 'A3', 'A4', 'A5']})\n\n>>> df\n key A\n0 K0 A0\n1 K1 A1\n2 K1 A2\n3 K3 A3\n4 K0 A4\n5 K1 A5\n\n>>> df.join(other.set_index('key'), on='key', validate='m:1')\n key A B\n0 K0 A0 B0\n1 K1 A1 B1\n2 K1 A2 B1\n3 K3 A3 NaN\n4 K0 A4 B0\n5 K1 A5 B1\n"}, "kind": 2, "label": "join", "sortText": " 90"}, {"detail": "bound method DataFrame.keys() -> Index", "documentation": {"kind": "plaintext", "value": "Get the 'info axis' (see Indexing for more).\n\nThis is index for Series, columns for DataFrame.\n\nReturns\n-------\nIndex\n Info axis.\n\nExamples\n--------\n>>> d = pd.DataFrame(data={'A': [1, 2, 3], 'B': [0, 4, 8]},\n... index=['a', 'b', 'c'])\n>>> d\n A B\na 1 0\nb 2 4\nc 3 8\n>>> d.keys()\nIndex(['A', 'B'], dtype='object')\n"}, "kind": 2, "label": "keys", "sortText": " 91"}, {"detail": "bound method DataFrame.kurt(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "kurt", "sortText": " 92"}, {"detail": "(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 3, "label": "kurtosis", "sortText": " 93"}, {"detail": "bound method DataFrame.last(offset) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Select final periods of time series data based on a date offset.\n\n.. deprecated:: 2.1\n :meth:`.last` is deprecated and will be removed in a future version.\n Please create a mask and filter using `.loc` instead.\n\nFor a DataFrame with a sorted DatetimeIndex, this function\nselects the last few rows based on a date offset.\n\nParameters\n----------\noffset : str, DateOffset, dateutil.relativedelta\n The offset length of the data that will be selected. For instance,\n '3D' will display all the rows having their index within the last 3 days.\n\nReturns\n-------\nSeries or DataFrame\n A subset of the caller.\n\nRaises\n------\nTypeError\n If the index is not a :class:`DatetimeIndex`\n\nSee Also\n--------\nfirst : Select initial periods of time series based on a date offset.\nat_time : Select values at a particular time of the day.\nbetween_time : Select values between particular times of the day.\n\nNotes\n-----\n.. deprecated:: 2.1.0\n Please create a mask and filter using `.loc` instead\n\nExamples\n--------\n>>> i = pd.date_range('2018-04-09', periods=4, freq='2D')\n>>> ts = pd.DataFrame({'A': [1, 2, 3, 4]}, index=i)\n>>> ts\n A\n2018-04-09 1\n2018-04-11 2\n2018-04-13 3\n2018-04-15 4\n\nGet the rows for the last 3 days:\n\n>>> ts.last('3D') # doctest: +SKIP\n A\n2018-04-13 3\n2018-04-15 4\n\nNotice the data for 3 last calendar days were returned, not the last\n3 observed days in the dataset, and therefore data for 2018-04-11 was\nnot returned.\n"}, "kind": 2, "label": "last", "sortText": " 94"}, {"detail": "bound method DataFrame.last_valid_index() -> Hashable", "kind": 2, "label": "last_valid_index", "sortText": " 95"}, {"detail": "bound method DataFrame.le(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "le", "sortText": " 96"}, {"detail": "_LocIndexer", "kind": 22, "label": "loc", "sortText": " 97"}, {"detail": "bound method DataFrame.lt(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "lt", "sortText": " 98"}, {"detail": "bound method DataFrame.map(func: (Any, /) -> Any, na_action: str | None = None, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Apply a function to a Dataframe elementwise.\n\n.. versionadded:: 2.1.0\n\n DataFrame.applymap was deprecated and renamed to DataFrame.map.\n\nThis method applies a function that accepts and returns a scalar\nto every element of a DataFrame.\n\nParameters\n----------\nfunc : callable\n Python function, returns a single value from a single value.\nna_action : {None, 'ignore'}, default None\n If 'ignore', propagate NaN values, without passing them to func.\n**kwargs\n Additional keyword arguments to pass as keywords arguments to\n `func`.\n\nReturns\n-------\nDataFrame\n Transformed DataFrame.\n\nSee Also\n--------\nDataFrame.apply : Apply a function along input axis of DataFrame.\nDataFrame.replace: Replace values given in `to_replace` with `value`.\nSeries.map : Apply a function elementwise on a Series.\n\nExamples\n--------\n>>> df = pd.DataFrame([[1, 2.12], [3.356, 4.567]])\n>>> df\n 0 1\n0 1.000 2.120\n1 3.356 4.567\n\n>>> df.map(lambda x: len(str(x)))\n 0 1\n0 3 4\n1 5 5\n\nLike Series.map, NA values can be ignored:\n\n>>> df_copy = df.copy()\n>>> df_copy.iloc[0, 0] = pd.NA\n>>> df_copy.map(lambda x: len(str(x)), na_action='ignore')\n 0 1\n0 NaN 4\n1 5.0 5\n\nIt is also possible to use `map` with functions that are not\n`lambda` functions:\n\n>>> df.map(round, ndigits=1)\n 0 1\n0 1.0 2.1\n1 3.4 4.6\n\nNote that a vectorized version of `func` often exists, which will\nbe much faster. You could square each number elementwise.\n\n>>> df.map(lambda x: x**2)\n 0 1\n0 1.000000 4.494400\n1 11.262736 20.857489\n\nBut it's better to avoid map in that case.\n\n>>> df ** 2\n 0 1\n0 1.000000 4.494400\n1 11.262736 20.857489\n"}, "kind": 2, "label": "map", "sortText": " 99"}, {"detail": "Overload[(cond, other=..., *, inplace: Literal[False] = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> DataFrame, (cond, other=..., *, inplace: Literal[True], axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> None, (cond, other=..., *, inplace: bool = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> DataFrame | None]", "kind": 2, "label": "mask", "sortText": "100"}, {"detail": "bound method DataFrame.max(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "max", "sortText": "101"}, {"detail": "bound method DataFrame.mean(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "mean", "sortText": "102"}, {"detail": "bound method DataFrame.median(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "median", "sortText": "103"}, {"detail": "bound method DataFrame.melt(id_vars=None, value_vars=None, var_name=None, value_name: Hashable = \"value\", col_level: Hashable = None, ignore_index: bool = True) -> DataFrame", "kind": 2, "label": "melt", "sortText": "104"}, {"detail": "bound method DataFrame.memory_usage(index: bool = True, deep: bool = False) -> Series", "documentation": {"kind": "plaintext", "value": "Return the memory usage of each column in bytes.\n\nThe memory usage can optionally include the contribution of\nthe index and elements of `object` dtype.\n\nThis value is displayed in `DataFrame.info` by default. This can be\nsuppressed by setting ``pandas.options.display.memory_usage`` to False.\n\nParameters\n----------\nindex : bool, default True\n Specifies whether to include the memory usage of the DataFrame's\n index in returned Series. If ``index=True``, the memory usage of\n the index is the first item in the output.\ndeep : bool, default False\n If True, introspect the data deeply by interrogating\n `object` dtypes for system-level memory consumption, and include\n it in the returned values.\n\nReturns\n-------\nSeries\n A Series whose index is the original column names and whose values\n is the memory usage of each column in bytes.\n\nSee Also\n--------\nnumpy.ndarray.nbytes : Total bytes consumed by the elements of an\n ndarray.\nSeries.memory_usage : Bytes consumed by a Series.\nCategorical : Memory-efficient array for string values with\n many repeated values.\nDataFrame.info : Concise summary of a DataFrame.\n\nNotes\n-----\nSee the :ref:`Frequently Asked Questions ` for more\ndetails.\n\nExamples\n--------\n>>> dtypes = ['int64', 'float64', 'complex128', 'object', 'bool']\n>>> data = dict([(t, np.ones(shape=5000, dtype=int).astype(t))\n... for t in dtypes])\n>>> df = pd.DataFrame(data)\n>>> df.head()\n int64 float64 complex128 object bool\n0 1 1.0 1.0+0.0j 1 True\n1 1 1.0 1.0+0.0j 1 True\n2 1 1.0 1.0+0.0j 1 True\n3 1 1.0 1.0+0.0j 1 True\n4 1 1.0 1.0+0.0j 1 True\n\n>>> df.memory_usage()\nIndex 128\nint64 40000\nfloat64 40000\ncomplex128 80000\nobject 40000\nbool 5000\ndtype: int64\n\n>>> df.memory_usage(index=False)\nint64 40000\nfloat64 40000\ncomplex128 80000\nobject 40000\nbool 5000\ndtype: int64\n\nThe memory footprint of `object` dtype columns is ignored by default:\n\n>>> df.memory_usage(deep=True)\nIndex 128\nint64 40000\nfloat64 40000\ncomplex128 80000\nobject 180000\nbool 5000\ndtype: int64\n\nUse a Categorical for efficient storage of an object-dtype column with\nmany repeated values.\n\n>>> df['object'].astype('category').memory_usage(deep=True)\n5244\n"}, "kind": 2, "label": "memory_usage", "sortText": "105"}, {"detail": "bound method DataFrame.merge(right: DataFrame | Series, how: Literal[\"left\", \"right\", \"inner\", \"outer\", \"cross\"] = \"inner\", on: Hashable | Sequence[Hashable] | ExtensionArray | ... omitted 3 union elements = None, left_on: Hashable | Sequence[Hashable] | ExtensionArray | ... omitted 3 union elements = None, right_on: Hashable | Sequence[Hashable] | ExtensionArray | ... omitted 3 union elements = None, left_index: bool = False, right_index: bool = False, sort: bool = False, suffixes: tuple[str | None, str | None] = ..., copy: bool | None = None, indicator: str | bool = False, validate: Literal[\"one_to_one\", \"1:1\", \"one_to_many\", \"1:m\", \"many_to_one\", ... omitted 3 literals] | None = None) -> DataFrame", "kind": 2, "label": "merge", "sortText": "106"}, {"detail": "bound method DataFrame.min(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "min", "sortText": "107"}, {"detail": "bound method DataFrame.mod(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "mod", "sortText": "108"}, {"detail": "bound method DataFrame.mode(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, numeric_only: bool = False, dropna: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Get the mode(s) of each element along the selected axis.\n\nThe mode of a set of values is the value that appears most often.\nIt can be multiple values.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to iterate over while searching for the mode:\n\n * 0 or 'index' : get mode of each column\n * 1 or 'columns' : get mode of each row.\n\nnumeric_only : bool, default False\n If True, only apply to numeric columns.\ndropna : bool, default True\n Don't consider counts of NaN/NaT.\n\nReturns\n-------\nDataFrame\n The modes of each column or row.\n\nSee Also\n--------\nSeries.mode : Return the highest frequency value in a Series.\nSeries.value_counts : Return the counts of values in a Series.\n\nExamples\n--------\n>>> df = pd.DataFrame([('bird', 2, 2),\n... ('mammal', 4, np.nan),\n... ('arthropod', 8, 0),\n... ('bird', 2, np.nan)],\n... index=('falcon', 'horse', 'spider', 'ostrich'),\n... columns=('species', 'legs', 'wings'))\n>>> df\n species legs wings\nfalcon bird 2 2.0\nhorse mammal 4 NaN\nspider arthropod 8 0.0\nostrich bird 2 NaN\n\nBy default, missing values are not considered, and the mode of wings\nare both 0 and 2. Because the resulting DataFrame has two rows,\nthe second row of ``species`` and ``legs`` contains ``NaN``.\n\n>>> df.mode()\n species legs wings\n0 bird 2.0 0.0\n1 NaN NaN 2.0\n\nSetting ``dropna=False`` ``NaN`` values are considered and they can be\nthe mode (like for wings).\n\n>>> df.mode(dropna=False)\n species legs wings\n0 bird 2 NaN\n\nSetting ``numeric_only=True``, only the mode of numeric columns is\ncomputed, and columns of other types are ignored.\n\n>>> df.mode(numeric_only=True)\n legs wings\n0 2.0 0.0\n1 NaN 2.0\n\nTo compute the mode over columns and not rows, use the axis parameter:\n\n>>> df.mode(axis='columns', numeric_only=True)\n 0 1\nfalcon 2.0 NaN\nhorse 4.0 NaN\nspider 0.0 8.0\nostrich 2.0 NaN\n"}, "kind": 2, "label": "mode", "sortText": "109"}, {"detail": "bound method DataFrame.mul(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "mul", "sortText": "110"}, {"detail": "(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 3, "label": "multiply", "sortText": "111"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "name", "sortText": "112"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "ndim", "sortText": "113"}, {"detail": "bound method DataFrame.ne(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "ne", "sortText": "114"}, {"detail": "bound method DataFrame.nlargest(n: int, columns: Hashable | Sequence[Hashable], keep: Literal[\"first\", \"last\", \"all\"] = \"first\") -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the first `n` rows ordered by `columns` in descending order.\n\nReturn the first `n` rows with the largest values in `columns`, in\ndescending order. The columns that are not specified are returned as\nwell, but not used for ordering.\n\nThis method is equivalent to\n``df.sort_values(columns, ascending=False).head(n)``, but more\nperformant.\n\nParameters\n----------\nn : int\n Number of rows to return.\ncolumns : label or list of labels\n Column label(s) to order by.\nkeep : {'first', 'last', 'all'}, default 'first'\n Where there are duplicate values:\n\n - ``first`` : prioritize the first occurrence(s)\n - ``last`` : prioritize the last occurrence(s)\n - ``all`` : keep all the ties of the smallest item even if it means\n selecting more than ``n`` items.\n\nReturns\n-------\nDataFrame\n The first `n` rows ordered by the given columns in descending\n order.\n\nSee Also\n--------\nDataFrame.nsmallest : Return the first `n` rows ordered by `columns` in\n ascending order.\nDataFrame.sort_values : Sort DataFrame by the values.\nDataFrame.head : Return the first `n` rows without re-ordering.\n\nNotes\n-----\nThis function cannot be used with all column types. For example, when\nspecifying columns with `object` or `category` dtypes, ``TypeError`` is\nraised.\n\nExamples\n--------\n>>> df = pd.DataFrame({'population': [59000000, 65000000, 434000,\n... 434000, 434000, 337000, 11300,\n... 11300, 11300],\n... 'GDP': [1937894, 2583560 , 12011, 4520, 12128,\n... 17036, 182, 38, 311],\n... 'alpha-2': [\"IT\", \"FR\", \"MT\", \"MV\", \"BN\",\n... \"IS\", \"NR\", \"TV\", \"AI\"]},\n... index=[\"Italy\", \"France\", \"Malta\",\n... \"Maldives\", \"Brunei\", \"Iceland\",\n... \"Nauru\", \"Tuvalu\", \"Anguilla\"])\n>>> df\n population GDP alpha-2\nItaly 59000000 1937894 IT\nFrance 65000000 2583560 FR\nMalta 434000 12011 MT\nMaldives 434000 4520 MV\nBrunei 434000 12128 BN\nIceland 337000 17036 IS\nNauru 11300 182 NR\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\n\nIn the following example, we will use ``nlargest`` to select the three\nrows having the largest values in column \"population\".\n\n>>> df.nlargest(3, 'population')\n population GDP alpha-2\nFrance 65000000 2583560 FR\nItaly 59000000 1937894 IT\nMalta 434000 12011 MT\n\nWhen using ``keep='last'``, ties are resolved in reverse order:\n\n>>> df.nlargest(3, 'population', keep='last')\n population GDP alpha-2\nFrance 65000000 2583560 FR\nItaly 59000000 1937894 IT\nBrunei 434000 12128 BN\n\nWhen using ``keep='all'``, the number of element kept can go beyond ``n``\nif there are duplicate values for the smallest element, all the\nties are kept:\n\n>>> df.nlargest(3, 'population', keep='all')\n population GDP alpha-2\nFrance 65000000 2583560 FR\nItaly 59000000 1937894 IT\nMalta 434000 12011 MT\nMaldives 434000 4520 MV\nBrunei 434000 12128 BN\n\nHowever, ``nlargest`` does not keep ``n`` distinct largest elements:\n\n>>> df.nlargest(5, 'population', keep='all')\n population GDP alpha-2\nFrance 65000000 2583560 FR\nItaly 59000000 1937894 IT\nMalta 434000 12011 MT\nMaldives 434000 4520 MV\nBrunei 434000 12128 BN\n\nTo order by the largest values in column \"population\" and then \"GDP\",\nwe can specify multiple columns like in the next example.\n\n>>> df.nlargest(3, ['population', 'GDP'])\n population GDP alpha-2\nFrance 65000000 2583560 FR\nItaly 59000000 1937894 IT\nBrunei 434000 12128 BN\n"}, "kind": 2, "label": "nlargest", "sortText": "115"}, {"detail": "bound method DataFrame.notna() -> DataFrame", "kind": 2, "label": "notna", "sortText": "116"}, {"detail": "bound method DataFrame.notnull() -> DataFrame", "documentation": {"kind": "plaintext", "value": "DataFrame.notnull is an alias for DataFrame.notna.\n"}, "kind": 2, "label": "notnull", "sortText": "117"}, {"detail": "bound method DataFrame.nsmallest(n: int, columns: Hashable | Sequence[Hashable], keep: Literal[\"first\", \"last\", \"all\"] = \"first\") -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the first `n` rows ordered by `columns` in ascending order.\n\nReturn the first `n` rows with the smallest values in `columns`, in\nascending order. The columns that are not specified are returned as\nwell, but not used for ordering.\n\nThis method is equivalent to\n``df.sort_values(columns, ascending=True).head(n)``, but more\nperformant.\n\nParameters\n----------\nn : int\n Number of items to retrieve.\ncolumns : list or str\n Column name or names to order by.\nkeep : {'first', 'last', 'all'}, default 'first'\n Where there are duplicate values:\n\n - ``first`` : take the first occurrence.\n - ``last`` : take the last occurrence.\n - ``all`` : keep all the ties of the largest item even if it means\n selecting more than ``n`` items.\n\nReturns\n-------\nDataFrame\n\nSee Also\n--------\nDataFrame.nlargest : Return the first `n` rows ordered by `columns` in\n descending order.\nDataFrame.sort_values : Sort DataFrame by the values.\nDataFrame.head : Return the first `n` rows without re-ordering.\n\nExamples\n--------\n>>> df = pd.DataFrame({'population': [59000000, 65000000, 434000,\n... 434000, 434000, 337000, 337000,\n... 11300, 11300],\n... 'GDP': [1937894, 2583560 , 12011, 4520, 12128,\n... 17036, 182, 38, 311],\n... 'alpha-2': [\"IT\", \"FR\", \"MT\", \"MV\", \"BN\",\n... \"IS\", \"NR\", \"TV\", \"AI\"]},\n... index=[\"Italy\", \"France\", \"Malta\",\n... \"Maldives\", \"Brunei\", \"Iceland\",\n... \"Nauru\", \"Tuvalu\", \"Anguilla\"])\n>>> df\n population GDP alpha-2\nItaly 59000000 1937894 IT\nFrance 65000000 2583560 FR\nMalta 434000 12011 MT\nMaldives 434000 4520 MV\nBrunei 434000 12128 BN\nIceland 337000 17036 IS\nNauru 337000 182 NR\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\n\nIn the following example, we will use ``nsmallest`` to select the\nthree rows having the smallest values in column \"population\".\n\n>>> df.nsmallest(3, 'population')\n population GDP alpha-2\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\nIceland 337000 17036 IS\n\nWhen using ``keep='last'``, ties are resolved in reverse order:\n\n>>> df.nsmallest(3, 'population', keep='last')\n population GDP alpha-2\nAnguilla 11300 311 AI\nTuvalu 11300 38 TV\nNauru 337000 182 NR\n\nWhen using ``keep='all'``, the number of element kept can go beyond ``n``\nif there are duplicate values for the largest element, all the\nties are kept.\n\n>>> df.nsmallest(3, 'population', keep='all')\n population GDP alpha-2\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\nIceland 337000 17036 IS\nNauru 337000 182 NR\n\nHowever, ``nsmallest`` does not keep ``n`` distinct\nsmallest elements:\n\n>>> df.nsmallest(4, 'population', keep='all')\n population GDP alpha-2\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\nIceland 337000 17036 IS\nNauru 337000 182 NR\n\nTo order by the smallest values in column \"population\" and then \"GDP\", we can\nspecify multiple columns like in the next example.\n\n>>> df.nsmallest(3, ['population', 'GDP'])\n population GDP alpha-2\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\nNauru 337000 182 NR\n"}, "kind": 2, "label": "nsmallest", "sortText": "118"}, {"detail": "bound method DataFrame.nunique(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, dropna: bool = True) -> Series", "documentation": {"kind": "plaintext", "value": "Count number of distinct elements in specified axis.\n\nReturn Series with number of distinct elements. Can ignore NaN\nvalues.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to use. 0 or 'index' for row-wise, 1 or 'columns' for\n column-wise.\ndropna : bool, default True\n Don't include NaN in the counts.\n\nReturns\n-------\nSeries\n\nSee Also\n--------\nSeries.nunique: Method nunique for Series.\nDataFrame.count: Count non-NA cells for each column or row.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [4, 5, 6], 'B': [4, 1, 1]})\n>>> df.nunique()\nA 3\nB 2\ndtype: int64\n\n>>> df.nunique(axis=1)\n0 1\n1 2\n2 2\ndtype: int64\n"}, "kind": 2, "label": "nunique", "sortText": "119"}, {"detail": "bound method DataFrame.pad(*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = None, inplace: bool = False, limit: None | int = None, downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame | None", "documentation": {"kind": "plaintext", "value": "Fill NA/NaN values by propagating the last valid observation to next valid.\n\n.. deprecated:: 2.0\n\n {klass}.pad is deprecated. Use {klass}.ffill instead.\n\nReturns\n-------\n{klass} or None\n Object with missing values filled or None if ``inplace=True``.\n\nExamples\n--------\nPlease see examples for :meth:`DataFrame.ffill` or :meth:`Series.ffill`.\n"}, "kind": 2, "label": "pad", "sortText": "120"}, {"detail": "bound method DataFrame.pct_change(periods: int = 1, fill_method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None | _NoDefault = ..., limit: int | None | _NoDefault = ..., freq=None, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Fractional change between the current and a prior element.\n\nComputes the fractional change from the immediately previous row by\ndefault. This is useful in comparing the fraction of change in a time\nseries of elements.\n\n.. note::\n\n Despite the name of this method, it calculates fractional change\n (also known as per unit change or relative change) and not\n percentage change. If you need the percentage change, multiply\n these values by 100.\n\nParameters\n----------\nperiods : int, default 1\n Periods to shift for forming percent change.\nfill_method : {'backfill', 'bfill', 'pad', 'ffill', None}, default 'pad'\n How to handle NAs **before** computing percent changes.\n\n .. deprecated:: 2.1\n All options of `fill_method` are deprecated except `fill_method=None`.\n\nlimit : int, default None\n The number of consecutive NAs to fill before stopping.\n\n .. deprecated:: 2.1\n\nfreq : DateOffset, timedelta, or str, optional\n Increment to use from time series API (e.g. 'ME' or BDay()).\n**kwargs\n Additional keyword arguments are passed into\n `DataFrame.shift` or `Series.shift`.\n\nReturns\n-------\nSeries or DataFrame\n The same type as the calling object.\n\nSee Also\n--------\nSeries.diff : Compute the difference of two elements in a Series.\nDataFrame.diff : Compute the difference of two elements in a DataFrame.\nSeries.shift : Shift the index by some number of periods.\nDataFrame.shift : Shift the index by some number of periods.\n\nExamples\n--------\n**Series**\n\n>>> s = pd.Series([90, 91, 85])\n>>> s\n0 90\n1 91\n2 85\ndtype: int64\n\n>>> s.pct_change()\n0 NaN\n1 0.011111\n2 -0.065934\ndtype: float64\n\n>>> s.pct_change(periods=2)\n0 NaN\n1 NaN\n2 -0.055556\ndtype: float64\n\nSee the percentage change in a Series where filling NAs with last\nvalid observation forward to next valid.\n\n>>> s = pd.Series([90, 91, None, 85])\n>>> s\n0 90.0\n1 91.0\n2 NaN\n3 85.0\ndtype: float64\n\n>>> s.ffill().pct_change()\n0 NaN\n1 0.011111\n2 0.000000\n3 -0.065934\ndtype: float64\n\n**DataFrame**\n\nPercentage change in French franc, Deutsche Mark, and Italian lira from\n1980-01-01 to 1980-03-01.\n\n>>> df = pd.DataFrame({\n... 'FR': [4.0405, 4.0963, 4.3149],\n... 'GR': [1.7246, 1.7482, 1.8519],\n... 'IT': [804.74, 810.01, 860.13]},\n... index=['1980-01-01', '1980-02-01', '1980-03-01'])\n>>> df\n FR GR IT\n1980-01-01 4.0405 1.7246 804.74\n1980-02-01 4.0963 1.7482 810.01\n1980-03-01 4.3149 1.8519 860.13\n\n>>> df.pct_change()\n FR GR IT\n1980-01-01 NaN NaN NaN\n1980-02-01 0.013810 0.013684 0.006549\n1980-03-01 0.053365 0.059318 0.061876\n\nPercentage of change in GOOG and APPL stock volume. Shows computing\nthe percentage change between columns.\n\n>>> df = pd.DataFrame({\n... '2016': [1769950, 30586265],\n... '2015': [1500923, 40912316],\n... '2014': [1371819, 41403351]},\n... index=['GOOG', 'APPL'])\n>>> df\n 2016 2015 2014\nGOOG 1769950 1500923 1371819\nAPPL 30586265 40912316 41403351\n\n>>> df.pct_change(axis='columns', periods=-1)\n 2016 2015 2014\nGOOG 0.179241 0.094112 NaN\nAPPL -0.252395 -0.011860 NaN\n"}, "kind": 2, "label": "pct_change", "sortText": "121"}, {"detail": "bound method DataFrame.pipe[T](func: ((...) -> T) | tuple[(...) -> T, str], *args, **kwargs) -> T", "documentation": {"kind": "plaintext", "value": "Apply chainable functions that expect Series or DataFrames.\n\nParameters\n----------\nfunc : function\n Function to apply to the {klass}.\n ``args``, and ``kwargs`` are passed into ``func``.\n Alternatively a ``(callable, data_keyword)`` tuple where\n ``data_keyword`` is a string indicating the keyword of\n ``callable`` that expects the {klass}.\n*args : iterable, optional\n Positional arguments passed into ``func``.\n**kwargs : mapping, optional\n A dictionary of keyword arguments passed into ``func``.\n\nReturns\n-------\nthe return type of ``func``.\n\nSee Also\n--------\nDataFrame.apply : Apply a function along input axis of DataFrame.\nDataFrame.map : Apply a function elementwise on a whole DataFrame.\nSeries.map : Apply a mapping correspondence on a\n :class:`~pandas.Series`.\n\nNotes\n-----\nUse ``.pipe`` when chaining together functions that expect\nSeries, DataFrames or GroupBy objects.\n\nExamples\n--------\nConstructing a income DataFrame from a dictionary.\n\n>>> data = [[8000, 1000], [9500, np.nan], [5000, 2000]]\n>>> df = pd.DataFrame(data, columns=['Salary', 'Others'])\n>>> df\n Salary Others\n0 8000 1000.0\n1 9500 NaN\n2 5000 2000.0\n\nFunctions that perform tax reductions on an income DataFrame.\n\n>>> def subtract_federal_tax(df):\n... return df * 0.9\n>>> def subtract_state_tax(df, rate):\n... return df * (1 - rate)\n>>> def subtract_national_insurance(df, rate, rate_increase):\n... new_rate = rate + rate_increase\n... return df * (1 - new_rate)\n\nInstead of writing\n\n>>> subtract_national_insurance(\n... subtract_state_tax(subtract_federal_tax(df), rate=0.12),\n... rate=0.05,\n... rate_increase=0.02) # doctest: +SKIP\n\nYou can write\n\n>>> (\n... df.pipe(subtract_federal_tax)\n... .pipe(subtract_state_tax, rate=0.12)\n... .pipe(subtract_national_insurance, rate=0.05, rate_increase=0.02)\n... )\n Salary Others\n0 5892.48 736.56\n1 6997.32 NaN\n2 3682.80 1473.12\n\nIf you have a function that takes the data as (say) the second\nargument, pass a tuple indicating which keyword expects the\ndata. For example, suppose ``national_insurance`` takes its data as ``df``\nin the second argument:\n\n>>> def subtract_national_insurance(rate, df, rate_increase):\n... new_rate = rate + rate_increase\n... return df * (1 - new_rate)\n>>> (\n... df.pipe(subtract_federal_tax)\n... .pipe(subtract_state_tax, rate=0.12)\n... .pipe(\n... (subtract_national_insurance, 'df'),\n... rate=0.05,\n... rate_increase=0.02\n... )\n... )\n Salary Others\n0 5892.48 736.56\n1 6997.32 NaN\n2 3682.80 1473.12\n"}, "kind": 2, "label": "pipe", "sortText": "122"}, {"detail": "bound method DataFrame.pivot(*, columns, index=..., values=...) -> DataFrame", "kind": 2, "label": "pivot", "sortText": "123"}, {"detail": "bound method DataFrame.pivot_table(values=None, index=None, columns=None, aggfunc: ((...) -> Unknown) | str | list[((...) -> Unknown) | str] | MutableMapping[Hashable, ((...) -> Unknown) | str | list[((...) -> Unknown) | str]] = \"mean\", fill_value=None, margins: bool = False, dropna: bool = True, margins_name: Hashable = \"All\", observed: bool | _NoDefault = ..., sort: bool = True) -> DataFrame", "kind": 2, "label": "pivot_table", "sortText": "124"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "plot", "sortText": "125"}, {"detail": "bound method DataFrame.pop(item: Hashable) -> Series", "documentation": {"kind": "plaintext", "value": "Return item and drop from frame. Raise KeyError if not found.\n\nParameters\n----------\nitem : label\n Label of column to be popped.\n\nReturns\n-------\nSeries\n\nExamples\n--------\n>>> df = pd.DataFrame([('falcon', 'bird', 389.0),\n... ('parrot', 'bird', 24.0),\n... ('lion', 'mammal', 80.5),\n... ('monkey', 'mammal', np.nan)],\n... columns=('name', 'class', 'max_speed'))\n>>> df\n name class max_speed\n0 falcon bird 389.0\n1 parrot bird 24.0\n2 lion mammal 80.5\n3 monkey mammal NaN\n\n>>> df.pop('class')\n0 bird\n1 bird\n2 mammal\n3 mammal\nName: class, dtype: object\n\n>>> df\n name max_speed\n0 falcon 389.0\n1 parrot 24.0\n2 lion 80.5\n3 monkey NaN\n"}, "kind": 2, "label": "pop", "sortText": "126"}, {"detail": "bound method DataFrame.pow(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "pow", "sortText": "127"}, {"detail": "bound method DataFrame.prod(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, min_count: int = 0, **kwargs) -> Unknown", "kind": 2, "label": "prod", "sortText": "128"}, {"detail": "(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, min_count: int = 0, **kwargs) -> Unknown", "kind": 3, "label": "product", "sortText": "129"}, {"detail": "Overload[(q: float = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., numeric_only: bool = ..., interpolation: Literal[\"linear\", \"lower\", \"higher\", \"midpoint\", \"nearest\"] = ..., method: Literal[\"single\", \"table\"] = ...) -> Series, (q: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | Series | Sequence[float], axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., numeric_only: bool = ..., interpolation: Literal[\"linear\", \"lower\", \"higher\", \"midpoint\", \"nearest\"] = ..., method: Literal[\"single\", \"table\"] = ...) -> Series | DataFrame, (q: float | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | ... omitted 3 union elements = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., numeric_only: bool = ..., interpolation: Literal[\"linear\", \"lower\", \"higher\", \"midpoint\", \"nearest\"] = ..., method: Literal[\"single\", \"table\"] = ...) -> Series | DataFrame]", "documentation": {"kind": "plaintext", "value": "Return values at the given quantile over requested axis.\n\nParameters\n----------\nq : float or array-like, default 0.5 (50% quantile)\n Value between 0 <= q <= 1, the quantile(s) to compute.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Equals 0 or 'index' for row-wise, 1 or 'columns' for column-wise.\nnumeric_only : bool, default False\n Include only `float`, `int` or `boolean` data.\n\n .. versionchanged:: 2.0.0\n The default value of ``numeric_only`` is now ``False``.\n\ninterpolation : {'linear', 'lower', 'higher', 'midpoint', 'nearest'}\n This optional parameter specifies the interpolation method to use,\n when the desired quantile lies between two data points `i` and `j`:\n\n * linear: `i + (j - i) * fraction`, where `fraction` is the\n fractional part of the index surrounded by `i` and `j`.\n * lower: `i`.\n * higher: `j`.\n * nearest: `i` or `j` whichever is nearest.\n * midpoint: (`i` + `j`) / 2.\nmethod : {'single', 'table'}, default 'single'\n Whether to compute quantiles per-column ('single') or over all columns\n ('table'). When 'table', the only allowed interpolation methods are\n 'nearest', 'lower', and 'higher'.\n\nReturns\n-------\nSeries or DataFrame\n\n If ``q`` is an array, a DataFrame will be returned where the\n index is ``q``, the columns are the columns of self, and the\n values are the quantiles.\n If ``q`` is a float, a Series will be returned where the\n index is the columns of self and the values are the quantiles.\n\nSee Also\n--------\ncore.window.rolling.Rolling.quantile: Rolling quantile.\nnumpy.percentile: Numpy function to compute the percentile.\n\nExamples\n--------\n>>> df = pd.DataFrame(np.array([[1, 1], [2, 10], [3, 100], [4, 100]]),\n... columns=['a', 'b'])\n>>> df.quantile(.1)\na 1.3\nb 3.7\nName: 0.1, dtype: float64\n>>> df.quantile([.1, .5])\n a b\n0.1 1.3 3.7\n0.5 2.5 55.0\n\nSpecifying `method='table'` will compute the quantile over all columns.\n\n>>> df.quantile(.1, method=\"table\", interpolation=\"nearest\")\na 1\nb 1\nName: 0.1, dtype: int64\n>>> df.quantile([.1, .5], method=\"table\", interpolation=\"nearest\")\n a b\n0.1 1 1\n0.5 3 100\n\nSpecifying `numeric_only=False` will also compute the quantile of\ndatetime and timedelta data.\n\n>>> df = pd.DataFrame({'A': [1, 2],\n... 'B': [pd.Timestamp('2010'),\n... pd.Timestamp('2011')],\n... 'C': [pd.Timedelta('1 days'),\n... pd.Timedelta('2 days')]})\n>>> df.quantile(0.5, numeric_only=False)\nA 1.5\nB 2010-07-02 12:00:00\nC 1 days 12:00:00\nName: 0.5, dtype: object\n"}, "kind": 2, "label": "quantile", "sortText": "130"}, {"detail": "Overload[(expr: str, *, inplace: Literal[False] = ..., **kwargs) -> DataFrame, (expr: str, *, inplace: Literal[True], **kwargs) -> None, (expr: str, *, inplace: bool = ..., **kwargs) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Query the columns of a DataFrame with a boolean expression.\n\nParameters\n----------\nexpr : str\n The query string to evaluate.\n\n You can refer to variables\n in the environment by prefixing them with an '@' character like\n ``@a + b``.\n\n You can refer to column names that are not valid Python variable names\n by surrounding them in backticks. Thus, column names containing spaces\n or punctuations (besides underscores) or starting with digits must be\n surrounded by backticks. (For example, a column named \"Area (cm^2)\" would\n be referenced as ```Area (cm^2)```). Column names which are Python keywords\n (like \"list\", \"for\", \"import\", etc) cannot be used.\n\n For example, if one of your columns is called ``a a`` and you want\n to sum it with ``b``, your query should be ```a a` + b``.\n\ninplace : bool\n Whether to modify the DataFrame rather than creating a new one.\n**kwargs\n See the documentation for :func:`eval` for complete details\n on the keyword arguments accepted by :meth:`DataFrame.query`.\n\nReturns\n-------\nDataFrame or None\n DataFrame resulting from the provided query expression or\n None if ``inplace=True``.\n\nSee Also\n--------\neval : Evaluate a string describing operations on\n DataFrame columns.\nDataFrame.eval : Evaluate a string describing operations on\n DataFrame columns.\n\nNotes\n-----\nThe result of the evaluation of this expression is first passed to\n:attr:`DataFrame.loc` and if that fails because of a\nmultidimensional key (e.g., a DataFrame) then the result will be passed\nto :meth:`DataFrame.__getitem__`.\n\nThis method uses the top-level :func:`eval` function to\nevaluate the passed query.\n\nThe :meth:`~pandas.DataFrame.query` method uses a slightly\nmodified Python syntax by default. For example, the ``&`` and ``|``\n(bitwise) operators have the precedence of their boolean cousins,\n:keyword:`and` and :keyword:`or`. This *is* syntactically valid Python,\nhowever the semantics are different.\n\nYou can change the semantics of the expression by passing the keyword\nargument ``parser='python'``. This enforces the same semantics as\nevaluation in Python space. Likewise, you can pass ``engine='python'``\nto evaluate an expression using Python itself as a backend. This is not\nrecommended as it is inefficient compared to using ``numexpr`` as the\nengine.\n\nThe :attr:`DataFrame.index` and\n:attr:`DataFrame.columns` attributes of the\n:class:`~pandas.DataFrame` instance are placed in the query namespace\nby default, which allows you to treat both the index and columns of the\nframe as a column in the frame.\nThe identifier ``index`` is used for the frame index; you can also\nuse the name of the index to identify it in a query. Please note that\nPython keywords may not be used as identifiers.\n\nFor further details and examples see the ``query`` documentation in\n:ref:`indexing `.\n\n*Backtick quoted variables*\n\nBacktick quoted variables are parsed as literal Python code and\nare converted internally to a Python valid identifier.\nThis can lead to the following problems.\n\nDuring parsing a number of disallowed characters inside the backtick\nquoted string are replaced by strings that are allowed as a Python identifier.\nThese characters include all operators in Python, the space character, the\nquestion mark, the exclamation mark, the dollar sign, and the euro sign.\nFor other characters that fall outside the ASCII range (U+0001..U+007F)\nand those that are not further specified in PEP 3131,\nthe query parser will raise an error.\nThis excludes whitespace different than the space character,\nbut also the hashtag (as it is used for comments) and the backtick\nitself (backtick can also not be escaped).\n\nIn a special case, quotes that make a pair around a backtick can\nconfuse the parser.\nFor example, ```it's` > `that's``` will raise an error,\nas it forms a quoted string (``'s > `that'``) with a backtick inside.\n\nSee also the Python documentation about lexical analysis\n(https://docs.python.org/3/reference/lexical_analysis.html)\nin combination with the source code in :mod:`pandas.core.computation.parsing`.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': range(1, 6),\n... 'B': range(10, 0, -2),\n... 'C C': range(10, 5, -1)})\n>>> df\n A B C C\n0 1 10 10\n1 2 8 9\n2 3 6 8\n3 4 4 7\n4 5 2 6\n>>> df.query('A > B')\n A B C C\n4 5 2 6\n\nThe previous expression is equivalent to\n\n>>> df[df.A > df.B]\n A B C C\n4 5 2 6\n\nFor columns with spaces in their name, you can use backtick quoting.\n\n>>> df.query('B == `C C`')\n A B C C\n0 1 10 10\n\nThe previous expression is equivalent to\n\n>>> df[df.B == df['C C']]\n A B C C\n0 1 10 10\n"}, "kind": 2, "label": "query", "sortText": "131"}, {"detail": "bound method DataFrame.radd(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "radd", "sortText": "132"}, {"detail": "bound method DataFrame.rank(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, method: Literal[\"average\", \"min\", \"max\", \"first\", \"dense\"] = \"average\", numeric_only: bool = False, na_option: Literal[\"keep\", \"top\", \"bottom\"] = \"keep\", ascending: bool = True, pct: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Compute numerical data ranks (1 through n) along axis.\n\nBy default, equal values are assigned a rank that is the average of the\nranks of those values.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Index to direct ranking.\n For `Series` this parameter is unused and defaults to 0.\nmethod : {'average', 'min', 'max', 'first', 'dense'}, default 'average'\n How to rank the group of records that have the same value (i.e. ties):\n\n * average: average rank of the group\n * min: lowest rank in the group\n * max: highest rank in the group\n * first: ranks assigned in order they appear in the array\n * dense: like 'min', but rank always increases by 1 between groups.\n\nnumeric_only : bool, default False\n For DataFrame objects, rank only numeric columns if set to True.\n\n .. versionchanged:: 2.0.0\n The default value of ``numeric_only`` is now ``False``.\n\nna_option : {'keep', 'top', 'bottom'}, default 'keep'\n How to rank NaN values:\n\n * keep: assign NaN rank to NaN values\n * top: assign lowest rank to NaN values\n * bottom: assign highest rank to NaN values\n\nascending : bool, default True\n Whether or not the elements should be ranked in ascending order.\npct : bool, default False\n Whether or not to display the returned rankings in percentile\n form.\n\nReturns\n-------\nsame type as caller\n Return a Series or DataFrame with data ranks as values.\n\nSee Also\n--------\ncore.groupby.DataFrameGroupBy.rank : Rank of values within each group.\ncore.groupby.SeriesGroupBy.rank : Rank of values within each group.\n\nExamples\n--------\n>>> df = pd.DataFrame(data={'Animal': ['cat', 'penguin', 'dog',\n... 'spider', 'snake'],\n... 'Number_legs': [4, 2, 4, 8, np.nan]})\n>>> df\n Animal Number_legs\n0 cat 4.0\n1 penguin 2.0\n2 dog 4.0\n3 spider 8.0\n4 snake NaN\n\nTies are assigned the mean of the ranks (by default) for the group.\n\n>>> s = pd.Series(range(5), index=list(\"abcde\"))\n>>> s[\"d\"] = s[\"b\"]\n>>> s.rank()\na 1.0\nb 2.5\nc 4.0\nd 2.5\ne 5.0\ndtype: float64\n\nThe following example shows how the method behaves with the above\nparameters:\n\n* default_rank: this is the default behaviour obtained without using\n any parameter.\n* max_rank: setting ``method = 'max'`` the records that have the\n same values are ranked using the highest rank (e.g.: since 'cat'\n and 'dog' are both in the 2nd and 3rd position, rank 3 is assigned.)\n* NA_bottom: choosing ``na_option = 'bottom'``, if there are records\n with NaN values they are placed at the bottom of the ranking.\n* pct_rank: when setting ``pct = True``, the ranking is expressed as\n percentile rank.\n\n>>> df['default_rank'] = df['Number_legs'].rank()\n>>> df['max_rank'] = df['Number_legs'].rank(method='max')\n>>> df['NA_bottom'] = df['Number_legs'].rank(na_option='bottom')\n>>> df['pct_rank'] = df['Number_legs'].rank(pct=True)\n>>> df\n Animal Number_legs default_rank max_rank NA_bottom pct_rank\n0 cat 4.0 2.5 3.0 2.5 0.625\n1 penguin 2.0 1.0 1.0 1.0 0.250\n2 dog 4.0 2.5 3.0 2.5 0.625\n3 spider 8.0 4.0 4.0 4.0 1.000\n4 snake NaN NaN NaN 5.0 NaN\n"}, "kind": 2, "label": "rank", "sortText": "133"}, {"detail": "(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 3, "label": "rdiv", "sortText": "134"}, {"detail": "bound method DataFrame.reindex(labels=None, *, index=None, columns=None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\", \"nearest\"] | None = None, copy: bool | None = None, level: Hashable = None, fill_value: str | float | Period | ... omitted 6 union elements = ..., limit: int | None = None, tolerance=None) -> DataFrame", "kind": 2, "label": "reindex", "sortText": "135"}, {"detail": "bound method DataFrame.reindex_like(other, method: Literal[\"backfill\", \"bfill\", \"pad\", \"ffill\", \"nearest\"] | None = None, copy: bool | None = None, limit: int | None = None, tolerance=None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return an object with matching indices as other object.\n\nConform the object to the same index on all axes. Optional\nfilling logic, placing NaN in locations having no value\nin the previous index. A new object is produced unless the\nnew index is equivalent to the current one and copy=False.\n\nParameters\n----------\nother : Object of the same data type\n Its row and column indices are used to define the new indices\n of this object.\nmethod : {None, 'backfill'/'bfill', 'pad'/'ffill', 'nearest'}\n Method to use for filling holes in reindexed DataFrame.\n Please note: this is only applicable to DataFrames/Series with a\n monotonically increasing/decreasing index.\n\n * None (default): don't fill gaps\n * pad / ffill: propagate last valid observation forward to next\n valid\n * backfill / bfill: use next valid observation to fill gap\n * nearest: use nearest valid observations to fill gap.\n\ncopy : bool, default True\n Return a new object, even if the passed indexes are the same.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\nlimit : int, default None\n Maximum number of consecutive labels to fill for inexact matches.\ntolerance : optional\n Maximum distance between original and new labels for inexact\n matches. The values of the index at the matching locations must\n satisfy the equation ``abs(index[indexer] - target) <= tolerance``.\n\n Tolerance may be a scalar value, which applies the same tolerance\n to all values, or list-like, which applies variable tolerance per\n element. List-like includes list, tuple, array, Series, and must be\n the same size as the index and its dtype must exactly match the\n index's type.\n\nReturns\n-------\nSeries or DataFrame\n Same type as caller, but with changed indices on each axis.\n\nSee Also\n--------\nDataFrame.set_index : Set row labels.\nDataFrame.reset_index : Remove row labels or move them to new columns.\nDataFrame.reindex : Change to new indices or expand indices.\n\nNotes\n-----\nSame as calling\n``.reindex(index=other.index, columns=other.columns,...)``.\n\nExamples\n--------\n>>> df1 = pd.DataFrame([[24.3, 75.7, 'high'],\n... [31, 87.8, 'high'],\n... [22, 71.6, 'medium'],\n... [35, 95, 'medium']],\n... columns=['temp_celsius', 'temp_fahrenheit',\n... 'windspeed'],\n... index=pd.date_range(start='2014-02-12',\n... end='2014-02-15', freq='D'))\n\n>>> df1\n temp_celsius temp_fahrenheit windspeed\n2014-02-12 24.3 75.7 high\n2014-02-13 31.0 87.8 high\n2014-02-14 22.0 71.6 medium\n2014-02-15 35.0 95.0 medium\n\n>>> df2 = pd.DataFrame([[28, 'low'],\n... [30, 'low'],\n... [35.1, 'medium']],\n... columns=['temp_celsius', 'windspeed'],\n... index=pd.DatetimeIndex(['2014-02-12', '2014-02-13',\n... '2014-02-15']))\n\n>>> df2\n temp_celsius windspeed\n2014-02-12 28.0 low\n2014-02-13 30.0 low\n2014-02-15 35.1 medium\n\n>>> df2.reindex_like(df1)\n temp_celsius temp_fahrenheit windspeed\n2014-02-12 28.0 NaN low\n2014-02-13 30.0 NaN low\n2014-02-14 NaN NaN NaN\n2014-02-15 35.1 NaN medium\n"}, "kind": 2, "label": "reindex_like", "sortText": "136"}, {"detail": "Overload[(mapper: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., *, index: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., columns: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., copy: bool | None = ..., inplace: Literal[True], level: Hashable = ..., errors: Literal[\"ignore\", \"raise\"] = ...) -> None, (mapper: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., *, index: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., columns: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., copy: bool | None = ..., inplace: Literal[False] = ..., level: Hashable = ..., errors: Literal[\"ignore\", \"raise\"] = ...) -> DataFrame, (mapper: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., *, index: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., columns: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., copy: bool | None = ..., inplace: bool = ..., level: Hashable = ..., errors: Literal[\"ignore\", \"raise\"] = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Rename columns or index labels.\n\nFunction / dict values must be unique (1-to-1). Labels not contained in\na dict / Series will be left as-is. Extra labels listed don't throw an\nerror.\n\nSee the :ref:`user guide ` for more.\n\nParameters\n----------\nmapper : dict-like or function\n Dict-like or function transformations to apply to\n that axis' values. Use either ``mapper`` and ``axis`` to\n specify the axis to target with ``mapper``, or ``index`` and\n ``columns``.\nindex : dict-like or function\n Alternative to specifying axis (``mapper, axis=0``\n is equivalent to ``index=mapper``).\ncolumns : dict-like or function\n Alternative to specifying axis (``mapper, axis=1``\n is equivalent to ``columns=mapper``).\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Axis to target with ``mapper``. Can be either the axis name\n ('index', 'columns') or number (0, 1). The default is 'index'.\ncopy : bool, default True\n Also copy underlying data.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\ninplace : bool, default False\n Whether to modify the DataFrame rather than creating a new one.\n If True then value of copy is ignored.\nlevel : int or level name, default None\n In case of a MultiIndex, only rename labels in the specified\n level.\nerrors : {'ignore', 'raise'}, default 'ignore'\n If 'raise', raise a `KeyError` when a dict-like `mapper`, `index`,\n or `columns` contains labels that are not present in the Index\n being transformed.\n If 'ignore', existing keys will be renamed and extra keys will be\n ignored.\n\nReturns\n-------\nDataFrame or None\n DataFrame with the renamed axis labels or None if ``inplace=True``.\n\nRaises\n------\nKeyError\n If any of the labels is not found in the selected axis and\n \"errors='raise'\".\n\nSee Also\n--------\nDataFrame.rename_axis : Set the name of the axis.\n\nExamples\n--------\n``DataFrame.rename`` supports two calling conventions\n\n* ``(index=index_mapper, columns=columns_mapper, ...)``\n* ``(mapper, axis={'index', 'columns'}, ...)``\n\nWe *highly* recommend using keyword arguments to clarify your\nintent.\n\nRename columns using a mapping:\n\n>>> df = pd.DataFrame({\"A\": [1, 2, 3], \"B\": [4, 5, 6]})\n>>> df.rename(columns={\"A\": \"a\", \"B\": \"c\"})\n a c\n0 1 4\n1 2 5\n2 3 6\n\nRename index using a mapping:\n\n>>> df.rename(index={0: \"x\", 1: \"y\", 2: \"z\"})\n A B\nx 1 4\ny 2 5\nz 3 6\n\nCast index labels to a different type:\n\n>>> df.index\nRangeIndex(start=0, stop=3, step=1)\n>>> df.rename(index=str).index\nIndex(['0', '1', '2'], dtype='object')\n\n>>> df.rename(columns={\"A\": \"a\", \"B\": \"b\", \"C\": \"c\"}, errors=\"raise\")\nTraceback (most recent call last):\nKeyError: ['C'] not found in axis\n\nUsing axis-style parameters:\n\n>>> df.rename(str.lower, axis='columns')\n a b\n0 1 4\n1 2 5\n2 3 6\n\n>>> df.rename({1: 2, 2: 4}, axis='index')\n A B\n0 1 4\n2 2 5\n4 3 6\n"}, "kind": 2, "label": "rename", "sortText": "137"}, {"detail": "Overload[(mapper: Hashable | Sequence[Hashable] = ..., *, index=..., columns=..., axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., copy: bool | None = ..., inplace: Literal[False] = ...) -> DataFrame, (mapper: Hashable | Sequence[Hashable] = ..., *, index=..., columns=..., axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., copy: bool | None = ..., inplace: Literal[True]) -> None, (mapper: Hashable | Sequence[Hashable] = ..., *, index=..., columns=..., axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., copy: bool | None = ..., inplace: bool = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Set the name of the axis for the index or columns.\n\nParameters\n----------\nmapper : scalar, list-like, optional\n Value to set the axis name attribute.\nindex, columns : scalar, list-like, dict-like or function, optional\n A scalar, list-like, dict-like or functions transformations to\n apply to that axis' values.\n Note that the ``columns`` parameter is not allowed if the\n object is a Series. This parameter only apply for DataFrame\n type objects.\n\n Use either ``mapper`` and ``axis`` to\n specify the axis to target with ``mapper``, or ``index``\n and/or ``columns``.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to rename. For `Series` this parameter is unused and defaults to 0.\ncopy : bool, default None\n Also copy underlying data.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\ninplace : bool, default False\n Modifies the object directly, instead of creating a new Series\n or DataFrame.\n\nReturns\n-------\nSeries, DataFrame, or None\n The same type as the caller or None if ``inplace=True``.\n\nSee Also\n--------\nSeries.rename : Alter Series index labels or name.\nDataFrame.rename : Alter DataFrame index labels or name.\nIndex.rename : Set new names on index.\n\nNotes\n-----\n``DataFrame.rename_axis`` supports two calling conventions\n\n* ``(index=index_mapper, columns=columns_mapper, ...)``\n* ``(mapper, axis={'index', 'columns'}, ...)``\n\nThe first calling convention will only modify the names of\nthe index and/or the names of the Index object that is the columns.\nIn this case, the parameter ``copy`` is ignored.\n\nThe second calling convention will modify the names of the\ncorresponding index if mapper is a list or a scalar.\nHowever, if mapper is dict-like or a function, it will use the\ndeprecated behavior of modifying the axis *labels*.\n\nWe *highly* recommend using keyword arguments to clarify your\nintent.\n\nExamples\n--------\n**Series**\n\n>>> s = pd.Series([\"dog\", \"cat\", \"monkey\"])\n>>> s\n0 dog\n1 cat\n2 monkey\ndtype: object\n>>> s.rename_axis(\"animal\")\nanimal\n0 dog\n1 cat\n2 monkey\ndtype: object\n\n**DataFrame**\n\n>>> df = pd.DataFrame({\"num_legs\": [4, 4, 2],\n... \"num_arms\": [0, 0, 2]},\n... [\"dog\", \"cat\", \"monkey\"])\n>>> df\n num_legs num_arms\ndog 4 0\ncat 4 0\nmonkey 2 2\n>>> df = df.rename_axis(\"animal\")\n>>> df\n num_legs num_arms\nanimal\ndog 4 0\ncat 4 0\nmonkey 2 2\n>>> df = df.rename_axis(\"limbs\", axis=\"columns\")\n>>> df\nlimbs num_legs num_arms\nanimal\ndog 4 0\ncat 4 0\nmonkey 2 2\n\n**MultiIndex**\n\n>>> df.index = pd.MultiIndex.from_product([['mammal'],\n... ['dog', 'cat', 'monkey']],\n... names=['type', 'name'])\n>>> df\nlimbs num_legs num_arms\ntype name\nmammal dog 4 0\n cat 4 0\n monkey 2 2\n\n>>> df.rename_axis(index={'type': 'class'})\nlimbs num_legs num_arms\nclass name\nmammal dog 4 0\n cat 4 0\n monkey 2 2\n\n>>> df.rename_axis(columns=str.upper)\nLIMBS num_legs num_arms\ntype name\nmammal dog 4 0\n cat 4 0\n monkey 2 2\n"}, "kind": 2, "label": "rename_axis", "sortText": "138"}, {"detail": "bound method DataFrame.reorder_levels(order: Sequence[int | str], axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Rearrange index levels using input order. May not drop or duplicate levels.\n\nParameters\n----------\norder : list of int or list of str\n List representing new level order. Reference level by number\n (position) or by key (label).\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Where to reorder levels.\n\nReturns\n-------\nDataFrame\n\nExamples\n--------\n>>> data = {\n... \"class\": [\"Mammals\", \"Mammals\", \"Reptiles\"],\n... \"diet\": [\"Omnivore\", \"Carnivore\", \"Carnivore\"],\n... \"species\": [\"Humans\", \"Dogs\", \"Snakes\"],\n... }\n>>> df = pd.DataFrame(data, columns=[\"class\", \"diet\", \"species\"])\n>>> df = df.set_index([\"class\", \"diet\"])\n>>> df\n species\nclass diet\nMammals Omnivore Humans\n Carnivore Dogs\nReptiles Carnivore Snakes\n\nLet's reorder the levels of the index:\n\n>>> df.reorder_levels([\"diet\", \"class\"])\n species\ndiet class\nOmnivore Mammals Humans\nCarnivore Mammals Dogs\n Reptiles Snakes\n"}, "kind": 2, "label": "reorder_levels", "sortText": "139"}, {"detail": "Overload[(to_replace=..., value=..., *, inplace: Literal[False] = ..., limit: int | None = ..., regex: bool = ..., method: Literal[\"pad\", \"ffill\", \"bfill\"] | _NoDefault = ...) -> DataFrame, (to_replace=..., value=..., *, inplace: Literal[True], limit: int | None = ..., regex: bool = ..., method: Literal[\"pad\", \"ffill\", \"bfill\"] | _NoDefault = ...) -> None, (to_replace=..., value=..., *, inplace: bool = ..., limit: int | None = ..., regex: bool = ..., method: Literal[\"pad\", \"ffill\", \"bfill\"] | _NoDefault = ...) -> DataFrame | None]", "kind": 2, "label": "replace", "sortText": "140"}, {"detail": "bound method DataFrame.resample(rule, axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., closed: Literal[\"right\", \"left\"] | None = None, label: Literal[\"right\", \"left\"] | None = None, convention: Literal[\"start\", \"end\", \"s\", \"e\"] = \"start\", kind: Literal[\"timestamp\", \"period\"] | None | _NoDefault = ..., on: Hashable = None, level: Hashable = None, origin: str | date | datetime64[Any] | signedinteger[_64Bit] | float = \"start_day\", offset: timedelta | timedelta64[Any] | signedinteger[_64Bit] | ... omitted 3 union elements = None, group_keys: bool = False) -> Resampler", "documentation": {"kind": "plaintext", "value": "Resample time-series data.\n\nConvenience method for frequency conversion and resampling of time series.\nThe object must have a datetime-like index (`DatetimeIndex`, `PeriodIndex`,\nor `TimedeltaIndex`), or the caller must pass the label of a datetime-like\nseries/index to the ``on``/``level`` keyword parameter.\n\nParameters\n----------\nrule : DateOffset, Timedelta or str\n The offset string or object representing target conversion.\naxis : {{0 or 'index', 1 or 'columns'}}, default 0\n Which axis to use for up- or down-sampling. For `Series` this parameter\n is unused and defaults to 0. Must be\n `DatetimeIndex`, `TimedeltaIndex` or `PeriodIndex`.\n\n .. deprecated:: 2.0.0\n Use frame.T.resample(...) instead.\nclosed : {{'right', 'left'}}, default None\n Which side of bin interval is closed. The default is 'left'\n for all frequency offsets except for 'ME', 'YE', 'QE', 'BME',\n 'BA', 'BQE', and 'W' which all have a default of 'right'.\nlabel : {{'right', 'left'}}, default None\n Which bin edge label to label bucket with. The default is 'left'\n for all frequency offsets except for 'ME', 'YE', 'QE', 'BME',\n 'BA', 'BQE', and 'W' which all have a default of 'right'.\nconvention : {{'start', 'end', 's', 'e'}}, default 'start'\n For `PeriodIndex` only, controls whether to use the start or\n end of `rule`.\n\nkind : {{'timestamp', 'period'}}, optional, default None\n Pass 'timestamp' to convert the resulting index to a\n `DateTimeIndex` or 'period' to convert it to a `PeriodIndex`.\n By default the input representation is retained.\n\n .. deprecated:: 2.2.0\n Convert index to desired type explicitly instead.\n\non : str, optional\n For a DataFrame, column to use instead of index for resampling.\n Column must be datetime-like.\nlevel : str or int, optional\n For a MultiIndex, level (name or number) to use for\n resampling. `level` must be datetime-like.\norigin : Timestamp or str, default 'start_day'\n The timestamp on which to adjust the grouping. The timezone of origin\n must match the timezone of the index.\n If string, must be one of the following:\n\n - 'epoch': `origin` is 1970-01-01\n - 'start': `origin` is the first value of the timeseries\n - 'start_day': `origin` is the first day at midnight of the timeseries\n\n - 'end': `origin` is the last value of the timeseries\n - 'end_day': `origin` is the ceiling midnight of the last day\n\n .. versionadded:: 1.3.0\n\n .. note::\n\n Only takes effect for Tick-frequencies (i.e. fixed frequencies like\n days, hours, and minutes, rather than months or quarters).\noffset : Timedelta or str, default is None\n An offset timedelta added to the origin.\n\ngroup_keys : bool, default False\n Whether to include the group keys in the result index when using\n ``.apply()`` on the resampled object.\n\n .. versionadded:: 1.5.0\n\n Not specifying ``group_keys`` will retain values-dependent behavior\n from pandas 1.4 and earlier (see :ref:`pandas 1.5.0 Release notes\n ` for examples).\n\n .. versionchanged:: 2.0.0\n\n ``group_keys`` now defaults to ``False``.\n\nReturns\n-------\npandas.api.typing.Resampler\n :class:`~pandas.core.Resampler` object.\n\nSee Also\n--------\nSeries.resample : Resample a Series.\nDataFrame.resample : Resample a DataFrame.\ngroupby : Group {klass} by mapping, function, label, or list of labels.\nasfreq : Reindex a {klass} with the given frequency without grouping.\n\nNotes\n-----\nSee the `user guide\n`__\nfor more.\n\nTo learn more about the offset strings, please see `this link\n`__.\n\nExamples\n--------\nStart by creating a series with 9 one minute timestamps.\n\n>>> index = pd.date_range('1/1/2000', periods=9, freq='min')\n>>> series = pd.Series(range(9), index=index)\n>>> series\n2000-01-01 00:00:00 0\n2000-01-01 00:01:00 1\n2000-01-01 00:02:00 2\n2000-01-01 00:03:00 3\n2000-01-01 00:04:00 4\n2000-01-01 00:05:00 5\n2000-01-01 00:06:00 6\n2000-01-01 00:07:00 7\n2000-01-01 00:08:00 8\nFreq: min, dtype: int64\n\nDownsample the series into 3 minute bins and sum the values\nof the timestamps falling into a bin.\n\n>>> series.resample('3min').sum()\n2000-01-01 00:00:00 3\n2000-01-01 00:03:00 12\n2000-01-01 00:06:00 21\nFreq: 3min, dtype: int64\n\nDownsample the series into 3 minute bins as above, but label each\nbin using the right edge instead of the left. Please note that the\nvalue in the bucket used as the label is not included in the bucket,\nwhich it labels. For example, in the original series the\nbucket ``2000-01-01 00:03:00`` contains the value 3, but the summed\nvalue in the resampled bucket with the label ``2000-01-01 00:03:00``\ndoes not include 3 (if it did, the summed value would be 6, not 3).\n\n>>> series.resample('3min', label='right').sum()\n2000-01-01 00:03:00 3\n2000-01-01 00:06:00 12\n2000-01-01 00:09:00 21\nFreq: 3min, dtype: int64\n\nTo include this value close the right side of the bin interval,\nas shown below.\n\n>>> series.resample('3min', label='right', closed='right').sum()\n2000-01-01 00:00:00 0\n2000-01-01 00:03:00 6\n2000-01-01 00:06:00 15\n2000-01-01 00:09:00 15\nFreq: 3min, dtype: int64\n\nUpsample the series into 30 second bins.\n\n>>> series.resample('30s').asfreq()[0:5] # Select first 5 rows\n2000-01-01 00:00:00 0.0\n2000-01-01 00:00:30 NaN\n2000-01-01 00:01:00 1.0\n2000-01-01 00:01:30 NaN\n2000-01-01 00:02:00 2.0\nFreq: 30s, dtype: float64\n\nUpsample the series into 30 second bins and fill the ``NaN``\nvalues using the ``ffill`` method.\n\n>>> series.resample('30s').ffill()[0:5]\n2000-01-01 00:00:00 0\n2000-01-01 00:00:30 0\n2000-01-01 00:01:00 1\n2000-01-01 00:01:30 1\n2000-01-01 00:02:00 2\nFreq: 30s, dtype: int64\n\nUpsample the series into 30 second bins and fill the\n``NaN`` values using the ``bfill`` method.\n\n>>> series.resample('30s').bfill()[0:5]\n2000-01-01 00:00:00 0\n2000-01-01 00:00:30 1\n2000-01-01 00:01:00 1\n2000-01-01 00:01:30 2\n2000-01-01 00:02:00 2\nFreq: 30s, dtype: int64\n\nPass a custom function via ``apply``\n\n>>> def custom_resampler(arraylike):\n... return np.sum(arraylike) + 5\n...\n>>> series.resample('3min').apply(custom_resampler)\n2000-01-01 00:00:00 8\n2000-01-01 00:03:00 17\n2000-01-01 00:06:00 26\nFreq: 3min, dtype: int64\n\nFor a Series with a PeriodIndex, the keyword `convention` can be\nused to control whether to use the start or end of `rule`.\n\nResample a year by quarter using 'start' `convention`. Values are\nassigned to the first quarter of the period.\n\n>>> s = pd.Series(\n... [1, 2], index=pd.period_range(\"2012-01-01\", freq=\"Y\", periods=2)\n... )\n>>> s\n2012 1\n2013 2\nFreq: Y-DEC, dtype: int64\n>>> s.resample(\"Q\", convention=\"start\").asfreq()\n2012Q1 1.0\n2012Q2 NaN\n2012Q3 NaN\n2012Q4 NaN\n2013Q1 2.0\n2013Q2 NaN\n2013Q3 NaN\n2013Q4 NaN\nFreq: Q-DEC, dtype: float64\n\nResample quarters by month using 'end' `convention`. Values are\nassigned to the last month of the period.\n\n>>> q = pd.Series(\n... [1, 2, 3, 4], index=pd.period_range(\"2018-01-01\", freq=\"Q\", periods=4)\n... )\n>>> q\n2018Q1 1\n2018Q2 2\n2018Q3 3\n2018Q4 4\nFreq: Q-DEC, dtype: int64\n>>> q.resample(\"M\", convention=\"end\").asfreq()\n2018-03 1.0\n2018-04 NaN\n2018-05 NaN\n2018-06 2.0\n2018-07 NaN\n2018-08 NaN\n2018-09 3.0\n2018-10 NaN\n2018-11 NaN\n2018-12 4.0\nFreq: M, dtype: float64\n\nFor DataFrame objects, the keyword `on` can be used to specify the\ncolumn instead of the index for resampling.\n\n>>> d = {{'price': [10, 11, 9, 13, 14, 18, 17, 19],\n... 'volume': [50, 60, 40, 100, 50, 100, 40, 50]}}\n>>> df = pd.DataFrame(d)\n>>> df['week_starting'] = pd.date_range('01/01/2018',\n... periods=8,\n... freq='W')\n>>> df\n price volume week_starting\n0 10 50 2018-01-07\n1 11 60 2018-01-14\n2 9 40 2018-01-21\n3 13 100 2018-01-28\n4 14 50 2018-02-04\n5 18 100 2018-02-11\n6 17 40 2018-02-18\n7 19 50 2018-02-25\n>>> df.resample('ME', on='week_starting').mean()\n price volume\nweek_starting\n2018-01-31 10.75 62.5\n2018-02-28 17.00 60.0\n\nFor a DataFrame with MultiIndex, the keyword `level` can be used to\nspecify on which level the resampling needs to take place.\n\n>>> days = pd.date_range('1/1/2000', periods=4, freq='D')\n>>> d2 = {{'price': [10, 11, 9, 13, 14, 18, 17, 19],\n... 'volume': [50, 60, 40, 100, 50, 100, 40, 50]}}\n>>> df2 = pd.DataFrame(\n... d2,\n... index=pd.MultiIndex.from_product(\n... [days, ['morning', 'afternoon']]\n... )\n... )\n>>> df2\n price volume\n2000-01-01 morning 10 50\n afternoon 11 60\n2000-01-02 morning 9 40\n afternoon 13 100\n2000-01-03 morning 14 50\n afternoon 18 100\n2000-01-04 morning 17 40\n afternoon 19 50\n>>> df2.resample('D', level=0).sum()\n price volume\n2000-01-01 21 110\n2000-01-02 22 140\n2000-01-03 32 150\n2000-01-04 36 90\n\nIf you want to adjust the start of the bins based on a fixed timestamp:\n\n>>> start, end = '2000-10-01 23:30:00', '2000-10-02 00:30:00'\n>>> rng = pd.date_range(start, end, freq='7min')\n>>> ts = pd.Series(np.arange(len(rng)) * 3, index=rng)\n>>> ts\n2000-10-01 23:30:00 0\n2000-10-01 23:37:00 3\n2000-10-01 23:44:00 6\n2000-10-01 23:51:00 9\n2000-10-01 23:58:00 12\n2000-10-02 00:05:00 15\n2000-10-02 00:12:00 18\n2000-10-02 00:19:00 21\n2000-10-02 00:26:00 24\nFreq: 7min, dtype: int64\n\n>>> ts.resample('17min').sum()\n2000-10-01 23:14:00 0\n2000-10-01 23:31:00 9\n2000-10-01 23:48:00 21\n2000-10-02 00:05:00 54\n2000-10-02 00:22:00 24\nFreq: 17min, dtype: int64\n\n>>> ts.resample('17min', origin='epoch').sum()\n2000-10-01 23:18:00 0\n2000-10-01 23:35:00 18\n2000-10-01 23:52:00 27\n2000-10-02 00:09:00 39\n2000-10-02 00:26:00 24\nFreq: 17min, dtype: int64\n\n>>> ts.resample('17min', origin='2000-01-01').sum()\n2000-10-01 23:24:00 3\n2000-10-01 23:41:00 15\n2000-10-01 23:58:00 45\n2000-10-02 00:15:00 45\nFreq: 17min, dtype: int64\n\nIf you want to adjust the start of the bins with an `offset` Timedelta, the two\nfollowing lines are equivalent:\n\n>>> ts.resample('17min', origin='start').sum()\n2000-10-01 23:30:00 9\n2000-10-01 23:47:00 21\n2000-10-02 00:04:00 54\n2000-10-02 00:21:00 24\nFreq: 17min, dtype: int64\n\n>>> ts.resample('17min', offset='23h30min').sum()\n2000-10-01 23:30:00 9\n2000-10-01 23:47:00 21\n2000-10-02 00:04:00 54\n2000-10-02 00:21:00 24\nFreq: 17min, dtype: int64\n\nIf you want to take the largest Timestamp as the end of the bins:\n\n>>> ts.resample('17min', origin='end').sum()\n2000-10-01 23:35:00 0\n2000-10-01 23:52:00 18\n2000-10-02 00:09:00 27\n2000-10-02 00:26:00 63\nFreq: 17min, dtype: int64\n\nIn contrast with the `start_day`, you can use `end_day` to take the ceiling\nmidnight of the largest Timestamp as the end of the bins and drop the bins\nnot containing data:\n\n>>> ts.resample('17min', origin='end_day').sum()\n2000-10-01 23:38:00 3\n2000-10-01 23:55:00 15\n2000-10-02 00:12:00 45\n2000-10-02 00:29:00 45\nFreq: 17min, dtype: int64\n"}, "kind": 2, "label": "resample", "sortText": "141"}, {"detail": "Overload[(level: Hashable | Sequence[Hashable] = ..., *, drop: bool = ..., inplace: Literal[False] = ..., col_level: Hashable = ..., col_fill: Hashable = ..., allow_duplicates: bool | _NoDefault = ..., names: Hashable | Sequence[Hashable] = None) -> DataFrame, (level: Hashable | Sequence[Hashable] = ..., *, drop: bool = ..., inplace: Literal[True], col_level: Hashable = ..., col_fill: Hashable = ..., allow_duplicates: bool | _NoDefault = ..., names: Hashable | Sequence[Hashable] = None) -> None, (level: Hashable | Sequence[Hashable] = ..., *, drop: bool = ..., inplace: bool = ..., col_level: Hashable = ..., col_fill: Hashable = ..., allow_duplicates: bool | _NoDefault = ..., names: Hashable | Sequence[Hashable] = None) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Reset the index, or a level of it.\n\nReset the index of the DataFrame, and use the default one instead.\nIf the DataFrame has a MultiIndex, this method can remove one or more\nlevels.\n\nParameters\n----------\nlevel : int, str, tuple, or list, default None\n Only remove the given levels from the index. Removes all levels by\n default.\ndrop : bool, default False\n Do not try to insert index into dataframe columns. This resets\n the index to the default integer index.\ninplace : bool, default False\n Whether to modify the DataFrame rather than creating a new one.\ncol_level : int or str, default 0\n If the columns have multiple levels, determines which level the\n labels are inserted into. By default it is inserted into the first\n level.\ncol_fill : object, default ''\n If the columns have multiple levels, determines how the other\n levels are named. If None then the index name is repeated.\nallow_duplicates : bool, optional, default lib.no_default\n Allow duplicate column labels to be created.\n\n .. versionadded:: 1.5.0\n\nnames : int, str or 1-dimensional list, default None\n Using the given string, rename the DataFrame column which contains the\n index data. If the DataFrame has a MultiIndex, this has to be a list or\n tuple with length equal to the number of levels.\n\n .. versionadded:: 1.5.0\n\nReturns\n-------\nDataFrame or None\n DataFrame with the new index or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.set_index : Opposite of reset_index.\nDataFrame.reindex : Change to new indices or expand indices.\nDataFrame.reindex_like : Change to same indices as other DataFrame.\n\nExamples\n--------\n>>> df = pd.DataFrame([('bird', 389.0),\n... ('bird', 24.0),\n... ('mammal', 80.5),\n... ('mammal', np.nan)],\n... index=['falcon', 'parrot', 'lion', 'monkey'],\n... columns=('class', 'max_speed'))\n>>> df\n class max_speed\nfalcon bird 389.0\nparrot bird 24.0\nlion mammal 80.5\nmonkey mammal NaN\n\nWhen we reset the index, the old index is added as a column, and a\nnew sequential index is used:\n\n>>> df.reset_index()\n index class max_speed\n0 falcon bird 389.0\n1 parrot bird 24.0\n2 lion mammal 80.5\n3 monkey mammal NaN\n\nWe can use the `drop` parameter to avoid the old index being added as\na column:\n\n>>> df.reset_index(drop=True)\n class max_speed\n0 bird 389.0\n1 bird 24.0\n2 mammal 80.5\n3 mammal NaN\n\nYou can also use `reset_index` with `MultiIndex`.\n\n>>> index = pd.MultiIndex.from_tuples([('bird', 'falcon'),\n... ('bird', 'parrot'),\n... ('mammal', 'lion'),\n... ('mammal', 'monkey')],\n... names=['class', 'name'])\n>>> columns = pd.MultiIndex.from_tuples([('speed', 'max'),\n... ('species', 'type')])\n>>> df = pd.DataFrame([(389.0, 'fly'),\n... (24.0, 'fly'),\n... (80.5, 'run'),\n... (np.nan, 'jump')],\n... index=index,\n... columns=columns)\n>>> df\n speed species\n max type\nclass name\nbird falcon 389.0 fly\n parrot 24.0 fly\nmammal lion 80.5 run\n monkey NaN jump\n\nUsing the `names` parameter, choose a name for the index column:\n\n>>> df.reset_index(names=['classes', 'names'])\n classes names speed species\n max type\n0 bird falcon 389.0 fly\n1 bird parrot 24.0 fly\n2 mammal lion 80.5 run\n3 mammal monkey NaN jump\n\nIf the index has multiple levels, we can reset a subset of them:\n\n>>> df.reset_index(level='class')\n class speed species\n max type\nname\nfalcon bird 389.0 fly\nparrot bird 24.0 fly\nlion mammal 80.5 run\nmonkey mammal NaN jump\n\nIf we are not dropping the index, by default, it is placed in the top\nlevel. We can place it in another level:\n\n>>> df.reset_index(level='class', col_level=1)\n speed species\n class max type\nname\nfalcon bird 389.0 fly\nparrot bird 24.0 fly\nlion mammal 80.5 run\nmonkey mammal NaN jump\n\nWhen the index is inserted under another level, we can specify under\nwhich one with the parameter `col_fill`:\n\n>>> df.reset_index(level='class', col_level=1, col_fill='species')\n species speed species\n class max type\nname\nfalcon bird 389.0 fly\nparrot bird 24.0 fly\nlion mammal 80.5 run\nmonkey mammal NaN jump\n\nIf we specify a nonexistent level for `col_fill`, it is created:\n\n>>> df.reset_index(level='class', col_level=1, col_fill='genus')\n genus speed species\n class max type\nname\nfalcon bird 389.0 fly\nparrot bird 24.0 fly\nlion mammal 80.5 run\nmonkey mammal NaN jump\n"}, "kind": 2, "label": "reset_index", "sortText": "142"}, {"detail": "bound method DataFrame.rfloordiv(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rfloordiv", "sortText": "143"}, {"detail": "bound method DataFrame.rmod(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rmod", "sortText": "144"}, {"detail": "bound method DataFrame.rmul(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rmul", "sortText": "145"}, {"detail": "bound method DataFrame.rolling(window: int | timedelta | str | BaseOffset | BaseIndexer, min_periods: int | None = None, center: bool = False, win_type: str | None = None, on: str | None = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., closed: Literal[\"left\", \"right\", \"both\", \"neither\"] | None = None, step: int | None = None, method: str = \"single\") -> Window | Rolling", "kind": 2, "label": "rolling", "sortText": "146"}, {"detail": "bound method DataFrame.round(decimals: int | dict[Hashable | Sequence[Hashable], int] | Series = 0, *args, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Round a DataFrame to a variable number of decimal places.\n\nParameters\n----------\ndecimals : int, dict, Series\n Number of decimal places to round each column to. If an int is\n given, round each column to the same number of places.\n Otherwise dict and Series round to variable numbers of places.\n Column names should be in the keys if `decimals` is a\n dict-like, or in the index if `decimals` is a Series. Any\n columns not included in `decimals` will be left as is. Elements\n of `decimals` which are not columns of the input will be\n ignored.\n*args\n Additional keywords have no effect but might be accepted for\n compatibility with numpy.\n**kwargs\n Additional keywords have no effect but might be accepted for\n compatibility with numpy.\n\nReturns\n-------\nDataFrame\n A DataFrame with the affected columns rounded to the specified\n number of decimal places.\n\nSee Also\n--------\nnumpy.around : Round a numpy array to the given number of decimals.\nSeries.round : Round a Series to the given number of decimals.\n\nExamples\n--------\n>>> df = pd.DataFrame([(.21, .32), (.01, .67), (.66, .03), (.21, .18)],\n... columns=['dogs', 'cats'])\n>>> df\n dogs cats\n0 0.21 0.32\n1 0.01 0.67\n2 0.66 0.03\n3 0.21 0.18\n\nBy providing an integer each column is rounded to the same number\nof decimal places\n\n>>> df.round(1)\n dogs cats\n0 0.2 0.3\n1 0.0 0.7\n2 0.7 0.0\n3 0.2 0.2\n\nWith a dict, the number of places for specific columns can be\nspecified with the column names as key and the number of decimal\nplaces as value\n\n>>> df.round({'dogs': 1, 'cats': 0})\n dogs cats\n0 0.2 0.0\n1 0.0 1.0\n2 0.7 0.0\n3 0.2 0.0\n\nUsing a Series, the number of places for specific columns can be\nspecified with the column names as index and the number of\ndecimal places as value\n\n>>> decimals = pd.Series([0, 1], index=['cats', 'dogs'])\n>>> df.round(decimals)\n dogs cats\n0 0.2 0.0\n1 0.0 1.0\n2 0.7 0.0\n3 0.2 0.0\n"}, "kind": 2, "label": "round", "sortText": "147"}, {"detail": "bound method DataFrame.rpow(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rpow", "sortText": "148"}, {"detail": "bound method DataFrame.rsub(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rsub", "sortText": "149"}, {"detail": "bound method DataFrame.rtruediv(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rtruediv", "sortText": "150"}, {"detail": "bound method DataFrame.sample(n: int | None = None, frac: float | None = None, replace: bool = False, weights=None, random_state: int | ndarray[_AnyShape, dtype[Any]] | Generator | ... omitted 3 union elements = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, ignore_index: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return a random sample of items from an axis of object.\n\nYou can use `random_state` for reproducibility.\n\nParameters\n----------\nn : int, optional\n Number of items from axis to return. Cannot be used with `frac`.\n Default = 1 if `frac` = None.\nfrac : float, optional\n Fraction of axis items to return. Cannot be used with `n`.\nreplace : bool, default False\n Allow or disallow sampling of the same row more than once.\nweights : str or ndarray-like, optional\n Default 'None' results in equal probability weighting.\n If passed a Series, will align with target object on index. Index\n values in weights not found in sampled object will be ignored and\n index values in sampled object not in weights will be assigned\n weights of zero.\n If called on a DataFrame, will accept the name of a column\n when axis = 0.\n Unless weights are a Series, weights must be same length as axis\n being sampled.\n If weights do not sum to 1, they will be normalized to sum to 1.\n Missing values in the weights column will be treated as zero.\n Infinite values not allowed.\nrandom_state : int, array-like, BitGenerator, np.random.RandomState, np.random.Generator, optional\n If int, array-like, or BitGenerator, seed for random number generator.\n If np.random.RandomState or np.random.Generator, use as given.\n\n .. versionchanged:: 1.4.0\n\n np.random.Generator objects now accepted\n\naxis : {0 or 'index', 1 or 'columns', None}, default None\n Axis to sample. Accepts axis number or name. Default is stat axis\n for given data type. For `Series` this parameter is unused and defaults to `None`.\nignore_index : bool, default False\n If True, the resulting index will be labeled 0, 1, \u2026, n - 1.\n\n .. versionadded:: 1.3.0\n\nReturns\n-------\nSeries or DataFrame\n A new object of same type as caller containing `n` items randomly\n sampled from the caller object.\n\nSee Also\n--------\nDataFrameGroupBy.sample: Generates random samples from each group of a\n DataFrame object.\nSeriesGroupBy.sample: Generates random samples from each group of a\n Series object.\nnumpy.random.choice: Generates a random sample from a given 1-D numpy\n array.\n\nNotes\n-----\nIf `frac` > 1, `replacement` should be set to `True`.\n\nExamples\n--------\n>>> df = pd.DataFrame({'num_legs': [2, 4, 8, 0],\n... 'num_wings': [2, 0, 0, 0],\n... 'num_specimen_seen': [10, 2, 1, 8]},\n... index=['falcon', 'dog', 'spider', 'fish'])\n>>> df\n num_legs num_wings num_specimen_seen\nfalcon 2 2 10\ndog 4 0 2\nspider 8 0 1\nfish 0 0 8\n\nExtract 3 random elements from the ``Series`` ``df['num_legs']``:\nNote that we use `random_state` to ensure the reproducibility of\nthe examples.\n\n>>> df['num_legs'].sample(n=3, random_state=1)\nfish 0\nspider 8\nfalcon 2\nName: num_legs, dtype: int64\n\nA random 50% sample of the ``DataFrame`` with replacement:\n\n>>> df.sample(frac=0.5, replace=True, random_state=1)\n num_legs num_wings num_specimen_seen\ndog 4 0 2\nfish 0 0 8\n\nAn upsample sample of the ``DataFrame`` with replacement:\nNote that `replace` parameter has to be `True` for `frac` parameter > 1.\n\n>>> df.sample(frac=2, replace=True, random_state=1)\n num_legs num_wings num_specimen_seen\ndog 4 0 2\nfish 0 0 8\nfalcon 2 2 10\nfalcon 2 2 10\nfish 0 0 8\ndog 4 0 2\nfish 0 0 8\ndog 4 0 2\n\nUsing a DataFrame column as weights. Rows with larger value in the\n`num_specimen_seen` column are more likely to be sampled.\n\n>>> df.sample(n=2, weights='num_specimen_seen', random_state=1)\n num_legs num_wings num_specimen_seen\nfalcon 2 2 10\nfish 0 0 8\n"}, "kind": 2, "label": "sample", "sortText": "151"}, {"detail": "bound method DataFrame.select_dtypes(include=None, exclude=None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return a subset of the DataFrame's columns based on the column dtypes.\n\nParameters\n----------\ninclude, exclude : scalar or list-like\n A selection of dtypes or strings to be included/excluded. At least\n one of these parameters must be supplied.\n\nReturns\n-------\nDataFrame\n The subset of the frame including the dtypes in ``include`` and\n excluding the dtypes in ``exclude``.\n\nRaises\n------\nValueError\n * If both of ``include`` and ``exclude`` are empty\n * If ``include`` and ``exclude`` have overlapping elements\n * If any kind of string dtype is passed in.\n\nSee Also\n--------\nDataFrame.dtypes: Return Series with the data type of each column.\n\nNotes\n-----\n* To select all *numeric* types, use ``np.number`` or ``'number'``\n* To select strings you must use the ``object`` dtype, but note that\n this will return *all* object dtype columns. With\n ``pd.options.future.infer_string`` enabled, using ``\"str\"`` will\n work to select all string columns.\n* See the `numpy dtype hierarchy\n `__\n* To select datetimes, use ``np.datetime64``, ``'datetime'`` or\n ``'datetime64'``\n* To select timedeltas, use ``np.timedelta64``, ``'timedelta'`` or\n ``'timedelta64'``\n* To select Pandas categorical dtypes, use ``'category'``\n* To select Pandas datetimetz dtypes, use ``'datetimetz'``\n or ``'datetime64[ns, tz]'``\n\nExamples\n--------\n>>> df = pd.DataFrame({'a': [1, 2] * 3,\n... 'b': [True, False] * 3,\n... 'c': [1.0, 2.0] * 3})\n>>> df\n a b c\n0 1 True 1.0\n1 2 False 2.0\n2 1 True 1.0\n3 2 False 2.0\n4 1 True 1.0\n5 2 False 2.0\n\n>>> df.select_dtypes(include='bool')\n b\n0 True\n1 False\n2 True\n3 False\n4 True\n5 False\n\n>>> df.select_dtypes(include=['float64'])\n c\n0 1.0\n1 2.0\n2 1.0\n3 2.0\n4 1.0\n5 2.0\n\n>>> df.select_dtypes(exclude=['int64'])\n b c\n0 True 1.0\n1 False 2.0\n2 True 1.0\n3 False 2.0\n4 True 1.0\n5 False 2.0\n"}, "kind": 2, "label": "select_dtypes", "sortText": "152"}, {"detail": "bound method DataFrame.sem(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, ddof: int = 1, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "sem", "sortText": "153"}, {"detail": "bound method DataFrame.set_axis(labels, *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, copy: bool | None = None) -> DataFrame", "kind": 2, "label": "set_axis", "sortText": "154"}, {"detail": "bound method DataFrame.set_flags(*, copy: bool = False, allows_duplicate_labels: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return a new object with updated flags.\n\nParameters\n----------\ncopy : bool, default False\n Specify if a copy of the object should be made.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\nallows_duplicate_labels : bool, optional\n Whether the returned object allows duplicate labels.\n\nReturns\n-------\nSeries or DataFrame\n The same type as the caller.\n\nSee Also\n--------\nDataFrame.attrs : Global metadata applying to this dataset.\nDataFrame.flags : Global flags applying to this object.\n\nNotes\n-----\nThis method returns a new object that's a view on the same data\nas the input. Mutating the input or the output values will be reflected\nin the other.\n\nThis method is intended to be used in method chains.\n\n\"Flags\" differ from \"metadata\". Flags reflect properties of the\npandas object (the Series or DataFrame). Metadata refer to properties\nof the dataset, and should be stored in :attr:`DataFrame.attrs`.\n\nExamples\n--------\n>>> df = pd.DataFrame({\"A\": [1, 2]})\n>>> df.flags.allows_duplicate_labels\nTrue\n>>> df2 = df.set_flags(allows_duplicate_labels=False)\n>>> df2.flags.allows_duplicate_labels\nFalse\n"}, "kind": 2, "label": "set_flags", "sortText": "155"}, {"detail": "Overload[(keys, *, drop: bool = ..., append: bool = ..., inplace: Literal[False] = ..., verify_integrity: bool = ...) -> DataFrame, (keys, *, drop: bool = ..., append: bool = ..., inplace: Literal[True], verify_integrity: bool = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Set the DataFrame index using existing columns.\n\nSet the DataFrame index (row labels) using one or more existing\ncolumns or arrays (of the correct length). The index can replace the\nexisting index or expand on it.\n\nParameters\n----------\nkeys : label or array-like or list of labels/arrays\n This parameter can be either a single column key, a single array of\n the same length as the calling DataFrame, or a list containing an\n arbitrary combination of column keys and arrays. Here, \"array\"\n encompasses :class:`Series`, :class:`Index`, ``np.ndarray``, and\n instances of :class:`~collections.abc.Iterator`.\ndrop : bool, default True\n Delete columns to be used as the new index.\nappend : bool, default False\n Whether to append columns to existing index.\ninplace : bool, default False\n Whether to modify the DataFrame rather than creating a new one.\nverify_integrity : bool, default False\n Check the new index for duplicates. Otherwise defer the check until\n necessary. Setting to False will improve the performance of this\n method.\n\nReturns\n-------\nDataFrame or None\n Changed row labels or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.reset_index : Opposite of set_index.\nDataFrame.reindex : Change to new indices or expand indices.\nDataFrame.reindex_like : Change to same indices as other DataFrame.\n\nExamples\n--------\n>>> df = pd.DataFrame({'month': [1, 4, 7, 10],\n... 'year': [2012, 2014, 2013, 2014],\n... 'sale': [55, 40, 84, 31]})\n>>> df\n month year sale\n0 1 2012 55\n1 4 2014 40\n2 7 2013 84\n3 10 2014 31\n\nSet the index to become the 'month' column:\n\n>>> df.set_index('month')\n year sale\nmonth\n1 2012 55\n4 2014 40\n7 2013 84\n10 2014 31\n\nCreate a MultiIndex using columns 'year' and 'month':\n\n>>> df.set_index(['year', 'month'])\n sale\nyear month\n2012 1 55\n2014 4 40\n2013 7 84\n2014 10 31\n\nCreate a MultiIndex using an Index and a column:\n\n>>> df.set_index([pd.Index([1, 2, 3, 4]), 'year'])\n month sale\n year\n1 2012 1 55\n2 2014 4 40\n3 2013 7 84\n4 2014 10 31\n\nCreate a MultiIndex using two Series:\n\n>>> s = pd.Series([1, 2, 3, 4])\n>>> df.set_index([s, s**2])\n month year sale\n1 1 1 2012 55\n2 4 4 2014 40\n3 9 7 2013 84\n4 16 10 2014 31\n"}, "kind": 2, "label": "set_index", "sortText": "156"}, {"detail": "tuple[int, int]", "documentation": {"kind": "plaintext", "value": "Built-in immutable sequence.\n\nIf no argument is given, the constructor returns an empty tuple.\nIf iterable is specified the tuple is initialized from iterable's items.\n\nIf the argument is a tuple, the return value is the same object.\n"}, "kind": 22, "label": "shape", "sortText": "157"}, {"detail": "bound method DataFrame.shift(periods: int | Sequence[int] = 1, freq: str | BaseOffset | None = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, fill_value: Hashable = ..., suffix: str | None = None) -> DataFrame", "kind": 2, "label": "shift", "sortText": "158"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "size", "sortText": "159"}, {"detail": "bound method DataFrame.skew(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "skew", "sortText": "160"}, {"detail": "Overload[(*, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., level: Hashable | Sequence[Hashable] = ..., ascending: bool | Sequence[bool] = ..., inplace: Literal[True], kind: Literal[\"quicksort\", \"mergesort\", \"heapsort\", \"stable\"] = ..., na_position: Literal[\"first\", \"last\"] = ..., sort_remaining: bool = ..., ignore_index: bool = ..., key: ((Index, /) -> Index | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Series) | None = ...) -> None, (*, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., level: Hashable | Sequence[Hashable] = ..., ascending: bool | Sequence[bool] = ..., inplace: Literal[False] = ..., kind: Literal[\"quicksort\", \"mergesort\", \"heapsort\", \"stable\"] = ..., na_position: Literal[\"first\", \"last\"] = ..., sort_remaining: bool = ..., ignore_index: bool = ..., key: ((Index, /) -> Index | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Series) | None = ...) -> DataFrame, (*, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., level: Hashable | Sequence[Hashable] = ..., ascending: bool | Sequence[bool] = ..., inplace: bool = ..., kind: Literal[\"quicksort\", \"mergesort\", \"heapsort\", \"stable\"] = ..., na_position: Literal[\"first\", \"last\"] = ..., sort_remaining: bool = ..., ignore_index: bool = ..., key: ((Index, /) -> Index | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Series) | None = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Sort object by labels (along an axis).\n\nReturns a new DataFrame sorted by label if `inplace` argument is\n``False``, otherwise updates the original DataFrame and returns None.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis along which to sort. The value 0 identifies the rows,\n and 1 identifies the columns.\nlevel : int or level name or list of ints or list of level names\n If not None, sort on values in specified index level(s).\nascending : bool or list-like of bools, default True\n Sort ascending vs. descending. When the index is a MultiIndex the\n sort direction can be controlled for each level individually.\ninplace : bool, default False\n Whether to modify the DataFrame rather than creating a new one.\nkind : {'quicksort', 'mergesort', 'heapsort', 'stable'}, default 'quicksort'\n Choice of sorting algorithm. See also :func:`numpy.sort` for more\n information. `mergesort` and `stable` are the only stable algorithms. For\n DataFrames, this option is only applied when sorting on a single\n column or label.\nna_position : {'first', 'last'}, default 'last'\n Puts NaNs at the beginning if `first`; `last` puts NaNs at the end.\n Not implemented for MultiIndex.\nsort_remaining : bool, default True\n If True and sorting by level and index is multilevel, sort by other\n levels too (in order) after sorting by specified level.\nignore_index : bool, default False\n If True, the resulting axis will be labeled 0, 1, \u2026, n - 1.\nkey : callable, optional\n If not None, apply the key function to the index values\n before sorting. This is similar to the `key` argument in the\n builtin :meth:`sorted` function, with the notable difference that\n this `key` function should be *vectorized*. It should expect an\n ``Index`` and return an ``Index`` of the same shape. For MultiIndex\n inputs, the key is applied *per level*.\n\nReturns\n-------\nDataFrame or None\n The original DataFrame sorted by the labels or None if ``inplace=True``.\n\nSee Also\n--------\nSeries.sort_index : Sort Series by the index.\nDataFrame.sort_values : Sort DataFrame by the value.\nSeries.sort_values : Sort Series by the value.\n\nExamples\n--------\n>>> df = pd.DataFrame([1, 2, 3, 4, 5], index=[100, 29, 234, 1, 150],\n... columns=['A'])\n>>> df.sort_index()\n A\n1 4\n29 2\n100 1\n150 5\n234 3\n\nBy default, it sorts in ascending order, to sort in descending order,\nuse ``ascending=False``\n\n>>> df.sort_index(ascending=False)\n A\n234 3\n150 5\n100 1\n29 2\n1 4\n\nA key function can be specified which is applied to the index before\nsorting. For a ``MultiIndex`` this is applied to each level separately.\n\n>>> df = pd.DataFrame({\"a\": [1, 2, 3, 4]}, index=['A', 'b', 'C', 'd'])\n>>> df.sort_index(key=lambda x: x.str.lower())\n a\nA 1\nb 2\nC 3\nd 4\n"}, "kind": 2, "label": "sort_index", "sortText": "161"}, {"detail": "Overload[(by: Hashable | Sequence[Hashable], *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., ascending=..., inplace: Literal[False] = ..., kind: Literal[\"quicksort\", \"mergesort\", \"heapsort\", \"stable\"] = ..., na_position: Literal[\"first\", \"last\"] = ..., ignore_index: bool = ..., key: ((Series, /) -> Series | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index) | None = ...) -> DataFrame, (by: Hashable | Sequence[Hashable], *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., ascending=..., inplace: Literal[True], kind: Literal[\"quicksort\", \"mergesort\", \"heapsort\", \"stable\"] = ..., na_position: str = ..., ignore_index: bool = ..., key: ((Series, /) -> Series | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index) | None = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Sort by the values along either axis.\n\nParameters\n----------\nby : str or list of str\n Name or list of names to sort by.\n\n - if `axis` is 0 or `'index'` then `by` may contain index\n levels and/or column labels.\n - if `axis` is 1 or `'columns'` then `by` may contain column\n levels and/or index labels.\naxis : \"{0 or 'index', 1 or 'columns'}\", default 0\n Axis to be sorted.\nascending : bool or list of bool, default True\n Sort ascending vs. descending. Specify list for multiple sort\n orders. If this is a list of bools, must match the length of\n the by.\ninplace : bool, default False\n If True, perform operation in-place.\nkind : {'quicksort', 'mergesort', 'heapsort', 'stable'}, default 'quicksort'\n Choice of sorting algorithm. See also :func:`numpy.sort` for more\n information. `mergesort` and `stable` are the only stable algorithms. For\n DataFrames, this option is only applied when sorting on a single\n column or label.\nna_position : {'first', 'last'}, default 'last'\n Puts NaNs at the beginning if `first`; `last` puts NaNs at the\n end.\nignore_index : bool, default False\n If True, the resulting axis will be labeled 0, 1, \u2026, n - 1.\nkey : callable, optional\n Apply the key function to the values\n before sorting. This is similar to the `key` argument in the\n builtin :meth:`sorted` function, with the notable difference that\n this `key` function should be *vectorized*. It should expect a\n ``Series`` and return a Series with the same shape as the input.\n It will be applied to each column in `by` independently.\n\nReturns\n-------\nDataFrame or None\n DataFrame with sorted values or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.sort_index : Sort a DataFrame by the index.\nSeries.sort_values : Similar method for a Series.\n\nExamples\n--------\n>>> df = pd.DataFrame({\n... 'col1': ['A', 'A', 'B', np.nan, 'D', 'C'],\n... 'col2': [2, 1, 9, 8, 7, 4],\n... 'col3': [0, 1, 9, 4, 2, 3],\n... 'col4': ['a', 'B', 'c', 'D', 'e', 'F']\n... })\n>>> df\n col1 col2 col3 col4\n0 A 2 0 a\n1 A 1 1 B\n2 B 9 9 c\n3 NaN 8 4 D\n4 D 7 2 e\n5 C 4 3 F\n\nSort by col1\n\n>>> df.sort_values(by=['col1'])\n col1 col2 col3 col4\n0 A 2 0 a\n1 A 1 1 B\n2 B 9 9 c\n5 C 4 3 F\n4 D 7 2 e\n3 NaN 8 4 D\n\nSort by multiple columns\n\n>>> df.sort_values(by=['col1', 'col2'])\n col1 col2 col3 col4\n1 A 1 1 B\n0 A 2 0 a\n2 B 9 9 c\n5 C 4 3 F\n4 D 7 2 e\n3 NaN 8 4 D\n\nSort Descending\n\n>>> df.sort_values(by='col1', ascending=False)\n col1 col2 col3 col4\n4 D 7 2 e\n5 C 4 3 F\n2 B 9 9 c\n0 A 2 0 a\n1 A 1 1 B\n3 NaN 8 4 D\n\nPutting NAs first\n\n>>> df.sort_values(by='col1', ascending=False, na_position='first')\n col1 col2 col3 col4\n3 NaN 8 4 D\n4 D 7 2 e\n5 C 4 3 F\n2 B 9 9 c\n0 A 2 0 a\n1 A 1 1 B\n\nSorting with a key function\n\n>>> df.sort_values(by='col4', key=lambda col: col.str.lower())\n col1 col2 col3 col4\n0 A 2 0 a\n1 A 1 1 B\n2 B 9 9 c\n3 NaN 8 4 D\n4 D 7 2 e\n5 C 4 3 F\n\nNatural sort with the key argument,\nusing the `natsort ` package.\n\n>>> df = pd.DataFrame({\n... \"time\": ['0hr', '128hr', '72hr', '48hr', '96hr'],\n... \"value\": [10, 20, 30, 40, 50]\n... })\n>>> df\n time value\n0 0hr 10\n1 128hr 20\n2 72hr 30\n3 48hr 40\n4 96hr 50\n>>> from natsort import index_natsorted\n>>> df.sort_values(\n... by=\"time\",\n... key=lambda x: np.argsort(index_natsorted(df[\"time\"]))\n... )\n time value\n0 0hr 10\n3 48hr 40\n2 72hr 30\n4 96hr 50\n1 128hr 20\n"}, "kind": 2, "label": "sort_values", "sortText": "162"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "sparse", "sortText": "163"}, {"detail": "bound method DataFrame.squeeze(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Squeeze 1 dimensional axis objects into scalars.\n\nSeries or DataFrames with a single element are squeezed to a scalar.\nDataFrames with a single column or a single row are squeezed to a\nSeries. Otherwise the object is unchanged.\n\nThis method is most useful when you don't know if your\nobject is a Series or DataFrame, but you do know it has just a single\ncolumn. In that case you can safely call `squeeze` to ensure you have a\nSeries.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns', None}, default None\n A specific axis to squeeze. By default, all length-1 axes are\n squeezed. For `Series` this parameter is unused and defaults to `None`.\n\nReturns\n-------\nDataFrame, Series, or scalar\n The projection after squeezing `axis` or all the axes.\n\nSee Also\n--------\nSeries.iloc : Integer-location based indexing for selecting scalars.\nDataFrame.iloc : Integer-location based indexing for selecting Series.\nSeries.to_frame : Inverse of DataFrame.squeeze for a\n single-column DataFrame.\n\nExamples\n--------\n>>> primes = pd.Series([2, 3, 5, 7])\n\nSlicing might produce a Series with a single value:\n\n>>> even_primes = primes[primes % 2 == 0]\n>>> even_primes\n0 2\ndtype: int64\n\n>>> even_primes.squeeze()\n2\n\nSqueezing objects with more than one value in every axis does nothing:\n\n>>> odd_primes = primes[primes % 2 == 1]\n>>> odd_primes\n1 3\n2 5\n3 7\ndtype: int64\n\n>>> odd_primes.squeeze()\n1 3\n2 5\n3 7\ndtype: int64\n\nSqueezing is even more effective when used with DataFrames.\n\n>>> df = pd.DataFrame([[1, 2], [3, 4]], columns=['a', 'b'])\n>>> df\n a b\n0 1 2\n1 3 4\n\nSlicing a single column will produce a DataFrame with the columns\nhaving only one value:\n\n>>> df_a = df[['a']]\n>>> df_a\n a\n0 1\n1 3\n\nSo the columns can be squeezed down, resulting in a Series:\n\n>>> df_a.squeeze('columns')\n0 1\n1 3\nName: a, dtype: int64\n\nSlicing a single row from a single column will produce a single\nscalar DataFrame:\n\n>>> df_0a = df.loc[df.index < 1, ['a']]\n>>> df_0a\n a\n0 1\n\nSqueezing the rows produces a single scalar Series:\n\n>>> df_0a.squeeze('rows')\na 1\nName: 0, dtype: int64\n\nSqueezing all axes will project directly into a scalar:\n\n>>> df_0a.squeeze()\n1\n"}, "kind": 2, "label": "squeeze", "sortText": "164"}, {"detail": "bound method DataFrame.stack(level: Hashable | Sequence[Hashable] = -1, dropna: bool | _NoDefault = ..., sort: bool | _NoDefault = ..., future_stack: bool = False) -> Unknown", "documentation": {"kind": "plaintext", "value": "Stack the prescribed level(s) from columns to index.\n\nReturn a reshaped DataFrame or Series having a multi-level\nindex with one or more new inner-most levels compared to the current\nDataFrame. The new inner-most levels are created by pivoting the\ncolumns of the current dataframe:\n\n - if the columns have a single level, the output is a Series;\n - if the columns have multiple levels, the new index\n level(s) is (are) taken from the prescribed level(s) and\n the output is a DataFrame.\n\nParameters\n----------\nlevel : int, str, list, default -1\n Level(s) to stack from the column axis onto the index\n axis, defined as one index or label, or a list of indices\n or labels.\ndropna : bool, default True\n Whether to drop rows in the resulting Frame/Series with\n missing values. Stacking a column level onto the index\n axis can create combinations of index and column values\n that are missing from the original dataframe. See Examples\n section.\nsort : bool, default True\n Whether to sort the levels of the resulting MultiIndex.\nfuture_stack : bool, default False\n Whether to use the new implementation that will replace the current\n implementation in pandas 3.0. When True, dropna and sort have no impact\n on the result and must remain unspecified. See :ref:`pandas 2.1.0 Release\n notes ` for more details.\n\nReturns\n-------\nDataFrame or Series\n Stacked dataframe or series.\n\nSee Also\n--------\nDataFrame.unstack : Unstack prescribed level(s) from index axis\n onto column axis.\nDataFrame.pivot : Reshape dataframe from long format to wide\n format.\nDataFrame.pivot_table : Create a spreadsheet-style pivot table\n as a DataFrame.\n\nNotes\n-----\nThe function is named by analogy with a collection of books\nbeing reorganized from being side by side on a horizontal\nposition (the columns of the dataframe) to being stacked\nvertically on top of each other (in the index of the\ndataframe).\n\nReference :ref:`the user guide ` for more examples.\n\nExamples\n--------\n**Single level columns**\n\n>>> df_single_level_cols = pd.DataFrame([[0, 1], [2, 3]],\n... index=['cat', 'dog'],\n... columns=['weight', 'height'])\n\nStacking a dataframe with a single level column axis returns a Series:\n\n>>> df_single_level_cols\n weight height\ncat 0 1\ndog 2 3\n>>> df_single_level_cols.stack(future_stack=True)\ncat weight 0\n height 1\ndog weight 2\n height 3\ndtype: int64\n\n**Multi level columns: simple case**\n\n>>> multicol1 = pd.MultiIndex.from_tuples([('weight', 'kg'),\n... ('weight', 'pounds')])\n>>> df_multi_level_cols1 = pd.DataFrame([[1, 2], [2, 4]],\n... index=['cat', 'dog'],\n... columns=multicol1)\n\nStacking a dataframe with a multi-level column axis:\n\n>>> df_multi_level_cols1\n weight\n kg pounds\ncat 1 2\ndog 2 4\n>>> df_multi_level_cols1.stack(future_stack=True)\n weight\ncat kg 1\n pounds 2\ndog kg 2\n pounds 4\n\n**Missing values**\n\n>>> multicol2 = pd.MultiIndex.from_tuples([('weight', 'kg'),\n... ('height', 'm')])\n>>> df_multi_level_cols2 = pd.DataFrame([[1.0, 2.0], [3.0, 4.0]],\n... index=['cat', 'dog'],\n... columns=multicol2)\n\nIt is common to have missing values when stacking a dataframe\nwith multi-level columns, as the stacked dataframe typically\nhas more values than the original dataframe. Missing values\nare filled with NaNs:\n\n>>> df_multi_level_cols2\n weight height\n kg m\ncat 1.0 2.0\ndog 3.0 4.0\n>>> df_multi_level_cols2.stack(future_stack=True)\n weight height\ncat kg 1.0 NaN\n m NaN 2.0\ndog kg 3.0 NaN\n m NaN 4.0\n\n**Prescribing the level(s) to be stacked**\n\nThe first parameter controls which level or levels are stacked:\n\n>>> df_multi_level_cols2.stack(0, future_stack=True)\n kg m\ncat weight 1.0 NaN\n height NaN 2.0\ndog weight 3.0 NaN\n height NaN 4.0\n>>> df_multi_level_cols2.stack([0, 1], future_stack=True)\ncat weight kg 1.0\n height m 2.0\ndog weight kg 3.0\n height m 4.0\ndtype: float64\n"}, "kind": 2, "label": "stack", "sortText": "165"}, {"detail": "bound method DataFrame.std(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, ddof: int = 1, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "std", "sortText": "166"}, {"detail": "Styler", "documentation": {"kind": "plaintext", "value": "Helps style a DataFrame or Series according to the data with HTML and CSS.\n\nParameters\n----------\ndata : Series or DataFrame\n Data to be styled - either a Series or DataFrame.\nprecision : int, optional\n Precision to round floats to. If not given defaults to\n ``pandas.options.styler.format.precision``.\n\n .. versionchanged:: 1.4.0\ntable_styles : list-like, default None\n List of {selector: (attr, value)} dicts; see Notes.\nuuid : str, default None\n A unique identifier to avoid CSS collisions; generated automatically.\ncaption : str, tuple, default None\n String caption to attach to the table. Tuple only used for LaTeX dual captions.\ntable_attributes : str, default None\n Items that show up in the opening ```` tag\n in addition to automatic (by default) id.\ncell_ids : bool, default True\n If True, each cell will have an ``id`` attribute in their HTML tag.\n The ``id`` takes the form ``T__row_col``\n where ```` is the unique identifier, ```` is the row\n number and ```` is the column number.\nna_rep : str, optional\n Representation for missing values.\n If ``na_rep`` is None, no special formatting is applied, and falls back to\n ``pandas.options.styler.format.na_rep``.\n\nuuid_len : int, default 5\n If ``uuid`` is not specified, the length of the ``uuid`` to randomly generate\n expressed in hex characters, in range [0, 32].\ndecimal : str, optional\n Character used as decimal separator for floats, complex and integers. If not\n given uses ``pandas.options.styler.format.decimal``.\n\n .. versionadded:: 1.3.0\n\nthousands : str, optional, default None\n Character used as thousands separator for floats, complex and integers. If not\n given uses ``pandas.options.styler.format.thousands``.\n\n .. versionadded:: 1.3.0\n\nescape : str, optional\n Use 'html' to replace the characters ``&``, ``<``, ``>``, ``'``, and ``\"``\n in cell display string with HTML-safe sequences.\n Use 'latex' to replace the characters ``&``, ``%``, ``$``, ``#``, ``_``,\n ``{``, ``}``, ``~``, ``^``, and ``\\`` in the cell display string with\n LaTeX-safe sequences. Use 'latex-math' to replace the characters\n the same way as in 'latex' mode, except for math substrings,\n which either are surrounded by two characters ``$`` or start with\n the character ``\\(`` and end with ``\\)``.\n If not given uses ``pandas.options.styler.format.escape``.\n\n .. versionadded:: 1.3.0\nformatter : str, callable, dict, optional\n Object to define how values are displayed. See ``Styler.format``. If not given\n uses ``pandas.options.styler.format.formatter``.\n\n .. versionadded:: 1.4.0\n\nAttributes\n----------\nenv : Jinja2 jinja2.Environment\ntemplate_html : Jinja2 Template\ntemplate_html_table : Jinja2 Template\ntemplate_html_style : Jinja2 Template\ntemplate_latex : Jinja2 Template\nloader : Jinja2 Loader\n\nSee Also\n--------\nDataFrame.style : Return a Styler object containing methods for building\n a styled HTML representation for the DataFrame.\n\nNotes\n-----\nMost styling will be done by passing style functions into\n``Styler.apply`` or ``Styler.map``. Style functions should\nreturn values with strings containing CSS ``'attr: value'`` that will\nbe applied to the indicated cells.\n\nIf using in the Jupyter notebook, Styler has defined a ``_repr_html_``\nto automatically render itself. Otherwise call Styler.to_html to get\nthe generated HTML.\n\nCSS classes are attached to the generated HTML\n\n* Index and Column names include ``index_name`` and ``level``\n where `k` is its level in a MultiIndex\n* Index label cells include\n\n * ``row_heading``\n * ``row`` where `n` is the numeric position of the row\n * ``level`` where `k` is the level in a MultiIndex\n\n* Column label cells include\n * ``col_heading``\n * ``col`` where `n` is the numeric position of the column\n * ``level`` where `k` is the level in a MultiIndex\n\n* Blank cells include ``blank``\n* Data cells include ``data``\n* Trimmed cells include ``col_trim`` or ``row_trim``.\n\nAny, or all, or these classes can be renamed by using the ``css_class_names``\nargument in ``Styler.set_table_classes``, giving a value such as\n*{\"row\": \"MY_ROW_CLASS\", \"col_trim\": \"\", \"row_trim\": \"\"}*.\n\nExamples\n--------\n>>> df = pd.DataFrame([[1.0, 2.0, 3.0], [4, 5, 6]], index=['a', 'b'],\n... columns=['A', 'B', 'C'])\n>>> pd.io.formats.style.Styler(df, precision=2,\n... caption=\"My table\") # doctest: +SKIP\n\nPlease see:\n`Table Visualization <../../user_guide/style.ipynb>`_ for more examples.\n"}, "kind": 22, "label": "style", "sortText": "167"}, {"detail": "bound method DataFrame.sub(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "sub", "sortText": "168"}, {"detail": "(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 3, "label": "subtract", "sortText": "169"}, {"detail": "bound method DataFrame.sum(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, min_count: int = 0, **kwargs) -> Unknown", "kind": 2, "label": "sum", "sortText": "170"}, {"detail": "bound method DataFrame.swapaxes(axis1: int | Literal[\"index\", \"columns\", \"rows\"], axis2: int | Literal[\"index\", \"columns\", \"rows\"], copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Interchange axes and swap values axes appropriately.\n\n.. deprecated:: 2.1.0\n ``swapaxes`` is deprecated and will be removed.\n Please use ``transpose`` instead.\n\nReturns\n-------\nsame as input\n\nExamples\n--------\nPlease see examples for :meth:`DataFrame.transpose`.\n"}, "kind": 2, "label": "swapaxes", "sortText": "171"}, {"detail": "bound method DataFrame.swaplevel(i: int | Literal[\"index\", \"columns\", \"rows\"] = -2, j: int | Literal[\"index\", \"columns\", \"rows\"] = -1, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> DataFrame", "kind": 2, "label": "swaplevel", "sortText": "172"}, {"detail": "bound method DataFrame.tail(n: int = 5) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the last `n` rows.\n\nThis function returns last `n` rows from the object based on\nposition. It is useful for quickly verifying data, for example,\nafter sorting or appending rows.\n\nFor negative values of `n`, this function returns all rows except\nthe first `|n|` rows, equivalent to ``df[|n|:]``.\n\nIf n is larger than the number of rows, this function returns all rows.\n\nParameters\n----------\nn : int, default 5\n Number of rows to select.\n\nReturns\n-------\ntype of caller\n The last `n` rows of the caller object.\n\nSee Also\n--------\nDataFrame.head : The first `n` rows of the caller object.\n\nExamples\n--------\n>>> df = pd.DataFrame({'animal': ['alligator', 'bee', 'falcon', 'lion',\n... 'monkey', 'parrot', 'shark', 'whale', 'zebra']})\n>>> df\n animal\n0 alligator\n1 bee\n2 falcon\n3 lion\n4 monkey\n5 parrot\n6 shark\n7 whale\n8 zebra\n\nViewing the last 5 lines\n\n>>> df.tail()\n animal\n4 monkey\n5 parrot\n6 shark\n7 whale\n8 zebra\n\nViewing the last `n` lines (three in this case)\n\n>>> df.tail(3)\n animal\n6 shark\n7 whale\n8 zebra\n\nFor negative values of `n`\n\n>>> df.tail(-3)\n animal\n3 lion\n4 monkey\n5 parrot\n6 shark\n7 whale\n8 zebra\n"}, "kind": 2, "label": "tail", "sortText": "173"}, {"detail": "bound method DataFrame.take(indices, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the elements in the given *positional* indices along an axis.\n\nThis means that we are not indexing according to actual values in\nthe index attribute of the object. We are indexing according to the\nactual position of the element in the object.\n\nParameters\n----------\nindices : array-like\n An array of ints indicating which positions to take.\naxis : {0 or 'index', 1 or 'columns', None}, default 0\n The axis on which to select elements. ``0`` means that we are\n selecting rows, ``1`` means that we are selecting columns.\n For `Series` this parameter is unused and defaults to 0.\n**kwargs\n For compatibility with :meth:`numpy.take`. Has no effect on the\n output.\n\nReturns\n-------\nsame type as caller\n An array-like containing the elements taken from the object.\n\nSee Also\n--------\nDataFrame.loc : Select a subset of a DataFrame by labels.\nDataFrame.iloc : Select a subset of a DataFrame by positions.\nnumpy.take : Take elements from an array along an axis.\n\nExamples\n--------\n>>> df = pd.DataFrame([('falcon', 'bird', 389.0),\n... ('parrot', 'bird', 24.0),\n... ('lion', 'mammal', 80.5),\n... ('monkey', 'mammal', np.nan)],\n... columns=['name', 'class', 'max_speed'],\n... index=[0, 2, 3, 1])\n>>> df\n name class max_speed\n0 falcon bird 389.0\n2 parrot bird 24.0\n3 lion mammal 80.5\n1 monkey mammal NaN\n\nTake elements at positions 0 and 3 along the axis 0 (default).\n\nNote how the actual indices selected (0 and 1) do not correspond to\nour selected indices 0 and 3. That's because we are selecting the 0th\nand 3rd rows, not rows whose indices equal 0 and 3.\n\n>>> df.take([0, 3])\n name class max_speed\n0 falcon bird 389.0\n1 monkey mammal NaN\n\nTake elements at indices 1 and 2 along the axis 1 (column selection).\n\n>>> df.take([1, 2], axis=1)\n class max_speed\n0 bird 389.0\n2 bird 24.0\n3 mammal 80.5\n1 mammal NaN\n\nWe may take elements using negative integers for positive indices,\nstarting from the end of the object, just like with Python lists.\n\n>>> df.take([-1, -2])\n name class max_speed\n1 monkey mammal NaN\n3 lion mammal 80.5\n"}, "kind": 2, "label": "take", "sortText": "174"}, {"detail": "bound method DataFrame.to_clipboard(excel: bool = True, sep: str | None = None, **kwargs) -> None", "documentation": {"kind": "plaintext", "value": "Copy object to the system clipboard.\n\nWrite a text representation of object to the system clipboard.\nThis can be pasted into Excel, for example.\n\nParameters\n----------\nexcel : bool, default True\n Produce output in a csv format for easy pasting into excel.\n\n - True, use the provided separator for csv pasting.\n - False, write a string representation of the object to the clipboard.\n\nsep : str, default ``'\\t'``\n Field delimiter.\n**kwargs\n These parameters will be passed to DataFrame.to_csv.\n\nSee Also\n--------\nDataFrame.to_csv : Write a DataFrame to a comma-separated values\n (csv) file.\nread_clipboard : Read text from clipboard and pass to read_csv.\n\nNotes\n-----\nRequirements for your platform.\n\n - Linux : `xclip`, or `xsel` (with `PyQt4` modules)\n - Windows : none\n - macOS : none\n\nThis method uses the processes developed for the package `pyperclip`. A\nsolution to render any output string format is given in the examples.\n\nExamples\n--------\nCopy the contents of a DataFrame to the clipboard.\n\n>>> df = pd.DataFrame([[1, 2, 3], [4, 5, 6]], columns=['A', 'B', 'C'])\n\n>>> df.to_clipboard(sep=',') # doctest: +SKIP\n... # Wrote the following to the system clipboard:\n... # ,A,B,C\n... # 0,1,2,3\n... # 1,4,5,6\n\nWe can omit the index by passing the keyword `index` and setting\nit to false.\n\n>>> df.to_clipboard(sep=',', index=False) # doctest: +SKIP\n... # Wrote the following to the system clipboard:\n... # A,B,C\n... # 1,2,3\n... # 4,5,6\n\nUsing the original `pyperclip` package for any string output format.\n\n.. code-block:: python\n\n import pyperclip\n html = df.style.to_html()\n pyperclip.copy(html)\n"}, "kind": 2, "label": "to_clipboard", "sortText": "175"}, {"detail": "Overload[(path_or_buf: None = ..., sep: str = ..., na_rep: str = ..., float_format: str | ((...) -> Unknown) | None = ..., columns: Sequence[Hashable] | None = ..., header: bool | list[str] = ..., index: bool = ..., index_label: Hashable | Sequence[Hashable] = ..., mode: str = ..., encoding: str | None = ..., compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = ..., quoting: int | None = ..., quotechar: str = ..., lineterminator: str | None = ..., chunksize: int | None = ..., date_format: str | None = ..., doublequote: bool = ..., escapechar: str | None = ..., decimal: str = ..., errors: Literal[\"strict\", \"ignore\", \"replace\", \"surrogateescape\", \"xmlcharrefreplace\", \"backslashreplace\", \"namereplace\"] = ..., storage_options: dict[str, Any] | None = ...) -> str, (path_or_buf: str | PathLike[str] | WriteBuffer[bytes] | WriteBuffer[str], sep: str = ..., na_rep: str = ..., float_format: str | ((...) -> Unknown) | None = ..., columns: Sequence[Hashable] | None = ..., header: bool | list[str] = ..., index: bool = ..., index_label: Hashable | Sequence[Hashable] = ..., mode: str = ..., encoding: str | None = ..., compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = ..., quoting: int | None = ..., quotechar: str = ..., lineterminator: str | None = ..., chunksize: int | None = ..., date_format: str | None = ..., doublequote: bool = ..., escapechar: str | None = ..., decimal: str = ..., errors: Literal[\"strict\", \"ignore\", \"replace\", \"surrogateescape\", \"xmlcharrefreplace\", \"backslashreplace\", \"namereplace\"] = ..., storage_options: dict[str, Any] | None = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Write object to a comma-separated values (csv) file.\n\nParameters\n----------\npath_or_buf : str, path object, file-like object, or None, default None\n String, path object (implementing os.PathLike[str]), or file-like\n object implementing a write() function. If None, the result is\n returned as a string. If a non-binary file object is passed, it should\n be opened with `newline=''`, disabling universal newlines. If a binary\n file object is passed, `mode` might need to contain a `'b'`.\nsep : str, default ','\n String of length 1. Field delimiter for the output file.\nna_rep : str, default ''\n Missing data representation.\nfloat_format : str, Callable, default None\n Format string for floating point numbers. If a Callable is given, it takes\n precedence over other numeric formatting parameters, like decimal.\ncolumns : sequence, optional\n Columns to write.\nheader : bool or list of str, default True\n Write out the column names. If a list of strings is given it is\n assumed to be aliases for the column names.\nindex : bool, default True\n Write row names (index).\nindex_label : str or sequence, or False, default None\n Column label for index column(s) if desired. If None is given, and\n `header` and `index` are True, then the index names are used. A\n sequence should be given if the object uses MultiIndex. If\n False do not print fields for index names. Use index_label=False\n for easier importing in R.\nmode : {{'w', 'x', 'a'}}, default 'w'\n Forwarded to either `open(mode=)` or `fsspec.open(mode=)` to control\n the file opening. Typical values include:\n\n - 'w', truncate the file first.\n - 'x', exclusive creation, failing if the file already exists.\n - 'a', append to the end of file if it exists.\n\nencoding : str, optional\n A string representing the encoding to use in the output file,\n defaults to 'utf-8'. `encoding` is not supported if `path_or_buf`\n is a non-binary file object.\n{compression_options}\n\n May be a dict with key 'method' as compression mode\n and other entries as additional compression options if\n compression mode is 'zip'.\n\n Passing compression options as keys in dict is\n supported for compression modes 'gzip', 'bz2', 'zstd', and 'zip'.\nquoting : optional constant from csv module\n Defaults to csv.QUOTE_MINIMAL. If you have set a `float_format`\n then floats are converted to strings and thus csv.QUOTE_NONNUMERIC\n will treat them as non-numeric.\nquotechar : str, default '\\\"'\n String of length 1. Character used to quote fields.\nlineterminator : str, optional\n The newline character or character sequence to use in the output\n file. Defaults to `os.linesep`, which depends on the OS in which\n this method is called ('\\\\n' for linux, '\\\\r\\\\n' for Windows, i.e.).\n\n .. versionchanged:: 1.5.0\n\n Previously was line_terminator, changed for consistency with\n read_csv and the standard library 'csv' module.\n\nchunksize : int or None\n Rows to write at a time.\ndate_format : str, default None\n Format string for datetime objects.\ndoublequote : bool, default True\n Control quoting of `quotechar` inside a field.\nescapechar : str, default None\n String of length 1. Character used to escape `sep` and `quotechar`\n when appropriate.\ndecimal : str, default '.'\n Character recognized as decimal separator. E.g. use ',' for\n European data.\nerrors : str, default 'strict'\n Specifies how encoding and decoding errors are to be handled.\n See the errors argument for :func:`open` for a full list\n of options.\n\n{storage_options}\n\nReturns\n-------\nNone or str\n If path_or_buf is None, returns the resulting csv format as a\n string. Otherwise returns None.\n\nSee Also\n--------\nread_csv : Load a CSV file into a DataFrame.\nto_excel : Write DataFrame to an Excel file.\n\nExamples\n--------\nCreate 'out.csv' containing 'df' without indices\n\n>>> df = pd.DataFrame({{'name': ['Raphael', 'Donatello'],\n... 'mask': ['red', 'purple'],\n... 'weapon': ['sai', 'bo staff']}})\n>>> df.to_csv('out.csv', index=False) # doctest: +SKIP\n\nCreate 'out.zip' containing 'out.csv'\n\n>>> df.to_csv(index=False)\n'name,mask,weapon\\nRaphael,red,sai\\nDonatello,purple,bo staff\\n'\n>>> compression_opts = dict(method='zip',\n... archive_name='out.csv') # doctest: +SKIP\n>>> df.to_csv('out.zip', index=False,\n... compression=compression_opts) # doctest: +SKIP\n\nTo write a csv file to a new folder or nested folder you will first\nneed to create it using either Pathlib or os:\n\n>>> from pathlib import Path # doctest: +SKIP\n>>> filepath = Path('folder/subfolder/out.csv') # doctest: +SKIP\n>>> filepath.parent.mkdir(parents=True, exist_ok=True) # doctest: +SKIP\n>>> df.to_csv(filepath) # doctest: +SKIP\n\n>>> import os # doctest: +SKIP\n>>> os.makedirs('folder/subfolder', exist_ok=True) # doctest: +SKIP\n>>> df.to_csv('folder/subfolder/out.csv') # doctest: +SKIP\n"}, "kind": 2, "label": "to_csv", "sortText": "176"}, {"detail": "Overload[[MutableMappingT](orient: Literal[\"dict\", \"list\", \"series\", \"split\", \"tight\", \"index\"] = ..., *, into: type[MutableMappingT] | MutableMappingT, index: bool = ...) -> MutableMappingT, [MutableMappingT](orient: Literal[\"records\"], *, into: type[MutableMappingT] | MutableMappingT, index: bool = ...) -> list[MutableMappingT], (orient: Literal[\"dict\", \"list\", \"series\", \"split\", \"tight\", \"index\"] = ..., *, into: type[dict[Unknown, Unknown]] = ..., index: bool = ...) -> dict[Unknown, Unknown], (orient: Literal[\"records\"], *, into: type[dict[Unknown, Unknown]] = ..., index: bool = ...) -> list[dict[Unknown, Unknown]]]", "documentation": {"kind": "plaintext", "value": "Convert the DataFrame to a dictionary.\n\nThe type of the key-value pairs can be customized with the parameters\n(see below).\n\nParameters\n----------\norient : str {'dict', 'list', 'series', 'split', 'tight', 'records', 'index'}\n Determines the type of the values of the dictionary.\n\n - 'dict' (default) : dict like {column -> {index -> value}}\n - 'list' : dict like {column -> [values]}\n - 'series' : dict like {column -> Series(values)}\n - 'split' : dict like\n {'index' -> [index], 'columns' -> [columns], 'data' -> [values]}\n - 'tight' : dict like\n {'index' -> [index], 'columns' -> [columns], 'data' -> [values],\n 'index_names' -> [index.names], 'column_names' -> [column.names]}\n - 'records' : list like\n [{column -> value}, ... , {column -> value}]\n - 'index' : dict like {index -> {column -> value}}\n\n .. versionadded:: 1.4.0\n 'tight' as an allowed value for the ``orient`` argument\n\ninto : class, default dict\n The collections.abc.MutableMapping subclass used for all Mappings\n in the return value. Can be the actual class or an empty\n instance of the mapping type you want. If you want a\n collections.defaultdict, you must pass it initialized.\n\nindex : bool, default True\n Whether to include the index item (and index_names item if `orient`\n is 'tight') in the returned dictionary. Can only be ``False``\n when `orient` is 'split' or 'tight'.\n\n .. versionadded:: 2.0.0\n\nReturns\n-------\ndict, list or collections.abc.MutableMapping\n Return a collections.abc.MutableMapping object representing the\n DataFrame. The resulting transformation depends on the `orient`\n parameter.\n\nSee Also\n--------\nDataFrame.from_dict: Create a DataFrame from a dictionary.\nDataFrame.to_json: Convert a DataFrame to JSON format.\n\nExamples\n--------\n>>> df = pd.DataFrame({'col1': [1, 2],\n... 'col2': [0.5, 0.75]},\n... index=['row1', 'row2'])\n>>> df\n col1 col2\nrow1 1 0.50\nrow2 2 0.75\n>>> df.to_dict()\n{'col1': {'row1': 1, 'row2': 2}, 'col2': {'row1': 0.5, 'row2': 0.75}}\n\nYou can specify the return orientation.\n\n>>> df.to_dict('series')\n{'col1': row1 1\n row2 2\nName: col1, dtype: int64,\n'col2': row1 0.50\n row2 0.75\nName: col2, dtype: float64}\n\n>>> df.to_dict('split')\n{'index': ['row1', 'row2'], 'columns': ['col1', 'col2'],\n 'data': [[1, 0.5], [2, 0.75]]}\n\n>>> df.to_dict('records')\n[{'col1': 1, 'col2': 0.5}, {'col1': 2, 'col2': 0.75}]\n\n>>> df.to_dict('index')\n{'row1': {'col1': 1, 'col2': 0.5}, 'row2': {'col1': 2, 'col2': 0.75}}\n\n>>> df.to_dict('tight')\n{'index': ['row1', 'row2'], 'columns': ['col1', 'col2'],\n 'data': [[1, 0.5], [2, 0.75]], 'index_names': [None], 'column_names': [None]}\n\nYou can also specify the mapping type.\n\n>>> from collections import OrderedDict, defaultdict\n>>> df.to_dict(into=OrderedDict)\nOrderedDict([('col1', OrderedDict([('row1', 1), ('row2', 2)])),\n ('col2', OrderedDict([('row1', 0.5), ('row2', 0.75)]))])\n\nIf you want a `defaultdict`, you need to initialize it:\n\n>>> dd = defaultdict(list)\n>>> df.to_dict('records', into=dd)\n[defaultdict(, {'col1': 1, 'col2': 0.5}),\n defaultdict(, {'col1': 2, 'col2': 0.75})]\n"}, "kind": 2, "label": "to_dict", "sortText": "177"}, {"detail": "bound method DataFrame.to_excel(excel_writer: str | PathLike[str] | WriteExcelBuffer, sheet_name: str = \"Sheet1\", na_rep: str = \"\", float_format: str | None = None, columns: Sequence[Hashable] | None = None, header: Sequence[Hashable] | bool = True, index: bool = True, index_label: Hashable | Sequence[Hashable] = None, startrow: int = 0, startcol: int = 0, engine: Literal[\"openpyxl\", \"xlsxwriter\"] | None = None, merge_cells: bool = True, inf_rep: str = \"inf\", freeze_panes: tuple[int, int] | None = None, storage_options: dict[str, Any] | None = None, engine_kwargs: dict[str, Any] | None = None) -> None", "documentation": {"kind": "plaintext", "value": "Write {klass} to an Excel sheet.\n\nTo write a single {klass} to an Excel .xlsx file it is only necessary to\nspecify a target file name. To write to multiple sheets it is necessary to\ncreate an `ExcelWriter` object with a target file name, and specify a sheet\nin the file to write to.\n\nMultiple sheets may be written to by specifying unique `sheet_name`.\nWith all data written to the file it is necessary to save the changes.\nNote that creating an `ExcelWriter` object with a file name that already\nexists will result in the contents of the existing file being erased.\n\nParameters\n----------\nexcel_writer : path-like, file-like, or ExcelWriter object\n File path or existing ExcelWriter.\nsheet_name : str, default 'Sheet1'\n Name of sheet which will contain DataFrame.\nna_rep : str, default ''\n Missing data representation.\nfloat_format : str, optional\n Format string for floating point numbers. For example\n ``float_format=\"%.2f\"`` will format 0.1234 to 0.12.\ncolumns : sequence or list of str, optional\n Columns to write.\nheader : bool or list of str, default True\n Write out the column names. If a list of string is given it is\n assumed to be aliases for the column names.\nindex : bool, default True\n Write row names (index).\nindex_label : str or sequence, optional\n Column label for index column(s) if desired. If not specified, and\n `header` and `index` are True, then the index names are used. A\n sequence should be given if the DataFrame uses MultiIndex.\nstartrow : int, default 0\n Upper left cell row to dump data frame.\nstartcol : int, default 0\n Upper left cell column to dump data frame.\nengine : str, optional\n Write engine to use, 'openpyxl' or 'xlsxwriter'. You can also set this\n via the options ``io.excel.xlsx.writer`` or\n ``io.excel.xlsm.writer``.\n\nmerge_cells : bool, default True\n Write MultiIndex and Hierarchical Rows as merged cells.\ninf_rep : str, default 'inf'\n Representation for infinity (there is no native representation for\n infinity in Excel).\nfreeze_panes : tuple of int (length 2), optional\n Specifies the one-based bottommost row and rightmost column that\n is to be frozen.\n{storage_options}\n\n .. versionadded:: {storage_options_versionadded}\nengine_kwargs : dict, optional\n Arbitrary keyword arguments passed to excel engine.\n\nSee Also\n--------\nto_csv : Write DataFrame to a comma-separated values (csv) file.\nExcelWriter : Class for writing DataFrame objects into excel sheets.\nread_excel : Read an Excel file into a pandas DataFrame.\nread_csv : Read a comma-separated values (csv) file into DataFrame.\nio.formats.style.Styler.to_excel : Add styles to Excel sheet.\n\nNotes\n-----\nFor compatibility with :meth:`~DataFrame.to_csv`,\nto_excel serializes lists and dicts to strings before writing.\n\nOnce a workbook has been saved it is not possible to write further\ndata without rewriting the whole workbook.\n\nExamples\n--------\n\nCreate, write to and save a workbook:\n\n>>> df1 = pd.DataFrame([['a', 'b'], ['c', 'd']],\n... index=['row 1', 'row 2'],\n... columns=['col 1', 'col 2'])\n>>> df1.to_excel(\"output.xlsx\") # doctest: +SKIP\n\nTo specify the sheet name:\n\n>>> df1.to_excel(\"output.xlsx\",\n... sheet_name='Sheet_name_1') # doctest: +SKIP\n\nIf you wish to write to more than one sheet in the workbook, it is\nnecessary to specify an ExcelWriter object:\n\n>>> df2 = df1.copy()\n>>> with pd.ExcelWriter('output.xlsx') as writer: # doctest: +SKIP\n... df1.to_excel(writer, sheet_name='Sheet_name_1')\n... df2.to_excel(writer, sheet_name='Sheet_name_2')\n\nExcelWriter can also be used to append to an existing Excel file:\n\n>>> with pd.ExcelWriter('output.xlsx',\n... mode='a') as writer: # doctest: +SKIP\n... df1.to_excel(writer, sheet_name='Sheet_name_3')\n\nTo set the library that is used to write the Excel file,\nyou can pass the `engine` keyword (the default engine is\nautomatically chosen depending on the file extension):\n\n>>> df1.to_excel('output1.xlsx', engine='xlsxwriter') # doctest: +SKIP\n"}, "kind": 2, "label": "to_excel", "sortText": "178"}, {"detail": "bound method DataFrame.to_feather(path: str | PathLike[str] | WriteBuffer[bytes], **kwargs) -> None", "documentation": {"kind": "plaintext", "value": "Write a DataFrame to the binary Feather format.\n\nParameters\n----------\npath : str, path object, file-like object\n String, path object (implementing ``os.PathLike[str]``), or file-like\n object implementing a binary ``write()`` function. If a string or a path,\n it will be used as Root Directory path when writing a partitioned dataset.\n**kwargs :\n Additional keywords passed to :func:`pyarrow.feather.write_feather`.\n This includes the `compression`, `compression_level`, `chunksize`\n and `version` keywords.\n\nNotes\n-----\nThis function writes the dataframe as a `feather file\n`_. Requires a default\nindex. For saving the DataFrame with your custom index use a method that\nsupports custom indices e.g. `to_parquet`.\n\nExamples\n--------\n>>> df = pd.DataFrame([[1, 2, 3], [4, 5, 6]])\n>>> df.to_feather(\"file.feather\") # doctest: +SKIP\n"}, "kind": 2, "label": "to_feather", "sortText": "179"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "to_frame", "sortText": "180"}, {"detail": "bound method DataFrame.to_gbq(destination_table: str, project_id: str | None = None, chunksize: int | None = None, reauth: bool = False, if_exists: Literal[\"fail\", \"replace\", \"append\"] = \"fail\", auth_local_webserver: bool = True, table_schema: list[dict[str, str]] | None = None, location: str | None = None, progress_bar: bool = True, credentials=None) -> None", "documentation": {"kind": "plaintext", "value": "Write a DataFrame to a Google BigQuery table.\n\n.. deprecated:: 2.2.0\n\n Please use ``pandas_gbq.to_gbq`` instead.\n\nThis function requires the `pandas-gbq package\n`__.\n\nSee the `How to authenticate with Google BigQuery\n`__\nguide for authentication instructions.\n\nParameters\n----------\ndestination_table : str\n Name of table to be written, in the form ``dataset.tablename``.\nproject_id : str, optional\n Google BigQuery Account project ID. Optional when available from\n the environment.\nchunksize : int, optional\n Number of rows to be inserted in each chunk from the dataframe.\n Set to ``None`` to load the whole dataframe at once.\nreauth : bool, default False\n Force Google BigQuery to re-authenticate the user. This is useful\n if multiple accounts are used.\nif_exists : str, default 'fail'\n Behavior when the destination table exists. Value can be one of:\n\n ``'fail'``\n If table exists raise pandas_gbq.gbq.TableCreationError.\n ``'replace'``\n If table exists, drop it, recreate it, and insert data.\n ``'append'``\n If table exists, insert data. Create if does not exist.\nauth_local_webserver : bool, default True\n Use the `local webserver flow`_ instead of the `console flow`_\n when getting user credentials.\n\n .. _local webserver flow:\n https://google-auth-oauthlib.readthedocs.io/en/latest/reference/google_auth_oauthlib.flow.html#google_auth_oauthlib.flow.InstalledAppFlow.run_local_server\n .. _console flow:\n https://google-auth-oauthlib.readthedocs.io/en/latest/reference/google_auth_oauthlib.flow.html#google_auth_oauthlib.flow.InstalledAppFlow.run_console\n\n *New in version 0.2.0 of pandas-gbq*.\n\n .. versionchanged:: 1.5.0\n Default value is changed to ``True``. Google has deprecated the\n ``auth_local_webserver = False`` `\"out of band\" (copy-paste)\n flow\n `_.\ntable_schema : list of dicts, optional\n List of BigQuery table fields to which according DataFrame\n columns conform to, e.g. ``[{'name': 'col1', 'type':\n 'STRING'},...]``. If schema is not provided, it will be\n generated according to dtypes of DataFrame columns. See\n BigQuery API documentation on available names of a field.\n\n *New in version 0.3.1 of pandas-gbq*.\nlocation : str, optional\n Location where the load job should run. See the `BigQuery locations\n documentation\n `__ for a\n list of available locations. The location must match that of the\n target dataset.\n\n *New in version 0.5.0 of pandas-gbq*.\nprogress_bar : bool, default True\n Use the library `tqdm` to show the progress bar for the upload,\n chunk by chunk.\n\n *New in version 0.5.0 of pandas-gbq*.\ncredentials : google.auth.credentials.Credentials, optional\n Credentials for accessing Google APIs. Use this parameter to\n override default credentials, such as to use Compute Engine\n :class:`google.auth.compute_engine.Credentials` or Service\n Account :class:`google.oauth2.service_account.Credentials`\n directly.\n\n *New in version 0.8.0 of pandas-gbq*.\n\nSee Also\n--------\npandas_gbq.to_gbq : This function in the pandas-gbq library.\nread_gbq : Read a DataFrame from Google BigQuery.\n\nExamples\n--------\nExample taken from `Google BigQuery documentation\n`_\n\n>>> project_id = \"my-project\"\n>>> table_id = 'my_dataset.my_table'\n>>> df = pd.DataFrame({\n... \"my_string\": [\"a\", \"b\", \"c\"],\n... \"my_int64\": [1, 2, 3],\n... \"my_float64\": [4.0, 5.0, 6.0],\n... \"my_bool1\": [True, False, True],\n... \"my_bool2\": [False, True, False],\n... \"my_dates\": pd.date_range(\"now\", periods=3),\n... }\n... )\n\n>>> df.to_gbq(table_id, project_id=project_id) # doctest: +SKIP\n"}, "kind": 2, "label": "to_gbq", "sortText": "181"}, {"detail": "bound method DataFrame.to_hdf(path_or_buf: str | PathLike[str], key: str, mode: Literal[\"a\", \"w\", \"r+\"] = \"a\", complevel: int | None = None, complib: Literal[\"zlib\", \"lzo\", \"bzip2\", \"blosc\"] | None = None, append: bool = False, format: Literal[\"fixed\", \"table\"] | None = None, index: bool = True, min_itemsize: int | dict[str, int] | None = None, nan_rep=None, dropna: bool | None = None, data_columns: Literal[True] | list[str] | None = None, errors: Literal[\"strict\", \"ignore\", \"replace\", \"surrogateescape\", \"xmlcharrefreplace\", \"backslashreplace\", \"namereplace\"] = \"strict\", encoding: str = \"UTF-8\") -> None", "documentation": {"kind": "plaintext", "value": "Write the contained data to an HDF5 file using HDFStore.\n\nHierarchical Data Format (HDF) is self-describing, allowing an\napplication to interpret the structure and contents of a file with\nno outside information. One HDF file can hold a mix of related objects\nwhich can be accessed as a group or as individual objects.\n\nIn order to add another DataFrame or Series to an existing HDF file\nplease use append mode and a different a key.\n\n.. warning::\n\n One can store a subclass of ``DataFrame`` or ``Series`` to HDF5,\n but the type of the subclass is lost upon storing.\n\nFor more information see the :ref:`user guide `.\n\nParameters\n----------\npath_or_buf : str or pandas.HDFStore\n File path or HDFStore object.\nkey : str\n Identifier for the group in the store.\nmode : {'a', 'w', 'r+'}, default 'a'\n Mode to open file:\n\n - 'w': write, a new file is created (an existing file with\n the same name would be deleted).\n - 'a': append, an existing file is opened for reading and\n writing, and if the file does not exist it is created.\n - 'r+': similar to 'a', but the file must already exist.\ncomplevel : {0-9}, default None\n Specifies a compression level for data.\n A value of 0 or None disables compression.\ncomplib : {'zlib', 'lzo', 'bzip2', 'blosc'}, default 'zlib'\n Specifies the compression library to be used.\n These additional compressors for Blosc are supported\n (default if no compressor specified: 'blosc:blosclz'):\n {'blosc:blosclz', 'blosc:lz4', 'blosc:lz4hc', 'blosc:snappy',\n 'blosc:zlib', 'blosc:zstd'}.\n Specifying a compression library which is not available issues\n a ValueError.\nappend : bool, default False\n For Table formats, append the input data to the existing.\nformat : {'fixed', 'table', None}, default 'fixed'\n Possible values:\n\n - 'fixed': Fixed format. Fast writing/reading. Not-appendable,\n nor searchable.\n - 'table': Table format. Write as a PyTables Table structure\n which may perform worse but allow more flexible operations\n like searching / selecting subsets of the data.\n - If None, pd.get_option('io.hdf.default_format') is checked,\n followed by fallback to \"fixed\".\nindex : bool, default True\n Write DataFrame index as a column.\nmin_itemsize : dict or int, optional\n Map column names to minimum string sizes for columns.\nnan_rep : Any, optional\n How to represent null values as str.\n Not allowed with append=True.\ndropna : bool, default False, optional\n Remove missing values.\ndata_columns : list of columns or True, optional\n List of columns to create as indexed data columns for on-disk\n queries, or True to use all columns. By default only the axes\n of the object are indexed. See\n :ref:`Query via data columns`. for\n more information.\n Applicable only to format='table'.\nerrors : str, default 'strict'\n Specifies how encoding and decoding errors are to be handled.\n See the errors argument for :func:`open` for a full list\n of options.\nencoding : str, default \"UTF-8\"\n\nSee Also\n--------\nread_hdf : Read from HDF file.\nDataFrame.to_orc : Write a DataFrame to the binary orc format.\nDataFrame.to_parquet : Write a DataFrame to the binary parquet format.\nDataFrame.to_sql : Write to a SQL table.\nDataFrame.to_feather : Write out feather-format for DataFrames.\nDataFrame.to_csv : Write out to a csv file.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]},\n... index=['a', 'b', 'c']) # doctest: +SKIP\n>>> df.to_hdf('data.h5', key='df', mode='w') # doctest: +SKIP\n\nWe can add another object to the same file:\n\n>>> s = pd.Series([1, 2, 3, 4]) # doctest: +SKIP\n>>> s.to_hdf('data.h5', key='s') # doctest: +SKIP\n\nReading from HDF file:\n\n>>> pd.read_hdf('data.h5', 'df') # doctest: +SKIP\nA B\na 1 4\nb 2 5\nc 3 6\n>>> pd.read_hdf('data.h5', 's') # doctest: +SKIP\n0 1\n1 2\n2 3\n3 4\ndtype: int64\n"}, "kind": 2, "label": "to_hdf", "sortText": "182"}, {"detail": "Overload[(buf: str | PathLike[str] | WriteBuffer[str], columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = ..., col_space: Sequence[str | int] | int | Mapping[Hashable, str | int] | None = ..., header: bool = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., justify: str | None = ..., max_rows: int | None = ..., max_cols: int | None = ..., show_dimensions: bool | str = ..., decimal: str = ..., bold_rows: bool = ..., classes: str | list[Unknown] | tuple[Unknown, ...] | None = ..., escape: bool = ..., notebook: bool = ..., border: int | None = ..., table_id: str | None = ..., render_links: bool = ..., encoding: str | None = ...) -> None, (buf: None = ..., columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = ..., col_space: Sequence[str | int] | int | Mapping[Hashable, str | int] | None = ..., header: bool = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., justify: str | None = ..., max_rows: int | None = ..., max_cols: int | None = ..., show_dimensions: bool | str = ..., decimal: str = ..., bold_rows: bool = ..., classes: str | list[Unknown] | tuple[Unknown, ...] | None = ..., escape: bool = ..., notebook: bool = ..., border: int | None = ..., table_id: str | None = ..., render_links: bool = ..., encoding: str | None = ...) -> str]", "documentation": {"kind": "plaintext", "value": "Render a DataFrame as an HTML table.\n%(shared_params)s\nbold_rows : bool, default True\n Make the row labels bold in the output.\nclasses : str or list or tuple, default None\n CSS class(es) to apply to the resulting html table.\nescape : bool, default True\n Convert the characters <, >, and & to HTML-safe sequences.\nnotebook : {True, False}, default False\n Whether the generated HTML is for IPython Notebook.\nborder : int\n A ``border=border`` attribute is included in the opening\n `
` tag. Default ``pd.options.display.html.border``.\ntable_id : str, optional\n A css id is included in the opening `
` tag if specified.\nrender_links : bool, default False\n Convert URLs to HTML links.\nencoding : str, default \"utf-8\"\n Set character encoding.\n%(returns)s\nSee Also\n--------\nto_string : Convert DataFrame to a string.\n\nExamples\n--------\n>>> df = pd.DataFrame(data={'col1': [1, 2], 'col2': [4, 3]})\n>>> html_string = '''
\n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n...
col1col2
014
123
'''\n>>> assert html_string == df.to_html()\n"}, "kind": 2, "label": "to_html", "sortText": "183"}, {"detail": "bound method DataFrame.to_json(path_or_buf: str | PathLike[str] | WriteBuffer[bytes] | WriteBuffer[str] | None = None, orient: Literal[\"split\", \"records\", \"index\", \"table\", \"columns\", \"values\"] | None = None, date_format: str | None = None, double_precision: int = 10, force_ascii: bool = True, date_unit: Literal[\"s\", \"ms\", \"us\", \"ns\"] = \"ms\", default_handler: ((Any, /) -> str | float | list[Unknown] | dict[Unknown, Unknown] | None) | None = None, lines: bool = False, compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = \"infer\", index: bool | None = None, indent: int | None = None, storage_options: dict[str, Any] | None = None, mode: Literal[\"a\", \"w\"] = \"w\") -> str | None", "documentation": {"kind": "plaintext", "value": "Convert the object to a JSON string.\n\nNote NaN's and None will be converted to null and datetime objects\nwill be converted to UNIX timestamps.\n\nParameters\n----------\npath_or_buf : str, path object, file-like object, or None, default None\n String, path object (implementing os.PathLike[str]), or file-like\n object implementing a write() function. If None, the result is\n returned as a string.\norient : str\n Indication of expected JSON string format.\n\n * Series:\n\n - default is 'index'\n - allowed values are: {{'split', 'records', 'index', 'table'}}.\n\n * DataFrame:\n\n - default is 'columns'\n - allowed values are: {{'split', 'records', 'index', 'columns',\n 'values', 'table'}}.\n\n * The format of the JSON string:\n\n - 'split' : dict like {{'index' -> [index], 'columns' -> [columns],\n 'data' -> [values]}}\n - 'records' : list like [{{column -> value}}, ... , {{column -> value}}]\n - 'index' : dict like {{index -> {{column -> value}}}}\n - 'columns' : dict like {{column -> {{index -> value}}}}\n - 'values' : just the values array\n - 'table' : dict like {{'schema': {{schema}}, 'data': {{data}}}}\n\n Describing the data, where data component is like ``orient='records'``.\n\ndate_format : {{None, 'epoch', 'iso'}}\n Type of date conversion. 'epoch' = epoch milliseconds,\n 'iso' = ISO8601. The default depends on the `orient`. For\n ``orient='table'``, the default is 'iso'. For all other orients,\n the default is 'epoch'.\ndouble_precision : int, default 10\n The number of decimal places to use when encoding\n floating point values. The possible maximal value is 15.\n Passing double_precision greater than 15 will raise a ValueError.\nforce_ascii : bool, default True\n Force encoded string to be ASCII.\ndate_unit : str, default 'ms' (milliseconds)\n The time unit to encode to, governs timestamp and ISO8601\n precision. One of 's', 'ms', 'us', 'ns' for second, millisecond,\n microsecond, and nanosecond respectively.\ndefault_handler : callable, default None\n Handler to call if object cannot otherwise be converted to a\n suitable format for JSON. Should receive a single argument which is\n the object to convert and return a serialisable object.\nlines : bool, default False\n If 'orient' is 'records' write out line-delimited json format. Will\n throw ValueError if incorrect 'orient' since others are not\n list-like.\n{compression_options}\n\n .. versionchanged:: 1.4.0 Zstandard support.\n\nindex : bool or None, default None\n The index is only used when 'orient' is 'split', 'index', 'column',\n or 'table'. Of these, 'index' and 'column' do not support\n `index=False`.\n\nindent : int, optional\n Length of whitespace used to indent each record.\n\n{storage_options}\n\nmode : str, default 'w' (writing)\n Specify the IO mode for output when supplying a path_or_buf.\n Accepted args are 'w' (writing) and 'a' (append) only.\n mode='a' is only supported when lines is True and orient is 'records'.\n\nReturns\n-------\nNone or str\n If path_or_buf is None, returns the resulting json format as a\n string. Otherwise returns None.\n\nSee Also\n--------\nread_json : Convert a JSON string to pandas object.\n\nNotes\n-----\nThe behavior of ``indent=0`` varies from the stdlib, which does not\nindent the output but does insert newlines. Currently, ``indent=0``\nand the default ``indent=None`` are equivalent in pandas, though this\nmay change in a future release.\n\n``orient='table'`` contains a 'pandas_version' field under 'schema'.\nThis stores the version of `pandas` used in the latest revision of the\nschema.\n\nExamples\n--------\n>>> from json import loads, dumps\n>>> df = pd.DataFrame(\n... [[\"a\", \"b\"], [\"c\", \"d\"]],\n... index=[\"row 1\", \"row 2\"],\n... columns=[\"col 1\", \"col 2\"],\n... )\n\n>>> result = df.to_json(orient=\"split\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n{{\n \"columns\": [\n \"col 1\",\n \"col 2\"\n ],\n \"index\": [\n \"row 1\",\n \"row 2\"\n ],\n \"data\": [\n [\n \"a\",\n \"b\"\n ],\n [\n \"c\",\n \"d\"\n ]\n ]\n}}\n\nEncoding/decoding a Dataframe using ``'records'`` formatted JSON.\nNote that index labels are not preserved with this encoding.\n\n>>> result = df.to_json(orient=\"records\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n[\n {{\n \"col 1\": \"a\",\n \"col 2\": \"b\"\n }},\n {{\n \"col 1\": \"c\",\n \"col 2\": \"d\"\n }}\n]\n\nEncoding/decoding a Dataframe using ``'index'`` formatted JSON:\n\n>>> result = df.to_json(orient=\"index\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n{{\n \"row 1\": {{\n \"col 1\": \"a\",\n \"col 2\": \"b\"\n }},\n \"row 2\": {{\n \"col 1\": \"c\",\n \"col 2\": \"d\"\n }}\n}}\n\nEncoding/decoding a Dataframe using ``'columns'`` formatted JSON:\n\n>>> result = df.to_json(orient=\"columns\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n{{\n \"col 1\": {{\n \"row 1\": \"a\",\n \"row 2\": \"c\"\n }},\n \"col 2\": {{\n \"row 1\": \"b\",\n \"row 2\": \"d\"\n }}\n}}\n\nEncoding/decoding a Dataframe using ``'values'`` formatted JSON:\n\n>>> result = df.to_json(orient=\"values\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n[\n [\n \"a\",\n \"b\"\n ],\n [\n \"c\",\n \"d\"\n ]\n]\n\nEncoding with Table Schema:\n\n>>> result = df.to_json(orient=\"table\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n{{\n \"schema\": {{\n \"fields\": [\n {{\n \"name\": \"index\",\n \"type\": \"string\"\n }},\n {{\n \"name\": \"col 1\",\n \"type\": \"string\"\n }},\n {{\n \"name\": \"col 2\",\n \"type\": \"string\"\n }}\n ],\n \"primaryKey\": [\n \"index\"\n ],\n \"pandas_version\": \"1.4.0\"\n }},\n \"data\": [\n {{\n \"index\": \"row 1\",\n \"col 1\": \"a\",\n \"col 2\": \"b\"\n }},\n {{\n \"index\": \"row 2\",\n \"col 1\": \"c\",\n \"col 2\": \"d\"\n }}\n ]\n}}\n"}, "kind": 2, "label": "to_json", "sortText": "184"}, {"detail": "Overload[(buf: None = ..., columns: Sequence[Hashable] | None = ..., header: bool | SequenceNotStr[str] = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., bold_rows: bool = ..., column_format: str | None = ..., longtable: bool | None = ..., escape: bool | None = ..., encoding: str | None = ..., decimal: str = ..., multicolumn: bool | None = ..., multicolumn_format: str | None = ..., multirow: bool | None = ..., caption: str | tuple[str, str] | None = ..., label: str | None = ..., position: str | None = ...) -> str, (buf: str | PathLike[str] | WriteBuffer[str], columns: Sequence[Hashable] | None = ..., header: bool | SequenceNotStr[str] = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., bold_rows: bool = ..., column_format: str | None = ..., longtable: bool | None = ..., escape: bool | None = ..., encoding: str | None = ..., decimal: str = ..., multicolumn: bool | None = ..., multicolumn_format: str | None = ..., multirow: bool | None = ..., caption: str | tuple[str, str] | None = ..., label: str | None = ..., position: str | None = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Render object to a LaTeX tabular, longtable, or nested table.\n\nRequires ``\\usepackage{{booktabs}}``. The output can be copy/pasted\ninto a main LaTeX document or read from an external file\nwith ``\\input{{table.tex}}``.\n\n.. versionchanged:: 2.0.0\n Refactored to use the Styler implementation via jinja2 templating.\n\nParameters\n----------\nbuf : str, Path or StringIO-like, optional, default None\n Buffer to write to. If None, the output is returned as a string.\ncolumns : list of label, optional\n The subset of columns to write. Writes all columns by default.\nheader : bool or list of str, default True\n Write out the column names. If a list of strings is given,\n it is assumed to be aliases for the column names.\nindex : bool, default True\n Write row names (index).\nna_rep : str, default 'NaN'\n Missing data representation.\nformatters : list of functions or dict of {{str: function}}, optional\n Formatter functions to apply to columns' elements by position or\n name. The result of each function must be a unicode string.\n List must be of length equal to the number of columns.\nfloat_format : one-parameter function or str, optional, default None\n Formatter for floating point numbers. For example\n ``float_format=\"%.2f\"`` and ``float_format=\"{{:0.2f}}\".format`` will\n both result in 0.1234 being formatted as 0.12.\nsparsify : bool, optional\n Set to False for a DataFrame with a hierarchical index to print\n every multiindex key at each row. By default, the value will be\n read from the config module.\nindex_names : bool, default True\n Prints the names of the indexes.\nbold_rows : bool, default False\n Make the row labels bold in the output.\ncolumn_format : str, optional\n The columns format as specified in `LaTeX table format\n `__ e.g. 'rcl' for 3\n columns. By default, 'l' will be used for all columns except\n columns of numbers, which default to 'r'.\nlongtable : bool, optional\n Use a longtable environment instead of tabular. Requires\n adding a \\usepackage{{longtable}} to your LaTeX preamble.\n By default, the value will be read from the pandas config\n module, and set to `True` if the option ``styler.latex.environment`` is\n `\"longtable\"`.\n\n .. versionchanged:: 2.0.0\n The pandas option affecting this argument has changed.\nescape : bool, optional\n By default, the value will be read from the pandas config\n module and set to `True` if the option ``styler.format.escape`` is\n `\"latex\"`. When set to False prevents from escaping latex special\n characters in column names.\n\n .. versionchanged:: 2.0.0\n The pandas option affecting this argument has changed, as has the\n default value to `False`.\nencoding : str, optional\n A string representing the encoding to use in the output file,\n defaults to 'utf-8'.\ndecimal : str, default '.'\n Character recognized as decimal separator, e.g. ',' in Europe.\nmulticolumn : bool, default True\n Use \\multicolumn to enhance MultiIndex columns.\n The default will be read from the config module, and is set\n as the option ``styler.sparse.columns``.\n\n .. versionchanged:: 2.0.0\n The pandas option affecting this argument has changed.\nmulticolumn_format : str, default 'r'\n The alignment for multicolumns, similar to `column_format`\n The default will be read from the config module, and is set as the option\n ``styler.latex.multicol_align``.\n\n .. versionchanged:: 2.0.0\n The pandas option affecting this argument has changed, as has the\n default value to \"r\".\nmultirow : bool, default True\n Use \\multirow to enhance MultiIndex rows. Requires adding a\n \\usepackage{{multirow}} to your LaTeX preamble. Will print\n centered labels (instead of top-aligned) across the contained\n rows, separating groups via clines. The default will be read\n from the pandas config module, and is set as the option\n ``styler.sparse.index``.\n\n .. versionchanged:: 2.0.0\n The pandas option affecting this argument has changed, as has the\n default value to `True`.\ncaption : str or tuple, optional\n Tuple (full_caption, short_caption),\n which results in ``\\caption[short_caption]{{full_caption}}``;\n if a single string is passed, no short caption will be set.\nlabel : str, optional\n The LaTeX label to be placed inside ``\\label{{}}`` in the output.\n This is used with ``\\ref{{}}`` in the main ``.tex`` file.\n\nposition : str, optional\n The LaTeX positional argument for tables, to be placed after\n ``\\begin{{}}`` in the output.\n\nReturns\n-------\nstr or None\n If buf is None, returns the result as a string. Otherwise returns None.\n\nSee Also\n--------\nio.formats.style.Styler.to_latex : Render a DataFrame to LaTeX\n with conditional formatting.\nDataFrame.to_string : Render a DataFrame to a console-friendly\n tabular output.\nDataFrame.to_html : Render a DataFrame as an HTML table.\n\nNotes\n-----\nAs of v2.0.0 this method has changed to use the Styler implementation as\npart of :meth:`.Styler.to_latex` via ``jinja2`` templating. This means\nthat ``jinja2`` is a requirement, and needs to be installed, for this method\nto function. It is advised that users switch to using Styler, since that\nimplementation is more frequently updated and contains much more\nflexibility with the output.\n\nExamples\n--------\nConvert a general DataFrame to LaTeX with formatting:\n\n>>> df = pd.DataFrame(dict(name=['Raphael', 'Donatello'],\n... age=[26, 45],\n... height=[181.23, 177.65]))\n>>> print(df.to_latex(index=False,\n... formatters={\"name\": str.upper},\n... float_format=\"{:.1f}\".format,\n... )) # doctest: +SKIP\n\\begin{tabular}{lrr}\n\\toprule\nname & age & height \\\\\n\\midrule\nRAPHAEL & 26 & 181.2 \\\\\nDONATELLO & 45 & 177.7 \\\\\n\\bottomrule\n\\end{tabular}\n"}, "kind": 2, "label": "to_latex", "sortText": "185"}, {"detail": "bound method DataFrame.to_markdown(buf: str | PathLike[str] | WriteBuffer[str] | None = None, mode: str = \"wt\", index: bool = True, storage_options: dict[str, Any] | None = None, **kwargs) -> str | None", "kind": 2, "label": "to_markdown", "sortText": "186"}, {"detail": "bound method DataFrame.to_numpy(dtype: DTypeLike | None = None, copy: bool = False, na_value: object = ...) -> ndarray[_AnyShape, dtype[Any]]", "documentation": {"kind": "plaintext", "value": "Convert the DataFrame to a NumPy array.\n\nBy default, the dtype of the returned array will be the common NumPy\ndtype of all types in the DataFrame. For example, if the dtypes are\n``float16`` and ``float32``, the results dtype will be ``float32``.\nThis may require copying data and coercing values, which may be\nexpensive.\n\nParameters\n----------\ndtype : str or numpy.dtype, optional\n The dtype to pass to :meth:`numpy.asarray`.\ncopy : bool, default False\n Whether to ensure that the returned value is not a view on\n another array. Note that ``copy=False`` does not *ensure* that\n ``to_numpy()`` is no-copy. Rather, ``copy=True`` ensure that\n a copy is made, even if not strictly necessary.\nna_value : Any, optional\n The value to use for missing values. The default value depends\n on `dtype` and the dtypes of the DataFrame columns.\n\nReturns\n-------\nnumpy.ndarray\n\nSee Also\n--------\nSeries.to_numpy : Similar method for Series.\n\nExamples\n--------\n>>> pd.DataFrame({\"A\": [1, 2], \"B\": [3, 4]}).to_numpy()\narray([[1, 3],\n [2, 4]])\n\nWith heterogeneous data, the lowest common type will have to\nbe used.\n\n>>> df = pd.DataFrame({\"A\": [1, 2], \"B\": [3.0, 4.5]})\n>>> df.to_numpy()\narray([[1. , 3. ],\n [2. , 4.5]])\n\nFor a mix of numeric and non-numeric types, the output array will\nhave object dtype.\n\n>>> df['C'] = pd.date_range('2000', periods=2)\n>>> df.to_numpy()\narray([[1, 3.0, Timestamp('2000-01-01 00:00:00')],\n [2, 4.5, Timestamp('2000-01-02 00:00:00')]], dtype=object)\n"}, "kind": 2, "label": "to_numpy", "sortText": "187"}, {"detail": "bound method DataFrame.to_orc(path: str | PathLike[str] | WriteBuffer[bytes] | None = None, *, engine: Literal[\"pyarrow\"] = \"pyarrow\", index: bool | None = None, engine_kwargs: dict[str, Any] | None = None) -> bytes | None", "documentation": {"kind": "plaintext", "value": "Write a DataFrame to the ORC format.\n\n.. versionadded:: 1.5.0\n\nParameters\n----------\npath : str, file-like object or None, default None\n If a string, it will be used as Root Directory path\n when writing a partitioned dataset. By file-like object,\n we refer to objects with a write() method, such as a file handle\n (e.g. via builtin open function). If path is None,\n a bytes object is returned.\nengine : {'pyarrow'}, default 'pyarrow'\n ORC library to use.\nindex : bool, optional\n If ``True``, include the dataframe's index(es) in the file output.\n If ``False``, they will not be written to the file.\n If ``None``, similar to ``infer`` the dataframe's index(es)\n will be saved. However, instead of being saved as values,\n the RangeIndex will be stored as a range in the metadata so it\n doesn't require much space and is faster. Other indexes will\n be included as columns in the file output.\nengine_kwargs : dict[str, Any] or None, default None\n Additional keyword arguments passed to :func:`pyarrow.orc.write_table`.\n\nReturns\n-------\nbytes if no path argument is provided else None\n\nRaises\n------\nNotImplementedError\n Dtype of one or more columns is category, unsigned integers, interval,\n period or sparse.\nValueError\n engine is not pyarrow.\n\nSee Also\n--------\nread_orc : Read a ORC file.\nDataFrame.to_parquet : Write a parquet file.\nDataFrame.to_csv : Write a csv file.\nDataFrame.to_sql : Write to a sql table.\nDataFrame.to_hdf : Write to hdf.\n\nNotes\n-----\n* Before using this function you should read the :ref:`user guide about\n ORC ` and :ref:`install optional dependencies `.\n* This function requires `pyarrow `_\n library.\n* For supported dtypes please refer to `supported ORC features in Arrow\n `__.\n* Currently timezones in datetime columns are not preserved when a\n dataframe is converted into ORC files.\n\nExamples\n--------\n>>> df = pd.DataFrame(data={'col1': [1, 2], 'col2': [4, 3]})\n>>> df.to_orc('df.orc') # doctest: +SKIP\n>>> pd.read_orc('df.orc') # doctest: +SKIP\n col1 col2\n0 1 4\n1 2 3\n\nIf you want to get a buffer to the orc content you can write it to io.BytesIO\n\n>>> import io\n>>> b = io.BytesIO(df.to_orc()) # doctest: +SKIP\n>>> b.seek(0) # doctest: +SKIP\n0\n>>> content = b.read() # doctest: +SKIP\n"}, "kind": 2, "label": "to_orc", "sortText": "188"}, {"detail": "Overload[(path: None = ..., engine: Literal[\"auto\", \"pyarrow\", \"fastparquet\"] = ..., compression: str | None = ..., index: bool | None = ..., partition_cols: list[str] | None = ..., storage_options: dict[str, Any] | None = ..., **kwargs) -> bytes, (path: str | PathLike[str] | WriteBuffer[bytes], engine: Literal[\"auto\", \"pyarrow\", \"fastparquet\"] = ..., compression: str | None = ..., index: bool | None = ..., partition_cols: list[str] | None = ..., storage_options: dict[str, Any] | None = ..., **kwargs) -> None]", "documentation": {"kind": "plaintext", "value": "Write a DataFrame to the binary parquet format.\n\nThis function writes the dataframe as a `parquet file\n`_. You can choose different parquet\nbackends, and have the option of compression. See\n:ref:`the user guide ` for more details.\n\nParameters\n----------\npath : str, path object, file-like object, or None, default None\n String, path object (implementing ``os.PathLike[str]``), or file-like\n object implementing a binary ``write()`` function. If None, the result is\n returned as bytes. If a string or path, it will be used as Root Directory\n path when writing a partitioned dataset.\nengine : {{'auto', 'pyarrow', 'fastparquet'}}, default 'auto'\n Parquet library to use. If 'auto', then the option\n ``io.parquet.engine`` is used. The default ``io.parquet.engine``\n behavior is to try 'pyarrow', falling back to 'fastparquet' if\n 'pyarrow' is unavailable.\ncompression : str or None, default 'snappy'\n Name of the compression to use. Use ``None`` for no compression.\n Supported options: 'snappy', 'gzip', 'brotli', 'lz4', 'zstd'.\nindex : bool, default None\n If ``True``, include the dataframe's index(es) in the file output.\n If ``False``, they will not be written to the file.\n If ``None``, similar to ``True`` the dataframe's index(es)\n will be saved. However, instead of being saved as values,\n the RangeIndex will be stored as a range in the metadata so it\n doesn't require much space and is faster. Other indexes will\n be included as columns in the file output.\npartition_cols : list, optional, default None\n Column names by which to partition the dataset.\n Columns are partitioned in the order they are given.\n Must be None if path is not a string.\n{storage_options}\n\n**kwargs\n Additional arguments passed to the parquet library. See\n :ref:`pandas io ` for more details.\n\nReturns\n-------\nbytes if no path argument is provided else None\n\nSee Also\n--------\nread_parquet : Read a parquet file.\nDataFrame.to_orc : Write an orc file.\nDataFrame.to_csv : Write a csv file.\nDataFrame.to_sql : Write to a sql table.\nDataFrame.to_hdf : Write to hdf.\n\nNotes\n-----\nThis function requires either the `fastparquet\n`_ or `pyarrow\n`_ library.\n\nExamples\n--------\n>>> df = pd.DataFrame(data={{'col1': [1, 2], 'col2': [3, 4]}})\n>>> df.to_parquet('df.parquet.gzip',\n... compression='gzip') # doctest: +SKIP\n>>> pd.read_parquet('df.parquet.gzip') # doctest: +SKIP\n col1 col2\n0 1 3\n1 2 4\n\nIf you want to get a buffer to the parquet content you can use a io.BytesIO\nobject, as long as you don't use partition_cols, which creates multiple files.\n\n>>> import io\n>>> f = io.BytesIO()\n>>> df.to_parquet(f)\n>>> f.seek(0)\n0\n>>> content = f.read()\n"}, "kind": 2, "label": "to_parquet", "sortText": "189"}, {"detail": "bound method DataFrame.to_period(freq: str | BaseOffset | None = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Convert DataFrame from DatetimeIndex to PeriodIndex.\n\nConvert DataFrame from DatetimeIndex to PeriodIndex with desired\nfrequency (inferred from index if not passed).\n\nParameters\n----------\nfreq : str, default\n Frequency of the PeriodIndex.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to convert (the index by default).\ncopy : bool, default True\n If False then underlying input data is not copied.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\nDataFrame\n The DataFrame has a PeriodIndex.\n\nExamples\n--------\n>>> idx = pd.to_datetime(\n... [\n... \"2001-03-31 00:00:00\",\n... \"2002-05-31 00:00:00\",\n... \"2003-08-31 00:00:00\",\n... ]\n... )\n\n>>> idx\nDatetimeIndex(['2001-03-31', '2002-05-31', '2003-08-31'],\ndtype='datetime64[ns]', freq=None)\n\n>>> idx.to_period(\"M\")\nPeriodIndex(['2001-03', '2002-05', '2003-08'], dtype='period[M]')\n\nFor the yearly frequency\n\n>>> idx.to_period(\"Y\")\nPeriodIndex(['2001', '2002', '2003'], dtype='period[Y-DEC]')\n"}, "kind": 2, "label": "to_period", "sortText": "190"}, {"detail": "bound method DataFrame.to_pickle(path: str | PathLike[str] | WriteBuffer[bytes], compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = \"infer\", protocol: int = 5, storage_options: dict[str, Any] | None = None) -> None", "documentation": {"kind": "plaintext", "value": "Pickle (serialize) object to file.\n\nParameters\n----------\npath : str, path object, or file-like object\n String, path object (implementing ``os.PathLike[str]``), or file-like\n object implementing a binary ``write()`` function. File path where\n the pickled object will be stored.\n{compression_options}\nprotocol : int\n Int which indicates which protocol should be used by the pickler,\n default HIGHEST_PROTOCOL (see [1]_ paragraph 12.1.2). The possible\n values are 0, 1, 2, 3, 4, 5. A negative value for the protocol\n parameter is equivalent to setting its value to HIGHEST_PROTOCOL.\n\n .. [1] https://docs.python.org/3/library/pickle.html.\n\n{storage_options}\n\nSee Also\n--------\nread_pickle : Load pickled pandas object (or any object) from file.\nDataFrame.to_hdf : Write DataFrame to an HDF5 file.\nDataFrame.to_sql : Write DataFrame to a SQL database.\nDataFrame.to_parquet : Write a DataFrame to the binary parquet format.\n\nExamples\n--------\n>>> original_df = pd.DataFrame({{\"foo\": range(5), \"bar\": range(5, 10)}}) # doctest: +SKIP\n>>> original_df # doctest: +SKIP\n foo bar\n0 0 5\n1 1 6\n2 2 7\n3 3 8\n4 4 9\n>>> original_df.to_pickle(\"./dummy.pkl\") # doctest: +SKIP\n\n>>> unpickled_df = pd.read_pickle(\"./dummy.pkl\") # doctest: +SKIP\n>>> unpickled_df # doctest: +SKIP\n foo bar\n0 0 5\n1 1 6\n2 2 7\n3 3 8\n4 4 9\n"}, "kind": 2, "label": "to_pickle", "sortText": "191"}, {"detail": "bound method DataFrame.to_records(index: bool = True, column_dtypes=None, index_dtypes=None) -> recarray[_AnyShape, dtype[Any]]", "documentation": {"kind": "plaintext", "value": "Convert DataFrame to a NumPy record array.\n\nIndex will be included as the first field of the record array if\nrequested.\n\nParameters\n----------\nindex : bool, default True\n Include index in resulting record array, stored in 'index'\n field or using the index label, if set.\ncolumn_dtypes : str, type, dict, default None\n If a string or type, the data type to store all columns. If\n a dictionary, a mapping of column names and indices (zero-indexed)\n to specific data types.\nindex_dtypes : str, type, dict, default None\n If a string or type, the data type to store all index levels. If\n a dictionary, a mapping of index level names and indices\n (zero-indexed) to specific data types.\n\n This mapping is applied only if `index=True`.\n\nReturns\n-------\nnumpy.rec.recarray\n NumPy ndarray with the DataFrame labels as fields and each row\n of the DataFrame as entries.\n\nSee Also\n--------\nDataFrame.from_records: Convert structured or record ndarray\n to DataFrame.\nnumpy.rec.recarray: An ndarray that allows field access using\n attributes, analogous to typed columns in a\n spreadsheet.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [1, 2], 'B': [0.5, 0.75]},\n... index=['a', 'b'])\n>>> df\n A B\na 1 0.50\nb 2 0.75\n>>> df.to_records()\nrec.array([('a', 1, 0.5 ), ('b', 2, 0.75)],\n dtype=[('index', 'O'), ('A', '>> df.index = df.index.rename(\"I\")\n>>> df.to_records()\nrec.array([('a', 1, 0.5 ), ('b', 2, 0.75)],\n dtype=[('I', 'O'), ('A', '>> df.to_records(index=False)\nrec.array([(1, 0.5 ), (2, 0.75)],\n dtype=[('A', '>> df.to_records(column_dtypes={\"A\": \"int32\"})\nrec.array([('a', 1, 0.5 ), ('b', 2, 0.75)],\n dtype=[('I', 'O'), ('A', '>> df.to_records(index_dtypes=\">> index_dtypes = f\">> df.to_records(index_dtypes=index_dtypes)\nrec.array([(b'a', 1, 0.5 ), (b'b', 2, 0.75)],\n dtype=[('I', 'S1'), ('A', ' Unknown) | None = None) -> int | None", "documentation": {"kind": "plaintext", "value": "Write records stored in a DataFrame to a SQL database.\n\nDatabases supported by SQLAlchemy [1]_ are supported. Tables can be\nnewly created, appended to, or overwritten.\n\nParameters\n----------\nname : str\n Name of SQL table.\ncon : sqlalchemy.engine.(Engine or Connection) or sqlite3.Connection\n Using SQLAlchemy makes it possible to use any DB supported by that\n library. Legacy support is provided for sqlite3.Connection objects. The user\n is responsible for engine disposal and connection closure for the SQLAlchemy\n connectable. See `here `_.\n If passing a sqlalchemy.engine.Connection which is already in a transaction,\n the transaction will not be committed. If passing a sqlite3.Connection,\n it will not be possible to roll back the record insertion.\n\nschema : str, optional\n Specify the schema (if database flavor supports this). If None, use\n default schema.\nif_exists : {'fail', 'replace', 'append'}, default 'fail'\n How to behave if the table already exists.\n\n * fail: Raise a ValueError.\n * replace: Drop the table before inserting new values.\n * append: Insert new values to the existing table.\n\nindex : bool, default True\n Write DataFrame index as a column. Uses `index_label` as the column\n name in the table. Creates a table index for this column.\nindex_label : str or sequence, default None\n Column label for index column(s). If None is given (default) and\n `index` is True, then the index names are used.\n A sequence should be given if the DataFrame uses MultiIndex.\nchunksize : int, optional\n Specify the number of rows in each batch to be written at a time.\n By default, all rows will be written at once.\ndtype : dict or scalar, optional\n Specifying the datatype for columns. If a dictionary is used, the\n keys should be the column names and the values should be the\n SQLAlchemy types or strings for the sqlite3 legacy mode. If a\n scalar is provided, it will be applied to all columns.\nmethod : {None, 'multi', callable}, optional\n Controls the SQL insertion clause used:\n\n * None : Uses standard SQL ``INSERT`` clause (one per row).\n * 'multi': Pass multiple values in a single ``INSERT`` clause.\n * callable with signature ``(pd_table, conn, keys, data_iter)``.\n\n Details and a sample callable implementation can be found in the\n section :ref:`insert method `.\n\nReturns\n-------\nNone or int\n Number of rows affected by to_sql. None is returned if the callable\n passed into ``method`` does not return an integer number of rows.\n\n The number of returned rows affected is the sum of the ``rowcount``\n attribute of ``sqlite3.Cursor`` or SQLAlchemy connectable which may not\n reflect the exact number of written rows as stipulated in the\n `sqlite3 `__ or\n `SQLAlchemy `__.\n\n .. versionadded:: 1.4.0\n\nRaises\n------\nValueError\n When the table already exists and `if_exists` is 'fail' (the\n default).\n\nSee Also\n--------\nread_sql : Read a DataFrame from a table.\n\nNotes\n-----\nTimezone aware datetime columns will be written as\n``Timestamp with timezone`` type with SQLAlchemy if supported by the\ndatabase. Otherwise, the datetimes will be stored as timezone unaware\ntimestamps local to the original timezone.\n\nNot all datastores support ``method=\"multi\"``. Oracle, for example,\ndoes not support multi-value insert.\n\nReferences\n----------\n.. [1] https://docs.sqlalchemy.org\n.. [2] https://www.python.org/dev/peps/pep-0249/\n\nExamples\n--------\nCreate an in-memory SQLite database.\n\n>>> from sqlalchemy import create_engine\n>>> engine = create_engine('sqlite://', echo=False)\n\nCreate a table from scratch with 3 rows.\n\n>>> df = pd.DataFrame({'name' : ['User 1', 'User 2', 'User 3']})\n>>> df\n name\n0 User 1\n1 User 2\n2 User 3\n\n>>> df.to_sql(name='users', con=engine)\n3\n>>> from sqlalchemy import text\n>>> with engine.connect() as conn:\n... conn.execute(text(\"SELECT * FROM users\")).fetchall()\n[(0, 'User 1'), (1, 'User 2'), (2, 'User 3')]\n\nAn `sqlalchemy.engine.Connection` can also be passed to `con`:\n\n>>> with engine.begin() as connection:\n... df1 = pd.DataFrame({'name' : ['User 4', 'User 5']})\n... df1.to_sql(name='users', con=connection, if_exists='append')\n2\n\nThis is allowed to support operations that require that the same\nDBAPI connection is used for the entire operation.\n\n>>> df2 = pd.DataFrame({'name' : ['User 6', 'User 7']})\n>>> df2.to_sql(name='users', con=engine, if_exists='append')\n2\n>>> with engine.connect() as conn:\n... conn.execute(text(\"SELECT * FROM users\")).fetchall()\n[(0, 'User 1'), (1, 'User 2'), (2, 'User 3'),\n (0, 'User 4'), (1, 'User 5'), (0, 'User 6'),\n (1, 'User 7')]\n\nOverwrite the table with just ``df2``.\n\n>>> df2.to_sql(name='users', con=engine, if_exists='replace',\n... index_label='id')\n2\n>>> with engine.connect() as conn:\n... conn.execute(text(\"SELECT * FROM users\")).fetchall()\n[(0, 'User 6'), (1, 'User 7')]\n\nUse ``method`` to define a callable insertion method to do nothing\nif there's a primary key conflict on a table in a PostgreSQL database.\n\n>>> from sqlalchemy.dialects.postgresql import insert\n>>> def insert_on_conflict_nothing(table, conn, keys, data_iter):\n... # \"a\" is the primary key in \"conflict_table\"\n... data = [dict(zip(keys, row)) for row in data_iter]\n... stmt = insert(table.table).values(data).on_conflict_do_nothing(index_elements=[\"a\"])\n... result = conn.execute(stmt)\n... return result.rowcount\n>>> df_conflict.to_sql(name=\"conflict_table\", con=conn, if_exists=\"append\", method=insert_on_conflict_nothing) # doctest: +SKIP\n0\n\nFor MySQL, a callable to update columns ``b`` and ``c`` if there's a conflict\non a primary key.\n\n>>> from sqlalchemy.dialects.mysql import insert\n>>> def insert_on_conflict_update(table, conn, keys, data_iter):\n... # update columns \"b\" and \"c\" on primary key conflict\n... data = [dict(zip(keys, row)) for row in data_iter]\n... stmt = (\n... insert(table.table)\n... .values(data)\n... )\n... stmt = stmt.on_duplicate_key_update(b=stmt.inserted.b, c=stmt.inserted.c)\n... result = conn.execute(stmt)\n... return result.rowcount\n>>> df_conflict.to_sql(name=\"conflict_table\", con=conn, if_exists=\"append\", method=insert_on_conflict_update) # doctest: +SKIP\n2\n\nSpecify the dtype (especially useful for integers with missing values).\nNotice that while pandas is forced to store the data as floating point,\nthe database supports nullable integers. When fetching the data with\nPython, we get back integer scalars.\n\n>>> df = pd.DataFrame({\"A\": [1, None, 2]})\n>>> df\n A\n0 1.0\n1 NaN\n2 2.0\n\n>>> from sqlalchemy.types import Integer\n>>> df.to_sql(name='integers', con=engine, index=False,\n... dtype={\"A\": Integer()})\n3\n\n>>> with engine.connect() as conn:\n... conn.execute(text(\"SELECT * FROM integers\")).fetchall()\n[(1,), (None,), (2,)]\n"}, "kind": 2, "label": "to_sql", "sortText": "193"}, {"detail": "bound method DataFrame.to_stata(path: str | PathLike[str] | WriteBuffer[bytes], *, convert_dates: dict[Hashable, str] | None = None, write_index: bool = True, byteorder: Literal[\">\", \"<\", \"little\", \"big\"] | None = None, time_stamp: datetime | None = None, data_label: str | None = None, variable_labels: dict[Hashable, str] | None = None, version: int | None = 114, convert_strl: Sequence[Hashable] | None = None, compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = \"infer\", storage_options: dict[str, Any] | None = None, value_labels: dict[Hashable, dict[float, str]] | None = None) -> None", "documentation": {"kind": "plaintext", "value": "Export DataFrame object to Stata dta format.\n\nWrites the DataFrame to a Stata dataset file.\n\"dta\" files contain a Stata dataset.\n\nParameters\n----------\npath : str, path object, or buffer\n String, path object (implementing ``os.PathLike[str]``), or file-like\n object implementing a binary ``write()`` function.\n\nconvert_dates : dict\n Dictionary mapping columns containing datetime types to stata\n internal format to use when writing the dates. Options are 'tc',\n 'td', 'tm', 'tw', 'th', 'tq', 'ty'. Column can be either an integer\n or a name. Datetime columns that do not have a conversion type\n specified will be converted to 'tc'. Raises NotImplementedError if\n a datetime column has timezone information.\nwrite_index : bool\n Write the index to Stata dataset.\nbyteorder : str\n Can be \">\", \"<\", \"little\", or \"big\". default is `sys.byteorder`.\ntime_stamp : datetime\n A datetime to use as file creation date. Default is the current\n time.\ndata_label : str, optional\n A label for the data set. Must be 80 characters or smaller.\nvariable_labels : dict\n Dictionary containing columns as keys and variable labels as\n values. Each label must be 80 characters or smaller.\nversion : {{114, 117, 118, 119, None}}, default 114\n Version to use in the output dta file. Set to None to let pandas\n decide between 118 or 119 formats depending on the number of\n columns in the frame. Version 114 can be read by Stata 10 and\n later. Version 117 can be read by Stata 13 or later. Version 118\n is supported in Stata 14 and later. Version 119 is supported in\n Stata 15 and later. Version 114 limits string variables to 244\n characters or fewer while versions 117 and later allow strings\n with lengths up to 2,000,000 characters. Versions 118 and 119\n support Unicode characters, and version 119 supports more than\n 32,767 variables.\n\n Version 119 should usually only be used when the number of\n variables exceeds the capacity of dta format 118. Exporting\n smaller datasets in format 119 may have unintended consequences,\n and, as of November 2020, Stata SE cannot read version 119 files.\n\nconvert_strl : list, optional\n List of column names to convert to string columns to Stata StrL\n format. Only available if version is 117. Storing strings in the\n StrL format can produce smaller dta files if strings have more than\n 8 characters and values are repeated.\n{compression_options}\n\n .. versionchanged:: 1.4.0 Zstandard support.\n\n{storage_options}\n\nvalue_labels : dict of dicts\n Dictionary containing columns as keys and dictionaries of column value\n to labels as values. Labels for a single variable must be 32,000\n characters or smaller.\n\n .. versionadded:: 1.4.0\n\nRaises\n------\nNotImplementedError\n * If datetimes contain timezone information\n * Column dtype is not representable in Stata\nValueError\n * Columns listed in convert_dates are neither datetime64[ns]\n or datetime.datetime\n * Column listed in convert_dates is not in DataFrame\n * Categorical label contains more than 32,000 characters\n\nSee Also\n--------\nread_stata : Import Stata data files.\nio.stata.StataWriter : Low-level writer for Stata data files.\nio.stata.StataWriter117 : Low-level writer for version 117 files.\n\nExamples\n--------\n>>> df = pd.DataFrame({{'animal': ['falcon', 'parrot', 'falcon',\n... 'parrot'],\n... 'speed': [350, 18, 361, 15]}})\n>>> df.to_stata('animals.dta') # doctest: +SKIP\n"}, "kind": 2, "label": "to_stata", "sortText": "194"}, {"detail": "Overload[(buf: None = ..., columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = ..., col_space: int | list[int] | dict[Hashable, int] | None = ..., header: bool | SequenceNotStr[str] = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., justify: str | None = ..., max_rows: int | None = ..., max_cols: int | None = ..., show_dimensions: bool = ..., decimal: str = ..., line_width: int | None = ..., min_rows: int | None = ..., max_colwidth: int | None = ..., encoding: str | None = ...) -> str, (buf: str | PathLike[str] | WriteBuffer[str], columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = ..., col_space: int | list[int] | dict[Hashable, int] | None = ..., header: bool | SequenceNotStr[str] = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., justify: str | None = ..., max_rows: int | None = ..., max_cols: int | None = ..., show_dimensions: bool = ..., decimal: str = ..., line_width: int | None = ..., min_rows: int | None = ..., max_colwidth: int | None = ..., encoding: str | None = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Render a DataFrame to a console-friendly tabular output.\n%(shared_params)s\nline_width : int, optional\n Width to wrap a line in characters.\nmin_rows : int, optional\n The number of rows to display in the console in a truncated repr\n (when number of rows is above `max_rows`).\nmax_colwidth : int, optional\n Max width to truncate each column in characters. By default, no limit.\nencoding : str, default \"utf-8\"\n Set character encoding.\n%(returns)s\nSee Also\n--------\nto_html : Convert DataFrame to HTML.\n\nExamples\n--------\n>>> d = {'col1': [1, 2, 3], 'col2': [4, 5, 6]}\n>>> df = pd.DataFrame(d)\n>>> print(df.to_string())\n col1 col2\n0 1 4\n1 2 5\n2 3 6\n"}, "kind": 2, "label": "to_string", "sortText": "195"}, {"detail": "bound method DataFrame.to_timestamp(freq: str | BaseOffset | None = None, how: Literal[\"s\", \"e\", \"start\", \"end\"] = \"start\", axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Cast to DatetimeIndex of timestamps, at *beginning* of period.\n\nParameters\n----------\nfreq : str, default frequency of PeriodIndex\n Desired frequency.\nhow : {'s', 'e', 'start', 'end'}\n Convention for converting period to timestamp; start of period\n vs. end.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to convert (the index by default).\ncopy : bool, default True\n If False then underlying input data is not copied.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\nDataFrame\n The DataFrame has a DatetimeIndex.\n\nExamples\n--------\n>>> idx = pd.PeriodIndex(['2023', '2024'], freq='Y')\n>>> d = {'col1': [1, 2], 'col2': [3, 4]}\n>>> df1 = pd.DataFrame(data=d, index=idx)\n>>> df1\n col1 col2\n2023 1 3\n2024 2 4\n\nThe resulting timestamps will be at the beginning of the year in this case\n\n>>> df1 = df1.to_timestamp()\n>>> df1\n col1 col2\n2023-01-01 1 3\n2024-01-01 2 4\n>>> df1.index\nDatetimeIndex(['2023-01-01', '2024-01-01'], dtype='datetime64[ns]', freq=None)\n\nUsing `freq` which is the offset that the Timestamps will have\n\n>>> df2 = pd.DataFrame(data=d, index=idx)\n>>> df2 = df2.to_timestamp(freq='M')\n>>> df2\n col1 col2\n2023-01-31 1 3\n2024-01-31 2 4\n>>> df2.index\nDatetimeIndex(['2023-01-31', '2024-01-31'], dtype='datetime64[ns]', freq=None)\n"}, "kind": 2, "label": "to_timestamp", "sortText": "196"}, {"detail": "bound method DataFrame.to_xarray() -> Unknown", "documentation": {"kind": "plaintext", "value": "Return an xarray object from the pandas object.\n\nReturns\n-------\nxarray.DataArray or xarray.Dataset\n Data in the pandas structure converted to Dataset if the object is\n a DataFrame, or a DataArray if the object is a Series.\n\nSee Also\n--------\nDataFrame.to_hdf : Write DataFrame to an HDF5 file.\nDataFrame.to_parquet : Write a DataFrame to the binary parquet format.\n\nNotes\n-----\nSee the `xarray docs `__\n\nExamples\n--------\n>>> df = pd.DataFrame([('falcon', 'bird', 389.0, 2),\n... ('parrot', 'bird', 24.0, 2),\n... ('lion', 'mammal', 80.5, 4),\n... ('monkey', 'mammal', np.nan, 4)],\n... columns=['name', 'class', 'max_speed',\n... 'num_legs'])\n>>> df\n name class max_speed num_legs\n0 falcon bird 389.0 2\n1 parrot bird 24.0 2\n2 lion mammal 80.5 4\n3 monkey mammal NaN 4\n\n>>> df.to_xarray() # doctest: +SKIP\n\nDimensions: (index: 4)\nCoordinates:\n * index (index) int64 32B 0 1 2 3\nData variables:\n name (index) object 32B 'falcon' 'parrot' 'lion' 'monkey'\n class (index) object 32B 'bird' 'bird' 'mammal' 'mammal'\n max_speed (index) float64 32B 389.0 24.0 80.5 nan\n num_legs (index) int64 32B 2 2 4 4\n\n>>> df['max_speed'].to_xarray() # doctest: +SKIP\n\narray([389. , 24. , 80.5, nan])\nCoordinates:\n * index (index) int64 0 1 2 3\n\n>>> dates = pd.to_datetime(['2018-01-01', '2018-01-01',\n... '2018-01-02', '2018-01-02'])\n>>> df_multiindex = pd.DataFrame({'date': dates,\n... 'animal': ['falcon', 'parrot',\n... 'falcon', 'parrot'],\n... 'speed': [350, 18, 361, 15]})\n>>> df_multiindex = df_multiindex.set_index(['date', 'animal'])\n\n>>> df_multiindex\n speed\ndate animal\n2018-01-01 falcon 350\n parrot 18\n2018-01-02 falcon 361\n parrot 15\n\n>>> df_multiindex.to_xarray() # doctest: +SKIP\n\nDimensions: (date: 2, animal: 2)\nCoordinates:\n * date (date) datetime64[ns] 2018-01-01 2018-01-02\n * animal (animal) object 'falcon' 'parrot'\nData variables:\n speed (date, animal) int64 350 18 361 15\n"}, "kind": 2, "label": "to_xarray", "sortText": "197"}, {"detail": "Overload[(path_or_buffer: None = ..., *, index: bool = ..., root_name: str | None = ..., row_name: str | None = ..., na_rep: str | None = ..., attr_cols: list[str] | None = ..., elem_cols: list[str] | None = ..., namespaces: dict[str | None, str] | None = ..., prefix: str | None = ..., encoding: str = ..., xml_declaration: bool | None = ..., pretty_print: bool | None = ..., parser: Literal[\"lxml\", \"etree\"] | None = ..., stylesheet: str | PathLike[str] | ReadBuffer[str] | ReadBuffer[bytes] | None = ..., compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = ..., storage_options: dict[str, Any] | None = ...) -> str, (path_or_buffer: str | PathLike[str] | WriteBuffer[bytes] | WriteBuffer[str], *, index: bool = ..., root_name: str | None = ..., row_name: str | None = ..., na_rep: str | None = ..., attr_cols: list[str] | None = ..., elem_cols: list[str] | None = ..., namespaces: dict[str | None, str] | None = ..., prefix: str | None = ..., encoding: str = ..., xml_declaration: bool | None = ..., pretty_print: bool | None = ..., parser: Literal[\"lxml\", \"etree\"] | None = ..., stylesheet: str | PathLike[str] | ReadBuffer[str] | ReadBuffer[bytes] | None = ..., compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = ..., storage_options: dict[str, Any] | None = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Render a DataFrame to an XML document.\n\n.. versionadded:: 1.3.0\n\nParameters\n----------\npath_or_buffer : str, path object, file-like object, or None, default None\n String, path object (implementing ``os.PathLike[str]``), or file-like\n object implementing a ``write()`` function. If None, the result is returned\n as a string.\nindex : bool, default True\n Whether to include index in XML document.\nroot_name : str, default 'data'\n The name of root element in XML document.\nrow_name : str, default 'row'\n The name of row element in XML document.\nna_rep : str, optional\n Missing data representation.\nattr_cols : list-like, optional\n List of columns to write as attributes in row element.\n Hierarchical columns will be flattened with underscore\n delimiting the different levels.\nelem_cols : list-like, optional\n List of columns to write as children in row element. By default,\n all columns output as children of row element. Hierarchical\n columns will be flattened with underscore delimiting the\n different levels.\nnamespaces : dict, optional\n All namespaces to be defined in root element. Keys of dict\n should be prefix names and values of dict corresponding URIs.\n Default namespaces should be given empty string key. For\n example, ::\n\n namespaces = {{\"\": \"https://example.com\"}}\n\nprefix : str, optional\n Namespace prefix to be used for every element and/or attribute\n in document. This should be one of the keys in ``namespaces``\n dict.\nencoding : str, default 'utf-8'\n Encoding of the resulting document.\nxml_declaration : bool, default True\n Whether to include the XML declaration at start of document.\npretty_print : bool, default True\n Whether output should be pretty printed with indentation and\n line breaks.\nparser : {{'lxml','etree'}}, default 'lxml'\n Parser module to use for building of tree. Only 'lxml' and\n 'etree' are supported. With 'lxml', the ability to use XSLT\n stylesheet is supported.\nstylesheet : str, path object or file-like object, optional\n A URL, file-like object, or a raw string containing an XSLT\n script used to transform the raw XML output. Script should use\n layout of elements and attributes from original output. This\n argument requires ``lxml`` to be installed. Only XSLT 1.0\n scripts and not later versions is currently supported.\n{compression_options}\n\n .. versionchanged:: 1.4.0 Zstandard support.\n\n{storage_options}\n\nReturns\n-------\nNone or str\n If ``io`` is None, returns the resulting XML format as a\n string. Otherwise returns None.\n\nSee Also\n--------\nto_json : Convert the pandas object to a JSON string.\nto_html : Convert DataFrame to a html.\n\nExamples\n--------\n>>> df = pd.DataFrame({{'shape': ['square', 'circle', 'triangle'],\n... 'degrees': [360, 360, 180],\n... 'sides': [4, np.nan, 3]}})\n\n>>> df.to_xml() # doctest: +SKIP\n\n\n \n 0\n square\n 360\n 4.0\n \n \n 1\n circle\n 360\n \n \n \n 2\n triangle\n 180\n 3.0\n \n\n\n>>> df.to_xml(attr_cols=[\n... 'index', 'shape', 'degrees', 'sides'\n... ]) # doctest: +SKIP\n\n\n \n \n \n\n\n>>> df.to_xml(namespaces={{\"doc\": \"https://example.com\"}},\n... prefix=\"doc\") # doctest: +SKIP\n\n\n \n 0\n square\n 360\n 4.0\n \n \n 1\n circle\n 360\n \n \n \n 2\n triangle\n 180\n 3.0\n \n\n"}, "kind": 2, "label": "to_xml", "sortText": "198"}, {"detail": "bound method DataFrame.transform(func: ((...) -> Unknown) | str | list[((...) -> Unknown) | str] | MutableMapping[Hashable, ((...) -> Unknown) | str | list[((...) -> Unknown) | str]], axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, *args, **kwargs) -> DataFrame", "kind": 2, "label": "transform", "sortText": "199"}, {"detail": "bound method DataFrame.transpose(*args, copy: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Transpose index and columns.\n\nReflect the DataFrame over its main diagonal by writing rows as columns\nand vice-versa. The property :attr:`.T` is an accessor to the method\n:meth:`transpose`.\n\nParameters\n----------\n*args : tuple, optional\n Accepted for compatibility with NumPy.\ncopy : bool, default False\n Whether to copy the data after transposing, even for DataFrames\n with a single dtype.\n\n Note that a copy is always required for mixed dtype DataFrames,\n or for DataFrames with any extension types.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\nDataFrame\n The transposed DataFrame.\n\nSee Also\n--------\nnumpy.transpose : Permute the dimensions of a given array.\n\nNotes\n-----\nTransposing a DataFrame with mixed dtypes will result in a homogeneous\nDataFrame with the `object` dtype. In such a case, a copy of the data\nis always made.\n\nExamples\n--------\n**Square DataFrame with homogeneous dtype**\n\n>>> d1 = {'col1': [1, 2], 'col2': [3, 4]}\n>>> df1 = pd.DataFrame(data=d1)\n>>> df1\n col1 col2\n0 1 3\n1 2 4\n\n>>> df1_transposed = df1.T # or df1.transpose()\n>>> df1_transposed\n 0 1\ncol1 1 2\ncol2 3 4\n\nWhen the dtype is homogeneous in the original DataFrame, we get a\ntransposed DataFrame with the same dtype:\n\n>>> df1.dtypes\ncol1 int64\ncol2 int64\ndtype: object\n>>> df1_transposed.dtypes\n0 int64\n1 int64\ndtype: object\n\n**Non-square DataFrame with mixed dtypes**\n\n>>> d2 = {'name': ['Alice', 'Bob'],\n... 'score': [9.5, 8],\n... 'employed': [False, True],\n... 'kids': [0, 0]}\n>>> df2 = pd.DataFrame(data=d2)\n>>> df2\n name score employed kids\n0 Alice 9.5 False 0\n1 Bob 8.0 True 0\n\n>>> df2_transposed = df2.T # or df2.transpose()\n>>> df2_transposed\n 0 1\nname Alice Bob\nscore 9.5 8.0\nemployed False True\nkids 0 0\n\nWhen the DataFrame has mixed dtypes, we get a transposed DataFrame with\nthe `object` dtype:\n\n>>> df2.dtypes\nname object\nscore float64\nemployed bool\nkids int64\ndtype: object\n>>> df2_transposed.dtypes\n0 object\n1 object\ndtype: object\n"}, "kind": 2, "label": "transpose", "sortText": "200"}, {"detail": "bound method DataFrame.truediv(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "truediv", "sortText": "201"}, {"detail": "bound method DataFrame.truncate(before=None, after=None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Truncate a Series or DataFrame before and after some index value.\n\nThis is a useful shorthand for boolean indexing based on index\nvalues above or below certain thresholds.\n\nParameters\n----------\nbefore : date, str, int\n Truncate all rows before this index value.\nafter : date, str, int\n Truncate all rows after this index value.\naxis : {0 or 'index', 1 or 'columns'}, optional\n Axis to truncate. Truncates the index (rows) by default.\n For `Series` this parameter is unused and defaults to 0.\ncopy : bool, default is True,\n Return a copy of the truncated section.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\ntype of caller\n The truncated Series or DataFrame.\n\nSee Also\n--------\nDataFrame.loc : Select a subset of a DataFrame by label.\nDataFrame.iloc : Select a subset of a DataFrame by position.\n\nNotes\n-----\nIf the index being truncated contains only datetime values,\n`before` and `after` may be specified as strings instead of\nTimestamps.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': ['a', 'b', 'c', 'd', 'e'],\n... 'B': ['f', 'g', 'h', 'i', 'j'],\n... 'C': ['k', 'l', 'm', 'n', 'o']},\n... index=[1, 2, 3, 4, 5])\n>>> df\n A B C\n1 a f k\n2 b g l\n3 c h m\n4 d i n\n5 e j o\n\n>>> df.truncate(before=2, after=4)\n A B C\n2 b g l\n3 c h m\n4 d i n\n\nThe columns of a DataFrame can be truncated.\n\n>>> df.truncate(before=\"A\", after=\"B\", axis=\"columns\")\n A B\n1 a f\n2 b g\n3 c h\n4 d i\n5 e j\n\nFor Series, only rows can be truncated.\n\n>>> df['A'].truncate(before=2, after=4)\n2 b\n3 c\n4 d\nName: A, dtype: object\n\nThe index values in ``truncate`` can be datetimes or string\ndates.\n\n>>> dates = pd.date_range('2016-01-01', '2016-02-01', freq='s')\n>>> df = pd.DataFrame(index=dates, data={'A': 1})\n>>> df.tail()\n A\n2016-01-31 23:59:56 1\n2016-01-31 23:59:57 1\n2016-01-31 23:59:58 1\n2016-01-31 23:59:59 1\n2016-02-01 00:00:00 1\n\n>>> df.truncate(before=pd.Timestamp('2016-01-05'),\n... after=pd.Timestamp('2016-01-10')).tail()\n A\n2016-01-09 23:59:56 1\n2016-01-09 23:59:57 1\n2016-01-09 23:59:58 1\n2016-01-09 23:59:59 1\n2016-01-10 00:00:00 1\n\nBecause the index is a DatetimeIndex containing only dates, we can\nspecify `before` and `after` as strings. They will be coerced to\nTimestamps before truncation.\n\n>>> df.truncate('2016-01-05', '2016-01-10').tail()\n A\n2016-01-09 23:59:56 1\n2016-01-09 23:59:57 1\n2016-01-09 23:59:58 1\n2016-01-09 23:59:59 1\n2016-01-10 00:00:00 1\n\nNote that ``truncate`` assumes a 0 value for any unspecified time\ncomponent (midnight). This differs from partial string slicing, which\nreturns any partially matching dates.\n\n>>> df.loc['2016-01-05':'2016-01-10', :].tail()\n A\n2016-01-10 23:59:55 1\n2016-01-10 23:59:56 1\n2016-01-10 23:59:57 1\n2016-01-10 23:59:58 1\n2016-01-10 23:59:59 1\n"}, "kind": 2, "label": "truncate", "sortText": "202"}, {"detail": "bound method DataFrame.tz_convert(tz, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, level=None, copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Convert tz-aware axis to target time zone.\n\nParameters\n----------\ntz : str or tzinfo object or None\n Target time zone. Passing ``None`` will convert to\n UTC and remove the timezone information.\naxis : {{0 or 'index', 1 or 'columns'}}, default 0\n The axis to convert\nlevel : int, str, default None\n If axis is a MultiIndex, convert a specific level. Otherwise\n must be None.\ncopy : bool, default True\n Also make a copy of the underlying data.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\n{klass}\n Object with time zone converted axis.\n\nRaises\n------\nTypeError\n If the axis is tz-naive.\n\nExamples\n--------\nChange to another time zone:\n\n>>> s = pd.Series(\n... [1],\n... index=pd.DatetimeIndex(['2018-09-15 01:30:00+02:00']),\n... )\n>>> s.tz_convert('Asia/Shanghai')\n2018-09-15 07:30:00+08:00 1\ndtype: int64\n\nPass None to convert to UTC and get a tz-naive index:\n\n>>> s = pd.Series([1],\n... index=pd.DatetimeIndex(['2018-09-15 01:30:00+02:00']))\n>>> s.tz_convert(None)\n2018-09-14 23:30:00 1\ndtype: int64\n"}, "kind": 2, "label": "tz_convert", "sortText": "203"}, {"detail": "bound method DataFrame.tz_localize(tz, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, level=None, copy: builtins.bool | None = None, ambiguous: Literal[\"infer\", \"NaT\", \"raise\"] | ndarray[_AnyShape, dtype[numpy.bool[builtins.bool]]] = \"raise\", nonexistent: Literal[\"shift_forward\", \"shift_backward\", \"NaT\", \"raise\"] | timedelta = \"raise\") -> DataFrame", "documentation": {"kind": "plaintext", "value": "Localize tz-naive index of a Series or DataFrame to target time zone.\n\nThis operation localizes the Index. To localize the values in a\ntimezone-naive Series, use :meth:`Series.dt.tz_localize`.\n\nParameters\n----------\ntz : str or tzinfo or None\n Time zone to localize. Passing ``None`` will remove the\n time zone information and preserve local time.\naxis : {{0 or 'index', 1 or 'columns'}}, default 0\n The axis to localize\nlevel : int, str, default None\n If axis ia a MultiIndex, localize a specific level. Otherwise\n must be None.\ncopy : bool, default True\n Also make a copy of the underlying data.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\nambiguous : 'infer', bool-ndarray, 'NaT', default 'raise'\n When clocks moved backward due to DST, ambiguous times may arise.\n For example in Central European Time (UTC+01), when going from\n 03:00 DST to 02:00 non-DST, 02:30:00 local time occurs both at\n 00:30:00 UTC and at 01:30:00 UTC. In such a situation, the\n `ambiguous` parameter dictates how ambiguous times should be\n handled.\n\n - 'infer' will attempt to infer fall dst-transition hours based on\n order\n - bool-ndarray where True signifies a DST time, False designates\n a non-DST time (note that this flag is only applicable for\n ambiguous times)\n - 'NaT' will return NaT where there are ambiguous times\n - 'raise' will raise an AmbiguousTimeError if there are ambiguous\n times.\nnonexistent : str, default 'raise'\n A nonexistent time does not exist in a particular timezone\n where clocks moved forward due to DST. Valid values are:\n\n - 'shift_forward' will shift the nonexistent time forward to the\n closest existing time\n - 'shift_backward' will shift the nonexistent time backward to the\n closest existing time\n - 'NaT' will return NaT where there are nonexistent times\n - timedelta objects will shift nonexistent times by the timedelta\n - 'raise' will raise an NonExistentTimeError if there are\n nonexistent times.\n\nReturns\n-------\n{klass}\n Same type as the input.\n\nRaises\n------\nTypeError\n If the TimeSeries is tz-aware and tz is not None.\n\nExamples\n--------\nLocalize local times:\n\n>>> s = pd.Series(\n... [1],\n... index=pd.DatetimeIndex(['2018-09-15 01:30:00']),\n... )\n>>> s.tz_localize('CET')\n2018-09-15 01:30:00+02:00 1\ndtype: int64\n\nPass None to convert to tz-naive index and preserve local time:\n\n>>> s = pd.Series([1],\n... index=pd.DatetimeIndex(['2018-09-15 01:30:00+02:00']))\n>>> s.tz_localize(None)\n2018-09-15 01:30:00 1\ndtype: int64\n\nBe careful with DST changes. When there is sequential data, pandas\ncan infer the DST time:\n\n>>> s = pd.Series(range(7),\n... index=pd.DatetimeIndex(['2018-10-28 01:30:00',\n... '2018-10-28 02:00:00',\n... '2018-10-28 02:30:00',\n... '2018-10-28 02:00:00',\n... '2018-10-28 02:30:00',\n... '2018-10-28 03:00:00',\n... '2018-10-28 03:30:00']))\n>>> s.tz_localize('CET', ambiguous='infer')\n2018-10-28 01:30:00+02:00 0\n2018-10-28 02:00:00+02:00 1\n2018-10-28 02:30:00+02:00 2\n2018-10-28 02:00:00+01:00 3\n2018-10-28 02:30:00+01:00 4\n2018-10-28 03:00:00+01:00 5\n2018-10-28 03:30:00+01:00 6\ndtype: int64\n\nIn some cases, inferring the DST is impossible. In such cases, you can\npass an ndarray to the ambiguous parameter to set the DST explicitly\n\n>>> s = pd.Series(range(3),\n... index=pd.DatetimeIndex(['2018-10-28 01:20:00',\n... '2018-10-28 02:36:00',\n... '2018-10-28 03:46:00']))\n>>> s.tz_localize('CET', ambiguous=np.array([True, True, False]))\n2018-10-28 01:20:00+02:00 0\n2018-10-28 02:36:00+02:00 1\n2018-10-28 03:46:00+01:00 2\ndtype: int64\n\nIf the DST transition causes nonexistent times, you can shift these\ndates forward or backward with a timedelta object or `'shift_forward'`\nor `'shift_backward'`.\n\n>>> s = pd.Series(range(2),\n... index=pd.DatetimeIndex(['2015-03-29 02:30:00',\n... '2015-03-29 03:30:00']))\n>>> s.tz_localize('Europe/Warsaw', nonexistent='shift_forward')\n2015-03-29 03:00:00+02:00 0\n2015-03-29 03:30:00+02:00 1\ndtype: int64\n>>> s.tz_localize('Europe/Warsaw', nonexistent='shift_backward')\n2015-03-29 01:59:59.999999999+01:00 0\n2015-03-29 03:30:00+02:00 1\ndtype: int64\n>>> s.tz_localize('Europe/Warsaw', nonexistent=pd.Timedelta('1h'))\n2015-03-29 03:30:00+02:00 0\n2015-03-29 03:30:00+02:00 1\ndtype: int64\n"}, "kind": 2, "label": "tz_localize", "sortText": "204"}, {"detail": "bound method DataFrame.unstack(level: Hashable | Sequence[Hashable] = -1, fill_value=None, sort: bool = True) -> Unknown", "documentation": {"kind": "plaintext", "value": "Pivot a level of the (necessarily hierarchical) index labels.\n\nReturns a DataFrame having a new level of column labels whose inner-most level\nconsists of the pivoted index labels.\n\nIf the index is not a MultiIndex, the output will be a Series\n(the analogue of stack when the columns are not a MultiIndex).\n\nParameters\n----------\nlevel : int, str, or list of these, default -1 (last level)\n Level(s) of index to unstack, can pass level name.\nfill_value : int, str or dict\n Replace NaN with this value if the unstack produces missing values.\nsort : bool, default True\n Sort the level(s) in the resulting MultiIndex columns.\n\nReturns\n-------\nSeries or DataFrame\n\nSee Also\n--------\nDataFrame.pivot : Pivot a table based on column values.\nDataFrame.stack : Pivot a level of the column labels (inverse operation\n from `unstack`).\n\nNotes\n-----\nReference :ref:`the user guide ` for more examples.\n\nExamples\n--------\n>>> index = pd.MultiIndex.from_tuples([('one', 'a'), ('one', 'b'),\n... ('two', 'a'), ('two', 'b')])\n>>> s = pd.Series(np.arange(1.0, 5.0), index=index)\n>>> s\none a 1.0\n b 2.0\ntwo a 3.0\n b 4.0\ndtype: float64\n\n>>> s.unstack(level=-1)\n a b\none 1.0 2.0\ntwo 3.0 4.0\n\n>>> s.unstack(level=0)\n one two\na 1.0 3.0\nb 2.0 4.0\n\n>>> df = s.unstack(level=0)\n>>> df.unstack()\none a 1.0\n b 2.0\ntwo a 3.0\n b 4.0\ndtype: float64\n"}, "kind": 2, "label": "unstack", "sortText": "205"}, {"detail": "bound method DataFrame.update(other, join: Literal[\"left\"] = \"left\", overwrite: bool = True, filter_func=None, errors: Literal[\"ignore\", \"raise\"] = \"ignore\") -> None", "documentation": {"kind": "plaintext", "value": "Modify in place using non-NA values from another DataFrame.\n\nAligns on indices. There is no return value.\n\nParameters\n----------\nother : DataFrame, or object coercible into a DataFrame\n Should have at least one matching index/column label\n with the original DataFrame. If a Series is passed,\n its name attribute must be set, and that will be\n used as the column name to align with the original DataFrame.\njoin : {'left'}, default 'left'\n Only left join is implemented, keeping the index and columns of the\n original object.\noverwrite : bool, default True\n How to handle non-NA values for overlapping keys:\n\n * True: overwrite original DataFrame's values\n with values from `other`.\n * False: only update values that are NA in\n the original DataFrame.\n\nfilter_func : callable(1d-array) -> bool 1d-array, optional\n Can choose to replace values other than NA. Return True for values\n that should be updated.\nerrors : {'raise', 'ignore'}, default 'ignore'\n If 'raise', will raise a ValueError if the DataFrame and `other`\n both contain non-NA data in the same place.\n\nReturns\n-------\nNone\n This method directly changes calling object.\n\nRaises\n------\nValueError\n * When `errors='raise'` and there's overlapping non-NA data.\n * When `errors` is not either `'ignore'` or `'raise'`\nNotImplementedError\n * If `join != 'left'`\n\nSee Also\n--------\ndict.update : Similar method for dictionaries.\nDataFrame.merge : For column(s)-on-column(s) operations.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [1, 2, 3],\n... 'B': [400, 500, 600]})\n>>> new_df = pd.DataFrame({'B': [4, 5, 6],\n... 'C': [7, 8, 9]})\n>>> df.update(new_df)\n>>> df\n A B\n0 1 4\n1 2 5\n2 3 6\n\nThe DataFrame's length does not increase as a result of the update,\nonly values at matching index/column labels are updated.\n\n>>> df = pd.DataFrame({'A': ['a', 'b', 'c'],\n... 'B': ['x', 'y', 'z']})\n>>> new_df = pd.DataFrame({'B': ['d', 'e', 'f', 'g', 'h', 'i']})\n>>> df.update(new_df)\n>>> df\n A B\n0 a d\n1 b e\n2 c f\n\n>>> df = pd.DataFrame({'A': ['a', 'b', 'c'],\n... 'B': ['x', 'y', 'z']})\n>>> new_df = pd.DataFrame({'B': ['d', 'f']}, index=[0, 2])\n>>> df.update(new_df)\n>>> df\n A B\n0 a d\n1 b y\n2 c f\n\nFor Series, its name attribute must be set.\n\n>>> df = pd.DataFrame({'A': ['a', 'b', 'c'],\n... 'B': ['x', 'y', 'z']})\n>>> new_column = pd.Series(['d', 'e', 'f'], name='B')\n>>> df.update(new_column)\n>>> df\n A B\n0 a d\n1 b e\n2 c f\n\nIf `other` contains NaNs the corresponding values are not updated\nin the original dataframe.\n\n>>> df = pd.DataFrame({'A': [1, 2, 3],\n... 'B': [400., 500., 600.]})\n>>> new_df = pd.DataFrame({'B': [4, np.nan, 6]})\n>>> df.update(new_df)\n>>> df\n A B\n0 1 4.0\n1 2 500.0\n2 3 6.0\n"}, "kind": 2, "label": "update", "sortText": "206"}, {"detail": "bound method DataFrame.value_counts(subset: Hashable | Sequence[Hashable] = None, normalize: bool = False, sort: bool = True, ascending: bool = False, dropna: bool = True) -> Series", "documentation": {"kind": "plaintext", "value": "Return a Series containing the frequency of each distinct row in the Dataframe.\n\nParameters\n----------\nsubset : label or list of labels, optional\n Columns to use when counting unique combinations.\nnormalize : bool, default False\n Return proportions rather than frequencies.\nsort : bool, default True\n Sort by frequencies when True. Sort by DataFrame column values when False.\nascending : bool, default False\n Sort in ascending order.\ndropna : bool, default True\n Don't include counts of rows that contain NA values.\n\n .. versionadded:: 1.3.0\n\nReturns\n-------\nSeries\n\nSee Also\n--------\nSeries.value_counts: Equivalent method on Series.\n\nNotes\n-----\nThe returned Series will have a MultiIndex with one level per input\ncolumn but an Index (non-multi) for a single label. By default, rows\nthat contain any NA values are omitted from the result. By default,\nthe resulting Series will be in descending order so that the first\nelement is the most frequently-occurring row.\n\nExamples\n--------\n>>> df = pd.DataFrame({'num_legs': [2, 4, 4, 6],\n... 'num_wings': [2, 0, 0, 0]},\n... index=['falcon', 'dog', 'cat', 'ant'])\n>>> df\n num_legs num_wings\nfalcon 2 2\ndog 4 0\ncat 4 0\nant 6 0\n\n>>> df.value_counts()\nnum_legs num_wings\n4 0 2\n2 2 1\n6 0 1\nName: count, dtype: int64\n\n>>> df.value_counts(sort=False)\nnum_legs num_wings\n2 2 1\n4 0 2\n6 0 1\nName: count, dtype: int64\n\n>>> df.value_counts(ascending=True)\nnum_legs num_wings\n2 2 1\n6 0 1\n4 0 2\nName: count, dtype: int64\n\n>>> df.value_counts(normalize=True)\nnum_legs num_wings\n4 0 0.50\n2 2 0.25\n6 0 0.25\nName: proportion, dtype: float64\n\nWith `dropna` set to `False` we can also count rows with NA values.\n\n>>> df = pd.DataFrame({'first_name': ['John', 'Anne', 'John', 'Beth'],\n... 'middle_name': ['Smith', pd.NA, pd.NA, 'Louise']})\n>>> df\n first_name middle_name\n0 John Smith\n1 Anne \n2 John \n3 Beth Louise\n\n>>> df.value_counts()\nfirst_name middle_name\nBeth Louise 1\nJohn Smith 1\nName: count, dtype: int64\n\n>>> df.value_counts(dropna=False)\nfirst_name middle_name\nAnne NaN 1\nBeth Louise 1\nJohn Smith 1\n NaN 1\nName: count, dtype: int64\n\n>>> df.value_counts(\"first_name\")\nfirst_name\nJohn 2\nAnne 1\nBeth 1\nName: count, dtype: int64\n"}, "kind": 2, "label": "value_counts", "sortText": "207"}, {"detail": "ndarray[_AnyShape, dtype[Any]]", "kind": 22, "label": "values", "sortText": "208"}, {"detail": "bound method DataFrame.var(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, ddof: int = 1, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "var", "sortText": "209"}, {"detail": "Overload[(cond, other=..., *, inplace: Literal[False] = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> DataFrame, (cond, other=..., *, inplace: Literal[True], axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> None, (cond, other=..., *, inplace: bool = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Replace values where the condition is {cond_rev}.\n\nParameters\n----------\ncond : bool {klass}, array-like, or callable\n Where `cond` is {cond}, keep the original value. Where\n {cond_rev}, replace with corresponding value from `other`.\n If `cond` is callable, it is computed on the {klass} and\n should return boolean {klass} or array. The callable must\n not change input {klass} (though pandas doesn't check it).\nother : scalar, {klass}, or callable\n Entries where `cond` is {cond_rev} are replaced with\n corresponding value from `other`.\n If other is callable, it is computed on the {klass} and\n should return scalar or {klass}. The callable must not\n change input {klass} (though pandas doesn't check it).\n If not specified, entries will be filled with the corresponding\n NULL value (``np.nan`` for numpy dtypes, ``pd.NA`` for extension\n dtypes).\ninplace : bool, default False\n Whether to perform the operation in place on the data.\naxis : int, default None\n Alignment axis if needed. For `Series` this parameter is\n unused and defaults to 0.\nlevel : int, default None\n Alignment level if needed.\n\nReturns\n-------\nSame type as caller or None if ``inplace=True``.\n\nSee Also\n--------\n:func:`DataFrame.{name_other}` : Return an object of same shape as\n self.\n\nNotes\n-----\nThe {name} method is an application of the if-then idiom. For each\nelement in the calling DataFrame, if ``cond`` is ``{cond}`` the\nelement is used; otherwise the corresponding element from the DataFrame\n``other`` is used. If the axis of ``other`` does not align with axis of\n``cond`` {klass}, the misaligned index positions will be filled with\n{cond_rev}.\n\nThe signature for :func:`DataFrame.where` differs from\n:func:`numpy.where`. Roughly ``df1.where(m, df2)`` is equivalent to\n``np.where(m, df1, df2)``.\n\nFor further details and examples see the ``{name}`` documentation in\n:ref:`indexing `.\n\nThe dtype of the object takes precedence. The fill value is casted to\nthe object's dtype, if this can be done losslessly.\n\nExamples\n--------\n>>> s = pd.Series(range(5))\n>>> s.where(s > 0)\n0 NaN\n1 1.0\n2 2.0\n3 3.0\n4 4.0\ndtype: float64\n>>> s.mask(s > 0)\n0 0.0\n1 NaN\n2 NaN\n3 NaN\n4 NaN\ndtype: float64\n\n>>> s = pd.Series(range(5))\n>>> t = pd.Series([True, False])\n>>> s.where(t, 99)\n0 0\n1 99\n2 99\n3 99\n4 99\ndtype: int64\n>>> s.mask(t, 99)\n0 99\n1 1\n2 99\n3 99\n4 99\ndtype: int64\n\n>>> s.where(s > 1, 10)\n0 10\n1 10\n2 2\n3 3\n4 4\ndtype: int64\n>>> s.mask(s > 1, 10)\n0 0\n1 1\n2 10\n3 10\n4 10\ndtype: int64\n\n>>> df = pd.DataFrame(np.arange(10).reshape(-1, 2), columns=['A', 'B'])\n>>> df\n A B\n0 0 1\n1 2 3\n2 4 5\n3 6 7\n4 8 9\n>>> m = df % 3 == 0\n>>> df.where(m, -df)\n A B\n0 0 -1\n1 -2 3\n2 -4 -5\n3 6 -7\n4 -8 9\n>>> df.where(m, -df) == np.where(m, df, -df)\n A B\n0 True True\n1 True True\n2 True True\n3 True True\n4 True True\n>>> df.where(m, -df) == df.mask(~m, -df)\n A B\n0 True True\n1 True True\n2 True True\n3 True True\n4 True True\n"}, "kind": 2, "label": "where", "sortText": "210"}, {"detail": "bound method DataFrame.xs(key: Hashable | Sequence[Hashable], axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, level: Hashable | Sequence[Hashable] = None, drop_level: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return cross-section from the Series/DataFrame.\n\nThis method takes a `key` argument to select data at a particular\nlevel of a MultiIndex.\n\nParameters\n----------\nkey : label or tuple of label\n Label contained in the index, or partially in a MultiIndex.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Axis to retrieve cross-section on.\nlevel : object, defaults to first n levels (n=1 or len(key))\n In case of a key partially contained in a MultiIndex, indicate\n which levels are used. Levels can be referred by label or position.\ndrop_level : bool, default True\n If False, returns object with same levels as self.\n\nReturns\n-------\nSeries or DataFrame\n Cross-section from the original Series or DataFrame\n corresponding to the selected index levels.\n\nSee Also\n--------\nDataFrame.loc : Access a group of rows and columns\n by label(s) or a boolean array.\nDataFrame.iloc : Purely integer-location based indexing\n for selection by position.\n\nNotes\n-----\n`xs` can not be used to set values.\n\nMultiIndex Slicers is a generic way to get/set values on\nany level or levels.\nIt is a superset of `xs` functionality, see\n:ref:`MultiIndex Slicers `.\n\nExamples\n--------\n>>> d = {'num_legs': [4, 4, 2, 2],\n... 'num_wings': [0, 0, 2, 2],\n... 'class': ['mammal', 'mammal', 'mammal', 'bird'],\n... 'animal': ['cat', 'dog', 'bat', 'penguin'],\n... 'locomotion': ['walks', 'walks', 'flies', 'walks']}\n>>> df = pd.DataFrame(data=d)\n>>> df = df.set_index(['class', 'animal', 'locomotion'])\n>>> df\n num_legs num_wings\nclass animal locomotion\nmammal cat walks 4 0\n dog walks 4 0\n bat flies 2 2\nbird penguin walks 2 2\n\nGet values at specified index\n\n>>> df.xs('mammal')\n num_legs num_wings\nanimal locomotion\ncat walks 4 0\ndog walks 4 0\nbat flies 2 2\n\nGet values at several indexes\n\n>>> df.xs(('mammal', 'dog', 'walks'))\nnum_legs 4\nnum_wings 0\nName: (mammal, dog, walks), dtype: int64\n\nGet values at specified index and level\n\n>>> df.xs('cat', level=1)\n num_legs num_wings\nclass locomotion\nmammal walks 4 0\n\nGet values at several indexes and levels\n\n>>> df.xs(('bird', 'walks'),\n... level=[0, 'locomotion'])\n num_legs num_wings\nanimal\npenguin 2 2\n\nGet values at specified column and axis\n\n>>> df.xs('num_wings', axis=1)\nclass animal locomotion\nmammal cat walks 0\n dog walks 0\n bat flies 2\nbird penguin walks 2\nName: num_wings, dtype: int64\n"}, "kind": 2, "label": "xs", "sortText": "211"}, {"detail": "bound method DataFrame.__abs__() -> DataFrame", "kind": 2, "label": "__abs__", "sortText": "212"}, {"detail": "bound method DataFrame.__add__(other) -> Unknown", "documentation": {"kind": "plaintext", "value": "Get Addition of DataFrame and other, column-wise.\n\nEquivalent to ``DataFrame.add(other)``.\n\nParameters\n----------\nother : scalar, sequence, Series, dict or DataFrame\n Object to be added to the DataFrame.\n\nReturns\n-------\nDataFrame\n The result of adding ``other`` to DataFrame.\n\nSee Also\n--------\nDataFrame.add : Add a DataFrame and another object, with option for index-\n or column-oriented addition.\n\nExamples\n--------\n>>> df = pd.DataFrame({'height': [1.5, 2.6], 'weight': [500, 800]},\n... index=['elk', 'moose'])\n>>> df\n height weight\nelk 1.5 500\nmoose 2.6 800\n\nAdding a scalar affects all rows and columns.\n\n>>> df[['height', 'weight']] + 1.5\n height weight\nelk 3.0 501.5\nmoose 4.1 801.5\n\nEach element of a list is added to a column of the DataFrame, in order.\n\n>>> df[['height', 'weight']] + [0.5, 1.5]\n height weight\nelk 2.0 501.5\nmoose 3.1 801.5\n\nKeys of a dictionary are aligned to the DataFrame, based on column names;\neach value in the dictionary is added to the corresponding column.\n\n>>> df[['height', 'weight']] + {'height': 0.5, 'weight': 1.5}\n height weight\nelk 2.0 501.5\nmoose 3.1 801.5\n\nWhen `other` is a :class:`Series`, the index of `other` is aligned with the\ncolumns of the DataFrame.\n\n>>> s1 = pd.Series([0.5, 1.5], index=['weight', 'height'])\n>>> df[['height', 'weight']] + s1\n height weight\nelk 3.0 500.5\nmoose 4.1 800.5\n\nEven when the index of `other` is the same as the index of the DataFrame,\nthe :class:`Series` will not be reoriented. If index-wise alignment is desired,\n:meth:`DataFrame.add` should be used with `axis='index'`.\n\n>>> s2 = pd.Series([0.5, 1.5], index=['elk', 'moose'])\n>>> df[['height', 'weight']] + s2\n elk height moose weight\nelk NaN NaN NaN NaN\nmoose NaN NaN NaN NaN\n\n>>> df[['height', 'weight']].add(s2, axis='index')\n height weight\nelk 2.0 500.5\nmoose 4.1 801.5\n\nWhen `other` is a :class:`DataFrame`, both columns names and the\nindex are aligned.\n\n>>> other = pd.DataFrame({'height': [0.2, 0.4, 0.6]},\n... index=['elk', 'moose', 'deer'])\n>>> df[['height', 'weight']] + other\n height weight\ndeer NaN NaN\nelk 1.7 NaN\nmoose 3.0 NaN\n"}, "kind": 2, "label": "__add__", "sortText": "213"}, {"detail": "bound method DataFrame.__and__(other) -> Unknown", "kind": 2, "label": "__and__", "sortText": "214"}, {"detail": "dict[str, Any]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "__annotations__", "sortText": "215"}, {"detail": "bound method DataFrame.__array__(dtype: DTypeLike | None = None, copy: bool | None = None) -> ndarray[_AnyShape, dtype[Any]]", "kind": 2, "label": "__array__", "sortText": "216"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "__array_priority__", "sortText": "217"}, {"detail": "bound method DataFrame.__array_ufunc__(ufunc: ufunc, method: str, *inputs: Any, **kwargs: Any) -> Unknown", "kind": 2, "label": "__array_ufunc__", "sortText": "218"}, {"detail": "bound method DataFrame.__arrow_c_stream__(requested_schema=None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Export the pandas DataFrame as an Arrow C stream PyCapsule.\n\nThis relies on pyarrow to convert the pandas DataFrame to the Arrow\nformat (and follows the default behaviour of ``pyarrow.Table.from_pandas``\nin its handling of the index, i.e. store the index as a column except\nfor RangeIndex).\nThis conversion is not necessarily zero-copy.\n\nParameters\n----------\nrequested_schema : PyCapsule, default None\n The schema to which the dataframe should be casted, passed as a\n PyCapsule containing a C ArrowSchema representation of the\n requested schema.\n\nReturns\n-------\nPyCapsule\n"}, "kind": 2, "label": "__arrow_c_stream__", "sortText": "219"}, {"detail": "() -> Never", "kind": 3, "label": "__bool__", "sortText": "220"}, {"detail": "type[DataFrame]", "documentation": {"kind": "plaintext", "value": "Two-dimensional, size-mutable, potentially heterogeneous tabular data.\n\nData structure also contains labeled axes (rows and columns).\nArithmetic operations align on both row and column labels. Can be\nthought of as a dict-like container for Series objects. The primary\npandas data structure.\n\nParameters\n----------\ndata : ndarray (structured or homogeneous), Iterable, dict, or DataFrame\n Dict can contain Series, arrays, constants, dataclass or list-like objects. If\n data is a dict, column order follows insertion-order. If a dict contains Series\n which have an index defined, it is aligned by its index. This alignment also\n occurs if data is a Series or a DataFrame itself. Alignment is done on\n Series/DataFrame inputs.\n\n If data is a list of dicts, column order follows insertion-order.\n\nindex : Index or array-like\n Index to use for resulting frame. Will default to RangeIndex if\n no indexing information part of input data and no index provided.\ncolumns : Index or array-like\n Column labels to use for resulting frame when data does not have them,\n defaulting to RangeIndex(0, 1, 2, ..., n). If data contains column labels,\n will perform column selection instead.\ndtype : dtype, default None\n Data type to force. Only a single dtype is allowed. If None, infer.\ncopy : bool or None, default None\n Copy data from inputs.\n For dict data, the default of None behaves like ``copy=True``. For DataFrame\n or 2d ndarray input, the default of None behaves like ``copy=False``.\n If data is a dict containing one or more Series (possibly of different dtypes),\n ``copy=False`` will ensure that these inputs are not copied.\n\n .. versionchanged:: 1.3.0\n\nSee Also\n--------\nDataFrame.from_records : Constructor from tuples, also record arrays.\nDataFrame.from_dict : From dicts of Series, arrays, or dicts.\nread_csv : Read a comma-separated values (csv) file into DataFrame.\nread_table : Read general delimited file into DataFrame.\nread_clipboard : Read text from clipboard into DataFrame.\n\nNotes\n-----\nPlease reference the :ref:`User Guide ` for more information.\n\nExamples\n--------\nConstructing DataFrame from a dictionary.\n\n>>> d = {'col1': [1, 2], 'col2': [3, 4]}\n>>> df = pd.DataFrame(data=d)\n>>> df\n col1 col2\n0 1 3\n1 2 4\n\nNotice that the inferred dtype is int64.\n\n>>> df.dtypes\ncol1 int64\ncol2 int64\ndtype: object\n\nTo enforce a single dtype:\n\n>>> df = pd.DataFrame(data=d, dtype=np.int8)\n>>> df.dtypes\ncol1 int8\ncol2 int8\ndtype: object\n\nConstructing DataFrame from a dictionary including Series:\n\n>>> d = {'col1': [0, 1, 2, 3], 'col2': pd.Series([2, 3], index=[2, 3])}\n>>> pd.DataFrame(data=d, index=[0, 1, 2, 3])\n col1 col2\n0 0 NaN\n1 1 NaN\n2 2 2.0\n3 3 3.0\n\nConstructing DataFrame from numpy ndarray:\n\n>>> df2 = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]),\n... columns=['a', 'b', 'c'])\n>>> df2\n a b c\n0 1 2 3\n1 4 5 6\n2 7 8 9\n\nConstructing DataFrame from a numpy ndarray that has labeled columns:\n\n>>> data = np.array([(1, 2, 3), (4, 5, 6), (7, 8, 9)],\n... dtype=[(\"a\", \"i4\"), (\"b\", \"i4\"), (\"c\", \"i4\")])\n>>> df3 = pd.DataFrame(data, columns=['c', 'a'])\n...\n>>> df3\n c a\n0 3 1\n1 6 4\n2 9 7\n\nConstructing DataFrame from dataclass:\n\n>>> from dataclasses import make_dataclass\n>>> Point = make_dataclass(\"Point\", [(\"x\", int), (\"y\", int)])\n>>> pd.DataFrame([Point(0, 0), Point(0, 3), Point(2, 3)])\n x y\n0 0 0\n1 0 3\n2 2 3\n\nConstructing DataFrame from Series/DataFrame:\n\n>>> ser = pd.Series([1, 2, 3], index=[\"a\", \"b\", \"c\"])\n>>> df = pd.DataFrame(data=ser, index=[\"a\", \"c\"])\n>>> df\n 0\na 1\nc 3\n\n>>> df1 = pd.DataFrame([1, 2, 3], index=[\"a\", \"b\", \"c\"], columns=[\"x\"])\n>>> df2 = pd.DataFrame(data=df1, index=[\"a\", \"c\"])\n>>> df2\n x\na 1\nc 3\n"}, "kind": 7, "label": "__class__", "sortText": "221"}, {"detail": "bound method DataFrame.__contains__(key) -> bool", "documentation": {"kind": "plaintext", "value": "True if the key is in the info axis\n"}, "kind": 2, "label": "__contains__", "sortText": "222"}, {"detail": "bound method DataFrame.__copy__(deep: bool = True) -> DataFrame", "kind": 2, "label": "__copy__", "sortText": "223"}, {"detail": "bound method DataFrame.__dataframe__(nan_as_null: bool = False, allow_copy: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the dataframe interchange object implementing the interchange protocol.\n\nParameters\n----------\nnan_as_null : bool, default False\n `nan_as_null` is DEPRECATED and has no effect. Please avoid using\n it; it will be removed in a future release.\nallow_copy : bool, default True\n Whether to allow memory copying when exporting. If set to False\n it would cause non-zero-copy exports to fail.\n\nReturns\n-------\nDataFrame interchange object\n The object which consuming library can use to ingress the dataframe.\n\nNotes\n-----\nDetails on the interchange protocol:\nhttps://data-apis.org/dataframe-protocol/latest/index.html\n\nExamples\n--------\n>>> df_not_necessarily_pandas = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})\n>>> interchange_object = df_not_necessarily_pandas.__dataframe__()\n>>> interchange_object.column_names()\nIndex(['A', 'B'], dtype='object')\n>>> df_pandas = (pd.api.interchange.from_dataframe\n... (interchange_object.select_columns_by_name(['A'])))\n>>> df_pandas\n A\n0 1\n1 2\n\nThese methods (``column_names``, ``select_columns_by_name``) should work\nfor any dataframe library which implements the interchange protocol.\n"}, "kind": 2, "label": "__dataframe__", "sortText": "224"}, {"detail": "bound method DataFrame.__dataframe_consortium_standard__(*, api_version: str | None = None) -> Any", "documentation": {"kind": "plaintext", "value": "Provide entry point to the Consortium DataFrame Standard API.\n\nThis is developed and maintained outside of pandas.\nPlease report any issues to https://github.com/data-apis/dataframe-api-compat.\n"}, "kind": 2, "label": "__dataframe_consortium_standard__", "sortText": "225"}, {"detail": "bound method DataFrame.__deepcopy__(memo=None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Parameters\n----------\nmemo, default None\n Standard signature. Unused\n"}, "kind": 2, "label": "__deepcopy__", "sortText": "226"}, {"detail": "bound method DataFrame.__delattr__(name: str, /) -> None", "kind": 2, "label": "__delattr__", "sortText": "227"}, {"detail": "bound method DataFrame.__delitem__(key) -> None", "documentation": {"kind": "plaintext", "value": "Delete item\n"}, "kind": 2, "label": "__delitem__", "sortText": "228"}, {"detail": "dict[str, Any]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "__dict__", "sortText": "229"}, {"detail": "bound method DataFrame.__dir__() -> list[str]", "documentation": {"kind": "plaintext", "value": "Provide method name lookup and completion.\n\nNotes\n-----\nOnly provide 'public' methods.\n"}, "kind": 2, "label": "__dir__", "sortText": "230"}, {"detail": "bound method DataFrame.__divmod__(other) -> tuple[DataFrame, DataFrame]", "kind": 2, "label": "__divmod__", "sortText": "231"}, {"detail": "str | None", "kind": 22, "label": "__doc__", "sortText": "232"}, {"detail": "bound method DataFrame.__eq__(other) -> Unknown", "kind": 2, "label": "__eq__", "sortText": "233"}, {"detail": "bound method DataFrame.__finalize__(other, method: str | None = None, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Propagate metadata from other to self.\n\nParameters\n----------\nother : the object from which to get the attributes that we are going\n to propagate\nmethod : str, optional\n A passed method name providing context on where ``__finalize__``\n was called.\n\n .. warning::\n\n The value passed as `method` are not currently considered\n stable across pandas releases.\n"}, "kind": 2, "label": "__finalize__", "sortText": "234"}, {"detail": "bound method DataFrame.__floordiv__(other) -> Unknown", "kind": 2, "label": "__floordiv__", "sortText": "235"}, {"detail": "bound method DataFrame.__format__(format_spec: str, /) -> str", "kind": 2, "label": "__format__", "sortText": "236"}, {"detail": "bound method DataFrame.__ge__(other) -> Unknown", "kind": 2, "label": "__ge__", "sortText": "237"}, {"detail": "bound method DataFrame.__getattr__(name: str) -> Unknown", "documentation": {"kind": "plaintext", "value": "After regular attribute access, try looking up the name\nThis allows simpler access to columns for interactive use.\n"}, "kind": 2, "label": "__getattr__", "sortText": "238"}, {"detail": "bound method DataFrame.__getattribute__(name: str, /) -> Any", "kind": 2, "label": "__getattribute__", "sortText": "239"}, {"detail": "bound method DataFrame.__getitem__(key) -> Unknown", "kind": 2, "label": "__getitem__", "sortText": "240"}, {"detail": "bound method DataFrame.__getstate__() -> dict[str, Any]", "kind": 2, "label": "__getstate__", "sortText": "241"}, {"detail": "bound method DataFrame.__gt__(other) -> Unknown", "kind": 2, "label": "__gt__", "sortText": "242"}, {"detail": "None", "documentation": {"kind": "plaintext", "value": "The type of the None singleton.\n"}, "kind": 22, "label": "__hash__", "sortText": "243"}, {"detail": "bound method DataFrame.__iadd__(other) -> DataFrame", "kind": 2, "label": "__iadd__", "sortText": "244"}, {"detail": "bound method DataFrame.__iand__(other) -> DataFrame", "kind": 2, "label": "__iand__", "sortText": "245"}, {"detail": "bound method DataFrame.__ifloordiv__(other) -> DataFrame", "kind": 2, "label": "__ifloordiv__", "sortText": "246"}, {"detail": "bound method DataFrame.__imod__(other) -> DataFrame", "kind": 2, "label": "__imod__", "sortText": "247"}, {"detail": "bound method DataFrame.__imul__(other) -> DataFrame", "kind": 2, "label": "__imul__", "sortText": "248"}, {"detail": "bound method DataFrame.__init__(data=None, index: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = None, columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = None, dtype: ExtensionDtype | str | dtype[Any] | type | None = None, copy: bool | None = None) -> None", "kind": 2, "label": "__init__", "sortText": "249"}, {"detail": "bound method type[DataFrame].__init_subclass__() -> None", "kind": 2, "label": "__init_subclass__", "sortText": "250"}, {"detail": "bound method DataFrame.__invert__() -> DataFrame", "kind": 2, "label": "__invert__", "sortText": "251"}, {"detail": "bound method DataFrame.__ior__(other) -> DataFrame", "kind": 2, "label": "__ior__", "sortText": "252"}, {"detail": "bound method DataFrame.__ipow__(other) -> DataFrame", "kind": 2, "label": "__ipow__", "sortText": "253"}, {"detail": "bound method DataFrame.__isub__(other) -> DataFrame", "kind": 2, "label": "__isub__", "sortText": "254"}, {"detail": "bound method DataFrame.__iter__() -> Iterator[Unknown]", "documentation": {"kind": "plaintext", "value": "Iterate over info axis.\n\nReturns\n-------\niterator\n Info axis as iterator.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})\n>>> for x in df:\n... print(x)\nA\nB\n"}, "kind": 2, "label": "__iter__", "sortText": "255"}, {"detail": "bound method DataFrame.__itruediv__(other) -> DataFrame", "kind": 2, "label": "__itruediv__", "sortText": "256"}, {"detail": "bound method DataFrame.__ixor__(other) -> DataFrame", "kind": 2, "label": "__ixor__", "sortText": "257"}, {"detail": "bound method DataFrame.__le__(other) -> Unknown", "kind": 2, "label": "__le__", "sortText": "258"}, {"detail": "bound method DataFrame.__len__() -> int", "documentation": {"kind": "plaintext", "value": "Returns length of info axis, but here we use the index.\n"}, "kind": 2, "label": "__len__", "sortText": "259"}, {"detail": "bound method DataFrame.__lt__(other) -> Unknown", "kind": 2, "label": "__lt__", "sortText": "260"}, {"detail": "Overload[(other: Series) -> Series, (other: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | Series | DataFrame) -> DataFrame | Series]", "documentation": {"kind": "plaintext", "value": "Matrix multiplication using binary `@` operator.\n"}, "kind": 2, "label": "__matmul__", "sortText": "261"}, {"detail": "bound method DataFrame.__mod__(other) -> Unknown", "kind": 2, "label": "__mod__", "sortText": "262"}, {"detail": "str", "documentation": {"kind": "plaintext", "value": "str(object='') -> str\nstr(bytes_or_buffer[, encoding[, errors]]) -> str\n\nCreate a new string object from the given object. If encoding or\nerrors is specified, then the object must expose a data buffer\nthat will be decoded using the given encoding and error handler.\nOtherwise, returns the result of object.__str__() (if defined)\nor repr(object).\nencoding defaults to 'utf-8'.\nerrors defaults to 'strict'.\n"}, "kind": 22, "label": "__module__", "sortText": "263"}, {"detail": "bound method DataFrame.__mul__(other) -> Unknown", "kind": 2, "label": "__mul__", "sortText": "264"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "__name__", "sortText": "265"}, {"detail": "bound method DataFrame.__ne__(other) -> Unknown", "kind": 2, "label": "__ne__", "sortText": "266"}, {"detail": "bound method DataFrame.__neg__() -> DataFrame", "kind": 2, "label": "__neg__", "sortText": "267"}, {"detail": "def __new__[Self](cls) -> Self", "kind": 3, "label": "__new__", "sortText": "268"}, {"detail": "bound method DataFrame.__nonzero__() -> Never", "kind": 2, "label": "__nonzero__", "sortText": "269"}, {"detail": "bound method DataFrame.__or__(other) -> Unknown", "kind": 2, "label": "__or__", "sortText": "270"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "__pandas_priority__", "sortText": "271"}, {"detail": "bound method DataFrame.__pos__() -> DataFrame", "kind": 2, "label": "__pos__", "sortText": "272"}, {"detail": "bound method DataFrame.__pow__(other) -> Unknown", "kind": 2, "label": "__pow__", "sortText": "273"}, {"detail": "bound method DataFrame.__radd__(other) -> Unknown", "kind": 2, "label": "__radd__", "sortText": "274"}, {"detail": "bound method DataFrame.__rand__(other) -> Unknown", "kind": 2, "label": "__rand__", "sortText": "275"}, {"detail": "bound method DataFrame.__rdivmod__(other) -> tuple[DataFrame, DataFrame]", "kind": 2, "label": "__rdivmod__", "sortText": "276"}, {"detail": "bound method DataFrame.__reduce__() -> str | tuple[Any, ...]", "kind": 2, "label": "__reduce__", "sortText": "277"}, {"detail": "bound method DataFrame.__reduce_ex__(protocol: SupportsIndex, /) -> str | tuple[Any, ...]", "kind": 2, "label": "__reduce_ex__", "sortText": "278"}, {"detail": "bound method DataFrame.__repr__() -> str", "documentation": {"kind": "plaintext", "value": "Return a string representation for a particular DataFrame.\n"}, "kind": 2, "label": "__repr__", "sortText": "279"}, {"detail": "bound method DataFrame.__rfloordiv__(other) -> Unknown", "kind": 2, "label": "__rfloordiv__", "sortText": "280"}, {"detail": "bound method DataFrame.__rmatmul__(other) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Matrix multiplication using binary `@` operator.\n"}, "kind": 2, "label": "__rmatmul__", "sortText": "281"}, {"detail": "bound method DataFrame.__rmod__(other) -> Unknown", "kind": 2, "label": "__rmod__", "sortText": "282"}, {"detail": "bound method DataFrame.__rmul__(other) -> Unknown", "kind": 2, "label": "__rmul__", "sortText": "283"}, {"detail": "bound method DataFrame.__ror__(other) -> Unknown", "kind": 2, "label": "__ror__", "sortText": "284"}, {"detail": "bound method DataFrame.__round__(decimals: int = 0) -> DataFrame", "kind": 2, "label": "__round__", "sortText": "285"}, {"detail": "bound method DataFrame.__rpow__(other) -> Unknown", "kind": 2, "label": "__rpow__", "sortText": "286"}, {"detail": "bound method DataFrame.__rsub__(other) -> Unknown", "kind": 2, "label": "__rsub__", "sortText": "287"}, {"detail": "bound method DataFrame.__rtruediv__(other) -> Unknown", "kind": 2, "label": "__rtruediv__", "sortText": "288"}, {"detail": "bound method DataFrame.__rxor__(other) -> Unknown", "kind": 2, "label": "__rxor__", "sortText": "289"}, {"detail": "bound method DataFrame.__setattr__(name: str, value) -> None", "documentation": {"kind": "plaintext", "value": "After regular attribute access, try setting the name\nThis allows simpler access to columns for interactive use.\n"}, "kind": 2, "label": "__setattr__", "sortText": "290"}, {"detail": "bound method DataFrame.__setitem__(key, value) -> None", "kind": 2, "label": "__setitem__", "sortText": "291"}, {"detail": "bound method DataFrame.__setstate__(state) -> None", "kind": 2, "label": "__setstate__", "sortText": "292"}, {"detail": "bound method DataFrame.__sizeof__() -> int", "documentation": {"kind": "plaintext", "value": "Generates the total memory usage for an object that returns\neither a value or Series of values\n"}, "kind": 2, "label": "__sizeof__", "sortText": "293"}, {"detail": "bound method DataFrame.__str__() -> str", "kind": 2, "label": "__str__", "sortText": "294"}, {"detail": "bound method DataFrame.__sub__(other) -> Unknown", "kind": 2, "label": "__sub__", "sortText": "295"}, {"detail": "bound method type[DataFrame].__subclasshook__(subclass: type, /) -> bool", "kind": 2, "label": "__subclasshook__", "sortText": "296"}, {"detail": "bound method DataFrame.__truediv__(other) -> Unknown", "kind": 2, "label": "__truediv__", "sortText": "297"}, {"detail": "bound method DataFrame.__xor__(other) -> Unknown", "kind": 2, "label": "__xor__", "sortText": "298"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "_AXIS_LEN", "sortText": "299"}, {"detail": "list[Literal[\"index\", \"columns\"]]", "documentation": {"kind": "plaintext", "value": "Built-in mutable sequence.\n\nIf no argument is given, the constructor creates a new empty list.\nThe argument must be an iterable if specified.\n"}, "kind": 22, "label": "_AXIS_ORDERS", "sortText": "300"}, {"detail": "dict[int | Literal[\"index\", \"columns\", \"rows\"], int]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "_AXIS_TO_AXIS_NUMBER", "sortText": "301"}, {"detail": "tuple[type[Series], type[Index], type[ExtensionArray], type[ndarray[_AnyShape, dtype[Any]]]]", "documentation": {"kind": "plaintext", "value": "Built-in immutable sequence.\n\nIf no argument is given, the constructor returns an empty tuple.\nIf iterable is specified the tuple is initialized from iterable's items.\n\nIf the argument is a tuple, the return value is the same object.\n"}, "kind": 22, "label": "_HANDLED_TYPES", "sortText": "302"}, {"detail": "set[str]", "documentation": {"kind": "plaintext", "value": "Build an unordered collection of unique elements.\n"}, "kind": 22, "label": "_accessors", "sortText": "303"}, {"detail": "bound method DataFrame._accum_func(name: str, func, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, skipna: bool = True, *args, **kwargs) -> Unknown", "kind": 2, "label": "_accum_func", "sortText": "304"}, {"detail": "str", "documentation": {"kind": "plaintext", "value": "str(object='') -> str\nstr(bytes_or_buffer[, encoding[, errors]]) -> str\n\nCreate a new string object from the given object. If encoding or\nerrors is specified, then the object must expose a data buffer\nthat will be decoded using the given encoding and error handler.\nOtherwise, returns the result of object.__str__() (if defined)\nor repr(object).\nencoding defaults to 'utf-8'.\nerrors defaults to 'strict'.\n"}, "kind": 22, "label": "_agg_examples_doc", "sortText": "305"}, {"detail": "str", "documentation": {"kind": "plaintext", "value": "str(object='') -> str\nstr(bytes_or_buffer[, encoding[, errors]]) -> str\n\nCreate a new string object from the given object. If encoding or\nerrors is specified, then the object must expose a data buffer\nthat will be decoded using the given encoding and error handler.\nOtherwise, returns the result of object.__str__() (if defined)\nor repr(object).\nencoding defaults to 'utf-8'.\nerrors defaults to 'strict'.\n"}, "kind": 22, "label": "_agg_see_also_doc", "sortText": "306"}, {"detail": "bound method DataFrame._align_for_op(other, axis: int, flex: bool | None = False, level: Hashable = None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Convert rhs to meet lhs dims if input is list, tuple or np.ndarray.\n\nParameters\n----------\nleft : DataFrame\nright : Any\naxis : int\nflex : bool or None, default False\n Whether this is a flex op, in which case we reindex.\n None indicates not to check for alignment.\nlevel : int or level name, default None\n\nReturns\n-------\nleft : DataFrame\nright : Any\n"}, "kind": 2, "label": "_align_for_op", "sortText": "307"}, {"detail": "bound method DataFrame._align_frame(other: DataFrame, join: Literal[\"outer\", \"inner\", \"left\", \"right\"] = \"outer\", axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, level=None, copy: bool | None = None, fill_value=None, method=None, limit: int | None = None, fill_axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> tuple[DataFrame, DataFrame, Index | None]", "kind": 2, "label": "_align_frame", "sortText": "308"}, {"detail": "bound method DataFrame._align_series(other: Series, join: Literal[\"outer\", \"inner\", \"left\", \"right\"] = \"outer\", axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, level=None, copy: bool | None = None, fill_value=None, method=None, limit: int | None = None, fill_axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> tuple[DataFrame, Series, Index | None]", "kind": 2, "label": "_align_series", "sortText": "309"}, {"detail": "bound method DataFrame._append(other, ignore_index: bool = False, verify_integrity: bool = False, sort: bool = False) -> DataFrame", "kind": 2, "label": "_append", "sortText": "310"}, {"detail": "bound method DataFrame._arith_method(other, op) -> Unknown", "kind": 2, "label": "_arith_method", "sortText": "311"}, {"detail": "bound method DataFrame._arith_method_with_reindex(right: DataFrame, op) -> DataFrame", "documentation": {"kind": "plaintext", "value": "For DataFrame-with-DataFrame operations that require reindexing,\noperate only on shared columns, then reindex.\n\nParameters\n----------\nright : DataFrame\nop : binary operator\n\nReturns\n-------\nDataFrame\n"}, "kind": 2, "label": "_arith_method_with_reindex", "sortText": "312"}, {"detail": "bound method DataFrame._as_manager(typ: str, copy: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Private helper function to create a DataFrame with specific manager.\n\nParameters\n----------\ntyp : {\"block\", \"array\"}\ncopy : bool, default True\n Only controls whether the conversion from Block->ArrayManager\n copies the 1D arrays (to ensure proper/contiguous memory layout).\n\nReturns\n-------\nDataFrame\n New DataFrame using specified manager type. Is not guaranteed\n to be a copy or not.\n"}, "kind": 2, "label": "_as_manager", "sortText": "313"}, {"detail": "dict[Hashable, Any]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "_attrs", "sortText": "314"}, {"detail": "bound method DataFrame._box_col_values(values: SingleDataManager, loc: int) -> Series", "documentation": {"kind": "plaintext", "value": "Provide boxed values for a column.\n"}, "kind": 2, "label": "_box_col_values", "sortText": "315"}, {"detail": "dict[str, Any]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "_cache", "sortText": "316"}, {"detail": "bool", "documentation": {"kind": "plaintext", "value": "Returns True when the argument is true, False otherwise.\nThe builtins True and False are the only two instances of the class bool.\nThe class bool is a subclass of the class int, and cannot be subclassed.\n"}, "kind": 22, "label": "_can_fast_transpose", "sortText": "317"}, {"detail": "bound method DataFrame._check_inplace_and_allows_duplicate_labels(inplace: bool) -> Unknown", "kind": 2, "label": "_check_inplace_and_allows_duplicate_labels", "sortText": "318"}, {"detail": "bound method DataFrame._check_is_chained_assignment_possible() -> bool", "documentation": {"kind": "plaintext", "value": "Check if we are a view, have a cacher, and are of mixed type.\nIf so, then force a setitem_copy check.\n\nShould be called just near setting a value\n\nWill return a boolean if it we are a view and are cached, but a\nsingle-dtype meaning that the cacher should be updated following\nsetting.\n"}, "kind": 2, "label": "_check_is_chained_assignment_possible", "sortText": "319"}, {"detail": "bound method DataFrame._check_label_or_level_ambiguity(key: Hashable, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> None", "documentation": {"kind": "plaintext", "value": "Check whether `key` is ambiguous.\n\nBy ambiguous, we mean that it matches both a level of the input\n`axis` and a label of the other axis.\n\nParameters\n----------\nkey : Hashable\n Label or level name.\naxis : int, default 0\n Axis that levels are associated with (0 for index, 1 for columns).\n\nRaises\n------\nValueError: `key` is ambiguous\n"}, "kind": 2, "label": "_check_label_or_level_ambiguity", "sortText": "320"}, {"detail": "bound method DataFrame._check_setitem_copy(t: str = \"setting\", force: bool = False) -> Unknown", "documentation": {"kind": "plaintext", "value": "Parameters\n----------\nt : str, the type of setting error\nforce : bool, default False\n If True, then force showing an error.\n\nvalidate if we are doing a setitem on a chained copy.\n\nIt is technically possible to figure out that we are setting on\na copy even WITH a multi-dtyped pandas object. In other words, some\nblocks may be views while other are not. Currently _is_view will ALWAYS\nreturn False for multi-blocks to avoid having to handle this case.\n\ndf = DataFrame(np.arange(0,9), columns=['count'])\ndf['group'] = 'b'\n\n# This technically need not raise SettingWithCopy if both are view\n# (which is not generally guaranteed but is usually True. However,\n# this is in general not a good practice and we recommend using .loc.\ndf.iloc[0:5]['group'] = 'a'\n"}, "kind": 2, "label": "_check_setitem_copy", "sortText": "321"}, {"detail": "bound method DataFrame._clear_item_cache() -> None", "kind": 2, "label": "_clear_item_cache", "sortText": "322"}, {"detail": "bound method DataFrame._clip_with_one_bound(threshold, method, axis, inplace) -> Unknown", "kind": 2, "label": "_clip_with_one_bound", "sortText": "323"}, {"detail": "bound method DataFrame._clip_with_scalar(lower, upper, inplace: bool = False) -> Unknown", "kind": 2, "label": "_clip_with_scalar", "sortText": "324"}, {"detail": "bound method DataFrame._cmp_method(other, op) -> Unknown", "kind": 2, "label": "_cmp_method", "sortText": "325"}, {"detail": "bound method DataFrame._combine_frame(other: DataFrame, func, fill_value=None) -> Unknown", "kind": 2, "label": "_combine_frame", "sortText": "326"}, {"detail": "bound method DataFrame._consolidate() -> Unknown", "documentation": {"kind": "plaintext", "value": "Compute NDFrame with \"consolidated\" internals (data of each dtype\ngrouped together in a single ndarray).\n\nReturns\n-------\nconsolidated : same type as caller\n"}, "kind": 2, "label": "_consolidate", "sortText": "327"}, {"detail": "bound method DataFrame._consolidate_inplace() -> None", "documentation": {"kind": "plaintext", "value": "Consolidate data in place and return None\n"}, "kind": 2, "label": "_consolidate_inplace", "sortText": "328"}, {"detail": "bound method DataFrame._construct_axes_dict(axes: Sequence[int | Literal[\"index\", \"columns\", \"rows\"]] | None = None, **kwargs) -> Unknown", "documentation": {"kind": "plaintext", "value": "Return an axes dictionary for myself.\n"}, "kind": 2, "label": "_construct_axes_dict", "sortText": "329"}, {"detail": "bound method DataFrame._construct_result(result) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Wrap the result of an arithmetic, comparison, or logical operation.\n\nParameters\n----------\nresult : DataFrame\n\nReturns\n-------\nDataFrame\n"}, "kind": 2, "label": "_construct_result", "sortText": "330"}, {"detail": "(...) -> DataFrame", "kind": 3, "label": "_constructor", "sortText": "331"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_constructor_expanddim", "sortText": "332"}, {"detail": "bound method DataFrame._constructor_from_mgr(mgr, axes) -> DataFrame", "kind": 2, "label": "_constructor_from_mgr", "sortText": "333"}, {"detail": "(...) -> Series", "kind": 3, "label": "_constructor_sliced", "sortText": "334"}, {"detail": "bound method DataFrame._constructor_sliced_from_mgr(mgr, axes) -> Series", "kind": 2, "label": "_constructor_sliced_from_mgr", "sortText": "335"}, {"detail": "bound method DataFrame._create_data_for_split_and_tight_to_dict(are_all_object_dtype_cols: bool, object_dtype_indices: list[int]) -> list[Unknown]", "documentation": {"kind": "plaintext", "value": "Simple helper method to create data for to ``to_dict(orient=\"split\")`` and\n``to_dict(orient=\"tight\")`` to create the main output data\n"}, "kind": 2, "label": "_create_data_for_split_and_tight_to_dict", "sortText": "336"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_data", "sortText": "337"}, {"detail": "bound method DataFrame._deprecate_downcast(downcast, method_name: str) -> Unknown", "kind": 2, "label": "_deprecate_downcast", "sortText": "338"}, {"detail": "bound method DataFrame._dir_additions() -> set[str]", "documentation": {"kind": "plaintext", "value": "add the string-like attributes from the info_axis.\nIf info_axis is a MultiIndex, its first level values are used.\n"}, "kind": 2, "label": "_dir_additions", "sortText": "339"}, {"detail": "bound method DataFrame._dir_deletions() -> set[str]", "documentation": {"kind": "plaintext", "value": "Delete unwanted __dir__ for this object.\n"}, "kind": 2, "label": "_dir_deletions", "sortText": "340"}, {"detail": "bound method DataFrame._dispatch_frame_op(right, func: (...) -> Unknown, axis: int | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Evaluate the frame operation func(left, right) by evaluating\ncolumn-by-column, dispatching to the Series implementation.\n\nParameters\n----------\nright : scalar, Series, or DataFrame\nfunc : arithmetic or comparison operator\naxis : {None, 0, 1}\n\nReturns\n-------\nDataFrame\n\nNotes\n-----\nCaller is responsible for setting np.errstate where relevant.\n"}, "kind": 2, "label": "_dispatch_frame_op", "sortText": "341"}, {"detail": "bound method DataFrame._drop_axis(labels, axis, level=None, errors: Literal[\"ignore\", \"raise\"] = \"raise\", only_slice: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Drop labels from specified axis. Used in the ``drop`` method\ninternally.\n\nParameters\n----------\nlabels : single label or list-like\naxis : int or axis name\nlevel : int or level name, default None\n For MultiIndex\nerrors : {'ignore', 'raise'}, default 'raise'\n If 'ignore', suppress error and existing labels are dropped.\nonly_slice : bool, default False\n Whether indexing along columns should be view-only.\n"}, "kind": 2, "label": "_drop_axis", "sortText": "342"}, {"detail": "bound method DataFrame._drop_labels_or_levels(keys, axis: int = 0) -> Unknown", "documentation": {"kind": "plaintext", "value": "Drop labels and/or levels for the given `axis`.\n\nFor each key in `keys`:\n - (axis=0): If key matches a column label then drop the column.\n Otherwise if key matches an index level then drop the level.\n - (axis=1): If key matches an index label then drop the row.\n Otherwise if key matches a column level then drop the level.\n\nParameters\n----------\nkeys : str or list of str\n labels or levels to drop\naxis : int, default 0\n Axis that levels are associated with (0 for index, 1 for columns)\n\nReturns\n-------\ndropped: DataFrame\n\nRaises\n------\nValueError\n if any `keys` match neither a label nor a level\n"}, "kind": 2, "label": "_drop_labels_or_levels", "sortText": "343"}, {"detail": "bound method DataFrame._ensure_valid_index(value) -> None", "documentation": {"kind": "plaintext", "value": "Ensure that if we don't have an index, that we can create one from the\npassed value.\n"}, "kind": 2, "label": "_ensure_valid_index", "sortText": "344"}, {"detail": "bound method DataFrame._find_valid_index(*, how: str) -> Hashable", "documentation": {"kind": "plaintext", "value": "Retrieves the index of the first valid value.\n\nParameters\n----------\nhow : {'first', 'last'}\n Use this parameter to change between the first or last valid index.\n\nReturns\n-------\nidx_first_valid : type of index\n"}, "kind": 2, "label": "_find_valid_index", "sortText": "345"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_flags", "sortText": "346"}, {"detail": "bound method DataFrame._flex_arith_method(other, op, *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> Unknown", "kind": 2, "label": "_flex_arith_method", "sortText": "347"}, {"detail": "bound method DataFrame._flex_cmp_method(other, op, *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> Unknown", "kind": 2, "label": "_flex_cmp_method", "sortText": "348"}, {"detail": "bound method type[DataFrame]._from_arrays(arrays, columns, index, dtype: ExtensionDtype | str | dtype[Any] | type | None = None, verify_integrity: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Create DataFrame from a list of arrays corresponding to the columns.\n\nParameters\n----------\narrays : list-like of arrays\n Each array in the list corresponds to one column, in order.\ncolumns : list-like, Index\n The column names for the resulting DataFrame.\nindex : list-like, Index\n The rows labels for the resulting DataFrame.\ndtype : dtype, optional\n Optional dtype to enforce for all arrays.\nverify_integrity : bool, default True\n Validate and homogenize all input. If set to False, it is assumed\n that all elements of `arrays` are actual arrays how they will be\n stored in a block (numpy ndarray or ExtensionArray), have the same\n length as and are aligned with the index, and that `columns` and\n `index` are ensured to be an Index object.\n\nReturns\n-------\nDataFrame\n"}, "kind": 2, "label": "_from_arrays", "sortText": "349"}, {"detail": "bound method type[DataFrame]._from_mgr(mgr: ArrayManager | SingleArrayManager | BlockManager | SingleBlockManager, axes: list[Index]) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Construct a new object of this type from a Manager object and axes.\n\nParameters\n----------\nmgr : Manager\n Must have the same ndim as cls.\naxes : list[Index]\n\nNotes\n-----\nThe axes must match mgr.axes, but are required for future-proofing\nin the event that axes are refactored out of the Manager objects.\n"}, "kind": 2, "label": "_from_mgr", "sortText": "350"}, {"detail": "bound method DataFrame._get_agg_axis(axis_num: int) -> Index", "documentation": {"kind": "plaintext", "value": "Let's be explicit about this.\n"}, "kind": 2, "label": "_get_agg_axis", "sortText": "351"}, {"detail": "bound method DataFrame._get_axis(axis: int | Literal[\"index\", \"columns\", \"rows\"]) -> Index", "kind": 2, "label": "_get_axis", "sortText": "352"}, {"detail": "bound method type[DataFrame]._get_axis_name(axis: int | Literal[\"index\", \"columns\", \"rows\"]) -> Literal[\"index\", \"columns\"]", "kind": 2, "label": "_get_axis_name", "sortText": "353"}, {"detail": "bound method type[DataFrame]._get_axis_number(axis: int | Literal[\"index\", \"columns\", \"rows\"]) -> int", "kind": 2, "label": "_get_axis_number", "sortText": "354"}, {"detail": "bound method DataFrame._get_axis_resolvers(axis: str) -> dict[str, Series | MultiIndex]", "kind": 2, "label": "_get_axis_resolvers", "sortText": "355"}, {"detail": "bound method type[DataFrame]._get_block_manager_axis(axis: int | Literal[\"index\", \"columns\", \"rows\"]) -> int", "documentation": {"kind": "plaintext", "value": "Map the axis to the block_manager axis.\n"}, "kind": 2, "label": "_get_block_manager_axis", "sortText": "356"}, {"detail": "bound method DataFrame._get_bool_data() -> Unknown", "kind": 2, "label": "_get_bool_data", "sortText": "357"}, {"detail": "bound method DataFrame._get_cleaned_column_resolvers() -> dict[Hashable, Series]", "documentation": {"kind": "plaintext", "value": "Return the special character free column resolvers of a dataframe.\n\nColumn names with special characters are 'cleaned up' so that they can\nbe referred to by backtick quoting.\nUsed in :meth:`DataFrame.eval`.\n"}, "kind": 2, "label": "_get_cleaned_column_resolvers", "sortText": "358"}, {"detail": "bound method DataFrame._get_column_array(i: int) -> ExtensionArray | ndarray[_AnyShape, dtype[Any]]", "documentation": {"kind": "plaintext", "value": "Get the values of the i'th column (ndarray or ExtensionArray, as stored\nin the Block)\n\nWarning! The returned array is a view but doesn't handle Copy-on-Write,\nso this should be used with caution (for read-only purposes).\n"}, "kind": 2, "label": "_get_column_array", "sortText": "359"}, {"detail": "bound method DataFrame._get_index_resolvers() -> dict[Hashable, Series | MultiIndex]", "kind": 2, "label": "_get_index_resolvers", "sortText": "360"}, {"detail": "bound method DataFrame._get_item_cache(item: Hashable) -> Series", "documentation": {"kind": "plaintext", "value": "Return the cached item, item represents a label indexer.\n"}, "kind": 2, "label": "_get_item_cache", "sortText": "361"}, {"detail": "bound method DataFrame._get_label_or_level_values(key: Hashable, axis: int = 0) -> ExtensionArray | ndarray[_AnyShape, dtype[Any]]", "documentation": {"kind": "plaintext", "value": "Return a 1-D array of values associated with `key`, a label or level\nfrom the given `axis`.\n\nRetrieval logic:\n - (axis=0): Return column values if `key` matches a column label.\n Otherwise return index level values if `key` matches an index\n level.\n - (axis=1): Return row values if `key` matches an index label.\n Otherwise return column level values if 'key' matches a column\n level\n\nParameters\n----------\nkey : Hashable\n Label or level name.\naxis : int, default 0\n Axis that levels are associated with (0 for index, 1 for columns)\n\nReturns\n-------\nnp.ndarray or ExtensionArray\n\nRaises\n------\nKeyError\n if `key` matches neither a label nor a level\nValueError\n if `key` matches multiple labels\n"}, "kind": 2, "label": "_get_label_or_level_values", "sortText": "362"}, {"detail": "bound method DataFrame._get_numeric_data() -> DataFrame", "kind": 2, "label": "_get_numeric_data", "sortText": "363"}, {"detail": "bound method DataFrame._get_value(index, col, takeable: bool = False) -> str | float | Period | ... omitted 5 union elements", "documentation": {"kind": "plaintext", "value": "Quickly retrieve single value at passed column and index.\n\nParameters\n----------\nindex : row label\ncol : column label\ntakeable : interpret the index/col as indexers, default False\n\nReturns\n-------\nscalar\n\nNotes\n-----\nAssumes that both `self.index._index_as_unique` and\n`self.columns._index_as_unique`; Caller is responsible for checking.\n"}, "kind": 2, "label": "_get_value", "sortText": "364"}, {"detail": "bound method DataFrame._get_values_for_csv(*, float_format: str | ((...) -> Unknown) | EngFormatter | None, date_format: str | None, decimal: str, na_rep: str, quoting) -> DataFrame", "kind": 2, "label": "_get_values_for_csv", "sortText": "365"}, {"detail": "bound method DataFrame._getitem_bool_array(key) -> Unknown", "kind": 2, "label": "_getitem_bool_array", "sortText": "366"}, {"detail": "bound method DataFrame._getitem_multilevel(key) -> Unknown", "kind": 2, "label": "_getitem_multilevel", "sortText": "367"}, {"detail": "bound method DataFrame._getitem_nocopy(key: list[Unknown]) -> Unknown", "documentation": {"kind": "plaintext", "value": "Behaves like __getitem__, but returns a view in cases where __getitem__\nwould make a copy.\n"}, "kind": 2, "label": "_getitem_nocopy", "sortText": "368"}, {"detail": "bound method DataFrame._getitem_slice(key: slice[Any, Any, Any]) -> DataFrame", "documentation": {"kind": "plaintext", "value": "__getitem__ for the case where the key is a slice object.\n"}, "kind": 2, "label": "_getitem_slice", "sortText": "369"}, {"detail": "bound method DataFrame._gotitem(key: Hashable | Sequence[Hashable], ndim: int, subset: DataFrame | Series | None = None) -> DataFrame | Series", "documentation": {"kind": "plaintext", "value": "Sub-classes to define. Return a sliced object.\n\nParameters\n----------\nkey : string / list of selections\nndim : {1, 2}\n requested ndim of result\nsubset : object, default None\n subset to act on\n"}, "kind": 2, "label": "_gotitem", "sortText": "370"}, {"detail": "frozenset[str]", "documentation": {"kind": "plaintext", "value": "Build an immutable unordered collection of unique elements.\n"}, "kind": 22, "label": "_hidden_attrs", "sortText": "371"}, {"detail": "bound method DataFrame._indexed_same(other) -> bool", "kind": 2, "label": "_indexed_same", "sortText": "372"}, {"detail": "Index", "documentation": {"kind": "plaintext", "value": "Immutable sequence used for indexing and alignment.\n\nThe basic object storing axis labels for all pandas objects.\n\n.. versionchanged:: 2.0.0\n\n Index can hold all numpy numeric dtypes (except float16). Previously only\n int64/uint64/float64 dtypes were accepted.\n\nParameters\n----------\ndata : array-like (1-dimensional)\ndtype : str, numpy.dtype, or ExtensionDtype, optional\n Data type for the output Index. If not specified, this will be\n inferred from `data`.\n See the :ref:`user guide ` for more usages.\ncopy : bool, default False\n Copy input data.\nname : object\n Name to be stored in the index.\ntupleize_cols : bool (default: True)\n When True, attempt to create a MultiIndex if possible.\n\nSee Also\n--------\nRangeIndex : Index implementing a monotonic integer range.\nCategoricalIndex : Index of :class:`Categorical` s.\nMultiIndex : A multi-level, or hierarchical Index.\nIntervalIndex : An Index of :class:`Interval` s.\nDatetimeIndex : Index of datetime64 data.\nTimedeltaIndex : Index of timedelta64 data.\nPeriodIndex : Index of Period data.\n\nNotes\n-----\nAn Index instance can **only** contain hashable objects.\nAn Index instance *can not* hold numpy float16 dtype.\n\nExamples\n--------\n>>> pd.Index([1, 2, 3])\nIndex([1, 2, 3], dtype='int64')\n\n>>> pd.Index(list('abc'))\nIndex(['a', 'b', 'c'], dtype='object')\n\n>>> pd.Index([1, 2, 3], dtype=\"uint8\")\nIndex([1, 2, 3], dtype='uint8')\n"}, "kind": 22, "label": "_info_axis", "sortText": "373"}, {"detail": "Literal[\"columns\", \"index\"]", "kind": 12, "label": "_info_axis_name", "sortText": "374"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "_info_axis_number", "sortText": "375"}, {"detail": "bound method DataFrame._info_repr() -> bool", "documentation": {"kind": "plaintext", "value": "True if the repr should show the info view.\n"}, "kind": 2, "label": "_info_repr", "sortText": "376"}, {"detail": "bound method type[DataFrame]._init_mgr(mgr: ArrayManager | SingleArrayManager | BlockManager | SingleBlockManager, axes: dict[Literal[\"index\", \"columns\"], ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements], dtype: dtype[Any] | ExtensionDtype | None = None, copy: bool = False) -> ArrayManager | SingleArrayManager | BlockManager | SingleBlockManager", "documentation": {"kind": "plaintext", "value": "passed a manager and a axes dict\n"}, "kind": 2, "label": "_init_mgr", "sortText": "377"}, {"detail": "bound method DataFrame._inplace_method(other, op) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Wrap arithmetic method to operate inplace.\n"}, "kind": 2, "label": "_inplace_method", "sortText": "378"}, {"detail": "list[str]", "documentation": {"kind": "plaintext", "value": "Built-in mutable sequence.\n\nIf no argument is given, the constructor creates a new empty list.\nThe argument must be an iterable if specified.\n"}, "kind": 22, "label": "_internal_names", "sortText": "379"}, {"detail": "set[str]", "documentation": {"kind": "plaintext", "value": "Build an unordered collection of unique elements.\n"}, "kind": 22, "label": "_internal_names_set", "sortText": "380"}, {"detail": "ReferenceType[NDFrame] | str | None", "kind": 22, "label": "_is_copy", "sortText": "381"}, {"detail": "bool", "documentation": {"kind": "plaintext", "value": "Returns True when the argument is true, False otherwise.\nThe builtins True and False are the only two instances of the class bool.\nThe class bool is a subclass of the class int, and cannot be subclassed.\n"}, "kind": 22, "label": "_is_homogeneous_type", "sortText": "382"}, {"detail": "bound method DataFrame._is_label_or_level_reference(key: Hashable, axis: int = 0) -> bool", "documentation": {"kind": "plaintext", "value": "Test whether a key is a label or level reference for a given axis.\n\nTo be considered either a label or a level reference, `key` must be a\nstring that:\n - (axis=0): Matches a column label or an index level\n - (axis=1): Matches an index label or a column level\n\nParameters\n----------\nkey : Hashable\n Potential label or level name\naxis : int, default 0\n Axis that levels are associated with (0 for index, 1 for columns)\n\nReturns\n-------\nbool\n"}, "kind": 2, "label": "_is_label_or_level_reference", "sortText": "383"}, {"detail": "bound method DataFrame._is_label_reference(key: Hashable, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> bool", "documentation": {"kind": "plaintext", "value": "Test whether a key is a label reference for a given axis.\n\nTo be considered a label reference, `key` must be a string that:\n - (axis=0): Matches a column label\n - (axis=1): Matches an index label\n\nParameters\n----------\nkey : Hashable\n Potential label name, i.e. Index entry.\naxis : int, default 0\n Axis perpendicular to the axis that labels are associated with\n (0 means search for column labels, 1 means search for index labels)\n\nReturns\n-------\nis_label: bool\n"}, "kind": 2, "label": "_is_label_reference", "sortText": "384"}, {"detail": "bound method DataFrame._is_level_reference(key: Hashable, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> bool", "documentation": {"kind": "plaintext", "value": "Test whether a key is a level reference for a given axis.\n\nTo be considered a level reference, `key` must be a string that:\n - (axis=0): Matches the name of an index level and does NOT match\n a column label.\n - (axis=1): Matches the name of a column level and does NOT match\n an index label.\n\nParameters\n----------\nkey : Hashable\n Potential level name for the given axis\naxis : int, default 0\n Axis that levels are associated with (0 for index, 1 for columns)\n\nReturns\n-------\nis_level : bool\n"}, "kind": 2, "label": "_is_level_reference", "sortText": "385"}, {"detail": "bool", "documentation": {"kind": "plaintext", "value": "Returns True when the argument is true, False otherwise.\nThe builtins True and False are the only two instances of the class bool.\nThe class bool is a subclass of the class int, and cannot be subclassed.\n"}, "kind": 22, "label": "_is_mixed_type", "sortText": "386"}, {"detail": "bool", "documentation": {"kind": "plaintext", "value": "Returns True when the argument is true, False otherwise.\nThe builtins True and False are the only two instances of the class bool.\nThe class bool is a subclass of the class int, and cannot be subclassed.\n"}, "kind": 22, "label": "_is_view", "sortText": "387"}, {"detail": "bound method DataFrame._is_view_after_cow_rules() -> Unknown", "kind": 2, "label": "_is_view_after_cow_rules", "sortText": "388"}, {"detail": "bound method DataFrame._iset_item(loc: int, value: Series, inplace: bool = True) -> None", "kind": 2, "label": "_iset_item", "sortText": "389"}, {"detail": "bound method DataFrame._iset_item_mgr(loc: int | slice[Any, Any, Any] | ndarray[_AnyShape, dtype[Any]], value, inplace: bool = False, refs: BlockValuesRefs | None = None) -> None", "kind": 2, "label": "_iset_item_mgr", "sortText": "390"}, {"detail": "bound method DataFrame._iset_not_inplace(key, value) -> Unknown", "kind": 2, "label": "_iset_not_inplace", "sortText": "391"}, {"detail": "dict[Hashable, Series]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "_item_cache", "sortText": "392"}, {"detail": "bound method DataFrame._iter_column_arrays() -> Iterator[ExtensionArray | ndarray[_AnyShape, dtype[Any]]]", "documentation": {"kind": "plaintext", "value": "Iterate over the arrays of all columns in order.\nThis returns the values as stored in the Block (ndarray or ExtensionArray).\n\nWarning! The returned array is a view but doesn't handle Copy-on-Write,\nso this should be used with caution (for read-only purposes).\n"}, "kind": 2, "label": "_iter_column_arrays", "sortText": "393"}, {"detail": "bound method DataFrame._ixs(i: int, axis: int = 0) -> Series", "documentation": {"kind": "plaintext", "value": "Parameters\n----------\ni : int\naxis : int\n\nReturns\n-------\nSeries\n"}, "kind": 2, "label": "_ixs", "sortText": "394"}, {"detail": "bound method DataFrame._logical_func(name: str, func, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, bool_only: bool = False, skipna: bool = True, **kwargs) -> Series | bool", "kind": 2, "label": "_logical_func", "sortText": "395"}, {"detail": "(other, op) -> Unknown", "kind": 3, "label": "_logical_method", "sortText": "396"}, {"detail": "bound method DataFrame._maybe_align_series_as_frame(series: Series, axis: int) -> Unknown", "documentation": {"kind": "plaintext", "value": "If the Series operand is not EA-dtype, we can broadcast to 2D and operate\nblockwise.\n"}, "kind": 2, "label": "_maybe_align_series_as_frame", "sortText": "397"}, {"detail": "bound method DataFrame._maybe_cache_changed(item, value: Series, inplace: bool) -> None", "documentation": {"kind": "plaintext", "value": "The object has called back to us saying maybe it has changed.\n"}, "kind": 2, "label": "_maybe_cache_changed", "sortText": "398"}, {"detail": "bound method DataFrame._maybe_update_cacher(clear: bool = False, verify_is_copy: bool = True, inplace: bool = False) -> None", "documentation": {"kind": "plaintext", "value": "See if we need to update our parent cacher if clear, then clear our\ncache.\n\nParameters\n----------\nclear : bool, default False\n Clear the item cache.\nverify_is_copy : bool, default True\n Provide is_copy checks.\n"}, "kind": 2, "label": "_maybe_update_cacher", "sortText": "399"}, {"detail": "list[str]", "documentation": {"kind": "plaintext", "value": "Built-in mutable sequence.\n\nIf no argument is given, the constructor creates a new empty list.\nThe argument must be an iterable if specified.\n"}, "kind": 22, "label": "_metadata", "sortText": "400"}, {"detail": "BlockManager | ArrayManager", "kind": 22, "label": "_mgr", "sortText": "401"}, {"detail": "bound method DataFrame._min_count_stat_function(name: str, func, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None | _NoDefault = ..., skipna: bool = True, numeric_only: bool = False, min_count: int = 0, **kwargs) -> Unknown", "kind": 2, "label": "_min_count_stat_function", "sortText": "402"}, {"detail": "bound method DataFrame._needs_reindex_multi(axes, method, level: Hashable) -> bool", "documentation": {"kind": "plaintext", "value": "Check if we do need a multi reindex.\n"}, "kind": 2, "label": "_needs_reindex_multi", "sortText": "403"}, {"detail": "bound method DataFrame._pad_or_backfill(method: Literal[\"ffill\", \"bfill\", \"pad\", \"backfill\"], *, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = None, inplace: bool = False, limit: None | int = None, limit_area: Literal[\"inside\", \"outside\"] | None = None, downcast: dict[Unknown, Unknown] | None = None) -> Unknown", "kind": 2, "label": "_pad_or_backfill", "sortText": "404"}, {"detail": "bound method DataFrame._protect_consolidate(f) -> Unknown", "documentation": {"kind": "plaintext", "value": "Consolidate _mgr -- if the blocks have changed, then clear the\ncache\n"}, "kind": 2, "label": "_protect_consolidate", "sortText": "405"}, {"detail": "bound method DataFrame._reduce(op, name: str, *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, skipna: bool = True, numeric_only: bool = False, filter_type=None, **kwds) -> Unknown", "kind": 2, "label": "_reduce", "sortText": "406"}, {"detail": "bound method DataFrame._reduce_axis1(name: str, func, skipna: bool) -> Series", "documentation": {"kind": "plaintext", "value": "Special case for _reduce to try to avoid a potentially-expensive transpose.\n\nApply the reduction block-wise along axis=1 and then reduce the resulting\n1D arrays.\n"}, "kind": 2, "label": "_reduce_axis1", "sortText": "407"}, {"detail": "bound method DataFrame._reindex_axes(axes, level: Hashable, limit: int | None, tolerance, method, fill_value: str | float | Period | ... omitted 6 union elements, copy: bool | None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Perform the reindex for all the axes.\n"}, "kind": 2, "label": "_reindex_axes", "sortText": "408"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_reindex_indexer", "sortText": "409"}, {"detail": "bound method DataFrame._reindex_multi(axes: dict[str, Index], copy: bool, fill_value) -> DataFrame", "documentation": {"kind": "plaintext", "value": "We are guaranteed non-Nones in the axes.\n"}, "kind": 2, "label": "_reindex_multi", "sortText": "410"}, {"detail": "bound method DataFrame._reindex_with_indexers(reindexers, fill_value=None, copy: bool | None = False, allow_dups: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "allow_dups indicates an internal call here\n"}, "kind": 2, "label": "_reindex_with_indexers", "sortText": "411"}, {"detail": "bound method DataFrame._rename(mapper: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = None, *, index: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = None, columns: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, copy: bool | None = None, inplace: bool = False, level: Hashable = None, errors: str = \"ignore\") -> DataFrame | None", "kind": 2, "label": "_rename", "sortText": "412"}, {"detail": "bound method DataFrame._replace_columnwise(mapping: dict[Hashable, tuple[Any, Any]], inplace: bool, regex) -> Unknown", "documentation": {"kind": "plaintext", "value": "Dispatch to Series.replace column-wise.\n\nParameters\n----------\nmapping : dict\n of the form {col: (target, value)}\ninplace : bool\nregex : bool or same types as `to_replace` in DataFrame.replace\n\nReturns\n-------\nDataFrame or None\n"}, "kind": 2, "label": "_replace_columnwise", "sortText": "413"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_replace_single", "sortText": "414"}, {"detail": "bound method DataFrame._repr_data_resource_() -> Unknown", "documentation": {"kind": "plaintext", "value": "Not a real Jupyter special repr method, but we use the same\nnaming convention.\n"}, "kind": 2, "label": "_repr_data_resource_", "sortText": "415"}, {"detail": "bound method DataFrame._repr_fits_horizontal_() -> bool", "documentation": {"kind": "plaintext", "value": "Check if full repr fits in horizontal boundaries imposed by the display\noptions width and max_columns.\n"}, "kind": 2, "label": "_repr_fits_horizontal_", "sortText": "416"}, {"detail": "bound method DataFrame._repr_fits_vertical_() -> bool", "documentation": {"kind": "plaintext", "value": "Check length against max_rows.\n"}, "kind": 2, "label": "_repr_fits_vertical_", "sortText": "417"}, {"detail": "bound method DataFrame._repr_html_() -> str | None", "documentation": {"kind": "plaintext", "value": "Return a html representation for a particular DataFrame.\n\nMainly for IPython notebook.\n"}, "kind": 2, "label": "_repr_html_", "sortText": "418"}, {"detail": "bound method DataFrame._repr_latex_() -> Unknown", "documentation": {"kind": "plaintext", "value": "Returns a LaTeX representation for a particular object.\nMainly for use with nbconvert (jupyter notebook conversion to pdf).\n"}, "kind": 2, "label": "_repr_latex_", "sortText": "419"}, {"detail": "bound method DataFrame._reset_cache(key: str | None = None) -> None", "documentation": {"kind": "plaintext", "value": "Reset cached properties. If ``key`` is passed, only clears that key.\n"}, "kind": 2, "label": "_reset_cache", "sortText": "420"}, {"detail": "bound method DataFrame._reset_cacher() -> None", "kind": 2, "label": "_reset_cacher", "sortText": "421"}, {"detail": "bound method DataFrame._sanitize_column(value) -> tuple[ExtensionArray | ndarray[_AnyShape, dtype[Any]], BlockValuesRefs | None]", "documentation": {"kind": "plaintext", "value": "Ensures new columns (which go into the BlockManager as new blocks) are\nalways copied (or a reference is being tracked to them under CoW)\nand converted into an array.\n\nParameters\n----------\nvalue : scalar, Series, or array-like\n\nReturns\n-------\ntuple of numpy.ndarray or ExtensionArray and optional BlockValuesRefs\n"}, "kind": 2, "label": "_sanitize_column", "sortText": "422"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_series", "sortText": "423"}, {"detail": "bound method DataFrame._set_axis(axis: int, labels: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | Series | list[Unknown]) -> None", "documentation": {"kind": "plaintext", "value": "This is called from the cython code when we set the `index` attribute\ndirectly, e.g. `series.index = [1, 2, 3]`.\n"}, "kind": 2, "label": "_set_axis", "sortText": "424"}, {"detail": "bound method DataFrame._set_axis_name(name, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, inplace: bool = False, copy: bool | None = True) -> Unknown", "documentation": {"kind": "plaintext", "value": "Set the name(s) of the axis.\n\nParameters\n----------\nname : str or list of str\n Name(s) to set.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to set the label. The value 0 or 'index' specifies index,\n and the value 1 or 'columns' specifies columns.\ninplace : bool, default False\n If `True`, do operation inplace and return None.\ncopy:\n Whether to make a copy of the result.\n\nReturns\n-------\nSeries, DataFrame, or None\n The same type as the caller or `None` if `inplace` is `True`.\n\nSee Also\n--------\nDataFrame.rename : Alter the axis labels of :class:`DataFrame`.\nSeries.rename : Alter the index labels or set the index name\n of :class:`Series`.\nIndex.rename : Set the name of :class:`Index` or :class:`MultiIndex`.\n\nExamples\n--------\n>>> df = pd.DataFrame({\"num_legs\": [4, 4, 2]},\n... [\"dog\", \"cat\", \"monkey\"])\n>>> df\n num_legs\ndog 4\ncat 4\nmonkey 2\n>>> df._set_axis_name(\"animal\")\n num_legs\nanimal\ndog 4\ncat 4\nmonkey 2\n>>> df.index = pd.MultiIndex.from_product(\n... [[\"mammal\"], ['dog', 'cat', 'monkey']])\n>>> df._set_axis_name([\"type\", \"name\"])\n num_legs\ntype name\nmammal dog 4\n cat 4\n monkey 2\n"}, "kind": 2, "label": "_set_axis_name", "sortText": "425"}, {"detail": "bound method DataFrame._set_axis_nocheck(labels, axis: int | Literal[\"index\", \"columns\", \"rows\"], inplace: bool, copy: bool | None) -> Unknown", "kind": 2, "label": "_set_axis_nocheck", "sortText": "426"}, {"detail": "bound method DataFrame._set_is_copy(ref: NDFrame, copy: bool = True) -> None", "kind": 2, "label": "_set_is_copy", "sortText": "427"}, {"detail": "bound method DataFrame._set_item(key, value) -> None", "documentation": {"kind": "plaintext", "value": "Add series to DataFrame in specified column.\n\nIf series is a numpy-array (not a Series/TimeSeries), it must be the\nsame length as the DataFrames index or an error will be thrown.\n\nSeries/TimeSeries will be conformed to the DataFrames index to\nensure homogeneity.\n"}, "kind": 2, "label": "_set_item", "sortText": "428"}, {"detail": "bound method DataFrame._set_item_frame_value(key, value: DataFrame) -> None", "kind": 2, "label": "_set_item_frame_value", "sortText": "429"}, {"detail": "bound method DataFrame._set_item_mgr(key, value: ExtensionArray | ndarray[_AnyShape, dtype[Any]], refs: BlockValuesRefs | None = None) -> None", "kind": 2, "label": "_set_item_mgr", "sortText": "430"}, {"detail": "bound method DataFrame._set_value(index: Hashable | Sequence[Hashable], col, value: str | float | Period | ... omitted 5 union elements, takeable: bool = False) -> None", "documentation": {"kind": "plaintext", "value": "Put single value at passed column and index.\n\nParameters\n----------\nindex : Label\n row label\ncol : Label\n column label\nvalue : scalar\ntakeable : bool, default False\n Sets whether or not index/col interpreted as indexers\n"}, "kind": 2, "label": "_set_value", "sortText": "431"}, {"detail": "bound method DataFrame._setitem_array(key, value) -> Unknown", "kind": 2, "label": "_setitem_array", "sortText": "432"}, {"detail": "bound method DataFrame._setitem_frame(key, value) -> Unknown", "kind": 2, "label": "_setitem_frame", "sortText": "433"}, {"detail": "bound method DataFrame._setitem_slice(key: slice[Any, Any, Any], value) -> None", "kind": 2, "label": "_setitem_slice", "sortText": "434"}, {"detail": "bound method DataFrame._shift_with_freq(periods: int, axis: int, freq) -> DataFrame", "kind": 2, "label": "_shift_with_freq", "sortText": "435"}, {"detail": "bound method DataFrame._should_reindex_frame_op(right, op, axis: int, fill_value, level) -> bool", "documentation": {"kind": "plaintext", "value": "Check if this is an operation between DataFrames that will need to reindex.\n"}, "kind": 2, "label": "_should_reindex_frame_op", "sortText": "436"}, {"detail": "bound method DataFrame._slice(slobj: slice[Any, Any, Any], axis: int = 0) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Construct a slice of this container.\n\nSlicing with this method is *always* positional.\n"}, "kind": 2, "label": "_slice", "sortText": "437"}, {"detail": "bound method DataFrame._stat_function(name: str, func, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "_stat_function", "sortText": "438"}, {"detail": "bound method DataFrame._stat_function_ddof(name: str, func, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None | _NoDefault = ..., skipna: bool = True, ddof: int = 1, numeric_only: bool = False, **kwargs) -> Series | float", "kind": 2, "label": "_stat_function_ddof", "sortText": "439"}, {"detail": "bound method DataFrame._take_with_is_copy(indices, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Internal version of the `take` method that sets the `_is_copy`\nattribute to keep track of the parent dataframe (using in indexing\nfor the SettingWithCopyWarning).\n\nFor Series this does the same as the public take (it never sets `_is_copy`).\n\nSee the docstring of `take` for full explanation of the parameters.\n"}, "kind": 2, "label": "_take_with_is_copy", "sortText": "440"}, {"detail": "bound method DataFrame._to_dict_of_blocks() -> Unknown", "documentation": {"kind": "plaintext", "value": "Return a dict of dtype -> Constructor Types that\neach is a homogeneous dtype.\n\nInternal ONLY - only works for BlockManager\n"}, "kind": 2, "label": "_to_dict_of_blocks", "sortText": "441"}, {"detail": "bound method DataFrame._to_latex_via_styler(buf=None, *, hide: dict[Unknown, Unknown] | list[dict[Unknown, Unknown]] | None = None, relabel_index: dict[Unknown, Unknown] | list[dict[Unknown, Unknown]] | None = None, format: dict[Unknown, Unknown] | list[dict[Unknown, Unknown]] | None = None, format_index: dict[Unknown, Unknown] | list[dict[Unknown, Unknown]] | None = None, render_kwargs: dict[Unknown, Unknown] | None = None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Render object to a LaTeX tabular, longtable, or nested table.\n\nUses the ``Styler`` implementation with the following, ordered, method chaining:\n\n.. code-block:: python\n styler = Styler(DataFrame)\n styler.hide(**hide)\n styler.relabel_index(**relabel_index)\n styler.format(**format)\n styler.format_index(**format_index)\n styler.to_latex(buf=buf, **render_kwargs)\n\nParameters\n----------\nbuf : str, Path or StringIO-like, optional, default None\n Buffer to write to. If None, the output is returned as a string.\nhide : dict, list of dict\n Keyword args to pass to the method call of ``Styler.hide``. If a list will\n call the method numerous times.\nrelabel_index : dict, list of dict\n Keyword args to pass to the method of ``Styler.relabel_index``. If a list\n will call the method numerous times.\nformat : dict, list of dict\n Keyword args to pass to the method call of ``Styler.format``. If a list will\n call the method numerous times.\nformat_index : dict, list of dict\n Keyword args to pass to the method call of ``Styler.format_index``. If a\n list will call the method numerous times.\nrender_kwargs : dict\n Keyword args to pass to the method call of ``Styler.to_latex``.\n\nReturns\n-------\nstr or None\n If buf is None, returns the result as a string. Otherwise returns None.\n"}, "kind": 2, "label": "_to_latex_via_styler", "sortText": "442"}, {"detail": "str", "documentation": {"kind": "plaintext", "value": "str(object='') -> str\nstr(bytes_or_buffer[, encoding[, errors]]) -> str\n\nCreate a new string object from the given object. If encoding or\nerrors is specified, then the object must expose a data buffer\nthat will be decoded using the given encoding and error handler.\nOtherwise, returns the result of object.__str__() (if defined)\nor repr(object).\nencoding defaults to 'utf-8'.\nerrors defaults to 'strict'.\n"}, "kind": 22, "label": "_typ", "sortText": "443"}, {"detail": "bound method DataFrame._update_inplace(result, verify_is_copy: bool = True) -> None", "documentation": {"kind": "plaintext", "value": "Replace self internals with result.\n\nParameters\n----------\nresult : same type as self\nverify_is_copy : bool, default True\n Provide is_copy checks.\n"}, "kind": 2, "label": "_update_inplace", "sortText": "444"}, {"detail": "bound method type[DataFrame]._validate_dtype(dtype) -> dtype[Any] | ExtensionDtype | None", "documentation": {"kind": "plaintext", "value": "validate the passed dtype\n"}, "kind": 2, "label": "_validate_dtype", "sortText": "445"}, {"detail": "ndarray[_AnyShape, dtype[Any]] | DatetimeArray | TimedeltaArray | PeriodArray", "kind": 22, "label": "_values", "sortText": "446"}, {"detail": "bound method DataFrame._where(cond, other=..., inplace: bool = False, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, level=None, warn: bool = True) -> Unknown", "documentation": {"kind": "plaintext", "value": "Equivalent to public method `where`, except that `other` is not\napplied as a function even if callable. Used in __setitem__.\n"}, "kind": 2, "label": "_where", "sortText": "447"}]}} -{"suite": "pandas", "label": "edit dataframe then complete (edit+completion)", "method": "textDocument/completion", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py", "line": 17, "character": 39, "iteration": 2, "result": {"isIncomplete": true, "items": [{"detail": "DataFrame", "documentation": {"kind": "plaintext", "value": "Two-dimensional, size-mutable, potentially heterogeneous tabular data.\n\nData structure also contains labeled axes (rows and columns).\nArithmetic operations align on both row and column labels. Can be\nthought of as a dict-like container for Series objects. The primary\npandas data structure.\n\nParameters\n----------\ndata : ndarray (structured or homogeneous), Iterable, dict, or DataFrame\n Dict can contain Series, arrays, constants, dataclass or list-like objects. If\n data is a dict, column order follows insertion-order. If a dict contains Series\n which have an index defined, it is aligned by its index. This alignment also\n occurs if data is a Series or a DataFrame itself. Alignment is done on\n Series/DataFrame inputs.\n\n If data is a list of dicts, column order follows insertion-order.\n\nindex : Index or array-like\n Index to use for resulting frame. Will default to RangeIndex if\n no indexing information part of input data and no index provided.\ncolumns : Index or array-like\n Column labels to use for resulting frame when data does not have them,\n defaulting to RangeIndex(0, 1, 2, ..., n). If data contains column labels,\n will perform column selection instead.\ndtype : dtype, default None\n Data type to force. Only a single dtype is allowed. If None, infer.\ncopy : bool or None, default None\n Copy data from inputs.\n For dict data, the default of None behaves like ``copy=True``. For DataFrame\n or 2d ndarray input, the default of None behaves like ``copy=False``.\n If data is a dict containing one or more Series (possibly of different dtypes),\n ``copy=False`` will ensure that these inputs are not copied.\n\n .. versionchanged:: 1.3.0\n\nSee Also\n--------\nDataFrame.from_records : Constructor from tuples, also record arrays.\nDataFrame.from_dict : From dicts of Series, arrays, or dicts.\nread_csv : Read a comma-separated values (csv) file into DataFrame.\nread_table : Read general delimited file into DataFrame.\nread_clipboard : Read text from clipboard into DataFrame.\n\nNotes\n-----\nPlease reference the :ref:`User Guide ` for more information.\n\nExamples\n--------\nConstructing DataFrame from a dictionary.\n\n>>> d = {'col1': [1, 2], 'col2': [3, 4]}\n>>> df = pd.DataFrame(data=d)\n>>> df\n col1 col2\n0 1 3\n1 2 4\n\nNotice that the inferred dtype is int64.\n\n>>> df.dtypes\ncol1 int64\ncol2 int64\ndtype: object\n\nTo enforce a single dtype:\n\n>>> df = pd.DataFrame(data=d, dtype=np.int8)\n>>> df.dtypes\ncol1 int8\ncol2 int8\ndtype: object\n\nConstructing DataFrame from a dictionary including Series:\n\n>>> d = {'col1': [0, 1, 2, 3], 'col2': pd.Series([2, 3], index=[2, 3])}\n>>> pd.DataFrame(data=d, index=[0, 1, 2, 3])\n col1 col2\n0 0 NaN\n1 1 NaN\n2 2 2.0\n3 3 3.0\n\nConstructing DataFrame from numpy ndarray:\n\n>>> df2 = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]),\n... columns=['a', 'b', 'c'])\n>>> df2\n a b c\n0 1 2 3\n1 4 5 6\n2 7 8 9\n\nConstructing DataFrame from a numpy ndarray that has labeled columns:\n\n>>> data = np.array([(1, 2, 3), (4, 5, 6), (7, 8, 9)],\n... dtype=[(\"a\", \"i4\"), (\"b\", \"i4\"), (\"c\", \"i4\")])\n>>> df3 = pd.DataFrame(data, columns=['c', 'a'])\n...\n>>> df3\n c a\n0 3 1\n1 6 4\n2 9 7\n\nConstructing DataFrame from dataclass:\n\n>>> from dataclasses import make_dataclass\n>>> Point = make_dataclass(\"Point\", [(\"x\", int), (\"y\", int)])\n>>> pd.DataFrame([Point(0, 0), Point(0, 3), Point(2, 3)])\n x y\n0 0 0\n1 0 3\n2 2 3\n\nConstructing DataFrame from Series/DataFrame:\n\n>>> ser = pd.Series([1, 2, 3], index=[\"a\", \"b\", \"c\"])\n>>> df = pd.DataFrame(data=ser, index=[\"a\", \"c\"])\n>>> df\n 0\na 1\nc 3\n\n>>> df1 = pd.DataFrame([1, 2, 3], index=[\"a\", \"b\", \"c\"], columns=[\"x\"])\n>>> df2 = pd.DataFrame(data=df1, index=[\"a\", \"c\"])\n>>> df2\n x\na 1\nc 3\n"}, "kind": 22, "label": "T", "sortText": " 0"}, {"detail": "bound method DataFrame.abs() -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return a Series/DataFrame with absolute numeric value of each element.\n\nThis function only applies to elements that are all numeric.\n\nReturns\n-------\nabs\n Series/DataFrame containing the absolute value of each element.\n\nSee Also\n--------\nnumpy.absolute : Calculate the absolute value element-wise.\n\nNotes\n-----\nFor ``complex`` inputs, ``1.2 + 1j``, the absolute value is\n:math:`\\sqrt{ a^2 + b^2 }`.\n\nExamples\n--------\nAbsolute numeric values in a Series.\n\n>>> s = pd.Series([-1.10, 2, -3.33, 4])\n>>> s.abs()\n0 1.10\n1 2.00\n2 3.33\n3 4.00\ndtype: float64\n\nAbsolute numeric values in a Series with complex numbers.\n\n>>> s = pd.Series([1.2 + 1j])\n>>> s.abs()\n0 1.56205\ndtype: float64\n\nAbsolute numeric values in a Series with a Timedelta element.\n\n>>> s = pd.Series([pd.Timedelta('1 days')])\n>>> s.abs()\n0 1 days\ndtype: timedelta64[ns]\n\nSelect rows with data closest to certain value using argsort (from\n`StackOverflow `__).\n\n>>> df = pd.DataFrame({\n... 'a': [4, 5, 6, 7],\n... 'b': [10, 20, 30, 40],\n... 'c': [100, 50, -30, -50]\n... })\n>>> df\n a b c\n0 4 10 100\n1 5 20 50\n2 6 30 -30\n3 7 40 -50\n>>> df.loc[(df.c - 43).abs().argsort()]\n a b c\n1 5 20 50\n0 4 10 100\n2 6 30 -30\n3 7 40 -50\n"}, "kind": 2, "label": "abs", "sortText": " 1"}, {"detail": "bound method DataFrame.add(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "add", "sortText": " 2"}, {"detail": "bound method DataFrame.add_prefix(prefix: str, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Prefix labels with string `prefix`.\n\nFor Series, the row labels are prefixed.\nFor DataFrame, the column labels are prefixed.\n\nParameters\n----------\nprefix : str\n The string to add before each label.\naxis : {0 or 'index', 1 or 'columns', None}, default None\n Axis to add prefix on\n\n .. versionadded:: 2.0.0\n\nReturns\n-------\nSeries or DataFrame\n New Series or DataFrame with updated labels.\n\nSee Also\n--------\nSeries.add_suffix: Suffix row labels with string `suffix`.\nDataFrame.add_suffix: Suffix column labels with string `suffix`.\n\nExamples\n--------\n>>> s = pd.Series([1, 2, 3, 4])\n>>> s\n0 1\n1 2\n2 3\n3 4\ndtype: int64\n\n>>> s.add_prefix('item_')\nitem_0 1\nitem_1 2\nitem_2 3\nitem_3 4\ndtype: int64\n\n>>> df = pd.DataFrame({'A': [1, 2, 3, 4], 'B': [3, 4, 5, 6]})\n>>> df\n A B\n0 1 3\n1 2 4\n2 3 5\n3 4 6\n\n>>> df.add_prefix('col_')\n col_A col_B\n0 1 3\n1 2 4\n2 3 5\n3 4 6\n"}, "kind": 2, "label": "add_prefix", "sortText": " 3"}, {"detail": "bound method DataFrame.add_suffix(suffix: str, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Suffix labels with string `suffix`.\n\nFor Series, the row labels are suffixed.\nFor DataFrame, the column labels are suffixed.\n\nParameters\n----------\nsuffix : str\n The string to add after each label.\naxis : {0 or 'index', 1 or 'columns', None}, default None\n Axis to add suffix on\n\n .. versionadded:: 2.0.0\n\nReturns\n-------\nSeries or DataFrame\n New Series or DataFrame with updated labels.\n\nSee Also\n--------\nSeries.add_prefix: Prefix row labels with string `prefix`.\nDataFrame.add_prefix: Prefix column labels with string `prefix`.\n\nExamples\n--------\n>>> s = pd.Series([1, 2, 3, 4])\n>>> s\n0 1\n1 2\n2 3\n3 4\ndtype: int64\n\n>>> s.add_suffix('_item')\n0_item 1\n1_item 2\n2_item 3\n3_item 4\ndtype: int64\n\n>>> df = pd.DataFrame({'A': [1, 2, 3, 4], 'B': [3, 4, 5, 6]})\n>>> df\n A B\n0 1 3\n1 2 4\n2 3 5\n3 4 6\n\n>>> df.add_suffix('_col')\n A_col B_col\n0 1 3\n1 2 4\n2 3 5\n3 4 6\n"}, "kind": 2, "label": "add_suffix", "sortText": " 4"}, {"detail": "(func=None, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, *args, **kwargs) -> Unknown", "kind": 3, "label": "agg", "sortText": " 5"}, {"detail": "bound method DataFrame.aggregate(func=None, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, *args, **kwargs) -> Unknown", "kind": 2, "label": "aggregate", "sortText": " 6"}, {"detail": "bound method DataFrame.align[NDFrameT](other: NDFrameT, join: Literal[\"outer\", \"inner\", \"left\", \"right\"] = \"outer\", axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, level: Hashable = None, copy: bool | None = None, fill_value: Hashable = None, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None | _NoDefault = ..., limit: int | None | _NoDefault = ..., fill_axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., broadcast_axis: int | Literal[\"index\", \"columns\", \"rows\"] | None | _NoDefault = ...) -> tuple[DataFrame, NDFrameT]", "documentation": {"kind": "plaintext", "value": "Align two objects on their axes with the specified join method.\n\nJoin method is specified for each axis Index.\n\nParameters\n----------\nother : DataFrame or Series\njoin : {{'outer', 'inner', 'left', 'right'}}, default 'outer'\n Type of alignment to be performed.\n\n * left: use only keys from left frame, preserve key order.\n * right: use only keys from right frame, preserve key order.\n * outer: use union of keys from both frames, sort keys lexicographically.\n * inner: use intersection of keys from both frames,\n preserve the order of the left keys.\n\naxis : allowed axis of the other object, default None\n Align on index (0), columns (1), or both (None).\nlevel : int or level name, default None\n Broadcast across a level, matching Index values on the\n passed MultiIndex level.\ncopy : bool, default True\n Always returns new objects. If copy=False and no reindexing is\n required then original objects are returned.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\nfill_value : scalar, default np.nan\n Value to use for missing values. Defaults to NaN, but can be any\n \"compatible\" value.\nmethod : {{'backfill', 'bfill', 'pad', 'ffill', None}}, default None\n Method to use for filling holes in reindexed Series:\n\n - pad / ffill: propagate last valid observation forward to next valid.\n - backfill / bfill: use NEXT valid observation to fill gap.\n\n .. deprecated:: 2.1\n\nlimit : int, default None\n If method is specified, this is the maximum number of consecutive\n NaN values to forward/backward fill. In other words, if there is\n a gap with more than this number of consecutive NaNs, it will only\n be partially filled. If method is not specified, this is the\n maximum number of entries along the entire axis where NaNs will be\n filled. Must be greater than 0 if not None.\n\n .. deprecated:: 2.1\n\nfill_axis : {axes_single_arg}, default 0\n Filling axis, method and limit.\n\n .. deprecated:: 2.1\n\nbroadcast_axis : {axes_single_arg}, default None\n Broadcast values along this axis, if aligning two objects of\n different dimensions.\n\n .. deprecated:: 2.1\n\nReturns\n-------\ntuple of ({klass}, type of other)\n Aligned objects.\n\nExamples\n--------\n>>> df = pd.DataFrame(\n... [[1, 2, 3, 4], [6, 7, 8, 9]], columns=[\"D\", \"B\", \"E\", \"A\"], index=[1, 2]\n... )\n>>> other = pd.DataFrame(\n... [[10, 20, 30, 40], [60, 70, 80, 90], [600, 700, 800, 900]],\n... columns=[\"A\", \"B\", \"C\", \"D\"],\n... index=[2, 3, 4],\n... )\n>>> df\n D B E A\n1 1 2 3 4\n2 6 7 8 9\n>>> other\n A B C D\n2 10 20 30 40\n3 60 70 80 90\n4 600 700 800 900\n\nAlign on columns:\n\n>>> left, right = df.align(other, join=\"outer\", axis=1)\n>>> left\n A B C D E\n1 4 2 NaN 1 3\n2 9 7 NaN 6 8\n>>> right\n A B C D E\n2 10 20 30 40 NaN\n3 60 70 80 90 NaN\n4 600 700 800 900 NaN\n\nWe can also align on the index:\n\n>>> left, right = df.align(other, join=\"outer\", axis=0)\n>>> left\n D B E A\n1 1.0 2.0 3.0 4.0\n2 6.0 7.0 8.0 9.0\n3 NaN NaN NaN NaN\n4 NaN NaN NaN NaN\n>>> right\n A B C D\n1 NaN NaN NaN NaN\n2 10.0 20.0 30.0 40.0\n3 60.0 70.0 80.0 90.0\n4 600.0 700.0 800.0 900.0\n\nFinally, the default `axis=None` will align on both index and columns:\n\n>>> left, right = df.align(other, join=\"outer\", axis=None)\n>>> left\n A B C D E\n1 4.0 2.0 NaN 1.0 3.0\n2 9.0 7.0 NaN 6.0 8.0\n3 NaN NaN NaN NaN NaN\n4 NaN NaN NaN NaN NaN\n>>> right\n A B C D E\n1 NaN NaN NaN NaN NaN\n2 10.0 20.0 30.0 40.0 NaN\n3 60.0 70.0 80.0 90.0 NaN\n4 600.0 700.0 800.0 900.0 NaN\n"}, "kind": 2, "label": "align", "sortText": " 7"}, {"detail": "bound method DataFrame.all(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, bool_only: bool = False, skipna: bool = True, **kwargs) -> Series | bool", "kind": 2, "label": "all", "sortText": " 8"}, {"detail": "bound method DataFrame.any(*, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, bool_only: bool = False, skipna: bool = True, **kwargs) -> Series | bool", "kind": 2, "label": "any", "sortText": " 9"}, {"detail": "bound method DataFrame.apply(func: ((...) -> Unknown) | str | list[((...) -> Unknown) | str] | MutableMapping[Hashable, ((...) -> Unknown) | str | list[((...) -> Unknown) | str]], axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, raw: bool = False, result_type: Literal[\"expand\", \"reduce\", \"broadcast\"] | None = None, args=..., by_row: Literal[False, \"compat\"] = \"compat\", engine: Literal[\"python\", \"numba\"] = \"python\", engine_kwargs: dict[str, bool] | None = None, **kwargs) -> Unknown", "documentation": {"kind": "plaintext", "value": "Apply a function along an axis of the DataFrame.\n\nObjects passed to the function are Series objects whose index is\neither the DataFrame's index (``axis=0``) or the DataFrame's columns\n(``axis=1``). By default (``result_type=None``), the final return type\nis inferred from the return type of the applied function. Otherwise,\nit depends on the `result_type` argument.\n\nParameters\n----------\nfunc : function\n Function to apply to each column or row.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Axis along which the function is applied:\n\n * 0 or 'index': apply function to each column.\n * 1 or 'columns': apply function to each row.\n\nraw : bool, default False\n Determines if row or column is passed as a Series or ndarray object:\n\n * ``False`` : passes each row or column as a Series to the\n function.\n * ``True`` : the passed function will receive ndarray objects\n instead.\n If you are just applying a NumPy reduction function this will\n achieve much better performance.\n\nresult_type : {'expand', 'reduce', 'broadcast', None}, default None\n These only act when ``axis=1`` (columns):\n\n * 'expand' : list-like results will be turned into columns.\n * 'reduce' : returns a Series if possible rather than expanding\n list-like results. This is the opposite of 'expand'.\n * 'broadcast' : results will be broadcast to the original shape\n of the DataFrame, the original index and columns will be\n retained.\n\n The default behaviour (None) depends on the return value of the\n applied function: list-like results will be returned as a Series\n of those. However if the apply function returns a Series these\n are expanded to columns.\nargs : tuple\n Positional arguments to pass to `func` in addition to the\n array/series.\nby_row : False or \"compat\", default \"compat\"\n Only has an effect when ``func`` is a listlike or dictlike of funcs\n and the func isn't a string.\n If \"compat\", will if possible first translate the func into pandas\n methods (e.g. ``Series().apply(np.sum)`` will be translated to\n ``Series().sum()``). If that doesn't work, will try call to apply again with\n ``by_row=True`` and if that fails, will call apply again with\n ``by_row=False`` (backward compatible).\n If False, the funcs will be passed the whole Series at once.\n\n .. versionadded:: 2.1.0\n\nengine : {'python', 'numba'}, default 'python'\n Choose between the python (default) engine or the numba engine in apply.\n\n The numba engine will attempt to JIT compile the passed function,\n which may result in speedups for large DataFrames.\n It also supports the following engine_kwargs :\n\n - nopython (compile the function in nopython mode)\n - nogil (release the GIL inside the JIT compiled function)\n - parallel (try to apply the function in parallel over the DataFrame)\n\n Note: Due to limitations within numba/how pandas interfaces with numba,\n you should only use this if raw=True\n\n Note: The numba compiler only supports a subset of\n valid Python/numpy operations.\n\n Please read more about the `supported python features\n `_\n and `supported numpy features\n `_\n in numba to learn what you can or cannot use in the passed function.\n\n .. versionadded:: 2.2.0\n\nengine_kwargs : dict\n Pass keyword arguments to the engine.\n This is currently only used by the numba engine,\n see the documentation for the engine argument for more information.\n**kwargs\n Additional keyword arguments to pass as keywords arguments to\n `func`.\n\nReturns\n-------\nSeries or DataFrame\n Result of applying ``func`` along the given axis of the\n DataFrame.\n\nSee Also\n--------\nDataFrame.map: For elementwise operations.\nDataFrame.aggregate: Only perform aggregating type operations.\nDataFrame.transform: Only perform transforming type operations.\n\nNotes\n-----\nFunctions that mutate the passed object can produce unexpected\nbehavior or errors and are not supported. See :ref:`gotchas.udf-mutation`\nfor more details.\n\nExamples\n--------\n>>> df = pd.DataFrame([[4, 9]] * 3, columns=['A', 'B'])\n>>> df\n A B\n0 4 9\n1 4 9\n2 4 9\n\nUsing a numpy universal function (in this case the same as\n``np.sqrt(df)``):\n\n>>> df.apply(np.sqrt)\n A B\n0 2.0 3.0\n1 2.0 3.0\n2 2.0 3.0\n\nUsing a reducing function on either axis\n\n>>> df.apply(np.sum, axis=0)\nA 12\nB 27\ndtype: int64\n\n>>> df.apply(np.sum, axis=1)\n0 13\n1 13\n2 13\ndtype: int64\n\nReturning a list-like will result in a Series\n\n>>> df.apply(lambda x: [1, 2], axis=1)\n0 [1, 2]\n1 [1, 2]\n2 [1, 2]\ndtype: object\n\nPassing ``result_type='expand'`` will expand list-like results\nto columns of a Dataframe\n\n>>> df.apply(lambda x: [1, 2], axis=1, result_type='expand')\n 0 1\n0 1 2\n1 1 2\n2 1 2\n\nReturning a Series inside the function is similar to passing\n``result_type='expand'``. The resulting column names\nwill be the Series index.\n\n>>> df.apply(lambda x: pd.Series([1, 2], index=['foo', 'bar']), axis=1)\n foo bar\n0 1 2\n1 1 2\n2 1 2\n\nPassing ``result_type='broadcast'`` will ensure the same shape\nresult, whether list-like or scalar is returned by the function,\nand broadcast it along the axis. The resulting column names will\nbe the originals.\n\n>>> df.apply(lambda x: [1, 2], axis=1, result_type='broadcast')\n A B\n0 1 2\n1 1 2\n2 1 2\n"}, "kind": 2, "label": "apply", "sortText": " 10"}, {"detail": "bound method DataFrame.applymap(func: (Any, /) -> Any, na_action: Literal[\"ignore\"] | None = None, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Apply a function to a Dataframe elementwise.\n\n.. deprecated:: 2.1.0\n\n DataFrame.applymap has been deprecated. Use DataFrame.map instead.\n\nThis method applies a function that accepts and returns a scalar\nto every element of a DataFrame.\n\nParameters\n----------\nfunc : callable\n Python function, returns a single value from a single value.\nna_action : {None, 'ignore'}, default None\n If 'ignore', propagate NaN values, without passing them to func.\n**kwargs\n Additional keyword arguments to pass as keywords arguments to\n `func`.\n\nReturns\n-------\nDataFrame\n Transformed DataFrame.\n\nSee Also\n--------\nDataFrame.apply : Apply a function along input axis of DataFrame.\nDataFrame.map : Apply a function along input axis of DataFrame.\nDataFrame.replace: Replace values given in `to_replace` with `value`.\n\nExamples\n--------\n>>> df = pd.DataFrame([[1, 2.12], [3.356, 4.567]])\n>>> df\n 0 1\n0 1.000 2.120\n1 3.356 4.567\n\n>>> df.map(lambda x: len(str(x)))\n 0 1\n0 3 4\n1 5 5\n"}, "kind": 2, "label": "applymap", "sortText": " 11"}, {"detail": "bound method DataFrame.asfreq(freq: str | BaseOffset, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None = None, how: Literal[\"start\", \"end\"] | None = None, normalize: bool = False, fill_value: Hashable = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Convert time series to specified frequency.\n\nReturns the original data conformed to a new index with the specified\nfrequency.\n\nIf the index of this {klass} is a :class:`~pandas.PeriodIndex`, the new index\nis the result of transforming the original index with\n:meth:`PeriodIndex.asfreq ` (so the original index\nwill map one-to-one to the new index).\n\nOtherwise, the new index will be equivalent to ``pd.date_range(start, end,\nfreq=freq)`` where ``start`` and ``end`` are, respectively, the first and\nlast entries in the original index (see :func:`pandas.date_range`). The\nvalues corresponding to any timesteps in the new index which were not present\nin the original index will be null (``NaN``), unless a method for filling\nsuch unknowns is provided (see the ``method`` parameter below).\n\nThe :meth:`resample` method is more appropriate if an operation on each group of\ntimesteps (such as an aggregate) is necessary to represent the data at the new\nfrequency.\n\nParameters\n----------\nfreq : DateOffset or str\n Frequency DateOffset or string.\nmethod : {{'backfill'/'bfill', 'pad'/'ffill'}}, default None\n Method to use for filling holes in reindexed Series (note this\n does not fill NaNs that already were present):\n\n * 'pad' / 'ffill': propagate last valid observation forward to next\n valid\n * 'backfill' / 'bfill': use NEXT valid observation to fill.\nhow : {{'start', 'end'}}, default end\n For PeriodIndex only (see PeriodIndex.asfreq).\nnormalize : bool, default False\n Whether to reset output index to midnight.\nfill_value : scalar, optional\n Value to use for missing values, applied during upsampling (note\n this does not fill NaNs that already were present).\n\nReturns\n-------\n{klass}\n {klass} object reindexed to the specified frequency.\n\nSee Also\n--------\nreindex : Conform DataFrame to new index with optional filling logic.\n\nNotes\n-----\nTo learn more about the frequency strings, please see `this link\n`__.\n\nExamples\n--------\nStart by creating a series with 4 one minute timestamps.\n\n>>> index = pd.date_range('1/1/2000', periods=4, freq='min')\n>>> series = pd.Series([0.0, None, 2.0, 3.0], index=index)\n>>> df = pd.DataFrame({{'s': series}})\n>>> df\n s\n2000-01-01 00:00:00 0.0\n2000-01-01 00:01:00 NaN\n2000-01-01 00:02:00 2.0\n2000-01-01 00:03:00 3.0\n\nUpsample the series into 30 second bins.\n\n>>> df.asfreq(freq='30s')\n s\n2000-01-01 00:00:00 0.0\n2000-01-01 00:00:30 NaN\n2000-01-01 00:01:00 NaN\n2000-01-01 00:01:30 NaN\n2000-01-01 00:02:00 2.0\n2000-01-01 00:02:30 NaN\n2000-01-01 00:03:00 3.0\n\nUpsample again, providing a ``fill value``.\n\n>>> df.asfreq(freq='30s', fill_value=9.0)\n s\n2000-01-01 00:00:00 0.0\n2000-01-01 00:00:30 9.0\n2000-01-01 00:01:00 NaN\n2000-01-01 00:01:30 9.0\n2000-01-01 00:02:00 2.0\n2000-01-01 00:02:30 9.0\n2000-01-01 00:03:00 3.0\n\nUpsample again, providing a ``method``.\n\n>>> df.asfreq(freq='30s', method='bfill')\n s\n2000-01-01 00:00:00 0.0\n2000-01-01 00:00:30 NaN\n2000-01-01 00:01:00 NaN\n2000-01-01 00:01:30 2.0\n2000-01-01 00:02:00 2.0\n2000-01-01 00:02:30 3.0\n2000-01-01 00:03:00 3.0\n"}, "kind": 2, "label": "asfreq", "sortText": " 12"}, {"detail": "bound method DataFrame.asof(where, subset=None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Return the last row(s) without any NaNs before `where`.\n\nThe last row (for each element in `where`, if list) without any\nNaN is taken.\nIn case of a :class:`~pandas.DataFrame`, the last row without NaN\nconsidering only the subset of columns (if not `None`)\n\nIf there is no good value, NaN is returned for a Series or\na Series of NaN values for a DataFrame\n\nParameters\n----------\nwhere : date or array-like of dates\n Date(s) before which the last row(s) are returned.\nsubset : str or array-like of str, default `None`\n For DataFrame, if not `None`, only use these columns to\n check for NaNs.\n\nReturns\n-------\nscalar, Series, or DataFrame\n\n The return can be:\n\n * scalar : when `self` is a Series and `where` is a scalar\n * Series: when `self` is a Series and `where` is an array-like,\n or when `self` is a DataFrame and `where` is a scalar\n * DataFrame : when `self` is a DataFrame and `where` is an\n array-like\n\nSee Also\n--------\nmerge_asof : Perform an asof merge. Similar to left join.\n\nNotes\n-----\nDates are assumed to be sorted. Raises if this is not the case.\n\nExamples\n--------\nA Series and a scalar `where`.\n\n>>> s = pd.Series([1, 2, np.nan, 4], index=[10, 20, 30, 40])\n>>> s\n10 1.0\n20 2.0\n30 NaN\n40 4.0\ndtype: float64\n\n>>> s.asof(20)\n2.0\n\nFor a sequence `where`, a Series is returned. The first value is\nNaN, because the first element of `where` is before the first\nindex value.\n\n>>> s.asof([5, 20])\n5 NaN\n20 2.0\ndtype: float64\n\nMissing values are not considered. The following is ``2.0``, not\nNaN, even though NaN is at the index location for ``30``.\n\n>>> s.asof(30)\n2.0\n\nTake all columns into consideration\n\n>>> df = pd.DataFrame({'a': [10., 20., 30., 40., 50.],\n... 'b': [None, None, None, None, 500]},\n... index=pd.DatetimeIndex(['2018-02-27 09:01:00',\n... '2018-02-27 09:02:00',\n... '2018-02-27 09:03:00',\n... '2018-02-27 09:04:00',\n... '2018-02-27 09:05:00']))\n>>> df.asof(pd.DatetimeIndex(['2018-02-27 09:03:30',\n... '2018-02-27 09:04:30']))\n a b\n2018-02-27 09:03:30 NaN NaN\n2018-02-27 09:04:30 NaN NaN\n\nTake a single column into consideration\n\n>>> df.asof(pd.DatetimeIndex(['2018-02-27 09:03:30',\n... '2018-02-27 09:04:30']),\n... subset=['a'])\n a b\n2018-02-27 09:03:30 30.0 NaN\n2018-02-27 09:04:30 40.0 NaN\n"}, "kind": 2, "label": "asof", "sortText": " 13"}, {"detail": "bound method DataFrame.assign(**kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Assign new columns to a DataFrame.\n\nReturns a new object with all original columns in addition to new ones.\nExisting columns that are re-assigned will be overwritten.\n\nParameters\n----------\n**kwargs : dict of {str: callable or Series}\n The column names are keywords. If the values are\n callable, they are computed on the DataFrame and\n assigned to the new columns. The callable must not\n change input DataFrame (though pandas doesn't check it).\n If the values are not callable, (e.g. a Series, scalar, or array),\n they are simply assigned.\n\nReturns\n-------\nDataFrame\n A new DataFrame with the new columns in addition to\n all the existing columns.\n\nNotes\n-----\nAssigning multiple columns within the same ``assign`` is possible.\nLater items in '\\*\\*kwargs' may refer to newly created or modified\ncolumns in 'df'; items are computed and assigned into 'df' in order.\n\nExamples\n--------\n>>> df = pd.DataFrame({'temp_c': [17.0, 25.0]},\n... index=['Portland', 'Berkeley'])\n>>> df\n temp_c\nPortland 17.0\nBerkeley 25.0\n\nWhere the value is a callable, evaluated on `df`:\n\n>>> df.assign(temp_f=lambda x: x.temp_c * 9 / 5 + 32)\n temp_c temp_f\nPortland 17.0 62.6\nBerkeley 25.0 77.0\n\nAlternatively, the same behavior can be achieved by directly\nreferencing an existing Series or sequence:\n\n>>> df.assign(temp_f=df['temp_c'] * 9 / 5 + 32)\n temp_c temp_f\nPortland 17.0 62.6\nBerkeley 25.0 77.0\n\nYou can create multiple columns within the same assign where one\nof the columns depends on another one defined within the same assign:\n\n>>> df.assign(temp_f=lambda x: x['temp_c'] * 9 / 5 + 32,\n... temp_k=lambda x: (x['temp_f'] + 459.67) * 5 / 9)\n temp_c temp_f temp_k\nPortland 17.0 62.6 290.15\nBerkeley 25.0 77.0 298.15\n"}, "kind": 2, "label": "assign", "sortText": " 14"}, {"detail": "bound method DataFrame.astype(dtype, copy: bool | None = None, errors: Literal[\"ignore\", \"raise\"] = \"raise\") -> DataFrame", "documentation": {"kind": "plaintext", "value": "Cast a pandas object to a specified dtype ``dtype``.\n\nParameters\n----------\ndtype : str, data type, Series or Mapping of column name -> data type\n Use a str, numpy.dtype, pandas.ExtensionDtype or Python type to\n cast entire pandas object to the same type. Alternatively, use a\n mapping, e.g. {col: dtype, ...}, where col is a column label and dtype is\n a numpy.dtype or Python type to cast one or more of the DataFrame's\n columns to column-specific types.\ncopy : bool, default True\n Return a copy when ``copy=True`` (be very careful setting\n ``copy=False`` as changes to values then may propagate to other\n pandas objects).\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\nerrors : {'raise', 'ignore'}, default 'raise'\n Control raising of exceptions on invalid data for provided dtype.\n\n - ``raise`` : allow exceptions to be raised\n - ``ignore`` : suppress exceptions. On error return original object.\n\nReturns\n-------\nsame type as caller\n\nSee Also\n--------\nto_datetime : Convert argument to datetime.\nto_timedelta : Convert argument to timedelta.\nto_numeric : Convert argument to a numeric type.\nnumpy.ndarray.astype : Cast a numpy array to a specified type.\n\nNotes\n-----\n.. versionchanged:: 2.0.0\n\n Using ``astype`` to convert from timezone-naive dtype to\n timezone-aware dtype will raise an exception.\n Use :meth:`Series.dt.tz_localize` instead.\n\nExamples\n--------\nCreate a DataFrame:\n\n>>> d = {'col1': [1, 2], 'col2': [3, 4]}\n>>> df = pd.DataFrame(data=d)\n>>> df.dtypes\ncol1 int64\ncol2 int64\ndtype: object\n\nCast all columns to int32:\n\n>>> df.astype('int32').dtypes\ncol1 int32\ncol2 int32\ndtype: object\n\nCast col1 to int32 using a dictionary:\n\n>>> df.astype({'col1': 'int32'}).dtypes\ncol1 int32\ncol2 int64\ndtype: object\n\nCreate a series:\n\n>>> ser = pd.Series([1, 2], dtype='int32')\n>>> ser\n0 1\n1 2\ndtype: int32\n>>> ser.astype('int64')\n0 1\n1 2\ndtype: int64\n\nConvert to categorical type:\n\n>>> ser.astype('category')\n0 1\n1 2\ndtype: category\nCategories (2, int32): [1, 2]\n\nConvert to ordered categorical type with custom ordering:\n\n>>> from pandas.api.types import CategoricalDtype\n>>> cat_dtype = CategoricalDtype(\n... categories=[2, 1], ordered=True)\n>>> ser.astype(cat_dtype)\n0 1\n1 2\ndtype: category\nCategories (2, int64): [2 < 1]\n\nCreate a series of dates:\n\n>>> ser_date = pd.Series(pd.date_range('20200101', periods=3))\n>>> ser_date\n0 2020-01-01\n1 2020-01-02\n2 2020-01-03\ndtype: datetime64[ns]\n"}, "kind": 2, "label": "astype", "sortText": " 15"}, {"detail": "_AtIndexer", "kind": 22, "label": "at", "sortText": " 16"}, {"detail": "bound method DataFrame.at_time(time, asof: bool = False, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Select values at particular time of day (e.g., 9:30AM).\n\nParameters\n----------\ntime : datetime.time or str\n The values to select.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n For `Series` this parameter is unused and defaults to 0.\n\nReturns\n-------\nSeries or DataFrame\n\nRaises\n------\nTypeError\n If the index is not a :class:`DatetimeIndex`\n\nSee Also\n--------\nbetween_time : Select values between particular times of the day.\nfirst : Select initial periods of time series based on a date offset.\nlast : Select final periods of time series based on a date offset.\nDatetimeIndex.indexer_at_time : Get just the index locations for\n values at particular time of the day.\n\nExamples\n--------\n>>> i = pd.date_range('2018-04-09', periods=4, freq='12h')\n>>> ts = pd.DataFrame({'A': [1, 2, 3, 4]}, index=i)\n>>> ts\n A\n2018-04-09 00:00:00 1\n2018-04-09 12:00:00 2\n2018-04-10 00:00:00 3\n2018-04-10 12:00:00 4\n\n>>> ts.at_time('12:00')\n A\n2018-04-09 12:00:00 2\n2018-04-10 12:00:00 4\n"}, "kind": 2, "label": "at_time", "sortText": " 17"}, {"detail": "dict[Hashable, Any]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "attrs", "sortText": " 18"}, {"detail": "list[Index]", "documentation": {"kind": "plaintext", "value": "Built-in mutable sequence.\n\nIf no argument is given, the constructor creates a new empty list.\nThe argument must be an iterable if specified.\n"}, "kind": 22, "label": "axes", "sortText": " 19"}, {"detail": "bound method DataFrame.backfill(*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = None, inplace: bool = False, limit: None | int = None, downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame | None", "documentation": {"kind": "plaintext", "value": "Fill NA/NaN values by using the next valid observation to fill the gap.\n\n.. deprecated:: 2.0\n\n {klass}.backfill is deprecated. Use {klass}.bfill instead.\n\nReturns\n-------\n{klass} or None\n Object with missing values filled or None if ``inplace=True``.\n\nExamples\n--------\nPlease see examples for :meth:`DataFrame.bfill` or :meth:`Series.bfill`.\n"}, "kind": 2, "label": "backfill", "sortText": " 20"}, {"detail": "bound method DataFrame.between_time(start_time, end_time, inclusive: Literal[\"left\", \"right\", \"both\", \"neither\"] = \"both\", axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Select values between particular times of the day (e.g., 9:00-9:30 AM).\n\nBy setting ``start_time`` to be later than ``end_time``,\nyou can get the times that are *not* between the two times.\n\nParameters\n----------\nstart_time : datetime.time or str\n Initial time as a time filter limit.\nend_time : datetime.time or str\n End time as a time filter limit.\ninclusive : {\"both\", \"neither\", \"left\", \"right\"}, default \"both\"\n Include boundaries; whether to set each bound as closed or open.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Determine range time on index or columns value.\n For `Series` this parameter is unused and defaults to 0.\n\nReturns\n-------\nSeries or DataFrame\n Data from the original object filtered to the specified dates range.\n\nRaises\n------\nTypeError\n If the index is not a :class:`DatetimeIndex`\n\nSee Also\n--------\nat_time : Select values at a particular time of the day.\nfirst : Select initial periods of time series based on a date offset.\nlast : Select final periods of time series based on a date offset.\nDatetimeIndex.indexer_between_time : Get just the index locations for\n values between particular times of the day.\n\nExamples\n--------\n>>> i = pd.date_range('2018-04-09', periods=4, freq='1D20min')\n>>> ts = pd.DataFrame({'A': [1, 2, 3, 4]}, index=i)\n>>> ts\n A\n2018-04-09 00:00:00 1\n2018-04-10 00:20:00 2\n2018-04-11 00:40:00 3\n2018-04-12 01:00:00 4\n\n>>> ts.between_time('0:15', '0:45')\n A\n2018-04-10 00:20:00 2\n2018-04-11 00:40:00 3\n\nYou get the times that are *not* between two times by setting\n``start_time`` later than ``end_time``:\n\n>>> ts.between_time('0:45', '0:15')\n A\n2018-04-09 00:00:00 1\n2018-04-12 01:00:00 4\n"}, "kind": 2, "label": "between_time", "sortText": " 21"}, {"detail": "Overload[(*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: Literal[False] = ..., limit: None | int = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame, (*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: Literal[True], limit: None | int = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> None, (*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: bool = ..., limit: None | int = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Fill NA/NaN values by using the next valid observation to fill the gap.\n\nParameters\n----------\naxis : {axes_single_arg}\n Axis along which to fill missing values. For `Series`\n this parameter is unused and defaults to 0.\ninplace : bool, default False\n If True, fill in-place. Note: this will modify any\n other views on this object (e.g., a no-copy slice for a column in a\n DataFrame).\nlimit : int, default None\n If method is specified, this is the maximum number of consecutive\n NaN values to forward/backward fill. In other words, if there is\n a gap with more than this number of consecutive NaNs, it will only\n be partially filled. If method is not specified, this is the\n maximum number of entries along the entire axis where NaNs will be\n filled. Must be greater than 0 if not None.\nlimit_area : {{`None`, 'inside', 'outside'}}, default None\n If limit is specified, consecutive NaNs will be filled with this\n restriction.\n\n * ``None``: No fill restriction.\n * 'inside': Only fill NaNs surrounded by valid values\n (interpolate).\n * 'outside': Only fill NaNs outside valid values (extrapolate).\n\n .. versionadded:: 2.2.0\n\ndowncast : dict, default is None\n A dict of item->dtype of what to downcast if possible,\n or the string 'infer' which will try to downcast to an appropriate\n equal type (e.g. float64 to int64 if possible).\n\n .. deprecated:: 2.2.0\n\nReturns\n-------\n{klass} or None\n Object with missing values filled or None if ``inplace=True``.\n\nExamples\n--------\nFor Series:\n\n>>> s = pd.Series([1, None, None, 2])\n>>> s.bfill()\n0 1.0\n1 2.0\n2 2.0\n3 2.0\ndtype: float64\n>>> s.bfill(limit=1)\n0 1.0\n1 NaN\n2 2.0\n3 2.0\ndtype: float64\n\nWith DataFrame:\n\n>>> df = pd.DataFrame({{'A': [1, None, None, 4], 'B': [None, 5, None, 7]}})\n>>> df\n A B\n0 1.0 NaN\n1 NaN 5.0\n2 NaN NaN\n3 4.0 7.0\n>>> df.bfill()\n A B\n0 1.0 5.0\n1 4.0 5.0\n2 4.0 7.0\n3 4.0 7.0\n>>> df.bfill(limit=1)\n A B\n0 1.0 5.0\n1 NaN 5.0\n2 4.0 7.0\n3 4.0 7.0\n"}, "kind": 2, "label": "bfill", "sortText": " 22"}, {"detail": "bound method DataFrame.bool() -> bool", "documentation": {"kind": "plaintext", "value": "Return the bool of a single element Series or DataFrame.\n\n.. deprecated:: 2.1.0\n\n bool is deprecated and will be removed in future version of pandas.\n For ``Series`` use ``pandas.Series.item``.\n\nThis must be a boolean scalar value, either True or False. It will raise a\nValueError if the Series or DataFrame does not have exactly 1 element, or that\nelement is not boolean (integer values 0 and 1 will also raise an exception).\n\nReturns\n-------\nbool\n The value in the Series or DataFrame.\n\nSee Also\n--------\nSeries.astype : Change the data type of a Series, including to boolean.\nDataFrame.astype : Change the data type of a DataFrame, including to boolean.\nnumpy.bool_ : NumPy boolean data type, used by pandas for boolean values.\n\nExamples\n--------\nThe method will only work for single element objects with a boolean value:\n\n>>> pd.Series([True]).bool() # doctest: +SKIP\nTrue\n>>> pd.Series([False]).bool() # doctest: +SKIP\nFalse\n\n>>> pd.DataFrame({'col': [True]}).bool() # doctest: +SKIP\nTrue\n>>> pd.DataFrame({'col': [False]}).bool() # doctest: +SKIP\nFalse\n\nThis is an alternative method and will only work\nfor single element objects with a boolean value:\n\n>>> pd.Series([True]).item() # doctest: +SKIP\nTrue\n>>> pd.Series([False]).item() # doctest: +SKIP\nFalse\n"}, "kind": 2, "label": "bool", "sortText": " 23"}, {"detail": "(column=None, by=None, ax=None, fontsize: int | None = None, rot: int = 0, grid: bool = True, figsize: tuple[float, float] | None = None, layout=None, return_type=None, backend=None, **kwargs) -> Unknown", "kind": 3, "label": "boxplot", "sortText": " 24"}, {"detail": "Overload[(lower=..., upper=..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: Literal[False] = ..., **kwargs) -> DataFrame, (lower=..., upper=..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: Literal[True], **kwargs) -> None, (lower=..., upper=..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: bool = ..., **kwargs) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Trim values at input threshold(s).\n\nAssigns values outside boundary to boundary values. Thresholds\ncan be singular values or array like, and in the latter case\nthe clipping is performed element-wise in the specified axis.\n\nParameters\n----------\nlower : float or array-like, default None\n Minimum threshold value. All values below this\n threshold will be set to it. A missing\n threshold (e.g `NA`) will not clip the value.\nupper : float or array-like, default None\n Maximum threshold value. All values above this\n threshold will be set to it. A missing\n threshold (e.g `NA`) will not clip the value.\naxis : {{0 or 'index', 1 or 'columns', None}}, default None\n Align object with lower and upper along the given axis.\n For `Series` this parameter is unused and defaults to `None`.\ninplace : bool, default False\n Whether to perform the operation in place on the data.\n*args, **kwargs\n Additional keywords have no effect but might be accepted\n for compatibility with numpy.\n\nReturns\n-------\nSeries or DataFrame or None\n Same type as calling object with the values outside the\n clip boundaries replaced or None if ``inplace=True``.\n\nSee Also\n--------\nSeries.clip : Trim values at input threshold in series.\nDataFrame.clip : Trim values at input threshold in dataframe.\nnumpy.clip : Clip (limit) the values in an array.\n\nExamples\n--------\n>>> data = {'col_0': [9, -3, 0, -1, 5], 'col_1': [-2, -7, 6, 8, -5]}\n>>> df = pd.DataFrame(data)\n>>> df\n col_0 col_1\n0 9 -2\n1 -3 -7\n2 0 6\n3 -1 8\n4 5 -5\n\nClips per column using lower and upper thresholds:\n\n>>> df.clip(-4, 6)\n col_0 col_1\n0 6 -2\n1 -3 -4\n2 0 6\n3 -1 6\n4 5 -4\n\nClips using specific lower and upper thresholds per column:\n\n>>> df.clip([-2, -1], [4, 5])\n col_0 col_1\n0 4 -1\n1 -2 -1\n2 0 5\n3 -1 5\n4 4 -1\n\nClips using specific lower and upper thresholds per column element:\n\n>>> t = pd.Series([2, -4, -1, 6, 3])\n>>> t\n0 2\n1 -4\n2 -1\n3 6\n4 3\ndtype: int64\n\n>>> df.clip(t, t + 4, axis=0)\n col_0 col_1\n0 6 2\n1 -3 -4\n2 0 3\n3 6 8\n4 5 3\n\nClips using specific lower threshold per column element, with missing values:\n\n>>> t = pd.Series([2, -4, np.nan, 6, 3])\n>>> t\n0 2.0\n1 -4.0\n2 NaN\n3 6.0\n4 3.0\ndtype: float64\n\n>>> df.clip(t, axis=0)\ncol_0 col_1\n0 9 2\n1 -3 -4\n2 0 6\n3 6 8\n4 5 3\n"}, "kind": 2, "label": "clip", "sortText": " 25"}, {"detail": "Index", "documentation": {"kind": "plaintext", "value": "Immutable sequence used for indexing and alignment.\n\nThe basic object storing axis labels for all pandas objects.\n\n.. versionchanged:: 2.0.0\n\n Index can hold all numpy numeric dtypes (except float16). Previously only\n int64/uint64/float64 dtypes were accepted.\n\nParameters\n----------\ndata : array-like (1-dimensional)\ndtype : str, numpy.dtype, or ExtensionDtype, optional\n Data type for the output Index. If not specified, this will be\n inferred from `data`.\n See the :ref:`user guide ` for more usages.\ncopy : bool, default False\n Copy input data.\nname : object\n Name to be stored in the index.\ntupleize_cols : bool (default: True)\n When True, attempt to create a MultiIndex if possible.\n\nSee Also\n--------\nRangeIndex : Index implementing a monotonic integer range.\nCategoricalIndex : Index of :class:`Categorical` s.\nMultiIndex : A multi-level, or hierarchical Index.\nIntervalIndex : An Index of :class:`Interval` s.\nDatetimeIndex : Index of datetime64 data.\nTimedeltaIndex : Index of timedelta64 data.\nPeriodIndex : Index of Period data.\n\nNotes\n-----\nAn Index instance can **only** contain hashable objects.\nAn Index instance *can not* hold numpy float16 dtype.\n\nExamples\n--------\n>>> pd.Index([1, 2, 3])\nIndex([1, 2, 3], dtype='int64')\n\n>>> pd.Index(list('abc'))\nIndex(['a', 'b', 'c'], dtype='object')\n\n>>> pd.Index([1, 2, 3], dtype=\"uint8\")\nIndex([1, 2, 3], dtype='uint8')\n"}, "kind": 22, "label": "columns", "sortText": " 26"}, {"detail": "bound method DataFrame.combine(other: DataFrame, func: (Series, Series, /) -> Series | Hashable, fill_value=None, overwrite: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Perform column-wise combine with another DataFrame.\n\nCombines a DataFrame with `other` DataFrame using `func`\nto element-wise combine columns. The row and column indexes of the\nresulting DataFrame will be the union of the two.\n\nParameters\n----------\nother : DataFrame\n The DataFrame to merge column-wise.\nfunc : function\n Function that takes two series as inputs and return a Series or a\n scalar. Used to merge the two dataframes column by columns.\nfill_value : scalar value, default None\n The value to fill NaNs with prior to passing any column to the\n merge func.\noverwrite : bool, default True\n If True, columns in `self` that do not exist in `other` will be\n overwritten with NaNs.\n\nReturns\n-------\nDataFrame\n Combination of the provided DataFrames.\n\nSee Also\n--------\nDataFrame.combine_first : Combine two DataFrame objects and default to\n non-null values in frame calling the method.\n\nExamples\n--------\nCombine using a simple function that chooses the smaller column.\n\n>>> df1 = pd.DataFrame({'A': [0, 0], 'B': [4, 4]})\n>>> df2 = pd.DataFrame({'A': [1, 1], 'B': [3, 3]})\n>>> take_smaller = lambda s1, s2: s1 if s1.sum() < s2.sum() else s2\n>>> df1.combine(df2, take_smaller)\n A B\n0 0 3\n1 0 3\n\nExample using a true element-wise combine function.\n\n>>> df1 = pd.DataFrame({'A': [5, 0], 'B': [2, 4]})\n>>> df2 = pd.DataFrame({'A': [1, 1], 'B': [3, 3]})\n>>> df1.combine(df2, np.minimum)\n A B\n0 1 2\n1 0 3\n\nUsing `fill_value` fills Nones prior to passing the column to the\nmerge function.\n\n>>> df1 = pd.DataFrame({'A': [0, 0], 'B': [None, 4]})\n>>> df2 = pd.DataFrame({'A': [1, 1], 'B': [3, 3]})\n>>> df1.combine(df2, take_smaller, fill_value=-5)\n A B\n0 0 -5.0\n1 0 4.0\n\nHowever, if the same element in both dataframes is None, that None\nis preserved\n\n>>> df1 = pd.DataFrame({'A': [0, 0], 'B': [None, 4]})\n>>> df2 = pd.DataFrame({'A': [1, 1], 'B': [None, 3]})\n>>> df1.combine(df2, take_smaller, fill_value=-5)\n A B\n0 0 -5.0\n1 0 3.0\n\nExample that demonstrates the use of `overwrite` and behavior when\nthe axis differ between the dataframes.\n\n>>> df1 = pd.DataFrame({'A': [0, 0], 'B': [4, 4]})\n>>> df2 = pd.DataFrame({'B': [3, 3], 'C': [-10, 1], }, index=[1, 2])\n>>> df1.combine(df2, take_smaller)\n A B C\n0 NaN NaN NaN\n1 NaN 3.0 -10.0\n2 NaN 3.0 1.0\n\n>>> df1.combine(df2, take_smaller, overwrite=False)\n A B C\n0 0.0 NaN NaN\n1 0.0 3.0 -10.0\n2 NaN 3.0 1.0\n\nDemonstrating the preference of the passed in dataframe.\n\n>>> df2 = pd.DataFrame({'B': [3, 3], 'C': [1, 1], }, index=[1, 2])\n>>> df2.combine(df1, take_smaller)\n A B C\n0 0.0 NaN NaN\n1 0.0 3.0 NaN\n2 NaN 3.0 NaN\n\n>>> df2.combine(df1, take_smaller, overwrite=False)\n A B C\n0 0.0 NaN NaN\n1 0.0 3.0 1.0\n2 NaN 3.0 1.0\n"}, "kind": 2, "label": "combine", "sortText": " 27"}, {"detail": "bound method DataFrame.combine_first(other: DataFrame) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Update null elements with value in the same location in `other`.\n\nCombine two DataFrame objects by filling null values in one DataFrame\nwith non-null values from other DataFrame. The row and column indexes\nof the resulting DataFrame will be the union of the two. The resulting\ndataframe contains the 'first' dataframe values and overrides the\nsecond one values where both first.loc[index, col] and\nsecond.loc[index, col] are not missing values, upon calling\nfirst.combine_first(second).\n\nParameters\n----------\nother : DataFrame\n Provided DataFrame to use to fill null values.\n\nReturns\n-------\nDataFrame\n The result of combining the provided DataFrame with the other object.\n\nSee Also\n--------\nDataFrame.combine : Perform series-wise operation on two DataFrames\n using a given function.\n\nExamples\n--------\n>>> df1 = pd.DataFrame({'A': [None, 0], 'B': [None, 4]})\n>>> df2 = pd.DataFrame({'A': [1, 1], 'B': [3, 3]})\n>>> df1.combine_first(df2)\n A B\n0 1.0 3.0\n1 0.0 4.0\n\nNull values still persist if the location of that null value\ndoes not exist in `other`\n\n>>> df1 = pd.DataFrame({'A': [None, 0], 'B': [4, None]})\n>>> df2 = pd.DataFrame({'B': [3, 3], 'C': [1, 1]}, index=[1, 2])\n>>> df1.combine_first(df2)\n A B C\n0 NaN 4.0 NaN\n1 0.0 3.0 1.0\n2 NaN 3.0 1.0\n"}, "kind": 2, "label": "combine_first", "sortText": " 28"}, {"detail": "bound method DataFrame.compare(other: DataFrame, align_axis: int | Literal[\"index\", \"columns\", \"rows\"] = 1, keep_shape: bool = False, keep_equal: bool = False, result_names: tuple[str | None, str | None] = ...) -> DataFrame", "kind": 2, "label": "compare", "sortText": " 29"}, {"detail": "bound method DataFrame.convert_dtypes(infer_objects: bool = True, convert_string: bool = True, convert_integer: bool = True, convert_boolean: bool = True, convert_floating: bool = True, dtype_backend: Literal[\"pyarrow\", \"numpy_nullable\"] = \"numpy_nullable\") -> DataFrame", "documentation": {"kind": "plaintext", "value": "Convert columns to the best possible dtypes using dtypes supporting ``pd.NA``.\n\nParameters\n----------\ninfer_objects : bool, default True\n Whether object dtypes should be converted to the best possible types.\nconvert_string : bool, default True\n Whether object dtypes should be converted to ``StringDtype()``.\nconvert_integer : bool, default True\n Whether, if possible, conversion can be done to integer extension types.\nconvert_boolean : bool, defaults True\n Whether object dtypes should be converted to ``BooleanDtypes()``.\nconvert_floating : bool, defaults True\n Whether, if possible, conversion can be done to floating extension types.\n If `convert_integer` is also True, preference will be give to integer\n dtypes if the floats can be faithfully casted to integers.\ndtype_backend : {'numpy_nullable', 'pyarrow'}, default 'numpy_nullable'\n Back-end data type applied to the resultant :class:`DataFrame`\n (still experimental). Behaviour is as follows:\n\n * ``\"numpy_nullable\"``: returns nullable-dtype-backed :class:`DataFrame`\n (default).\n * ``\"pyarrow\"``: returns pyarrow-backed nullable :class:`ArrowDtype`\n DataFrame.\n\n .. versionadded:: 2.0\n\nReturns\n-------\nSeries or DataFrame\n Copy of input object with new dtype.\n\nSee Also\n--------\ninfer_objects : Infer dtypes of objects.\nto_datetime : Convert argument to datetime.\nto_timedelta : Convert argument to timedelta.\nto_numeric : Convert argument to a numeric type.\n\nNotes\n-----\nBy default, ``convert_dtypes`` will attempt to convert a Series (or each\nSeries in a DataFrame) to dtypes that support ``pd.NA``. By using the options\n``convert_string``, ``convert_integer``, ``convert_boolean`` and\n``convert_floating``, it is possible to turn off individual conversions\nto ``StringDtype``, the integer extension types, ``BooleanDtype``\nor floating extension types, respectively.\n\nFor object-dtyped columns, if ``infer_objects`` is ``True``, use the inference\nrules as during normal Series/DataFrame construction. Then, if possible,\nconvert to ``StringDtype``, ``BooleanDtype`` or an appropriate integer\nor floating extension type, otherwise leave as ``object``.\n\nIf the dtype is integer, convert to an appropriate integer extension type.\n\nIf the dtype is numeric, and consists of all integers, convert to an\nappropriate integer extension type. Otherwise, convert to an\nappropriate floating extension type.\n\nIn the future, as new dtypes are added that support ``pd.NA``, the results\nof this method will change to support those new dtypes.\n\nExamples\n--------\n>>> df = pd.DataFrame(\n... {\n... \"a\": pd.Series([1, 2, 3], dtype=np.dtype(\"int32\")),\n... \"b\": pd.Series([\"x\", \"y\", \"z\"], dtype=np.dtype(\"O\")),\n... \"c\": pd.Series([True, False, np.nan], dtype=np.dtype(\"O\")),\n... \"d\": pd.Series([\"h\", \"i\", np.nan], dtype=np.dtype(\"O\")),\n... \"e\": pd.Series([10, np.nan, 20], dtype=np.dtype(\"float\")),\n... \"f\": pd.Series([np.nan, 100.5, 200], dtype=np.dtype(\"float\")),\n... }\n... )\n\nStart with a DataFrame with default dtypes.\n\n>>> df\n a b c d e f\n0 1 x True h 10.0 NaN\n1 2 y False i NaN 100.5\n2 3 z NaN NaN 20.0 200.0\n\n>>> df.dtypes\na int32\nb object\nc object\nd object\ne float64\nf float64\ndtype: object\n\nConvert the DataFrame to use best possible dtypes.\n\n>>> dfn = df.convert_dtypes()\n>>> dfn\n a b c d e f\n0 1 x True h 10 \n1 2 y False i 100.5\n2 3 z 20 200.0\n\n>>> dfn.dtypes\na Int32\nb string[python]\nc boolean\nd string[python]\ne Int64\nf Float64\ndtype: object\n\nStart with a Series of strings and missing data represented by ``np.nan``.\n\n>>> s = pd.Series([\"a\", \"b\", np.nan])\n>>> s\n0 a\n1 b\n2 NaN\ndtype: object\n\nObtain a Series with dtype ``StringDtype``.\n\n>>> s.convert_dtypes()\n0 a\n1 b\n2 \ndtype: string\n"}, "kind": 2, "label": "convert_dtypes", "sortText": " 30"}, {"detail": "bound method DataFrame.copy(deep: bool | None = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Make a copy of this object's indices and data.\n\nWhen ``deep=True`` (default), a new object will be created with a\ncopy of the calling object's data and indices. Modifications to\nthe data or indices of the copy will not be reflected in the\noriginal object (see notes below).\n\nWhen ``deep=False``, a new object will be created without copying\nthe calling object's data or index (only references to the data\nand index are copied). Any changes to the data of the original\nwill be reflected in the shallow copy (and vice versa).\n\n.. note::\n The ``deep=False`` behaviour as described above will change\n in pandas 3.0. `Copy-on-Write\n `__\n will be enabled by default, which means that the \"shallow\" copy\n is that is returned with ``deep=False`` will still avoid making\n an eager copy, but changes to the data of the original will *no*\n longer be reflected in the shallow copy (or vice versa). Instead,\n it makes use of a lazy (deferred) copy mechanism that will copy\n the data only when any changes to the original or shallow copy is\n made.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nParameters\n----------\ndeep : bool, default True\n Make a deep copy, including a copy of the data and the indices.\n With ``deep=False`` neither the indices nor the data are copied.\n\nReturns\n-------\nSeries or DataFrame\n Object type matches caller.\n\nNotes\n-----\nWhen ``deep=True``, data is copied but actual Python objects\nwill not be copied recursively, only the reference to the object.\nThis is in contrast to `copy.deepcopy` in the Standard Library,\nwhich recursively copies object data (see examples below).\n\nWhile ``Index`` objects are copied when ``deep=True``, the underlying\nnumpy array is not copied for performance reasons. Since ``Index`` is\nimmutable, the underlying data can be safely shared and a copy\nis not needed.\n\nSince pandas is not thread safe, see the\n:ref:`gotchas ` when copying in a threading\nenvironment.\n\nWhen ``copy_on_write`` in pandas config is set to ``True``, the\n``copy_on_write`` config takes effect even when ``deep=False``.\nThis means that any changes to the copied data would make a new copy\nof the data upon write (and vice versa). Changes made to either the\noriginal or copied variable would not be reflected in the counterpart.\nSee :ref:`Copy_on_Write ` for more information.\n\nExamples\n--------\n>>> s = pd.Series([1, 2], index=[\"a\", \"b\"])\n>>> s\na 1\nb 2\ndtype: int64\n\n>>> s_copy = s.copy()\n>>> s_copy\na 1\nb 2\ndtype: int64\n\n**Shallow copy versus default (deep) copy:**\n\n>>> s = pd.Series([1, 2], index=[\"a\", \"b\"])\n>>> deep = s.copy()\n>>> shallow = s.copy(deep=False)\n\nShallow copy shares data and index with original.\n\n>>> s is shallow\nFalse\n>>> s.values is shallow.values and s.index is shallow.index\nTrue\n\nDeep copy has own copy of data and index.\n\n>>> s is deep\nFalse\n>>> s.values is deep.values or s.index is deep.index\nFalse\n\nUpdates to the data shared by shallow copy and original is reflected\nin both (NOTE: this will no longer be true for pandas >= 3.0);\ndeep copy remains unchanged.\n\n>>> s.iloc[0] = 3\n>>> shallow.iloc[1] = 4\n>>> s\na 3\nb 4\ndtype: int64\n>>> shallow\na 3\nb 4\ndtype: int64\n>>> deep\na 1\nb 2\ndtype: int64\n\nNote that when copying an object containing Python objects, a deep copy\nwill copy the data, but will not do so recursively. Updating a nested\ndata object will be reflected in the deep copy.\n\n>>> s = pd.Series([[1, 2], [3, 4]])\n>>> deep = s.copy()\n>>> s[0][0] = 10\n>>> s\n0 [10, 2]\n1 [3, 4]\ndtype: object\n>>> deep\n0 [10, 2]\n1 [3, 4]\ndtype: object\n\n**Copy-on-Write is set to true**, the shallow copy is not modified\nwhen the original data is changed:\n\n>>> with pd.option_context(\"mode.copy_on_write\", True):\n... s = pd.Series([1, 2], index=[\"a\", \"b\"])\n... copy = s.copy(deep=False)\n... s.iloc[0] = 100\n... s\na 100\nb 2\ndtype: int64\n>>> copy\na 1\nb 2\ndtype: int64\n"}, "kind": 2, "label": "copy", "sortText": " 31"}, {"detail": "bound method DataFrame.corr(method: Literal[\"pearson\", \"kendall\", \"spearman\"] | ((ndarray[_AnyShape, dtype[Any]], ndarray[_AnyShape, dtype[Any]], /) -> float) = \"pearson\", min_periods: int = 1, numeric_only: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Compute pairwise correlation of columns, excluding NA/null values.\n\nParameters\n----------\nmethod : {'pearson', 'kendall', 'spearman'} or callable\n Method of correlation:\n\n * pearson : standard correlation coefficient\n * kendall : Kendall Tau correlation coefficient\n * spearman : Spearman rank correlation\n * callable: callable with input two 1d ndarrays\n and returning a float. Note that the returned matrix from corr\n will have 1 along the diagonals and will be symmetric\n regardless of the callable's behavior.\nmin_periods : int, optional\n Minimum number of observations required per pair of columns\n to have a valid result. Currently only available for Pearson\n and Spearman correlation.\nnumeric_only : bool, default False\n Include only `float`, `int` or `boolean` data.\n\n .. versionadded:: 1.5.0\n\n .. versionchanged:: 2.0.0\n The default value of ``numeric_only`` is now ``False``.\n\nReturns\n-------\nDataFrame\n Correlation matrix.\n\nSee Also\n--------\nDataFrame.corrwith : Compute pairwise correlation with another\n DataFrame or Series.\nSeries.corr : Compute the correlation between two Series.\n\nNotes\n-----\nPearson, Kendall and Spearman correlation are currently computed using pairwise complete observations.\n\n* `Pearson correlation coefficient `_\n* `Kendall rank correlation coefficient `_\n* `Spearman's rank correlation coefficient `_\n\nExamples\n--------\n>>> def histogram_intersection(a, b):\n... v = np.minimum(a, b).sum().round(decimals=1)\n... return v\n>>> df = pd.DataFrame([(.2, .3), (.0, .6), (.6, .0), (.2, .1)],\n... columns=['dogs', 'cats'])\n>>> df.corr(method=histogram_intersection)\n dogs cats\ndogs 1.0 0.3\ncats 0.3 1.0\n\n>>> df = pd.DataFrame([(1, 1), (2, np.nan), (np.nan, 3), (4, 4)],\n... columns=['dogs', 'cats'])\n>>> df.corr(min_periods=3)\n dogs cats\ndogs 1.0 NaN\ncats NaN 1.0\n"}, "kind": 2, "label": "corr", "sortText": " 32"}, {"detail": "bound method DataFrame.corrwith(other: DataFrame | Series, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, drop: bool = False, method: Literal[\"pearson\", \"kendall\", \"spearman\"] | ((ndarray[_AnyShape, dtype[Any]], ndarray[_AnyShape, dtype[Any]], /) -> float) = \"pearson\", numeric_only: bool = False) -> Series", "documentation": {"kind": "plaintext", "value": "Compute pairwise correlation.\n\nPairwise correlation is computed between rows or columns of\nDataFrame with rows or columns of Series or DataFrame. DataFrames\nare first aligned along both axes before computing the\ncorrelations.\n\nParameters\n----------\nother : DataFrame, Series\n Object with which to compute correlations.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to use. 0 or 'index' to compute row-wise, 1 or 'columns' for\n column-wise.\ndrop : bool, default False\n Drop missing indices from result.\nmethod : {'pearson', 'kendall', 'spearman'} or callable\n Method of correlation:\n\n * pearson : standard correlation coefficient\n * kendall : Kendall Tau correlation coefficient\n * spearman : Spearman rank correlation\n * callable: callable with input two 1d ndarrays\n and returning a float.\n\nnumeric_only : bool, default False\n Include only `float`, `int` or `boolean` data.\n\n .. versionadded:: 1.5.0\n\n .. versionchanged:: 2.0.0\n The default value of ``numeric_only`` is now ``False``.\n\nReturns\n-------\nSeries\n Pairwise correlations.\n\nSee Also\n--------\nDataFrame.corr : Compute pairwise correlation of columns.\n\nExamples\n--------\n>>> index = [\"a\", \"b\", \"c\", \"d\", \"e\"]\n>>> columns = [\"one\", \"two\", \"three\", \"four\"]\n>>> df1 = pd.DataFrame(np.arange(20).reshape(5, 4), index=index, columns=columns)\n>>> df2 = pd.DataFrame(np.arange(16).reshape(4, 4), index=index[:4], columns=columns)\n>>> df1.corrwith(df2)\none 1.0\ntwo 1.0\nthree 1.0\nfour 1.0\ndtype: float64\n\n>>> df2.corrwith(df1, axis=1)\na 1.0\nb 1.0\nc 1.0\nd 1.0\ne NaN\ndtype: float64\n"}, "kind": 2, "label": "corrwith", "sortText": " 33"}, {"detail": "bound method DataFrame.count(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, numeric_only: bool = False) -> Unknown", "documentation": {"kind": "plaintext", "value": "Count non-NA cells for each column or row.\n\nThe values `None`, `NaN`, `NaT`, ``pandas.NA`` are considered NA.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n If 0 or 'index' counts are generated for each column.\n If 1 or 'columns' counts are generated for each row.\nnumeric_only : bool, default False\n Include only `float`, `int` or `boolean` data.\n\nReturns\n-------\nSeries\n For each column/row the number of non-NA/null entries.\n\nSee Also\n--------\nSeries.count: Number of non-NA elements in a Series.\nDataFrame.value_counts: Count unique combinations of columns.\nDataFrame.shape: Number of DataFrame rows and columns (including NA\n elements).\nDataFrame.isna: Boolean same-sized DataFrame showing places of NA\n elements.\n\nExamples\n--------\nConstructing DataFrame from a dictionary:\n\n>>> df = pd.DataFrame({\"Person\":\n... [\"John\", \"Myla\", \"Lewis\", \"John\", \"Myla\"],\n... \"Age\": [24., np.nan, 21., 33, 26],\n... \"Single\": [False, True, True, True, False]})\n>>> df\n Person Age Single\n0 John 24.0 False\n1 Myla NaN True\n2 Lewis 21.0 True\n3 John 33.0 True\n4 Myla 26.0 False\n\nNotice the uncounted NA values:\n\n>>> df.count()\nPerson 5\nAge 4\nSingle 5\ndtype: int64\n\nCounts for each **row**:\n\n>>> df.count(axis='columns')\n0 3\n1 2\n2 3\n3 3\n4 3\ndtype: int64\n"}, "kind": 2, "label": "count", "sortText": " 34"}, {"detail": "bound method DataFrame.cov(min_periods: int | None = None, ddof: int | None = 1, numeric_only: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Compute pairwise covariance of columns, excluding NA/null values.\n\nCompute the pairwise covariance among the series of a DataFrame.\nThe returned data frame is the `covariance matrix\n`__ of the columns\nof the DataFrame.\n\nBoth NA and null values are automatically excluded from the\ncalculation. (See the note below about bias from missing values.)\nA threshold can be set for the minimum number of\nobservations for each value created. Comparisons with observations\nbelow this threshold will be returned as ``NaN``.\n\nThis method is generally used for the analysis of time series data to\nunderstand the relationship between different measures\nacross time.\n\nParameters\n----------\nmin_periods : int, optional\n Minimum number of observations required per pair of columns\n to have a valid result.\n\nddof : int, default 1\n Delta degrees of freedom. The divisor used in calculations\n is ``N - ddof``, where ``N`` represents the number of elements.\n This argument is applicable only when no ``nan`` is in the dataframe.\n\nnumeric_only : bool, default False\n Include only `float`, `int` or `boolean` data.\n\n .. versionadded:: 1.5.0\n\n .. versionchanged:: 2.0.0\n The default value of ``numeric_only`` is now ``False``.\n\nReturns\n-------\nDataFrame\n The covariance matrix of the series of the DataFrame.\n\nSee Also\n--------\nSeries.cov : Compute covariance with another Series.\ncore.window.ewm.ExponentialMovingWindow.cov : Exponential weighted sample\n covariance.\ncore.window.expanding.Expanding.cov : Expanding sample covariance.\ncore.window.rolling.Rolling.cov : Rolling sample covariance.\n\nNotes\n-----\nReturns the covariance matrix of the DataFrame's time series.\nThe covariance is normalized by N-ddof.\n\nFor DataFrames that have Series that are missing data (assuming that\ndata is `missing at random\n`__)\nthe returned covariance matrix will be an unbiased estimate\nof the variance and covariance between the member Series.\n\nHowever, for many applications this estimate may not be acceptable\nbecause the estimate covariance matrix is not guaranteed to be positive\nsemi-definite. This could lead to estimate correlations having\nabsolute values which are greater than one, and/or a non-invertible\ncovariance matrix. See `Estimation of covariance matrices\n`__ for more details.\n\nExamples\n--------\n>>> df = pd.DataFrame([(1, 2), (0, 3), (2, 0), (1, 1)],\n... columns=['dogs', 'cats'])\n>>> df.cov()\n dogs cats\ndogs 0.666667 -1.000000\ncats -1.000000 1.666667\n\n>>> np.random.seed(42)\n>>> df = pd.DataFrame(np.random.randn(1000, 5),\n... columns=['a', 'b', 'c', 'd', 'e'])\n>>> df.cov()\n a b c d e\na 0.998438 -0.020161 0.059277 -0.008943 0.014144\nb -0.020161 1.059352 -0.008543 -0.024738 0.009826\nc 0.059277 -0.008543 1.010670 -0.001486 -0.000271\nd -0.008943 -0.024738 -0.001486 0.921297 -0.013692\ne 0.014144 0.009826 -0.000271 -0.013692 0.977795\n\n**Minimum number of periods**\n\nThis method also supports an optional ``min_periods`` keyword\nthat specifies the required minimum number of non-NA observations for\neach column pair in order to have a valid result:\n\n>>> np.random.seed(42)\n>>> df = pd.DataFrame(np.random.randn(20, 3),\n... columns=['a', 'b', 'c'])\n>>> df.loc[df.index[:5], 'a'] = np.nan\n>>> df.loc[df.index[5:10], 'b'] = np.nan\n>>> df.cov(min_periods=12)\n a b c\na 0.316741 NaN -0.150812\nb NaN 1.248003 0.191417\nc -0.150812 0.191417 0.895202\n"}, "kind": 2, "label": "cov", "sortText": " 35"}, {"detail": "bound method DataFrame.cummax(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, skipna: bool = True, *args, **kwargs) -> Unknown", "kind": 2, "label": "cummax", "sortText": " 36"}, {"detail": "bound method DataFrame.cummin(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, skipna: bool = True, *args, **kwargs) -> Unknown", "kind": 2, "label": "cummin", "sortText": " 37"}, {"detail": "bound method DataFrame.cumprod(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, skipna: bool = True, *args, **kwargs) -> Unknown", "kind": 2, "label": "cumprod", "sortText": " 38"}, {"detail": "bound method DataFrame.cumsum(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, skipna: bool = True, *args, **kwargs) -> Unknown", "kind": 2, "label": "cumsum", "sortText": " 39"}, {"detail": "bound method DataFrame.describe(percentiles=None, include=None, exclude=None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Generate descriptive statistics.\n\nDescriptive statistics include those that summarize the central\ntendency, dispersion and shape of a\ndataset's distribution, excluding ``NaN`` values.\n\nAnalyzes both numeric and object series, as well\nas ``DataFrame`` column sets of mixed data types. The output\nwill vary depending on what is provided. Refer to the notes\nbelow for more detail.\n\nParameters\n----------\npercentiles : list-like of numbers, optional\n The percentiles to include in the output. All should\n fall between 0 and 1. The default is\n ``[.25, .5, .75]``, which returns the 25th, 50th, and\n 75th percentiles.\ninclude : 'all', list-like of dtypes or None (default), optional\n A white list of data types to include in the result. Ignored\n for ``Series``. Here are the options:\n\n - 'all' : All columns of the input will be included in the output.\n - A list-like of dtypes : Limits the results to the\n provided data types.\n To limit the result to numeric types submit\n ``numpy.number``. To limit it instead to object columns submit\n the ``numpy.object`` data type. Strings\n can also be used in the style of\n ``select_dtypes`` (e.g. ``df.describe(include=['O'])``). To\n select pandas categorical columns, use ``'category'``\n - None (default) : The result will include all numeric columns.\nexclude : list-like of dtypes or None (default), optional,\n A black list of data types to omit from the result. Ignored\n for ``Series``. Here are the options:\n\n - A list-like of dtypes : Excludes the provided data types\n from the result. To exclude numeric types submit\n ``numpy.number``. To exclude object columns submit the data\n type ``numpy.object``. Strings can also be used in the style of\n ``select_dtypes`` (e.g. ``df.describe(exclude=['O'])``). To\n exclude pandas categorical columns, use ``'category'``\n - None (default) : The result will exclude nothing.\n\nReturns\n-------\nSeries or DataFrame\n Summary statistics of the Series or Dataframe provided.\n\nSee Also\n--------\nDataFrame.count: Count number of non-NA/null observations.\nDataFrame.max: Maximum of the values in the object.\nDataFrame.min: Minimum of the values in the object.\nDataFrame.mean: Mean of the values.\nDataFrame.std: Standard deviation of the observations.\nDataFrame.select_dtypes: Subset of a DataFrame including/excluding\n columns based on their dtype.\n\nNotes\n-----\nFor numeric data, the result's index will include ``count``,\n``mean``, ``std``, ``min``, ``max`` as well as lower, ``50`` and\nupper percentiles. By default the lower percentile is ``25`` and the\nupper percentile is ``75``. The ``50`` percentile is the\nsame as the median.\n\nFor object data (e.g. strings or timestamps), the result's index\nwill include ``count``, ``unique``, ``top``, and ``freq``. The ``top``\nis the most common value. The ``freq`` is the most common value's\nfrequency. Timestamps also include the ``first`` and ``last`` items.\n\nIf multiple object values have the highest count, then the\n``count`` and ``top`` results will be arbitrarily chosen from\namong those with the highest count.\n\nFor mixed data types provided via a ``DataFrame``, the default is to\nreturn only an analysis of numeric columns. If the dataframe consists\nonly of object and categorical data without any numeric columns, the\ndefault is to return an analysis of both the object and categorical\ncolumns. If ``include='all'`` is provided as an option, the result\nwill include a union of attributes of each type.\n\nThe `include` and `exclude` parameters can be used to limit\nwhich columns in a ``DataFrame`` are analyzed for the output.\nThe parameters are ignored when analyzing a ``Series``.\n\nExamples\n--------\nDescribing a numeric ``Series``.\n\n>>> s = pd.Series([1, 2, 3])\n>>> s.describe()\ncount 3.0\nmean 2.0\nstd 1.0\nmin 1.0\n25% 1.5\n50% 2.0\n75% 2.5\nmax 3.0\ndtype: float64\n\nDescribing a categorical ``Series``.\n\n>>> s = pd.Series(['a', 'a', 'b', 'c'])\n>>> s.describe()\ncount 4\nunique 3\ntop a\nfreq 2\ndtype: object\n\nDescribing a timestamp ``Series``.\n\n>>> s = pd.Series([\n... np.datetime64(\"2000-01-01\"),\n... np.datetime64(\"2010-01-01\"),\n... np.datetime64(\"2010-01-01\")\n... ])\n>>> s.describe()\ncount 3\nmean 2006-09-01 08:00:00\nmin 2000-01-01 00:00:00\n25% 2004-12-31 12:00:00\n50% 2010-01-01 00:00:00\n75% 2010-01-01 00:00:00\nmax 2010-01-01 00:00:00\ndtype: object\n\nDescribing a ``DataFrame``. By default only numeric fields\nare returned.\n\n>>> df = pd.DataFrame({'categorical': pd.Categorical(['d', 'e', 'f']),\n... 'numeric': [1, 2, 3],\n... 'object': ['a', 'b', 'c']\n... })\n>>> df.describe()\n numeric\ncount 3.0\nmean 2.0\nstd 1.0\nmin 1.0\n25% 1.5\n50% 2.0\n75% 2.5\nmax 3.0\n\nDescribing all columns of a ``DataFrame`` regardless of data type.\n\n>>> df.describe(include='all') # doctest: +SKIP\n categorical numeric object\ncount 3 3.0 3\nunique 3 NaN 3\ntop f NaN a\nfreq 1 NaN 1\nmean NaN 2.0 NaN\nstd NaN 1.0 NaN\nmin NaN 1.0 NaN\n25% NaN 1.5 NaN\n50% NaN 2.0 NaN\n75% NaN 2.5 NaN\nmax NaN 3.0 NaN\n\nDescribing a column from a ``DataFrame`` by accessing it as\nan attribute.\n\n>>> df.numeric.describe()\ncount 3.0\nmean 2.0\nstd 1.0\nmin 1.0\n25% 1.5\n50% 2.0\n75% 2.5\nmax 3.0\nName: numeric, dtype: float64\n\nIncluding only numeric columns in a ``DataFrame`` description.\n\n>>> df.describe(include=[np.number])\n numeric\ncount 3.0\nmean 2.0\nstd 1.0\nmin 1.0\n25% 1.5\n50% 2.0\n75% 2.5\nmax 3.0\n\nIncluding only string columns in a ``DataFrame`` description.\n\n>>> df.describe(include=[object]) # doctest: +SKIP\n object\ncount 3\nunique 3\ntop a\nfreq 1\n\nIncluding only categorical columns from a ``DataFrame`` description.\n\n>>> df.describe(include=['category'])\n categorical\ncount 3\nunique 3\ntop d\nfreq 1\n\nExcluding numeric columns from a ``DataFrame`` description.\n\n>>> df.describe(exclude=[np.number]) # doctest: +SKIP\n categorical object\ncount 3 3\nunique 3 3\ntop f a\nfreq 1 1\n\nExcluding object columns from a ``DataFrame`` description.\n\n>>> df.describe(exclude=[object]) # doctest: +SKIP\n categorical numeric\ncount 3 3.0\nunique 3 NaN\ntop f NaN\nfreq 1 NaN\nmean NaN 2.0\nstd NaN 1.0\nmin NaN 1.0\n25% NaN 1.5\n50% NaN 2.0\n75% NaN 2.5\nmax NaN 3.0\n"}, "kind": 2, "label": "describe", "sortText": " 40"}, {"detail": "bound method DataFrame.diff(periods: int = 1, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> DataFrame", "kind": 2, "label": "diff", "sortText": " 41"}, {"detail": "(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 3, "label": "div", "sortText": " 42"}, {"detail": "(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 3, "label": "divide", "sortText": " 43"}, {"detail": "Overload[(other: Series) -> Series, (other: DataFrame | Index | ExtensionArray | ndarray[_AnyShape, dtype[Any]]) -> DataFrame]", "documentation": {"kind": "plaintext", "value": "Compute the matrix multiplication between the DataFrame and other.\n\nThis method computes the matrix product between the DataFrame and the\nvalues of an other Series, DataFrame or a numpy array.\n\nIt can also be called using ``self @ other``.\n\nParameters\n----------\nother : Series, DataFrame or array-like\n The other object to compute the matrix product with.\n\nReturns\n-------\nSeries or DataFrame\n If other is a Series, return the matrix product between self and\n other as a Series. If other is a DataFrame or a numpy.array, return\n the matrix product of self and other in a DataFrame of a np.array.\n\nSee Also\n--------\nSeries.dot: Similar method for Series.\n\nNotes\n-----\nThe dimensions of DataFrame and other must be compatible in order to\ncompute the matrix multiplication. In addition, the column names of\nDataFrame and the index of other must contain the same values, as they\nwill be aligned prior to the multiplication.\n\nThe dot method for Series computes the inner product, instead of the\nmatrix product here.\n\nExamples\n--------\nHere we multiply a DataFrame with a Series.\n\n>>> df = pd.DataFrame([[0, 1, -2, -1], [1, 1, 1, 1]])\n>>> s = pd.Series([1, 1, 2, 1])\n>>> df.dot(s)\n0 -4\n1 5\ndtype: int64\n\nHere we multiply a DataFrame with another DataFrame.\n\n>>> other = pd.DataFrame([[0, 1], [1, 2], [-1, -1], [2, 0]])\n>>> df.dot(other)\n 0 1\n0 1 4\n1 2 2\n\nNote that the dot method give the same result as @\n\n>>> df @ other\n 0 1\n0 1 4\n1 2 2\n\nThe dot method works also if other is an np.array.\n\n>>> arr = np.array([[0, 1], [1, 2], [-1, -1], [2, 0]])\n>>> df.dot(arr)\n 0 1\n0 1 4\n1 2 2\n\nNote how shuffling of the objects does not change the result.\n\n>>> s2 = s.reindex([1, 0, 2, 3])\n>>> df.dot(s2)\n0 -4\n1 5\ndtype: int64\n"}, "kind": 2, "label": "dot", "sortText": " 44"}, {"detail": "Overload[(labels: Hashable | Sequence[Hashable] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., index: Hashable | Sequence[Hashable] = ..., columns: Hashable | Sequence[Hashable] = ..., level: Hashable = ..., inplace: Literal[True], errors: Literal[\"ignore\", \"raise\"] = ...) -> None, (labels: Hashable | Sequence[Hashable] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., index: Hashable | Sequence[Hashable] = ..., columns: Hashable | Sequence[Hashable] = ..., level: Hashable = ..., inplace: Literal[False] = ..., errors: Literal[\"ignore\", \"raise\"] = ...) -> DataFrame, (labels: Hashable | Sequence[Hashable] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., index: Hashable | Sequence[Hashable] = ..., columns: Hashable | Sequence[Hashable] = ..., level: Hashable = ..., inplace: bool = ..., errors: Literal[\"ignore\", \"raise\"] = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Drop specified labels from rows or columns.\n\nRemove rows or columns by specifying label names and corresponding\naxis, or by directly specifying index or column names. When using a\nmulti-index, labels on different levels can be removed by specifying\nthe level. See the :ref:`user guide `\nfor more information about the now unused levels.\n\nParameters\n----------\nlabels : single label or list-like\n Index or column labels to drop. A tuple will be used as a single\n label and not treated as a list-like.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Whether to drop labels from the index (0 or 'index') or\n columns (1 or 'columns').\nindex : single label or list-like\n Alternative to specifying axis (``labels, axis=0``\n is equivalent to ``index=labels``).\ncolumns : single label or list-like\n Alternative to specifying axis (``labels, axis=1``\n is equivalent to ``columns=labels``).\nlevel : int or level name, optional\n For MultiIndex, level from which the labels will be removed.\ninplace : bool, default False\n If False, return a copy. Otherwise, do operation\n in place and return None.\nerrors : {'ignore', 'raise'}, default 'raise'\n If 'ignore', suppress error and only existing labels are\n dropped.\n\nReturns\n-------\nDataFrame or None\n Returns DataFrame or None DataFrame with the specified\n index or column labels removed or None if inplace=True.\n\nRaises\n------\nKeyError\n If any of the labels is not found in the selected axis.\n\nSee Also\n--------\nDataFrame.loc : Label-location based indexer for selection by label.\nDataFrame.dropna : Return DataFrame with labels on given axis omitted\n where (all or any) data are missing.\nDataFrame.drop_duplicates : Return DataFrame with duplicate rows\n removed, optionally only considering certain columns.\nSeries.drop : Return Series with specified index labels removed.\n\nExamples\n--------\n>>> df = pd.DataFrame(np.arange(12).reshape(3, 4),\n... columns=['A', 'B', 'C', 'D'])\n>>> df\n A B C D\n0 0 1 2 3\n1 4 5 6 7\n2 8 9 10 11\n\nDrop columns\n\n>>> df.drop(['B', 'C'], axis=1)\n A D\n0 0 3\n1 4 7\n2 8 11\n\n>>> df.drop(columns=['B', 'C'])\n A D\n0 0 3\n1 4 7\n2 8 11\n\nDrop a row by index\n\n>>> df.drop([0, 1])\n A B C D\n2 8 9 10 11\n\nDrop columns and/or rows of MultiIndex DataFrame\n\n>>> midx = pd.MultiIndex(levels=[['llama', 'cow', 'falcon'],\n... ['speed', 'weight', 'length']],\n... codes=[[0, 0, 0, 1, 1, 1, 2, 2, 2],\n... [0, 1, 2, 0, 1, 2, 0, 1, 2]])\n>>> df = pd.DataFrame(index=midx, columns=['big', 'small'],\n... data=[[45, 30], [200, 100], [1.5, 1], [30, 20],\n... [250, 150], [1.5, 0.8], [320, 250],\n... [1, 0.8], [0.3, 0.2]])\n>>> df\n big small\nllama speed 45.0 30.0\n weight 200.0 100.0\n length 1.5 1.0\ncow speed 30.0 20.0\n weight 250.0 150.0\n length 1.5 0.8\nfalcon speed 320.0 250.0\n weight 1.0 0.8\n length 0.3 0.2\n\nDrop a specific index combination from the MultiIndex\nDataFrame, i.e., drop the combination ``'falcon'`` and\n``'weight'``, which deletes only the corresponding row\n\n>>> df.drop(index=('falcon', 'weight'))\n big small\nllama speed 45.0 30.0\n weight 200.0 100.0\n length 1.5 1.0\ncow speed 30.0 20.0\n weight 250.0 150.0\n length 1.5 0.8\nfalcon speed 320.0 250.0\n length 0.3 0.2\n\n>>> df.drop(index='cow', columns='small')\n big\nllama speed 45.0\n weight 200.0\n length 1.5\nfalcon speed 320.0\n weight 1.0\n length 0.3\n\n>>> df.drop(index='length', level=1)\n big small\nllama speed 45.0 30.0\n weight 200.0 100.0\ncow speed 30.0 20.0\n weight 250.0 150.0\nfalcon speed 320.0 250.0\n weight 1.0 0.8\n"}, "kind": 2, "label": "drop", "sortText": " 45"}, {"detail": "Overload[(subset: Hashable | Sequence[Hashable] = ..., *, keep: Literal[\"first\", \"last\", False] = ..., inplace: Literal[True], ignore_index: bool = ...) -> None, (subset: Hashable | Sequence[Hashable] = ..., *, keep: Literal[\"first\", \"last\", False] = ..., inplace: Literal[False] = ..., ignore_index: bool = ...) -> DataFrame, (subset: Hashable | Sequence[Hashable] = ..., *, keep: Literal[\"first\", \"last\", False] = ..., inplace: bool = ..., ignore_index: bool = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Return DataFrame with duplicate rows removed.\n\nConsidering certain columns is optional. Indexes, including time indexes\nare ignored.\n\nParameters\n----------\nsubset : column label or sequence of labels, optional\n Only consider certain columns for identifying duplicates, by\n default use all of the columns.\nkeep : {'first', 'last', ``False``}, default 'first'\n Determines which duplicates (if any) to keep.\n\n - 'first' : Drop duplicates except for the first occurrence.\n - 'last' : Drop duplicates except for the last occurrence.\n - ``False`` : Drop all duplicates.\n\ninplace : bool, default ``False``\n Whether to modify the DataFrame rather than creating a new one.\nignore_index : bool, default ``False``\n If ``True``, the resulting axis will be labeled 0, 1, \u2026, n - 1.\n\nReturns\n-------\nDataFrame or None\n DataFrame with duplicates removed or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.value_counts: Count unique combinations of columns.\n\nExamples\n--------\nConsider dataset containing ramen rating.\n\n>>> df = pd.DataFrame({\n... 'brand': ['Yum Yum', 'Yum Yum', 'Indomie', 'Indomie', 'Indomie'],\n... 'style': ['cup', 'cup', 'cup', 'pack', 'pack'],\n... 'rating': [4, 4, 3.5, 15, 5]\n... })\n>>> df\n brand style rating\n0 Yum Yum cup 4.0\n1 Yum Yum cup 4.0\n2 Indomie cup 3.5\n3 Indomie pack 15.0\n4 Indomie pack 5.0\n\nBy default, it removes duplicate rows based on all columns.\n\n>>> df.drop_duplicates()\n brand style rating\n0 Yum Yum cup 4.0\n2 Indomie cup 3.5\n3 Indomie pack 15.0\n4 Indomie pack 5.0\n\nTo remove duplicates on specific column(s), use ``subset``.\n\n>>> df.drop_duplicates(subset=['brand'])\n brand style rating\n0 Yum Yum cup 4.0\n2 Indomie cup 3.5\n\nTo remove duplicates and keep last occurrences, use ``keep``.\n\n>>> df.drop_duplicates(subset=['brand', 'style'], keep='last')\n brand style rating\n1 Yum Yum cup 4.0\n2 Indomie cup 3.5\n4 Indomie pack 5.0\n"}, "kind": 2, "label": "drop_duplicates", "sortText": " 46"}, {"detail": "bound method DataFrame.droplevel(level: Hashable | Sequence[Hashable], axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return {klass} with requested index / column level(s) removed.\n\nParameters\n----------\nlevel : int, str, or list-like\n If a string is given, must be the name of a level\n If list-like, elements must be names or positional indexes\n of levels.\n\naxis : {{0 or 'index', 1 or 'columns'}}, default 0\n Axis along which the level(s) is removed:\n\n * 0 or 'index': remove level(s) in column.\n * 1 or 'columns': remove level(s) in row.\n\n For `Series` this parameter is unused and defaults to 0.\n\nReturns\n-------\n{klass}\n {klass} with requested index / column level(s) removed.\n\nExamples\n--------\n>>> df = pd.DataFrame([\n... [1, 2, 3, 4],\n... [5, 6, 7, 8],\n... [9, 10, 11, 12]\n... ]).set_index([0, 1]).rename_axis(['a', 'b'])\n\n>>> df.columns = pd.MultiIndex.from_tuples([\n... ('c', 'e'), ('d', 'f')\n... ], names=['level_1', 'level_2'])\n\n>>> df\nlevel_1 c d\nlevel_2 e f\na b\n1 2 3 4\n5 6 7 8\n9 10 11 12\n\n>>> df.droplevel('a')\nlevel_1 c d\nlevel_2 e f\nb\n2 3 4\n6 7 8\n10 11 12\n\n>>> df.droplevel('level_2', axis=1)\nlevel_1 c d\na b\n1 2 3 4\n5 6 7 8\n9 10 11 12\n"}, "kind": 2, "label": "droplevel", "sortText": " 47"}, {"detail": "Overload[(*, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., how: Literal[\"any\", \"all\"] | _NoDefault = ..., thresh: int | _NoDefault = ..., subset: Hashable | Sequence[Hashable] = ..., inplace: Literal[False] = ..., ignore_index: bool = ...) -> DataFrame, (*, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., how: Literal[\"any\", \"all\"] | _NoDefault = ..., thresh: int | _NoDefault = ..., subset: Hashable | Sequence[Hashable] = ..., inplace: Literal[True], ignore_index: bool = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Remove missing values.\n\nSee the :ref:`User Guide ` for more on which values are\nconsidered missing, and how to work with missing data.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Determine if rows or columns which contain missing values are\n removed.\n\n * 0, or 'index' : Drop rows which contain missing values.\n * 1, or 'columns' : Drop columns which contain missing value.\n\n Only a single axis is allowed.\n\nhow : {'any', 'all'}, default 'any'\n Determine if row or column is removed from DataFrame, when we have\n at least one NA or all NA.\n\n * 'any' : If any NA values are present, drop that row or column.\n * 'all' : If all values are NA, drop that row or column.\n\nthresh : int, optional\n Require that many non-NA values. Cannot be combined with how.\nsubset : column label or sequence of labels, optional\n Labels along other axis to consider, e.g. if you are dropping rows\n these would be a list of columns to include.\ninplace : bool, default False\n Whether to modify the DataFrame rather than creating a new one.\nignore_index : bool, default ``False``\n If ``True``, the resulting axis will be labeled 0, 1, \u2026, n - 1.\n\n .. versionadded:: 2.0.0\n\nReturns\n-------\nDataFrame or None\n DataFrame with NA entries dropped from it or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.isna: Indicate missing values.\nDataFrame.notna : Indicate existing (non-missing) values.\nDataFrame.fillna : Replace missing values.\nSeries.dropna : Drop missing values.\nIndex.dropna : Drop missing indices.\n\nExamples\n--------\n>>> df = pd.DataFrame({\"name\": ['Alfred', 'Batman', 'Catwoman'],\n... \"toy\": [np.nan, 'Batmobile', 'Bullwhip'],\n... \"born\": [pd.NaT, pd.Timestamp(\"1940-04-25\"),\n... pd.NaT]})\n>>> df\n name toy born\n0 Alfred NaN NaT\n1 Batman Batmobile 1940-04-25\n2 Catwoman Bullwhip NaT\n\nDrop the rows where at least one element is missing.\n\n>>> df.dropna()\n name toy born\n1 Batman Batmobile 1940-04-25\n\nDrop the columns where at least one element is missing.\n\n>>> df.dropna(axis='columns')\n name\n0 Alfred\n1 Batman\n2 Catwoman\n\nDrop the rows where all elements are missing.\n\n>>> df.dropna(how='all')\n name toy born\n0 Alfred NaN NaT\n1 Batman Batmobile 1940-04-25\n2 Catwoman Bullwhip NaT\n\nKeep only the rows with at least 2 non-NA values.\n\n>>> df.dropna(thresh=2)\n name toy born\n1 Batman Batmobile 1940-04-25\n2 Catwoman Bullwhip NaT\n\nDefine in which columns to look for missing values.\n\n>>> df.dropna(subset=['name', 'toy'])\n name toy born\n1 Batman Batmobile 1940-04-25\n2 Catwoman Bullwhip NaT\n"}, "kind": 2, "label": "dropna", "sortText": " 48"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "dtype", "sortText": " 49"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "dtypes", "sortText": " 50"}, {"detail": "bound method DataFrame.duplicated(subset: Hashable | Sequence[Hashable] = None, keep: Literal[\"first\", \"last\", False] = \"first\") -> Series", "documentation": {"kind": "plaintext", "value": "Return boolean Series denoting duplicate rows.\n\nConsidering certain columns is optional.\n\nParameters\n----------\nsubset : column label or sequence of labels, optional\n Only consider certain columns for identifying duplicates, by\n default use all of the columns.\nkeep : {'first', 'last', False}, default 'first'\n Determines which duplicates (if any) to mark.\n\n - ``first`` : Mark duplicates as ``True`` except for the first occurrence.\n - ``last`` : Mark duplicates as ``True`` except for the last occurrence.\n - False : Mark all duplicates as ``True``.\n\nReturns\n-------\nSeries\n Boolean series for each duplicated rows.\n\nSee Also\n--------\nIndex.duplicated : Equivalent method on index.\nSeries.duplicated : Equivalent method on Series.\nSeries.drop_duplicates : Remove duplicate values from Series.\nDataFrame.drop_duplicates : Remove duplicate values from DataFrame.\n\nExamples\n--------\nConsider dataset containing ramen rating.\n\n>>> df = pd.DataFrame({\n... 'brand': ['Yum Yum', 'Yum Yum', 'Indomie', 'Indomie', 'Indomie'],\n... 'style': ['cup', 'cup', 'cup', 'pack', 'pack'],\n... 'rating': [4, 4, 3.5, 15, 5]\n... })\n>>> df\n brand style rating\n0 Yum Yum cup 4.0\n1 Yum Yum cup 4.0\n2 Indomie cup 3.5\n3 Indomie pack 15.0\n4 Indomie pack 5.0\n\nBy default, for each set of duplicated values, the first occurrence\nis set on False and all others on True.\n\n>>> df.duplicated()\n0 False\n1 True\n2 False\n3 False\n4 False\ndtype: bool\n\nBy using 'last', the last occurrence of each set of duplicated values\nis set on False and all others on True.\n\n>>> df.duplicated(keep='last')\n0 True\n1 False\n2 False\n3 False\n4 False\ndtype: bool\n\nBy setting ``keep`` on False, all duplicates are True.\n\n>>> df.duplicated(keep=False)\n0 True\n1 True\n2 False\n3 False\n4 False\ndtype: bool\n\nTo find duplicates on specific column(s), use ``subset``.\n\n>>> df.duplicated(subset=['brand'])\n0 False\n1 True\n2 False\n3 True\n4 True\ndtype: bool\n"}, "kind": 2, "label": "duplicated", "sortText": " 51"}, {"detail": "bool", "documentation": {"kind": "plaintext", "value": "Returns True when the argument is true, False otherwise.\nThe builtins True and False are the only two instances of the class bool.\nThe class bool is a subclass of the class int, and cannot be subclassed.\n"}, "kind": 22, "label": "empty", "sortText": " 52"}, {"detail": "bound method DataFrame.eq(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "eq", "sortText": " 53"}, {"detail": "bound method DataFrame.equals(other: object) -> bool", "documentation": {"kind": "plaintext", "value": "Test whether two objects contain the same elements.\n\nThis function allows two Series or DataFrames to be compared against\neach other to see if they have the same shape and elements. NaNs in\nthe same location are considered equal.\n\nThe row/column index do not need to have the same type, as long\nas the values are considered equal. Corresponding columns and\nindex must be of the same dtype.\n\nParameters\n----------\nother : Series or DataFrame\n The other Series or DataFrame to be compared with the first.\n\nReturns\n-------\nbool\n True if all elements are the same in both objects, False\n otherwise.\n\nSee Also\n--------\nSeries.eq : Compare two Series objects of the same length\n and return a Series where each element is True if the element\n in each Series is equal, False otherwise.\nDataFrame.eq : Compare two DataFrame objects of the same shape and\n return a DataFrame where each element is True if the respective\n element in each DataFrame is equal, False otherwise.\ntesting.assert_series_equal : Raises an AssertionError if left and\n right are not equal. Provides an easy interface to ignore\n inequality in dtypes, indexes and precision among others.\ntesting.assert_frame_equal : Like assert_series_equal, but targets\n DataFrames.\nnumpy.array_equal : Return True if two arrays have the same shape\n and elements, False otherwise.\n\nExamples\n--------\n>>> df = pd.DataFrame({1: [10], 2: [20]})\n>>> df\n 1 2\n0 10 20\n\nDataFrames df and exactly_equal have the same types and values for\ntheir elements and column labels, which will return True.\n\n>>> exactly_equal = pd.DataFrame({1: [10], 2: [20]})\n>>> exactly_equal\n 1 2\n0 10 20\n>>> df.equals(exactly_equal)\nTrue\n\nDataFrames df and different_column_type have the same element\ntypes and values, but have different types for the column labels,\nwhich will still return True.\n\n>>> different_column_type = pd.DataFrame({1.0: [10], 2.0: [20]})\n>>> different_column_type\n 1.0 2.0\n0 10 20\n>>> df.equals(different_column_type)\nTrue\n\nDataFrames df and different_data_type have different types for the\nsame values for their elements, and will return False even though\ntheir column labels are the same values and types.\n\n>>> different_data_type = pd.DataFrame({1: [10.0], 2: [20.0]})\n>>> different_data_type\n 1 2\n0 10.0 20.0\n>>> df.equals(different_data_type)\nFalse\n"}, "kind": 2, "label": "equals", "sortText": " 54"}, {"detail": "Overload[(expr: str, *, inplace: Literal[False] = ..., **kwargs) -> Any, (expr: str, *, inplace: Literal[True], **kwargs) -> None]", "documentation": {"kind": "plaintext", "value": "Evaluate a string describing operations on DataFrame columns.\n\nOperates on columns only, not specific rows or elements. This allows\n`eval` to run arbitrary code, which can make you vulnerable to code\ninjection if you pass user input to this function.\n\nParameters\n----------\nexpr : str\n The expression string to evaluate.\ninplace : bool, default False\n If the expression contains an assignment, whether to perform the\n operation inplace and mutate the existing DataFrame. Otherwise,\n a new DataFrame is returned.\n**kwargs\n See the documentation for :func:`eval` for complete details\n on the keyword arguments accepted by\n :meth:`~pandas.DataFrame.query`.\n\nReturns\n-------\nndarray, scalar, pandas object, or None\n The result of the evaluation or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.query : Evaluates a boolean expression to query the columns\n of a frame.\nDataFrame.assign : Can evaluate an expression or function to create new\n values for a column.\neval : Evaluate a Python expression as a string using various\n backends.\n\nNotes\n-----\nFor more details see the API documentation for :func:`~eval`.\nFor detailed examples see :ref:`enhancing performance with eval\n`.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': range(1, 6), 'B': range(10, 0, -2)})\n>>> df\n A B\n0 1 10\n1 2 8\n2 3 6\n3 4 4\n4 5 2\n>>> df.eval('A + B')\n0 11\n1 10\n2 9\n3 8\n4 7\ndtype: int64\n\nAssignment is allowed though by default the original DataFrame is not\nmodified.\n\n>>> df.eval('C = A + B')\n A B C\n0 1 10 11\n1 2 8 10\n2 3 6 9\n3 4 4 8\n4 5 2 7\n>>> df\n A B\n0 1 10\n1 2 8\n2 3 6\n3 4 4\n4 5 2\n\nMultiple columns can be assigned to using multi-line expressions:\n\n>>> df.eval(\n... '''\n... C = A + B\n... D = A - B\n... '''\n... )\n A B C D\n0 1 10 11 -9\n1 2 8 10 -6\n2 3 6 9 -3\n3 4 4 8 0\n4 5 2 7 3\n"}, "kind": 2, "label": "eval", "sortText": " 55"}, {"detail": "bound method DataFrame.ewm(com: float | None = None, span: float | None = None, halflife: float | timedelta | timedelta64[Any] | ... omitted 3 union elements = None, alpha: float | None = None, min_periods: int | None = 0, adjust: bool = True, ignore_na: bool = False, axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., times: ndarray[_AnyShape, dtype[Any]] | DataFrame | Series | None = None, method: Literal[\"single\", \"table\"] = \"single\") -> ExponentialMovingWindow", "kind": 2, "label": "ewm", "sortText": " 56"}, {"detail": "bound method DataFrame.expanding(min_periods: int = 1, axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., method: Literal[\"single\", \"table\"] = \"single\") -> Expanding", "kind": 2, "label": "expanding", "sortText": " 57"}, {"detail": "bound method DataFrame.explode(column: Hashable | Sequence[Hashable], ignore_index: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Transform each element of a list-like to a row, replicating index values.\n\nParameters\n----------\ncolumn : IndexLabel\n Column(s) to explode.\n For multiple columns, specify a non-empty list with each element\n be str or tuple, and all specified columns their list-like data\n on same row of the frame must have matching length.\n\n .. versionadded:: 1.3.0\n Multi-column explode\n\nignore_index : bool, default False\n If True, the resulting index will be labeled 0, 1, \u2026, n - 1.\n\nReturns\n-------\nDataFrame\n Exploded lists to rows of the subset columns;\n index will be duplicated for these rows.\n\nRaises\n------\nValueError :\n * If columns of the frame are not unique.\n * If specified columns to explode is empty list.\n * If specified columns to explode have not matching count of\n elements rowwise in the frame.\n\nSee Also\n--------\nDataFrame.unstack : Pivot a level of the (necessarily hierarchical)\n index labels.\nDataFrame.melt : Unpivot a DataFrame from wide format to long format.\nSeries.explode : Explode a DataFrame from list-like columns to long format.\n\nNotes\n-----\nThis routine will explode list-likes including lists, tuples, sets,\nSeries, and np.ndarray. The result dtype of the subset rows will\nbe object. Scalars will be returned unchanged, and empty list-likes will\nresult in a np.nan for that row. In addition, the ordering of rows in the\noutput will be non-deterministic when exploding sets.\n\nReference :ref:`the user guide ` for more examples.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [[0, 1, 2], 'foo', [], [3, 4]],\n... 'B': 1,\n... 'C': [['a', 'b', 'c'], np.nan, [], ['d', 'e']]})\n>>> df\n A B C\n0 [0, 1, 2] 1 [a, b, c]\n1 foo 1 NaN\n2 [] 1 []\n3 [3, 4] 1 [d, e]\n\nSingle-column explode.\n\n>>> df.explode('A')\n A B C\n0 0 1 [a, b, c]\n0 1 1 [a, b, c]\n0 2 1 [a, b, c]\n1 foo 1 NaN\n2 NaN 1 []\n3 3 1 [d, e]\n3 4 1 [d, e]\n\nMulti-column explode.\n\n>>> df.explode(list('AC'))\n A B C\n0 0 1 a\n0 1 1 b\n0 2 1 c\n1 foo 1 NaN\n2 NaN 1 NaN\n3 3 1 d\n3 4 1 e\n"}, "kind": 2, "label": "explode", "sortText": " 58"}, {"detail": "Overload[(*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: Literal[False] = ..., limit: None | int = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame, (*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: Literal[True], limit: None | int = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> None, (*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: bool = ..., limit: None | int = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Fill NA/NaN values by propagating the last valid observation to next valid.\n\nParameters\n----------\naxis : {axes_single_arg}\n Axis along which to fill missing values. For `Series`\n this parameter is unused and defaults to 0.\ninplace : bool, default False\n If True, fill in-place. Note: this will modify any\n other views on this object (e.g., a no-copy slice for a column in a\n DataFrame).\nlimit : int, default None\n If method is specified, this is the maximum number of consecutive\n NaN values to forward/backward fill. In other words, if there is\n a gap with more than this number of consecutive NaNs, it will only\n be partially filled. If method is not specified, this is the\n maximum number of entries along the entire axis where NaNs will be\n filled. Must be greater than 0 if not None.\nlimit_area : {{`None`, 'inside', 'outside'}}, default None\n If limit is specified, consecutive NaNs will be filled with this\n restriction.\n\n * ``None``: No fill restriction.\n * 'inside': Only fill NaNs surrounded by valid values\n (interpolate).\n * 'outside': Only fill NaNs outside valid values (extrapolate).\n\n .. versionadded:: 2.2.0\n\ndowncast : dict, default is None\n A dict of item->dtype of what to downcast if possible,\n or the string 'infer' which will try to downcast to an appropriate\n equal type (e.g. float64 to int64 if possible).\n\n .. deprecated:: 2.2.0\n\nReturns\n-------\n{klass} or None\n Object with missing values filled or None if ``inplace=True``.\n\nExamples\n--------\n>>> df = pd.DataFrame([[np.nan, 2, np.nan, 0],\n... [3, 4, np.nan, 1],\n... [np.nan, np.nan, np.nan, np.nan],\n... [np.nan, 3, np.nan, 4]],\n... columns=list(\"ABCD\"))\n>>> df\n A B C D\n0 NaN 2.0 NaN 0.0\n1 3.0 4.0 NaN 1.0\n2 NaN NaN NaN NaN\n3 NaN 3.0 NaN 4.0\n\n>>> df.ffill()\n A B C D\n0 NaN 2.0 NaN 0.0\n1 3.0 4.0 NaN 1.0\n2 3.0 4.0 NaN 1.0\n3 3.0 3.0 NaN 4.0\n\n>>> ser = pd.Series([1, np.nan, 2, 3])\n>>> ser.ffill()\n0 1.0\n1 1.0\n2 2.0\n3 3.0\ndtype: float64\n"}, "kind": 2, "label": "ffill", "sortText": " 59"}, {"detail": "Overload[(value: Hashable | Mapping[Unknown, Unknown] | Series | DataFrame = ..., *, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: Literal[False] = ..., limit: int | None = ..., downcast: dict[Unknown, Unknown] | None = ...) -> DataFrame, (value: Hashable | Mapping[Unknown, Unknown] | Series | DataFrame = ..., *, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: Literal[True], limit: int | None = ..., downcast: dict[Unknown, Unknown] | None = ...) -> None, (value: Hashable | Mapping[Unknown, Unknown] | Series | DataFrame = ..., *, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: bool = ..., limit: int | None = ..., downcast: dict[Unknown, Unknown] | None = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Fill NA/NaN values using the specified method.\n\nParameters\n----------\nvalue : scalar, dict, Series, or DataFrame\n Value to use to fill holes (e.g. 0), alternately a\n dict/Series/DataFrame of values specifying which value to use for\n each index (for a Series) or column (for a DataFrame). Values not\n in the dict/Series/DataFrame will not be filled. This value cannot\n be a list.\nmethod : {{'backfill', 'bfill', 'ffill', None}}, default None\n Method to use for filling holes in reindexed Series:\n\n * ffill: propagate last valid observation forward to next valid.\n * backfill / bfill: use next valid observation to fill gap.\n\n .. deprecated:: 2.1.0\n Use ffill or bfill instead.\n\naxis : {axes_single_arg}\n Axis along which to fill missing values. For `Series`\n this parameter is unused and defaults to 0.\ninplace : bool, default False\n If True, fill in-place. Note: this will modify any\n other views on this object (e.g., a no-copy slice for a column in a\n DataFrame).\nlimit : int, default None\n If method is specified, this is the maximum number of consecutive\n NaN values to forward/backward fill. In other words, if there is\n a gap with more than this number of consecutive NaNs, it will only\n be partially filled. If method is not specified, this is the\n maximum number of entries along the entire axis where NaNs will be\n filled. Must be greater than 0 if not None.\ndowncast : dict, default is None\n A dict of item->dtype of what to downcast if possible,\n or the string 'infer' which will try to downcast to an appropriate\n equal type (e.g. float64 to int64 if possible).\n\n .. deprecated:: 2.2.0\n\nReturns\n-------\n{klass} or None\n Object with missing values filled or None if ``inplace=True``.\n\nSee Also\n--------\nffill : Fill values by propagating the last valid observation to next valid.\nbfill : Fill values by using the next valid observation to fill the gap.\ninterpolate : Fill NaN values using interpolation.\nreindex : Conform object to new index.\nasfreq : Convert TimeSeries to specified frequency.\n\nExamples\n--------\n>>> df = pd.DataFrame([[np.nan, 2, np.nan, 0],\n... [3, 4, np.nan, 1],\n... [np.nan, np.nan, np.nan, np.nan],\n... [np.nan, 3, np.nan, 4]],\n... columns=list(\"ABCD\"))\n>>> df\n A B C D\n0 NaN 2.0 NaN 0.0\n1 3.0 4.0 NaN 1.0\n2 NaN NaN NaN NaN\n3 NaN 3.0 NaN 4.0\n\nReplace all NaN elements with 0s.\n\n>>> df.fillna(0)\n A B C D\n0 0.0 2.0 0.0 0.0\n1 3.0 4.0 0.0 1.0\n2 0.0 0.0 0.0 0.0\n3 0.0 3.0 0.0 4.0\n\nReplace all NaN elements in column 'A', 'B', 'C', and 'D', with 0, 1,\n2, and 3 respectively.\n\n>>> values = {{\"A\": 0, \"B\": 1, \"C\": 2, \"D\": 3}}\n>>> df.fillna(value=values)\n A B C D\n0 0.0 2.0 2.0 0.0\n1 3.0 4.0 2.0 1.0\n2 0.0 1.0 2.0 3.0\n3 0.0 3.0 2.0 4.0\n\nOnly replace the first NaN element.\n\n>>> df.fillna(value=values, limit=1)\n A B C D\n0 0.0 2.0 2.0 0.0\n1 3.0 4.0 NaN 1.0\n2 NaN 1.0 NaN 3.0\n3 NaN 3.0 NaN 4.0\n\nWhen filling using a DataFrame, replacement happens along\nthe same column names and same indices\n\n>>> df2 = pd.DataFrame(np.zeros((4, 4)), columns=list(\"ABCE\"))\n>>> df.fillna(df2)\n A B C D\n0 0.0 2.0 0.0 0.0\n1 3.0 4.0 0.0 1.0\n2 0.0 0.0 0.0 NaN\n3 0.0 3.0 0.0 4.0\n\nNote that column D is not affected since it is not present in df2.\n"}, "kind": 2, "label": "fillna", "sortText": " 60"}, {"detail": "bound method DataFrame.filter(items=None, like: str | None = None, regex: str | None = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Subset the dataframe rows or columns according to the specified index labels.\n\nNote that this routine does not filter a dataframe on its\ncontents. The filter is applied to the labels of the index.\n\nParameters\n----------\nitems : list-like\n Keep labels from axis which are in items.\nlike : str\n Keep labels from axis for which \"like in label == True\".\nregex : str (regular expression)\n Keep labels from axis for which re.search(regex, label) == True.\naxis : {0 or 'index', 1 or 'columns', None}, default None\n The axis to filter on, expressed either as an index (int)\n or axis name (str). By default this is the info axis, 'columns' for\n DataFrame. For `Series` this parameter is unused and defaults to `None`.\n\nReturns\n-------\nsame type as input object\n\nSee Also\n--------\nDataFrame.loc : Access a group of rows and columns\n by label(s) or a boolean array.\n\nNotes\n-----\nThe ``items``, ``like``, and ``regex`` parameters are\nenforced to be mutually exclusive.\n\n``axis`` defaults to the info axis that is used when indexing\nwith ``[]``.\n\nExamples\n--------\n>>> df = pd.DataFrame(np.array(([1, 2, 3], [4, 5, 6])),\n... index=['mouse', 'rabbit'],\n... columns=['one', 'two', 'three'])\n>>> df\n one two three\nmouse 1 2 3\nrabbit 4 5 6\n\n>>> # select columns by name\n>>> df.filter(items=['one', 'three'])\n one three\nmouse 1 3\nrabbit 4 6\n\n>>> # select columns by regular expression\n>>> df.filter(regex='e$', axis=1)\n one three\nmouse 1 3\nrabbit 4 6\n\n>>> # select rows containing 'bbi'\n>>> df.filter(like='bbi', axis=0)\n one two three\nrabbit 4 5 6\n"}, "kind": 2, "label": "filter", "sortText": " 61"}, {"detail": "bound method DataFrame.first(offset) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Select initial periods of time series data based on a date offset.\n\n.. deprecated:: 2.1\n :meth:`.first` is deprecated and will be removed in a future version.\n Please create a mask and filter using `.loc` instead.\n\nFor a DataFrame with a sorted DatetimeIndex, this function can\nselect the first few rows based on a date offset.\n\nParameters\n----------\noffset : str, DateOffset or dateutil.relativedelta\n The offset length of the data that will be selected. For instance,\n '1ME' will display all the rows having their index within the first month.\n\nReturns\n-------\nSeries or DataFrame\n A subset of the caller.\n\nRaises\n------\nTypeError\n If the index is not a :class:`DatetimeIndex`\n\nSee Also\n--------\nlast : Select final periods of time series based on a date offset.\nat_time : Select values at a particular time of the day.\nbetween_time : Select values between particular times of the day.\n\nExamples\n--------\n>>> i = pd.date_range('2018-04-09', periods=4, freq='2D')\n>>> ts = pd.DataFrame({'A': [1, 2, 3, 4]}, index=i)\n>>> ts\n A\n2018-04-09 1\n2018-04-11 2\n2018-04-13 3\n2018-04-15 4\n\nGet the rows for the first 3 days:\n\n>>> ts.first('3D')\n A\n2018-04-09 1\n2018-04-11 2\n\nNotice the data for 3 first calendar days were returned, not the first\n3 days observed in the dataset, and therefore data for 2018-04-13 was\nnot returned.\n"}, "kind": 2, "label": "first", "sortText": " 62"}, {"detail": "bound method DataFrame.first_valid_index() -> Hashable", "documentation": {"kind": "plaintext", "value": "Return index for {position} non-NA value or None, if no non-NA value is found.\n\nReturns\n-------\ntype of index\n\nExamples\n--------\nFor Series:\n\n>>> s = pd.Series([None, 3, 4])\n>>> s.first_valid_index()\n1\n>>> s.last_valid_index()\n2\n\n>>> s = pd.Series([None, None])\n>>> print(s.first_valid_index())\nNone\n>>> print(s.last_valid_index())\nNone\n\nIf all elements in Series are NA/null, returns None.\n\n>>> s = pd.Series()\n>>> print(s.first_valid_index())\nNone\n>>> print(s.last_valid_index())\nNone\n\nIf Series is empty, returns None.\n\nFor DataFrame:\n\n>>> df = pd.DataFrame({{'A': [None, None, 2], 'B': [None, 3, 4]}})\n>>> df\n A B\n0 NaN NaN\n1 NaN 3.0\n2 2.0 4.0\n>>> df.first_valid_index()\n1\n>>> df.last_valid_index()\n2\n\n>>> df = pd.DataFrame({{'A': [None, None, None], 'B': [None, None, None]}})\n>>> df\n A B\n0 None None\n1 None None\n2 None None\n>>> print(df.first_valid_index())\nNone\n>>> print(df.last_valid_index())\nNone\n\nIf all elements in DataFrame are NA/null, returns None.\n\n>>> df = pd.DataFrame()\n>>> df\nEmpty DataFrame\nColumns: []\nIndex: []\n>>> print(df.first_valid_index())\nNone\n>>> print(df.last_valid_index())\nNone\n\nIf DataFrame is empty, returns None.\n"}, "kind": 2, "label": "first_valid_index", "sortText": " 63"}, {"detail": "Flags", "documentation": {"kind": "plaintext", "value": "Flags that apply to pandas objects.\n\nParameters\n----------\nobj : Series or DataFrame\n The object these flags are associated with.\nallows_duplicate_labels : bool, default True\n Whether to allow duplicate labels in this object. By default,\n duplicate labels are permitted. Setting this to ``False`` will\n cause an :class:`errors.DuplicateLabelError` to be raised when\n `index` (or columns for DataFrame) is not unique, or any\n subsequent operation on introduces duplicates.\n See :ref:`duplicates.disallow` for more.\n\n .. warning::\n\n This is an experimental feature. Currently, many methods fail to\n propagate the ``allows_duplicate_labels`` value. In future versions\n it is expected that every method taking or returning one or more\n DataFrame or Series objects will propagate ``allows_duplicate_labels``.\n\nExamples\n--------\nAttributes can be set in two ways:\n\n>>> df = pd.DataFrame()\n>>> df.flags\n\n>>> df.flags.allows_duplicate_labels = False\n>>> df.flags\n\n\n>>> df.flags['allows_duplicate_labels'] = True\n>>> df.flags\n\n"}, "kind": 22, "label": "flags", "sortText": " 64"}, {"detail": "bound method DataFrame.floordiv(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "floordiv", "sortText": " 65"}, {"detail": "bound method type[DataFrame].from_dict(data: dict[Unknown, Unknown], orient: Literal[\"columns\", \"index\", \"tight\"] = \"columns\", dtype: ExtensionDtype | str | dtype[Any] | type | None = None, columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Construct DataFrame from dict of array-like or dicts.\n\nCreates DataFrame object from dictionary by columns or by index\nallowing dtype specification.\n\nParameters\n----------\ndata : dict\n Of the form {field : array-like} or {field : dict}.\norient : {'columns', 'index', 'tight'}, default 'columns'\n The \"orientation\" of the data. If the keys of the passed dict\n should be the columns of the resulting DataFrame, pass 'columns'\n (default). Otherwise if the keys should be rows, pass 'index'.\n If 'tight', assume a dict with keys ['index', 'columns', 'data',\n 'index_names', 'column_names'].\n\n .. versionadded:: 1.4.0\n 'tight' as an allowed value for the ``orient`` argument\n\ndtype : dtype, default None\n Data type to force after DataFrame construction, otherwise infer.\ncolumns : list, default None\n Column labels to use when ``orient='index'``. Raises a ValueError\n if used with ``orient='columns'`` or ``orient='tight'``.\n\nReturns\n-------\nDataFrame\n\nSee Also\n--------\nDataFrame.from_records : DataFrame from structured ndarray, sequence\n of tuples or dicts, or DataFrame.\nDataFrame : DataFrame object creation using constructor.\nDataFrame.to_dict : Convert the DataFrame to a dictionary.\n\nExamples\n--------\nBy default the keys of the dict become the DataFrame columns:\n\n>>> data = {'col_1': [3, 2, 1, 0], 'col_2': ['a', 'b', 'c', 'd']}\n>>> pd.DataFrame.from_dict(data)\n col_1 col_2\n0 3 a\n1 2 b\n2 1 c\n3 0 d\n\nSpecify ``orient='index'`` to create the DataFrame using dictionary\nkeys as rows:\n\n>>> data = {'row_1': [3, 2, 1, 0], 'row_2': ['a', 'b', 'c', 'd']}\n>>> pd.DataFrame.from_dict(data, orient='index')\n 0 1 2 3\nrow_1 3 2 1 0\nrow_2 a b c d\n\nWhen using the 'index' orientation, the column names can be\nspecified manually:\n\n>>> pd.DataFrame.from_dict(data, orient='index',\n... columns=['A', 'B', 'C', 'D'])\n A B C D\nrow_1 3 2 1 0\nrow_2 a b c d\n\nSpecify ``orient='tight'`` to create the DataFrame using a 'tight'\nformat:\n\n>>> data = {'index': [('a', 'b'), ('a', 'c')],\n... 'columns': [('x', 1), ('y', 2)],\n... 'data': [[1, 3], [2, 4]],\n... 'index_names': ['n1', 'n2'],\n... 'column_names': ['z1', 'z2']}\n>>> pd.DataFrame.from_dict(data, orient='tight')\nz1 x y\nz2 1 2\nn1 n2\na b 1 3\n c 2 4\n"}, "kind": 2, "label": "from_dict", "sortText": " 66"}, {"detail": "bound method type[DataFrame].from_records(data, index=None, exclude=None, columns=None, coerce_float: bool = False, nrows: int | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Convert structured or record ndarray to DataFrame.\n\nCreates a DataFrame object from a structured ndarray, sequence of\ntuples or dicts, or DataFrame.\n\nParameters\n----------\ndata : structured ndarray, sequence of tuples or dicts, or DataFrame\n Structured input data.\n\n .. deprecated:: 2.1.0\n Passing a DataFrame is deprecated.\nindex : str, list of fields, array-like\n Field of array to use as the index, alternately a specific set of\n input labels to use.\nexclude : sequence, default None\n Columns or fields to exclude.\ncolumns : sequence, default None\n Column names to use. If the passed data do not have names\n associated with them, this argument provides names for the\n columns. Otherwise this argument indicates the order of the columns\n in the result (any names not found in the data will become all-NA\n columns).\ncoerce_float : bool, default False\n Attempt to convert values of non-string, non-numeric objects (like\n decimal.Decimal) to floating point, useful for SQL result sets.\nnrows : int, default None\n Number of rows to read if data is an iterator.\n\nReturns\n-------\nDataFrame\n\nSee Also\n--------\nDataFrame.from_dict : DataFrame from dict of array-like or dicts.\nDataFrame : DataFrame object creation using constructor.\n\nExamples\n--------\nData can be provided as a structured ndarray:\n\n>>> data = np.array([(3, 'a'), (2, 'b'), (1, 'c'), (0, 'd')],\n... dtype=[('col_1', 'i4'), ('col_2', 'U1')])\n>>> pd.DataFrame.from_records(data)\n col_1 col_2\n0 3 a\n1 2 b\n2 1 c\n3 0 d\n\nData can be provided as a list of dicts:\n\n>>> data = [{'col_1': 3, 'col_2': 'a'},\n... {'col_1': 2, 'col_2': 'b'},\n... {'col_1': 1, 'col_2': 'c'},\n... {'col_1': 0, 'col_2': 'd'}]\n>>> pd.DataFrame.from_records(data)\n col_1 col_2\n0 3 a\n1 2 b\n2 1 c\n3 0 d\n\nData can be provided as a list of tuples with corresponding columns:\n\n>>> data = [(3, 'a'), (2, 'b'), (1, 'c'), (0, 'd')]\n>>> pd.DataFrame.from_records(data, columns=['col_1', 'col_2'])\n col_1 col_2\n0 3 a\n1 2 b\n2 1 c\n3 0 d\n"}, "kind": 2, "label": "from_records", "sortText": " 67"}, {"detail": "bound method DataFrame.ge(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "ge", "sortText": " 68"}, {"detail": "bound method DataFrame.get(key, default=None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Get item from object for given key (ex: DataFrame column).\n\nReturns default value if not found.\n\nParameters\n----------\nkey : object\n\nReturns\n-------\nsame type as items contained in object\n\nExamples\n--------\n>>> df = pd.DataFrame(\n... [\n... [24.3, 75.7, \"high\"],\n... [31, 87.8, \"high\"],\n... [22, 71.6, \"medium\"],\n... [35, 95, \"medium\"],\n... ],\n... columns=[\"temp_celsius\", \"temp_fahrenheit\", \"windspeed\"],\n... index=pd.date_range(start=\"2014-02-12\", end=\"2014-02-15\", freq=\"D\"),\n... )\n\n>>> df\n temp_celsius temp_fahrenheit windspeed\n2014-02-12 24.3 75.7 high\n2014-02-13 31.0 87.8 high\n2014-02-14 22.0 71.6 medium\n2014-02-15 35.0 95.0 medium\n\n>>> df.get([\"temp_celsius\", \"windspeed\"])\n temp_celsius windspeed\n2014-02-12 24.3 high\n2014-02-13 31.0 high\n2014-02-14 22.0 medium\n2014-02-15 35.0 medium\n\n>>> ser = df['windspeed']\n>>> ser.get('2014-02-13')\n'high'\n\nIf the key isn't found, the default value will be used.\n\n>>> df.get([\"temp_celsius\", \"temp_kelvin\"], default=\"default_value\")\n'default_value'\n\n>>> ser.get('2014-02-10', '[unknown]')\n'[unknown]'\n"}, "kind": 2, "label": "get", "sortText": " 69"}, {"detail": "bound method DataFrame.groupby(by=None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., level: Hashable | Sequence[Hashable] = None, as_index: bool = True, sort: bool = True, group_keys: bool = True, observed: bool | _NoDefault = ..., dropna: bool = True) -> DataFrameGroupBy", "kind": 2, "label": "groupby", "sortText": " 70"}, {"detail": "bound method DataFrame.gt(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "gt", "sortText": " 71"}, {"detail": "bound method DataFrame.head(n: int = 5) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the first `n` rows.\n\nThis function returns the first `n` rows for the object based\non position. It is useful for quickly testing if your object\nhas the right type of data in it.\n\nFor negative values of `n`, this function returns all rows except\nthe last `|n|` rows, equivalent to ``df[:n]``.\n\nIf n is larger than the number of rows, this function returns all rows.\n\nParameters\n----------\nn : int, default 5\n Number of rows to select.\n\nReturns\n-------\nsame type as caller\n The first `n` rows of the caller object.\n\nSee Also\n--------\nDataFrame.tail: Returns the last `n` rows.\n\nExamples\n--------\n>>> df = pd.DataFrame({'animal': ['alligator', 'bee', 'falcon', 'lion',\n... 'monkey', 'parrot', 'shark', 'whale', 'zebra']})\n>>> df\n animal\n0 alligator\n1 bee\n2 falcon\n3 lion\n4 monkey\n5 parrot\n6 shark\n7 whale\n8 zebra\n\nViewing the first 5 lines\n\n>>> df.head()\n animal\n0 alligator\n1 bee\n2 falcon\n3 lion\n4 monkey\n\nViewing the first `n` lines (three in this case)\n\n>>> df.head(3)\n animal\n0 alligator\n1 bee\n2 falcon\n\nFor negative values of `n`\n\n>>> df.head(-3)\n animal\n0 alligator\n1 bee\n2 falcon\n3 lion\n4 monkey\n5 parrot\n"}, "kind": 2, "label": "head", "sortText": " 72"}, {"detail": "(column: Hashable | Sequence[Hashable] = None, by=None, grid: bool = True, xlabelsize: int | None = None, xrot: float | None = None, ylabelsize: int | None = None, yrot: float | None = None, ax=None, sharex: bool = False, sharey: bool = False, figsize: tuple[int, int] | None = None, layout: tuple[int, int] | None = None, bins: int | Sequence[int] = 10, backend: str | None = None, legend: bool = False, **kwargs) -> Unknown", "kind": 3, "label": "hist", "sortText": " 73"}, {"detail": "_iAtIndexer", "kind": 22, "label": "iat", "sortText": " 74"}, {"detail": "bound method DataFrame.idxmax(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, skipna: bool = True, numeric_only: bool = False) -> Series", "kind": 2, "label": "idxmax", "sortText": " 75"}, {"detail": "bound method DataFrame.idxmin(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, skipna: bool = True, numeric_only: bool = False) -> Series", "kind": 2, "label": "idxmin", "sortText": " 76"}, {"detail": "_iLocIndexer", "kind": 22, "label": "iloc", "sortText": " 77"}, {"detail": "Index", "documentation": {"kind": "plaintext", "value": "Immutable sequence used for indexing and alignment.\n\nThe basic object storing axis labels for all pandas objects.\n\n.. versionchanged:: 2.0.0\n\n Index can hold all numpy numeric dtypes (except float16). Previously only\n int64/uint64/float64 dtypes were accepted.\n\nParameters\n----------\ndata : array-like (1-dimensional)\ndtype : str, numpy.dtype, or ExtensionDtype, optional\n Data type for the output Index. If not specified, this will be\n inferred from `data`.\n See the :ref:`user guide ` for more usages.\ncopy : bool, default False\n Copy input data.\nname : object\n Name to be stored in the index.\ntupleize_cols : bool (default: True)\n When True, attempt to create a MultiIndex if possible.\n\nSee Also\n--------\nRangeIndex : Index implementing a monotonic integer range.\nCategoricalIndex : Index of :class:`Categorical` s.\nMultiIndex : A multi-level, or hierarchical Index.\nIntervalIndex : An Index of :class:`Interval` s.\nDatetimeIndex : Index of datetime64 data.\nTimedeltaIndex : Index of timedelta64 data.\nPeriodIndex : Index of Period data.\n\nNotes\n-----\nAn Index instance can **only** contain hashable objects.\nAn Index instance *can not* hold numpy float16 dtype.\n\nExamples\n--------\n>>> pd.Index([1, 2, 3])\nIndex([1, 2, 3], dtype='int64')\n\n>>> pd.Index(list('abc'))\nIndex(['a', 'b', 'c'], dtype='object')\n\n>>> pd.Index([1, 2, 3], dtype=\"uint8\")\nIndex([1, 2, 3], dtype='uint8')\n"}, "kind": 22, "label": "index", "sortText": " 78"}, {"detail": "bound method DataFrame.infer_objects(copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Attempt to infer better dtypes for object columns.\n\nAttempts soft conversion of object-dtyped\ncolumns, leaving non-object and unconvertible\ncolumns unchanged. The inference rules are the\nsame as during normal Series/DataFrame construction.\n\nParameters\n----------\ncopy : bool, default True\n Whether to make a copy for non-object or non-inferable columns\n or Series.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\nsame type as input object\n\nSee Also\n--------\nto_datetime : Convert argument to datetime.\nto_timedelta : Convert argument to timedelta.\nto_numeric : Convert argument to numeric type.\nconvert_dtypes : Convert argument to best possible dtype.\n\nExamples\n--------\n>>> df = pd.DataFrame({\"A\": [\"a\", 1, 2, 3]})\n>>> df = df.iloc[1:]\n>>> df\n A\n1 1\n2 2\n3 3\n\n>>> df.dtypes\nA object\ndtype: object\n\n>>> df.infer_objects().dtypes\nA int64\ndtype: object\n"}, "kind": 2, "label": "infer_objects", "sortText": " 79"}, {"detail": "bound method DataFrame.info(verbose: bool | None = None, buf: WriteBuffer[str] | None = None, max_cols: int | None = None, memory_usage: bool | str | None = None, show_counts: bool | None = None) -> None", "kind": 2, "label": "info", "sortText": " 80"}, {"detail": "bound method DataFrame.insert(loc: int, column: Hashable, value: str | float | Period | ... omitted 9 union elements, allow_duplicates: bool | _NoDefault = ...) -> None", "documentation": {"kind": "plaintext", "value": "Insert column into DataFrame at specified location.\n\nRaises a ValueError if `column` is already contained in the DataFrame,\nunless `allow_duplicates` is set to True.\n\nParameters\n----------\nloc : int\n Insertion index. Must verify 0 <= loc <= len(columns).\ncolumn : str, number, or hashable object\n Label of the inserted column.\nvalue : Scalar, Series, or array-like\n Content of the inserted column.\nallow_duplicates : bool, optional, default lib.no_default\n Allow duplicate column labels to be created.\n\nSee Also\n--------\nIndex.insert : Insert new item by index.\n\nExamples\n--------\n>>> df = pd.DataFrame({'col1': [1, 2], 'col2': [3, 4]})\n>>> df\n col1 col2\n0 1 3\n1 2 4\n>>> df.insert(1, \"newcol\", [99, 99])\n>>> df\n col1 newcol col2\n0 1 99 3\n1 2 99 4\n>>> df.insert(0, \"col1\", [100, 100], allow_duplicates=True)\n>>> df\n col1 col1 newcol col2\n0 100 1 99 3\n1 100 2 99 4\n\nNotice that pandas uses index alignment in case of `value` from type `Series`:\n\n>>> df.insert(0, \"col0\", pd.Series([5, 6], index=[1, 2]))\n>>> df\n col0 col1 col1 newcol col2\n0 NaN 100 1 99 3\n1 5.0 100 2 99 4\n"}, "kind": 2, "label": "insert", "sortText": " 81"}, {"detail": "Overload[(method: Literal[\"linear\", \"time\", \"index\", \"values\", \"nearest\", ... omitted 13 literals] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., limit: int | None = ..., inplace: Literal[False] = ..., limit_direction: Literal[\"forward\", \"backward\", \"both\"] | None = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: Literal[\"infer\"] | None | _NoDefault = ..., **kwargs) -> DataFrame, (method: Literal[\"linear\", \"time\", \"index\", \"values\", \"nearest\", ... omitted 13 literals] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., limit: int | None = ..., inplace: Literal[True], limit_direction: Literal[\"forward\", \"backward\", \"both\"] | None = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: Literal[\"infer\"] | None | _NoDefault = ..., **kwargs) -> None, (method: Literal[\"linear\", \"time\", \"index\", \"values\", \"nearest\", ... omitted 13 literals] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., limit: int | None = ..., inplace: bool = ..., limit_direction: Literal[\"forward\", \"backward\", \"both\"] | None = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: Literal[\"infer\"] | None | _NoDefault = ..., **kwargs) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Fill NaN values using an interpolation method.\n\nPlease note that only ``method='linear'`` is supported for\nDataFrame/Series with a MultiIndex.\n\nParameters\n----------\nmethod : str, default 'linear'\n Interpolation technique to use. One of:\n\n * 'linear': Ignore the index and treat the values as equally\n spaced. This is the only method supported on MultiIndexes.\n * 'time': Works on daily and higher resolution data to interpolate\n given length of interval.\n * 'index', 'values': use the actual numerical values of the index.\n * 'pad': Fill in NaNs using existing values.\n * 'nearest', 'zero', 'slinear', 'quadratic', 'cubic',\n 'barycentric', 'polynomial': Passed to\n `scipy.interpolate.interp1d`, whereas 'spline' is passed to\n `scipy.interpolate.UnivariateSpline`. These methods use the numerical\n values of the index. Both 'polynomial' and 'spline' require that\n you also specify an `order` (int), e.g.\n ``df.interpolate(method='polynomial', order=5)``. Note that,\n `slinear` method in Pandas refers to the Scipy first order `spline`\n instead of Pandas first order `spline`.\n * 'krogh', 'piecewise_polynomial', 'spline', 'pchip', 'akima',\n 'cubicspline': Wrappers around the SciPy interpolation methods of\n similar names. See `Notes`.\n * 'from_derivatives': Refers to\n `scipy.interpolate.BPoly.from_derivatives`.\n\naxis : {{0 or 'index', 1 or 'columns', None}}, default None\n Axis to interpolate along. For `Series` this parameter is unused\n and defaults to 0.\nlimit : int, optional\n Maximum number of consecutive NaNs to fill. Must be greater than\n 0.\ninplace : bool, default False\n Update the data in place if possible.\nlimit_direction : {{'forward', 'backward', 'both'}}, Optional\n Consecutive NaNs will be filled in this direction.\n\n If limit is specified:\n * If 'method' is 'pad' or 'ffill', 'limit_direction' must be 'forward'.\n * If 'method' is 'backfill' or 'bfill', 'limit_direction' must be\n 'backwards'.\n\n If 'limit' is not specified:\n * If 'method' is 'backfill' or 'bfill', the default is 'backward'\n * else the default is 'forward'\n\n raises ValueError if `limit_direction` is 'forward' or 'both' and\n method is 'backfill' or 'bfill'.\n raises ValueError if `limit_direction` is 'backward' or 'both' and\n method is 'pad' or 'ffill'.\n\nlimit_area : {{`None`, 'inside', 'outside'}}, default None\n If limit is specified, consecutive NaNs will be filled with this\n restriction.\n\n * ``None``: No fill restriction.\n * 'inside': Only fill NaNs surrounded by valid values\n (interpolate).\n * 'outside': Only fill NaNs outside valid values (extrapolate).\n\ndowncast : optional, 'infer' or None, defaults to None\n Downcast dtypes if possible.\n\n .. deprecated:: 2.1.0\n\n``**kwargs`` : optional\n Keyword arguments to pass on to the interpolating function.\n\nReturns\n-------\nSeries or DataFrame or None\n Returns the same object type as the caller, interpolated at\n some or all ``NaN`` values or None if ``inplace=True``.\n\nSee Also\n--------\nfillna : Fill missing values using different methods.\nscipy.interpolate.Akima1DInterpolator : Piecewise cubic polynomials\n (Akima interpolator).\nscipy.interpolate.BPoly.from_derivatives : Piecewise polynomial in the\n Bernstein basis.\nscipy.interpolate.interp1d : Interpolate a 1-D function.\nscipy.interpolate.KroghInterpolator : Interpolate polynomial (Krogh\n interpolator).\nscipy.interpolate.PchipInterpolator : PCHIP 1-d monotonic cubic\n interpolation.\nscipy.interpolate.CubicSpline : Cubic spline data interpolator.\n\nNotes\n-----\nThe 'krogh', 'piecewise_polynomial', 'spline', 'pchip' and 'akima'\nmethods are wrappers around the respective SciPy implementations of\nsimilar names. These use the actual numerical values of the index.\nFor more information on their behavior, see the\n`SciPy documentation\n`__.\n\nExamples\n--------\nFilling in ``NaN`` in a :class:`~pandas.Series` via linear\ninterpolation.\n\n>>> s = pd.Series([0, 1, np.nan, 3])\n>>> s\n0 0.0\n1 1.0\n2 NaN\n3 3.0\ndtype: float64\n>>> s.interpolate()\n0 0.0\n1 1.0\n2 2.0\n3 3.0\ndtype: float64\n\nFilling in ``NaN`` in a Series via polynomial interpolation or splines:\nBoth 'polynomial' and 'spline' methods require that you also specify\nan ``order`` (int).\n\n>>> s = pd.Series([0, 2, np.nan, 8])\n>>> s.interpolate(method='polynomial', order=2)\n0 0.000000\n1 2.000000\n2 4.666667\n3 8.000000\ndtype: float64\n\nFill the DataFrame forward (that is, going down) along each column\nusing linear interpolation.\n\nNote how the last entry in column 'a' is interpolated differently,\nbecause there is no entry after it to use for interpolation.\nNote how the first entry in column 'b' remains ``NaN``, because there\nis no entry before it to use for interpolation.\n\n>>> df = pd.DataFrame([(0.0, np.nan, -1.0, 1.0),\n... (np.nan, 2.0, np.nan, np.nan),\n... (2.0, 3.0, np.nan, 9.0),\n... (np.nan, 4.0, -4.0, 16.0)],\n... columns=list('abcd'))\n>>> df\n a b c d\n0 0.0 NaN -1.0 1.0\n1 NaN 2.0 NaN NaN\n2 2.0 3.0 NaN 9.0\n3 NaN 4.0 -4.0 16.0\n>>> df.interpolate(method='linear', limit_direction='forward', axis=0)\n a b c d\n0 0.0 NaN -1.0 1.0\n1 1.0 2.0 -2.0 5.0\n2 2.0 3.0 -3.0 9.0\n3 2.0 4.0 -4.0 16.0\n\nUsing polynomial interpolation.\n\n>>> df['d'].interpolate(method='polynomial', order=2)\n0 1.0\n1 4.0\n2 9.0\n3 16.0\nName: d, dtype: float64\n"}, "kind": 2, "label": "interpolate", "sortText": " 82"}, {"detail": "bound method DataFrame.isetitem(loc, value) -> None", "documentation": {"kind": "plaintext", "value": "Set the given value in the column with position `loc`.\n\nThis is a positional analogue to ``__setitem__``.\n\nParameters\n----------\nloc : int or sequence of ints\n Index position for the column.\nvalue : scalar or arraylike\n Value(s) for the column.\n\nNotes\n-----\n``frame.isetitem(loc, value)`` is an in-place method as it will\nmodify the DataFrame in place (not returning a new object). In contrast to\n``frame.iloc[:, i] = value`` which will try to update the existing values in\nplace, ``frame.isetitem(loc, value)`` will not update the values of the column\nitself in place, it will instead insert a new array.\n\nIn cases where ``frame.columns`` is unique, this is equivalent to\n``frame[frame.columns[i]] = value``.\n"}, "kind": 2, "label": "isetitem", "sortText": " 83"}, {"detail": "bound method DataFrame.isin(values: Series | DataFrame | Sequence[Unknown] | Mapping[Unknown, Unknown]) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Whether each element in the DataFrame is contained in values.\n\nParameters\n----------\nvalues : iterable, Series, DataFrame or dict\n The result will only be true at a location if all the\n labels match. If `values` is a Series, that's the index. If\n `values` is a dict, the keys must be the column names,\n which must match. If `values` is a DataFrame,\n then both the index and column labels must match.\n\nReturns\n-------\nDataFrame\n DataFrame of booleans showing whether each element in the DataFrame\n is contained in values.\n\nSee Also\n--------\nDataFrame.eq: Equality test for DataFrame.\nSeries.isin: Equivalent method on Series.\nSeries.str.contains: Test if pattern or regex is contained within a\n string of a Series or Index.\n\nExamples\n--------\n>>> df = pd.DataFrame({'num_legs': [2, 4], 'num_wings': [2, 0]},\n... index=['falcon', 'dog'])\n>>> df\n num_legs num_wings\nfalcon 2 2\ndog 4 0\n\nWhen ``values`` is a list check whether every value in the DataFrame\nis present in the list (which animals have 0 or 2 legs or wings)\n\n>>> df.isin([0, 2])\n num_legs num_wings\nfalcon True True\ndog False True\n\nTo check if ``values`` is *not* in the DataFrame, use the ``~`` operator:\n\n>>> ~df.isin([0, 2])\n num_legs num_wings\nfalcon False False\ndog True False\n\nWhen ``values`` is a dict, we can pass values to check for each\ncolumn separately:\n\n>>> df.isin({'num_wings': [0, 3]})\n num_legs num_wings\nfalcon False False\ndog False True\n\nWhen ``values`` is a Series or DataFrame the index and column must\nmatch. Note that 'falcon' does not match based on the number of legs\nin other.\n\n>>> other = pd.DataFrame({'num_legs': [8, 3], 'num_wings': [0, 2]},\n... index=['spider', 'falcon'])\n>>> df.isin(other)\n num_legs num_wings\nfalcon False True\ndog False False\n"}, "kind": 2, "label": "isin", "sortText": " 84"}, {"detail": "bound method DataFrame.isna() -> DataFrame", "kind": 2, "label": "isna", "sortText": " 85"}, {"detail": "bound method DataFrame.isnull() -> DataFrame", "documentation": {"kind": "plaintext", "value": "DataFrame.isnull is an alias for DataFrame.isna.\n"}, "kind": 2, "label": "isnull", "sortText": " 86"}, {"detail": "bound method DataFrame.items() -> Iterable[tuple[Hashable, Series]]", "kind": 2, "label": "items", "sortText": " 87"}, {"detail": "bound method DataFrame.iterrows() -> Iterable[tuple[Hashable, Series]]", "documentation": {"kind": "plaintext", "value": "Iterate over DataFrame rows as (index, Series) pairs.\n\nYields\n------\nindex : label or tuple of label\n The index of the row. A tuple for a `MultiIndex`.\ndata : Series\n The data of the row as a Series.\n\nSee Also\n--------\nDataFrame.itertuples : Iterate over DataFrame rows as namedtuples of the values.\nDataFrame.items : Iterate over (column name, Series) pairs.\n\nNotes\n-----\n1. Because ``iterrows`` returns a Series for each row,\n it does **not** preserve dtypes across the rows (dtypes are\n preserved across columns for DataFrames).\n\n To preserve dtypes while iterating over the rows, it is better\n to use :meth:`itertuples` which returns namedtuples of the values\n and which is generally faster than ``iterrows``.\n\n2. You should **never modify** something you are iterating over.\n This is not guaranteed to work in all cases. Depending on the\n data types, the iterator returns a copy and not a view, and writing\n to it will have no effect.\n\nExamples\n--------\n\n>>> df = pd.DataFrame([[1, 1.5]], columns=['int', 'float'])\n>>> row = next(df.iterrows())[1]\n>>> row\nint 1.0\nfloat 1.5\nName: 0, dtype: float64\n>>> print(row['int'].dtype)\nfloat64\n>>> print(df['int'].dtype)\nint64\n"}, "kind": 2, "label": "iterrows", "sortText": " 88"}, {"detail": "bound method DataFrame.itertuples(index: bool = True, name: str | None = \"Pandas\") -> Iterable[tuple[Any, ...]]", "documentation": {"kind": "plaintext", "value": "Iterate over DataFrame rows as namedtuples.\n\nParameters\n----------\nindex : bool, default True\n If True, return the index as the first element of the tuple.\nname : str or None, default \"Pandas\"\n The name of the returned namedtuples or None to return regular\n tuples.\n\nReturns\n-------\niterator\n An object to iterate over namedtuples for each row in the\n DataFrame with the first field possibly being the index and\n following fields being the column values.\n\nSee Also\n--------\nDataFrame.iterrows : Iterate over DataFrame rows as (index, Series)\n pairs.\nDataFrame.items : Iterate over (column name, Series) pairs.\n\nNotes\n-----\nThe column names will be renamed to positional names if they are\ninvalid Python identifiers, repeated, or start with an underscore.\n\nExamples\n--------\n>>> df = pd.DataFrame({'num_legs': [4, 2], 'num_wings': [0, 2]},\n... index=['dog', 'hawk'])\n>>> df\n num_legs num_wings\ndog 4 0\nhawk 2 2\n>>> for row in df.itertuples():\n... print(row)\n...\nPandas(Index='dog', num_legs=4, num_wings=0)\nPandas(Index='hawk', num_legs=2, num_wings=2)\n\nBy setting the `index` parameter to False we can remove the index\nas the first element of the tuple:\n\n>>> for row in df.itertuples(index=False):\n... print(row)\n...\nPandas(num_legs=4, num_wings=0)\nPandas(num_legs=2, num_wings=2)\n\nWith the `name` parameter set we set a custom name for the yielded\nnamedtuples:\n\n>>> for row in df.itertuples(name='Animal'):\n... print(row)\n...\nAnimal(Index='dog', num_legs=4, num_wings=0)\nAnimal(Index='hawk', num_legs=2, num_wings=2)\n"}, "kind": 2, "label": "itertuples", "sortText": " 89"}, {"detail": "bound method DataFrame.join(other: DataFrame | Series | Iterable[DataFrame | Series], on: Hashable | Sequence[Hashable] = None, how: Literal[\"left\", \"right\", \"inner\", \"outer\", \"cross\"] = \"left\", lsuffix: str = \"\", rsuffix: str = \"\", sort: bool = False, validate: Literal[\"one_to_one\", \"1:1\", \"one_to_many\", \"1:m\", \"many_to_one\", ... omitted 3 literals] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Join columns of another DataFrame.\n\nJoin columns with `other` DataFrame either on index or on a key\ncolumn. Efficiently join multiple DataFrame objects by index at once by\npassing a list.\n\nParameters\n----------\nother : DataFrame, Series, or a list containing any combination of them\n Index should be similar to one of the columns in this one. If a\n Series is passed, its name attribute must be set, and that will be\n used as the column name in the resulting joined DataFrame.\non : str, list of str, or array-like, optional\n Column or index level name(s) in the caller to join on the index\n in `other`, otherwise joins index-on-index. If multiple\n values given, the `other` DataFrame must have a MultiIndex. Can\n pass an array as the join key if it is not already contained in\n the calling DataFrame. Like an Excel VLOOKUP operation.\nhow : {'left', 'right', 'outer', 'inner', 'cross'}, default 'left'\n How to handle the operation of the two objects.\n\n * left: use calling frame's index (or column if on is specified)\n * right: use `other`'s index.\n * outer: form union of calling frame's index (or column if on is\n specified) with `other`'s index, and sort it lexicographically.\n * inner: form intersection of calling frame's index (or column if\n on is specified) with `other`'s index, preserving the order\n of the calling's one.\n * cross: creates the cartesian product from both frames, preserves the order\n of the left keys.\nlsuffix : str, default ''\n Suffix to use from left frame's overlapping columns.\nrsuffix : str, default ''\n Suffix to use from right frame's overlapping columns.\nsort : bool, default False\n Order result DataFrame lexicographically by the join key. If False,\n the order of the join key depends on the join type (how keyword).\nvalidate : str, optional\n If specified, checks if join is of specified type.\n\n * \"one_to_one\" or \"1:1\": check if join keys are unique in both left\n and right datasets.\n * \"one_to_many\" or \"1:m\": check if join keys are unique in left dataset.\n * \"many_to_one\" or \"m:1\": check if join keys are unique in right dataset.\n * \"many_to_many\" or \"m:m\": allowed, but does not result in checks.\n\n .. versionadded:: 1.5.0\n\nReturns\n-------\nDataFrame\n A dataframe containing columns from both the caller and `other`.\n\nSee Also\n--------\nDataFrame.merge : For column(s)-on-column(s) operations.\n\nNotes\n-----\nParameters `on`, `lsuffix`, and `rsuffix` are not supported when\npassing a list of `DataFrame` objects.\n\nExamples\n--------\n>>> df = pd.DataFrame({'key': ['K0', 'K1', 'K2', 'K3', 'K4', 'K5'],\n... 'A': ['A0', 'A1', 'A2', 'A3', 'A4', 'A5']})\n\n>>> df\n key A\n0 K0 A0\n1 K1 A1\n2 K2 A2\n3 K3 A3\n4 K4 A4\n5 K5 A5\n\n>>> other = pd.DataFrame({'key': ['K0', 'K1', 'K2'],\n... 'B': ['B0', 'B1', 'B2']})\n\n>>> other\n key B\n0 K0 B0\n1 K1 B1\n2 K2 B2\n\nJoin DataFrames using their indexes.\n\n>>> df.join(other, lsuffix='_caller', rsuffix='_other')\n key_caller A key_other B\n0 K0 A0 K0 B0\n1 K1 A1 K1 B1\n2 K2 A2 K2 B2\n3 K3 A3 NaN NaN\n4 K4 A4 NaN NaN\n5 K5 A5 NaN NaN\n\nIf we want to join using the key columns, we need to set key to be\nthe index in both `df` and `other`. The joined DataFrame will have\nkey as its index.\n\n>>> df.set_index('key').join(other.set_index('key'))\n A B\nkey\nK0 A0 B0\nK1 A1 B1\nK2 A2 B2\nK3 A3 NaN\nK4 A4 NaN\nK5 A5 NaN\n\nAnother option to join using the key columns is to use the `on`\nparameter. DataFrame.join always uses `other`'s index but we can use\nany column in `df`. This method preserves the original DataFrame's\nindex in the result.\n\n>>> df.join(other.set_index('key'), on='key')\n key A B\n0 K0 A0 B0\n1 K1 A1 B1\n2 K2 A2 B2\n3 K3 A3 NaN\n4 K4 A4 NaN\n5 K5 A5 NaN\n\nUsing non-unique key values shows how they are matched.\n\n>>> df = pd.DataFrame({'key': ['K0', 'K1', 'K1', 'K3', 'K0', 'K1'],\n... 'A': ['A0', 'A1', 'A2', 'A3', 'A4', 'A5']})\n\n>>> df\n key A\n0 K0 A0\n1 K1 A1\n2 K1 A2\n3 K3 A3\n4 K0 A4\n5 K1 A5\n\n>>> df.join(other.set_index('key'), on='key', validate='m:1')\n key A B\n0 K0 A0 B0\n1 K1 A1 B1\n2 K1 A2 B1\n3 K3 A3 NaN\n4 K0 A4 B0\n5 K1 A5 B1\n"}, "kind": 2, "label": "join", "sortText": " 90"}, {"detail": "bound method DataFrame.keys() -> Index", "documentation": {"kind": "plaintext", "value": "Get the 'info axis' (see Indexing for more).\n\nThis is index for Series, columns for DataFrame.\n\nReturns\n-------\nIndex\n Info axis.\n\nExamples\n--------\n>>> d = pd.DataFrame(data={'A': [1, 2, 3], 'B': [0, 4, 8]},\n... index=['a', 'b', 'c'])\n>>> d\n A B\na 1 0\nb 2 4\nc 3 8\n>>> d.keys()\nIndex(['A', 'B'], dtype='object')\n"}, "kind": 2, "label": "keys", "sortText": " 91"}, {"detail": "bound method DataFrame.kurt(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "kurt", "sortText": " 92"}, {"detail": "(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 3, "label": "kurtosis", "sortText": " 93"}, {"detail": "bound method DataFrame.last(offset) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Select final periods of time series data based on a date offset.\n\n.. deprecated:: 2.1\n :meth:`.last` is deprecated and will be removed in a future version.\n Please create a mask and filter using `.loc` instead.\n\nFor a DataFrame with a sorted DatetimeIndex, this function\nselects the last few rows based on a date offset.\n\nParameters\n----------\noffset : str, DateOffset, dateutil.relativedelta\n The offset length of the data that will be selected. For instance,\n '3D' will display all the rows having their index within the last 3 days.\n\nReturns\n-------\nSeries or DataFrame\n A subset of the caller.\n\nRaises\n------\nTypeError\n If the index is not a :class:`DatetimeIndex`\n\nSee Also\n--------\nfirst : Select initial periods of time series based on a date offset.\nat_time : Select values at a particular time of the day.\nbetween_time : Select values between particular times of the day.\n\nNotes\n-----\n.. deprecated:: 2.1.0\n Please create a mask and filter using `.loc` instead\n\nExamples\n--------\n>>> i = pd.date_range('2018-04-09', periods=4, freq='2D')\n>>> ts = pd.DataFrame({'A': [1, 2, 3, 4]}, index=i)\n>>> ts\n A\n2018-04-09 1\n2018-04-11 2\n2018-04-13 3\n2018-04-15 4\n\nGet the rows for the last 3 days:\n\n>>> ts.last('3D') # doctest: +SKIP\n A\n2018-04-13 3\n2018-04-15 4\n\nNotice the data for 3 last calendar days were returned, not the last\n3 observed days in the dataset, and therefore data for 2018-04-11 was\nnot returned.\n"}, "kind": 2, "label": "last", "sortText": " 94"}, {"detail": "bound method DataFrame.last_valid_index() -> Hashable", "kind": 2, "label": "last_valid_index", "sortText": " 95"}, {"detail": "bound method DataFrame.le(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "le", "sortText": " 96"}, {"detail": "_LocIndexer", "kind": 22, "label": "loc", "sortText": " 97"}, {"detail": "bound method DataFrame.lt(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "lt", "sortText": " 98"}, {"detail": "bound method DataFrame.map(func: (Any, /) -> Any, na_action: str | None = None, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Apply a function to a Dataframe elementwise.\n\n.. versionadded:: 2.1.0\n\n DataFrame.applymap was deprecated and renamed to DataFrame.map.\n\nThis method applies a function that accepts and returns a scalar\nto every element of a DataFrame.\n\nParameters\n----------\nfunc : callable\n Python function, returns a single value from a single value.\nna_action : {None, 'ignore'}, default None\n If 'ignore', propagate NaN values, without passing them to func.\n**kwargs\n Additional keyword arguments to pass as keywords arguments to\n `func`.\n\nReturns\n-------\nDataFrame\n Transformed DataFrame.\n\nSee Also\n--------\nDataFrame.apply : Apply a function along input axis of DataFrame.\nDataFrame.replace: Replace values given in `to_replace` with `value`.\nSeries.map : Apply a function elementwise on a Series.\n\nExamples\n--------\n>>> df = pd.DataFrame([[1, 2.12], [3.356, 4.567]])\n>>> df\n 0 1\n0 1.000 2.120\n1 3.356 4.567\n\n>>> df.map(lambda x: len(str(x)))\n 0 1\n0 3 4\n1 5 5\n\nLike Series.map, NA values can be ignored:\n\n>>> df_copy = df.copy()\n>>> df_copy.iloc[0, 0] = pd.NA\n>>> df_copy.map(lambda x: len(str(x)), na_action='ignore')\n 0 1\n0 NaN 4\n1 5.0 5\n\nIt is also possible to use `map` with functions that are not\n`lambda` functions:\n\n>>> df.map(round, ndigits=1)\n 0 1\n0 1.0 2.1\n1 3.4 4.6\n\nNote that a vectorized version of `func` often exists, which will\nbe much faster. You could square each number elementwise.\n\n>>> df.map(lambda x: x**2)\n 0 1\n0 1.000000 4.494400\n1 11.262736 20.857489\n\nBut it's better to avoid map in that case.\n\n>>> df ** 2\n 0 1\n0 1.000000 4.494400\n1 11.262736 20.857489\n"}, "kind": 2, "label": "map", "sortText": " 99"}, {"detail": "Overload[(cond, other=..., *, inplace: Literal[False] = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> DataFrame, (cond, other=..., *, inplace: Literal[True], axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> None, (cond, other=..., *, inplace: bool = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> DataFrame | None]", "kind": 2, "label": "mask", "sortText": "100"}, {"detail": "bound method DataFrame.max(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "max", "sortText": "101"}, {"detail": "bound method DataFrame.mean(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "mean", "sortText": "102"}, {"detail": "bound method DataFrame.median(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "median", "sortText": "103"}, {"detail": "bound method DataFrame.melt(id_vars=None, value_vars=None, var_name=None, value_name: Hashable = \"value\", col_level: Hashable = None, ignore_index: bool = True) -> DataFrame", "kind": 2, "label": "melt", "sortText": "104"}, {"detail": "bound method DataFrame.memory_usage(index: bool = True, deep: bool = False) -> Series", "documentation": {"kind": "plaintext", "value": "Return the memory usage of each column in bytes.\n\nThe memory usage can optionally include the contribution of\nthe index and elements of `object` dtype.\n\nThis value is displayed in `DataFrame.info` by default. This can be\nsuppressed by setting ``pandas.options.display.memory_usage`` to False.\n\nParameters\n----------\nindex : bool, default True\n Specifies whether to include the memory usage of the DataFrame's\n index in returned Series. If ``index=True``, the memory usage of\n the index is the first item in the output.\ndeep : bool, default False\n If True, introspect the data deeply by interrogating\n `object` dtypes for system-level memory consumption, and include\n it in the returned values.\n\nReturns\n-------\nSeries\n A Series whose index is the original column names and whose values\n is the memory usage of each column in bytes.\n\nSee Also\n--------\nnumpy.ndarray.nbytes : Total bytes consumed by the elements of an\n ndarray.\nSeries.memory_usage : Bytes consumed by a Series.\nCategorical : Memory-efficient array for string values with\n many repeated values.\nDataFrame.info : Concise summary of a DataFrame.\n\nNotes\n-----\nSee the :ref:`Frequently Asked Questions ` for more\ndetails.\n\nExamples\n--------\n>>> dtypes = ['int64', 'float64', 'complex128', 'object', 'bool']\n>>> data = dict([(t, np.ones(shape=5000, dtype=int).astype(t))\n... for t in dtypes])\n>>> df = pd.DataFrame(data)\n>>> df.head()\n int64 float64 complex128 object bool\n0 1 1.0 1.0+0.0j 1 True\n1 1 1.0 1.0+0.0j 1 True\n2 1 1.0 1.0+0.0j 1 True\n3 1 1.0 1.0+0.0j 1 True\n4 1 1.0 1.0+0.0j 1 True\n\n>>> df.memory_usage()\nIndex 128\nint64 40000\nfloat64 40000\ncomplex128 80000\nobject 40000\nbool 5000\ndtype: int64\n\n>>> df.memory_usage(index=False)\nint64 40000\nfloat64 40000\ncomplex128 80000\nobject 40000\nbool 5000\ndtype: int64\n\nThe memory footprint of `object` dtype columns is ignored by default:\n\n>>> df.memory_usage(deep=True)\nIndex 128\nint64 40000\nfloat64 40000\ncomplex128 80000\nobject 180000\nbool 5000\ndtype: int64\n\nUse a Categorical for efficient storage of an object-dtype column with\nmany repeated values.\n\n>>> df['object'].astype('category').memory_usage(deep=True)\n5244\n"}, "kind": 2, "label": "memory_usage", "sortText": "105"}, {"detail": "bound method DataFrame.merge(right: DataFrame | Series, how: Literal[\"left\", \"right\", \"inner\", \"outer\", \"cross\"] = \"inner\", on: Hashable | Sequence[Hashable] | ExtensionArray | ... omitted 3 union elements = None, left_on: Hashable | Sequence[Hashable] | ExtensionArray | ... omitted 3 union elements = None, right_on: Hashable | Sequence[Hashable] | ExtensionArray | ... omitted 3 union elements = None, left_index: bool = False, right_index: bool = False, sort: bool = False, suffixes: tuple[str | None, str | None] = ..., copy: bool | None = None, indicator: str | bool = False, validate: Literal[\"one_to_one\", \"1:1\", \"one_to_many\", \"1:m\", \"many_to_one\", ... omitted 3 literals] | None = None) -> DataFrame", "kind": 2, "label": "merge", "sortText": "106"}, {"detail": "bound method DataFrame.min(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "min", "sortText": "107"}, {"detail": "bound method DataFrame.mod(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "mod", "sortText": "108"}, {"detail": "bound method DataFrame.mode(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, numeric_only: bool = False, dropna: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Get the mode(s) of each element along the selected axis.\n\nThe mode of a set of values is the value that appears most often.\nIt can be multiple values.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to iterate over while searching for the mode:\n\n * 0 or 'index' : get mode of each column\n * 1 or 'columns' : get mode of each row.\n\nnumeric_only : bool, default False\n If True, only apply to numeric columns.\ndropna : bool, default True\n Don't consider counts of NaN/NaT.\n\nReturns\n-------\nDataFrame\n The modes of each column or row.\n\nSee Also\n--------\nSeries.mode : Return the highest frequency value in a Series.\nSeries.value_counts : Return the counts of values in a Series.\n\nExamples\n--------\n>>> df = pd.DataFrame([('bird', 2, 2),\n... ('mammal', 4, np.nan),\n... ('arthropod', 8, 0),\n... ('bird', 2, np.nan)],\n... index=('falcon', 'horse', 'spider', 'ostrich'),\n... columns=('species', 'legs', 'wings'))\n>>> df\n species legs wings\nfalcon bird 2 2.0\nhorse mammal 4 NaN\nspider arthropod 8 0.0\nostrich bird 2 NaN\n\nBy default, missing values are not considered, and the mode of wings\nare both 0 and 2. Because the resulting DataFrame has two rows,\nthe second row of ``species`` and ``legs`` contains ``NaN``.\n\n>>> df.mode()\n species legs wings\n0 bird 2.0 0.0\n1 NaN NaN 2.0\n\nSetting ``dropna=False`` ``NaN`` values are considered and they can be\nthe mode (like for wings).\n\n>>> df.mode(dropna=False)\n species legs wings\n0 bird 2 NaN\n\nSetting ``numeric_only=True``, only the mode of numeric columns is\ncomputed, and columns of other types are ignored.\n\n>>> df.mode(numeric_only=True)\n legs wings\n0 2.0 0.0\n1 NaN 2.0\n\nTo compute the mode over columns and not rows, use the axis parameter:\n\n>>> df.mode(axis='columns', numeric_only=True)\n 0 1\nfalcon 2.0 NaN\nhorse 4.0 NaN\nspider 0.0 8.0\nostrich 2.0 NaN\n"}, "kind": 2, "label": "mode", "sortText": "109"}, {"detail": "bound method DataFrame.mul(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "mul", "sortText": "110"}, {"detail": "(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 3, "label": "multiply", "sortText": "111"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "name", "sortText": "112"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "ndim", "sortText": "113"}, {"detail": "bound method DataFrame.ne(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "ne", "sortText": "114"}, {"detail": "bound method DataFrame.nlargest(n: int, columns: Hashable | Sequence[Hashable], keep: Literal[\"first\", \"last\", \"all\"] = \"first\") -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the first `n` rows ordered by `columns` in descending order.\n\nReturn the first `n` rows with the largest values in `columns`, in\ndescending order. The columns that are not specified are returned as\nwell, but not used for ordering.\n\nThis method is equivalent to\n``df.sort_values(columns, ascending=False).head(n)``, but more\nperformant.\n\nParameters\n----------\nn : int\n Number of rows to return.\ncolumns : label or list of labels\n Column label(s) to order by.\nkeep : {'first', 'last', 'all'}, default 'first'\n Where there are duplicate values:\n\n - ``first`` : prioritize the first occurrence(s)\n - ``last`` : prioritize the last occurrence(s)\n - ``all`` : keep all the ties of the smallest item even if it means\n selecting more than ``n`` items.\n\nReturns\n-------\nDataFrame\n The first `n` rows ordered by the given columns in descending\n order.\n\nSee Also\n--------\nDataFrame.nsmallest : Return the first `n` rows ordered by `columns` in\n ascending order.\nDataFrame.sort_values : Sort DataFrame by the values.\nDataFrame.head : Return the first `n` rows without re-ordering.\n\nNotes\n-----\nThis function cannot be used with all column types. For example, when\nspecifying columns with `object` or `category` dtypes, ``TypeError`` is\nraised.\n\nExamples\n--------\n>>> df = pd.DataFrame({'population': [59000000, 65000000, 434000,\n... 434000, 434000, 337000, 11300,\n... 11300, 11300],\n... 'GDP': [1937894, 2583560 , 12011, 4520, 12128,\n... 17036, 182, 38, 311],\n... 'alpha-2': [\"IT\", \"FR\", \"MT\", \"MV\", \"BN\",\n... \"IS\", \"NR\", \"TV\", \"AI\"]},\n... index=[\"Italy\", \"France\", \"Malta\",\n... \"Maldives\", \"Brunei\", \"Iceland\",\n... \"Nauru\", \"Tuvalu\", \"Anguilla\"])\n>>> df\n population GDP alpha-2\nItaly 59000000 1937894 IT\nFrance 65000000 2583560 FR\nMalta 434000 12011 MT\nMaldives 434000 4520 MV\nBrunei 434000 12128 BN\nIceland 337000 17036 IS\nNauru 11300 182 NR\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\n\nIn the following example, we will use ``nlargest`` to select the three\nrows having the largest values in column \"population\".\n\n>>> df.nlargest(3, 'population')\n population GDP alpha-2\nFrance 65000000 2583560 FR\nItaly 59000000 1937894 IT\nMalta 434000 12011 MT\n\nWhen using ``keep='last'``, ties are resolved in reverse order:\n\n>>> df.nlargest(3, 'population', keep='last')\n population GDP alpha-2\nFrance 65000000 2583560 FR\nItaly 59000000 1937894 IT\nBrunei 434000 12128 BN\n\nWhen using ``keep='all'``, the number of element kept can go beyond ``n``\nif there are duplicate values for the smallest element, all the\nties are kept:\n\n>>> df.nlargest(3, 'population', keep='all')\n population GDP alpha-2\nFrance 65000000 2583560 FR\nItaly 59000000 1937894 IT\nMalta 434000 12011 MT\nMaldives 434000 4520 MV\nBrunei 434000 12128 BN\n\nHowever, ``nlargest`` does not keep ``n`` distinct largest elements:\n\n>>> df.nlargest(5, 'population', keep='all')\n population GDP alpha-2\nFrance 65000000 2583560 FR\nItaly 59000000 1937894 IT\nMalta 434000 12011 MT\nMaldives 434000 4520 MV\nBrunei 434000 12128 BN\n\nTo order by the largest values in column \"population\" and then \"GDP\",\nwe can specify multiple columns like in the next example.\n\n>>> df.nlargest(3, ['population', 'GDP'])\n population GDP alpha-2\nFrance 65000000 2583560 FR\nItaly 59000000 1937894 IT\nBrunei 434000 12128 BN\n"}, "kind": 2, "label": "nlargest", "sortText": "115"}, {"detail": "bound method DataFrame.notna() -> DataFrame", "kind": 2, "label": "notna", "sortText": "116"}, {"detail": "bound method DataFrame.notnull() -> DataFrame", "documentation": {"kind": "plaintext", "value": "DataFrame.notnull is an alias for DataFrame.notna.\n"}, "kind": 2, "label": "notnull", "sortText": "117"}, {"detail": "bound method DataFrame.nsmallest(n: int, columns: Hashable | Sequence[Hashable], keep: Literal[\"first\", \"last\", \"all\"] = \"first\") -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the first `n` rows ordered by `columns` in ascending order.\n\nReturn the first `n` rows with the smallest values in `columns`, in\nascending order. The columns that are not specified are returned as\nwell, but not used for ordering.\n\nThis method is equivalent to\n``df.sort_values(columns, ascending=True).head(n)``, but more\nperformant.\n\nParameters\n----------\nn : int\n Number of items to retrieve.\ncolumns : list or str\n Column name or names to order by.\nkeep : {'first', 'last', 'all'}, default 'first'\n Where there are duplicate values:\n\n - ``first`` : take the first occurrence.\n - ``last`` : take the last occurrence.\n - ``all`` : keep all the ties of the largest item even if it means\n selecting more than ``n`` items.\n\nReturns\n-------\nDataFrame\n\nSee Also\n--------\nDataFrame.nlargest : Return the first `n` rows ordered by `columns` in\n descending order.\nDataFrame.sort_values : Sort DataFrame by the values.\nDataFrame.head : Return the first `n` rows without re-ordering.\n\nExamples\n--------\n>>> df = pd.DataFrame({'population': [59000000, 65000000, 434000,\n... 434000, 434000, 337000, 337000,\n... 11300, 11300],\n... 'GDP': [1937894, 2583560 , 12011, 4520, 12128,\n... 17036, 182, 38, 311],\n... 'alpha-2': [\"IT\", \"FR\", \"MT\", \"MV\", \"BN\",\n... \"IS\", \"NR\", \"TV\", \"AI\"]},\n... index=[\"Italy\", \"France\", \"Malta\",\n... \"Maldives\", \"Brunei\", \"Iceland\",\n... \"Nauru\", \"Tuvalu\", \"Anguilla\"])\n>>> df\n population GDP alpha-2\nItaly 59000000 1937894 IT\nFrance 65000000 2583560 FR\nMalta 434000 12011 MT\nMaldives 434000 4520 MV\nBrunei 434000 12128 BN\nIceland 337000 17036 IS\nNauru 337000 182 NR\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\n\nIn the following example, we will use ``nsmallest`` to select the\nthree rows having the smallest values in column \"population\".\n\n>>> df.nsmallest(3, 'population')\n population GDP alpha-2\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\nIceland 337000 17036 IS\n\nWhen using ``keep='last'``, ties are resolved in reverse order:\n\n>>> df.nsmallest(3, 'population', keep='last')\n population GDP alpha-2\nAnguilla 11300 311 AI\nTuvalu 11300 38 TV\nNauru 337000 182 NR\n\nWhen using ``keep='all'``, the number of element kept can go beyond ``n``\nif there are duplicate values for the largest element, all the\nties are kept.\n\n>>> df.nsmallest(3, 'population', keep='all')\n population GDP alpha-2\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\nIceland 337000 17036 IS\nNauru 337000 182 NR\n\nHowever, ``nsmallest`` does not keep ``n`` distinct\nsmallest elements:\n\n>>> df.nsmallest(4, 'population', keep='all')\n population GDP alpha-2\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\nIceland 337000 17036 IS\nNauru 337000 182 NR\n\nTo order by the smallest values in column \"population\" and then \"GDP\", we can\nspecify multiple columns like in the next example.\n\n>>> df.nsmallest(3, ['population', 'GDP'])\n population GDP alpha-2\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\nNauru 337000 182 NR\n"}, "kind": 2, "label": "nsmallest", "sortText": "118"}, {"detail": "bound method DataFrame.nunique(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, dropna: bool = True) -> Series", "documentation": {"kind": "plaintext", "value": "Count number of distinct elements in specified axis.\n\nReturn Series with number of distinct elements. Can ignore NaN\nvalues.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to use. 0 or 'index' for row-wise, 1 or 'columns' for\n column-wise.\ndropna : bool, default True\n Don't include NaN in the counts.\n\nReturns\n-------\nSeries\n\nSee Also\n--------\nSeries.nunique: Method nunique for Series.\nDataFrame.count: Count non-NA cells for each column or row.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [4, 5, 6], 'B': [4, 1, 1]})\n>>> df.nunique()\nA 3\nB 2\ndtype: int64\n\n>>> df.nunique(axis=1)\n0 1\n1 2\n2 2\ndtype: int64\n"}, "kind": 2, "label": "nunique", "sortText": "119"}, {"detail": "bound method DataFrame.pad(*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = None, inplace: bool = False, limit: None | int = None, downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame | None", "documentation": {"kind": "plaintext", "value": "Fill NA/NaN values by propagating the last valid observation to next valid.\n\n.. deprecated:: 2.0\n\n {klass}.pad is deprecated. Use {klass}.ffill instead.\n\nReturns\n-------\n{klass} or None\n Object with missing values filled or None if ``inplace=True``.\n\nExamples\n--------\nPlease see examples for :meth:`DataFrame.ffill` or :meth:`Series.ffill`.\n"}, "kind": 2, "label": "pad", "sortText": "120"}, {"detail": "bound method DataFrame.pct_change(periods: int = 1, fill_method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None | _NoDefault = ..., limit: int | None | _NoDefault = ..., freq=None, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Fractional change between the current and a prior element.\n\nComputes the fractional change from the immediately previous row by\ndefault. This is useful in comparing the fraction of change in a time\nseries of elements.\n\n.. note::\n\n Despite the name of this method, it calculates fractional change\n (also known as per unit change or relative change) and not\n percentage change. If you need the percentage change, multiply\n these values by 100.\n\nParameters\n----------\nperiods : int, default 1\n Periods to shift for forming percent change.\nfill_method : {'backfill', 'bfill', 'pad', 'ffill', None}, default 'pad'\n How to handle NAs **before** computing percent changes.\n\n .. deprecated:: 2.1\n All options of `fill_method` are deprecated except `fill_method=None`.\n\nlimit : int, default None\n The number of consecutive NAs to fill before stopping.\n\n .. deprecated:: 2.1\n\nfreq : DateOffset, timedelta, or str, optional\n Increment to use from time series API (e.g. 'ME' or BDay()).\n**kwargs\n Additional keyword arguments are passed into\n `DataFrame.shift` or `Series.shift`.\n\nReturns\n-------\nSeries or DataFrame\n The same type as the calling object.\n\nSee Also\n--------\nSeries.diff : Compute the difference of two elements in a Series.\nDataFrame.diff : Compute the difference of two elements in a DataFrame.\nSeries.shift : Shift the index by some number of periods.\nDataFrame.shift : Shift the index by some number of periods.\n\nExamples\n--------\n**Series**\n\n>>> s = pd.Series([90, 91, 85])\n>>> s\n0 90\n1 91\n2 85\ndtype: int64\n\n>>> s.pct_change()\n0 NaN\n1 0.011111\n2 -0.065934\ndtype: float64\n\n>>> s.pct_change(periods=2)\n0 NaN\n1 NaN\n2 -0.055556\ndtype: float64\n\nSee the percentage change in a Series where filling NAs with last\nvalid observation forward to next valid.\n\n>>> s = pd.Series([90, 91, None, 85])\n>>> s\n0 90.0\n1 91.0\n2 NaN\n3 85.0\ndtype: float64\n\n>>> s.ffill().pct_change()\n0 NaN\n1 0.011111\n2 0.000000\n3 -0.065934\ndtype: float64\n\n**DataFrame**\n\nPercentage change in French franc, Deutsche Mark, and Italian lira from\n1980-01-01 to 1980-03-01.\n\n>>> df = pd.DataFrame({\n... 'FR': [4.0405, 4.0963, 4.3149],\n... 'GR': [1.7246, 1.7482, 1.8519],\n... 'IT': [804.74, 810.01, 860.13]},\n... index=['1980-01-01', '1980-02-01', '1980-03-01'])\n>>> df\n FR GR IT\n1980-01-01 4.0405 1.7246 804.74\n1980-02-01 4.0963 1.7482 810.01\n1980-03-01 4.3149 1.8519 860.13\n\n>>> df.pct_change()\n FR GR IT\n1980-01-01 NaN NaN NaN\n1980-02-01 0.013810 0.013684 0.006549\n1980-03-01 0.053365 0.059318 0.061876\n\nPercentage of change in GOOG and APPL stock volume. Shows computing\nthe percentage change between columns.\n\n>>> df = pd.DataFrame({\n... '2016': [1769950, 30586265],\n... '2015': [1500923, 40912316],\n... '2014': [1371819, 41403351]},\n... index=['GOOG', 'APPL'])\n>>> df\n 2016 2015 2014\nGOOG 1769950 1500923 1371819\nAPPL 30586265 40912316 41403351\n\n>>> df.pct_change(axis='columns', periods=-1)\n 2016 2015 2014\nGOOG 0.179241 0.094112 NaN\nAPPL -0.252395 -0.011860 NaN\n"}, "kind": 2, "label": "pct_change", "sortText": "121"}, {"detail": "bound method DataFrame.pipe[T](func: ((...) -> T) | tuple[(...) -> T, str], *args, **kwargs) -> T", "documentation": {"kind": "plaintext", "value": "Apply chainable functions that expect Series or DataFrames.\n\nParameters\n----------\nfunc : function\n Function to apply to the {klass}.\n ``args``, and ``kwargs`` are passed into ``func``.\n Alternatively a ``(callable, data_keyword)`` tuple where\n ``data_keyword`` is a string indicating the keyword of\n ``callable`` that expects the {klass}.\n*args : iterable, optional\n Positional arguments passed into ``func``.\n**kwargs : mapping, optional\n A dictionary of keyword arguments passed into ``func``.\n\nReturns\n-------\nthe return type of ``func``.\n\nSee Also\n--------\nDataFrame.apply : Apply a function along input axis of DataFrame.\nDataFrame.map : Apply a function elementwise on a whole DataFrame.\nSeries.map : Apply a mapping correspondence on a\n :class:`~pandas.Series`.\n\nNotes\n-----\nUse ``.pipe`` when chaining together functions that expect\nSeries, DataFrames or GroupBy objects.\n\nExamples\n--------\nConstructing a income DataFrame from a dictionary.\n\n>>> data = [[8000, 1000], [9500, np.nan], [5000, 2000]]\n>>> df = pd.DataFrame(data, columns=['Salary', 'Others'])\n>>> df\n Salary Others\n0 8000 1000.0\n1 9500 NaN\n2 5000 2000.0\n\nFunctions that perform tax reductions on an income DataFrame.\n\n>>> def subtract_federal_tax(df):\n... return df * 0.9\n>>> def subtract_state_tax(df, rate):\n... return df * (1 - rate)\n>>> def subtract_national_insurance(df, rate, rate_increase):\n... new_rate = rate + rate_increase\n... return df * (1 - new_rate)\n\nInstead of writing\n\n>>> subtract_national_insurance(\n... subtract_state_tax(subtract_federal_tax(df), rate=0.12),\n... rate=0.05,\n... rate_increase=0.02) # doctest: +SKIP\n\nYou can write\n\n>>> (\n... df.pipe(subtract_federal_tax)\n... .pipe(subtract_state_tax, rate=0.12)\n... .pipe(subtract_national_insurance, rate=0.05, rate_increase=0.02)\n... )\n Salary Others\n0 5892.48 736.56\n1 6997.32 NaN\n2 3682.80 1473.12\n\nIf you have a function that takes the data as (say) the second\nargument, pass a tuple indicating which keyword expects the\ndata. For example, suppose ``national_insurance`` takes its data as ``df``\nin the second argument:\n\n>>> def subtract_national_insurance(rate, df, rate_increase):\n... new_rate = rate + rate_increase\n... return df * (1 - new_rate)\n>>> (\n... df.pipe(subtract_federal_tax)\n... .pipe(subtract_state_tax, rate=0.12)\n... .pipe(\n... (subtract_national_insurance, 'df'),\n... rate=0.05,\n... rate_increase=0.02\n... )\n... )\n Salary Others\n0 5892.48 736.56\n1 6997.32 NaN\n2 3682.80 1473.12\n"}, "kind": 2, "label": "pipe", "sortText": "122"}, {"detail": "bound method DataFrame.pivot(*, columns, index=..., values=...) -> DataFrame", "kind": 2, "label": "pivot", "sortText": "123"}, {"detail": "bound method DataFrame.pivot_table(values=None, index=None, columns=None, aggfunc: ((...) -> Unknown) | str | list[((...) -> Unknown) | str] | MutableMapping[Hashable, ((...) -> Unknown) | str | list[((...) -> Unknown) | str]] = \"mean\", fill_value=None, margins: bool = False, dropna: bool = True, margins_name: Hashable = \"All\", observed: bool | _NoDefault = ..., sort: bool = True) -> DataFrame", "kind": 2, "label": "pivot_table", "sortText": "124"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "plot", "sortText": "125"}, {"detail": "bound method DataFrame.pop(item: Hashable) -> Series", "documentation": {"kind": "plaintext", "value": "Return item and drop from frame. Raise KeyError if not found.\n\nParameters\n----------\nitem : label\n Label of column to be popped.\n\nReturns\n-------\nSeries\n\nExamples\n--------\n>>> df = pd.DataFrame([('falcon', 'bird', 389.0),\n... ('parrot', 'bird', 24.0),\n... ('lion', 'mammal', 80.5),\n... ('monkey', 'mammal', np.nan)],\n... columns=('name', 'class', 'max_speed'))\n>>> df\n name class max_speed\n0 falcon bird 389.0\n1 parrot bird 24.0\n2 lion mammal 80.5\n3 monkey mammal NaN\n\n>>> df.pop('class')\n0 bird\n1 bird\n2 mammal\n3 mammal\nName: class, dtype: object\n\n>>> df\n name max_speed\n0 falcon 389.0\n1 parrot 24.0\n2 lion 80.5\n3 monkey NaN\n"}, "kind": 2, "label": "pop", "sortText": "126"}, {"detail": "bound method DataFrame.pow(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "pow", "sortText": "127"}, {"detail": "bound method DataFrame.prod(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, min_count: int = 0, **kwargs) -> Unknown", "kind": 2, "label": "prod", "sortText": "128"}, {"detail": "(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, min_count: int = 0, **kwargs) -> Unknown", "kind": 3, "label": "product", "sortText": "129"}, {"detail": "Overload[(q: float = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., numeric_only: bool = ..., interpolation: Literal[\"linear\", \"lower\", \"higher\", \"midpoint\", \"nearest\"] = ..., method: Literal[\"single\", \"table\"] = ...) -> Series, (q: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | Series | Sequence[float], axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., numeric_only: bool = ..., interpolation: Literal[\"linear\", \"lower\", \"higher\", \"midpoint\", \"nearest\"] = ..., method: Literal[\"single\", \"table\"] = ...) -> Series | DataFrame, (q: float | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | ... omitted 3 union elements = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., numeric_only: bool = ..., interpolation: Literal[\"linear\", \"lower\", \"higher\", \"midpoint\", \"nearest\"] = ..., method: Literal[\"single\", \"table\"] = ...) -> Series | DataFrame]", "documentation": {"kind": "plaintext", "value": "Return values at the given quantile over requested axis.\n\nParameters\n----------\nq : float or array-like, default 0.5 (50% quantile)\n Value between 0 <= q <= 1, the quantile(s) to compute.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Equals 0 or 'index' for row-wise, 1 or 'columns' for column-wise.\nnumeric_only : bool, default False\n Include only `float`, `int` or `boolean` data.\n\n .. versionchanged:: 2.0.0\n The default value of ``numeric_only`` is now ``False``.\n\ninterpolation : {'linear', 'lower', 'higher', 'midpoint', 'nearest'}\n This optional parameter specifies the interpolation method to use,\n when the desired quantile lies between two data points `i` and `j`:\n\n * linear: `i + (j - i) * fraction`, where `fraction` is the\n fractional part of the index surrounded by `i` and `j`.\n * lower: `i`.\n * higher: `j`.\n * nearest: `i` or `j` whichever is nearest.\n * midpoint: (`i` + `j`) / 2.\nmethod : {'single', 'table'}, default 'single'\n Whether to compute quantiles per-column ('single') or over all columns\n ('table'). When 'table', the only allowed interpolation methods are\n 'nearest', 'lower', and 'higher'.\n\nReturns\n-------\nSeries or DataFrame\n\n If ``q`` is an array, a DataFrame will be returned where the\n index is ``q``, the columns are the columns of self, and the\n values are the quantiles.\n If ``q`` is a float, a Series will be returned where the\n index is the columns of self and the values are the quantiles.\n\nSee Also\n--------\ncore.window.rolling.Rolling.quantile: Rolling quantile.\nnumpy.percentile: Numpy function to compute the percentile.\n\nExamples\n--------\n>>> df = pd.DataFrame(np.array([[1, 1], [2, 10], [3, 100], [4, 100]]),\n... columns=['a', 'b'])\n>>> df.quantile(.1)\na 1.3\nb 3.7\nName: 0.1, dtype: float64\n>>> df.quantile([.1, .5])\n a b\n0.1 1.3 3.7\n0.5 2.5 55.0\n\nSpecifying `method='table'` will compute the quantile over all columns.\n\n>>> df.quantile(.1, method=\"table\", interpolation=\"nearest\")\na 1\nb 1\nName: 0.1, dtype: int64\n>>> df.quantile([.1, .5], method=\"table\", interpolation=\"nearest\")\n a b\n0.1 1 1\n0.5 3 100\n\nSpecifying `numeric_only=False` will also compute the quantile of\ndatetime and timedelta data.\n\n>>> df = pd.DataFrame({'A': [1, 2],\n... 'B': [pd.Timestamp('2010'),\n... pd.Timestamp('2011')],\n... 'C': [pd.Timedelta('1 days'),\n... pd.Timedelta('2 days')]})\n>>> df.quantile(0.5, numeric_only=False)\nA 1.5\nB 2010-07-02 12:00:00\nC 1 days 12:00:00\nName: 0.5, dtype: object\n"}, "kind": 2, "label": "quantile", "sortText": "130"}, {"detail": "Overload[(expr: str, *, inplace: Literal[False] = ..., **kwargs) -> DataFrame, (expr: str, *, inplace: Literal[True], **kwargs) -> None, (expr: str, *, inplace: bool = ..., **kwargs) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Query the columns of a DataFrame with a boolean expression.\n\nParameters\n----------\nexpr : str\n The query string to evaluate.\n\n You can refer to variables\n in the environment by prefixing them with an '@' character like\n ``@a + b``.\n\n You can refer to column names that are not valid Python variable names\n by surrounding them in backticks. Thus, column names containing spaces\n or punctuations (besides underscores) or starting with digits must be\n surrounded by backticks. (For example, a column named \"Area (cm^2)\" would\n be referenced as ```Area (cm^2)```). Column names which are Python keywords\n (like \"list\", \"for\", \"import\", etc) cannot be used.\n\n For example, if one of your columns is called ``a a`` and you want\n to sum it with ``b``, your query should be ```a a` + b``.\n\ninplace : bool\n Whether to modify the DataFrame rather than creating a new one.\n**kwargs\n See the documentation for :func:`eval` for complete details\n on the keyword arguments accepted by :meth:`DataFrame.query`.\n\nReturns\n-------\nDataFrame or None\n DataFrame resulting from the provided query expression or\n None if ``inplace=True``.\n\nSee Also\n--------\neval : Evaluate a string describing operations on\n DataFrame columns.\nDataFrame.eval : Evaluate a string describing operations on\n DataFrame columns.\n\nNotes\n-----\nThe result of the evaluation of this expression is first passed to\n:attr:`DataFrame.loc` and if that fails because of a\nmultidimensional key (e.g., a DataFrame) then the result will be passed\nto :meth:`DataFrame.__getitem__`.\n\nThis method uses the top-level :func:`eval` function to\nevaluate the passed query.\n\nThe :meth:`~pandas.DataFrame.query` method uses a slightly\nmodified Python syntax by default. For example, the ``&`` and ``|``\n(bitwise) operators have the precedence of their boolean cousins,\n:keyword:`and` and :keyword:`or`. This *is* syntactically valid Python,\nhowever the semantics are different.\n\nYou can change the semantics of the expression by passing the keyword\nargument ``parser='python'``. This enforces the same semantics as\nevaluation in Python space. Likewise, you can pass ``engine='python'``\nto evaluate an expression using Python itself as a backend. This is not\nrecommended as it is inefficient compared to using ``numexpr`` as the\nengine.\n\nThe :attr:`DataFrame.index` and\n:attr:`DataFrame.columns` attributes of the\n:class:`~pandas.DataFrame` instance are placed in the query namespace\nby default, which allows you to treat both the index and columns of the\nframe as a column in the frame.\nThe identifier ``index`` is used for the frame index; you can also\nuse the name of the index to identify it in a query. Please note that\nPython keywords may not be used as identifiers.\n\nFor further details and examples see the ``query`` documentation in\n:ref:`indexing `.\n\n*Backtick quoted variables*\n\nBacktick quoted variables are parsed as literal Python code and\nare converted internally to a Python valid identifier.\nThis can lead to the following problems.\n\nDuring parsing a number of disallowed characters inside the backtick\nquoted string are replaced by strings that are allowed as a Python identifier.\nThese characters include all operators in Python, the space character, the\nquestion mark, the exclamation mark, the dollar sign, and the euro sign.\nFor other characters that fall outside the ASCII range (U+0001..U+007F)\nand those that are not further specified in PEP 3131,\nthe query parser will raise an error.\nThis excludes whitespace different than the space character,\nbut also the hashtag (as it is used for comments) and the backtick\nitself (backtick can also not be escaped).\n\nIn a special case, quotes that make a pair around a backtick can\nconfuse the parser.\nFor example, ```it's` > `that's``` will raise an error,\nas it forms a quoted string (``'s > `that'``) with a backtick inside.\n\nSee also the Python documentation about lexical analysis\n(https://docs.python.org/3/reference/lexical_analysis.html)\nin combination with the source code in :mod:`pandas.core.computation.parsing`.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': range(1, 6),\n... 'B': range(10, 0, -2),\n... 'C C': range(10, 5, -1)})\n>>> df\n A B C C\n0 1 10 10\n1 2 8 9\n2 3 6 8\n3 4 4 7\n4 5 2 6\n>>> df.query('A > B')\n A B C C\n4 5 2 6\n\nThe previous expression is equivalent to\n\n>>> df[df.A > df.B]\n A B C C\n4 5 2 6\n\nFor columns with spaces in their name, you can use backtick quoting.\n\n>>> df.query('B == `C C`')\n A B C C\n0 1 10 10\n\nThe previous expression is equivalent to\n\n>>> df[df.B == df['C C']]\n A B C C\n0 1 10 10\n"}, "kind": 2, "label": "query", "sortText": "131"}, {"detail": "bound method DataFrame.radd(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "radd", "sortText": "132"}, {"detail": "bound method DataFrame.rank(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, method: Literal[\"average\", \"min\", \"max\", \"first\", \"dense\"] = \"average\", numeric_only: bool = False, na_option: Literal[\"keep\", \"top\", \"bottom\"] = \"keep\", ascending: bool = True, pct: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Compute numerical data ranks (1 through n) along axis.\n\nBy default, equal values are assigned a rank that is the average of the\nranks of those values.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Index to direct ranking.\n For `Series` this parameter is unused and defaults to 0.\nmethod : {'average', 'min', 'max', 'first', 'dense'}, default 'average'\n How to rank the group of records that have the same value (i.e. ties):\n\n * average: average rank of the group\n * min: lowest rank in the group\n * max: highest rank in the group\n * first: ranks assigned in order they appear in the array\n * dense: like 'min', but rank always increases by 1 between groups.\n\nnumeric_only : bool, default False\n For DataFrame objects, rank only numeric columns if set to True.\n\n .. versionchanged:: 2.0.0\n The default value of ``numeric_only`` is now ``False``.\n\nna_option : {'keep', 'top', 'bottom'}, default 'keep'\n How to rank NaN values:\n\n * keep: assign NaN rank to NaN values\n * top: assign lowest rank to NaN values\n * bottom: assign highest rank to NaN values\n\nascending : bool, default True\n Whether or not the elements should be ranked in ascending order.\npct : bool, default False\n Whether or not to display the returned rankings in percentile\n form.\n\nReturns\n-------\nsame type as caller\n Return a Series or DataFrame with data ranks as values.\n\nSee Also\n--------\ncore.groupby.DataFrameGroupBy.rank : Rank of values within each group.\ncore.groupby.SeriesGroupBy.rank : Rank of values within each group.\n\nExamples\n--------\n>>> df = pd.DataFrame(data={'Animal': ['cat', 'penguin', 'dog',\n... 'spider', 'snake'],\n... 'Number_legs': [4, 2, 4, 8, np.nan]})\n>>> df\n Animal Number_legs\n0 cat 4.0\n1 penguin 2.0\n2 dog 4.0\n3 spider 8.0\n4 snake NaN\n\nTies are assigned the mean of the ranks (by default) for the group.\n\n>>> s = pd.Series(range(5), index=list(\"abcde\"))\n>>> s[\"d\"] = s[\"b\"]\n>>> s.rank()\na 1.0\nb 2.5\nc 4.0\nd 2.5\ne 5.0\ndtype: float64\n\nThe following example shows how the method behaves with the above\nparameters:\n\n* default_rank: this is the default behaviour obtained without using\n any parameter.\n* max_rank: setting ``method = 'max'`` the records that have the\n same values are ranked using the highest rank (e.g.: since 'cat'\n and 'dog' are both in the 2nd and 3rd position, rank 3 is assigned.)\n* NA_bottom: choosing ``na_option = 'bottom'``, if there are records\n with NaN values they are placed at the bottom of the ranking.\n* pct_rank: when setting ``pct = True``, the ranking is expressed as\n percentile rank.\n\n>>> df['default_rank'] = df['Number_legs'].rank()\n>>> df['max_rank'] = df['Number_legs'].rank(method='max')\n>>> df['NA_bottom'] = df['Number_legs'].rank(na_option='bottom')\n>>> df['pct_rank'] = df['Number_legs'].rank(pct=True)\n>>> df\n Animal Number_legs default_rank max_rank NA_bottom pct_rank\n0 cat 4.0 2.5 3.0 2.5 0.625\n1 penguin 2.0 1.0 1.0 1.0 0.250\n2 dog 4.0 2.5 3.0 2.5 0.625\n3 spider 8.0 4.0 4.0 4.0 1.000\n4 snake NaN NaN NaN 5.0 NaN\n"}, "kind": 2, "label": "rank", "sortText": "133"}, {"detail": "(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 3, "label": "rdiv", "sortText": "134"}, {"detail": "bound method DataFrame.reindex(labels=None, *, index=None, columns=None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\", \"nearest\"] | None = None, copy: bool | None = None, level: Hashable = None, fill_value: str | float | Period | ... omitted 6 union elements = ..., limit: int | None = None, tolerance=None) -> DataFrame", "kind": 2, "label": "reindex", "sortText": "135"}, {"detail": "bound method DataFrame.reindex_like(other, method: Literal[\"backfill\", \"bfill\", \"pad\", \"ffill\", \"nearest\"] | None = None, copy: bool | None = None, limit: int | None = None, tolerance=None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return an object with matching indices as other object.\n\nConform the object to the same index on all axes. Optional\nfilling logic, placing NaN in locations having no value\nin the previous index. A new object is produced unless the\nnew index is equivalent to the current one and copy=False.\n\nParameters\n----------\nother : Object of the same data type\n Its row and column indices are used to define the new indices\n of this object.\nmethod : {None, 'backfill'/'bfill', 'pad'/'ffill', 'nearest'}\n Method to use for filling holes in reindexed DataFrame.\n Please note: this is only applicable to DataFrames/Series with a\n monotonically increasing/decreasing index.\n\n * None (default): don't fill gaps\n * pad / ffill: propagate last valid observation forward to next\n valid\n * backfill / bfill: use next valid observation to fill gap\n * nearest: use nearest valid observations to fill gap.\n\ncopy : bool, default True\n Return a new object, even if the passed indexes are the same.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\nlimit : int, default None\n Maximum number of consecutive labels to fill for inexact matches.\ntolerance : optional\n Maximum distance between original and new labels for inexact\n matches. The values of the index at the matching locations must\n satisfy the equation ``abs(index[indexer] - target) <= tolerance``.\n\n Tolerance may be a scalar value, which applies the same tolerance\n to all values, or list-like, which applies variable tolerance per\n element. List-like includes list, tuple, array, Series, and must be\n the same size as the index and its dtype must exactly match the\n index's type.\n\nReturns\n-------\nSeries or DataFrame\n Same type as caller, but with changed indices on each axis.\n\nSee Also\n--------\nDataFrame.set_index : Set row labels.\nDataFrame.reset_index : Remove row labels or move them to new columns.\nDataFrame.reindex : Change to new indices or expand indices.\n\nNotes\n-----\nSame as calling\n``.reindex(index=other.index, columns=other.columns,...)``.\n\nExamples\n--------\n>>> df1 = pd.DataFrame([[24.3, 75.7, 'high'],\n... [31, 87.8, 'high'],\n... [22, 71.6, 'medium'],\n... [35, 95, 'medium']],\n... columns=['temp_celsius', 'temp_fahrenheit',\n... 'windspeed'],\n... index=pd.date_range(start='2014-02-12',\n... end='2014-02-15', freq='D'))\n\n>>> df1\n temp_celsius temp_fahrenheit windspeed\n2014-02-12 24.3 75.7 high\n2014-02-13 31.0 87.8 high\n2014-02-14 22.0 71.6 medium\n2014-02-15 35.0 95.0 medium\n\n>>> df2 = pd.DataFrame([[28, 'low'],\n... [30, 'low'],\n... [35.1, 'medium']],\n... columns=['temp_celsius', 'windspeed'],\n... index=pd.DatetimeIndex(['2014-02-12', '2014-02-13',\n... '2014-02-15']))\n\n>>> df2\n temp_celsius windspeed\n2014-02-12 28.0 low\n2014-02-13 30.0 low\n2014-02-15 35.1 medium\n\n>>> df2.reindex_like(df1)\n temp_celsius temp_fahrenheit windspeed\n2014-02-12 28.0 NaN low\n2014-02-13 30.0 NaN low\n2014-02-14 NaN NaN NaN\n2014-02-15 35.1 NaN medium\n"}, "kind": 2, "label": "reindex_like", "sortText": "136"}, {"detail": "Overload[(mapper: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., *, index: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., columns: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., copy: bool | None = ..., inplace: Literal[True], level: Hashable = ..., errors: Literal[\"ignore\", \"raise\"] = ...) -> None, (mapper: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., *, index: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., columns: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., copy: bool | None = ..., inplace: Literal[False] = ..., level: Hashable = ..., errors: Literal[\"ignore\", \"raise\"] = ...) -> DataFrame, (mapper: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., *, index: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., columns: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., copy: bool | None = ..., inplace: bool = ..., level: Hashable = ..., errors: Literal[\"ignore\", \"raise\"] = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Rename columns or index labels.\n\nFunction / dict values must be unique (1-to-1). Labels not contained in\na dict / Series will be left as-is. Extra labels listed don't throw an\nerror.\n\nSee the :ref:`user guide ` for more.\n\nParameters\n----------\nmapper : dict-like or function\n Dict-like or function transformations to apply to\n that axis' values. Use either ``mapper`` and ``axis`` to\n specify the axis to target with ``mapper``, or ``index`` and\n ``columns``.\nindex : dict-like or function\n Alternative to specifying axis (``mapper, axis=0``\n is equivalent to ``index=mapper``).\ncolumns : dict-like or function\n Alternative to specifying axis (``mapper, axis=1``\n is equivalent to ``columns=mapper``).\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Axis to target with ``mapper``. Can be either the axis name\n ('index', 'columns') or number (0, 1). The default is 'index'.\ncopy : bool, default True\n Also copy underlying data.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\ninplace : bool, default False\n Whether to modify the DataFrame rather than creating a new one.\n If True then value of copy is ignored.\nlevel : int or level name, default None\n In case of a MultiIndex, only rename labels in the specified\n level.\nerrors : {'ignore', 'raise'}, default 'ignore'\n If 'raise', raise a `KeyError` when a dict-like `mapper`, `index`,\n or `columns` contains labels that are not present in the Index\n being transformed.\n If 'ignore', existing keys will be renamed and extra keys will be\n ignored.\n\nReturns\n-------\nDataFrame or None\n DataFrame with the renamed axis labels or None if ``inplace=True``.\n\nRaises\n------\nKeyError\n If any of the labels is not found in the selected axis and\n \"errors='raise'\".\n\nSee Also\n--------\nDataFrame.rename_axis : Set the name of the axis.\n\nExamples\n--------\n``DataFrame.rename`` supports two calling conventions\n\n* ``(index=index_mapper, columns=columns_mapper, ...)``\n* ``(mapper, axis={'index', 'columns'}, ...)``\n\nWe *highly* recommend using keyword arguments to clarify your\nintent.\n\nRename columns using a mapping:\n\n>>> df = pd.DataFrame({\"A\": [1, 2, 3], \"B\": [4, 5, 6]})\n>>> df.rename(columns={\"A\": \"a\", \"B\": \"c\"})\n a c\n0 1 4\n1 2 5\n2 3 6\n\nRename index using a mapping:\n\n>>> df.rename(index={0: \"x\", 1: \"y\", 2: \"z\"})\n A B\nx 1 4\ny 2 5\nz 3 6\n\nCast index labels to a different type:\n\n>>> df.index\nRangeIndex(start=0, stop=3, step=1)\n>>> df.rename(index=str).index\nIndex(['0', '1', '2'], dtype='object')\n\n>>> df.rename(columns={\"A\": \"a\", \"B\": \"b\", \"C\": \"c\"}, errors=\"raise\")\nTraceback (most recent call last):\nKeyError: ['C'] not found in axis\n\nUsing axis-style parameters:\n\n>>> df.rename(str.lower, axis='columns')\n a b\n0 1 4\n1 2 5\n2 3 6\n\n>>> df.rename({1: 2, 2: 4}, axis='index')\n A B\n0 1 4\n2 2 5\n4 3 6\n"}, "kind": 2, "label": "rename", "sortText": "137"}, {"detail": "Overload[(mapper: Hashable | Sequence[Hashable] = ..., *, index=..., columns=..., axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., copy: bool | None = ..., inplace: Literal[False] = ...) -> DataFrame, (mapper: Hashable | Sequence[Hashable] = ..., *, index=..., columns=..., axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., copy: bool | None = ..., inplace: Literal[True]) -> None, (mapper: Hashable | Sequence[Hashable] = ..., *, index=..., columns=..., axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., copy: bool | None = ..., inplace: bool = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Set the name of the axis for the index or columns.\n\nParameters\n----------\nmapper : scalar, list-like, optional\n Value to set the axis name attribute.\nindex, columns : scalar, list-like, dict-like or function, optional\n A scalar, list-like, dict-like or functions transformations to\n apply to that axis' values.\n Note that the ``columns`` parameter is not allowed if the\n object is a Series. This parameter only apply for DataFrame\n type objects.\n\n Use either ``mapper`` and ``axis`` to\n specify the axis to target with ``mapper``, or ``index``\n and/or ``columns``.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to rename. For `Series` this parameter is unused and defaults to 0.\ncopy : bool, default None\n Also copy underlying data.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\ninplace : bool, default False\n Modifies the object directly, instead of creating a new Series\n or DataFrame.\n\nReturns\n-------\nSeries, DataFrame, or None\n The same type as the caller or None if ``inplace=True``.\n\nSee Also\n--------\nSeries.rename : Alter Series index labels or name.\nDataFrame.rename : Alter DataFrame index labels or name.\nIndex.rename : Set new names on index.\n\nNotes\n-----\n``DataFrame.rename_axis`` supports two calling conventions\n\n* ``(index=index_mapper, columns=columns_mapper, ...)``\n* ``(mapper, axis={'index', 'columns'}, ...)``\n\nThe first calling convention will only modify the names of\nthe index and/or the names of the Index object that is the columns.\nIn this case, the parameter ``copy`` is ignored.\n\nThe second calling convention will modify the names of the\ncorresponding index if mapper is a list or a scalar.\nHowever, if mapper is dict-like or a function, it will use the\ndeprecated behavior of modifying the axis *labels*.\n\nWe *highly* recommend using keyword arguments to clarify your\nintent.\n\nExamples\n--------\n**Series**\n\n>>> s = pd.Series([\"dog\", \"cat\", \"monkey\"])\n>>> s\n0 dog\n1 cat\n2 monkey\ndtype: object\n>>> s.rename_axis(\"animal\")\nanimal\n0 dog\n1 cat\n2 monkey\ndtype: object\n\n**DataFrame**\n\n>>> df = pd.DataFrame({\"num_legs\": [4, 4, 2],\n... \"num_arms\": [0, 0, 2]},\n... [\"dog\", \"cat\", \"monkey\"])\n>>> df\n num_legs num_arms\ndog 4 0\ncat 4 0\nmonkey 2 2\n>>> df = df.rename_axis(\"animal\")\n>>> df\n num_legs num_arms\nanimal\ndog 4 0\ncat 4 0\nmonkey 2 2\n>>> df = df.rename_axis(\"limbs\", axis=\"columns\")\n>>> df\nlimbs num_legs num_arms\nanimal\ndog 4 0\ncat 4 0\nmonkey 2 2\n\n**MultiIndex**\n\n>>> df.index = pd.MultiIndex.from_product([['mammal'],\n... ['dog', 'cat', 'monkey']],\n... names=['type', 'name'])\n>>> df\nlimbs num_legs num_arms\ntype name\nmammal dog 4 0\n cat 4 0\n monkey 2 2\n\n>>> df.rename_axis(index={'type': 'class'})\nlimbs num_legs num_arms\nclass name\nmammal dog 4 0\n cat 4 0\n monkey 2 2\n\n>>> df.rename_axis(columns=str.upper)\nLIMBS num_legs num_arms\ntype name\nmammal dog 4 0\n cat 4 0\n monkey 2 2\n"}, "kind": 2, "label": "rename_axis", "sortText": "138"}, {"detail": "bound method DataFrame.reorder_levels(order: Sequence[int | str], axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Rearrange index levels using input order. May not drop or duplicate levels.\n\nParameters\n----------\norder : list of int or list of str\n List representing new level order. Reference level by number\n (position) or by key (label).\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Where to reorder levels.\n\nReturns\n-------\nDataFrame\n\nExamples\n--------\n>>> data = {\n... \"class\": [\"Mammals\", \"Mammals\", \"Reptiles\"],\n... \"diet\": [\"Omnivore\", \"Carnivore\", \"Carnivore\"],\n... \"species\": [\"Humans\", \"Dogs\", \"Snakes\"],\n... }\n>>> df = pd.DataFrame(data, columns=[\"class\", \"diet\", \"species\"])\n>>> df = df.set_index([\"class\", \"diet\"])\n>>> df\n species\nclass diet\nMammals Omnivore Humans\n Carnivore Dogs\nReptiles Carnivore Snakes\n\nLet's reorder the levels of the index:\n\n>>> df.reorder_levels([\"diet\", \"class\"])\n species\ndiet class\nOmnivore Mammals Humans\nCarnivore Mammals Dogs\n Reptiles Snakes\n"}, "kind": 2, "label": "reorder_levels", "sortText": "139"}, {"detail": "Overload[(to_replace=..., value=..., *, inplace: Literal[False] = ..., limit: int | None = ..., regex: bool = ..., method: Literal[\"pad\", \"ffill\", \"bfill\"] | _NoDefault = ...) -> DataFrame, (to_replace=..., value=..., *, inplace: Literal[True], limit: int | None = ..., regex: bool = ..., method: Literal[\"pad\", \"ffill\", \"bfill\"] | _NoDefault = ...) -> None, (to_replace=..., value=..., *, inplace: bool = ..., limit: int | None = ..., regex: bool = ..., method: Literal[\"pad\", \"ffill\", \"bfill\"] | _NoDefault = ...) -> DataFrame | None]", "kind": 2, "label": "replace", "sortText": "140"}, {"detail": "bound method DataFrame.resample(rule, axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., closed: Literal[\"right\", \"left\"] | None = None, label: Literal[\"right\", \"left\"] | None = None, convention: Literal[\"start\", \"end\", \"s\", \"e\"] = \"start\", kind: Literal[\"timestamp\", \"period\"] | None | _NoDefault = ..., on: Hashable = None, level: Hashable = None, origin: str | date | datetime64[Any] | signedinteger[_64Bit] | float = \"start_day\", offset: timedelta | timedelta64[Any] | signedinteger[_64Bit] | ... omitted 3 union elements = None, group_keys: bool = False) -> Resampler", "documentation": {"kind": "plaintext", "value": "Resample time-series data.\n\nConvenience method for frequency conversion and resampling of time series.\nThe object must have a datetime-like index (`DatetimeIndex`, `PeriodIndex`,\nor `TimedeltaIndex`), or the caller must pass the label of a datetime-like\nseries/index to the ``on``/``level`` keyword parameter.\n\nParameters\n----------\nrule : DateOffset, Timedelta or str\n The offset string or object representing target conversion.\naxis : {{0 or 'index', 1 or 'columns'}}, default 0\n Which axis to use for up- or down-sampling. For `Series` this parameter\n is unused and defaults to 0. Must be\n `DatetimeIndex`, `TimedeltaIndex` or `PeriodIndex`.\n\n .. deprecated:: 2.0.0\n Use frame.T.resample(...) instead.\nclosed : {{'right', 'left'}}, default None\n Which side of bin interval is closed. The default is 'left'\n for all frequency offsets except for 'ME', 'YE', 'QE', 'BME',\n 'BA', 'BQE', and 'W' which all have a default of 'right'.\nlabel : {{'right', 'left'}}, default None\n Which bin edge label to label bucket with. The default is 'left'\n for all frequency offsets except for 'ME', 'YE', 'QE', 'BME',\n 'BA', 'BQE', and 'W' which all have a default of 'right'.\nconvention : {{'start', 'end', 's', 'e'}}, default 'start'\n For `PeriodIndex` only, controls whether to use the start or\n end of `rule`.\n\nkind : {{'timestamp', 'period'}}, optional, default None\n Pass 'timestamp' to convert the resulting index to a\n `DateTimeIndex` or 'period' to convert it to a `PeriodIndex`.\n By default the input representation is retained.\n\n .. deprecated:: 2.2.0\n Convert index to desired type explicitly instead.\n\non : str, optional\n For a DataFrame, column to use instead of index for resampling.\n Column must be datetime-like.\nlevel : str or int, optional\n For a MultiIndex, level (name or number) to use for\n resampling. `level` must be datetime-like.\norigin : Timestamp or str, default 'start_day'\n The timestamp on which to adjust the grouping. The timezone of origin\n must match the timezone of the index.\n If string, must be one of the following:\n\n - 'epoch': `origin` is 1970-01-01\n - 'start': `origin` is the first value of the timeseries\n - 'start_day': `origin` is the first day at midnight of the timeseries\n\n - 'end': `origin` is the last value of the timeseries\n - 'end_day': `origin` is the ceiling midnight of the last day\n\n .. versionadded:: 1.3.0\n\n .. note::\n\n Only takes effect for Tick-frequencies (i.e. fixed frequencies like\n days, hours, and minutes, rather than months or quarters).\noffset : Timedelta or str, default is None\n An offset timedelta added to the origin.\n\ngroup_keys : bool, default False\n Whether to include the group keys in the result index when using\n ``.apply()`` on the resampled object.\n\n .. versionadded:: 1.5.0\n\n Not specifying ``group_keys`` will retain values-dependent behavior\n from pandas 1.4 and earlier (see :ref:`pandas 1.5.0 Release notes\n ` for examples).\n\n .. versionchanged:: 2.0.0\n\n ``group_keys`` now defaults to ``False``.\n\nReturns\n-------\npandas.api.typing.Resampler\n :class:`~pandas.core.Resampler` object.\n\nSee Also\n--------\nSeries.resample : Resample a Series.\nDataFrame.resample : Resample a DataFrame.\ngroupby : Group {klass} by mapping, function, label, or list of labels.\nasfreq : Reindex a {klass} with the given frequency without grouping.\n\nNotes\n-----\nSee the `user guide\n`__\nfor more.\n\nTo learn more about the offset strings, please see `this link\n`__.\n\nExamples\n--------\nStart by creating a series with 9 one minute timestamps.\n\n>>> index = pd.date_range('1/1/2000', periods=9, freq='min')\n>>> series = pd.Series(range(9), index=index)\n>>> series\n2000-01-01 00:00:00 0\n2000-01-01 00:01:00 1\n2000-01-01 00:02:00 2\n2000-01-01 00:03:00 3\n2000-01-01 00:04:00 4\n2000-01-01 00:05:00 5\n2000-01-01 00:06:00 6\n2000-01-01 00:07:00 7\n2000-01-01 00:08:00 8\nFreq: min, dtype: int64\n\nDownsample the series into 3 minute bins and sum the values\nof the timestamps falling into a bin.\n\n>>> series.resample('3min').sum()\n2000-01-01 00:00:00 3\n2000-01-01 00:03:00 12\n2000-01-01 00:06:00 21\nFreq: 3min, dtype: int64\n\nDownsample the series into 3 minute bins as above, but label each\nbin using the right edge instead of the left. Please note that the\nvalue in the bucket used as the label is not included in the bucket,\nwhich it labels. For example, in the original series the\nbucket ``2000-01-01 00:03:00`` contains the value 3, but the summed\nvalue in the resampled bucket with the label ``2000-01-01 00:03:00``\ndoes not include 3 (if it did, the summed value would be 6, not 3).\n\n>>> series.resample('3min', label='right').sum()\n2000-01-01 00:03:00 3\n2000-01-01 00:06:00 12\n2000-01-01 00:09:00 21\nFreq: 3min, dtype: int64\n\nTo include this value close the right side of the bin interval,\nas shown below.\n\n>>> series.resample('3min', label='right', closed='right').sum()\n2000-01-01 00:00:00 0\n2000-01-01 00:03:00 6\n2000-01-01 00:06:00 15\n2000-01-01 00:09:00 15\nFreq: 3min, dtype: int64\n\nUpsample the series into 30 second bins.\n\n>>> series.resample('30s').asfreq()[0:5] # Select first 5 rows\n2000-01-01 00:00:00 0.0\n2000-01-01 00:00:30 NaN\n2000-01-01 00:01:00 1.0\n2000-01-01 00:01:30 NaN\n2000-01-01 00:02:00 2.0\nFreq: 30s, dtype: float64\n\nUpsample the series into 30 second bins and fill the ``NaN``\nvalues using the ``ffill`` method.\n\n>>> series.resample('30s').ffill()[0:5]\n2000-01-01 00:00:00 0\n2000-01-01 00:00:30 0\n2000-01-01 00:01:00 1\n2000-01-01 00:01:30 1\n2000-01-01 00:02:00 2\nFreq: 30s, dtype: int64\n\nUpsample the series into 30 second bins and fill the\n``NaN`` values using the ``bfill`` method.\n\n>>> series.resample('30s').bfill()[0:5]\n2000-01-01 00:00:00 0\n2000-01-01 00:00:30 1\n2000-01-01 00:01:00 1\n2000-01-01 00:01:30 2\n2000-01-01 00:02:00 2\nFreq: 30s, dtype: int64\n\nPass a custom function via ``apply``\n\n>>> def custom_resampler(arraylike):\n... return np.sum(arraylike) + 5\n...\n>>> series.resample('3min').apply(custom_resampler)\n2000-01-01 00:00:00 8\n2000-01-01 00:03:00 17\n2000-01-01 00:06:00 26\nFreq: 3min, dtype: int64\n\nFor a Series with a PeriodIndex, the keyword `convention` can be\nused to control whether to use the start or end of `rule`.\n\nResample a year by quarter using 'start' `convention`. Values are\nassigned to the first quarter of the period.\n\n>>> s = pd.Series(\n... [1, 2], index=pd.period_range(\"2012-01-01\", freq=\"Y\", periods=2)\n... )\n>>> s\n2012 1\n2013 2\nFreq: Y-DEC, dtype: int64\n>>> s.resample(\"Q\", convention=\"start\").asfreq()\n2012Q1 1.0\n2012Q2 NaN\n2012Q3 NaN\n2012Q4 NaN\n2013Q1 2.0\n2013Q2 NaN\n2013Q3 NaN\n2013Q4 NaN\nFreq: Q-DEC, dtype: float64\n\nResample quarters by month using 'end' `convention`. Values are\nassigned to the last month of the period.\n\n>>> q = pd.Series(\n... [1, 2, 3, 4], index=pd.period_range(\"2018-01-01\", freq=\"Q\", periods=4)\n... )\n>>> q\n2018Q1 1\n2018Q2 2\n2018Q3 3\n2018Q4 4\nFreq: Q-DEC, dtype: int64\n>>> q.resample(\"M\", convention=\"end\").asfreq()\n2018-03 1.0\n2018-04 NaN\n2018-05 NaN\n2018-06 2.0\n2018-07 NaN\n2018-08 NaN\n2018-09 3.0\n2018-10 NaN\n2018-11 NaN\n2018-12 4.0\nFreq: M, dtype: float64\n\nFor DataFrame objects, the keyword `on` can be used to specify the\ncolumn instead of the index for resampling.\n\n>>> d = {{'price': [10, 11, 9, 13, 14, 18, 17, 19],\n... 'volume': [50, 60, 40, 100, 50, 100, 40, 50]}}\n>>> df = pd.DataFrame(d)\n>>> df['week_starting'] = pd.date_range('01/01/2018',\n... periods=8,\n... freq='W')\n>>> df\n price volume week_starting\n0 10 50 2018-01-07\n1 11 60 2018-01-14\n2 9 40 2018-01-21\n3 13 100 2018-01-28\n4 14 50 2018-02-04\n5 18 100 2018-02-11\n6 17 40 2018-02-18\n7 19 50 2018-02-25\n>>> df.resample('ME', on='week_starting').mean()\n price volume\nweek_starting\n2018-01-31 10.75 62.5\n2018-02-28 17.00 60.0\n\nFor a DataFrame with MultiIndex, the keyword `level` can be used to\nspecify on which level the resampling needs to take place.\n\n>>> days = pd.date_range('1/1/2000', periods=4, freq='D')\n>>> d2 = {{'price': [10, 11, 9, 13, 14, 18, 17, 19],\n... 'volume': [50, 60, 40, 100, 50, 100, 40, 50]}}\n>>> df2 = pd.DataFrame(\n... d2,\n... index=pd.MultiIndex.from_product(\n... [days, ['morning', 'afternoon']]\n... )\n... )\n>>> df2\n price volume\n2000-01-01 morning 10 50\n afternoon 11 60\n2000-01-02 morning 9 40\n afternoon 13 100\n2000-01-03 morning 14 50\n afternoon 18 100\n2000-01-04 morning 17 40\n afternoon 19 50\n>>> df2.resample('D', level=0).sum()\n price volume\n2000-01-01 21 110\n2000-01-02 22 140\n2000-01-03 32 150\n2000-01-04 36 90\n\nIf you want to adjust the start of the bins based on a fixed timestamp:\n\n>>> start, end = '2000-10-01 23:30:00', '2000-10-02 00:30:00'\n>>> rng = pd.date_range(start, end, freq='7min')\n>>> ts = pd.Series(np.arange(len(rng)) * 3, index=rng)\n>>> ts\n2000-10-01 23:30:00 0\n2000-10-01 23:37:00 3\n2000-10-01 23:44:00 6\n2000-10-01 23:51:00 9\n2000-10-01 23:58:00 12\n2000-10-02 00:05:00 15\n2000-10-02 00:12:00 18\n2000-10-02 00:19:00 21\n2000-10-02 00:26:00 24\nFreq: 7min, dtype: int64\n\n>>> ts.resample('17min').sum()\n2000-10-01 23:14:00 0\n2000-10-01 23:31:00 9\n2000-10-01 23:48:00 21\n2000-10-02 00:05:00 54\n2000-10-02 00:22:00 24\nFreq: 17min, dtype: int64\n\n>>> ts.resample('17min', origin='epoch').sum()\n2000-10-01 23:18:00 0\n2000-10-01 23:35:00 18\n2000-10-01 23:52:00 27\n2000-10-02 00:09:00 39\n2000-10-02 00:26:00 24\nFreq: 17min, dtype: int64\n\n>>> ts.resample('17min', origin='2000-01-01').sum()\n2000-10-01 23:24:00 3\n2000-10-01 23:41:00 15\n2000-10-01 23:58:00 45\n2000-10-02 00:15:00 45\nFreq: 17min, dtype: int64\n\nIf you want to adjust the start of the bins with an `offset` Timedelta, the two\nfollowing lines are equivalent:\n\n>>> ts.resample('17min', origin='start').sum()\n2000-10-01 23:30:00 9\n2000-10-01 23:47:00 21\n2000-10-02 00:04:00 54\n2000-10-02 00:21:00 24\nFreq: 17min, dtype: int64\n\n>>> ts.resample('17min', offset='23h30min').sum()\n2000-10-01 23:30:00 9\n2000-10-01 23:47:00 21\n2000-10-02 00:04:00 54\n2000-10-02 00:21:00 24\nFreq: 17min, dtype: int64\n\nIf you want to take the largest Timestamp as the end of the bins:\n\n>>> ts.resample('17min', origin='end').sum()\n2000-10-01 23:35:00 0\n2000-10-01 23:52:00 18\n2000-10-02 00:09:00 27\n2000-10-02 00:26:00 63\nFreq: 17min, dtype: int64\n\nIn contrast with the `start_day`, you can use `end_day` to take the ceiling\nmidnight of the largest Timestamp as the end of the bins and drop the bins\nnot containing data:\n\n>>> ts.resample('17min', origin='end_day').sum()\n2000-10-01 23:38:00 3\n2000-10-01 23:55:00 15\n2000-10-02 00:12:00 45\n2000-10-02 00:29:00 45\nFreq: 17min, dtype: int64\n"}, "kind": 2, "label": "resample", "sortText": "141"}, {"detail": "Overload[(level: Hashable | Sequence[Hashable] = ..., *, drop: bool = ..., inplace: Literal[False] = ..., col_level: Hashable = ..., col_fill: Hashable = ..., allow_duplicates: bool | _NoDefault = ..., names: Hashable | Sequence[Hashable] = None) -> DataFrame, (level: Hashable | Sequence[Hashable] = ..., *, drop: bool = ..., inplace: Literal[True], col_level: Hashable = ..., col_fill: Hashable = ..., allow_duplicates: bool | _NoDefault = ..., names: Hashable | Sequence[Hashable] = None) -> None, (level: Hashable | Sequence[Hashable] = ..., *, drop: bool = ..., inplace: bool = ..., col_level: Hashable = ..., col_fill: Hashable = ..., allow_duplicates: bool | _NoDefault = ..., names: Hashable | Sequence[Hashable] = None) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Reset the index, or a level of it.\n\nReset the index of the DataFrame, and use the default one instead.\nIf the DataFrame has a MultiIndex, this method can remove one or more\nlevels.\n\nParameters\n----------\nlevel : int, str, tuple, or list, default None\n Only remove the given levels from the index. Removes all levels by\n default.\ndrop : bool, default False\n Do not try to insert index into dataframe columns. This resets\n the index to the default integer index.\ninplace : bool, default False\n Whether to modify the DataFrame rather than creating a new one.\ncol_level : int or str, default 0\n If the columns have multiple levels, determines which level the\n labels are inserted into. By default it is inserted into the first\n level.\ncol_fill : object, default ''\n If the columns have multiple levels, determines how the other\n levels are named. If None then the index name is repeated.\nallow_duplicates : bool, optional, default lib.no_default\n Allow duplicate column labels to be created.\n\n .. versionadded:: 1.5.0\n\nnames : int, str or 1-dimensional list, default None\n Using the given string, rename the DataFrame column which contains the\n index data. If the DataFrame has a MultiIndex, this has to be a list or\n tuple with length equal to the number of levels.\n\n .. versionadded:: 1.5.0\n\nReturns\n-------\nDataFrame or None\n DataFrame with the new index or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.set_index : Opposite of reset_index.\nDataFrame.reindex : Change to new indices or expand indices.\nDataFrame.reindex_like : Change to same indices as other DataFrame.\n\nExamples\n--------\n>>> df = pd.DataFrame([('bird', 389.0),\n... ('bird', 24.0),\n... ('mammal', 80.5),\n... ('mammal', np.nan)],\n... index=['falcon', 'parrot', 'lion', 'monkey'],\n... columns=('class', 'max_speed'))\n>>> df\n class max_speed\nfalcon bird 389.0\nparrot bird 24.0\nlion mammal 80.5\nmonkey mammal NaN\n\nWhen we reset the index, the old index is added as a column, and a\nnew sequential index is used:\n\n>>> df.reset_index()\n index class max_speed\n0 falcon bird 389.0\n1 parrot bird 24.0\n2 lion mammal 80.5\n3 monkey mammal NaN\n\nWe can use the `drop` parameter to avoid the old index being added as\na column:\n\n>>> df.reset_index(drop=True)\n class max_speed\n0 bird 389.0\n1 bird 24.0\n2 mammal 80.5\n3 mammal NaN\n\nYou can also use `reset_index` with `MultiIndex`.\n\n>>> index = pd.MultiIndex.from_tuples([('bird', 'falcon'),\n... ('bird', 'parrot'),\n... ('mammal', 'lion'),\n... ('mammal', 'monkey')],\n... names=['class', 'name'])\n>>> columns = pd.MultiIndex.from_tuples([('speed', 'max'),\n... ('species', 'type')])\n>>> df = pd.DataFrame([(389.0, 'fly'),\n... (24.0, 'fly'),\n... (80.5, 'run'),\n... (np.nan, 'jump')],\n... index=index,\n... columns=columns)\n>>> df\n speed species\n max type\nclass name\nbird falcon 389.0 fly\n parrot 24.0 fly\nmammal lion 80.5 run\n monkey NaN jump\n\nUsing the `names` parameter, choose a name for the index column:\n\n>>> df.reset_index(names=['classes', 'names'])\n classes names speed species\n max type\n0 bird falcon 389.0 fly\n1 bird parrot 24.0 fly\n2 mammal lion 80.5 run\n3 mammal monkey NaN jump\n\nIf the index has multiple levels, we can reset a subset of them:\n\n>>> df.reset_index(level='class')\n class speed species\n max type\nname\nfalcon bird 389.0 fly\nparrot bird 24.0 fly\nlion mammal 80.5 run\nmonkey mammal NaN jump\n\nIf we are not dropping the index, by default, it is placed in the top\nlevel. We can place it in another level:\n\n>>> df.reset_index(level='class', col_level=1)\n speed species\n class max type\nname\nfalcon bird 389.0 fly\nparrot bird 24.0 fly\nlion mammal 80.5 run\nmonkey mammal NaN jump\n\nWhen the index is inserted under another level, we can specify under\nwhich one with the parameter `col_fill`:\n\n>>> df.reset_index(level='class', col_level=1, col_fill='species')\n species speed species\n class max type\nname\nfalcon bird 389.0 fly\nparrot bird 24.0 fly\nlion mammal 80.5 run\nmonkey mammal NaN jump\n\nIf we specify a nonexistent level for `col_fill`, it is created:\n\n>>> df.reset_index(level='class', col_level=1, col_fill='genus')\n genus speed species\n class max type\nname\nfalcon bird 389.0 fly\nparrot bird 24.0 fly\nlion mammal 80.5 run\nmonkey mammal NaN jump\n"}, "kind": 2, "label": "reset_index", "sortText": "142"}, {"detail": "bound method DataFrame.rfloordiv(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rfloordiv", "sortText": "143"}, {"detail": "bound method DataFrame.rmod(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rmod", "sortText": "144"}, {"detail": "bound method DataFrame.rmul(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rmul", "sortText": "145"}, {"detail": "bound method DataFrame.rolling(window: int | timedelta | str | BaseOffset | BaseIndexer, min_periods: int | None = None, center: bool = False, win_type: str | None = None, on: str | None = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., closed: Literal[\"left\", \"right\", \"both\", \"neither\"] | None = None, step: int | None = None, method: str = \"single\") -> Window | Rolling", "kind": 2, "label": "rolling", "sortText": "146"}, {"detail": "bound method DataFrame.round(decimals: int | dict[Hashable | Sequence[Hashable], int] | Series = 0, *args, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Round a DataFrame to a variable number of decimal places.\n\nParameters\n----------\ndecimals : int, dict, Series\n Number of decimal places to round each column to. If an int is\n given, round each column to the same number of places.\n Otherwise dict and Series round to variable numbers of places.\n Column names should be in the keys if `decimals` is a\n dict-like, or in the index if `decimals` is a Series. Any\n columns not included in `decimals` will be left as is. Elements\n of `decimals` which are not columns of the input will be\n ignored.\n*args\n Additional keywords have no effect but might be accepted for\n compatibility with numpy.\n**kwargs\n Additional keywords have no effect but might be accepted for\n compatibility with numpy.\n\nReturns\n-------\nDataFrame\n A DataFrame with the affected columns rounded to the specified\n number of decimal places.\n\nSee Also\n--------\nnumpy.around : Round a numpy array to the given number of decimals.\nSeries.round : Round a Series to the given number of decimals.\n\nExamples\n--------\n>>> df = pd.DataFrame([(.21, .32), (.01, .67), (.66, .03), (.21, .18)],\n... columns=['dogs', 'cats'])\n>>> df\n dogs cats\n0 0.21 0.32\n1 0.01 0.67\n2 0.66 0.03\n3 0.21 0.18\n\nBy providing an integer each column is rounded to the same number\nof decimal places\n\n>>> df.round(1)\n dogs cats\n0 0.2 0.3\n1 0.0 0.7\n2 0.7 0.0\n3 0.2 0.2\n\nWith a dict, the number of places for specific columns can be\nspecified with the column names as key and the number of decimal\nplaces as value\n\n>>> df.round({'dogs': 1, 'cats': 0})\n dogs cats\n0 0.2 0.0\n1 0.0 1.0\n2 0.7 0.0\n3 0.2 0.0\n\nUsing a Series, the number of places for specific columns can be\nspecified with the column names as index and the number of\ndecimal places as value\n\n>>> decimals = pd.Series([0, 1], index=['cats', 'dogs'])\n>>> df.round(decimals)\n dogs cats\n0 0.2 0.0\n1 0.0 1.0\n2 0.7 0.0\n3 0.2 0.0\n"}, "kind": 2, "label": "round", "sortText": "147"}, {"detail": "bound method DataFrame.rpow(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rpow", "sortText": "148"}, {"detail": "bound method DataFrame.rsub(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rsub", "sortText": "149"}, {"detail": "bound method DataFrame.rtruediv(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rtruediv", "sortText": "150"}, {"detail": "bound method DataFrame.sample(n: int | None = None, frac: float | None = None, replace: bool = False, weights=None, random_state: int | ndarray[_AnyShape, dtype[Any]] | Generator | ... omitted 3 union elements = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, ignore_index: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return a random sample of items from an axis of object.\n\nYou can use `random_state` for reproducibility.\n\nParameters\n----------\nn : int, optional\n Number of items from axis to return. Cannot be used with `frac`.\n Default = 1 if `frac` = None.\nfrac : float, optional\n Fraction of axis items to return. Cannot be used with `n`.\nreplace : bool, default False\n Allow or disallow sampling of the same row more than once.\nweights : str or ndarray-like, optional\n Default 'None' results in equal probability weighting.\n If passed a Series, will align with target object on index. Index\n values in weights not found in sampled object will be ignored and\n index values in sampled object not in weights will be assigned\n weights of zero.\n If called on a DataFrame, will accept the name of a column\n when axis = 0.\n Unless weights are a Series, weights must be same length as axis\n being sampled.\n If weights do not sum to 1, they will be normalized to sum to 1.\n Missing values in the weights column will be treated as zero.\n Infinite values not allowed.\nrandom_state : int, array-like, BitGenerator, np.random.RandomState, np.random.Generator, optional\n If int, array-like, or BitGenerator, seed for random number generator.\n If np.random.RandomState or np.random.Generator, use as given.\n\n .. versionchanged:: 1.4.0\n\n np.random.Generator objects now accepted\n\naxis : {0 or 'index', 1 or 'columns', None}, default None\n Axis to sample. Accepts axis number or name. Default is stat axis\n for given data type. For `Series` this parameter is unused and defaults to `None`.\nignore_index : bool, default False\n If True, the resulting index will be labeled 0, 1, \u2026, n - 1.\n\n .. versionadded:: 1.3.0\n\nReturns\n-------\nSeries or DataFrame\n A new object of same type as caller containing `n` items randomly\n sampled from the caller object.\n\nSee Also\n--------\nDataFrameGroupBy.sample: Generates random samples from each group of a\n DataFrame object.\nSeriesGroupBy.sample: Generates random samples from each group of a\n Series object.\nnumpy.random.choice: Generates a random sample from a given 1-D numpy\n array.\n\nNotes\n-----\nIf `frac` > 1, `replacement` should be set to `True`.\n\nExamples\n--------\n>>> df = pd.DataFrame({'num_legs': [2, 4, 8, 0],\n... 'num_wings': [2, 0, 0, 0],\n... 'num_specimen_seen': [10, 2, 1, 8]},\n... index=['falcon', 'dog', 'spider', 'fish'])\n>>> df\n num_legs num_wings num_specimen_seen\nfalcon 2 2 10\ndog 4 0 2\nspider 8 0 1\nfish 0 0 8\n\nExtract 3 random elements from the ``Series`` ``df['num_legs']``:\nNote that we use `random_state` to ensure the reproducibility of\nthe examples.\n\n>>> df['num_legs'].sample(n=3, random_state=1)\nfish 0\nspider 8\nfalcon 2\nName: num_legs, dtype: int64\n\nA random 50% sample of the ``DataFrame`` with replacement:\n\n>>> df.sample(frac=0.5, replace=True, random_state=1)\n num_legs num_wings num_specimen_seen\ndog 4 0 2\nfish 0 0 8\n\nAn upsample sample of the ``DataFrame`` with replacement:\nNote that `replace` parameter has to be `True` for `frac` parameter > 1.\n\n>>> df.sample(frac=2, replace=True, random_state=1)\n num_legs num_wings num_specimen_seen\ndog 4 0 2\nfish 0 0 8\nfalcon 2 2 10\nfalcon 2 2 10\nfish 0 0 8\ndog 4 0 2\nfish 0 0 8\ndog 4 0 2\n\nUsing a DataFrame column as weights. Rows with larger value in the\n`num_specimen_seen` column are more likely to be sampled.\n\n>>> df.sample(n=2, weights='num_specimen_seen', random_state=1)\n num_legs num_wings num_specimen_seen\nfalcon 2 2 10\nfish 0 0 8\n"}, "kind": 2, "label": "sample", "sortText": "151"}, {"detail": "bound method DataFrame.select_dtypes(include=None, exclude=None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return a subset of the DataFrame's columns based on the column dtypes.\n\nParameters\n----------\ninclude, exclude : scalar or list-like\n A selection of dtypes or strings to be included/excluded. At least\n one of these parameters must be supplied.\n\nReturns\n-------\nDataFrame\n The subset of the frame including the dtypes in ``include`` and\n excluding the dtypes in ``exclude``.\n\nRaises\n------\nValueError\n * If both of ``include`` and ``exclude`` are empty\n * If ``include`` and ``exclude`` have overlapping elements\n * If any kind of string dtype is passed in.\n\nSee Also\n--------\nDataFrame.dtypes: Return Series with the data type of each column.\n\nNotes\n-----\n* To select all *numeric* types, use ``np.number`` or ``'number'``\n* To select strings you must use the ``object`` dtype, but note that\n this will return *all* object dtype columns. With\n ``pd.options.future.infer_string`` enabled, using ``\"str\"`` will\n work to select all string columns.\n* See the `numpy dtype hierarchy\n `__\n* To select datetimes, use ``np.datetime64``, ``'datetime'`` or\n ``'datetime64'``\n* To select timedeltas, use ``np.timedelta64``, ``'timedelta'`` or\n ``'timedelta64'``\n* To select Pandas categorical dtypes, use ``'category'``\n* To select Pandas datetimetz dtypes, use ``'datetimetz'``\n or ``'datetime64[ns, tz]'``\n\nExamples\n--------\n>>> df = pd.DataFrame({'a': [1, 2] * 3,\n... 'b': [True, False] * 3,\n... 'c': [1.0, 2.0] * 3})\n>>> df\n a b c\n0 1 True 1.0\n1 2 False 2.0\n2 1 True 1.0\n3 2 False 2.0\n4 1 True 1.0\n5 2 False 2.0\n\n>>> df.select_dtypes(include='bool')\n b\n0 True\n1 False\n2 True\n3 False\n4 True\n5 False\n\n>>> df.select_dtypes(include=['float64'])\n c\n0 1.0\n1 2.0\n2 1.0\n3 2.0\n4 1.0\n5 2.0\n\n>>> df.select_dtypes(exclude=['int64'])\n b c\n0 True 1.0\n1 False 2.0\n2 True 1.0\n3 False 2.0\n4 True 1.0\n5 False 2.0\n"}, "kind": 2, "label": "select_dtypes", "sortText": "152"}, {"detail": "bound method DataFrame.sem(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, ddof: int = 1, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "sem", "sortText": "153"}, {"detail": "bound method DataFrame.set_axis(labels, *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, copy: bool | None = None) -> DataFrame", "kind": 2, "label": "set_axis", "sortText": "154"}, {"detail": "bound method DataFrame.set_flags(*, copy: bool = False, allows_duplicate_labels: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return a new object with updated flags.\n\nParameters\n----------\ncopy : bool, default False\n Specify if a copy of the object should be made.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\nallows_duplicate_labels : bool, optional\n Whether the returned object allows duplicate labels.\n\nReturns\n-------\nSeries or DataFrame\n The same type as the caller.\n\nSee Also\n--------\nDataFrame.attrs : Global metadata applying to this dataset.\nDataFrame.flags : Global flags applying to this object.\n\nNotes\n-----\nThis method returns a new object that's a view on the same data\nas the input. Mutating the input or the output values will be reflected\nin the other.\n\nThis method is intended to be used in method chains.\n\n\"Flags\" differ from \"metadata\". Flags reflect properties of the\npandas object (the Series or DataFrame). Metadata refer to properties\nof the dataset, and should be stored in :attr:`DataFrame.attrs`.\n\nExamples\n--------\n>>> df = pd.DataFrame({\"A\": [1, 2]})\n>>> df.flags.allows_duplicate_labels\nTrue\n>>> df2 = df.set_flags(allows_duplicate_labels=False)\n>>> df2.flags.allows_duplicate_labels\nFalse\n"}, "kind": 2, "label": "set_flags", "sortText": "155"}, {"detail": "Overload[(keys, *, drop: bool = ..., append: bool = ..., inplace: Literal[False] = ..., verify_integrity: bool = ...) -> DataFrame, (keys, *, drop: bool = ..., append: bool = ..., inplace: Literal[True], verify_integrity: bool = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Set the DataFrame index using existing columns.\n\nSet the DataFrame index (row labels) using one or more existing\ncolumns or arrays (of the correct length). The index can replace the\nexisting index or expand on it.\n\nParameters\n----------\nkeys : label or array-like or list of labels/arrays\n This parameter can be either a single column key, a single array of\n the same length as the calling DataFrame, or a list containing an\n arbitrary combination of column keys and arrays. Here, \"array\"\n encompasses :class:`Series`, :class:`Index`, ``np.ndarray``, and\n instances of :class:`~collections.abc.Iterator`.\ndrop : bool, default True\n Delete columns to be used as the new index.\nappend : bool, default False\n Whether to append columns to existing index.\ninplace : bool, default False\n Whether to modify the DataFrame rather than creating a new one.\nverify_integrity : bool, default False\n Check the new index for duplicates. Otherwise defer the check until\n necessary. Setting to False will improve the performance of this\n method.\n\nReturns\n-------\nDataFrame or None\n Changed row labels or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.reset_index : Opposite of set_index.\nDataFrame.reindex : Change to new indices or expand indices.\nDataFrame.reindex_like : Change to same indices as other DataFrame.\n\nExamples\n--------\n>>> df = pd.DataFrame({'month': [1, 4, 7, 10],\n... 'year': [2012, 2014, 2013, 2014],\n... 'sale': [55, 40, 84, 31]})\n>>> df\n month year sale\n0 1 2012 55\n1 4 2014 40\n2 7 2013 84\n3 10 2014 31\n\nSet the index to become the 'month' column:\n\n>>> df.set_index('month')\n year sale\nmonth\n1 2012 55\n4 2014 40\n7 2013 84\n10 2014 31\n\nCreate a MultiIndex using columns 'year' and 'month':\n\n>>> df.set_index(['year', 'month'])\n sale\nyear month\n2012 1 55\n2014 4 40\n2013 7 84\n2014 10 31\n\nCreate a MultiIndex using an Index and a column:\n\n>>> df.set_index([pd.Index([1, 2, 3, 4]), 'year'])\n month sale\n year\n1 2012 1 55\n2 2014 4 40\n3 2013 7 84\n4 2014 10 31\n\nCreate a MultiIndex using two Series:\n\n>>> s = pd.Series([1, 2, 3, 4])\n>>> df.set_index([s, s**2])\n month year sale\n1 1 1 2012 55\n2 4 4 2014 40\n3 9 7 2013 84\n4 16 10 2014 31\n"}, "kind": 2, "label": "set_index", "sortText": "156"}, {"detail": "tuple[int, int]", "documentation": {"kind": "plaintext", "value": "Built-in immutable sequence.\n\nIf no argument is given, the constructor returns an empty tuple.\nIf iterable is specified the tuple is initialized from iterable's items.\n\nIf the argument is a tuple, the return value is the same object.\n"}, "kind": 22, "label": "shape", "sortText": "157"}, {"detail": "bound method DataFrame.shift(periods: int | Sequence[int] = 1, freq: str | BaseOffset | None = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, fill_value: Hashable = ..., suffix: str | None = None) -> DataFrame", "kind": 2, "label": "shift", "sortText": "158"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "size", "sortText": "159"}, {"detail": "bound method DataFrame.skew(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "skew", "sortText": "160"}, {"detail": "Overload[(*, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., level: Hashable | Sequence[Hashable] = ..., ascending: bool | Sequence[bool] = ..., inplace: Literal[True], kind: Literal[\"quicksort\", \"mergesort\", \"heapsort\", \"stable\"] = ..., na_position: Literal[\"first\", \"last\"] = ..., sort_remaining: bool = ..., ignore_index: bool = ..., key: ((Index, /) -> Index | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Series) | None = ...) -> None, (*, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., level: Hashable | Sequence[Hashable] = ..., ascending: bool | Sequence[bool] = ..., inplace: Literal[False] = ..., kind: Literal[\"quicksort\", \"mergesort\", \"heapsort\", \"stable\"] = ..., na_position: Literal[\"first\", \"last\"] = ..., sort_remaining: bool = ..., ignore_index: bool = ..., key: ((Index, /) -> Index | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Series) | None = ...) -> DataFrame, (*, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., level: Hashable | Sequence[Hashable] = ..., ascending: bool | Sequence[bool] = ..., inplace: bool = ..., kind: Literal[\"quicksort\", \"mergesort\", \"heapsort\", \"stable\"] = ..., na_position: Literal[\"first\", \"last\"] = ..., sort_remaining: bool = ..., ignore_index: bool = ..., key: ((Index, /) -> Index | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Series) | None = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Sort object by labels (along an axis).\n\nReturns a new DataFrame sorted by label if `inplace` argument is\n``False``, otherwise updates the original DataFrame and returns None.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis along which to sort. The value 0 identifies the rows,\n and 1 identifies the columns.\nlevel : int or level name or list of ints or list of level names\n If not None, sort on values in specified index level(s).\nascending : bool or list-like of bools, default True\n Sort ascending vs. descending. When the index is a MultiIndex the\n sort direction can be controlled for each level individually.\ninplace : bool, default False\n Whether to modify the DataFrame rather than creating a new one.\nkind : {'quicksort', 'mergesort', 'heapsort', 'stable'}, default 'quicksort'\n Choice of sorting algorithm. See also :func:`numpy.sort` for more\n information. `mergesort` and `stable` are the only stable algorithms. For\n DataFrames, this option is only applied when sorting on a single\n column or label.\nna_position : {'first', 'last'}, default 'last'\n Puts NaNs at the beginning if `first`; `last` puts NaNs at the end.\n Not implemented for MultiIndex.\nsort_remaining : bool, default True\n If True and sorting by level and index is multilevel, sort by other\n levels too (in order) after sorting by specified level.\nignore_index : bool, default False\n If True, the resulting axis will be labeled 0, 1, \u2026, n - 1.\nkey : callable, optional\n If not None, apply the key function to the index values\n before sorting. This is similar to the `key` argument in the\n builtin :meth:`sorted` function, with the notable difference that\n this `key` function should be *vectorized*. It should expect an\n ``Index`` and return an ``Index`` of the same shape. For MultiIndex\n inputs, the key is applied *per level*.\n\nReturns\n-------\nDataFrame or None\n The original DataFrame sorted by the labels or None if ``inplace=True``.\n\nSee Also\n--------\nSeries.sort_index : Sort Series by the index.\nDataFrame.sort_values : Sort DataFrame by the value.\nSeries.sort_values : Sort Series by the value.\n\nExamples\n--------\n>>> df = pd.DataFrame([1, 2, 3, 4, 5], index=[100, 29, 234, 1, 150],\n... columns=['A'])\n>>> df.sort_index()\n A\n1 4\n29 2\n100 1\n150 5\n234 3\n\nBy default, it sorts in ascending order, to sort in descending order,\nuse ``ascending=False``\n\n>>> df.sort_index(ascending=False)\n A\n234 3\n150 5\n100 1\n29 2\n1 4\n\nA key function can be specified which is applied to the index before\nsorting. For a ``MultiIndex`` this is applied to each level separately.\n\n>>> df = pd.DataFrame({\"a\": [1, 2, 3, 4]}, index=['A', 'b', 'C', 'd'])\n>>> df.sort_index(key=lambda x: x.str.lower())\n a\nA 1\nb 2\nC 3\nd 4\n"}, "kind": 2, "label": "sort_index", "sortText": "161"}, {"detail": "Overload[(by: Hashable | Sequence[Hashable], *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., ascending=..., inplace: Literal[False] = ..., kind: Literal[\"quicksort\", \"mergesort\", \"heapsort\", \"stable\"] = ..., na_position: Literal[\"first\", \"last\"] = ..., ignore_index: bool = ..., key: ((Series, /) -> Series | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index) | None = ...) -> DataFrame, (by: Hashable | Sequence[Hashable], *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., ascending=..., inplace: Literal[True], kind: Literal[\"quicksort\", \"mergesort\", \"heapsort\", \"stable\"] = ..., na_position: str = ..., ignore_index: bool = ..., key: ((Series, /) -> Series | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index) | None = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Sort by the values along either axis.\n\nParameters\n----------\nby : str or list of str\n Name or list of names to sort by.\n\n - if `axis` is 0 or `'index'` then `by` may contain index\n levels and/or column labels.\n - if `axis` is 1 or `'columns'` then `by` may contain column\n levels and/or index labels.\naxis : \"{0 or 'index', 1 or 'columns'}\", default 0\n Axis to be sorted.\nascending : bool or list of bool, default True\n Sort ascending vs. descending. Specify list for multiple sort\n orders. If this is a list of bools, must match the length of\n the by.\ninplace : bool, default False\n If True, perform operation in-place.\nkind : {'quicksort', 'mergesort', 'heapsort', 'stable'}, default 'quicksort'\n Choice of sorting algorithm. See also :func:`numpy.sort` for more\n information. `mergesort` and `stable` are the only stable algorithms. For\n DataFrames, this option is only applied when sorting on a single\n column or label.\nna_position : {'first', 'last'}, default 'last'\n Puts NaNs at the beginning if `first`; `last` puts NaNs at the\n end.\nignore_index : bool, default False\n If True, the resulting axis will be labeled 0, 1, \u2026, n - 1.\nkey : callable, optional\n Apply the key function to the values\n before sorting. This is similar to the `key` argument in the\n builtin :meth:`sorted` function, with the notable difference that\n this `key` function should be *vectorized*. It should expect a\n ``Series`` and return a Series with the same shape as the input.\n It will be applied to each column in `by` independently.\n\nReturns\n-------\nDataFrame or None\n DataFrame with sorted values or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.sort_index : Sort a DataFrame by the index.\nSeries.sort_values : Similar method for a Series.\n\nExamples\n--------\n>>> df = pd.DataFrame({\n... 'col1': ['A', 'A', 'B', np.nan, 'D', 'C'],\n... 'col2': [2, 1, 9, 8, 7, 4],\n... 'col3': [0, 1, 9, 4, 2, 3],\n... 'col4': ['a', 'B', 'c', 'D', 'e', 'F']\n... })\n>>> df\n col1 col2 col3 col4\n0 A 2 0 a\n1 A 1 1 B\n2 B 9 9 c\n3 NaN 8 4 D\n4 D 7 2 e\n5 C 4 3 F\n\nSort by col1\n\n>>> df.sort_values(by=['col1'])\n col1 col2 col3 col4\n0 A 2 0 a\n1 A 1 1 B\n2 B 9 9 c\n5 C 4 3 F\n4 D 7 2 e\n3 NaN 8 4 D\n\nSort by multiple columns\n\n>>> df.sort_values(by=['col1', 'col2'])\n col1 col2 col3 col4\n1 A 1 1 B\n0 A 2 0 a\n2 B 9 9 c\n5 C 4 3 F\n4 D 7 2 e\n3 NaN 8 4 D\n\nSort Descending\n\n>>> df.sort_values(by='col1', ascending=False)\n col1 col2 col3 col4\n4 D 7 2 e\n5 C 4 3 F\n2 B 9 9 c\n0 A 2 0 a\n1 A 1 1 B\n3 NaN 8 4 D\n\nPutting NAs first\n\n>>> df.sort_values(by='col1', ascending=False, na_position='first')\n col1 col2 col3 col4\n3 NaN 8 4 D\n4 D 7 2 e\n5 C 4 3 F\n2 B 9 9 c\n0 A 2 0 a\n1 A 1 1 B\n\nSorting with a key function\n\n>>> df.sort_values(by='col4', key=lambda col: col.str.lower())\n col1 col2 col3 col4\n0 A 2 0 a\n1 A 1 1 B\n2 B 9 9 c\n3 NaN 8 4 D\n4 D 7 2 e\n5 C 4 3 F\n\nNatural sort with the key argument,\nusing the `natsort ` package.\n\n>>> df = pd.DataFrame({\n... \"time\": ['0hr', '128hr', '72hr', '48hr', '96hr'],\n... \"value\": [10, 20, 30, 40, 50]\n... })\n>>> df\n time value\n0 0hr 10\n1 128hr 20\n2 72hr 30\n3 48hr 40\n4 96hr 50\n>>> from natsort import index_natsorted\n>>> df.sort_values(\n... by=\"time\",\n... key=lambda x: np.argsort(index_natsorted(df[\"time\"]))\n... )\n time value\n0 0hr 10\n3 48hr 40\n2 72hr 30\n4 96hr 50\n1 128hr 20\n"}, "kind": 2, "label": "sort_values", "sortText": "162"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "sparse", "sortText": "163"}, {"detail": "bound method DataFrame.squeeze(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Squeeze 1 dimensional axis objects into scalars.\n\nSeries or DataFrames with a single element are squeezed to a scalar.\nDataFrames with a single column or a single row are squeezed to a\nSeries. Otherwise the object is unchanged.\n\nThis method is most useful when you don't know if your\nobject is a Series or DataFrame, but you do know it has just a single\ncolumn. In that case you can safely call `squeeze` to ensure you have a\nSeries.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns', None}, default None\n A specific axis to squeeze. By default, all length-1 axes are\n squeezed. For `Series` this parameter is unused and defaults to `None`.\n\nReturns\n-------\nDataFrame, Series, or scalar\n The projection after squeezing `axis` or all the axes.\n\nSee Also\n--------\nSeries.iloc : Integer-location based indexing for selecting scalars.\nDataFrame.iloc : Integer-location based indexing for selecting Series.\nSeries.to_frame : Inverse of DataFrame.squeeze for a\n single-column DataFrame.\n\nExamples\n--------\n>>> primes = pd.Series([2, 3, 5, 7])\n\nSlicing might produce a Series with a single value:\n\n>>> even_primes = primes[primes % 2 == 0]\n>>> even_primes\n0 2\ndtype: int64\n\n>>> even_primes.squeeze()\n2\n\nSqueezing objects with more than one value in every axis does nothing:\n\n>>> odd_primes = primes[primes % 2 == 1]\n>>> odd_primes\n1 3\n2 5\n3 7\ndtype: int64\n\n>>> odd_primes.squeeze()\n1 3\n2 5\n3 7\ndtype: int64\n\nSqueezing is even more effective when used with DataFrames.\n\n>>> df = pd.DataFrame([[1, 2], [3, 4]], columns=['a', 'b'])\n>>> df\n a b\n0 1 2\n1 3 4\n\nSlicing a single column will produce a DataFrame with the columns\nhaving only one value:\n\n>>> df_a = df[['a']]\n>>> df_a\n a\n0 1\n1 3\n\nSo the columns can be squeezed down, resulting in a Series:\n\n>>> df_a.squeeze('columns')\n0 1\n1 3\nName: a, dtype: int64\n\nSlicing a single row from a single column will produce a single\nscalar DataFrame:\n\n>>> df_0a = df.loc[df.index < 1, ['a']]\n>>> df_0a\n a\n0 1\n\nSqueezing the rows produces a single scalar Series:\n\n>>> df_0a.squeeze('rows')\na 1\nName: 0, dtype: int64\n\nSqueezing all axes will project directly into a scalar:\n\n>>> df_0a.squeeze()\n1\n"}, "kind": 2, "label": "squeeze", "sortText": "164"}, {"detail": "bound method DataFrame.stack(level: Hashable | Sequence[Hashable] = -1, dropna: bool | _NoDefault = ..., sort: bool | _NoDefault = ..., future_stack: bool = False) -> Unknown", "documentation": {"kind": "plaintext", "value": "Stack the prescribed level(s) from columns to index.\n\nReturn a reshaped DataFrame or Series having a multi-level\nindex with one or more new inner-most levels compared to the current\nDataFrame. The new inner-most levels are created by pivoting the\ncolumns of the current dataframe:\n\n - if the columns have a single level, the output is a Series;\n - if the columns have multiple levels, the new index\n level(s) is (are) taken from the prescribed level(s) and\n the output is a DataFrame.\n\nParameters\n----------\nlevel : int, str, list, default -1\n Level(s) to stack from the column axis onto the index\n axis, defined as one index or label, or a list of indices\n or labels.\ndropna : bool, default True\n Whether to drop rows in the resulting Frame/Series with\n missing values. Stacking a column level onto the index\n axis can create combinations of index and column values\n that are missing from the original dataframe. See Examples\n section.\nsort : bool, default True\n Whether to sort the levels of the resulting MultiIndex.\nfuture_stack : bool, default False\n Whether to use the new implementation that will replace the current\n implementation in pandas 3.0. When True, dropna and sort have no impact\n on the result and must remain unspecified. See :ref:`pandas 2.1.0 Release\n notes ` for more details.\n\nReturns\n-------\nDataFrame or Series\n Stacked dataframe or series.\n\nSee Also\n--------\nDataFrame.unstack : Unstack prescribed level(s) from index axis\n onto column axis.\nDataFrame.pivot : Reshape dataframe from long format to wide\n format.\nDataFrame.pivot_table : Create a spreadsheet-style pivot table\n as a DataFrame.\n\nNotes\n-----\nThe function is named by analogy with a collection of books\nbeing reorganized from being side by side on a horizontal\nposition (the columns of the dataframe) to being stacked\nvertically on top of each other (in the index of the\ndataframe).\n\nReference :ref:`the user guide ` for more examples.\n\nExamples\n--------\n**Single level columns**\n\n>>> df_single_level_cols = pd.DataFrame([[0, 1], [2, 3]],\n... index=['cat', 'dog'],\n... columns=['weight', 'height'])\n\nStacking a dataframe with a single level column axis returns a Series:\n\n>>> df_single_level_cols\n weight height\ncat 0 1\ndog 2 3\n>>> df_single_level_cols.stack(future_stack=True)\ncat weight 0\n height 1\ndog weight 2\n height 3\ndtype: int64\n\n**Multi level columns: simple case**\n\n>>> multicol1 = pd.MultiIndex.from_tuples([('weight', 'kg'),\n... ('weight', 'pounds')])\n>>> df_multi_level_cols1 = pd.DataFrame([[1, 2], [2, 4]],\n... index=['cat', 'dog'],\n... columns=multicol1)\n\nStacking a dataframe with a multi-level column axis:\n\n>>> df_multi_level_cols1\n weight\n kg pounds\ncat 1 2\ndog 2 4\n>>> df_multi_level_cols1.stack(future_stack=True)\n weight\ncat kg 1\n pounds 2\ndog kg 2\n pounds 4\n\n**Missing values**\n\n>>> multicol2 = pd.MultiIndex.from_tuples([('weight', 'kg'),\n... ('height', 'm')])\n>>> df_multi_level_cols2 = pd.DataFrame([[1.0, 2.0], [3.0, 4.0]],\n... index=['cat', 'dog'],\n... columns=multicol2)\n\nIt is common to have missing values when stacking a dataframe\nwith multi-level columns, as the stacked dataframe typically\nhas more values than the original dataframe. Missing values\nare filled with NaNs:\n\n>>> df_multi_level_cols2\n weight height\n kg m\ncat 1.0 2.0\ndog 3.0 4.0\n>>> df_multi_level_cols2.stack(future_stack=True)\n weight height\ncat kg 1.0 NaN\n m NaN 2.0\ndog kg 3.0 NaN\n m NaN 4.0\n\n**Prescribing the level(s) to be stacked**\n\nThe first parameter controls which level or levels are stacked:\n\n>>> df_multi_level_cols2.stack(0, future_stack=True)\n kg m\ncat weight 1.0 NaN\n height NaN 2.0\ndog weight 3.0 NaN\n height NaN 4.0\n>>> df_multi_level_cols2.stack([0, 1], future_stack=True)\ncat weight kg 1.0\n height m 2.0\ndog weight kg 3.0\n height m 4.0\ndtype: float64\n"}, "kind": 2, "label": "stack", "sortText": "165"}, {"detail": "bound method DataFrame.std(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, ddof: int = 1, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "std", "sortText": "166"}, {"detail": "Styler", "documentation": {"kind": "plaintext", "value": "Helps style a DataFrame or Series according to the data with HTML and CSS.\n\nParameters\n----------\ndata : Series or DataFrame\n Data to be styled - either a Series or DataFrame.\nprecision : int, optional\n Precision to round floats to. If not given defaults to\n ``pandas.options.styler.format.precision``.\n\n .. versionchanged:: 1.4.0\ntable_styles : list-like, default None\n List of {selector: (attr, value)} dicts; see Notes.\nuuid : str, default None\n A unique identifier to avoid CSS collisions; generated automatically.\ncaption : str, tuple, default None\n String caption to attach to the table. Tuple only used for LaTeX dual captions.\ntable_attributes : str, default None\n Items that show up in the opening ```` tag\n in addition to automatic (by default) id.\ncell_ids : bool, default True\n If True, each cell will have an ``id`` attribute in their HTML tag.\n The ``id`` takes the form ``T__row_col``\n where ```` is the unique identifier, ```` is the row\n number and ```` is the column number.\nna_rep : str, optional\n Representation for missing values.\n If ``na_rep`` is None, no special formatting is applied, and falls back to\n ``pandas.options.styler.format.na_rep``.\n\nuuid_len : int, default 5\n If ``uuid`` is not specified, the length of the ``uuid`` to randomly generate\n expressed in hex characters, in range [0, 32].\ndecimal : str, optional\n Character used as decimal separator for floats, complex and integers. If not\n given uses ``pandas.options.styler.format.decimal``.\n\n .. versionadded:: 1.3.0\n\nthousands : str, optional, default None\n Character used as thousands separator for floats, complex and integers. If not\n given uses ``pandas.options.styler.format.thousands``.\n\n .. versionadded:: 1.3.0\n\nescape : str, optional\n Use 'html' to replace the characters ``&``, ``<``, ``>``, ``'``, and ``\"``\n in cell display string with HTML-safe sequences.\n Use 'latex' to replace the characters ``&``, ``%``, ``$``, ``#``, ``_``,\n ``{``, ``}``, ``~``, ``^``, and ``\\`` in the cell display string with\n LaTeX-safe sequences. Use 'latex-math' to replace the characters\n the same way as in 'latex' mode, except for math substrings,\n which either are surrounded by two characters ``$`` or start with\n the character ``\\(`` and end with ``\\)``.\n If not given uses ``pandas.options.styler.format.escape``.\n\n .. versionadded:: 1.3.0\nformatter : str, callable, dict, optional\n Object to define how values are displayed. See ``Styler.format``. If not given\n uses ``pandas.options.styler.format.formatter``.\n\n .. versionadded:: 1.4.0\n\nAttributes\n----------\nenv : Jinja2 jinja2.Environment\ntemplate_html : Jinja2 Template\ntemplate_html_table : Jinja2 Template\ntemplate_html_style : Jinja2 Template\ntemplate_latex : Jinja2 Template\nloader : Jinja2 Loader\n\nSee Also\n--------\nDataFrame.style : Return a Styler object containing methods for building\n a styled HTML representation for the DataFrame.\n\nNotes\n-----\nMost styling will be done by passing style functions into\n``Styler.apply`` or ``Styler.map``. Style functions should\nreturn values with strings containing CSS ``'attr: value'`` that will\nbe applied to the indicated cells.\n\nIf using in the Jupyter notebook, Styler has defined a ``_repr_html_``\nto automatically render itself. Otherwise call Styler.to_html to get\nthe generated HTML.\n\nCSS classes are attached to the generated HTML\n\n* Index and Column names include ``index_name`` and ``level``\n where `k` is its level in a MultiIndex\n* Index label cells include\n\n * ``row_heading``\n * ``row`` where `n` is the numeric position of the row\n * ``level`` where `k` is the level in a MultiIndex\n\n* Column label cells include\n * ``col_heading``\n * ``col`` where `n` is the numeric position of the column\n * ``level`` where `k` is the level in a MultiIndex\n\n* Blank cells include ``blank``\n* Data cells include ``data``\n* Trimmed cells include ``col_trim`` or ``row_trim``.\n\nAny, or all, or these classes can be renamed by using the ``css_class_names``\nargument in ``Styler.set_table_classes``, giving a value such as\n*{\"row\": \"MY_ROW_CLASS\", \"col_trim\": \"\", \"row_trim\": \"\"}*.\n\nExamples\n--------\n>>> df = pd.DataFrame([[1.0, 2.0, 3.0], [4, 5, 6]], index=['a', 'b'],\n... columns=['A', 'B', 'C'])\n>>> pd.io.formats.style.Styler(df, precision=2,\n... caption=\"My table\") # doctest: +SKIP\n\nPlease see:\n`Table Visualization <../../user_guide/style.ipynb>`_ for more examples.\n"}, "kind": 22, "label": "style", "sortText": "167"}, {"detail": "bound method DataFrame.sub(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "sub", "sortText": "168"}, {"detail": "(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 3, "label": "subtract", "sortText": "169"}, {"detail": "bound method DataFrame.sum(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, min_count: int = 0, **kwargs) -> Unknown", "kind": 2, "label": "sum", "sortText": "170"}, {"detail": "bound method DataFrame.swapaxes(axis1: int | Literal[\"index\", \"columns\", \"rows\"], axis2: int | Literal[\"index\", \"columns\", \"rows\"], copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Interchange axes and swap values axes appropriately.\n\n.. deprecated:: 2.1.0\n ``swapaxes`` is deprecated and will be removed.\n Please use ``transpose`` instead.\n\nReturns\n-------\nsame as input\n\nExamples\n--------\nPlease see examples for :meth:`DataFrame.transpose`.\n"}, "kind": 2, "label": "swapaxes", "sortText": "171"}, {"detail": "bound method DataFrame.swaplevel(i: int | Literal[\"index\", \"columns\", \"rows\"] = -2, j: int | Literal[\"index\", \"columns\", \"rows\"] = -1, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> DataFrame", "kind": 2, "label": "swaplevel", "sortText": "172"}, {"detail": "bound method DataFrame.tail(n: int = 5) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the last `n` rows.\n\nThis function returns last `n` rows from the object based on\nposition. It is useful for quickly verifying data, for example,\nafter sorting or appending rows.\n\nFor negative values of `n`, this function returns all rows except\nthe first `|n|` rows, equivalent to ``df[|n|:]``.\n\nIf n is larger than the number of rows, this function returns all rows.\n\nParameters\n----------\nn : int, default 5\n Number of rows to select.\n\nReturns\n-------\ntype of caller\n The last `n` rows of the caller object.\n\nSee Also\n--------\nDataFrame.head : The first `n` rows of the caller object.\n\nExamples\n--------\n>>> df = pd.DataFrame({'animal': ['alligator', 'bee', 'falcon', 'lion',\n... 'monkey', 'parrot', 'shark', 'whale', 'zebra']})\n>>> df\n animal\n0 alligator\n1 bee\n2 falcon\n3 lion\n4 monkey\n5 parrot\n6 shark\n7 whale\n8 zebra\n\nViewing the last 5 lines\n\n>>> df.tail()\n animal\n4 monkey\n5 parrot\n6 shark\n7 whale\n8 zebra\n\nViewing the last `n` lines (three in this case)\n\n>>> df.tail(3)\n animal\n6 shark\n7 whale\n8 zebra\n\nFor negative values of `n`\n\n>>> df.tail(-3)\n animal\n3 lion\n4 monkey\n5 parrot\n6 shark\n7 whale\n8 zebra\n"}, "kind": 2, "label": "tail", "sortText": "173"}, {"detail": "bound method DataFrame.take(indices, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the elements in the given *positional* indices along an axis.\n\nThis means that we are not indexing according to actual values in\nthe index attribute of the object. We are indexing according to the\nactual position of the element in the object.\n\nParameters\n----------\nindices : array-like\n An array of ints indicating which positions to take.\naxis : {0 or 'index', 1 or 'columns', None}, default 0\n The axis on which to select elements. ``0`` means that we are\n selecting rows, ``1`` means that we are selecting columns.\n For `Series` this parameter is unused and defaults to 0.\n**kwargs\n For compatibility with :meth:`numpy.take`. Has no effect on the\n output.\n\nReturns\n-------\nsame type as caller\n An array-like containing the elements taken from the object.\n\nSee Also\n--------\nDataFrame.loc : Select a subset of a DataFrame by labels.\nDataFrame.iloc : Select a subset of a DataFrame by positions.\nnumpy.take : Take elements from an array along an axis.\n\nExamples\n--------\n>>> df = pd.DataFrame([('falcon', 'bird', 389.0),\n... ('parrot', 'bird', 24.0),\n... ('lion', 'mammal', 80.5),\n... ('monkey', 'mammal', np.nan)],\n... columns=['name', 'class', 'max_speed'],\n... index=[0, 2, 3, 1])\n>>> df\n name class max_speed\n0 falcon bird 389.0\n2 parrot bird 24.0\n3 lion mammal 80.5\n1 monkey mammal NaN\n\nTake elements at positions 0 and 3 along the axis 0 (default).\n\nNote how the actual indices selected (0 and 1) do not correspond to\nour selected indices 0 and 3. That's because we are selecting the 0th\nand 3rd rows, not rows whose indices equal 0 and 3.\n\n>>> df.take([0, 3])\n name class max_speed\n0 falcon bird 389.0\n1 monkey mammal NaN\n\nTake elements at indices 1 and 2 along the axis 1 (column selection).\n\n>>> df.take([1, 2], axis=1)\n class max_speed\n0 bird 389.0\n2 bird 24.0\n3 mammal 80.5\n1 mammal NaN\n\nWe may take elements using negative integers for positive indices,\nstarting from the end of the object, just like with Python lists.\n\n>>> df.take([-1, -2])\n name class max_speed\n1 monkey mammal NaN\n3 lion mammal 80.5\n"}, "kind": 2, "label": "take", "sortText": "174"}, {"detail": "bound method DataFrame.to_clipboard(excel: bool = True, sep: str | None = None, **kwargs) -> None", "documentation": {"kind": "plaintext", "value": "Copy object to the system clipboard.\n\nWrite a text representation of object to the system clipboard.\nThis can be pasted into Excel, for example.\n\nParameters\n----------\nexcel : bool, default True\n Produce output in a csv format for easy pasting into excel.\n\n - True, use the provided separator for csv pasting.\n - False, write a string representation of the object to the clipboard.\n\nsep : str, default ``'\\t'``\n Field delimiter.\n**kwargs\n These parameters will be passed to DataFrame.to_csv.\n\nSee Also\n--------\nDataFrame.to_csv : Write a DataFrame to a comma-separated values\n (csv) file.\nread_clipboard : Read text from clipboard and pass to read_csv.\n\nNotes\n-----\nRequirements for your platform.\n\n - Linux : `xclip`, or `xsel` (with `PyQt4` modules)\n - Windows : none\n - macOS : none\n\nThis method uses the processes developed for the package `pyperclip`. A\nsolution to render any output string format is given in the examples.\n\nExamples\n--------\nCopy the contents of a DataFrame to the clipboard.\n\n>>> df = pd.DataFrame([[1, 2, 3], [4, 5, 6]], columns=['A', 'B', 'C'])\n\n>>> df.to_clipboard(sep=',') # doctest: +SKIP\n... # Wrote the following to the system clipboard:\n... # ,A,B,C\n... # 0,1,2,3\n... # 1,4,5,6\n\nWe can omit the index by passing the keyword `index` and setting\nit to false.\n\n>>> df.to_clipboard(sep=',', index=False) # doctest: +SKIP\n... # Wrote the following to the system clipboard:\n... # A,B,C\n... # 1,2,3\n... # 4,5,6\n\nUsing the original `pyperclip` package for any string output format.\n\n.. code-block:: python\n\n import pyperclip\n html = df.style.to_html()\n pyperclip.copy(html)\n"}, "kind": 2, "label": "to_clipboard", "sortText": "175"}, {"detail": "Overload[(path_or_buf: None = ..., sep: str = ..., na_rep: str = ..., float_format: str | ((...) -> Unknown) | None = ..., columns: Sequence[Hashable] | None = ..., header: bool | list[str] = ..., index: bool = ..., index_label: Hashable | Sequence[Hashable] = ..., mode: str = ..., encoding: str | None = ..., compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = ..., quoting: int | None = ..., quotechar: str = ..., lineterminator: str | None = ..., chunksize: int | None = ..., date_format: str | None = ..., doublequote: bool = ..., escapechar: str | None = ..., decimal: str = ..., errors: Literal[\"strict\", \"ignore\", \"replace\", \"surrogateescape\", \"xmlcharrefreplace\", \"backslashreplace\", \"namereplace\"] = ..., storage_options: dict[str, Any] | None = ...) -> str, (path_or_buf: str | PathLike[str] | WriteBuffer[bytes] | WriteBuffer[str], sep: str = ..., na_rep: str = ..., float_format: str | ((...) -> Unknown) | None = ..., columns: Sequence[Hashable] | None = ..., header: bool | list[str] = ..., index: bool = ..., index_label: Hashable | Sequence[Hashable] = ..., mode: str = ..., encoding: str | None = ..., compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = ..., quoting: int | None = ..., quotechar: str = ..., lineterminator: str | None = ..., chunksize: int | None = ..., date_format: str | None = ..., doublequote: bool = ..., escapechar: str | None = ..., decimal: str = ..., errors: Literal[\"strict\", \"ignore\", \"replace\", \"surrogateescape\", \"xmlcharrefreplace\", \"backslashreplace\", \"namereplace\"] = ..., storage_options: dict[str, Any] | None = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Write object to a comma-separated values (csv) file.\n\nParameters\n----------\npath_or_buf : str, path object, file-like object, or None, default None\n String, path object (implementing os.PathLike[str]), or file-like\n object implementing a write() function. If None, the result is\n returned as a string. If a non-binary file object is passed, it should\n be opened with `newline=''`, disabling universal newlines. If a binary\n file object is passed, `mode` might need to contain a `'b'`.\nsep : str, default ','\n String of length 1. Field delimiter for the output file.\nna_rep : str, default ''\n Missing data representation.\nfloat_format : str, Callable, default None\n Format string for floating point numbers. If a Callable is given, it takes\n precedence over other numeric formatting parameters, like decimal.\ncolumns : sequence, optional\n Columns to write.\nheader : bool or list of str, default True\n Write out the column names. If a list of strings is given it is\n assumed to be aliases for the column names.\nindex : bool, default True\n Write row names (index).\nindex_label : str or sequence, or False, default None\n Column label for index column(s) if desired. If None is given, and\n `header` and `index` are True, then the index names are used. A\n sequence should be given if the object uses MultiIndex. If\n False do not print fields for index names. Use index_label=False\n for easier importing in R.\nmode : {{'w', 'x', 'a'}}, default 'w'\n Forwarded to either `open(mode=)` or `fsspec.open(mode=)` to control\n the file opening. Typical values include:\n\n - 'w', truncate the file first.\n - 'x', exclusive creation, failing if the file already exists.\n - 'a', append to the end of file if it exists.\n\nencoding : str, optional\n A string representing the encoding to use in the output file,\n defaults to 'utf-8'. `encoding` is not supported if `path_or_buf`\n is a non-binary file object.\n{compression_options}\n\n May be a dict with key 'method' as compression mode\n and other entries as additional compression options if\n compression mode is 'zip'.\n\n Passing compression options as keys in dict is\n supported for compression modes 'gzip', 'bz2', 'zstd', and 'zip'.\nquoting : optional constant from csv module\n Defaults to csv.QUOTE_MINIMAL. If you have set a `float_format`\n then floats are converted to strings and thus csv.QUOTE_NONNUMERIC\n will treat them as non-numeric.\nquotechar : str, default '\\\"'\n String of length 1. Character used to quote fields.\nlineterminator : str, optional\n The newline character or character sequence to use in the output\n file. Defaults to `os.linesep`, which depends on the OS in which\n this method is called ('\\\\n' for linux, '\\\\r\\\\n' for Windows, i.e.).\n\n .. versionchanged:: 1.5.0\n\n Previously was line_terminator, changed for consistency with\n read_csv and the standard library 'csv' module.\n\nchunksize : int or None\n Rows to write at a time.\ndate_format : str, default None\n Format string for datetime objects.\ndoublequote : bool, default True\n Control quoting of `quotechar` inside a field.\nescapechar : str, default None\n String of length 1. Character used to escape `sep` and `quotechar`\n when appropriate.\ndecimal : str, default '.'\n Character recognized as decimal separator. E.g. use ',' for\n European data.\nerrors : str, default 'strict'\n Specifies how encoding and decoding errors are to be handled.\n See the errors argument for :func:`open` for a full list\n of options.\n\n{storage_options}\n\nReturns\n-------\nNone or str\n If path_or_buf is None, returns the resulting csv format as a\n string. Otherwise returns None.\n\nSee Also\n--------\nread_csv : Load a CSV file into a DataFrame.\nto_excel : Write DataFrame to an Excel file.\n\nExamples\n--------\nCreate 'out.csv' containing 'df' without indices\n\n>>> df = pd.DataFrame({{'name': ['Raphael', 'Donatello'],\n... 'mask': ['red', 'purple'],\n... 'weapon': ['sai', 'bo staff']}})\n>>> df.to_csv('out.csv', index=False) # doctest: +SKIP\n\nCreate 'out.zip' containing 'out.csv'\n\n>>> df.to_csv(index=False)\n'name,mask,weapon\\nRaphael,red,sai\\nDonatello,purple,bo staff\\n'\n>>> compression_opts = dict(method='zip',\n... archive_name='out.csv') # doctest: +SKIP\n>>> df.to_csv('out.zip', index=False,\n... compression=compression_opts) # doctest: +SKIP\n\nTo write a csv file to a new folder or nested folder you will first\nneed to create it using either Pathlib or os:\n\n>>> from pathlib import Path # doctest: +SKIP\n>>> filepath = Path('folder/subfolder/out.csv') # doctest: +SKIP\n>>> filepath.parent.mkdir(parents=True, exist_ok=True) # doctest: +SKIP\n>>> df.to_csv(filepath) # doctest: +SKIP\n\n>>> import os # doctest: +SKIP\n>>> os.makedirs('folder/subfolder', exist_ok=True) # doctest: +SKIP\n>>> df.to_csv('folder/subfolder/out.csv') # doctest: +SKIP\n"}, "kind": 2, "label": "to_csv", "sortText": "176"}, {"detail": "Overload[[MutableMappingT](orient: Literal[\"dict\", \"list\", \"series\", \"split\", \"tight\", \"index\"] = ..., *, into: type[MutableMappingT] | MutableMappingT, index: bool = ...) -> MutableMappingT, [MutableMappingT](orient: Literal[\"records\"], *, into: type[MutableMappingT] | MutableMappingT, index: bool = ...) -> list[MutableMappingT], (orient: Literal[\"dict\", \"list\", \"series\", \"split\", \"tight\", \"index\"] = ..., *, into: type[dict[Unknown, Unknown]] = ..., index: bool = ...) -> dict[Unknown, Unknown], (orient: Literal[\"records\"], *, into: type[dict[Unknown, Unknown]] = ..., index: bool = ...) -> list[dict[Unknown, Unknown]]]", "documentation": {"kind": "plaintext", "value": "Convert the DataFrame to a dictionary.\n\nThe type of the key-value pairs can be customized with the parameters\n(see below).\n\nParameters\n----------\norient : str {'dict', 'list', 'series', 'split', 'tight', 'records', 'index'}\n Determines the type of the values of the dictionary.\n\n - 'dict' (default) : dict like {column -> {index -> value}}\n - 'list' : dict like {column -> [values]}\n - 'series' : dict like {column -> Series(values)}\n - 'split' : dict like\n {'index' -> [index], 'columns' -> [columns], 'data' -> [values]}\n - 'tight' : dict like\n {'index' -> [index], 'columns' -> [columns], 'data' -> [values],\n 'index_names' -> [index.names], 'column_names' -> [column.names]}\n - 'records' : list like\n [{column -> value}, ... , {column -> value}]\n - 'index' : dict like {index -> {column -> value}}\n\n .. versionadded:: 1.4.0\n 'tight' as an allowed value for the ``orient`` argument\n\ninto : class, default dict\n The collections.abc.MutableMapping subclass used for all Mappings\n in the return value. Can be the actual class or an empty\n instance of the mapping type you want. If you want a\n collections.defaultdict, you must pass it initialized.\n\nindex : bool, default True\n Whether to include the index item (and index_names item if `orient`\n is 'tight') in the returned dictionary. Can only be ``False``\n when `orient` is 'split' or 'tight'.\n\n .. versionadded:: 2.0.0\n\nReturns\n-------\ndict, list or collections.abc.MutableMapping\n Return a collections.abc.MutableMapping object representing the\n DataFrame. The resulting transformation depends on the `orient`\n parameter.\n\nSee Also\n--------\nDataFrame.from_dict: Create a DataFrame from a dictionary.\nDataFrame.to_json: Convert a DataFrame to JSON format.\n\nExamples\n--------\n>>> df = pd.DataFrame({'col1': [1, 2],\n... 'col2': [0.5, 0.75]},\n... index=['row1', 'row2'])\n>>> df\n col1 col2\nrow1 1 0.50\nrow2 2 0.75\n>>> df.to_dict()\n{'col1': {'row1': 1, 'row2': 2}, 'col2': {'row1': 0.5, 'row2': 0.75}}\n\nYou can specify the return orientation.\n\n>>> df.to_dict('series')\n{'col1': row1 1\n row2 2\nName: col1, dtype: int64,\n'col2': row1 0.50\n row2 0.75\nName: col2, dtype: float64}\n\n>>> df.to_dict('split')\n{'index': ['row1', 'row2'], 'columns': ['col1', 'col2'],\n 'data': [[1, 0.5], [2, 0.75]]}\n\n>>> df.to_dict('records')\n[{'col1': 1, 'col2': 0.5}, {'col1': 2, 'col2': 0.75}]\n\n>>> df.to_dict('index')\n{'row1': {'col1': 1, 'col2': 0.5}, 'row2': {'col1': 2, 'col2': 0.75}}\n\n>>> df.to_dict('tight')\n{'index': ['row1', 'row2'], 'columns': ['col1', 'col2'],\n 'data': [[1, 0.5], [2, 0.75]], 'index_names': [None], 'column_names': [None]}\n\nYou can also specify the mapping type.\n\n>>> from collections import OrderedDict, defaultdict\n>>> df.to_dict(into=OrderedDict)\nOrderedDict([('col1', OrderedDict([('row1', 1), ('row2', 2)])),\n ('col2', OrderedDict([('row1', 0.5), ('row2', 0.75)]))])\n\nIf you want a `defaultdict`, you need to initialize it:\n\n>>> dd = defaultdict(list)\n>>> df.to_dict('records', into=dd)\n[defaultdict(, {'col1': 1, 'col2': 0.5}),\n defaultdict(, {'col1': 2, 'col2': 0.75})]\n"}, "kind": 2, "label": "to_dict", "sortText": "177"}, {"detail": "bound method DataFrame.to_excel(excel_writer: str | PathLike[str] | WriteExcelBuffer, sheet_name: str = \"Sheet1\", na_rep: str = \"\", float_format: str | None = None, columns: Sequence[Hashable] | None = None, header: Sequence[Hashable] | bool = True, index: bool = True, index_label: Hashable | Sequence[Hashable] = None, startrow: int = 0, startcol: int = 0, engine: Literal[\"openpyxl\", \"xlsxwriter\"] | None = None, merge_cells: bool = True, inf_rep: str = \"inf\", freeze_panes: tuple[int, int] | None = None, storage_options: dict[str, Any] | None = None, engine_kwargs: dict[str, Any] | None = None) -> None", "documentation": {"kind": "plaintext", "value": "Write {klass} to an Excel sheet.\n\nTo write a single {klass} to an Excel .xlsx file it is only necessary to\nspecify a target file name. To write to multiple sheets it is necessary to\ncreate an `ExcelWriter` object with a target file name, and specify a sheet\nin the file to write to.\n\nMultiple sheets may be written to by specifying unique `sheet_name`.\nWith all data written to the file it is necessary to save the changes.\nNote that creating an `ExcelWriter` object with a file name that already\nexists will result in the contents of the existing file being erased.\n\nParameters\n----------\nexcel_writer : path-like, file-like, or ExcelWriter object\n File path or existing ExcelWriter.\nsheet_name : str, default 'Sheet1'\n Name of sheet which will contain DataFrame.\nna_rep : str, default ''\n Missing data representation.\nfloat_format : str, optional\n Format string for floating point numbers. For example\n ``float_format=\"%.2f\"`` will format 0.1234 to 0.12.\ncolumns : sequence or list of str, optional\n Columns to write.\nheader : bool or list of str, default True\n Write out the column names. If a list of string is given it is\n assumed to be aliases for the column names.\nindex : bool, default True\n Write row names (index).\nindex_label : str or sequence, optional\n Column label for index column(s) if desired. If not specified, and\n `header` and `index` are True, then the index names are used. A\n sequence should be given if the DataFrame uses MultiIndex.\nstartrow : int, default 0\n Upper left cell row to dump data frame.\nstartcol : int, default 0\n Upper left cell column to dump data frame.\nengine : str, optional\n Write engine to use, 'openpyxl' or 'xlsxwriter'. You can also set this\n via the options ``io.excel.xlsx.writer`` or\n ``io.excel.xlsm.writer``.\n\nmerge_cells : bool, default True\n Write MultiIndex and Hierarchical Rows as merged cells.\ninf_rep : str, default 'inf'\n Representation for infinity (there is no native representation for\n infinity in Excel).\nfreeze_panes : tuple of int (length 2), optional\n Specifies the one-based bottommost row and rightmost column that\n is to be frozen.\n{storage_options}\n\n .. versionadded:: {storage_options_versionadded}\nengine_kwargs : dict, optional\n Arbitrary keyword arguments passed to excel engine.\n\nSee Also\n--------\nto_csv : Write DataFrame to a comma-separated values (csv) file.\nExcelWriter : Class for writing DataFrame objects into excel sheets.\nread_excel : Read an Excel file into a pandas DataFrame.\nread_csv : Read a comma-separated values (csv) file into DataFrame.\nio.formats.style.Styler.to_excel : Add styles to Excel sheet.\n\nNotes\n-----\nFor compatibility with :meth:`~DataFrame.to_csv`,\nto_excel serializes lists and dicts to strings before writing.\n\nOnce a workbook has been saved it is not possible to write further\ndata without rewriting the whole workbook.\n\nExamples\n--------\n\nCreate, write to and save a workbook:\n\n>>> df1 = pd.DataFrame([['a', 'b'], ['c', 'd']],\n... index=['row 1', 'row 2'],\n... columns=['col 1', 'col 2'])\n>>> df1.to_excel(\"output.xlsx\") # doctest: +SKIP\n\nTo specify the sheet name:\n\n>>> df1.to_excel(\"output.xlsx\",\n... sheet_name='Sheet_name_1') # doctest: +SKIP\n\nIf you wish to write to more than one sheet in the workbook, it is\nnecessary to specify an ExcelWriter object:\n\n>>> df2 = df1.copy()\n>>> with pd.ExcelWriter('output.xlsx') as writer: # doctest: +SKIP\n... df1.to_excel(writer, sheet_name='Sheet_name_1')\n... df2.to_excel(writer, sheet_name='Sheet_name_2')\n\nExcelWriter can also be used to append to an existing Excel file:\n\n>>> with pd.ExcelWriter('output.xlsx',\n... mode='a') as writer: # doctest: +SKIP\n... df1.to_excel(writer, sheet_name='Sheet_name_3')\n\nTo set the library that is used to write the Excel file,\nyou can pass the `engine` keyword (the default engine is\nautomatically chosen depending on the file extension):\n\n>>> df1.to_excel('output1.xlsx', engine='xlsxwriter') # doctest: +SKIP\n"}, "kind": 2, "label": "to_excel", "sortText": "178"}, {"detail": "bound method DataFrame.to_feather(path: str | PathLike[str] | WriteBuffer[bytes], **kwargs) -> None", "documentation": {"kind": "plaintext", "value": "Write a DataFrame to the binary Feather format.\n\nParameters\n----------\npath : str, path object, file-like object\n String, path object (implementing ``os.PathLike[str]``), or file-like\n object implementing a binary ``write()`` function. If a string or a path,\n it will be used as Root Directory path when writing a partitioned dataset.\n**kwargs :\n Additional keywords passed to :func:`pyarrow.feather.write_feather`.\n This includes the `compression`, `compression_level`, `chunksize`\n and `version` keywords.\n\nNotes\n-----\nThis function writes the dataframe as a `feather file\n`_. Requires a default\nindex. For saving the DataFrame with your custom index use a method that\nsupports custom indices e.g. `to_parquet`.\n\nExamples\n--------\n>>> df = pd.DataFrame([[1, 2, 3], [4, 5, 6]])\n>>> df.to_feather(\"file.feather\") # doctest: +SKIP\n"}, "kind": 2, "label": "to_feather", "sortText": "179"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "to_frame", "sortText": "180"}, {"detail": "bound method DataFrame.to_gbq(destination_table: str, project_id: str | None = None, chunksize: int | None = None, reauth: bool = False, if_exists: Literal[\"fail\", \"replace\", \"append\"] = \"fail\", auth_local_webserver: bool = True, table_schema: list[dict[str, str]] | None = None, location: str | None = None, progress_bar: bool = True, credentials=None) -> None", "documentation": {"kind": "plaintext", "value": "Write a DataFrame to a Google BigQuery table.\n\n.. deprecated:: 2.2.0\n\n Please use ``pandas_gbq.to_gbq`` instead.\n\nThis function requires the `pandas-gbq package\n`__.\n\nSee the `How to authenticate with Google BigQuery\n`__\nguide for authentication instructions.\n\nParameters\n----------\ndestination_table : str\n Name of table to be written, in the form ``dataset.tablename``.\nproject_id : str, optional\n Google BigQuery Account project ID. Optional when available from\n the environment.\nchunksize : int, optional\n Number of rows to be inserted in each chunk from the dataframe.\n Set to ``None`` to load the whole dataframe at once.\nreauth : bool, default False\n Force Google BigQuery to re-authenticate the user. This is useful\n if multiple accounts are used.\nif_exists : str, default 'fail'\n Behavior when the destination table exists. Value can be one of:\n\n ``'fail'``\n If table exists raise pandas_gbq.gbq.TableCreationError.\n ``'replace'``\n If table exists, drop it, recreate it, and insert data.\n ``'append'``\n If table exists, insert data. Create if does not exist.\nauth_local_webserver : bool, default True\n Use the `local webserver flow`_ instead of the `console flow`_\n when getting user credentials.\n\n .. _local webserver flow:\n https://google-auth-oauthlib.readthedocs.io/en/latest/reference/google_auth_oauthlib.flow.html#google_auth_oauthlib.flow.InstalledAppFlow.run_local_server\n .. _console flow:\n https://google-auth-oauthlib.readthedocs.io/en/latest/reference/google_auth_oauthlib.flow.html#google_auth_oauthlib.flow.InstalledAppFlow.run_console\n\n *New in version 0.2.0 of pandas-gbq*.\n\n .. versionchanged:: 1.5.0\n Default value is changed to ``True``. Google has deprecated the\n ``auth_local_webserver = False`` `\"out of band\" (copy-paste)\n flow\n `_.\ntable_schema : list of dicts, optional\n List of BigQuery table fields to which according DataFrame\n columns conform to, e.g. ``[{'name': 'col1', 'type':\n 'STRING'},...]``. If schema is not provided, it will be\n generated according to dtypes of DataFrame columns. See\n BigQuery API documentation on available names of a field.\n\n *New in version 0.3.1 of pandas-gbq*.\nlocation : str, optional\n Location where the load job should run. See the `BigQuery locations\n documentation\n `__ for a\n list of available locations. The location must match that of the\n target dataset.\n\n *New in version 0.5.0 of pandas-gbq*.\nprogress_bar : bool, default True\n Use the library `tqdm` to show the progress bar for the upload,\n chunk by chunk.\n\n *New in version 0.5.0 of pandas-gbq*.\ncredentials : google.auth.credentials.Credentials, optional\n Credentials for accessing Google APIs. Use this parameter to\n override default credentials, such as to use Compute Engine\n :class:`google.auth.compute_engine.Credentials` or Service\n Account :class:`google.oauth2.service_account.Credentials`\n directly.\n\n *New in version 0.8.0 of pandas-gbq*.\n\nSee Also\n--------\npandas_gbq.to_gbq : This function in the pandas-gbq library.\nread_gbq : Read a DataFrame from Google BigQuery.\n\nExamples\n--------\nExample taken from `Google BigQuery documentation\n`_\n\n>>> project_id = \"my-project\"\n>>> table_id = 'my_dataset.my_table'\n>>> df = pd.DataFrame({\n... \"my_string\": [\"a\", \"b\", \"c\"],\n... \"my_int64\": [1, 2, 3],\n... \"my_float64\": [4.0, 5.0, 6.0],\n... \"my_bool1\": [True, False, True],\n... \"my_bool2\": [False, True, False],\n... \"my_dates\": pd.date_range(\"now\", periods=3),\n... }\n... )\n\n>>> df.to_gbq(table_id, project_id=project_id) # doctest: +SKIP\n"}, "kind": 2, "label": "to_gbq", "sortText": "181"}, {"detail": "bound method DataFrame.to_hdf(path_or_buf: str | PathLike[str], key: str, mode: Literal[\"a\", \"w\", \"r+\"] = \"a\", complevel: int | None = None, complib: Literal[\"zlib\", \"lzo\", \"bzip2\", \"blosc\"] | None = None, append: bool = False, format: Literal[\"fixed\", \"table\"] | None = None, index: bool = True, min_itemsize: int | dict[str, int] | None = None, nan_rep=None, dropna: bool | None = None, data_columns: Literal[True] | list[str] | None = None, errors: Literal[\"strict\", \"ignore\", \"replace\", \"surrogateescape\", \"xmlcharrefreplace\", \"backslashreplace\", \"namereplace\"] = \"strict\", encoding: str = \"UTF-8\") -> None", "documentation": {"kind": "plaintext", "value": "Write the contained data to an HDF5 file using HDFStore.\n\nHierarchical Data Format (HDF) is self-describing, allowing an\napplication to interpret the structure and contents of a file with\nno outside information. One HDF file can hold a mix of related objects\nwhich can be accessed as a group or as individual objects.\n\nIn order to add another DataFrame or Series to an existing HDF file\nplease use append mode and a different a key.\n\n.. warning::\n\n One can store a subclass of ``DataFrame`` or ``Series`` to HDF5,\n but the type of the subclass is lost upon storing.\n\nFor more information see the :ref:`user guide `.\n\nParameters\n----------\npath_or_buf : str or pandas.HDFStore\n File path or HDFStore object.\nkey : str\n Identifier for the group in the store.\nmode : {'a', 'w', 'r+'}, default 'a'\n Mode to open file:\n\n - 'w': write, a new file is created (an existing file with\n the same name would be deleted).\n - 'a': append, an existing file is opened for reading and\n writing, and if the file does not exist it is created.\n - 'r+': similar to 'a', but the file must already exist.\ncomplevel : {0-9}, default None\n Specifies a compression level for data.\n A value of 0 or None disables compression.\ncomplib : {'zlib', 'lzo', 'bzip2', 'blosc'}, default 'zlib'\n Specifies the compression library to be used.\n These additional compressors for Blosc are supported\n (default if no compressor specified: 'blosc:blosclz'):\n {'blosc:blosclz', 'blosc:lz4', 'blosc:lz4hc', 'blosc:snappy',\n 'blosc:zlib', 'blosc:zstd'}.\n Specifying a compression library which is not available issues\n a ValueError.\nappend : bool, default False\n For Table formats, append the input data to the existing.\nformat : {'fixed', 'table', None}, default 'fixed'\n Possible values:\n\n - 'fixed': Fixed format. Fast writing/reading. Not-appendable,\n nor searchable.\n - 'table': Table format. Write as a PyTables Table structure\n which may perform worse but allow more flexible operations\n like searching / selecting subsets of the data.\n - If None, pd.get_option('io.hdf.default_format') is checked,\n followed by fallback to \"fixed\".\nindex : bool, default True\n Write DataFrame index as a column.\nmin_itemsize : dict or int, optional\n Map column names to minimum string sizes for columns.\nnan_rep : Any, optional\n How to represent null values as str.\n Not allowed with append=True.\ndropna : bool, default False, optional\n Remove missing values.\ndata_columns : list of columns or True, optional\n List of columns to create as indexed data columns for on-disk\n queries, or True to use all columns. By default only the axes\n of the object are indexed. See\n :ref:`Query via data columns`. for\n more information.\n Applicable only to format='table'.\nerrors : str, default 'strict'\n Specifies how encoding and decoding errors are to be handled.\n See the errors argument for :func:`open` for a full list\n of options.\nencoding : str, default \"UTF-8\"\n\nSee Also\n--------\nread_hdf : Read from HDF file.\nDataFrame.to_orc : Write a DataFrame to the binary orc format.\nDataFrame.to_parquet : Write a DataFrame to the binary parquet format.\nDataFrame.to_sql : Write to a SQL table.\nDataFrame.to_feather : Write out feather-format for DataFrames.\nDataFrame.to_csv : Write out to a csv file.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]},\n... index=['a', 'b', 'c']) # doctest: +SKIP\n>>> df.to_hdf('data.h5', key='df', mode='w') # doctest: +SKIP\n\nWe can add another object to the same file:\n\n>>> s = pd.Series([1, 2, 3, 4]) # doctest: +SKIP\n>>> s.to_hdf('data.h5', key='s') # doctest: +SKIP\n\nReading from HDF file:\n\n>>> pd.read_hdf('data.h5', 'df') # doctest: +SKIP\nA B\na 1 4\nb 2 5\nc 3 6\n>>> pd.read_hdf('data.h5', 's') # doctest: +SKIP\n0 1\n1 2\n2 3\n3 4\ndtype: int64\n"}, "kind": 2, "label": "to_hdf", "sortText": "182"}, {"detail": "Overload[(buf: str | PathLike[str] | WriteBuffer[str], columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = ..., col_space: Sequence[str | int] | int | Mapping[Hashable, str | int] | None = ..., header: bool = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., justify: str | None = ..., max_rows: int | None = ..., max_cols: int | None = ..., show_dimensions: bool | str = ..., decimal: str = ..., bold_rows: bool = ..., classes: str | list[Unknown] | tuple[Unknown, ...] | None = ..., escape: bool = ..., notebook: bool = ..., border: int | None = ..., table_id: str | None = ..., render_links: bool = ..., encoding: str | None = ...) -> None, (buf: None = ..., columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = ..., col_space: Sequence[str | int] | int | Mapping[Hashable, str | int] | None = ..., header: bool = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., justify: str | None = ..., max_rows: int | None = ..., max_cols: int | None = ..., show_dimensions: bool | str = ..., decimal: str = ..., bold_rows: bool = ..., classes: str | list[Unknown] | tuple[Unknown, ...] | None = ..., escape: bool = ..., notebook: bool = ..., border: int | None = ..., table_id: str | None = ..., render_links: bool = ..., encoding: str | None = ...) -> str]", "documentation": {"kind": "plaintext", "value": "Render a DataFrame as an HTML table.\n%(shared_params)s\nbold_rows : bool, default True\n Make the row labels bold in the output.\nclasses : str or list or tuple, default None\n CSS class(es) to apply to the resulting html table.\nescape : bool, default True\n Convert the characters <, >, and & to HTML-safe sequences.\nnotebook : {True, False}, default False\n Whether the generated HTML is for IPython Notebook.\nborder : int\n A ``border=border`` attribute is included in the opening\n `
` tag. Default ``pd.options.display.html.border``.\ntable_id : str, optional\n A css id is included in the opening `
` tag if specified.\nrender_links : bool, default False\n Convert URLs to HTML links.\nencoding : str, default \"utf-8\"\n Set character encoding.\n%(returns)s\nSee Also\n--------\nto_string : Convert DataFrame to a string.\n\nExamples\n--------\n>>> df = pd.DataFrame(data={'col1': [1, 2], 'col2': [4, 3]})\n>>> html_string = '''
\n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n...
col1col2
014
123
'''\n>>> assert html_string == df.to_html()\n"}, "kind": 2, "label": "to_html", "sortText": "183"}, {"detail": "bound method DataFrame.to_json(path_or_buf: str | PathLike[str] | WriteBuffer[bytes] | WriteBuffer[str] | None = None, orient: Literal[\"split\", \"records\", \"index\", \"table\", \"columns\", \"values\"] | None = None, date_format: str | None = None, double_precision: int = 10, force_ascii: bool = True, date_unit: Literal[\"s\", \"ms\", \"us\", \"ns\"] = \"ms\", default_handler: ((Any, /) -> str | float | list[Unknown] | dict[Unknown, Unknown] | None) | None = None, lines: bool = False, compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = \"infer\", index: bool | None = None, indent: int | None = None, storage_options: dict[str, Any] | None = None, mode: Literal[\"a\", \"w\"] = \"w\") -> str | None", "documentation": {"kind": "plaintext", "value": "Convert the object to a JSON string.\n\nNote NaN's and None will be converted to null and datetime objects\nwill be converted to UNIX timestamps.\n\nParameters\n----------\npath_or_buf : str, path object, file-like object, or None, default None\n String, path object (implementing os.PathLike[str]), or file-like\n object implementing a write() function. If None, the result is\n returned as a string.\norient : str\n Indication of expected JSON string format.\n\n * Series:\n\n - default is 'index'\n - allowed values are: {{'split', 'records', 'index', 'table'}}.\n\n * DataFrame:\n\n - default is 'columns'\n - allowed values are: {{'split', 'records', 'index', 'columns',\n 'values', 'table'}}.\n\n * The format of the JSON string:\n\n - 'split' : dict like {{'index' -> [index], 'columns' -> [columns],\n 'data' -> [values]}}\n - 'records' : list like [{{column -> value}}, ... , {{column -> value}}]\n - 'index' : dict like {{index -> {{column -> value}}}}\n - 'columns' : dict like {{column -> {{index -> value}}}}\n - 'values' : just the values array\n - 'table' : dict like {{'schema': {{schema}}, 'data': {{data}}}}\n\n Describing the data, where data component is like ``orient='records'``.\n\ndate_format : {{None, 'epoch', 'iso'}}\n Type of date conversion. 'epoch' = epoch milliseconds,\n 'iso' = ISO8601. The default depends on the `orient`. For\n ``orient='table'``, the default is 'iso'. For all other orients,\n the default is 'epoch'.\ndouble_precision : int, default 10\n The number of decimal places to use when encoding\n floating point values. The possible maximal value is 15.\n Passing double_precision greater than 15 will raise a ValueError.\nforce_ascii : bool, default True\n Force encoded string to be ASCII.\ndate_unit : str, default 'ms' (milliseconds)\n The time unit to encode to, governs timestamp and ISO8601\n precision. One of 's', 'ms', 'us', 'ns' for second, millisecond,\n microsecond, and nanosecond respectively.\ndefault_handler : callable, default None\n Handler to call if object cannot otherwise be converted to a\n suitable format for JSON. Should receive a single argument which is\n the object to convert and return a serialisable object.\nlines : bool, default False\n If 'orient' is 'records' write out line-delimited json format. Will\n throw ValueError if incorrect 'orient' since others are not\n list-like.\n{compression_options}\n\n .. versionchanged:: 1.4.0 Zstandard support.\n\nindex : bool or None, default None\n The index is only used when 'orient' is 'split', 'index', 'column',\n or 'table'. Of these, 'index' and 'column' do not support\n `index=False`.\n\nindent : int, optional\n Length of whitespace used to indent each record.\n\n{storage_options}\n\nmode : str, default 'w' (writing)\n Specify the IO mode for output when supplying a path_or_buf.\n Accepted args are 'w' (writing) and 'a' (append) only.\n mode='a' is only supported when lines is True and orient is 'records'.\n\nReturns\n-------\nNone or str\n If path_or_buf is None, returns the resulting json format as a\n string. Otherwise returns None.\n\nSee Also\n--------\nread_json : Convert a JSON string to pandas object.\n\nNotes\n-----\nThe behavior of ``indent=0`` varies from the stdlib, which does not\nindent the output but does insert newlines. Currently, ``indent=0``\nand the default ``indent=None`` are equivalent in pandas, though this\nmay change in a future release.\n\n``orient='table'`` contains a 'pandas_version' field under 'schema'.\nThis stores the version of `pandas` used in the latest revision of the\nschema.\n\nExamples\n--------\n>>> from json import loads, dumps\n>>> df = pd.DataFrame(\n... [[\"a\", \"b\"], [\"c\", \"d\"]],\n... index=[\"row 1\", \"row 2\"],\n... columns=[\"col 1\", \"col 2\"],\n... )\n\n>>> result = df.to_json(orient=\"split\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n{{\n \"columns\": [\n \"col 1\",\n \"col 2\"\n ],\n \"index\": [\n \"row 1\",\n \"row 2\"\n ],\n \"data\": [\n [\n \"a\",\n \"b\"\n ],\n [\n \"c\",\n \"d\"\n ]\n ]\n}}\n\nEncoding/decoding a Dataframe using ``'records'`` formatted JSON.\nNote that index labels are not preserved with this encoding.\n\n>>> result = df.to_json(orient=\"records\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n[\n {{\n \"col 1\": \"a\",\n \"col 2\": \"b\"\n }},\n {{\n \"col 1\": \"c\",\n \"col 2\": \"d\"\n }}\n]\n\nEncoding/decoding a Dataframe using ``'index'`` formatted JSON:\n\n>>> result = df.to_json(orient=\"index\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n{{\n \"row 1\": {{\n \"col 1\": \"a\",\n \"col 2\": \"b\"\n }},\n \"row 2\": {{\n \"col 1\": \"c\",\n \"col 2\": \"d\"\n }}\n}}\n\nEncoding/decoding a Dataframe using ``'columns'`` formatted JSON:\n\n>>> result = df.to_json(orient=\"columns\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n{{\n \"col 1\": {{\n \"row 1\": \"a\",\n \"row 2\": \"c\"\n }},\n \"col 2\": {{\n \"row 1\": \"b\",\n \"row 2\": \"d\"\n }}\n}}\n\nEncoding/decoding a Dataframe using ``'values'`` formatted JSON:\n\n>>> result = df.to_json(orient=\"values\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n[\n [\n \"a\",\n \"b\"\n ],\n [\n \"c\",\n \"d\"\n ]\n]\n\nEncoding with Table Schema:\n\n>>> result = df.to_json(orient=\"table\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n{{\n \"schema\": {{\n \"fields\": [\n {{\n \"name\": \"index\",\n \"type\": \"string\"\n }},\n {{\n \"name\": \"col 1\",\n \"type\": \"string\"\n }},\n {{\n \"name\": \"col 2\",\n \"type\": \"string\"\n }}\n ],\n \"primaryKey\": [\n \"index\"\n ],\n \"pandas_version\": \"1.4.0\"\n }},\n \"data\": [\n {{\n \"index\": \"row 1\",\n \"col 1\": \"a\",\n \"col 2\": \"b\"\n }},\n {{\n \"index\": \"row 2\",\n \"col 1\": \"c\",\n \"col 2\": \"d\"\n }}\n ]\n}}\n"}, "kind": 2, "label": "to_json", "sortText": "184"}, {"detail": "Overload[(buf: None = ..., columns: Sequence[Hashable] | None = ..., header: bool | SequenceNotStr[str] = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., bold_rows: bool = ..., column_format: str | None = ..., longtable: bool | None = ..., escape: bool | None = ..., encoding: str | None = ..., decimal: str = ..., multicolumn: bool | None = ..., multicolumn_format: str | None = ..., multirow: bool | None = ..., caption: str | tuple[str, str] | None = ..., label: str | None = ..., position: str | None = ...) -> str, (buf: str | PathLike[str] | WriteBuffer[str], columns: Sequence[Hashable] | None = ..., header: bool | SequenceNotStr[str] = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., bold_rows: bool = ..., column_format: str | None = ..., longtable: bool | None = ..., escape: bool | None = ..., encoding: str | None = ..., decimal: str = ..., multicolumn: bool | None = ..., multicolumn_format: str | None = ..., multirow: bool | None = ..., caption: str | tuple[str, str] | None = ..., label: str | None = ..., position: str | None = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Render object to a LaTeX tabular, longtable, or nested table.\n\nRequires ``\\usepackage{{booktabs}}``. The output can be copy/pasted\ninto a main LaTeX document or read from an external file\nwith ``\\input{{table.tex}}``.\n\n.. versionchanged:: 2.0.0\n Refactored to use the Styler implementation via jinja2 templating.\n\nParameters\n----------\nbuf : str, Path or StringIO-like, optional, default None\n Buffer to write to. If None, the output is returned as a string.\ncolumns : list of label, optional\n The subset of columns to write. Writes all columns by default.\nheader : bool or list of str, default True\n Write out the column names. If a list of strings is given,\n it is assumed to be aliases for the column names.\nindex : bool, default True\n Write row names (index).\nna_rep : str, default 'NaN'\n Missing data representation.\nformatters : list of functions or dict of {{str: function}}, optional\n Formatter functions to apply to columns' elements by position or\n name. The result of each function must be a unicode string.\n List must be of length equal to the number of columns.\nfloat_format : one-parameter function or str, optional, default None\n Formatter for floating point numbers. For example\n ``float_format=\"%.2f\"`` and ``float_format=\"{{:0.2f}}\".format`` will\n both result in 0.1234 being formatted as 0.12.\nsparsify : bool, optional\n Set to False for a DataFrame with a hierarchical index to print\n every multiindex key at each row. By default, the value will be\n read from the config module.\nindex_names : bool, default True\n Prints the names of the indexes.\nbold_rows : bool, default False\n Make the row labels bold in the output.\ncolumn_format : str, optional\n The columns format as specified in `LaTeX table format\n `__ e.g. 'rcl' for 3\n columns. By default, 'l' will be used for all columns except\n columns of numbers, which default to 'r'.\nlongtable : bool, optional\n Use a longtable environment instead of tabular. Requires\n adding a \\usepackage{{longtable}} to your LaTeX preamble.\n By default, the value will be read from the pandas config\n module, and set to `True` if the option ``styler.latex.environment`` is\n `\"longtable\"`.\n\n .. versionchanged:: 2.0.0\n The pandas option affecting this argument has changed.\nescape : bool, optional\n By default, the value will be read from the pandas config\n module and set to `True` if the option ``styler.format.escape`` is\n `\"latex\"`. When set to False prevents from escaping latex special\n characters in column names.\n\n .. versionchanged:: 2.0.0\n The pandas option affecting this argument has changed, as has the\n default value to `False`.\nencoding : str, optional\n A string representing the encoding to use in the output file,\n defaults to 'utf-8'.\ndecimal : str, default '.'\n Character recognized as decimal separator, e.g. ',' in Europe.\nmulticolumn : bool, default True\n Use \\multicolumn to enhance MultiIndex columns.\n The default will be read from the config module, and is set\n as the option ``styler.sparse.columns``.\n\n .. versionchanged:: 2.0.0\n The pandas option affecting this argument has changed.\nmulticolumn_format : str, default 'r'\n The alignment for multicolumns, similar to `column_format`\n The default will be read from the config module, and is set as the option\n ``styler.latex.multicol_align``.\n\n .. versionchanged:: 2.0.0\n The pandas option affecting this argument has changed, as has the\n default value to \"r\".\nmultirow : bool, default True\n Use \\multirow to enhance MultiIndex rows. Requires adding a\n \\usepackage{{multirow}} to your LaTeX preamble. Will print\n centered labels (instead of top-aligned) across the contained\n rows, separating groups via clines. The default will be read\n from the pandas config module, and is set as the option\n ``styler.sparse.index``.\n\n .. versionchanged:: 2.0.0\n The pandas option affecting this argument has changed, as has the\n default value to `True`.\ncaption : str or tuple, optional\n Tuple (full_caption, short_caption),\n which results in ``\\caption[short_caption]{{full_caption}}``;\n if a single string is passed, no short caption will be set.\nlabel : str, optional\n The LaTeX label to be placed inside ``\\label{{}}`` in the output.\n This is used with ``\\ref{{}}`` in the main ``.tex`` file.\n\nposition : str, optional\n The LaTeX positional argument for tables, to be placed after\n ``\\begin{{}}`` in the output.\n\nReturns\n-------\nstr or None\n If buf is None, returns the result as a string. Otherwise returns None.\n\nSee Also\n--------\nio.formats.style.Styler.to_latex : Render a DataFrame to LaTeX\n with conditional formatting.\nDataFrame.to_string : Render a DataFrame to a console-friendly\n tabular output.\nDataFrame.to_html : Render a DataFrame as an HTML table.\n\nNotes\n-----\nAs of v2.0.0 this method has changed to use the Styler implementation as\npart of :meth:`.Styler.to_latex` via ``jinja2`` templating. This means\nthat ``jinja2`` is a requirement, and needs to be installed, for this method\nto function. It is advised that users switch to using Styler, since that\nimplementation is more frequently updated and contains much more\nflexibility with the output.\n\nExamples\n--------\nConvert a general DataFrame to LaTeX with formatting:\n\n>>> df = pd.DataFrame(dict(name=['Raphael', 'Donatello'],\n... age=[26, 45],\n... height=[181.23, 177.65]))\n>>> print(df.to_latex(index=False,\n... formatters={\"name\": str.upper},\n... float_format=\"{:.1f}\".format,\n... )) # doctest: +SKIP\n\\begin{tabular}{lrr}\n\\toprule\nname & age & height \\\\\n\\midrule\nRAPHAEL & 26 & 181.2 \\\\\nDONATELLO & 45 & 177.7 \\\\\n\\bottomrule\n\\end{tabular}\n"}, "kind": 2, "label": "to_latex", "sortText": "185"}, {"detail": "bound method DataFrame.to_markdown(buf: str | PathLike[str] | WriteBuffer[str] | None = None, mode: str = \"wt\", index: bool = True, storage_options: dict[str, Any] | None = None, **kwargs) -> str | None", "kind": 2, "label": "to_markdown", "sortText": "186"}, {"detail": "bound method DataFrame.to_numpy(dtype: DTypeLike | None = None, copy: bool = False, na_value: object = ...) -> ndarray[_AnyShape, dtype[Any]]", "documentation": {"kind": "plaintext", "value": "Convert the DataFrame to a NumPy array.\n\nBy default, the dtype of the returned array will be the common NumPy\ndtype of all types in the DataFrame. For example, if the dtypes are\n``float16`` and ``float32``, the results dtype will be ``float32``.\nThis may require copying data and coercing values, which may be\nexpensive.\n\nParameters\n----------\ndtype : str or numpy.dtype, optional\n The dtype to pass to :meth:`numpy.asarray`.\ncopy : bool, default False\n Whether to ensure that the returned value is not a view on\n another array. Note that ``copy=False`` does not *ensure* that\n ``to_numpy()`` is no-copy. Rather, ``copy=True`` ensure that\n a copy is made, even if not strictly necessary.\nna_value : Any, optional\n The value to use for missing values. The default value depends\n on `dtype` and the dtypes of the DataFrame columns.\n\nReturns\n-------\nnumpy.ndarray\n\nSee Also\n--------\nSeries.to_numpy : Similar method for Series.\n\nExamples\n--------\n>>> pd.DataFrame({\"A\": [1, 2], \"B\": [3, 4]}).to_numpy()\narray([[1, 3],\n [2, 4]])\n\nWith heterogeneous data, the lowest common type will have to\nbe used.\n\n>>> df = pd.DataFrame({\"A\": [1, 2], \"B\": [3.0, 4.5]})\n>>> df.to_numpy()\narray([[1. , 3. ],\n [2. , 4.5]])\n\nFor a mix of numeric and non-numeric types, the output array will\nhave object dtype.\n\n>>> df['C'] = pd.date_range('2000', periods=2)\n>>> df.to_numpy()\narray([[1, 3.0, Timestamp('2000-01-01 00:00:00')],\n [2, 4.5, Timestamp('2000-01-02 00:00:00')]], dtype=object)\n"}, "kind": 2, "label": "to_numpy", "sortText": "187"}, {"detail": "bound method DataFrame.to_orc(path: str | PathLike[str] | WriteBuffer[bytes] | None = None, *, engine: Literal[\"pyarrow\"] = \"pyarrow\", index: bool | None = None, engine_kwargs: dict[str, Any] | None = None) -> bytes | None", "documentation": {"kind": "plaintext", "value": "Write a DataFrame to the ORC format.\n\n.. versionadded:: 1.5.0\n\nParameters\n----------\npath : str, file-like object or None, default None\n If a string, it will be used as Root Directory path\n when writing a partitioned dataset. By file-like object,\n we refer to objects with a write() method, such as a file handle\n (e.g. via builtin open function). If path is None,\n a bytes object is returned.\nengine : {'pyarrow'}, default 'pyarrow'\n ORC library to use.\nindex : bool, optional\n If ``True``, include the dataframe's index(es) in the file output.\n If ``False``, they will not be written to the file.\n If ``None``, similar to ``infer`` the dataframe's index(es)\n will be saved. However, instead of being saved as values,\n the RangeIndex will be stored as a range in the metadata so it\n doesn't require much space and is faster. Other indexes will\n be included as columns in the file output.\nengine_kwargs : dict[str, Any] or None, default None\n Additional keyword arguments passed to :func:`pyarrow.orc.write_table`.\n\nReturns\n-------\nbytes if no path argument is provided else None\n\nRaises\n------\nNotImplementedError\n Dtype of one or more columns is category, unsigned integers, interval,\n period or sparse.\nValueError\n engine is not pyarrow.\n\nSee Also\n--------\nread_orc : Read a ORC file.\nDataFrame.to_parquet : Write a parquet file.\nDataFrame.to_csv : Write a csv file.\nDataFrame.to_sql : Write to a sql table.\nDataFrame.to_hdf : Write to hdf.\n\nNotes\n-----\n* Before using this function you should read the :ref:`user guide about\n ORC ` and :ref:`install optional dependencies `.\n* This function requires `pyarrow `_\n library.\n* For supported dtypes please refer to `supported ORC features in Arrow\n `__.\n* Currently timezones in datetime columns are not preserved when a\n dataframe is converted into ORC files.\n\nExamples\n--------\n>>> df = pd.DataFrame(data={'col1': [1, 2], 'col2': [4, 3]})\n>>> df.to_orc('df.orc') # doctest: +SKIP\n>>> pd.read_orc('df.orc') # doctest: +SKIP\n col1 col2\n0 1 4\n1 2 3\n\nIf you want to get a buffer to the orc content you can write it to io.BytesIO\n\n>>> import io\n>>> b = io.BytesIO(df.to_orc()) # doctest: +SKIP\n>>> b.seek(0) # doctest: +SKIP\n0\n>>> content = b.read() # doctest: +SKIP\n"}, "kind": 2, "label": "to_orc", "sortText": "188"}, {"detail": "Overload[(path: None = ..., engine: Literal[\"auto\", \"pyarrow\", \"fastparquet\"] = ..., compression: str | None = ..., index: bool | None = ..., partition_cols: list[str] | None = ..., storage_options: dict[str, Any] | None = ..., **kwargs) -> bytes, (path: str | PathLike[str] | WriteBuffer[bytes], engine: Literal[\"auto\", \"pyarrow\", \"fastparquet\"] = ..., compression: str | None = ..., index: bool | None = ..., partition_cols: list[str] | None = ..., storage_options: dict[str, Any] | None = ..., **kwargs) -> None]", "documentation": {"kind": "plaintext", "value": "Write a DataFrame to the binary parquet format.\n\nThis function writes the dataframe as a `parquet file\n`_. You can choose different parquet\nbackends, and have the option of compression. See\n:ref:`the user guide ` for more details.\n\nParameters\n----------\npath : str, path object, file-like object, or None, default None\n String, path object (implementing ``os.PathLike[str]``), or file-like\n object implementing a binary ``write()`` function. If None, the result is\n returned as bytes. If a string or path, it will be used as Root Directory\n path when writing a partitioned dataset.\nengine : {{'auto', 'pyarrow', 'fastparquet'}}, default 'auto'\n Parquet library to use. If 'auto', then the option\n ``io.parquet.engine`` is used. The default ``io.parquet.engine``\n behavior is to try 'pyarrow', falling back to 'fastparquet' if\n 'pyarrow' is unavailable.\ncompression : str or None, default 'snappy'\n Name of the compression to use. Use ``None`` for no compression.\n Supported options: 'snappy', 'gzip', 'brotli', 'lz4', 'zstd'.\nindex : bool, default None\n If ``True``, include the dataframe's index(es) in the file output.\n If ``False``, they will not be written to the file.\n If ``None``, similar to ``True`` the dataframe's index(es)\n will be saved. However, instead of being saved as values,\n the RangeIndex will be stored as a range in the metadata so it\n doesn't require much space and is faster. Other indexes will\n be included as columns in the file output.\npartition_cols : list, optional, default None\n Column names by which to partition the dataset.\n Columns are partitioned in the order they are given.\n Must be None if path is not a string.\n{storage_options}\n\n**kwargs\n Additional arguments passed to the parquet library. See\n :ref:`pandas io ` for more details.\n\nReturns\n-------\nbytes if no path argument is provided else None\n\nSee Also\n--------\nread_parquet : Read a parquet file.\nDataFrame.to_orc : Write an orc file.\nDataFrame.to_csv : Write a csv file.\nDataFrame.to_sql : Write to a sql table.\nDataFrame.to_hdf : Write to hdf.\n\nNotes\n-----\nThis function requires either the `fastparquet\n`_ or `pyarrow\n`_ library.\n\nExamples\n--------\n>>> df = pd.DataFrame(data={{'col1': [1, 2], 'col2': [3, 4]}})\n>>> df.to_parquet('df.parquet.gzip',\n... compression='gzip') # doctest: +SKIP\n>>> pd.read_parquet('df.parquet.gzip') # doctest: +SKIP\n col1 col2\n0 1 3\n1 2 4\n\nIf you want to get a buffer to the parquet content you can use a io.BytesIO\nobject, as long as you don't use partition_cols, which creates multiple files.\n\n>>> import io\n>>> f = io.BytesIO()\n>>> df.to_parquet(f)\n>>> f.seek(0)\n0\n>>> content = f.read()\n"}, "kind": 2, "label": "to_parquet", "sortText": "189"}, {"detail": "bound method DataFrame.to_period(freq: str | BaseOffset | None = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Convert DataFrame from DatetimeIndex to PeriodIndex.\n\nConvert DataFrame from DatetimeIndex to PeriodIndex with desired\nfrequency (inferred from index if not passed).\n\nParameters\n----------\nfreq : str, default\n Frequency of the PeriodIndex.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to convert (the index by default).\ncopy : bool, default True\n If False then underlying input data is not copied.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\nDataFrame\n The DataFrame has a PeriodIndex.\n\nExamples\n--------\n>>> idx = pd.to_datetime(\n... [\n... \"2001-03-31 00:00:00\",\n... \"2002-05-31 00:00:00\",\n... \"2003-08-31 00:00:00\",\n... ]\n... )\n\n>>> idx\nDatetimeIndex(['2001-03-31', '2002-05-31', '2003-08-31'],\ndtype='datetime64[ns]', freq=None)\n\n>>> idx.to_period(\"M\")\nPeriodIndex(['2001-03', '2002-05', '2003-08'], dtype='period[M]')\n\nFor the yearly frequency\n\n>>> idx.to_period(\"Y\")\nPeriodIndex(['2001', '2002', '2003'], dtype='period[Y-DEC]')\n"}, "kind": 2, "label": "to_period", "sortText": "190"}, {"detail": "bound method DataFrame.to_pickle(path: str | PathLike[str] | WriteBuffer[bytes], compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = \"infer\", protocol: int = 5, storage_options: dict[str, Any] | None = None) -> None", "documentation": {"kind": "plaintext", "value": "Pickle (serialize) object to file.\n\nParameters\n----------\npath : str, path object, or file-like object\n String, path object (implementing ``os.PathLike[str]``), or file-like\n object implementing a binary ``write()`` function. File path where\n the pickled object will be stored.\n{compression_options}\nprotocol : int\n Int which indicates which protocol should be used by the pickler,\n default HIGHEST_PROTOCOL (see [1]_ paragraph 12.1.2). The possible\n values are 0, 1, 2, 3, 4, 5. A negative value for the protocol\n parameter is equivalent to setting its value to HIGHEST_PROTOCOL.\n\n .. [1] https://docs.python.org/3/library/pickle.html.\n\n{storage_options}\n\nSee Also\n--------\nread_pickle : Load pickled pandas object (or any object) from file.\nDataFrame.to_hdf : Write DataFrame to an HDF5 file.\nDataFrame.to_sql : Write DataFrame to a SQL database.\nDataFrame.to_parquet : Write a DataFrame to the binary parquet format.\n\nExamples\n--------\n>>> original_df = pd.DataFrame({{\"foo\": range(5), \"bar\": range(5, 10)}}) # doctest: +SKIP\n>>> original_df # doctest: +SKIP\n foo bar\n0 0 5\n1 1 6\n2 2 7\n3 3 8\n4 4 9\n>>> original_df.to_pickle(\"./dummy.pkl\") # doctest: +SKIP\n\n>>> unpickled_df = pd.read_pickle(\"./dummy.pkl\") # doctest: +SKIP\n>>> unpickled_df # doctest: +SKIP\n foo bar\n0 0 5\n1 1 6\n2 2 7\n3 3 8\n4 4 9\n"}, "kind": 2, "label": "to_pickle", "sortText": "191"}, {"detail": "bound method DataFrame.to_records(index: bool = True, column_dtypes=None, index_dtypes=None) -> recarray[_AnyShape, dtype[Any]]", "documentation": {"kind": "plaintext", "value": "Convert DataFrame to a NumPy record array.\n\nIndex will be included as the first field of the record array if\nrequested.\n\nParameters\n----------\nindex : bool, default True\n Include index in resulting record array, stored in 'index'\n field or using the index label, if set.\ncolumn_dtypes : str, type, dict, default None\n If a string or type, the data type to store all columns. If\n a dictionary, a mapping of column names and indices (zero-indexed)\n to specific data types.\nindex_dtypes : str, type, dict, default None\n If a string or type, the data type to store all index levels. If\n a dictionary, a mapping of index level names and indices\n (zero-indexed) to specific data types.\n\n This mapping is applied only if `index=True`.\n\nReturns\n-------\nnumpy.rec.recarray\n NumPy ndarray with the DataFrame labels as fields and each row\n of the DataFrame as entries.\n\nSee Also\n--------\nDataFrame.from_records: Convert structured or record ndarray\n to DataFrame.\nnumpy.rec.recarray: An ndarray that allows field access using\n attributes, analogous to typed columns in a\n spreadsheet.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [1, 2], 'B': [0.5, 0.75]},\n... index=['a', 'b'])\n>>> df\n A B\na 1 0.50\nb 2 0.75\n>>> df.to_records()\nrec.array([('a', 1, 0.5 ), ('b', 2, 0.75)],\n dtype=[('index', 'O'), ('A', '>> df.index = df.index.rename(\"I\")\n>>> df.to_records()\nrec.array([('a', 1, 0.5 ), ('b', 2, 0.75)],\n dtype=[('I', 'O'), ('A', '>> df.to_records(index=False)\nrec.array([(1, 0.5 ), (2, 0.75)],\n dtype=[('A', '>> df.to_records(column_dtypes={\"A\": \"int32\"})\nrec.array([('a', 1, 0.5 ), ('b', 2, 0.75)],\n dtype=[('I', 'O'), ('A', '>> df.to_records(index_dtypes=\">> index_dtypes = f\">> df.to_records(index_dtypes=index_dtypes)\nrec.array([(b'a', 1, 0.5 ), (b'b', 2, 0.75)],\n dtype=[('I', 'S1'), ('A', ' Unknown) | None = None) -> int | None", "documentation": {"kind": "plaintext", "value": "Write records stored in a DataFrame to a SQL database.\n\nDatabases supported by SQLAlchemy [1]_ are supported. Tables can be\nnewly created, appended to, or overwritten.\n\nParameters\n----------\nname : str\n Name of SQL table.\ncon : sqlalchemy.engine.(Engine or Connection) or sqlite3.Connection\n Using SQLAlchemy makes it possible to use any DB supported by that\n library. Legacy support is provided for sqlite3.Connection objects. The user\n is responsible for engine disposal and connection closure for the SQLAlchemy\n connectable. See `here `_.\n If passing a sqlalchemy.engine.Connection which is already in a transaction,\n the transaction will not be committed. If passing a sqlite3.Connection,\n it will not be possible to roll back the record insertion.\n\nschema : str, optional\n Specify the schema (if database flavor supports this). If None, use\n default schema.\nif_exists : {'fail', 'replace', 'append'}, default 'fail'\n How to behave if the table already exists.\n\n * fail: Raise a ValueError.\n * replace: Drop the table before inserting new values.\n * append: Insert new values to the existing table.\n\nindex : bool, default True\n Write DataFrame index as a column. Uses `index_label` as the column\n name in the table. Creates a table index for this column.\nindex_label : str or sequence, default None\n Column label for index column(s). If None is given (default) and\n `index` is True, then the index names are used.\n A sequence should be given if the DataFrame uses MultiIndex.\nchunksize : int, optional\n Specify the number of rows in each batch to be written at a time.\n By default, all rows will be written at once.\ndtype : dict or scalar, optional\n Specifying the datatype for columns. If a dictionary is used, the\n keys should be the column names and the values should be the\n SQLAlchemy types or strings for the sqlite3 legacy mode. If a\n scalar is provided, it will be applied to all columns.\nmethod : {None, 'multi', callable}, optional\n Controls the SQL insertion clause used:\n\n * None : Uses standard SQL ``INSERT`` clause (one per row).\n * 'multi': Pass multiple values in a single ``INSERT`` clause.\n * callable with signature ``(pd_table, conn, keys, data_iter)``.\n\n Details and a sample callable implementation can be found in the\n section :ref:`insert method `.\n\nReturns\n-------\nNone or int\n Number of rows affected by to_sql. None is returned if the callable\n passed into ``method`` does not return an integer number of rows.\n\n The number of returned rows affected is the sum of the ``rowcount``\n attribute of ``sqlite3.Cursor`` or SQLAlchemy connectable which may not\n reflect the exact number of written rows as stipulated in the\n `sqlite3 `__ or\n `SQLAlchemy `__.\n\n .. versionadded:: 1.4.0\n\nRaises\n------\nValueError\n When the table already exists and `if_exists` is 'fail' (the\n default).\n\nSee Also\n--------\nread_sql : Read a DataFrame from a table.\n\nNotes\n-----\nTimezone aware datetime columns will be written as\n``Timestamp with timezone`` type with SQLAlchemy if supported by the\ndatabase. Otherwise, the datetimes will be stored as timezone unaware\ntimestamps local to the original timezone.\n\nNot all datastores support ``method=\"multi\"``. Oracle, for example,\ndoes not support multi-value insert.\n\nReferences\n----------\n.. [1] https://docs.sqlalchemy.org\n.. [2] https://www.python.org/dev/peps/pep-0249/\n\nExamples\n--------\nCreate an in-memory SQLite database.\n\n>>> from sqlalchemy import create_engine\n>>> engine = create_engine('sqlite://', echo=False)\n\nCreate a table from scratch with 3 rows.\n\n>>> df = pd.DataFrame({'name' : ['User 1', 'User 2', 'User 3']})\n>>> df\n name\n0 User 1\n1 User 2\n2 User 3\n\n>>> df.to_sql(name='users', con=engine)\n3\n>>> from sqlalchemy import text\n>>> with engine.connect() as conn:\n... conn.execute(text(\"SELECT * FROM users\")).fetchall()\n[(0, 'User 1'), (1, 'User 2'), (2, 'User 3')]\n\nAn `sqlalchemy.engine.Connection` can also be passed to `con`:\n\n>>> with engine.begin() as connection:\n... df1 = pd.DataFrame({'name' : ['User 4', 'User 5']})\n... df1.to_sql(name='users', con=connection, if_exists='append')\n2\n\nThis is allowed to support operations that require that the same\nDBAPI connection is used for the entire operation.\n\n>>> df2 = pd.DataFrame({'name' : ['User 6', 'User 7']})\n>>> df2.to_sql(name='users', con=engine, if_exists='append')\n2\n>>> with engine.connect() as conn:\n... conn.execute(text(\"SELECT * FROM users\")).fetchall()\n[(0, 'User 1'), (1, 'User 2'), (2, 'User 3'),\n (0, 'User 4'), (1, 'User 5'), (0, 'User 6'),\n (1, 'User 7')]\n\nOverwrite the table with just ``df2``.\n\n>>> df2.to_sql(name='users', con=engine, if_exists='replace',\n... index_label='id')\n2\n>>> with engine.connect() as conn:\n... conn.execute(text(\"SELECT * FROM users\")).fetchall()\n[(0, 'User 6'), (1, 'User 7')]\n\nUse ``method`` to define a callable insertion method to do nothing\nif there's a primary key conflict on a table in a PostgreSQL database.\n\n>>> from sqlalchemy.dialects.postgresql import insert\n>>> def insert_on_conflict_nothing(table, conn, keys, data_iter):\n... # \"a\" is the primary key in \"conflict_table\"\n... data = [dict(zip(keys, row)) for row in data_iter]\n... stmt = insert(table.table).values(data).on_conflict_do_nothing(index_elements=[\"a\"])\n... result = conn.execute(stmt)\n... return result.rowcount\n>>> df_conflict.to_sql(name=\"conflict_table\", con=conn, if_exists=\"append\", method=insert_on_conflict_nothing) # doctest: +SKIP\n0\n\nFor MySQL, a callable to update columns ``b`` and ``c`` if there's a conflict\non a primary key.\n\n>>> from sqlalchemy.dialects.mysql import insert\n>>> def insert_on_conflict_update(table, conn, keys, data_iter):\n... # update columns \"b\" and \"c\" on primary key conflict\n... data = [dict(zip(keys, row)) for row in data_iter]\n... stmt = (\n... insert(table.table)\n... .values(data)\n... )\n... stmt = stmt.on_duplicate_key_update(b=stmt.inserted.b, c=stmt.inserted.c)\n... result = conn.execute(stmt)\n... return result.rowcount\n>>> df_conflict.to_sql(name=\"conflict_table\", con=conn, if_exists=\"append\", method=insert_on_conflict_update) # doctest: +SKIP\n2\n\nSpecify the dtype (especially useful for integers with missing values).\nNotice that while pandas is forced to store the data as floating point,\nthe database supports nullable integers. When fetching the data with\nPython, we get back integer scalars.\n\n>>> df = pd.DataFrame({\"A\": [1, None, 2]})\n>>> df\n A\n0 1.0\n1 NaN\n2 2.0\n\n>>> from sqlalchemy.types import Integer\n>>> df.to_sql(name='integers', con=engine, index=False,\n... dtype={\"A\": Integer()})\n3\n\n>>> with engine.connect() as conn:\n... conn.execute(text(\"SELECT * FROM integers\")).fetchall()\n[(1,), (None,), (2,)]\n"}, "kind": 2, "label": "to_sql", "sortText": "193"}, {"detail": "bound method DataFrame.to_stata(path: str | PathLike[str] | WriteBuffer[bytes], *, convert_dates: dict[Hashable, str] | None = None, write_index: bool = True, byteorder: Literal[\">\", \"<\", \"little\", \"big\"] | None = None, time_stamp: datetime | None = None, data_label: str | None = None, variable_labels: dict[Hashable, str] | None = None, version: int | None = 114, convert_strl: Sequence[Hashable] | None = None, compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = \"infer\", storage_options: dict[str, Any] | None = None, value_labels: dict[Hashable, dict[float, str]] | None = None) -> None", "documentation": {"kind": "plaintext", "value": "Export DataFrame object to Stata dta format.\n\nWrites the DataFrame to a Stata dataset file.\n\"dta\" files contain a Stata dataset.\n\nParameters\n----------\npath : str, path object, or buffer\n String, path object (implementing ``os.PathLike[str]``), or file-like\n object implementing a binary ``write()`` function.\n\nconvert_dates : dict\n Dictionary mapping columns containing datetime types to stata\n internal format to use when writing the dates. Options are 'tc',\n 'td', 'tm', 'tw', 'th', 'tq', 'ty'. Column can be either an integer\n or a name. Datetime columns that do not have a conversion type\n specified will be converted to 'tc'. Raises NotImplementedError if\n a datetime column has timezone information.\nwrite_index : bool\n Write the index to Stata dataset.\nbyteorder : str\n Can be \">\", \"<\", \"little\", or \"big\". default is `sys.byteorder`.\ntime_stamp : datetime\n A datetime to use as file creation date. Default is the current\n time.\ndata_label : str, optional\n A label for the data set. Must be 80 characters or smaller.\nvariable_labels : dict\n Dictionary containing columns as keys and variable labels as\n values. Each label must be 80 characters or smaller.\nversion : {{114, 117, 118, 119, None}}, default 114\n Version to use in the output dta file. Set to None to let pandas\n decide between 118 or 119 formats depending on the number of\n columns in the frame. Version 114 can be read by Stata 10 and\n later. Version 117 can be read by Stata 13 or later. Version 118\n is supported in Stata 14 and later. Version 119 is supported in\n Stata 15 and later. Version 114 limits string variables to 244\n characters or fewer while versions 117 and later allow strings\n with lengths up to 2,000,000 characters. Versions 118 and 119\n support Unicode characters, and version 119 supports more than\n 32,767 variables.\n\n Version 119 should usually only be used when the number of\n variables exceeds the capacity of dta format 118. Exporting\n smaller datasets in format 119 may have unintended consequences,\n and, as of November 2020, Stata SE cannot read version 119 files.\n\nconvert_strl : list, optional\n List of column names to convert to string columns to Stata StrL\n format. Only available if version is 117. Storing strings in the\n StrL format can produce smaller dta files if strings have more than\n 8 characters and values are repeated.\n{compression_options}\n\n .. versionchanged:: 1.4.0 Zstandard support.\n\n{storage_options}\n\nvalue_labels : dict of dicts\n Dictionary containing columns as keys and dictionaries of column value\n to labels as values. Labels for a single variable must be 32,000\n characters or smaller.\n\n .. versionadded:: 1.4.0\n\nRaises\n------\nNotImplementedError\n * If datetimes contain timezone information\n * Column dtype is not representable in Stata\nValueError\n * Columns listed in convert_dates are neither datetime64[ns]\n or datetime.datetime\n * Column listed in convert_dates is not in DataFrame\n * Categorical label contains more than 32,000 characters\n\nSee Also\n--------\nread_stata : Import Stata data files.\nio.stata.StataWriter : Low-level writer for Stata data files.\nio.stata.StataWriter117 : Low-level writer for version 117 files.\n\nExamples\n--------\n>>> df = pd.DataFrame({{'animal': ['falcon', 'parrot', 'falcon',\n... 'parrot'],\n... 'speed': [350, 18, 361, 15]}})\n>>> df.to_stata('animals.dta') # doctest: +SKIP\n"}, "kind": 2, "label": "to_stata", "sortText": "194"}, {"detail": "Overload[(buf: None = ..., columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = ..., col_space: int | list[int] | dict[Hashable, int] | None = ..., header: bool | SequenceNotStr[str] = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., justify: str | None = ..., max_rows: int | None = ..., max_cols: int | None = ..., show_dimensions: bool = ..., decimal: str = ..., line_width: int | None = ..., min_rows: int | None = ..., max_colwidth: int | None = ..., encoding: str | None = ...) -> str, (buf: str | PathLike[str] | WriteBuffer[str], columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = ..., col_space: int | list[int] | dict[Hashable, int] | None = ..., header: bool | SequenceNotStr[str] = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., justify: str | None = ..., max_rows: int | None = ..., max_cols: int | None = ..., show_dimensions: bool = ..., decimal: str = ..., line_width: int | None = ..., min_rows: int | None = ..., max_colwidth: int | None = ..., encoding: str | None = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Render a DataFrame to a console-friendly tabular output.\n%(shared_params)s\nline_width : int, optional\n Width to wrap a line in characters.\nmin_rows : int, optional\n The number of rows to display in the console in a truncated repr\n (when number of rows is above `max_rows`).\nmax_colwidth : int, optional\n Max width to truncate each column in characters. By default, no limit.\nencoding : str, default \"utf-8\"\n Set character encoding.\n%(returns)s\nSee Also\n--------\nto_html : Convert DataFrame to HTML.\n\nExamples\n--------\n>>> d = {'col1': [1, 2, 3], 'col2': [4, 5, 6]}\n>>> df = pd.DataFrame(d)\n>>> print(df.to_string())\n col1 col2\n0 1 4\n1 2 5\n2 3 6\n"}, "kind": 2, "label": "to_string", "sortText": "195"}, {"detail": "bound method DataFrame.to_timestamp(freq: str | BaseOffset | None = None, how: Literal[\"s\", \"e\", \"start\", \"end\"] = \"start\", axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Cast to DatetimeIndex of timestamps, at *beginning* of period.\n\nParameters\n----------\nfreq : str, default frequency of PeriodIndex\n Desired frequency.\nhow : {'s', 'e', 'start', 'end'}\n Convention for converting period to timestamp; start of period\n vs. end.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to convert (the index by default).\ncopy : bool, default True\n If False then underlying input data is not copied.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\nDataFrame\n The DataFrame has a DatetimeIndex.\n\nExamples\n--------\n>>> idx = pd.PeriodIndex(['2023', '2024'], freq='Y')\n>>> d = {'col1': [1, 2], 'col2': [3, 4]}\n>>> df1 = pd.DataFrame(data=d, index=idx)\n>>> df1\n col1 col2\n2023 1 3\n2024 2 4\n\nThe resulting timestamps will be at the beginning of the year in this case\n\n>>> df1 = df1.to_timestamp()\n>>> df1\n col1 col2\n2023-01-01 1 3\n2024-01-01 2 4\n>>> df1.index\nDatetimeIndex(['2023-01-01', '2024-01-01'], dtype='datetime64[ns]', freq=None)\n\nUsing `freq` which is the offset that the Timestamps will have\n\n>>> df2 = pd.DataFrame(data=d, index=idx)\n>>> df2 = df2.to_timestamp(freq='M')\n>>> df2\n col1 col2\n2023-01-31 1 3\n2024-01-31 2 4\n>>> df2.index\nDatetimeIndex(['2023-01-31', '2024-01-31'], dtype='datetime64[ns]', freq=None)\n"}, "kind": 2, "label": "to_timestamp", "sortText": "196"}, {"detail": "bound method DataFrame.to_xarray() -> Unknown", "documentation": {"kind": "plaintext", "value": "Return an xarray object from the pandas object.\n\nReturns\n-------\nxarray.DataArray or xarray.Dataset\n Data in the pandas structure converted to Dataset if the object is\n a DataFrame, or a DataArray if the object is a Series.\n\nSee Also\n--------\nDataFrame.to_hdf : Write DataFrame to an HDF5 file.\nDataFrame.to_parquet : Write a DataFrame to the binary parquet format.\n\nNotes\n-----\nSee the `xarray docs `__\n\nExamples\n--------\n>>> df = pd.DataFrame([('falcon', 'bird', 389.0, 2),\n... ('parrot', 'bird', 24.0, 2),\n... ('lion', 'mammal', 80.5, 4),\n... ('monkey', 'mammal', np.nan, 4)],\n... columns=['name', 'class', 'max_speed',\n... 'num_legs'])\n>>> df\n name class max_speed num_legs\n0 falcon bird 389.0 2\n1 parrot bird 24.0 2\n2 lion mammal 80.5 4\n3 monkey mammal NaN 4\n\n>>> df.to_xarray() # doctest: +SKIP\n\nDimensions: (index: 4)\nCoordinates:\n * index (index) int64 32B 0 1 2 3\nData variables:\n name (index) object 32B 'falcon' 'parrot' 'lion' 'monkey'\n class (index) object 32B 'bird' 'bird' 'mammal' 'mammal'\n max_speed (index) float64 32B 389.0 24.0 80.5 nan\n num_legs (index) int64 32B 2 2 4 4\n\n>>> df['max_speed'].to_xarray() # doctest: +SKIP\n\narray([389. , 24. , 80.5, nan])\nCoordinates:\n * index (index) int64 0 1 2 3\n\n>>> dates = pd.to_datetime(['2018-01-01', '2018-01-01',\n... '2018-01-02', '2018-01-02'])\n>>> df_multiindex = pd.DataFrame({'date': dates,\n... 'animal': ['falcon', 'parrot',\n... 'falcon', 'parrot'],\n... 'speed': [350, 18, 361, 15]})\n>>> df_multiindex = df_multiindex.set_index(['date', 'animal'])\n\n>>> df_multiindex\n speed\ndate animal\n2018-01-01 falcon 350\n parrot 18\n2018-01-02 falcon 361\n parrot 15\n\n>>> df_multiindex.to_xarray() # doctest: +SKIP\n\nDimensions: (date: 2, animal: 2)\nCoordinates:\n * date (date) datetime64[ns] 2018-01-01 2018-01-02\n * animal (animal) object 'falcon' 'parrot'\nData variables:\n speed (date, animal) int64 350 18 361 15\n"}, "kind": 2, "label": "to_xarray", "sortText": "197"}, {"detail": "Overload[(path_or_buffer: None = ..., *, index: bool = ..., root_name: str | None = ..., row_name: str | None = ..., na_rep: str | None = ..., attr_cols: list[str] | None = ..., elem_cols: list[str] | None = ..., namespaces: dict[str | None, str] | None = ..., prefix: str | None = ..., encoding: str = ..., xml_declaration: bool | None = ..., pretty_print: bool | None = ..., parser: Literal[\"lxml\", \"etree\"] | None = ..., stylesheet: str | PathLike[str] | ReadBuffer[str] | ReadBuffer[bytes] | None = ..., compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = ..., storage_options: dict[str, Any] | None = ...) -> str, (path_or_buffer: str | PathLike[str] | WriteBuffer[bytes] | WriteBuffer[str], *, index: bool = ..., root_name: str | None = ..., row_name: str | None = ..., na_rep: str | None = ..., attr_cols: list[str] | None = ..., elem_cols: list[str] | None = ..., namespaces: dict[str | None, str] | None = ..., prefix: str | None = ..., encoding: str = ..., xml_declaration: bool | None = ..., pretty_print: bool | None = ..., parser: Literal[\"lxml\", \"etree\"] | None = ..., stylesheet: str | PathLike[str] | ReadBuffer[str] | ReadBuffer[bytes] | None = ..., compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = ..., storage_options: dict[str, Any] | None = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Render a DataFrame to an XML document.\n\n.. versionadded:: 1.3.0\n\nParameters\n----------\npath_or_buffer : str, path object, file-like object, or None, default None\n String, path object (implementing ``os.PathLike[str]``), or file-like\n object implementing a ``write()`` function. If None, the result is returned\n as a string.\nindex : bool, default True\n Whether to include index in XML document.\nroot_name : str, default 'data'\n The name of root element in XML document.\nrow_name : str, default 'row'\n The name of row element in XML document.\nna_rep : str, optional\n Missing data representation.\nattr_cols : list-like, optional\n List of columns to write as attributes in row element.\n Hierarchical columns will be flattened with underscore\n delimiting the different levels.\nelem_cols : list-like, optional\n List of columns to write as children in row element. By default,\n all columns output as children of row element. Hierarchical\n columns will be flattened with underscore delimiting the\n different levels.\nnamespaces : dict, optional\n All namespaces to be defined in root element. Keys of dict\n should be prefix names and values of dict corresponding URIs.\n Default namespaces should be given empty string key. For\n example, ::\n\n namespaces = {{\"\": \"https://example.com\"}}\n\nprefix : str, optional\n Namespace prefix to be used for every element and/or attribute\n in document. This should be one of the keys in ``namespaces``\n dict.\nencoding : str, default 'utf-8'\n Encoding of the resulting document.\nxml_declaration : bool, default True\n Whether to include the XML declaration at start of document.\npretty_print : bool, default True\n Whether output should be pretty printed with indentation and\n line breaks.\nparser : {{'lxml','etree'}}, default 'lxml'\n Parser module to use for building of tree. Only 'lxml' and\n 'etree' are supported. With 'lxml', the ability to use XSLT\n stylesheet is supported.\nstylesheet : str, path object or file-like object, optional\n A URL, file-like object, or a raw string containing an XSLT\n script used to transform the raw XML output. Script should use\n layout of elements and attributes from original output. This\n argument requires ``lxml`` to be installed. Only XSLT 1.0\n scripts and not later versions is currently supported.\n{compression_options}\n\n .. versionchanged:: 1.4.0 Zstandard support.\n\n{storage_options}\n\nReturns\n-------\nNone or str\n If ``io`` is None, returns the resulting XML format as a\n string. Otherwise returns None.\n\nSee Also\n--------\nto_json : Convert the pandas object to a JSON string.\nto_html : Convert DataFrame to a html.\n\nExamples\n--------\n>>> df = pd.DataFrame({{'shape': ['square', 'circle', 'triangle'],\n... 'degrees': [360, 360, 180],\n... 'sides': [4, np.nan, 3]}})\n\n>>> df.to_xml() # doctest: +SKIP\n\n\n \n 0\n square\n 360\n 4.0\n \n \n 1\n circle\n 360\n \n \n \n 2\n triangle\n 180\n 3.0\n \n\n\n>>> df.to_xml(attr_cols=[\n... 'index', 'shape', 'degrees', 'sides'\n... ]) # doctest: +SKIP\n\n\n \n \n \n\n\n>>> df.to_xml(namespaces={{\"doc\": \"https://example.com\"}},\n... prefix=\"doc\") # doctest: +SKIP\n\n\n \n 0\n square\n 360\n 4.0\n \n \n 1\n circle\n 360\n \n \n \n 2\n triangle\n 180\n 3.0\n \n\n"}, "kind": 2, "label": "to_xml", "sortText": "198"}, {"detail": "bound method DataFrame.transform(func: ((...) -> Unknown) | str | list[((...) -> Unknown) | str] | MutableMapping[Hashable, ((...) -> Unknown) | str | list[((...) -> Unknown) | str]], axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, *args, **kwargs) -> DataFrame", "kind": 2, "label": "transform", "sortText": "199"}, {"detail": "bound method DataFrame.transpose(*args, copy: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Transpose index and columns.\n\nReflect the DataFrame over its main diagonal by writing rows as columns\nand vice-versa. The property :attr:`.T` is an accessor to the method\n:meth:`transpose`.\n\nParameters\n----------\n*args : tuple, optional\n Accepted for compatibility with NumPy.\ncopy : bool, default False\n Whether to copy the data after transposing, even for DataFrames\n with a single dtype.\n\n Note that a copy is always required for mixed dtype DataFrames,\n or for DataFrames with any extension types.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\nDataFrame\n The transposed DataFrame.\n\nSee Also\n--------\nnumpy.transpose : Permute the dimensions of a given array.\n\nNotes\n-----\nTransposing a DataFrame with mixed dtypes will result in a homogeneous\nDataFrame with the `object` dtype. In such a case, a copy of the data\nis always made.\n\nExamples\n--------\n**Square DataFrame with homogeneous dtype**\n\n>>> d1 = {'col1': [1, 2], 'col2': [3, 4]}\n>>> df1 = pd.DataFrame(data=d1)\n>>> df1\n col1 col2\n0 1 3\n1 2 4\n\n>>> df1_transposed = df1.T # or df1.transpose()\n>>> df1_transposed\n 0 1\ncol1 1 2\ncol2 3 4\n\nWhen the dtype is homogeneous in the original DataFrame, we get a\ntransposed DataFrame with the same dtype:\n\n>>> df1.dtypes\ncol1 int64\ncol2 int64\ndtype: object\n>>> df1_transposed.dtypes\n0 int64\n1 int64\ndtype: object\n\n**Non-square DataFrame with mixed dtypes**\n\n>>> d2 = {'name': ['Alice', 'Bob'],\n... 'score': [9.5, 8],\n... 'employed': [False, True],\n... 'kids': [0, 0]}\n>>> df2 = pd.DataFrame(data=d2)\n>>> df2\n name score employed kids\n0 Alice 9.5 False 0\n1 Bob 8.0 True 0\n\n>>> df2_transposed = df2.T # or df2.transpose()\n>>> df2_transposed\n 0 1\nname Alice Bob\nscore 9.5 8.0\nemployed False True\nkids 0 0\n\nWhen the DataFrame has mixed dtypes, we get a transposed DataFrame with\nthe `object` dtype:\n\n>>> df2.dtypes\nname object\nscore float64\nemployed bool\nkids int64\ndtype: object\n>>> df2_transposed.dtypes\n0 object\n1 object\ndtype: object\n"}, "kind": 2, "label": "transpose", "sortText": "200"}, {"detail": "bound method DataFrame.truediv(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "truediv", "sortText": "201"}, {"detail": "bound method DataFrame.truncate(before=None, after=None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Truncate a Series or DataFrame before and after some index value.\n\nThis is a useful shorthand for boolean indexing based on index\nvalues above or below certain thresholds.\n\nParameters\n----------\nbefore : date, str, int\n Truncate all rows before this index value.\nafter : date, str, int\n Truncate all rows after this index value.\naxis : {0 or 'index', 1 or 'columns'}, optional\n Axis to truncate. Truncates the index (rows) by default.\n For `Series` this parameter is unused and defaults to 0.\ncopy : bool, default is True,\n Return a copy of the truncated section.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\ntype of caller\n The truncated Series or DataFrame.\n\nSee Also\n--------\nDataFrame.loc : Select a subset of a DataFrame by label.\nDataFrame.iloc : Select a subset of a DataFrame by position.\n\nNotes\n-----\nIf the index being truncated contains only datetime values,\n`before` and `after` may be specified as strings instead of\nTimestamps.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': ['a', 'b', 'c', 'd', 'e'],\n... 'B': ['f', 'g', 'h', 'i', 'j'],\n... 'C': ['k', 'l', 'm', 'n', 'o']},\n... index=[1, 2, 3, 4, 5])\n>>> df\n A B C\n1 a f k\n2 b g l\n3 c h m\n4 d i n\n5 e j o\n\n>>> df.truncate(before=2, after=4)\n A B C\n2 b g l\n3 c h m\n4 d i n\n\nThe columns of a DataFrame can be truncated.\n\n>>> df.truncate(before=\"A\", after=\"B\", axis=\"columns\")\n A B\n1 a f\n2 b g\n3 c h\n4 d i\n5 e j\n\nFor Series, only rows can be truncated.\n\n>>> df['A'].truncate(before=2, after=4)\n2 b\n3 c\n4 d\nName: A, dtype: object\n\nThe index values in ``truncate`` can be datetimes or string\ndates.\n\n>>> dates = pd.date_range('2016-01-01', '2016-02-01', freq='s')\n>>> df = pd.DataFrame(index=dates, data={'A': 1})\n>>> df.tail()\n A\n2016-01-31 23:59:56 1\n2016-01-31 23:59:57 1\n2016-01-31 23:59:58 1\n2016-01-31 23:59:59 1\n2016-02-01 00:00:00 1\n\n>>> df.truncate(before=pd.Timestamp('2016-01-05'),\n... after=pd.Timestamp('2016-01-10')).tail()\n A\n2016-01-09 23:59:56 1\n2016-01-09 23:59:57 1\n2016-01-09 23:59:58 1\n2016-01-09 23:59:59 1\n2016-01-10 00:00:00 1\n\nBecause the index is a DatetimeIndex containing only dates, we can\nspecify `before` and `after` as strings. They will be coerced to\nTimestamps before truncation.\n\n>>> df.truncate('2016-01-05', '2016-01-10').tail()\n A\n2016-01-09 23:59:56 1\n2016-01-09 23:59:57 1\n2016-01-09 23:59:58 1\n2016-01-09 23:59:59 1\n2016-01-10 00:00:00 1\n\nNote that ``truncate`` assumes a 0 value for any unspecified time\ncomponent (midnight). This differs from partial string slicing, which\nreturns any partially matching dates.\n\n>>> df.loc['2016-01-05':'2016-01-10', :].tail()\n A\n2016-01-10 23:59:55 1\n2016-01-10 23:59:56 1\n2016-01-10 23:59:57 1\n2016-01-10 23:59:58 1\n2016-01-10 23:59:59 1\n"}, "kind": 2, "label": "truncate", "sortText": "202"}, {"detail": "bound method DataFrame.tz_convert(tz, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, level=None, copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Convert tz-aware axis to target time zone.\n\nParameters\n----------\ntz : str or tzinfo object or None\n Target time zone. Passing ``None`` will convert to\n UTC and remove the timezone information.\naxis : {{0 or 'index', 1 or 'columns'}}, default 0\n The axis to convert\nlevel : int, str, default None\n If axis is a MultiIndex, convert a specific level. Otherwise\n must be None.\ncopy : bool, default True\n Also make a copy of the underlying data.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\n{klass}\n Object with time zone converted axis.\n\nRaises\n------\nTypeError\n If the axis is tz-naive.\n\nExamples\n--------\nChange to another time zone:\n\n>>> s = pd.Series(\n... [1],\n... index=pd.DatetimeIndex(['2018-09-15 01:30:00+02:00']),\n... )\n>>> s.tz_convert('Asia/Shanghai')\n2018-09-15 07:30:00+08:00 1\ndtype: int64\n\nPass None to convert to UTC and get a tz-naive index:\n\n>>> s = pd.Series([1],\n... index=pd.DatetimeIndex(['2018-09-15 01:30:00+02:00']))\n>>> s.tz_convert(None)\n2018-09-14 23:30:00 1\ndtype: int64\n"}, "kind": 2, "label": "tz_convert", "sortText": "203"}, {"detail": "bound method DataFrame.tz_localize(tz, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, level=None, copy: builtins.bool | None = None, ambiguous: Literal[\"infer\", \"NaT\", \"raise\"] | ndarray[_AnyShape, dtype[numpy.bool[builtins.bool]]] = \"raise\", nonexistent: Literal[\"shift_forward\", \"shift_backward\", \"NaT\", \"raise\"] | timedelta = \"raise\") -> DataFrame", "documentation": {"kind": "plaintext", "value": "Localize tz-naive index of a Series or DataFrame to target time zone.\n\nThis operation localizes the Index. To localize the values in a\ntimezone-naive Series, use :meth:`Series.dt.tz_localize`.\n\nParameters\n----------\ntz : str or tzinfo or None\n Time zone to localize. Passing ``None`` will remove the\n time zone information and preserve local time.\naxis : {{0 or 'index', 1 or 'columns'}}, default 0\n The axis to localize\nlevel : int, str, default None\n If axis ia a MultiIndex, localize a specific level. Otherwise\n must be None.\ncopy : bool, default True\n Also make a copy of the underlying data.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\nambiguous : 'infer', bool-ndarray, 'NaT', default 'raise'\n When clocks moved backward due to DST, ambiguous times may arise.\n For example in Central European Time (UTC+01), when going from\n 03:00 DST to 02:00 non-DST, 02:30:00 local time occurs both at\n 00:30:00 UTC and at 01:30:00 UTC. In such a situation, the\n `ambiguous` parameter dictates how ambiguous times should be\n handled.\n\n - 'infer' will attempt to infer fall dst-transition hours based on\n order\n - bool-ndarray where True signifies a DST time, False designates\n a non-DST time (note that this flag is only applicable for\n ambiguous times)\n - 'NaT' will return NaT where there are ambiguous times\n - 'raise' will raise an AmbiguousTimeError if there are ambiguous\n times.\nnonexistent : str, default 'raise'\n A nonexistent time does not exist in a particular timezone\n where clocks moved forward due to DST. Valid values are:\n\n - 'shift_forward' will shift the nonexistent time forward to the\n closest existing time\n - 'shift_backward' will shift the nonexistent time backward to the\n closest existing time\n - 'NaT' will return NaT where there are nonexistent times\n - timedelta objects will shift nonexistent times by the timedelta\n - 'raise' will raise an NonExistentTimeError if there are\n nonexistent times.\n\nReturns\n-------\n{klass}\n Same type as the input.\n\nRaises\n------\nTypeError\n If the TimeSeries is tz-aware and tz is not None.\n\nExamples\n--------\nLocalize local times:\n\n>>> s = pd.Series(\n... [1],\n... index=pd.DatetimeIndex(['2018-09-15 01:30:00']),\n... )\n>>> s.tz_localize('CET')\n2018-09-15 01:30:00+02:00 1\ndtype: int64\n\nPass None to convert to tz-naive index and preserve local time:\n\n>>> s = pd.Series([1],\n... index=pd.DatetimeIndex(['2018-09-15 01:30:00+02:00']))\n>>> s.tz_localize(None)\n2018-09-15 01:30:00 1\ndtype: int64\n\nBe careful with DST changes. When there is sequential data, pandas\ncan infer the DST time:\n\n>>> s = pd.Series(range(7),\n... index=pd.DatetimeIndex(['2018-10-28 01:30:00',\n... '2018-10-28 02:00:00',\n... '2018-10-28 02:30:00',\n... '2018-10-28 02:00:00',\n... '2018-10-28 02:30:00',\n... '2018-10-28 03:00:00',\n... '2018-10-28 03:30:00']))\n>>> s.tz_localize('CET', ambiguous='infer')\n2018-10-28 01:30:00+02:00 0\n2018-10-28 02:00:00+02:00 1\n2018-10-28 02:30:00+02:00 2\n2018-10-28 02:00:00+01:00 3\n2018-10-28 02:30:00+01:00 4\n2018-10-28 03:00:00+01:00 5\n2018-10-28 03:30:00+01:00 6\ndtype: int64\n\nIn some cases, inferring the DST is impossible. In such cases, you can\npass an ndarray to the ambiguous parameter to set the DST explicitly\n\n>>> s = pd.Series(range(3),\n... index=pd.DatetimeIndex(['2018-10-28 01:20:00',\n... '2018-10-28 02:36:00',\n... '2018-10-28 03:46:00']))\n>>> s.tz_localize('CET', ambiguous=np.array([True, True, False]))\n2018-10-28 01:20:00+02:00 0\n2018-10-28 02:36:00+02:00 1\n2018-10-28 03:46:00+01:00 2\ndtype: int64\n\nIf the DST transition causes nonexistent times, you can shift these\ndates forward or backward with a timedelta object or `'shift_forward'`\nor `'shift_backward'`.\n\n>>> s = pd.Series(range(2),\n... index=pd.DatetimeIndex(['2015-03-29 02:30:00',\n... '2015-03-29 03:30:00']))\n>>> s.tz_localize('Europe/Warsaw', nonexistent='shift_forward')\n2015-03-29 03:00:00+02:00 0\n2015-03-29 03:30:00+02:00 1\ndtype: int64\n>>> s.tz_localize('Europe/Warsaw', nonexistent='shift_backward')\n2015-03-29 01:59:59.999999999+01:00 0\n2015-03-29 03:30:00+02:00 1\ndtype: int64\n>>> s.tz_localize('Europe/Warsaw', nonexistent=pd.Timedelta('1h'))\n2015-03-29 03:30:00+02:00 0\n2015-03-29 03:30:00+02:00 1\ndtype: int64\n"}, "kind": 2, "label": "tz_localize", "sortText": "204"}, {"detail": "bound method DataFrame.unstack(level: Hashable | Sequence[Hashable] = -1, fill_value=None, sort: bool = True) -> Unknown", "documentation": {"kind": "plaintext", "value": "Pivot a level of the (necessarily hierarchical) index labels.\n\nReturns a DataFrame having a new level of column labels whose inner-most level\nconsists of the pivoted index labels.\n\nIf the index is not a MultiIndex, the output will be a Series\n(the analogue of stack when the columns are not a MultiIndex).\n\nParameters\n----------\nlevel : int, str, or list of these, default -1 (last level)\n Level(s) of index to unstack, can pass level name.\nfill_value : int, str or dict\n Replace NaN with this value if the unstack produces missing values.\nsort : bool, default True\n Sort the level(s) in the resulting MultiIndex columns.\n\nReturns\n-------\nSeries or DataFrame\n\nSee Also\n--------\nDataFrame.pivot : Pivot a table based on column values.\nDataFrame.stack : Pivot a level of the column labels (inverse operation\n from `unstack`).\n\nNotes\n-----\nReference :ref:`the user guide ` for more examples.\n\nExamples\n--------\n>>> index = pd.MultiIndex.from_tuples([('one', 'a'), ('one', 'b'),\n... ('two', 'a'), ('two', 'b')])\n>>> s = pd.Series(np.arange(1.0, 5.0), index=index)\n>>> s\none a 1.0\n b 2.0\ntwo a 3.0\n b 4.0\ndtype: float64\n\n>>> s.unstack(level=-1)\n a b\none 1.0 2.0\ntwo 3.0 4.0\n\n>>> s.unstack(level=0)\n one two\na 1.0 3.0\nb 2.0 4.0\n\n>>> df = s.unstack(level=0)\n>>> df.unstack()\none a 1.0\n b 2.0\ntwo a 3.0\n b 4.0\ndtype: float64\n"}, "kind": 2, "label": "unstack", "sortText": "205"}, {"detail": "bound method DataFrame.update(other, join: Literal[\"left\"] = \"left\", overwrite: bool = True, filter_func=None, errors: Literal[\"ignore\", \"raise\"] = \"ignore\") -> None", "documentation": {"kind": "plaintext", "value": "Modify in place using non-NA values from another DataFrame.\n\nAligns on indices. There is no return value.\n\nParameters\n----------\nother : DataFrame, or object coercible into a DataFrame\n Should have at least one matching index/column label\n with the original DataFrame. If a Series is passed,\n its name attribute must be set, and that will be\n used as the column name to align with the original DataFrame.\njoin : {'left'}, default 'left'\n Only left join is implemented, keeping the index and columns of the\n original object.\noverwrite : bool, default True\n How to handle non-NA values for overlapping keys:\n\n * True: overwrite original DataFrame's values\n with values from `other`.\n * False: only update values that are NA in\n the original DataFrame.\n\nfilter_func : callable(1d-array) -> bool 1d-array, optional\n Can choose to replace values other than NA. Return True for values\n that should be updated.\nerrors : {'raise', 'ignore'}, default 'ignore'\n If 'raise', will raise a ValueError if the DataFrame and `other`\n both contain non-NA data in the same place.\n\nReturns\n-------\nNone\n This method directly changes calling object.\n\nRaises\n------\nValueError\n * When `errors='raise'` and there's overlapping non-NA data.\n * When `errors` is not either `'ignore'` or `'raise'`\nNotImplementedError\n * If `join != 'left'`\n\nSee Also\n--------\ndict.update : Similar method for dictionaries.\nDataFrame.merge : For column(s)-on-column(s) operations.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [1, 2, 3],\n... 'B': [400, 500, 600]})\n>>> new_df = pd.DataFrame({'B': [4, 5, 6],\n... 'C': [7, 8, 9]})\n>>> df.update(new_df)\n>>> df\n A B\n0 1 4\n1 2 5\n2 3 6\n\nThe DataFrame's length does not increase as a result of the update,\nonly values at matching index/column labels are updated.\n\n>>> df = pd.DataFrame({'A': ['a', 'b', 'c'],\n... 'B': ['x', 'y', 'z']})\n>>> new_df = pd.DataFrame({'B': ['d', 'e', 'f', 'g', 'h', 'i']})\n>>> df.update(new_df)\n>>> df\n A B\n0 a d\n1 b e\n2 c f\n\n>>> df = pd.DataFrame({'A': ['a', 'b', 'c'],\n... 'B': ['x', 'y', 'z']})\n>>> new_df = pd.DataFrame({'B': ['d', 'f']}, index=[0, 2])\n>>> df.update(new_df)\n>>> df\n A B\n0 a d\n1 b y\n2 c f\n\nFor Series, its name attribute must be set.\n\n>>> df = pd.DataFrame({'A': ['a', 'b', 'c'],\n... 'B': ['x', 'y', 'z']})\n>>> new_column = pd.Series(['d', 'e', 'f'], name='B')\n>>> df.update(new_column)\n>>> df\n A B\n0 a d\n1 b e\n2 c f\n\nIf `other` contains NaNs the corresponding values are not updated\nin the original dataframe.\n\n>>> df = pd.DataFrame({'A': [1, 2, 3],\n... 'B': [400., 500., 600.]})\n>>> new_df = pd.DataFrame({'B': [4, np.nan, 6]})\n>>> df.update(new_df)\n>>> df\n A B\n0 1 4.0\n1 2 500.0\n2 3 6.0\n"}, "kind": 2, "label": "update", "sortText": "206"}, {"detail": "bound method DataFrame.value_counts(subset: Hashable | Sequence[Hashable] = None, normalize: bool = False, sort: bool = True, ascending: bool = False, dropna: bool = True) -> Series", "documentation": {"kind": "plaintext", "value": "Return a Series containing the frequency of each distinct row in the Dataframe.\n\nParameters\n----------\nsubset : label or list of labels, optional\n Columns to use when counting unique combinations.\nnormalize : bool, default False\n Return proportions rather than frequencies.\nsort : bool, default True\n Sort by frequencies when True. Sort by DataFrame column values when False.\nascending : bool, default False\n Sort in ascending order.\ndropna : bool, default True\n Don't include counts of rows that contain NA values.\n\n .. versionadded:: 1.3.0\n\nReturns\n-------\nSeries\n\nSee Also\n--------\nSeries.value_counts: Equivalent method on Series.\n\nNotes\n-----\nThe returned Series will have a MultiIndex with one level per input\ncolumn but an Index (non-multi) for a single label. By default, rows\nthat contain any NA values are omitted from the result. By default,\nthe resulting Series will be in descending order so that the first\nelement is the most frequently-occurring row.\n\nExamples\n--------\n>>> df = pd.DataFrame({'num_legs': [2, 4, 4, 6],\n... 'num_wings': [2, 0, 0, 0]},\n... index=['falcon', 'dog', 'cat', 'ant'])\n>>> df\n num_legs num_wings\nfalcon 2 2\ndog 4 0\ncat 4 0\nant 6 0\n\n>>> df.value_counts()\nnum_legs num_wings\n4 0 2\n2 2 1\n6 0 1\nName: count, dtype: int64\n\n>>> df.value_counts(sort=False)\nnum_legs num_wings\n2 2 1\n4 0 2\n6 0 1\nName: count, dtype: int64\n\n>>> df.value_counts(ascending=True)\nnum_legs num_wings\n2 2 1\n6 0 1\n4 0 2\nName: count, dtype: int64\n\n>>> df.value_counts(normalize=True)\nnum_legs num_wings\n4 0 0.50\n2 2 0.25\n6 0 0.25\nName: proportion, dtype: float64\n\nWith `dropna` set to `False` we can also count rows with NA values.\n\n>>> df = pd.DataFrame({'first_name': ['John', 'Anne', 'John', 'Beth'],\n... 'middle_name': ['Smith', pd.NA, pd.NA, 'Louise']})\n>>> df\n first_name middle_name\n0 John Smith\n1 Anne \n2 John \n3 Beth Louise\n\n>>> df.value_counts()\nfirst_name middle_name\nBeth Louise 1\nJohn Smith 1\nName: count, dtype: int64\n\n>>> df.value_counts(dropna=False)\nfirst_name middle_name\nAnne NaN 1\nBeth Louise 1\nJohn Smith 1\n NaN 1\nName: count, dtype: int64\n\n>>> df.value_counts(\"first_name\")\nfirst_name\nJohn 2\nAnne 1\nBeth 1\nName: count, dtype: int64\n"}, "kind": 2, "label": "value_counts", "sortText": "207"}, {"detail": "ndarray[_AnyShape, dtype[Any]]", "kind": 22, "label": "values", "sortText": "208"}, {"detail": "bound method DataFrame.var(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, ddof: int = 1, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "var", "sortText": "209"}, {"detail": "Overload[(cond, other=..., *, inplace: Literal[False] = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> DataFrame, (cond, other=..., *, inplace: Literal[True], axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> None, (cond, other=..., *, inplace: bool = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Replace values where the condition is {cond_rev}.\n\nParameters\n----------\ncond : bool {klass}, array-like, or callable\n Where `cond` is {cond}, keep the original value. Where\n {cond_rev}, replace with corresponding value from `other`.\n If `cond` is callable, it is computed on the {klass} and\n should return boolean {klass} or array. The callable must\n not change input {klass} (though pandas doesn't check it).\nother : scalar, {klass}, or callable\n Entries where `cond` is {cond_rev} are replaced with\n corresponding value from `other`.\n If other is callable, it is computed on the {klass} and\n should return scalar or {klass}. The callable must not\n change input {klass} (though pandas doesn't check it).\n If not specified, entries will be filled with the corresponding\n NULL value (``np.nan`` for numpy dtypes, ``pd.NA`` for extension\n dtypes).\ninplace : bool, default False\n Whether to perform the operation in place on the data.\naxis : int, default None\n Alignment axis if needed. For `Series` this parameter is\n unused and defaults to 0.\nlevel : int, default None\n Alignment level if needed.\n\nReturns\n-------\nSame type as caller or None if ``inplace=True``.\n\nSee Also\n--------\n:func:`DataFrame.{name_other}` : Return an object of same shape as\n self.\n\nNotes\n-----\nThe {name} method is an application of the if-then idiom. For each\nelement in the calling DataFrame, if ``cond`` is ``{cond}`` the\nelement is used; otherwise the corresponding element from the DataFrame\n``other`` is used. If the axis of ``other`` does not align with axis of\n``cond`` {klass}, the misaligned index positions will be filled with\n{cond_rev}.\n\nThe signature for :func:`DataFrame.where` differs from\n:func:`numpy.where`. Roughly ``df1.where(m, df2)`` is equivalent to\n``np.where(m, df1, df2)``.\n\nFor further details and examples see the ``{name}`` documentation in\n:ref:`indexing `.\n\nThe dtype of the object takes precedence. The fill value is casted to\nthe object's dtype, if this can be done losslessly.\n\nExamples\n--------\n>>> s = pd.Series(range(5))\n>>> s.where(s > 0)\n0 NaN\n1 1.0\n2 2.0\n3 3.0\n4 4.0\ndtype: float64\n>>> s.mask(s > 0)\n0 0.0\n1 NaN\n2 NaN\n3 NaN\n4 NaN\ndtype: float64\n\n>>> s = pd.Series(range(5))\n>>> t = pd.Series([True, False])\n>>> s.where(t, 99)\n0 0\n1 99\n2 99\n3 99\n4 99\ndtype: int64\n>>> s.mask(t, 99)\n0 99\n1 1\n2 99\n3 99\n4 99\ndtype: int64\n\n>>> s.where(s > 1, 10)\n0 10\n1 10\n2 2\n3 3\n4 4\ndtype: int64\n>>> s.mask(s > 1, 10)\n0 0\n1 1\n2 10\n3 10\n4 10\ndtype: int64\n\n>>> df = pd.DataFrame(np.arange(10).reshape(-1, 2), columns=['A', 'B'])\n>>> df\n A B\n0 0 1\n1 2 3\n2 4 5\n3 6 7\n4 8 9\n>>> m = df % 3 == 0\n>>> df.where(m, -df)\n A B\n0 0 -1\n1 -2 3\n2 -4 -5\n3 6 -7\n4 -8 9\n>>> df.where(m, -df) == np.where(m, df, -df)\n A B\n0 True True\n1 True True\n2 True True\n3 True True\n4 True True\n>>> df.where(m, -df) == df.mask(~m, -df)\n A B\n0 True True\n1 True True\n2 True True\n3 True True\n4 True True\n"}, "kind": 2, "label": "where", "sortText": "210"}, {"detail": "bound method DataFrame.xs(key: Hashable | Sequence[Hashable], axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, level: Hashable | Sequence[Hashable] = None, drop_level: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return cross-section from the Series/DataFrame.\n\nThis method takes a `key` argument to select data at a particular\nlevel of a MultiIndex.\n\nParameters\n----------\nkey : label or tuple of label\n Label contained in the index, or partially in a MultiIndex.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Axis to retrieve cross-section on.\nlevel : object, defaults to first n levels (n=1 or len(key))\n In case of a key partially contained in a MultiIndex, indicate\n which levels are used. Levels can be referred by label or position.\ndrop_level : bool, default True\n If False, returns object with same levels as self.\n\nReturns\n-------\nSeries or DataFrame\n Cross-section from the original Series or DataFrame\n corresponding to the selected index levels.\n\nSee Also\n--------\nDataFrame.loc : Access a group of rows and columns\n by label(s) or a boolean array.\nDataFrame.iloc : Purely integer-location based indexing\n for selection by position.\n\nNotes\n-----\n`xs` can not be used to set values.\n\nMultiIndex Slicers is a generic way to get/set values on\nany level or levels.\nIt is a superset of `xs` functionality, see\n:ref:`MultiIndex Slicers `.\n\nExamples\n--------\n>>> d = {'num_legs': [4, 4, 2, 2],\n... 'num_wings': [0, 0, 2, 2],\n... 'class': ['mammal', 'mammal', 'mammal', 'bird'],\n... 'animal': ['cat', 'dog', 'bat', 'penguin'],\n... 'locomotion': ['walks', 'walks', 'flies', 'walks']}\n>>> df = pd.DataFrame(data=d)\n>>> df = df.set_index(['class', 'animal', 'locomotion'])\n>>> df\n num_legs num_wings\nclass animal locomotion\nmammal cat walks 4 0\n dog walks 4 0\n bat flies 2 2\nbird penguin walks 2 2\n\nGet values at specified index\n\n>>> df.xs('mammal')\n num_legs num_wings\nanimal locomotion\ncat walks 4 0\ndog walks 4 0\nbat flies 2 2\n\nGet values at several indexes\n\n>>> df.xs(('mammal', 'dog', 'walks'))\nnum_legs 4\nnum_wings 0\nName: (mammal, dog, walks), dtype: int64\n\nGet values at specified index and level\n\n>>> df.xs('cat', level=1)\n num_legs num_wings\nclass locomotion\nmammal walks 4 0\n\nGet values at several indexes and levels\n\n>>> df.xs(('bird', 'walks'),\n... level=[0, 'locomotion'])\n num_legs num_wings\nanimal\npenguin 2 2\n\nGet values at specified column and axis\n\n>>> df.xs('num_wings', axis=1)\nclass animal locomotion\nmammal cat walks 0\n dog walks 0\n bat flies 2\nbird penguin walks 2\nName: num_wings, dtype: int64\n"}, "kind": 2, "label": "xs", "sortText": "211"}, {"detail": "bound method DataFrame.__abs__() -> DataFrame", "kind": 2, "label": "__abs__", "sortText": "212"}, {"detail": "bound method DataFrame.__add__(other) -> Unknown", "documentation": {"kind": "plaintext", "value": "Get Addition of DataFrame and other, column-wise.\n\nEquivalent to ``DataFrame.add(other)``.\n\nParameters\n----------\nother : scalar, sequence, Series, dict or DataFrame\n Object to be added to the DataFrame.\n\nReturns\n-------\nDataFrame\n The result of adding ``other`` to DataFrame.\n\nSee Also\n--------\nDataFrame.add : Add a DataFrame and another object, with option for index-\n or column-oriented addition.\n\nExamples\n--------\n>>> df = pd.DataFrame({'height': [1.5, 2.6], 'weight': [500, 800]},\n... index=['elk', 'moose'])\n>>> df\n height weight\nelk 1.5 500\nmoose 2.6 800\n\nAdding a scalar affects all rows and columns.\n\n>>> df[['height', 'weight']] + 1.5\n height weight\nelk 3.0 501.5\nmoose 4.1 801.5\n\nEach element of a list is added to a column of the DataFrame, in order.\n\n>>> df[['height', 'weight']] + [0.5, 1.5]\n height weight\nelk 2.0 501.5\nmoose 3.1 801.5\n\nKeys of a dictionary are aligned to the DataFrame, based on column names;\neach value in the dictionary is added to the corresponding column.\n\n>>> df[['height', 'weight']] + {'height': 0.5, 'weight': 1.5}\n height weight\nelk 2.0 501.5\nmoose 3.1 801.5\n\nWhen `other` is a :class:`Series`, the index of `other` is aligned with the\ncolumns of the DataFrame.\n\n>>> s1 = pd.Series([0.5, 1.5], index=['weight', 'height'])\n>>> df[['height', 'weight']] + s1\n height weight\nelk 3.0 500.5\nmoose 4.1 800.5\n\nEven when the index of `other` is the same as the index of the DataFrame,\nthe :class:`Series` will not be reoriented. If index-wise alignment is desired,\n:meth:`DataFrame.add` should be used with `axis='index'`.\n\n>>> s2 = pd.Series([0.5, 1.5], index=['elk', 'moose'])\n>>> df[['height', 'weight']] + s2\n elk height moose weight\nelk NaN NaN NaN NaN\nmoose NaN NaN NaN NaN\n\n>>> df[['height', 'weight']].add(s2, axis='index')\n height weight\nelk 2.0 500.5\nmoose 4.1 801.5\n\nWhen `other` is a :class:`DataFrame`, both columns names and the\nindex are aligned.\n\n>>> other = pd.DataFrame({'height': [0.2, 0.4, 0.6]},\n... index=['elk', 'moose', 'deer'])\n>>> df[['height', 'weight']] + other\n height weight\ndeer NaN NaN\nelk 1.7 NaN\nmoose 3.0 NaN\n"}, "kind": 2, "label": "__add__", "sortText": "213"}, {"detail": "bound method DataFrame.__and__(other) -> Unknown", "kind": 2, "label": "__and__", "sortText": "214"}, {"detail": "dict[str, Any]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "__annotations__", "sortText": "215"}, {"detail": "bound method DataFrame.__array__(dtype: DTypeLike | None = None, copy: bool | None = None) -> ndarray[_AnyShape, dtype[Any]]", "kind": 2, "label": "__array__", "sortText": "216"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "__array_priority__", "sortText": "217"}, {"detail": "bound method DataFrame.__array_ufunc__(ufunc: ufunc, method: str, *inputs: Any, **kwargs: Any) -> Unknown", "kind": 2, "label": "__array_ufunc__", "sortText": "218"}, {"detail": "bound method DataFrame.__arrow_c_stream__(requested_schema=None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Export the pandas DataFrame as an Arrow C stream PyCapsule.\n\nThis relies on pyarrow to convert the pandas DataFrame to the Arrow\nformat (and follows the default behaviour of ``pyarrow.Table.from_pandas``\nin its handling of the index, i.e. store the index as a column except\nfor RangeIndex).\nThis conversion is not necessarily zero-copy.\n\nParameters\n----------\nrequested_schema : PyCapsule, default None\n The schema to which the dataframe should be casted, passed as a\n PyCapsule containing a C ArrowSchema representation of the\n requested schema.\n\nReturns\n-------\nPyCapsule\n"}, "kind": 2, "label": "__arrow_c_stream__", "sortText": "219"}, {"detail": "() -> Never", "kind": 3, "label": "__bool__", "sortText": "220"}, {"detail": "type[DataFrame]", "documentation": {"kind": "plaintext", "value": "Two-dimensional, size-mutable, potentially heterogeneous tabular data.\n\nData structure also contains labeled axes (rows and columns).\nArithmetic operations align on both row and column labels. Can be\nthought of as a dict-like container for Series objects. The primary\npandas data structure.\n\nParameters\n----------\ndata : ndarray (structured or homogeneous), Iterable, dict, or DataFrame\n Dict can contain Series, arrays, constants, dataclass or list-like objects. If\n data is a dict, column order follows insertion-order. If a dict contains Series\n which have an index defined, it is aligned by its index. This alignment also\n occurs if data is a Series or a DataFrame itself. Alignment is done on\n Series/DataFrame inputs.\n\n If data is a list of dicts, column order follows insertion-order.\n\nindex : Index or array-like\n Index to use for resulting frame. Will default to RangeIndex if\n no indexing information part of input data and no index provided.\ncolumns : Index or array-like\n Column labels to use for resulting frame when data does not have them,\n defaulting to RangeIndex(0, 1, 2, ..., n). If data contains column labels,\n will perform column selection instead.\ndtype : dtype, default None\n Data type to force. Only a single dtype is allowed. If None, infer.\ncopy : bool or None, default None\n Copy data from inputs.\n For dict data, the default of None behaves like ``copy=True``. For DataFrame\n or 2d ndarray input, the default of None behaves like ``copy=False``.\n If data is a dict containing one or more Series (possibly of different dtypes),\n ``copy=False`` will ensure that these inputs are not copied.\n\n .. versionchanged:: 1.3.0\n\nSee Also\n--------\nDataFrame.from_records : Constructor from tuples, also record arrays.\nDataFrame.from_dict : From dicts of Series, arrays, or dicts.\nread_csv : Read a comma-separated values (csv) file into DataFrame.\nread_table : Read general delimited file into DataFrame.\nread_clipboard : Read text from clipboard into DataFrame.\n\nNotes\n-----\nPlease reference the :ref:`User Guide ` for more information.\n\nExamples\n--------\nConstructing DataFrame from a dictionary.\n\n>>> d = {'col1': [1, 2], 'col2': [3, 4]}\n>>> df = pd.DataFrame(data=d)\n>>> df\n col1 col2\n0 1 3\n1 2 4\n\nNotice that the inferred dtype is int64.\n\n>>> df.dtypes\ncol1 int64\ncol2 int64\ndtype: object\n\nTo enforce a single dtype:\n\n>>> df = pd.DataFrame(data=d, dtype=np.int8)\n>>> df.dtypes\ncol1 int8\ncol2 int8\ndtype: object\n\nConstructing DataFrame from a dictionary including Series:\n\n>>> d = {'col1': [0, 1, 2, 3], 'col2': pd.Series([2, 3], index=[2, 3])}\n>>> pd.DataFrame(data=d, index=[0, 1, 2, 3])\n col1 col2\n0 0 NaN\n1 1 NaN\n2 2 2.0\n3 3 3.0\n\nConstructing DataFrame from numpy ndarray:\n\n>>> df2 = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]),\n... columns=['a', 'b', 'c'])\n>>> df2\n a b c\n0 1 2 3\n1 4 5 6\n2 7 8 9\n\nConstructing DataFrame from a numpy ndarray that has labeled columns:\n\n>>> data = np.array([(1, 2, 3), (4, 5, 6), (7, 8, 9)],\n... dtype=[(\"a\", \"i4\"), (\"b\", \"i4\"), (\"c\", \"i4\")])\n>>> df3 = pd.DataFrame(data, columns=['c', 'a'])\n...\n>>> df3\n c a\n0 3 1\n1 6 4\n2 9 7\n\nConstructing DataFrame from dataclass:\n\n>>> from dataclasses import make_dataclass\n>>> Point = make_dataclass(\"Point\", [(\"x\", int), (\"y\", int)])\n>>> pd.DataFrame([Point(0, 0), Point(0, 3), Point(2, 3)])\n x y\n0 0 0\n1 0 3\n2 2 3\n\nConstructing DataFrame from Series/DataFrame:\n\n>>> ser = pd.Series([1, 2, 3], index=[\"a\", \"b\", \"c\"])\n>>> df = pd.DataFrame(data=ser, index=[\"a\", \"c\"])\n>>> df\n 0\na 1\nc 3\n\n>>> df1 = pd.DataFrame([1, 2, 3], index=[\"a\", \"b\", \"c\"], columns=[\"x\"])\n>>> df2 = pd.DataFrame(data=df1, index=[\"a\", \"c\"])\n>>> df2\n x\na 1\nc 3\n"}, "kind": 7, "label": "__class__", "sortText": "221"}, {"detail": "bound method DataFrame.__contains__(key) -> bool", "documentation": {"kind": "plaintext", "value": "True if the key is in the info axis\n"}, "kind": 2, "label": "__contains__", "sortText": "222"}, {"detail": "bound method DataFrame.__copy__(deep: bool = True) -> DataFrame", "kind": 2, "label": "__copy__", "sortText": "223"}, {"detail": "bound method DataFrame.__dataframe__(nan_as_null: bool = False, allow_copy: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the dataframe interchange object implementing the interchange protocol.\n\nParameters\n----------\nnan_as_null : bool, default False\n `nan_as_null` is DEPRECATED and has no effect. Please avoid using\n it; it will be removed in a future release.\nallow_copy : bool, default True\n Whether to allow memory copying when exporting. If set to False\n it would cause non-zero-copy exports to fail.\n\nReturns\n-------\nDataFrame interchange object\n The object which consuming library can use to ingress the dataframe.\n\nNotes\n-----\nDetails on the interchange protocol:\nhttps://data-apis.org/dataframe-protocol/latest/index.html\n\nExamples\n--------\n>>> df_not_necessarily_pandas = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})\n>>> interchange_object = df_not_necessarily_pandas.__dataframe__()\n>>> interchange_object.column_names()\nIndex(['A', 'B'], dtype='object')\n>>> df_pandas = (pd.api.interchange.from_dataframe\n... (interchange_object.select_columns_by_name(['A'])))\n>>> df_pandas\n A\n0 1\n1 2\n\nThese methods (``column_names``, ``select_columns_by_name``) should work\nfor any dataframe library which implements the interchange protocol.\n"}, "kind": 2, "label": "__dataframe__", "sortText": "224"}, {"detail": "bound method DataFrame.__dataframe_consortium_standard__(*, api_version: str | None = None) -> Any", "documentation": {"kind": "plaintext", "value": "Provide entry point to the Consortium DataFrame Standard API.\n\nThis is developed and maintained outside of pandas.\nPlease report any issues to https://github.com/data-apis/dataframe-api-compat.\n"}, "kind": 2, "label": "__dataframe_consortium_standard__", "sortText": "225"}, {"detail": "bound method DataFrame.__deepcopy__(memo=None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Parameters\n----------\nmemo, default None\n Standard signature. Unused\n"}, "kind": 2, "label": "__deepcopy__", "sortText": "226"}, {"detail": "bound method DataFrame.__delattr__(name: str, /) -> None", "kind": 2, "label": "__delattr__", "sortText": "227"}, {"detail": "bound method DataFrame.__delitem__(key) -> None", "documentation": {"kind": "plaintext", "value": "Delete item\n"}, "kind": 2, "label": "__delitem__", "sortText": "228"}, {"detail": "dict[str, Any]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "__dict__", "sortText": "229"}, {"detail": "bound method DataFrame.__dir__() -> list[str]", "documentation": {"kind": "plaintext", "value": "Provide method name lookup and completion.\n\nNotes\n-----\nOnly provide 'public' methods.\n"}, "kind": 2, "label": "__dir__", "sortText": "230"}, {"detail": "bound method DataFrame.__divmod__(other) -> tuple[DataFrame, DataFrame]", "kind": 2, "label": "__divmod__", "sortText": "231"}, {"detail": "str | None", "kind": 22, "label": "__doc__", "sortText": "232"}, {"detail": "bound method DataFrame.__eq__(other) -> Unknown", "kind": 2, "label": "__eq__", "sortText": "233"}, {"detail": "bound method DataFrame.__finalize__(other, method: str | None = None, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Propagate metadata from other to self.\n\nParameters\n----------\nother : the object from which to get the attributes that we are going\n to propagate\nmethod : str, optional\n A passed method name providing context on where ``__finalize__``\n was called.\n\n .. warning::\n\n The value passed as `method` are not currently considered\n stable across pandas releases.\n"}, "kind": 2, "label": "__finalize__", "sortText": "234"}, {"detail": "bound method DataFrame.__floordiv__(other) -> Unknown", "kind": 2, "label": "__floordiv__", "sortText": "235"}, {"detail": "bound method DataFrame.__format__(format_spec: str, /) -> str", "kind": 2, "label": "__format__", "sortText": "236"}, {"detail": "bound method DataFrame.__ge__(other) -> Unknown", "kind": 2, "label": "__ge__", "sortText": "237"}, {"detail": "bound method DataFrame.__getattr__(name: str) -> Unknown", "documentation": {"kind": "plaintext", "value": "After regular attribute access, try looking up the name\nThis allows simpler access to columns for interactive use.\n"}, "kind": 2, "label": "__getattr__", "sortText": "238"}, {"detail": "bound method DataFrame.__getattribute__(name: str, /) -> Any", "kind": 2, "label": "__getattribute__", "sortText": "239"}, {"detail": "bound method DataFrame.__getitem__(key) -> Unknown", "kind": 2, "label": "__getitem__", "sortText": "240"}, {"detail": "bound method DataFrame.__getstate__() -> dict[str, Any]", "kind": 2, "label": "__getstate__", "sortText": "241"}, {"detail": "bound method DataFrame.__gt__(other) -> Unknown", "kind": 2, "label": "__gt__", "sortText": "242"}, {"detail": "None", "documentation": {"kind": "plaintext", "value": "The type of the None singleton.\n"}, "kind": 22, "label": "__hash__", "sortText": "243"}, {"detail": "bound method DataFrame.__iadd__(other) -> DataFrame", "kind": 2, "label": "__iadd__", "sortText": "244"}, {"detail": "bound method DataFrame.__iand__(other) -> DataFrame", "kind": 2, "label": "__iand__", "sortText": "245"}, {"detail": "bound method DataFrame.__ifloordiv__(other) -> DataFrame", "kind": 2, "label": "__ifloordiv__", "sortText": "246"}, {"detail": "bound method DataFrame.__imod__(other) -> DataFrame", "kind": 2, "label": "__imod__", "sortText": "247"}, {"detail": "bound method DataFrame.__imul__(other) -> DataFrame", "kind": 2, "label": "__imul__", "sortText": "248"}, {"detail": "bound method DataFrame.__init__(data=None, index: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = None, columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = None, dtype: ExtensionDtype | str | dtype[Any] | type | None = None, copy: bool | None = None) -> None", "kind": 2, "label": "__init__", "sortText": "249"}, {"detail": "bound method type[DataFrame].__init_subclass__() -> None", "kind": 2, "label": "__init_subclass__", "sortText": "250"}, {"detail": "bound method DataFrame.__invert__() -> DataFrame", "kind": 2, "label": "__invert__", "sortText": "251"}, {"detail": "bound method DataFrame.__ior__(other) -> DataFrame", "kind": 2, "label": "__ior__", "sortText": "252"}, {"detail": "bound method DataFrame.__ipow__(other) -> DataFrame", "kind": 2, "label": "__ipow__", "sortText": "253"}, {"detail": "bound method DataFrame.__isub__(other) -> DataFrame", "kind": 2, "label": "__isub__", "sortText": "254"}, {"detail": "bound method DataFrame.__iter__() -> Iterator[Unknown]", "documentation": {"kind": "plaintext", "value": "Iterate over info axis.\n\nReturns\n-------\niterator\n Info axis as iterator.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})\n>>> for x in df:\n... print(x)\nA\nB\n"}, "kind": 2, "label": "__iter__", "sortText": "255"}, {"detail": "bound method DataFrame.__itruediv__(other) -> DataFrame", "kind": 2, "label": "__itruediv__", "sortText": "256"}, {"detail": "bound method DataFrame.__ixor__(other) -> DataFrame", "kind": 2, "label": "__ixor__", "sortText": "257"}, {"detail": "bound method DataFrame.__le__(other) -> Unknown", "kind": 2, "label": "__le__", "sortText": "258"}, {"detail": "bound method DataFrame.__len__() -> int", "documentation": {"kind": "plaintext", "value": "Returns length of info axis, but here we use the index.\n"}, "kind": 2, "label": "__len__", "sortText": "259"}, {"detail": "bound method DataFrame.__lt__(other) -> Unknown", "kind": 2, "label": "__lt__", "sortText": "260"}, {"detail": "Overload[(other: Series) -> Series, (other: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | Series | DataFrame) -> DataFrame | Series]", "documentation": {"kind": "plaintext", "value": "Matrix multiplication using binary `@` operator.\n"}, "kind": 2, "label": "__matmul__", "sortText": "261"}, {"detail": "bound method DataFrame.__mod__(other) -> Unknown", "kind": 2, "label": "__mod__", "sortText": "262"}, {"detail": "str", "documentation": {"kind": "plaintext", "value": "str(object='') -> str\nstr(bytes_or_buffer[, encoding[, errors]]) -> str\n\nCreate a new string object from the given object. If encoding or\nerrors is specified, then the object must expose a data buffer\nthat will be decoded using the given encoding and error handler.\nOtherwise, returns the result of object.__str__() (if defined)\nor repr(object).\nencoding defaults to 'utf-8'.\nerrors defaults to 'strict'.\n"}, "kind": 22, "label": "__module__", "sortText": "263"}, {"detail": "bound method DataFrame.__mul__(other) -> Unknown", "kind": 2, "label": "__mul__", "sortText": "264"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "__name__", "sortText": "265"}, {"detail": "bound method DataFrame.__ne__(other) -> Unknown", "kind": 2, "label": "__ne__", "sortText": "266"}, {"detail": "bound method DataFrame.__neg__() -> DataFrame", "kind": 2, "label": "__neg__", "sortText": "267"}, {"detail": "def __new__[Self](cls) -> Self", "kind": 3, "label": "__new__", "sortText": "268"}, {"detail": "bound method DataFrame.__nonzero__() -> Never", "kind": 2, "label": "__nonzero__", "sortText": "269"}, {"detail": "bound method DataFrame.__or__(other) -> Unknown", "kind": 2, "label": "__or__", "sortText": "270"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "__pandas_priority__", "sortText": "271"}, {"detail": "bound method DataFrame.__pos__() -> DataFrame", "kind": 2, "label": "__pos__", "sortText": "272"}, {"detail": "bound method DataFrame.__pow__(other) -> Unknown", "kind": 2, "label": "__pow__", "sortText": "273"}, {"detail": "bound method DataFrame.__radd__(other) -> Unknown", "kind": 2, "label": "__radd__", "sortText": "274"}, {"detail": "bound method DataFrame.__rand__(other) -> Unknown", "kind": 2, "label": "__rand__", "sortText": "275"}, {"detail": "bound method DataFrame.__rdivmod__(other) -> tuple[DataFrame, DataFrame]", "kind": 2, "label": "__rdivmod__", "sortText": "276"}, {"detail": "bound method DataFrame.__reduce__() -> str | tuple[Any, ...]", "kind": 2, "label": "__reduce__", "sortText": "277"}, {"detail": "bound method DataFrame.__reduce_ex__(protocol: SupportsIndex, /) -> str | tuple[Any, ...]", "kind": 2, "label": "__reduce_ex__", "sortText": "278"}, {"detail": "bound method DataFrame.__repr__() -> str", "documentation": {"kind": "plaintext", "value": "Return a string representation for a particular DataFrame.\n"}, "kind": 2, "label": "__repr__", "sortText": "279"}, {"detail": "bound method DataFrame.__rfloordiv__(other) -> Unknown", "kind": 2, "label": "__rfloordiv__", "sortText": "280"}, {"detail": "bound method DataFrame.__rmatmul__(other) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Matrix multiplication using binary `@` operator.\n"}, "kind": 2, "label": "__rmatmul__", "sortText": "281"}, {"detail": "bound method DataFrame.__rmod__(other) -> Unknown", "kind": 2, "label": "__rmod__", "sortText": "282"}, {"detail": "bound method DataFrame.__rmul__(other) -> Unknown", "kind": 2, "label": "__rmul__", "sortText": "283"}, {"detail": "bound method DataFrame.__ror__(other) -> Unknown", "kind": 2, "label": "__ror__", "sortText": "284"}, {"detail": "bound method DataFrame.__round__(decimals: int = 0) -> DataFrame", "kind": 2, "label": "__round__", "sortText": "285"}, {"detail": "bound method DataFrame.__rpow__(other) -> Unknown", "kind": 2, "label": "__rpow__", "sortText": "286"}, {"detail": "bound method DataFrame.__rsub__(other) -> Unknown", "kind": 2, "label": "__rsub__", "sortText": "287"}, {"detail": "bound method DataFrame.__rtruediv__(other) -> Unknown", "kind": 2, "label": "__rtruediv__", "sortText": "288"}, {"detail": "bound method DataFrame.__rxor__(other) -> Unknown", "kind": 2, "label": "__rxor__", "sortText": "289"}, {"detail": "bound method DataFrame.__setattr__(name: str, value) -> None", "documentation": {"kind": "plaintext", "value": "After regular attribute access, try setting the name\nThis allows simpler access to columns for interactive use.\n"}, "kind": 2, "label": "__setattr__", "sortText": "290"}, {"detail": "bound method DataFrame.__setitem__(key, value) -> None", "kind": 2, "label": "__setitem__", "sortText": "291"}, {"detail": "bound method DataFrame.__setstate__(state) -> None", "kind": 2, "label": "__setstate__", "sortText": "292"}, {"detail": "bound method DataFrame.__sizeof__() -> int", "documentation": {"kind": "plaintext", "value": "Generates the total memory usage for an object that returns\neither a value or Series of values\n"}, "kind": 2, "label": "__sizeof__", "sortText": "293"}, {"detail": "bound method DataFrame.__str__() -> str", "kind": 2, "label": "__str__", "sortText": "294"}, {"detail": "bound method DataFrame.__sub__(other) -> Unknown", "kind": 2, "label": "__sub__", "sortText": "295"}, {"detail": "bound method type[DataFrame].__subclasshook__(subclass: type, /) -> bool", "kind": 2, "label": "__subclasshook__", "sortText": "296"}, {"detail": "bound method DataFrame.__truediv__(other) -> Unknown", "kind": 2, "label": "__truediv__", "sortText": "297"}, {"detail": "bound method DataFrame.__xor__(other) -> Unknown", "kind": 2, "label": "__xor__", "sortText": "298"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "_AXIS_LEN", "sortText": "299"}, {"detail": "list[Literal[\"index\", \"columns\"]]", "documentation": {"kind": "plaintext", "value": "Built-in mutable sequence.\n\nIf no argument is given, the constructor creates a new empty list.\nThe argument must be an iterable if specified.\n"}, "kind": 22, "label": "_AXIS_ORDERS", "sortText": "300"}, {"detail": "dict[int | Literal[\"index\", \"columns\", \"rows\"], int]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "_AXIS_TO_AXIS_NUMBER", "sortText": "301"}, {"detail": "tuple[type[Series], type[Index], type[ExtensionArray], type[ndarray[_AnyShape, dtype[Any]]]]", "documentation": {"kind": "plaintext", "value": "Built-in immutable sequence.\n\nIf no argument is given, the constructor returns an empty tuple.\nIf iterable is specified the tuple is initialized from iterable's items.\n\nIf the argument is a tuple, the return value is the same object.\n"}, "kind": 22, "label": "_HANDLED_TYPES", "sortText": "302"}, {"detail": "set[str]", "documentation": {"kind": "plaintext", "value": "Build an unordered collection of unique elements.\n"}, "kind": 22, "label": "_accessors", "sortText": "303"}, {"detail": "bound method DataFrame._accum_func(name: str, func, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, skipna: bool = True, *args, **kwargs) -> Unknown", "kind": 2, "label": "_accum_func", "sortText": "304"}, {"detail": "str", "documentation": {"kind": "plaintext", "value": "str(object='') -> str\nstr(bytes_or_buffer[, encoding[, errors]]) -> str\n\nCreate a new string object from the given object. If encoding or\nerrors is specified, then the object must expose a data buffer\nthat will be decoded using the given encoding and error handler.\nOtherwise, returns the result of object.__str__() (if defined)\nor repr(object).\nencoding defaults to 'utf-8'.\nerrors defaults to 'strict'.\n"}, "kind": 22, "label": "_agg_examples_doc", "sortText": "305"}, {"detail": "str", "documentation": {"kind": "plaintext", "value": "str(object='') -> str\nstr(bytes_or_buffer[, encoding[, errors]]) -> str\n\nCreate a new string object from the given object. If encoding or\nerrors is specified, then the object must expose a data buffer\nthat will be decoded using the given encoding and error handler.\nOtherwise, returns the result of object.__str__() (if defined)\nor repr(object).\nencoding defaults to 'utf-8'.\nerrors defaults to 'strict'.\n"}, "kind": 22, "label": "_agg_see_also_doc", "sortText": "306"}, {"detail": "bound method DataFrame._align_for_op(other, axis: int, flex: bool | None = False, level: Hashable = None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Convert rhs to meet lhs dims if input is list, tuple or np.ndarray.\n\nParameters\n----------\nleft : DataFrame\nright : Any\naxis : int\nflex : bool or None, default False\n Whether this is a flex op, in which case we reindex.\n None indicates not to check for alignment.\nlevel : int or level name, default None\n\nReturns\n-------\nleft : DataFrame\nright : Any\n"}, "kind": 2, "label": "_align_for_op", "sortText": "307"}, {"detail": "bound method DataFrame._align_frame(other: DataFrame, join: Literal[\"outer\", \"inner\", \"left\", \"right\"] = \"outer\", axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, level=None, copy: bool | None = None, fill_value=None, method=None, limit: int | None = None, fill_axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> tuple[DataFrame, DataFrame, Index | None]", "kind": 2, "label": "_align_frame", "sortText": "308"}, {"detail": "bound method DataFrame._align_series(other: Series, join: Literal[\"outer\", \"inner\", \"left\", \"right\"] = \"outer\", axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, level=None, copy: bool | None = None, fill_value=None, method=None, limit: int | None = None, fill_axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> tuple[DataFrame, Series, Index | None]", "kind": 2, "label": "_align_series", "sortText": "309"}, {"detail": "bound method DataFrame._append(other, ignore_index: bool = False, verify_integrity: bool = False, sort: bool = False) -> DataFrame", "kind": 2, "label": "_append", "sortText": "310"}, {"detail": "bound method DataFrame._arith_method(other, op) -> Unknown", "kind": 2, "label": "_arith_method", "sortText": "311"}, {"detail": "bound method DataFrame._arith_method_with_reindex(right: DataFrame, op) -> DataFrame", "documentation": {"kind": "plaintext", "value": "For DataFrame-with-DataFrame operations that require reindexing,\noperate only on shared columns, then reindex.\n\nParameters\n----------\nright : DataFrame\nop : binary operator\n\nReturns\n-------\nDataFrame\n"}, "kind": 2, "label": "_arith_method_with_reindex", "sortText": "312"}, {"detail": "bound method DataFrame._as_manager(typ: str, copy: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Private helper function to create a DataFrame with specific manager.\n\nParameters\n----------\ntyp : {\"block\", \"array\"}\ncopy : bool, default True\n Only controls whether the conversion from Block->ArrayManager\n copies the 1D arrays (to ensure proper/contiguous memory layout).\n\nReturns\n-------\nDataFrame\n New DataFrame using specified manager type. Is not guaranteed\n to be a copy or not.\n"}, "kind": 2, "label": "_as_manager", "sortText": "313"}, {"detail": "dict[Hashable, Any]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "_attrs", "sortText": "314"}, {"detail": "bound method DataFrame._box_col_values(values: SingleDataManager, loc: int) -> Series", "documentation": {"kind": "plaintext", "value": "Provide boxed values for a column.\n"}, "kind": 2, "label": "_box_col_values", "sortText": "315"}, {"detail": "dict[str, Any]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "_cache", "sortText": "316"}, {"detail": "bool", "documentation": {"kind": "plaintext", "value": "Returns True when the argument is true, False otherwise.\nThe builtins True and False are the only two instances of the class bool.\nThe class bool is a subclass of the class int, and cannot be subclassed.\n"}, "kind": 22, "label": "_can_fast_transpose", "sortText": "317"}, {"detail": "bound method DataFrame._check_inplace_and_allows_duplicate_labels(inplace: bool) -> Unknown", "kind": 2, "label": "_check_inplace_and_allows_duplicate_labels", "sortText": "318"}, {"detail": "bound method DataFrame._check_is_chained_assignment_possible() -> bool", "documentation": {"kind": "plaintext", "value": "Check if we are a view, have a cacher, and are of mixed type.\nIf so, then force a setitem_copy check.\n\nShould be called just near setting a value\n\nWill return a boolean if it we are a view and are cached, but a\nsingle-dtype meaning that the cacher should be updated following\nsetting.\n"}, "kind": 2, "label": "_check_is_chained_assignment_possible", "sortText": "319"}, {"detail": "bound method DataFrame._check_label_or_level_ambiguity(key: Hashable, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> None", "documentation": {"kind": "plaintext", "value": "Check whether `key` is ambiguous.\n\nBy ambiguous, we mean that it matches both a level of the input\n`axis` and a label of the other axis.\n\nParameters\n----------\nkey : Hashable\n Label or level name.\naxis : int, default 0\n Axis that levels are associated with (0 for index, 1 for columns).\n\nRaises\n------\nValueError: `key` is ambiguous\n"}, "kind": 2, "label": "_check_label_or_level_ambiguity", "sortText": "320"}, {"detail": "bound method DataFrame._check_setitem_copy(t: str = \"setting\", force: bool = False) -> Unknown", "documentation": {"kind": "plaintext", "value": "Parameters\n----------\nt : str, the type of setting error\nforce : bool, default False\n If True, then force showing an error.\n\nvalidate if we are doing a setitem on a chained copy.\n\nIt is technically possible to figure out that we are setting on\na copy even WITH a multi-dtyped pandas object. In other words, some\nblocks may be views while other are not. Currently _is_view will ALWAYS\nreturn False for multi-blocks to avoid having to handle this case.\n\ndf = DataFrame(np.arange(0,9), columns=['count'])\ndf['group'] = 'b'\n\n# This technically need not raise SettingWithCopy if both are view\n# (which is not generally guaranteed but is usually True. However,\n# this is in general not a good practice and we recommend using .loc.\ndf.iloc[0:5]['group'] = 'a'\n"}, "kind": 2, "label": "_check_setitem_copy", "sortText": "321"}, {"detail": "bound method DataFrame._clear_item_cache() -> None", "kind": 2, "label": "_clear_item_cache", "sortText": "322"}, {"detail": "bound method DataFrame._clip_with_one_bound(threshold, method, axis, inplace) -> Unknown", "kind": 2, "label": "_clip_with_one_bound", "sortText": "323"}, {"detail": "bound method DataFrame._clip_with_scalar(lower, upper, inplace: bool = False) -> Unknown", "kind": 2, "label": "_clip_with_scalar", "sortText": "324"}, {"detail": "bound method DataFrame._cmp_method(other, op) -> Unknown", "kind": 2, "label": "_cmp_method", "sortText": "325"}, {"detail": "bound method DataFrame._combine_frame(other: DataFrame, func, fill_value=None) -> Unknown", "kind": 2, "label": "_combine_frame", "sortText": "326"}, {"detail": "bound method DataFrame._consolidate() -> Unknown", "documentation": {"kind": "plaintext", "value": "Compute NDFrame with \"consolidated\" internals (data of each dtype\ngrouped together in a single ndarray).\n\nReturns\n-------\nconsolidated : same type as caller\n"}, "kind": 2, "label": "_consolidate", "sortText": "327"}, {"detail": "bound method DataFrame._consolidate_inplace() -> None", "documentation": {"kind": "plaintext", "value": "Consolidate data in place and return None\n"}, "kind": 2, "label": "_consolidate_inplace", "sortText": "328"}, {"detail": "bound method DataFrame._construct_axes_dict(axes: Sequence[int | Literal[\"index\", \"columns\", \"rows\"]] | None = None, **kwargs) -> Unknown", "documentation": {"kind": "plaintext", "value": "Return an axes dictionary for myself.\n"}, "kind": 2, "label": "_construct_axes_dict", "sortText": "329"}, {"detail": "bound method DataFrame._construct_result(result) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Wrap the result of an arithmetic, comparison, or logical operation.\n\nParameters\n----------\nresult : DataFrame\n\nReturns\n-------\nDataFrame\n"}, "kind": 2, "label": "_construct_result", "sortText": "330"}, {"detail": "(...) -> DataFrame", "kind": 3, "label": "_constructor", "sortText": "331"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_constructor_expanddim", "sortText": "332"}, {"detail": "bound method DataFrame._constructor_from_mgr(mgr, axes) -> DataFrame", "kind": 2, "label": "_constructor_from_mgr", "sortText": "333"}, {"detail": "(...) -> Series", "kind": 3, "label": "_constructor_sliced", "sortText": "334"}, {"detail": "bound method DataFrame._constructor_sliced_from_mgr(mgr, axes) -> Series", "kind": 2, "label": "_constructor_sliced_from_mgr", "sortText": "335"}, {"detail": "bound method DataFrame._create_data_for_split_and_tight_to_dict(are_all_object_dtype_cols: bool, object_dtype_indices: list[int]) -> list[Unknown]", "documentation": {"kind": "plaintext", "value": "Simple helper method to create data for to ``to_dict(orient=\"split\")`` and\n``to_dict(orient=\"tight\")`` to create the main output data\n"}, "kind": 2, "label": "_create_data_for_split_and_tight_to_dict", "sortText": "336"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_data", "sortText": "337"}, {"detail": "bound method DataFrame._deprecate_downcast(downcast, method_name: str) -> Unknown", "kind": 2, "label": "_deprecate_downcast", "sortText": "338"}, {"detail": "bound method DataFrame._dir_additions() -> set[str]", "documentation": {"kind": "plaintext", "value": "add the string-like attributes from the info_axis.\nIf info_axis is a MultiIndex, its first level values are used.\n"}, "kind": 2, "label": "_dir_additions", "sortText": "339"}, {"detail": "bound method DataFrame._dir_deletions() -> set[str]", "documentation": {"kind": "plaintext", "value": "Delete unwanted __dir__ for this object.\n"}, "kind": 2, "label": "_dir_deletions", "sortText": "340"}, {"detail": "bound method DataFrame._dispatch_frame_op(right, func: (...) -> Unknown, axis: int | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Evaluate the frame operation func(left, right) by evaluating\ncolumn-by-column, dispatching to the Series implementation.\n\nParameters\n----------\nright : scalar, Series, or DataFrame\nfunc : arithmetic or comparison operator\naxis : {None, 0, 1}\n\nReturns\n-------\nDataFrame\n\nNotes\n-----\nCaller is responsible for setting np.errstate where relevant.\n"}, "kind": 2, "label": "_dispatch_frame_op", "sortText": "341"}, {"detail": "bound method DataFrame._drop_axis(labels, axis, level=None, errors: Literal[\"ignore\", \"raise\"] = \"raise\", only_slice: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Drop labels from specified axis. Used in the ``drop`` method\ninternally.\n\nParameters\n----------\nlabels : single label or list-like\naxis : int or axis name\nlevel : int or level name, default None\n For MultiIndex\nerrors : {'ignore', 'raise'}, default 'raise'\n If 'ignore', suppress error and existing labels are dropped.\nonly_slice : bool, default False\n Whether indexing along columns should be view-only.\n"}, "kind": 2, "label": "_drop_axis", "sortText": "342"}, {"detail": "bound method DataFrame._drop_labels_or_levels(keys, axis: int = 0) -> Unknown", "documentation": {"kind": "plaintext", "value": "Drop labels and/or levels for the given `axis`.\n\nFor each key in `keys`:\n - (axis=0): If key matches a column label then drop the column.\n Otherwise if key matches an index level then drop the level.\n - (axis=1): If key matches an index label then drop the row.\n Otherwise if key matches a column level then drop the level.\n\nParameters\n----------\nkeys : str or list of str\n labels or levels to drop\naxis : int, default 0\n Axis that levels are associated with (0 for index, 1 for columns)\n\nReturns\n-------\ndropped: DataFrame\n\nRaises\n------\nValueError\n if any `keys` match neither a label nor a level\n"}, "kind": 2, "label": "_drop_labels_or_levels", "sortText": "343"}, {"detail": "bound method DataFrame._ensure_valid_index(value) -> None", "documentation": {"kind": "plaintext", "value": "Ensure that if we don't have an index, that we can create one from the\npassed value.\n"}, "kind": 2, "label": "_ensure_valid_index", "sortText": "344"}, {"detail": "bound method DataFrame._find_valid_index(*, how: str) -> Hashable", "documentation": {"kind": "plaintext", "value": "Retrieves the index of the first valid value.\n\nParameters\n----------\nhow : {'first', 'last'}\n Use this parameter to change between the first or last valid index.\n\nReturns\n-------\nidx_first_valid : type of index\n"}, "kind": 2, "label": "_find_valid_index", "sortText": "345"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_flags", "sortText": "346"}, {"detail": "bound method DataFrame._flex_arith_method(other, op, *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> Unknown", "kind": 2, "label": "_flex_arith_method", "sortText": "347"}, {"detail": "bound method DataFrame._flex_cmp_method(other, op, *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> Unknown", "kind": 2, "label": "_flex_cmp_method", "sortText": "348"}, {"detail": "bound method type[DataFrame]._from_arrays(arrays, columns, index, dtype: ExtensionDtype | str | dtype[Any] | type | None = None, verify_integrity: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Create DataFrame from a list of arrays corresponding to the columns.\n\nParameters\n----------\narrays : list-like of arrays\n Each array in the list corresponds to one column, in order.\ncolumns : list-like, Index\n The column names for the resulting DataFrame.\nindex : list-like, Index\n The rows labels for the resulting DataFrame.\ndtype : dtype, optional\n Optional dtype to enforce for all arrays.\nverify_integrity : bool, default True\n Validate and homogenize all input. If set to False, it is assumed\n that all elements of `arrays` are actual arrays how they will be\n stored in a block (numpy ndarray or ExtensionArray), have the same\n length as and are aligned with the index, and that `columns` and\n `index` are ensured to be an Index object.\n\nReturns\n-------\nDataFrame\n"}, "kind": 2, "label": "_from_arrays", "sortText": "349"}, {"detail": "bound method type[DataFrame]._from_mgr(mgr: ArrayManager | SingleArrayManager | BlockManager | SingleBlockManager, axes: list[Index]) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Construct a new object of this type from a Manager object and axes.\n\nParameters\n----------\nmgr : Manager\n Must have the same ndim as cls.\naxes : list[Index]\n\nNotes\n-----\nThe axes must match mgr.axes, but are required for future-proofing\nin the event that axes are refactored out of the Manager objects.\n"}, "kind": 2, "label": "_from_mgr", "sortText": "350"}, {"detail": "bound method DataFrame._get_agg_axis(axis_num: int) -> Index", "documentation": {"kind": "plaintext", "value": "Let's be explicit about this.\n"}, "kind": 2, "label": "_get_agg_axis", "sortText": "351"}, {"detail": "bound method DataFrame._get_axis(axis: int | Literal[\"index\", \"columns\", \"rows\"]) -> Index", "kind": 2, "label": "_get_axis", "sortText": "352"}, {"detail": "bound method type[DataFrame]._get_axis_name(axis: int | Literal[\"index\", \"columns\", \"rows\"]) -> Literal[\"index\", \"columns\"]", "kind": 2, "label": "_get_axis_name", "sortText": "353"}, {"detail": "bound method type[DataFrame]._get_axis_number(axis: int | Literal[\"index\", \"columns\", \"rows\"]) -> int", "kind": 2, "label": "_get_axis_number", "sortText": "354"}, {"detail": "bound method DataFrame._get_axis_resolvers(axis: str) -> dict[str, Series | MultiIndex]", "kind": 2, "label": "_get_axis_resolvers", "sortText": "355"}, {"detail": "bound method type[DataFrame]._get_block_manager_axis(axis: int | Literal[\"index\", \"columns\", \"rows\"]) -> int", "documentation": {"kind": "plaintext", "value": "Map the axis to the block_manager axis.\n"}, "kind": 2, "label": "_get_block_manager_axis", "sortText": "356"}, {"detail": "bound method DataFrame._get_bool_data() -> Unknown", "kind": 2, "label": "_get_bool_data", "sortText": "357"}, {"detail": "bound method DataFrame._get_cleaned_column_resolvers() -> dict[Hashable, Series]", "documentation": {"kind": "plaintext", "value": "Return the special character free column resolvers of a dataframe.\n\nColumn names with special characters are 'cleaned up' so that they can\nbe referred to by backtick quoting.\nUsed in :meth:`DataFrame.eval`.\n"}, "kind": 2, "label": "_get_cleaned_column_resolvers", "sortText": "358"}, {"detail": "bound method DataFrame._get_column_array(i: int) -> ExtensionArray | ndarray[_AnyShape, dtype[Any]]", "documentation": {"kind": "plaintext", "value": "Get the values of the i'th column (ndarray or ExtensionArray, as stored\nin the Block)\n\nWarning! The returned array is a view but doesn't handle Copy-on-Write,\nso this should be used with caution (for read-only purposes).\n"}, "kind": 2, "label": "_get_column_array", "sortText": "359"}, {"detail": "bound method DataFrame._get_index_resolvers() -> dict[Hashable, Series | MultiIndex]", "kind": 2, "label": "_get_index_resolvers", "sortText": "360"}, {"detail": "bound method DataFrame._get_item_cache(item: Hashable) -> Series", "documentation": {"kind": "plaintext", "value": "Return the cached item, item represents a label indexer.\n"}, "kind": 2, "label": "_get_item_cache", "sortText": "361"}, {"detail": "bound method DataFrame._get_label_or_level_values(key: Hashable, axis: int = 0) -> ExtensionArray | ndarray[_AnyShape, dtype[Any]]", "documentation": {"kind": "plaintext", "value": "Return a 1-D array of values associated with `key`, a label or level\nfrom the given `axis`.\n\nRetrieval logic:\n - (axis=0): Return column values if `key` matches a column label.\n Otherwise return index level values if `key` matches an index\n level.\n - (axis=1): Return row values if `key` matches an index label.\n Otherwise return column level values if 'key' matches a column\n level\n\nParameters\n----------\nkey : Hashable\n Label or level name.\naxis : int, default 0\n Axis that levels are associated with (0 for index, 1 for columns)\n\nReturns\n-------\nnp.ndarray or ExtensionArray\n\nRaises\n------\nKeyError\n if `key` matches neither a label nor a level\nValueError\n if `key` matches multiple labels\n"}, "kind": 2, "label": "_get_label_or_level_values", "sortText": "362"}, {"detail": "bound method DataFrame._get_numeric_data() -> DataFrame", "kind": 2, "label": "_get_numeric_data", "sortText": "363"}, {"detail": "bound method DataFrame._get_value(index, col, takeable: bool = False) -> str | float | Period | ... omitted 5 union elements", "documentation": {"kind": "plaintext", "value": "Quickly retrieve single value at passed column and index.\n\nParameters\n----------\nindex : row label\ncol : column label\ntakeable : interpret the index/col as indexers, default False\n\nReturns\n-------\nscalar\n\nNotes\n-----\nAssumes that both `self.index._index_as_unique` and\n`self.columns._index_as_unique`; Caller is responsible for checking.\n"}, "kind": 2, "label": "_get_value", "sortText": "364"}, {"detail": "bound method DataFrame._get_values_for_csv(*, float_format: str | ((...) -> Unknown) | EngFormatter | None, date_format: str | None, decimal: str, na_rep: str, quoting) -> DataFrame", "kind": 2, "label": "_get_values_for_csv", "sortText": "365"}, {"detail": "bound method DataFrame._getitem_bool_array(key) -> Unknown", "kind": 2, "label": "_getitem_bool_array", "sortText": "366"}, {"detail": "bound method DataFrame._getitem_multilevel(key) -> Unknown", "kind": 2, "label": "_getitem_multilevel", "sortText": "367"}, {"detail": "bound method DataFrame._getitem_nocopy(key: list[Unknown]) -> Unknown", "documentation": {"kind": "plaintext", "value": "Behaves like __getitem__, but returns a view in cases where __getitem__\nwould make a copy.\n"}, "kind": 2, "label": "_getitem_nocopy", "sortText": "368"}, {"detail": "bound method DataFrame._getitem_slice(key: slice[Any, Any, Any]) -> DataFrame", "documentation": {"kind": "plaintext", "value": "__getitem__ for the case where the key is a slice object.\n"}, "kind": 2, "label": "_getitem_slice", "sortText": "369"}, {"detail": "bound method DataFrame._gotitem(key: Hashable | Sequence[Hashable], ndim: int, subset: DataFrame | Series | None = None) -> DataFrame | Series", "documentation": {"kind": "plaintext", "value": "Sub-classes to define. Return a sliced object.\n\nParameters\n----------\nkey : string / list of selections\nndim : {1, 2}\n requested ndim of result\nsubset : object, default None\n subset to act on\n"}, "kind": 2, "label": "_gotitem", "sortText": "370"}, {"detail": "frozenset[str]", "documentation": {"kind": "plaintext", "value": "Build an immutable unordered collection of unique elements.\n"}, "kind": 22, "label": "_hidden_attrs", "sortText": "371"}, {"detail": "bound method DataFrame._indexed_same(other) -> bool", "kind": 2, "label": "_indexed_same", "sortText": "372"}, {"detail": "Index", "documentation": {"kind": "plaintext", "value": "Immutable sequence used for indexing and alignment.\n\nThe basic object storing axis labels for all pandas objects.\n\n.. versionchanged:: 2.0.0\n\n Index can hold all numpy numeric dtypes (except float16). Previously only\n int64/uint64/float64 dtypes were accepted.\n\nParameters\n----------\ndata : array-like (1-dimensional)\ndtype : str, numpy.dtype, or ExtensionDtype, optional\n Data type for the output Index. If not specified, this will be\n inferred from `data`.\n See the :ref:`user guide ` for more usages.\ncopy : bool, default False\n Copy input data.\nname : object\n Name to be stored in the index.\ntupleize_cols : bool (default: True)\n When True, attempt to create a MultiIndex if possible.\n\nSee Also\n--------\nRangeIndex : Index implementing a monotonic integer range.\nCategoricalIndex : Index of :class:`Categorical` s.\nMultiIndex : A multi-level, or hierarchical Index.\nIntervalIndex : An Index of :class:`Interval` s.\nDatetimeIndex : Index of datetime64 data.\nTimedeltaIndex : Index of timedelta64 data.\nPeriodIndex : Index of Period data.\n\nNotes\n-----\nAn Index instance can **only** contain hashable objects.\nAn Index instance *can not* hold numpy float16 dtype.\n\nExamples\n--------\n>>> pd.Index([1, 2, 3])\nIndex([1, 2, 3], dtype='int64')\n\n>>> pd.Index(list('abc'))\nIndex(['a', 'b', 'c'], dtype='object')\n\n>>> pd.Index([1, 2, 3], dtype=\"uint8\")\nIndex([1, 2, 3], dtype='uint8')\n"}, "kind": 22, "label": "_info_axis", "sortText": "373"}, {"detail": "Literal[\"columns\", \"index\"]", "kind": 12, "label": "_info_axis_name", "sortText": "374"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "_info_axis_number", "sortText": "375"}, {"detail": "bound method DataFrame._info_repr() -> bool", "documentation": {"kind": "plaintext", "value": "True if the repr should show the info view.\n"}, "kind": 2, "label": "_info_repr", "sortText": "376"}, {"detail": "bound method type[DataFrame]._init_mgr(mgr: ArrayManager | SingleArrayManager | BlockManager | SingleBlockManager, axes: dict[Literal[\"index\", \"columns\"], ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements], dtype: dtype[Any] | ExtensionDtype | None = None, copy: bool = False) -> ArrayManager | SingleArrayManager | BlockManager | SingleBlockManager", "documentation": {"kind": "plaintext", "value": "passed a manager and a axes dict\n"}, "kind": 2, "label": "_init_mgr", "sortText": "377"}, {"detail": "bound method DataFrame._inplace_method(other, op) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Wrap arithmetic method to operate inplace.\n"}, "kind": 2, "label": "_inplace_method", "sortText": "378"}, {"detail": "list[str]", "documentation": {"kind": "plaintext", "value": "Built-in mutable sequence.\n\nIf no argument is given, the constructor creates a new empty list.\nThe argument must be an iterable if specified.\n"}, "kind": 22, "label": "_internal_names", "sortText": "379"}, {"detail": "set[str]", "documentation": {"kind": "plaintext", "value": "Build an unordered collection of unique elements.\n"}, "kind": 22, "label": "_internal_names_set", "sortText": "380"}, {"detail": "ReferenceType[NDFrame] | str | None", "kind": 22, "label": "_is_copy", "sortText": "381"}, {"detail": "bool", "documentation": {"kind": "plaintext", "value": "Returns True when the argument is true, False otherwise.\nThe builtins True and False are the only two instances of the class bool.\nThe class bool is a subclass of the class int, and cannot be subclassed.\n"}, "kind": 22, "label": "_is_homogeneous_type", "sortText": "382"}, {"detail": "bound method DataFrame._is_label_or_level_reference(key: Hashable, axis: int = 0) -> bool", "documentation": {"kind": "plaintext", "value": "Test whether a key is a label or level reference for a given axis.\n\nTo be considered either a label or a level reference, `key` must be a\nstring that:\n - (axis=0): Matches a column label or an index level\n - (axis=1): Matches an index label or a column level\n\nParameters\n----------\nkey : Hashable\n Potential label or level name\naxis : int, default 0\n Axis that levels are associated with (0 for index, 1 for columns)\n\nReturns\n-------\nbool\n"}, "kind": 2, "label": "_is_label_or_level_reference", "sortText": "383"}, {"detail": "bound method DataFrame._is_label_reference(key: Hashable, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> bool", "documentation": {"kind": "plaintext", "value": "Test whether a key is a label reference for a given axis.\n\nTo be considered a label reference, `key` must be a string that:\n - (axis=0): Matches a column label\n - (axis=1): Matches an index label\n\nParameters\n----------\nkey : Hashable\n Potential label name, i.e. Index entry.\naxis : int, default 0\n Axis perpendicular to the axis that labels are associated with\n (0 means search for column labels, 1 means search for index labels)\n\nReturns\n-------\nis_label: bool\n"}, "kind": 2, "label": "_is_label_reference", "sortText": "384"}, {"detail": "bound method DataFrame._is_level_reference(key: Hashable, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> bool", "documentation": {"kind": "plaintext", "value": "Test whether a key is a level reference for a given axis.\n\nTo be considered a level reference, `key` must be a string that:\n - (axis=0): Matches the name of an index level and does NOT match\n a column label.\n - (axis=1): Matches the name of a column level and does NOT match\n an index label.\n\nParameters\n----------\nkey : Hashable\n Potential level name for the given axis\naxis : int, default 0\n Axis that levels are associated with (0 for index, 1 for columns)\n\nReturns\n-------\nis_level : bool\n"}, "kind": 2, "label": "_is_level_reference", "sortText": "385"}, {"detail": "bool", "documentation": {"kind": "plaintext", "value": "Returns True when the argument is true, False otherwise.\nThe builtins True and False are the only two instances of the class bool.\nThe class bool is a subclass of the class int, and cannot be subclassed.\n"}, "kind": 22, "label": "_is_mixed_type", "sortText": "386"}, {"detail": "bool", "documentation": {"kind": "plaintext", "value": "Returns True when the argument is true, False otherwise.\nThe builtins True and False are the only two instances of the class bool.\nThe class bool is a subclass of the class int, and cannot be subclassed.\n"}, "kind": 22, "label": "_is_view", "sortText": "387"}, {"detail": "bound method DataFrame._is_view_after_cow_rules() -> Unknown", "kind": 2, "label": "_is_view_after_cow_rules", "sortText": "388"}, {"detail": "bound method DataFrame._iset_item(loc: int, value: Series, inplace: bool = True) -> None", "kind": 2, "label": "_iset_item", "sortText": "389"}, {"detail": "bound method DataFrame._iset_item_mgr(loc: int | slice[Any, Any, Any] | ndarray[_AnyShape, dtype[Any]], value, inplace: bool = False, refs: BlockValuesRefs | None = None) -> None", "kind": 2, "label": "_iset_item_mgr", "sortText": "390"}, {"detail": "bound method DataFrame._iset_not_inplace(key, value) -> Unknown", "kind": 2, "label": "_iset_not_inplace", "sortText": "391"}, {"detail": "dict[Hashable, Series]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "_item_cache", "sortText": "392"}, {"detail": "bound method DataFrame._iter_column_arrays() -> Iterator[ExtensionArray | ndarray[_AnyShape, dtype[Any]]]", "documentation": {"kind": "plaintext", "value": "Iterate over the arrays of all columns in order.\nThis returns the values as stored in the Block (ndarray or ExtensionArray).\n\nWarning! The returned array is a view but doesn't handle Copy-on-Write,\nso this should be used with caution (for read-only purposes).\n"}, "kind": 2, "label": "_iter_column_arrays", "sortText": "393"}, {"detail": "bound method DataFrame._ixs(i: int, axis: int = 0) -> Series", "documentation": {"kind": "plaintext", "value": "Parameters\n----------\ni : int\naxis : int\n\nReturns\n-------\nSeries\n"}, "kind": 2, "label": "_ixs", "sortText": "394"}, {"detail": "bound method DataFrame._logical_func(name: str, func, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, bool_only: bool = False, skipna: bool = True, **kwargs) -> Series | bool", "kind": 2, "label": "_logical_func", "sortText": "395"}, {"detail": "(other, op) -> Unknown", "kind": 3, "label": "_logical_method", "sortText": "396"}, {"detail": "bound method DataFrame._maybe_align_series_as_frame(series: Series, axis: int) -> Unknown", "documentation": {"kind": "plaintext", "value": "If the Series operand is not EA-dtype, we can broadcast to 2D and operate\nblockwise.\n"}, "kind": 2, "label": "_maybe_align_series_as_frame", "sortText": "397"}, {"detail": "bound method DataFrame._maybe_cache_changed(item, value: Series, inplace: bool) -> None", "documentation": {"kind": "plaintext", "value": "The object has called back to us saying maybe it has changed.\n"}, "kind": 2, "label": "_maybe_cache_changed", "sortText": "398"}, {"detail": "bound method DataFrame._maybe_update_cacher(clear: bool = False, verify_is_copy: bool = True, inplace: bool = False) -> None", "documentation": {"kind": "plaintext", "value": "See if we need to update our parent cacher if clear, then clear our\ncache.\n\nParameters\n----------\nclear : bool, default False\n Clear the item cache.\nverify_is_copy : bool, default True\n Provide is_copy checks.\n"}, "kind": 2, "label": "_maybe_update_cacher", "sortText": "399"}, {"detail": "list[str]", "documentation": {"kind": "plaintext", "value": "Built-in mutable sequence.\n\nIf no argument is given, the constructor creates a new empty list.\nThe argument must be an iterable if specified.\n"}, "kind": 22, "label": "_metadata", "sortText": "400"}, {"detail": "BlockManager | ArrayManager", "kind": 22, "label": "_mgr", "sortText": "401"}, {"detail": "bound method DataFrame._min_count_stat_function(name: str, func, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None | _NoDefault = ..., skipna: bool = True, numeric_only: bool = False, min_count: int = 0, **kwargs) -> Unknown", "kind": 2, "label": "_min_count_stat_function", "sortText": "402"}, {"detail": "bound method DataFrame._needs_reindex_multi(axes, method, level: Hashable) -> bool", "documentation": {"kind": "plaintext", "value": "Check if we do need a multi reindex.\n"}, "kind": 2, "label": "_needs_reindex_multi", "sortText": "403"}, {"detail": "bound method DataFrame._pad_or_backfill(method: Literal[\"ffill\", \"bfill\", \"pad\", \"backfill\"], *, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = None, inplace: bool = False, limit: None | int = None, limit_area: Literal[\"inside\", \"outside\"] | None = None, downcast: dict[Unknown, Unknown] | None = None) -> Unknown", "kind": 2, "label": "_pad_or_backfill", "sortText": "404"}, {"detail": "bound method DataFrame._protect_consolidate(f) -> Unknown", "documentation": {"kind": "plaintext", "value": "Consolidate _mgr -- if the blocks have changed, then clear the\ncache\n"}, "kind": 2, "label": "_protect_consolidate", "sortText": "405"}, {"detail": "bound method DataFrame._reduce(op, name: str, *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, skipna: bool = True, numeric_only: bool = False, filter_type=None, **kwds) -> Unknown", "kind": 2, "label": "_reduce", "sortText": "406"}, {"detail": "bound method DataFrame._reduce_axis1(name: str, func, skipna: bool) -> Series", "documentation": {"kind": "plaintext", "value": "Special case for _reduce to try to avoid a potentially-expensive transpose.\n\nApply the reduction block-wise along axis=1 and then reduce the resulting\n1D arrays.\n"}, "kind": 2, "label": "_reduce_axis1", "sortText": "407"}, {"detail": "bound method DataFrame._reindex_axes(axes, level: Hashable, limit: int | None, tolerance, method, fill_value: str | float | Period | ... omitted 6 union elements, copy: bool | None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Perform the reindex for all the axes.\n"}, "kind": 2, "label": "_reindex_axes", "sortText": "408"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_reindex_indexer", "sortText": "409"}, {"detail": "bound method DataFrame._reindex_multi(axes: dict[str, Index], copy: bool, fill_value) -> DataFrame", "documentation": {"kind": "plaintext", "value": "We are guaranteed non-Nones in the axes.\n"}, "kind": 2, "label": "_reindex_multi", "sortText": "410"}, {"detail": "bound method DataFrame._reindex_with_indexers(reindexers, fill_value=None, copy: bool | None = False, allow_dups: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "allow_dups indicates an internal call here\n"}, "kind": 2, "label": "_reindex_with_indexers", "sortText": "411"}, {"detail": "bound method DataFrame._rename(mapper: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = None, *, index: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = None, columns: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, copy: bool | None = None, inplace: bool = False, level: Hashable = None, errors: str = \"ignore\") -> DataFrame | None", "kind": 2, "label": "_rename", "sortText": "412"}, {"detail": "bound method DataFrame._replace_columnwise(mapping: dict[Hashable, tuple[Any, Any]], inplace: bool, regex) -> Unknown", "documentation": {"kind": "plaintext", "value": "Dispatch to Series.replace column-wise.\n\nParameters\n----------\nmapping : dict\n of the form {col: (target, value)}\ninplace : bool\nregex : bool or same types as `to_replace` in DataFrame.replace\n\nReturns\n-------\nDataFrame or None\n"}, "kind": 2, "label": "_replace_columnwise", "sortText": "413"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_replace_single", "sortText": "414"}, {"detail": "bound method DataFrame._repr_data_resource_() -> Unknown", "documentation": {"kind": "plaintext", "value": "Not a real Jupyter special repr method, but we use the same\nnaming convention.\n"}, "kind": 2, "label": "_repr_data_resource_", "sortText": "415"}, {"detail": "bound method DataFrame._repr_fits_horizontal_() -> bool", "documentation": {"kind": "plaintext", "value": "Check if full repr fits in horizontal boundaries imposed by the display\noptions width and max_columns.\n"}, "kind": 2, "label": "_repr_fits_horizontal_", "sortText": "416"}, {"detail": "bound method DataFrame._repr_fits_vertical_() -> bool", "documentation": {"kind": "plaintext", "value": "Check length against max_rows.\n"}, "kind": 2, "label": "_repr_fits_vertical_", "sortText": "417"}, {"detail": "bound method DataFrame._repr_html_() -> str | None", "documentation": {"kind": "plaintext", "value": "Return a html representation for a particular DataFrame.\n\nMainly for IPython notebook.\n"}, "kind": 2, "label": "_repr_html_", "sortText": "418"}, {"detail": "bound method DataFrame._repr_latex_() -> Unknown", "documentation": {"kind": "plaintext", "value": "Returns a LaTeX representation for a particular object.\nMainly for use with nbconvert (jupyter notebook conversion to pdf).\n"}, "kind": 2, "label": "_repr_latex_", "sortText": "419"}, {"detail": "bound method DataFrame._reset_cache(key: str | None = None) -> None", "documentation": {"kind": "plaintext", "value": "Reset cached properties. If ``key`` is passed, only clears that key.\n"}, "kind": 2, "label": "_reset_cache", "sortText": "420"}, {"detail": "bound method DataFrame._reset_cacher() -> None", "kind": 2, "label": "_reset_cacher", "sortText": "421"}, {"detail": "bound method DataFrame._sanitize_column(value) -> tuple[ExtensionArray | ndarray[_AnyShape, dtype[Any]], BlockValuesRefs | None]", "documentation": {"kind": "plaintext", "value": "Ensures new columns (which go into the BlockManager as new blocks) are\nalways copied (or a reference is being tracked to them under CoW)\nand converted into an array.\n\nParameters\n----------\nvalue : scalar, Series, or array-like\n\nReturns\n-------\ntuple of numpy.ndarray or ExtensionArray and optional BlockValuesRefs\n"}, "kind": 2, "label": "_sanitize_column", "sortText": "422"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_series", "sortText": "423"}, {"detail": "bound method DataFrame._set_axis(axis: int, labels: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | Series | list[Unknown]) -> None", "documentation": {"kind": "plaintext", "value": "This is called from the cython code when we set the `index` attribute\ndirectly, e.g. `series.index = [1, 2, 3]`.\n"}, "kind": 2, "label": "_set_axis", "sortText": "424"}, {"detail": "bound method DataFrame._set_axis_name(name, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, inplace: bool = False, copy: bool | None = True) -> Unknown", "documentation": {"kind": "plaintext", "value": "Set the name(s) of the axis.\n\nParameters\n----------\nname : str or list of str\n Name(s) to set.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to set the label. The value 0 or 'index' specifies index,\n and the value 1 or 'columns' specifies columns.\ninplace : bool, default False\n If `True`, do operation inplace and return None.\ncopy:\n Whether to make a copy of the result.\n\nReturns\n-------\nSeries, DataFrame, or None\n The same type as the caller or `None` if `inplace` is `True`.\n\nSee Also\n--------\nDataFrame.rename : Alter the axis labels of :class:`DataFrame`.\nSeries.rename : Alter the index labels or set the index name\n of :class:`Series`.\nIndex.rename : Set the name of :class:`Index` or :class:`MultiIndex`.\n\nExamples\n--------\n>>> df = pd.DataFrame({\"num_legs\": [4, 4, 2]},\n... [\"dog\", \"cat\", \"monkey\"])\n>>> df\n num_legs\ndog 4\ncat 4\nmonkey 2\n>>> df._set_axis_name(\"animal\")\n num_legs\nanimal\ndog 4\ncat 4\nmonkey 2\n>>> df.index = pd.MultiIndex.from_product(\n... [[\"mammal\"], ['dog', 'cat', 'monkey']])\n>>> df._set_axis_name([\"type\", \"name\"])\n num_legs\ntype name\nmammal dog 4\n cat 4\n monkey 2\n"}, "kind": 2, "label": "_set_axis_name", "sortText": "425"}, {"detail": "bound method DataFrame._set_axis_nocheck(labels, axis: int | Literal[\"index\", \"columns\", \"rows\"], inplace: bool, copy: bool | None) -> Unknown", "kind": 2, "label": "_set_axis_nocheck", "sortText": "426"}, {"detail": "bound method DataFrame._set_is_copy(ref: NDFrame, copy: bool = True) -> None", "kind": 2, "label": "_set_is_copy", "sortText": "427"}, {"detail": "bound method DataFrame._set_item(key, value) -> None", "documentation": {"kind": "plaintext", "value": "Add series to DataFrame in specified column.\n\nIf series is a numpy-array (not a Series/TimeSeries), it must be the\nsame length as the DataFrames index or an error will be thrown.\n\nSeries/TimeSeries will be conformed to the DataFrames index to\nensure homogeneity.\n"}, "kind": 2, "label": "_set_item", "sortText": "428"}, {"detail": "bound method DataFrame._set_item_frame_value(key, value: DataFrame) -> None", "kind": 2, "label": "_set_item_frame_value", "sortText": "429"}, {"detail": "bound method DataFrame._set_item_mgr(key, value: ExtensionArray | ndarray[_AnyShape, dtype[Any]], refs: BlockValuesRefs | None = None) -> None", "kind": 2, "label": "_set_item_mgr", "sortText": "430"}, {"detail": "bound method DataFrame._set_value(index: Hashable | Sequence[Hashable], col, value: str | float | Period | ... omitted 5 union elements, takeable: bool = False) -> None", "documentation": {"kind": "plaintext", "value": "Put single value at passed column and index.\n\nParameters\n----------\nindex : Label\n row label\ncol : Label\n column label\nvalue : scalar\ntakeable : bool, default False\n Sets whether or not index/col interpreted as indexers\n"}, "kind": 2, "label": "_set_value", "sortText": "431"}, {"detail": "bound method DataFrame._setitem_array(key, value) -> Unknown", "kind": 2, "label": "_setitem_array", "sortText": "432"}, {"detail": "bound method DataFrame._setitem_frame(key, value) -> Unknown", "kind": 2, "label": "_setitem_frame", "sortText": "433"}, {"detail": "bound method DataFrame._setitem_slice(key: slice[Any, Any, Any], value) -> None", "kind": 2, "label": "_setitem_slice", "sortText": "434"}, {"detail": "bound method DataFrame._shift_with_freq(periods: int, axis: int, freq) -> DataFrame", "kind": 2, "label": "_shift_with_freq", "sortText": "435"}, {"detail": "bound method DataFrame._should_reindex_frame_op(right, op, axis: int, fill_value, level) -> bool", "documentation": {"kind": "plaintext", "value": "Check if this is an operation between DataFrames that will need to reindex.\n"}, "kind": 2, "label": "_should_reindex_frame_op", "sortText": "436"}, {"detail": "bound method DataFrame._slice(slobj: slice[Any, Any, Any], axis: int = 0) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Construct a slice of this container.\n\nSlicing with this method is *always* positional.\n"}, "kind": 2, "label": "_slice", "sortText": "437"}, {"detail": "bound method DataFrame._stat_function(name: str, func, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "_stat_function", "sortText": "438"}, {"detail": "bound method DataFrame._stat_function_ddof(name: str, func, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None | _NoDefault = ..., skipna: bool = True, ddof: int = 1, numeric_only: bool = False, **kwargs) -> Series | float", "kind": 2, "label": "_stat_function_ddof", "sortText": "439"}, {"detail": "bound method DataFrame._take_with_is_copy(indices, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Internal version of the `take` method that sets the `_is_copy`\nattribute to keep track of the parent dataframe (using in indexing\nfor the SettingWithCopyWarning).\n\nFor Series this does the same as the public take (it never sets `_is_copy`).\n\nSee the docstring of `take` for full explanation of the parameters.\n"}, "kind": 2, "label": "_take_with_is_copy", "sortText": "440"}, {"detail": "bound method DataFrame._to_dict_of_blocks() -> Unknown", "documentation": {"kind": "plaintext", "value": "Return a dict of dtype -> Constructor Types that\neach is a homogeneous dtype.\n\nInternal ONLY - only works for BlockManager\n"}, "kind": 2, "label": "_to_dict_of_blocks", "sortText": "441"}, {"detail": "bound method DataFrame._to_latex_via_styler(buf=None, *, hide: dict[Unknown, Unknown] | list[dict[Unknown, Unknown]] | None = None, relabel_index: dict[Unknown, Unknown] | list[dict[Unknown, Unknown]] | None = None, format: dict[Unknown, Unknown] | list[dict[Unknown, Unknown]] | None = None, format_index: dict[Unknown, Unknown] | list[dict[Unknown, Unknown]] | None = None, render_kwargs: dict[Unknown, Unknown] | None = None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Render object to a LaTeX tabular, longtable, or nested table.\n\nUses the ``Styler`` implementation with the following, ordered, method chaining:\n\n.. code-block:: python\n styler = Styler(DataFrame)\n styler.hide(**hide)\n styler.relabel_index(**relabel_index)\n styler.format(**format)\n styler.format_index(**format_index)\n styler.to_latex(buf=buf, **render_kwargs)\n\nParameters\n----------\nbuf : str, Path or StringIO-like, optional, default None\n Buffer to write to. If None, the output is returned as a string.\nhide : dict, list of dict\n Keyword args to pass to the method call of ``Styler.hide``. If a list will\n call the method numerous times.\nrelabel_index : dict, list of dict\n Keyword args to pass to the method of ``Styler.relabel_index``. If a list\n will call the method numerous times.\nformat : dict, list of dict\n Keyword args to pass to the method call of ``Styler.format``. If a list will\n call the method numerous times.\nformat_index : dict, list of dict\n Keyword args to pass to the method call of ``Styler.format_index``. If a\n list will call the method numerous times.\nrender_kwargs : dict\n Keyword args to pass to the method call of ``Styler.to_latex``.\n\nReturns\n-------\nstr or None\n If buf is None, returns the result as a string. Otherwise returns None.\n"}, "kind": 2, "label": "_to_latex_via_styler", "sortText": "442"}, {"detail": "str", "documentation": {"kind": "plaintext", "value": "str(object='') -> str\nstr(bytes_or_buffer[, encoding[, errors]]) -> str\n\nCreate a new string object from the given object. If encoding or\nerrors is specified, then the object must expose a data buffer\nthat will be decoded using the given encoding and error handler.\nOtherwise, returns the result of object.__str__() (if defined)\nor repr(object).\nencoding defaults to 'utf-8'.\nerrors defaults to 'strict'.\n"}, "kind": 22, "label": "_typ", "sortText": "443"}, {"detail": "bound method DataFrame._update_inplace(result, verify_is_copy: bool = True) -> None", "documentation": {"kind": "plaintext", "value": "Replace self internals with result.\n\nParameters\n----------\nresult : same type as self\nverify_is_copy : bool, default True\n Provide is_copy checks.\n"}, "kind": 2, "label": "_update_inplace", "sortText": "444"}, {"detail": "bound method type[DataFrame]._validate_dtype(dtype) -> dtype[Any] | ExtensionDtype | None", "documentation": {"kind": "plaintext", "value": "validate the passed dtype\n"}, "kind": 2, "label": "_validate_dtype", "sortText": "445"}, {"detail": "ndarray[_AnyShape, dtype[Any]] | DatetimeArray | TimedeltaArray | PeriodArray", "kind": 22, "label": "_values", "sortText": "446"}, {"detail": "bound method DataFrame._where(cond, other=..., inplace: bool = False, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, level=None, warn: bool = True) -> Unknown", "documentation": {"kind": "plaintext", "value": "Equivalent to public method `where`, except that `other` is not\napplied as a function even if callable. Used in __setitem__.\n"}, "kind": 2, "label": "_where", "sortText": "447"}]}} -{"suite": "pandas", "label": "edit dataframe then complete (edit+completion)", "method": "textDocument/completion", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py", "line": 17, "character": 39, "iteration": 3, "result": {"isIncomplete": true, "items": [{"detail": "DataFrame", "documentation": {"kind": "plaintext", "value": "Two-dimensional, size-mutable, potentially heterogeneous tabular data.\n\nData structure also contains labeled axes (rows and columns).\nArithmetic operations align on both row and column labels. Can be\nthought of as a dict-like container for Series objects. The primary\npandas data structure.\n\nParameters\n----------\ndata : ndarray (structured or homogeneous), Iterable, dict, or DataFrame\n Dict can contain Series, arrays, constants, dataclass or list-like objects. If\n data is a dict, column order follows insertion-order. If a dict contains Series\n which have an index defined, it is aligned by its index. This alignment also\n occurs if data is a Series or a DataFrame itself. Alignment is done on\n Series/DataFrame inputs.\n\n If data is a list of dicts, column order follows insertion-order.\n\nindex : Index or array-like\n Index to use for resulting frame. Will default to RangeIndex if\n no indexing information part of input data and no index provided.\ncolumns : Index or array-like\n Column labels to use for resulting frame when data does not have them,\n defaulting to RangeIndex(0, 1, 2, ..., n). If data contains column labels,\n will perform column selection instead.\ndtype : dtype, default None\n Data type to force. Only a single dtype is allowed. If None, infer.\ncopy : bool or None, default None\n Copy data from inputs.\n For dict data, the default of None behaves like ``copy=True``. For DataFrame\n or 2d ndarray input, the default of None behaves like ``copy=False``.\n If data is a dict containing one or more Series (possibly of different dtypes),\n ``copy=False`` will ensure that these inputs are not copied.\n\n .. versionchanged:: 1.3.0\n\nSee Also\n--------\nDataFrame.from_records : Constructor from tuples, also record arrays.\nDataFrame.from_dict : From dicts of Series, arrays, or dicts.\nread_csv : Read a comma-separated values (csv) file into DataFrame.\nread_table : Read general delimited file into DataFrame.\nread_clipboard : Read text from clipboard into DataFrame.\n\nNotes\n-----\nPlease reference the :ref:`User Guide ` for more information.\n\nExamples\n--------\nConstructing DataFrame from a dictionary.\n\n>>> d = {'col1': [1, 2], 'col2': [3, 4]}\n>>> df = pd.DataFrame(data=d)\n>>> df\n col1 col2\n0 1 3\n1 2 4\n\nNotice that the inferred dtype is int64.\n\n>>> df.dtypes\ncol1 int64\ncol2 int64\ndtype: object\n\nTo enforce a single dtype:\n\n>>> df = pd.DataFrame(data=d, dtype=np.int8)\n>>> df.dtypes\ncol1 int8\ncol2 int8\ndtype: object\n\nConstructing DataFrame from a dictionary including Series:\n\n>>> d = {'col1': [0, 1, 2, 3], 'col2': pd.Series([2, 3], index=[2, 3])}\n>>> pd.DataFrame(data=d, index=[0, 1, 2, 3])\n col1 col2\n0 0 NaN\n1 1 NaN\n2 2 2.0\n3 3 3.0\n\nConstructing DataFrame from numpy ndarray:\n\n>>> df2 = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]),\n... columns=['a', 'b', 'c'])\n>>> df2\n a b c\n0 1 2 3\n1 4 5 6\n2 7 8 9\n\nConstructing DataFrame from a numpy ndarray that has labeled columns:\n\n>>> data = np.array([(1, 2, 3), (4, 5, 6), (7, 8, 9)],\n... dtype=[(\"a\", \"i4\"), (\"b\", \"i4\"), (\"c\", \"i4\")])\n>>> df3 = pd.DataFrame(data, columns=['c', 'a'])\n...\n>>> df3\n c a\n0 3 1\n1 6 4\n2 9 7\n\nConstructing DataFrame from dataclass:\n\n>>> from dataclasses import make_dataclass\n>>> Point = make_dataclass(\"Point\", [(\"x\", int), (\"y\", int)])\n>>> pd.DataFrame([Point(0, 0), Point(0, 3), Point(2, 3)])\n x y\n0 0 0\n1 0 3\n2 2 3\n\nConstructing DataFrame from Series/DataFrame:\n\n>>> ser = pd.Series([1, 2, 3], index=[\"a\", \"b\", \"c\"])\n>>> df = pd.DataFrame(data=ser, index=[\"a\", \"c\"])\n>>> df\n 0\na 1\nc 3\n\n>>> df1 = pd.DataFrame([1, 2, 3], index=[\"a\", \"b\", \"c\"], columns=[\"x\"])\n>>> df2 = pd.DataFrame(data=df1, index=[\"a\", \"c\"])\n>>> df2\n x\na 1\nc 3\n"}, "kind": 22, "label": "T", "sortText": " 0"}, {"detail": "bound method DataFrame.abs() -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return a Series/DataFrame with absolute numeric value of each element.\n\nThis function only applies to elements that are all numeric.\n\nReturns\n-------\nabs\n Series/DataFrame containing the absolute value of each element.\n\nSee Also\n--------\nnumpy.absolute : Calculate the absolute value element-wise.\n\nNotes\n-----\nFor ``complex`` inputs, ``1.2 + 1j``, the absolute value is\n:math:`\\sqrt{ a^2 + b^2 }`.\n\nExamples\n--------\nAbsolute numeric values in a Series.\n\n>>> s = pd.Series([-1.10, 2, -3.33, 4])\n>>> s.abs()\n0 1.10\n1 2.00\n2 3.33\n3 4.00\ndtype: float64\n\nAbsolute numeric values in a Series with complex numbers.\n\n>>> s = pd.Series([1.2 + 1j])\n>>> s.abs()\n0 1.56205\ndtype: float64\n\nAbsolute numeric values in a Series with a Timedelta element.\n\n>>> s = pd.Series([pd.Timedelta('1 days')])\n>>> s.abs()\n0 1 days\ndtype: timedelta64[ns]\n\nSelect rows with data closest to certain value using argsort (from\n`StackOverflow `__).\n\n>>> df = pd.DataFrame({\n... 'a': [4, 5, 6, 7],\n... 'b': [10, 20, 30, 40],\n... 'c': [100, 50, -30, -50]\n... })\n>>> df\n a b c\n0 4 10 100\n1 5 20 50\n2 6 30 -30\n3 7 40 -50\n>>> df.loc[(df.c - 43).abs().argsort()]\n a b c\n1 5 20 50\n0 4 10 100\n2 6 30 -30\n3 7 40 -50\n"}, "kind": 2, "label": "abs", "sortText": " 1"}, {"detail": "bound method DataFrame.add(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "add", "sortText": " 2"}, {"detail": "bound method DataFrame.add_prefix(prefix: str, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Prefix labels with string `prefix`.\n\nFor Series, the row labels are prefixed.\nFor DataFrame, the column labels are prefixed.\n\nParameters\n----------\nprefix : str\n The string to add before each label.\naxis : {0 or 'index', 1 or 'columns', None}, default None\n Axis to add prefix on\n\n .. versionadded:: 2.0.0\n\nReturns\n-------\nSeries or DataFrame\n New Series or DataFrame with updated labels.\n\nSee Also\n--------\nSeries.add_suffix: Suffix row labels with string `suffix`.\nDataFrame.add_suffix: Suffix column labels with string `suffix`.\n\nExamples\n--------\n>>> s = pd.Series([1, 2, 3, 4])\n>>> s\n0 1\n1 2\n2 3\n3 4\ndtype: int64\n\n>>> s.add_prefix('item_')\nitem_0 1\nitem_1 2\nitem_2 3\nitem_3 4\ndtype: int64\n\n>>> df = pd.DataFrame({'A': [1, 2, 3, 4], 'B': [3, 4, 5, 6]})\n>>> df\n A B\n0 1 3\n1 2 4\n2 3 5\n3 4 6\n\n>>> df.add_prefix('col_')\n col_A col_B\n0 1 3\n1 2 4\n2 3 5\n3 4 6\n"}, "kind": 2, "label": "add_prefix", "sortText": " 3"}, {"detail": "bound method DataFrame.add_suffix(suffix: str, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Suffix labels with string `suffix`.\n\nFor Series, the row labels are suffixed.\nFor DataFrame, the column labels are suffixed.\n\nParameters\n----------\nsuffix : str\n The string to add after each label.\naxis : {0 or 'index', 1 or 'columns', None}, default None\n Axis to add suffix on\n\n .. versionadded:: 2.0.0\n\nReturns\n-------\nSeries or DataFrame\n New Series or DataFrame with updated labels.\n\nSee Also\n--------\nSeries.add_prefix: Prefix row labels with string `prefix`.\nDataFrame.add_prefix: Prefix column labels with string `prefix`.\n\nExamples\n--------\n>>> s = pd.Series([1, 2, 3, 4])\n>>> s\n0 1\n1 2\n2 3\n3 4\ndtype: int64\n\n>>> s.add_suffix('_item')\n0_item 1\n1_item 2\n2_item 3\n3_item 4\ndtype: int64\n\n>>> df = pd.DataFrame({'A': [1, 2, 3, 4], 'B': [3, 4, 5, 6]})\n>>> df\n A B\n0 1 3\n1 2 4\n2 3 5\n3 4 6\n\n>>> df.add_suffix('_col')\n A_col B_col\n0 1 3\n1 2 4\n2 3 5\n3 4 6\n"}, "kind": 2, "label": "add_suffix", "sortText": " 4"}, {"detail": "(func=None, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, *args, **kwargs) -> Unknown", "kind": 3, "label": "agg", "sortText": " 5"}, {"detail": "bound method DataFrame.aggregate(func=None, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, *args, **kwargs) -> Unknown", "kind": 2, "label": "aggregate", "sortText": " 6"}, {"detail": "bound method DataFrame.align[NDFrameT](other: NDFrameT, join: Literal[\"outer\", \"inner\", \"left\", \"right\"] = \"outer\", axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, level: Hashable = None, copy: bool | None = None, fill_value: Hashable = None, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None | _NoDefault = ..., limit: int | None | _NoDefault = ..., fill_axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., broadcast_axis: int | Literal[\"index\", \"columns\", \"rows\"] | None | _NoDefault = ...) -> tuple[DataFrame, NDFrameT]", "documentation": {"kind": "plaintext", "value": "Align two objects on their axes with the specified join method.\n\nJoin method is specified for each axis Index.\n\nParameters\n----------\nother : DataFrame or Series\njoin : {{'outer', 'inner', 'left', 'right'}}, default 'outer'\n Type of alignment to be performed.\n\n * left: use only keys from left frame, preserve key order.\n * right: use only keys from right frame, preserve key order.\n * outer: use union of keys from both frames, sort keys lexicographically.\n * inner: use intersection of keys from both frames,\n preserve the order of the left keys.\n\naxis : allowed axis of the other object, default None\n Align on index (0), columns (1), or both (None).\nlevel : int or level name, default None\n Broadcast across a level, matching Index values on the\n passed MultiIndex level.\ncopy : bool, default True\n Always returns new objects. If copy=False and no reindexing is\n required then original objects are returned.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\nfill_value : scalar, default np.nan\n Value to use for missing values. Defaults to NaN, but can be any\n \"compatible\" value.\nmethod : {{'backfill', 'bfill', 'pad', 'ffill', None}}, default None\n Method to use for filling holes in reindexed Series:\n\n - pad / ffill: propagate last valid observation forward to next valid.\n - backfill / bfill: use NEXT valid observation to fill gap.\n\n .. deprecated:: 2.1\n\nlimit : int, default None\n If method is specified, this is the maximum number of consecutive\n NaN values to forward/backward fill. In other words, if there is\n a gap with more than this number of consecutive NaNs, it will only\n be partially filled. If method is not specified, this is the\n maximum number of entries along the entire axis where NaNs will be\n filled. Must be greater than 0 if not None.\n\n .. deprecated:: 2.1\n\nfill_axis : {axes_single_arg}, default 0\n Filling axis, method and limit.\n\n .. deprecated:: 2.1\n\nbroadcast_axis : {axes_single_arg}, default None\n Broadcast values along this axis, if aligning two objects of\n different dimensions.\n\n .. deprecated:: 2.1\n\nReturns\n-------\ntuple of ({klass}, type of other)\n Aligned objects.\n\nExamples\n--------\n>>> df = pd.DataFrame(\n... [[1, 2, 3, 4], [6, 7, 8, 9]], columns=[\"D\", \"B\", \"E\", \"A\"], index=[1, 2]\n... )\n>>> other = pd.DataFrame(\n... [[10, 20, 30, 40], [60, 70, 80, 90], [600, 700, 800, 900]],\n... columns=[\"A\", \"B\", \"C\", \"D\"],\n... index=[2, 3, 4],\n... )\n>>> df\n D B E A\n1 1 2 3 4\n2 6 7 8 9\n>>> other\n A B C D\n2 10 20 30 40\n3 60 70 80 90\n4 600 700 800 900\n\nAlign on columns:\n\n>>> left, right = df.align(other, join=\"outer\", axis=1)\n>>> left\n A B C D E\n1 4 2 NaN 1 3\n2 9 7 NaN 6 8\n>>> right\n A B C D E\n2 10 20 30 40 NaN\n3 60 70 80 90 NaN\n4 600 700 800 900 NaN\n\nWe can also align on the index:\n\n>>> left, right = df.align(other, join=\"outer\", axis=0)\n>>> left\n D B E A\n1 1.0 2.0 3.0 4.0\n2 6.0 7.0 8.0 9.0\n3 NaN NaN NaN NaN\n4 NaN NaN NaN NaN\n>>> right\n A B C D\n1 NaN NaN NaN NaN\n2 10.0 20.0 30.0 40.0\n3 60.0 70.0 80.0 90.0\n4 600.0 700.0 800.0 900.0\n\nFinally, the default `axis=None` will align on both index and columns:\n\n>>> left, right = df.align(other, join=\"outer\", axis=None)\n>>> left\n A B C D E\n1 4.0 2.0 NaN 1.0 3.0\n2 9.0 7.0 NaN 6.0 8.0\n3 NaN NaN NaN NaN NaN\n4 NaN NaN NaN NaN NaN\n>>> right\n A B C D E\n1 NaN NaN NaN NaN NaN\n2 10.0 20.0 30.0 40.0 NaN\n3 60.0 70.0 80.0 90.0 NaN\n4 600.0 700.0 800.0 900.0 NaN\n"}, "kind": 2, "label": "align", "sortText": " 7"}, {"detail": "bound method DataFrame.all(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, bool_only: bool = False, skipna: bool = True, **kwargs) -> Series | bool", "kind": 2, "label": "all", "sortText": " 8"}, {"detail": "bound method DataFrame.any(*, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, bool_only: bool = False, skipna: bool = True, **kwargs) -> Series | bool", "kind": 2, "label": "any", "sortText": " 9"}, {"detail": "bound method DataFrame.apply(func: ((...) -> Unknown) | str | list[((...) -> Unknown) | str] | MutableMapping[Hashable, ((...) -> Unknown) | str | list[((...) -> Unknown) | str]], axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, raw: bool = False, result_type: Literal[\"expand\", \"reduce\", \"broadcast\"] | None = None, args=..., by_row: Literal[False, \"compat\"] = \"compat\", engine: Literal[\"python\", \"numba\"] = \"python\", engine_kwargs: dict[str, bool] | None = None, **kwargs) -> Unknown", "documentation": {"kind": "plaintext", "value": "Apply a function along an axis of the DataFrame.\n\nObjects passed to the function are Series objects whose index is\neither the DataFrame's index (``axis=0``) or the DataFrame's columns\n(``axis=1``). By default (``result_type=None``), the final return type\nis inferred from the return type of the applied function. Otherwise,\nit depends on the `result_type` argument.\n\nParameters\n----------\nfunc : function\n Function to apply to each column or row.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Axis along which the function is applied:\n\n * 0 or 'index': apply function to each column.\n * 1 or 'columns': apply function to each row.\n\nraw : bool, default False\n Determines if row or column is passed as a Series or ndarray object:\n\n * ``False`` : passes each row or column as a Series to the\n function.\n * ``True`` : the passed function will receive ndarray objects\n instead.\n If you are just applying a NumPy reduction function this will\n achieve much better performance.\n\nresult_type : {'expand', 'reduce', 'broadcast', None}, default None\n These only act when ``axis=1`` (columns):\n\n * 'expand' : list-like results will be turned into columns.\n * 'reduce' : returns a Series if possible rather than expanding\n list-like results. This is the opposite of 'expand'.\n * 'broadcast' : results will be broadcast to the original shape\n of the DataFrame, the original index and columns will be\n retained.\n\n The default behaviour (None) depends on the return value of the\n applied function: list-like results will be returned as a Series\n of those. However if the apply function returns a Series these\n are expanded to columns.\nargs : tuple\n Positional arguments to pass to `func` in addition to the\n array/series.\nby_row : False or \"compat\", default \"compat\"\n Only has an effect when ``func`` is a listlike or dictlike of funcs\n and the func isn't a string.\n If \"compat\", will if possible first translate the func into pandas\n methods (e.g. ``Series().apply(np.sum)`` will be translated to\n ``Series().sum()``). If that doesn't work, will try call to apply again with\n ``by_row=True`` and if that fails, will call apply again with\n ``by_row=False`` (backward compatible).\n If False, the funcs will be passed the whole Series at once.\n\n .. versionadded:: 2.1.0\n\nengine : {'python', 'numba'}, default 'python'\n Choose between the python (default) engine or the numba engine in apply.\n\n The numba engine will attempt to JIT compile the passed function,\n which may result in speedups for large DataFrames.\n It also supports the following engine_kwargs :\n\n - nopython (compile the function in nopython mode)\n - nogil (release the GIL inside the JIT compiled function)\n - parallel (try to apply the function in parallel over the DataFrame)\n\n Note: Due to limitations within numba/how pandas interfaces with numba,\n you should only use this if raw=True\n\n Note: The numba compiler only supports a subset of\n valid Python/numpy operations.\n\n Please read more about the `supported python features\n `_\n and `supported numpy features\n `_\n in numba to learn what you can or cannot use in the passed function.\n\n .. versionadded:: 2.2.0\n\nengine_kwargs : dict\n Pass keyword arguments to the engine.\n This is currently only used by the numba engine,\n see the documentation for the engine argument for more information.\n**kwargs\n Additional keyword arguments to pass as keywords arguments to\n `func`.\n\nReturns\n-------\nSeries or DataFrame\n Result of applying ``func`` along the given axis of the\n DataFrame.\n\nSee Also\n--------\nDataFrame.map: For elementwise operations.\nDataFrame.aggregate: Only perform aggregating type operations.\nDataFrame.transform: Only perform transforming type operations.\n\nNotes\n-----\nFunctions that mutate the passed object can produce unexpected\nbehavior or errors and are not supported. See :ref:`gotchas.udf-mutation`\nfor more details.\n\nExamples\n--------\n>>> df = pd.DataFrame([[4, 9]] * 3, columns=['A', 'B'])\n>>> df\n A B\n0 4 9\n1 4 9\n2 4 9\n\nUsing a numpy universal function (in this case the same as\n``np.sqrt(df)``):\n\n>>> df.apply(np.sqrt)\n A B\n0 2.0 3.0\n1 2.0 3.0\n2 2.0 3.0\n\nUsing a reducing function on either axis\n\n>>> df.apply(np.sum, axis=0)\nA 12\nB 27\ndtype: int64\n\n>>> df.apply(np.sum, axis=1)\n0 13\n1 13\n2 13\ndtype: int64\n\nReturning a list-like will result in a Series\n\n>>> df.apply(lambda x: [1, 2], axis=1)\n0 [1, 2]\n1 [1, 2]\n2 [1, 2]\ndtype: object\n\nPassing ``result_type='expand'`` will expand list-like results\nto columns of a Dataframe\n\n>>> df.apply(lambda x: [1, 2], axis=1, result_type='expand')\n 0 1\n0 1 2\n1 1 2\n2 1 2\n\nReturning a Series inside the function is similar to passing\n``result_type='expand'``. The resulting column names\nwill be the Series index.\n\n>>> df.apply(lambda x: pd.Series([1, 2], index=['foo', 'bar']), axis=1)\n foo bar\n0 1 2\n1 1 2\n2 1 2\n\nPassing ``result_type='broadcast'`` will ensure the same shape\nresult, whether list-like or scalar is returned by the function,\nand broadcast it along the axis. The resulting column names will\nbe the originals.\n\n>>> df.apply(lambda x: [1, 2], axis=1, result_type='broadcast')\n A B\n0 1 2\n1 1 2\n2 1 2\n"}, "kind": 2, "label": "apply", "sortText": " 10"}, {"detail": "bound method DataFrame.applymap(func: (Any, /) -> Any, na_action: Literal[\"ignore\"] | None = None, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Apply a function to a Dataframe elementwise.\n\n.. deprecated:: 2.1.0\n\n DataFrame.applymap has been deprecated. Use DataFrame.map instead.\n\nThis method applies a function that accepts and returns a scalar\nto every element of a DataFrame.\n\nParameters\n----------\nfunc : callable\n Python function, returns a single value from a single value.\nna_action : {None, 'ignore'}, default None\n If 'ignore', propagate NaN values, without passing them to func.\n**kwargs\n Additional keyword arguments to pass as keywords arguments to\n `func`.\n\nReturns\n-------\nDataFrame\n Transformed DataFrame.\n\nSee Also\n--------\nDataFrame.apply : Apply a function along input axis of DataFrame.\nDataFrame.map : Apply a function along input axis of DataFrame.\nDataFrame.replace: Replace values given in `to_replace` with `value`.\n\nExamples\n--------\n>>> df = pd.DataFrame([[1, 2.12], [3.356, 4.567]])\n>>> df\n 0 1\n0 1.000 2.120\n1 3.356 4.567\n\n>>> df.map(lambda x: len(str(x)))\n 0 1\n0 3 4\n1 5 5\n"}, "kind": 2, "label": "applymap", "sortText": " 11"}, {"detail": "bound method DataFrame.asfreq(freq: str | BaseOffset, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None = None, how: Literal[\"start\", \"end\"] | None = None, normalize: bool = False, fill_value: Hashable = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Convert time series to specified frequency.\n\nReturns the original data conformed to a new index with the specified\nfrequency.\n\nIf the index of this {klass} is a :class:`~pandas.PeriodIndex`, the new index\nis the result of transforming the original index with\n:meth:`PeriodIndex.asfreq ` (so the original index\nwill map one-to-one to the new index).\n\nOtherwise, the new index will be equivalent to ``pd.date_range(start, end,\nfreq=freq)`` where ``start`` and ``end`` are, respectively, the first and\nlast entries in the original index (see :func:`pandas.date_range`). The\nvalues corresponding to any timesteps in the new index which were not present\nin the original index will be null (``NaN``), unless a method for filling\nsuch unknowns is provided (see the ``method`` parameter below).\n\nThe :meth:`resample` method is more appropriate if an operation on each group of\ntimesteps (such as an aggregate) is necessary to represent the data at the new\nfrequency.\n\nParameters\n----------\nfreq : DateOffset or str\n Frequency DateOffset or string.\nmethod : {{'backfill'/'bfill', 'pad'/'ffill'}}, default None\n Method to use for filling holes in reindexed Series (note this\n does not fill NaNs that already were present):\n\n * 'pad' / 'ffill': propagate last valid observation forward to next\n valid\n * 'backfill' / 'bfill': use NEXT valid observation to fill.\nhow : {{'start', 'end'}}, default end\n For PeriodIndex only (see PeriodIndex.asfreq).\nnormalize : bool, default False\n Whether to reset output index to midnight.\nfill_value : scalar, optional\n Value to use for missing values, applied during upsampling (note\n this does not fill NaNs that already were present).\n\nReturns\n-------\n{klass}\n {klass} object reindexed to the specified frequency.\n\nSee Also\n--------\nreindex : Conform DataFrame to new index with optional filling logic.\n\nNotes\n-----\nTo learn more about the frequency strings, please see `this link\n`__.\n\nExamples\n--------\nStart by creating a series with 4 one minute timestamps.\n\n>>> index = pd.date_range('1/1/2000', periods=4, freq='min')\n>>> series = pd.Series([0.0, None, 2.0, 3.0], index=index)\n>>> df = pd.DataFrame({{'s': series}})\n>>> df\n s\n2000-01-01 00:00:00 0.0\n2000-01-01 00:01:00 NaN\n2000-01-01 00:02:00 2.0\n2000-01-01 00:03:00 3.0\n\nUpsample the series into 30 second bins.\n\n>>> df.asfreq(freq='30s')\n s\n2000-01-01 00:00:00 0.0\n2000-01-01 00:00:30 NaN\n2000-01-01 00:01:00 NaN\n2000-01-01 00:01:30 NaN\n2000-01-01 00:02:00 2.0\n2000-01-01 00:02:30 NaN\n2000-01-01 00:03:00 3.0\n\nUpsample again, providing a ``fill value``.\n\n>>> df.asfreq(freq='30s', fill_value=9.0)\n s\n2000-01-01 00:00:00 0.0\n2000-01-01 00:00:30 9.0\n2000-01-01 00:01:00 NaN\n2000-01-01 00:01:30 9.0\n2000-01-01 00:02:00 2.0\n2000-01-01 00:02:30 9.0\n2000-01-01 00:03:00 3.0\n\nUpsample again, providing a ``method``.\n\n>>> df.asfreq(freq='30s', method='bfill')\n s\n2000-01-01 00:00:00 0.0\n2000-01-01 00:00:30 NaN\n2000-01-01 00:01:00 NaN\n2000-01-01 00:01:30 2.0\n2000-01-01 00:02:00 2.0\n2000-01-01 00:02:30 3.0\n2000-01-01 00:03:00 3.0\n"}, "kind": 2, "label": "asfreq", "sortText": " 12"}, {"detail": "bound method DataFrame.asof(where, subset=None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Return the last row(s) without any NaNs before `where`.\n\nThe last row (for each element in `where`, if list) without any\nNaN is taken.\nIn case of a :class:`~pandas.DataFrame`, the last row without NaN\nconsidering only the subset of columns (if not `None`)\n\nIf there is no good value, NaN is returned for a Series or\na Series of NaN values for a DataFrame\n\nParameters\n----------\nwhere : date or array-like of dates\n Date(s) before which the last row(s) are returned.\nsubset : str or array-like of str, default `None`\n For DataFrame, if not `None`, only use these columns to\n check for NaNs.\n\nReturns\n-------\nscalar, Series, or DataFrame\n\n The return can be:\n\n * scalar : when `self` is a Series and `where` is a scalar\n * Series: when `self` is a Series and `where` is an array-like,\n or when `self` is a DataFrame and `where` is a scalar\n * DataFrame : when `self` is a DataFrame and `where` is an\n array-like\n\nSee Also\n--------\nmerge_asof : Perform an asof merge. Similar to left join.\n\nNotes\n-----\nDates are assumed to be sorted. Raises if this is not the case.\n\nExamples\n--------\nA Series and a scalar `where`.\n\n>>> s = pd.Series([1, 2, np.nan, 4], index=[10, 20, 30, 40])\n>>> s\n10 1.0\n20 2.0\n30 NaN\n40 4.0\ndtype: float64\n\n>>> s.asof(20)\n2.0\n\nFor a sequence `where`, a Series is returned. The first value is\nNaN, because the first element of `where` is before the first\nindex value.\n\n>>> s.asof([5, 20])\n5 NaN\n20 2.0\ndtype: float64\n\nMissing values are not considered. The following is ``2.0``, not\nNaN, even though NaN is at the index location for ``30``.\n\n>>> s.asof(30)\n2.0\n\nTake all columns into consideration\n\n>>> df = pd.DataFrame({'a': [10., 20., 30., 40., 50.],\n... 'b': [None, None, None, None, 500]},\n... index=pd.DatetimeIndex(['2018-02-27 09:01:00',\n... '2018-02-27 09:02:00',\n... '2018-02-27 09:03:00',\n... '2018-02-27 09:04:00',\n... '2018-02-27 09:05:00']))\n>>> df.asof(pd.DatetimeIndex(['2018-02-27 09:03:30',\n... '2018-02-27 09:04:30']))\n a b\n2018-02-27 09:03:30 NaN NaN\n2018-02-27 09:04:30 NaN NaN\n\nTake a single column into consideration\n\n>>> df.asof(pd.DatetimeIndex(['2018-02-27 09:03:30',\n... '2018-02-27 09:04:30']),\n... subset=['a'])\n a b\n2018-02-27 09:03:30 30.0 NaN\n2018-02-27 09:04:30 40.0 NaN\n"}, "kind": 2, "label": "asof", "sortText": " 13"}, {"detail": "bound method DataFrame.assign(**kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Assign new columns to a DataFrame.\n\nReturns a new object with all original columns in addition to new ones.\nExisting columns that are re-assigned will be overwritten.\n\nParameters\n----------\n**kwargs : dict of {str: callable or Series}\n The column names are keywords. If the values are\n callable, they are computed on the DataFrame and\n assigned to the new columns. The callable must not\n change input DataFrame (though pandas doesn't check it).\n If the values are not callable, (e.g. a Series, scalar, or array),\n they are simply assigned.\n\nReturns\n-------\nDataFrame\n A new DataFrame with the new columns in addition to\n all the existing columns.\n\nNotes\n-----\nAssigning multiple columns within the same ``assign`` is possible.\nLater items in '\\*\\*kwargs' may refer to newly created or modified\ncolumns in 'df'; items are computed and assigned into 'df' in order.\n\nExamples\n--------\n>>> df = pd.DataFrame({'temp_c': [17.0, 25.0]},\n... index=['Portland', 'Berkeley'])\n>>> df\n temp_c\nPortland 17.0\nBerkeley 25.0\n\nWhere the value is a callable, evaluated on `df`:\n\n>>> df.assign(temp_f=lambda x: x.temp_c * 9 / 5 + 32)\n temp_c temp_f\nPortland 17.0 62.6\nBerkeley 25.0 77.0\n\nAlternatively, the same behavior can be achieved by directly\nreferencing an existing Series or sequence:\n\n>>> df.assign(temp_f=df['temp_c'] * 9 / 5 + 32)\n temp_c temp_f\nPortland 17.0 62.6\nBerkeley 25.0 77.0\n\nYou can create multiple columns within the same assign where one\nof the columns depends on another one defined within the same assign:\n\n>>> df.assign(temp_f=lambda x: x['temp_c'] * 9 / 5 + 32,\n... temp_k=lambda x: (x['temp_f'] + 459.67) * 5 / 9)\n temp_c temp_f temp_k\nPortland 17.0 62.6 290.15\nBerkeley 25.0 77.0 298.15\n"}, "kind": 2, "label": "assign", "sortText": " 14"}, {"detail": "bound method DataFrame.astype(dtype, copy: bool | None = None, errors: Literal[\"ignore\", \"raise\"] = \"raise\") -> DataFrame", "documentation": {"kind": "plaintext", "value": "Cast a pandas object to a specified dtype ``dtype``.\n\nParameters\n----------\ndtype : str, data type, Series or Mapping of column name -> data type\n Use a str, numpy.dtype, pandas.ExtensionDtype or Python type to\n cast entire pandas object to the same type. Alternatively, use a\n mapping, e.g. {col: dtype, ...}, where col is a column label and dtype is\n a numpy.dtype or Python type to cast one or more of the DataFrame's\n columns to column-specific types.\ncopy : bool, default True\n Return a copy when ``copy=True`` (be very careful setting\n ``copy=False`` as changes to values then may propagate to other\n pandas objects).\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\nerrors : {'raise', 'ignore'}, default 'raise'\n Control raising of exceptions on invalid data for provided dtype.\n\n - ``raise`` : allow exceptions to be raised\n - ``ignore`` : suppress exceptions. On error return original object.\n\nReturns\n-------\nsame type as caller\n\nSee Also\n--------\nto_datetime : Convert argument to datetime.\nto_timedelta : Convert argument to timedelta.\nto_numeric : Convert argument to a numeric type.\nnumpy.ndarray.astype : Cast a numpy array to a specified type.\n\nNotes\n-----\n.. versionchanged:: 2.0.0\n\n Using ``astype`` to convert from timezone-naive dtype to\n timezone-aware dtype will raise an exception.\n Use :meth:`Series.dt.tz_localize` instead.\n\nExamples\n--------\nCreate a DataFrame:\n\n>>> d = {'col1': [1, 2], 'col2': [3, 4]}\n>>> df = pd.DataFrame(data=d)\n>>> df.dtypes\ncol1 int64\ncol2 int64\ndtype: object\n\nCast all columns to int32:\n\n>>> df.astype('int32').dtypes\ncol1 int32\ncol2 int32\ndtype: object\n\nCast col1 to int32 using a dictionary:\n\n>>> df.astype({'col1': 'int32'}).dtypes\ncol1 int32\ncol2 int64\ndtype: object\n\nCreate a series:\n\n>>> ser = pd.Series([1, 2], dtype='int32')\n>>> ser\n0 1\n1 2\ndtype: int32\n>>> ser.astype('int64')\n0 1\n1 2\ndtype: int64\n\nConvert to categorical type:\n\n>>> ser.astype('category')\n0 1\n1 2\ndtype: category\nCategories (2, int32): [1, 2]\n\nConvert to ordered categorical type with custom ordering:\n\n>>> from pandas.api.types import CategoricalDtype\n>>> cat_dtype = CategoricalDtype(\n... categories=[2, 1], ordered=True)\n>>> ser.astype(cat_dtype)\n0 1\n1 2\ndtype: category\nCategories (2, int64): [2 < 1]\n\nCreate a series of dates:\n\n>>> ser_date = pd.Series(pd.date_range('20200101', periods=3))\n>>> ser_date\n0 2020-01-01\n1 2020-01-02\n2 2020-01-03\ndtype: datetime64[ns]\n"}, "kind": 2, "label": "astype", "sortText": " 15"}, {"detail": "_AtIndexer", "kind": 22, "label": "at", "sortText": " 16"}, {"detail": "bound method DataFrame.at_time(time, asof: bool = False, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Select values at particular time of day (e.g., 9:30AM).\n\nParameters\n----------\ntime : datetime.time or str\n The values to select.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n For `Series` this parameter is unused and defaults to 0.\n\nReturns\n-------\nSeries or DataFrame\n\nRaises\n------\nTypeError\n If the index is not a :class:`DatetimeIndex`\n\nSee Also\n--------\nbetween_time : Select values between particular times of the day.\nfirst : Select initial periods of time series based on a date offset.\nlast : Select final periods of time series based on a date offset.\nDatetimeIndex.indexer_at_time : Get just the index locations for\n values at particular time of the day.\n\nExamples\n--------\n>>> i = pd.date_range('2018-04-09', periods=4, freq='12h')\n>>> ts = pd.DataFrame({'A': [1, 2, 3, 4]}, index=i)\n>>> ts\n A\n2018-04-09 00:00:00 1\n2018-04-09 12:00:00 2\n2018-04-10 00:00:00 3\n2018-04-10 12:00:00 4\n\n>>> ts.at_time('12:00')\n A\n2018-04-09 12:00:00 2\n2018-04-10 12:00:00 4\n"}, "kind": 2, "label": "at_time", "sortText": " 17"}, {"detail": "dict[Hashable, Any]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "attrs", "sortText": " 18"}, {"detail": "list[Index]", "documentation": {"kind": "plaintext", "value": "Built-in mutable sequence.\n\nIf no argument is given, the constructor creates a new empty list.\nThe argument must be an iterable if specified.\n"}, "kind": 22, "label": "axes", "sortText": " 19"}, {"detail": "bound method DataFrame.backfill(*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = None, inplace: bool = False, limit: None | int = None, downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame | None", "documentation": {"kind": "plaintext", "value": "Fill NA/NaN values by using the next valid observation to fill the gap.\n\n.. deprecated:: 2.0\n\n {klass}.backfill is deprecated. Use {klass}.bfill instead.\n\nReturns\n-------\n{klass} or None\n Object with missing values filled or None if ``inplace=True``.\n\nExamples\n--------\nPlease see examples for :meth:`DataFrame.bfill` or :meth:`Series.bfill`.\n"}, "kind": 2, "label": "backfill", "sortText": " 20"}, {"detail": "bound method DataFrame.between_time(start_time, end_time, inclusive: Literal[\"left\", \"right\", \"both\", \"neither\"] = \"both\", axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Select values between particular times of the day (e.g., 9:00-9:30 AM).\n\nBy setting ``start_time`` to be later than ``end_time``,\nyou can get the times that are *not* between the two times.\n\nParameters\n----------\nstart_time : datetime.time or str\n Initial time as a time filter limit.\nend_time : datetime.time or str\n End time as a time filter limit.\ninclusive : {\"both\", \"neither\", \"left\", \"right\"}, default \"both\"\n Include boundaries; whether to set each bound as closed or open.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Determine range time on index or columns value.\n For `Series` this parameter is unused and defaults to 0.\n\nReturns\n-------\nSeries or DataFrame\n Data from the original object filtered to the specified dates range.\n\nRaises\n------\nTypeError\n If the index is not a :class:`DatetimeIndex`\n\nSee Also\n--------\nat_time : Select values at a particular time of the day.\nfirst : Select initial periods of time series based on a date offset.\nlast : Select final periods of time series based on a date offset.\nDatetimeIndex.indexer_between_time : Get just the index locations for\n values between particular times of the day.\n\nExamples\n--------\n>>> i = pd.date_range('2018-04-09', periods=4, freq='1D20min')\n>>> ts = pd.DataFrame({'A': [1, 2, 3, 4]}, index=i)\n>>> ts\n A\n2018-04-09 00:00:00 1\n2018-04-10 00:20:00 2\n2018-04-11 00:40:00 3\n2018-04-12 01:00:00 4\n\n>>> ts.between_time('0:15', '0:45')\n A\n2018-04-10 00:20:00 2\n2018-04-11 00:40:00 3\n\nYou get the times that are *not* between two times by setting\n``start_time`` later than ``end_time``:\n\n>>> ts.between_time('0:45', '0:15')\n A\n2018-04-09 00:00:00 1\n2018-04-12 01:00:00 4\n"}, "kind": 2, "label": "between_time", "sortText": " 21"}, {"detail": "Overload[(*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: Literal[False] = ..., limit: None | int = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame, (*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: Literal[True], limit: None | int = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> None, (*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: bool = ..., limit: None | int = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Fill NA/NaN values by using the next valid observation to fill the gap.\n\nParameters\n----------\naxis : {axes_single_arg}\n Axis along which to fill missing values. For `Series`\n this parameter is unused and defaults to 0.\ninplace : bool, default False\n If True, fill in-place. Note: this will modify any\n other views on this object (e.g., a no-copy slice for a column in a\n DataFrame).\nlimit : int, default None\n If method is specified, this is the maximum number of consecutive\n NaN values to forward/backward fill. In other words, if there is\n a gap with more than this number of consecutive NaNs, it will only\n be partially filled. If method is not specified, this is the\n maximum number of entries along the entire axis where NaNs will be\n filled. Must be greater than 0 if not None.\nlimit_area : {{`None`, 'inside', 'outside'}}, default None\n If limit is specified, consecutive NaNs will be filled with this\n restriction.\n\n * ``None``: No fill restriction.\n * 'inside': Only fill NaNs surrounded by valid values\n (interpolate).\n * 'outside': Only fill NaNs outside valid values (extrapolate).\n\n .. versionadded:: 2.2.0\n\ndowncast : dict, default is None\n A dict of item->dtype of what to downcast if possible,\n or the string 'infer' which will try to downcast to an appropriate\n equal type (e.g. float64 to int64 if possible).\n\n .. deprecated:: 2.2.0\n\nReturns\n-------\n{klass} or None\n Object with missing values filled or None if ``inplace=True``.\n\nExamples\n--------\nFor Series:\n\n>>> s = pd.Series([1, None, None, 2])\n>>> s.bfill()\n0 1.0\n1 2.0\n2 2.0\n3 2.0\ndtype: float64\n>>> s.bfill(limit=1)\n0 1.0\n1 NaN\n2 2.0\n3 2.0\ndtype: float64\n\nWith DataFrame:\n\n>>> df = pd.DataFrame({{'A': [1, None, None, 4], 'B': [None, 5, None, 7]}})\n>>> df\n A B\n0 1.0 NaN\n1 NaN 5.0\n2 NaN NaN\n3 4.0 7.0\n>>> df.bfill()\n A B\n0 1.0 5.0\n1 4.0 5.0\n2 4.0 7.0\n3 4.0 7.0\n>>> df.bfill(limit=1)\n A B\n0 1.0 5.0\n1 NaN 5.0\n2 4.0 7.0\n3 4.0 7.0\n"}, "kind": 2, "label": "bfill", "sortText": " 22"}, {"detail": "bound method DataFrame.bool() -> bool", "documentation": {"kind": "plaintext", "value": "Return the bool of a single element Series or DataFrame.\n\n.. deprecated:: 2.1.0\n\n bool is deprecated and will be removed in future version of pandas.\n For ``Series`` use ``pandas.Series.item``.\n\nThis must be a boolean scalar value, either True or False. It will raise a\nValueError if the Series or DataFrame does not have exactly 1 element, or that\nelement is not boolean (integer values 0 and 1 will also raise an exception).\n\nReturns\n-------\nbool\n The value in the Series or DataFrame.\n\nSee Also\n--------\nSeries.astype : Change the data type of a Series, including to boolean.\nDataFrame.astype : Change the data type of a DataFrame, including to boolean.\nnumpy.bool_ : NumPy boolean data type, used by pandas for boolean values.\n\nExamples\n--------\nThe method will only work for single element objects with a boolean value:\n\n>>> pd.Series([True]).bool() # doctest: +SKIP\nTrue\n>>> pd.Series([False]).bool() # doctest: +SKIP\nFalse\n\n>>> pd.DataFrame({'col': [True]}).bool() # doctest: +SKIP\nTrue\n>>> pd.DataFrame({'col': [False]}).bool() # doctest: +SKIP\nFalse\n\nThis is an alternative method and will only work\nfor single element objects with a boolean value:\n\n>>> pd.Series([True]).item() # doctest: +SKIP\nTrue\n>>> pd.Series([False]).item() # doctest: +SKIP\nFalse\n"}, "kind": 2, "label": "bool", "sortText": " 23"}, {"detail": "(column=None, by=None, ax=None, fontsize: int | None = None, rot: int = 0, grid: bool = True, figsize: tuple[float, float] | None = None, layout=None, return_type=None, backend=None, **kwargs) -> Unknown", "kind": 3, "label": "boxplot", "sortText": " 24"}, {"detail": "Overload[(lower=..., upper=..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: Literal[False] = ..., **kwargs) -> DataFrame, (lower=..., upper=..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: Literal[True], **kwargs) -> None, (lower=..., upper=..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: bool = ..., **kwargs) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Trim values at input threshold(s).\n\nAssigns values outside boundary to boundary values. Thresholds\ncan be singular values or array like, and in the latter case\nthe clipping is performed element-wise in the specified axis.\n\nParameters\n----------\nlower : float or array-like, default None\n Minimum threshold value. All values below this\n threshold will be set to it. A missing\n threshold (e.g `NA`) will not clip the value.\nupper : float or array-like, default None\n Maximum threshold value. All values above this\n threshold will be set to it. A missing\n threshold (e.g `NA`) will not clip the value.\naxis : {{0 or 'index', 1 or 'columns', None}}, default None\n Align object with lower and upper along the given axis.\n For `Series` this parameter is unused and defaults to `None`.\ninplace : bool, default False\n Whether to perform the operation in place on the data.\n*args, **kwargs\n Additional keywords have no effect but might be accepted\n for compatibility with numpy.\n\nReturns\n-------\nSeries or DataFrame or None\n Same type as calling object with the values outside the\n clip boundaries replaced or None if ``inplace=True``.\n\nSee Also\n--------\nSeries.clip : Trim values at input threshold in series.\nDataFrame.clip : Trim values at input threshold in dataframe.\nnumpy.clip : Clip (limit) the values in an array.\n\nExamples\n--------\n>>> data = {'col_0': [9, -3, 0, -1, 5], 'col_1': [-2, -7, 6, 8, -5]}\n>>> df = pd.DataFrame(data)\n>>> df\n col_0 col_1\n0 9 -2\n1 -3 -7\n2 0 6\n3 -1 8\n4 5 -5\n\nClips per column using lower and upper thresholds:\n\n>>> df.clip(-4, 6)\n col_0 col_1\n0 6 -2\n1 -3 -4\n2 0 6\n3 -1 6\n4 5 -4\n\nClips using specific lower and upper thresholds per column:\n\n>>> df.clip([-2, -1], [4, 5])\n col_0 col_1\n0 4 -1\n1 -2 -1\n2 0 5\n3 -1 5\n4 4 -1\n\nClips using specific lower and upper thresholds per column element:\n\n>>> t = pd.Series([2, -4, -1, 6, 3])\n>>> t\n0 2\n1 -4\n2 -1\n3 6\n4 3\ndtype: int64\n\n>>> df.clip(t, t + 4, axis=0)\n col_0 col_1\n0 6 2\n1 -3 -4\n2 0 3\n3 6 8\n4 5 3\n\nClips using specific lower threshold per column element, with missing values:\n\n>>> t = pd.Series([2, -4, np.nan, 6, 3])\n>>> t\n0 2.0\n1 -4.0\n2 NaN\n3 6.0\n4 3.0\ndtype: float64\n\n>>> df.clip(t, axis=0)\ncol_0 col_1\n0 9 2\n1 -3 -4\n2 0 6\n3 6 8\n4 5 3\n"}, "kind": 2, "label": "clip", "sortText": " 25"}, {"detail": "Index", "documentation": {"kind": "plaintext", "value": "Immutable sequence used for indexing and alignment.\n\nThe basic object storing axis labels for all pandas objects.\n\n.. versionchanged:: 2.0.0\n\n Index can hold all numpy numeric dtypes (except float16). Previously only\n int64/uint64/float64 dtypes were accepted.\n\nParameters\n----------\ndata : array-like (1-dimensional)\ndtype : str, numpy.dtype, or ExtensionDtype, optional\n Data type for the output Index. If not specified, this will be\n inferred from `data`.\n See the :ref:`user guide ` for more usages.\ncopy : bool, default False\n Copy input data.\nname : object\n Name to be stored in the index.\ntupleize_cols : bool (default: True)\n When True, attempt to create a MultiIndex if possible.\n\nSee Also\n--------\nRangeIndex : Index implementing a monotonic integer range.\nCategoricalIndex : Index of :class:`Categorical` s.\nMultiIndex : A multi-level, or hierarchical Index.\nIntervalIndex : An Index of :class:`Interval` s.\nDatetimeIndex : Index of datetime64 data.\nTimedeltaIndex : Index of timedelta64 data.\nPeriodIndex : Index of Period data.\n\nNotes\n-----\nAn Index instance can **only** contain hashable objects.\nAn Index instance *can not* hold numpy float16 dtype.\n\nExamples\n--------\n>>> pd.Index([1, 2, 3])\nIndex([1, 2, 3], dtype='int64')\n\n>>> pd.Index(list('abc'))\nIndex(['a', 'b', 'c'], dtype='object')\n\n>>> pd.Index([1, 2, 3], dtype=\"uint8\")\nIndex([1, 2, 3], dtype='uint8')\n"}, "kind": 22, "label": "columns", "sortText": " 26"}, {"detail": "bound method DataFrame.combine(other: DataFrame, func: (Series, Series, /) -> Series | Hashable, fill_value=None, overwrite: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Perform column-wise combine with another DataFrame.\n\nCombines a DataFrame with `other` DataFrame using `func`\nto element-wise combine columns. The row and column indexes of the\nresulting DataFrame will be the union of the two.\n\nParameters\n----------\nother : DataFrame\n The DataFrame to merge column-wise.\nfunc : function\n Function that takes two series as inputs and return a Series or a\n scalar. Used to merge the two dataframes column by columns.\nfill_value : scalar value, default None\n The value to fill NaNs with prior to passing any column to the\n merge func.\noverwrite : bool, default True\n If True, columns in `self` that do not exist in `other` will be\n overwritten with NaNs.\n\nReturns\n-------\nDataFrame\n Combination of the provided DataFrames.\n\nSee Also\n--------\nDataFrame.combine_first : Combine two DataFrame objects and default to\n non-null values in frame calling the method.\n\nExamples\n--------\nCombine using a simple function that chooses the smaller column.\n\n>>> df1 = pd.DataFrame({'A': [0, 0], 'B': [4, 4]})\n>>> df2 = pd.DataFrame({'A': [1, 1], 'B': [3, 3]})\n>>> take_smaller = lambda s1, s2: s1 if s1.sum() < s2.sum() else s2\n>>> df1.combine(df2, take_smaller)\n A B\n0 0 3\n1 0 3\n\nExample using a true element-wise combine function.\n\n>>> df1 = pd.DataFrame({'A': [5, 0], 'B': [2, 4]})\n>>> df2 = pd.DataFrame({'A': [1, 1], 'B': [3, 3]})\n>>> df1.combine(df2, np.minimum)\n A B\n0 1 2\n1 0 3\n\nUsing `fill_value` fills Nones prior to passing the column to the\nmerge function.\n\n>>> df1 = pd.DataFrame({'A': [0, 0], 'B': [None, 4]})\n>>> df2 = pd.DataFrame({'A': [1, 1], 'B': [3, 3]})\n>>> df1.combine(df2, take_smaller, fill_value=-5)\n A B\n0 0 -5.0\n1 0 4.0\n\nHowever, if the same element in both dataframes is None, that None\nis preserved\n\n>>> df1 = pd.DataFrame({'A': [0, 0], 'B': [None, 4]})\n>>> df2 = pd.DataFrame({'A': [1, 1], 'B': [None, 3]})\n>>> df1.combine(df2, take_smaller, fill_value=-5)\n A B\n0 0 -5.0\n1 0 3.0\n\nExample that demonstrates the use of `overwrite` and behavior when\nthe axis differ between the dataframes.\n\n>>> df1 = pd.DataFrame({'A': [0, 0], 'B': [4, 4]})\n>>> df2 = pd.DataFrame({'B': [3, 3], 'C': [-10, 1], }, index=[1, 2])\n>>> df1.combine(df2, take_smaller)\n A B C\n0 NaN NaN NaN\n1 NaN 3.0 -10.0\n2 NaN 3.0 1.0\n\n>>> df1.combine(df2, take_smaller, overwrite=False)\n A B C\n0 0.0 NaN NaN\n1 0.0 3.0 -10.0\n2 NaN 3.0 1.0\n\nDemonstrating the preference of the passed in dataframe.\n\n>>> df2 = pd.DataFrame({'B': [3, 3], 'C': [1, 1], }, index=[1, 2])\n>>> df2.combine(df1, take_smaller)\n A B C\n0 0.0 NaN NaN\n1 0.0 3.0 NaN\n2 NaN 3.0 NaN\n\n>>> df2.combine(df1, take_smaller, overwrite=False)\n A B C\n0 0.0 NaN NaN\n1 0.0 3.0 1.0\n2 NaN 3.0 1.0\n"}, "kind": 2, "label": "combine", "sortText": " 27"}, {"detail": "bound method DataFrame.combine_first(other: DataFrame) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Update null elements with value in the same location in `other`.\n\nCombine two DataFrame objects by filling null values in one DataFrame\nwith non-null values from other DataFrame. The row and column indexes\nof the resulting DataFrame will be the union of the two. The resulting\ndataframe contains the 'first' dataframe values and overrides the\nsecond one values where both first.loc[index, col] and\nsecond.loc[index, col] are not missing values, upon calling\nfirst.combine_first(second).\n\nParameters\n----------\nother : DataFrame\n Provided DataFrame to use to fill null values.\n\nReturns\n-------\nDataFrame\n The result of combining the provided DataFrame with the other object.\n\nSee Also\n--------\nDataFrame.combine : Perform series-wise operation on two DataFrames\n using a given function.\n\nExamples\n--------\n>>> df1 = pd.DataFrame({'A': [None, 0], 'B': [None, 4]})\n>>> df2 = pd.DataFrame({'A': [1, 1], 'B': [3, 3]})\n>>> df1.combine_first(df2)\n A B\n0 1.0 3.0\n1 0.0 4.0\n\nNull values still persist if the location of that null value\ndoes not exist in `other`\n\n>>> df1 = pd.DataFrame({'A': [None, 0], 'B': [4, None]})\n>>> df2 = pd.DataFrame({'B': [3, 3], 'C': [1, 1]}, index=[1, 2])\n>>> df1.combine_first(df2)\n A B C\n0 NaN 4.0 NaN\n1 0.0 3.0 1.0\n2 NaN 3.0 1.0\n"}, "kind": 2, "label": "combine_first", "sortText": " 28"}, {"detail": "bound method DataFrame.compare(other: DataFrame, align_axis: int | Literal[\"index\", \"columns\", \"rows\"] = 1, keep_shape: bool = False, keep_equal: bool = False, result_names: tuple[str | None, str | None] = ...) -> DataFrame", "kind": 2, "label": "compare", "sortText": " 29"}, {"detail": "bound method DataFrame.convert_dtypes(infer_objects: bool = True, convert_string: bool = True, convert_integer: bool = True, convert_boolean: bool = True, convert_floating: bool = True, dtype_backend: Literal[\"pyarrow\", \"numpy_nullable\"] = \"numpy_nullable\") -> DataFrame", "documentation": {"kind": "plaintext", "value": "Convert columns to the best possible dtypes using dtypes supporting ``pd.NA``.\n\nParameters\n----------\ninfer_objects : bool, default True\n Whether object dtypes should be converted to the best possible types.\nconvert_string : bool, default True\n Whether object dtypes should be converted to ``StringDtype()``.\nconvert_integer : bool, default True\n Whether, if possible, conversion can be done to integer extension types.\nconvert_boolean : bool, defaults True\n Whether object dtypes should be converted to ``BooleanDtypes()``.\nconvert_floating : bool, defaults True\n Whether, if possible, conversion can be done to floating extension types.\n If `convert_integer` is also True, preference will be give to integer\n dtypes if the floats can be faithfully casted to integers.\ndtype_backend : {'numpy_nullable', 'pyarrow'}, default 'numpy_nullable'\n Back-end data type applied to the resultant :class:`DataFrame`\n (still experimental). Behaviour is as follows:\n\n * ``\"numpy_nullable\"``: returns nullable-dtype-backed :class:`DataFrame`\n (default).\n * ``\"pyarrow\"``: returns pyarrow-backed nullable :class:`ArrowDtype`\n DataFrame.\n\n .. versionadded:: 2.0\n\nReturns\n-------\nSeries or DataFrame\n Copy of input object with new dtype.\n\nSee Also\n--------\ninfer_objects : Infer dtypes of objects.\nto_datetime : Convert argument to datetime.\nto_timedelta : Convert argument to timedelta.\nto_numeric : Convert argument to a numeric type.\n\nNotes\n-----\nBy default, ``convert_dtypes`` will attempt to convert a Series (or each\nSeries in a DataFrame) to dtypes that support ``pd.NA``. By using the options\n``convert_string``, ``convert_integer``, ``convert_boolean`` and\n``convert_floating``, it is possible to turn off individual conversions\nto ``StringDtype``, the integer extension types, ``BooleanDtype``\nor floating extension types, respectively.\n\nFor object-dtyped columns, if ``infer_objects`` is ``True``, use the inference\nrules as during normal Series/DataFrame construction. Then, if possible,\nconvert to ``StringDtype``, ``BooleanDtype`` or an appropriate integer\nor floating extension type, otherwise leave as ``object``.\n\nIf the dtype is integer, convert to an appropriate integer extension type.\n\nIf the dtype is numeric, and consists of all integers, convert to an\nappropriate integer extension type. Otherwise, convert to an\nappropriate floating extension type.\n\nIn the future, as new dtypes are added that support ``pd.NA``, the results\nof this method will change to support those new dtypes.\n\nExamples\n--------\n>>> df = pd.DataFrame(\n... {\n... \"a\": pd.Series([1, 2, 3], dtype=np.dtype(\"int32\")),\n... \"b\": pd.Series([\"x\", \"y\", \"z\"], dtype=np.dtype(\"O\")),\n... \"c\": pd.Series([True, False, np.nan], dtype=np.dtype(\"O\")),\n... \"d\": pd.Series([\"h\", \"i\", np.nan], dtype=np.dtype(\"O\")),\n... \"e\": pd.Series([10, np.nan, 20], dtype=np.dtype(\"float\")),\n... \"f\": pd.Series([np.nan, 100.5, 200], dtype=np.dtype(\"float\")),\n... }\n... )\n\nStart with a DataFrame with default dtypes.\n\n>>> df\n a b c d e f\n0 1 x True h 10.0 NaN\n1 2 y False i NaN 100.5\n2 3 z NaN NaN 20.0 200.0\n\n>>> df.dtypes\na int32\nb object\nc object\nd object\ne float64\nf float64\ndtype: object\n\nConvert the DataFrame to use best possible dtypes.\n\n>>> dfn = df.convert_dtypes()\n>>> dfn\n a b c d e f\n0 1 x True h 10 \n1 2 y False i 100.5\n2 3 z 20 200.0\n\n>>> dfn.dtypes\na Int32\nb string[python]\nc boolean\nd string[python]\ne Int64\nf Float64\ndtype: object\n\nStart with a Series of strings and missing data represented by ``np.nan``.\n\n>>> s = pd.Series([\"a\", \"b\", np.nan])\n>>> s\n0 a\n1 b\n2 NaN\ndtype: object\n\nObtain a Series with dtype ``StringDtype``.\n\n>>> s.convert_dtypes()\n0 a\n1 b\n2 \ndtype: string\n"}, "kind": 2, "label": "convert_dtypes", "sortText": " 30"}, {"detail": "bound method DataFrame.copy(deep: bool | None = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Make a copy of this object's indices and data.\n\nWhen ``deep=True`` (default), a new object will be created with a\ncopy of the calling object's data and indices. Modifications to\nthe data or indices of the copy will not be reflected in the\noriginal object (see notes below).\n\nWhen ``deep=False``, a new object will be created without copying\nthe calling object's data or index (only references to the data\nand index are copied). Any changes to the data of the original\nwill be reflected in the shallow copy (and vice versa).\n\n.. note::\n The ``deep=False`` behaviour as described above will change\n in pandas 3.0. `Copy-on-Write\n `__\n will be enabled by default, which means that the \"shallow\" copy\n is that is returned with ``deep=False`` will still avoid making\n an eager copy, but changes to the data of the original will *no*\n longer be reflected in the shallow copy (or vice versa). Instead,\n it makes use of a lazy (deferred) copy mechanism that will copy\n the data only when any changes to the original or shallow copy is\n made.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nParameters\n----------\ndeep : bool, default True\n Make a deep copy, including a copy of the data and the indices.\n With ``deep=False`` neither the indices nor the data are copied.\n\nReturns\n-------\nSeries or DataFrame\n Object type matches caller.\n\nNotes\n-----\nWhen ``deep=True``, data is copied but actual Python objects\nwill not be copied recursively, only the reference to the object.\nThis is in contrast to `copy.deepcopy` in the Standard Library,\nwhich recursively copies object data (see examples below).\n\nWhile ``Index`` objects are copied when ``deep=True``, the underlying\nnumpy array is not copied for performance reasons. Since ``Index`` is\nimmutable, the underlying data can be safely shared and a copy\nis not needed.\n\nSince pandas is not thread safe, see the\n:ref:`gotchas ` when copying in a threading\nenvironment.\n\nWhen ``copy_on_write`` in pandas config is set to ``True``, the\n``copy_on_write`` config takes effect even when ``deep=False``.\nThis means that any changes to the copied data would make a new copy\nof the data upon write (and vice versa). Changes made to either the\noriginal or copied variable would not be reflected in the counterpart.\nSee :ref:`Copy_on_Write ` for more information.\n\nExamples\n--------\n>>> s = pd.Series([1, 2], index=[\"a\", \"b\"])\n>>> s\na 1\nb 2\ndtype: int64\n\n>>> s_copy = s.copy()\n>>> s_copy\na 1\nb 2\ndtype: int64\n\n**Shallow copy versus default (deep) copy:**\n\n>>> s = pd.Series([1, 2], index=[\"a\", \"b\"])\n>>> deep = s.copy()\n>>> shallow = s.copy(deep=False)\n\nShallow copy shares data and index with original.\n\n>>> s is shallow\nFalse\n>>> s.values is shallow.values and s.index is shallow.index\nTrue\n\nDeep copy has own copy of data and index.\n\n>>> s is deep\nFalse\n>>> s.values is deep.values or s.index is deep.index\nFalse\n\nUpdates to the data shared by shallow copy and original is reflected\nin both (NOTE: this will no longer be true for pandas >= 3.0);\ndeep copy remains unchanged.\n\n>>> s.iloc[0] = 3\n>>> shallow.iloc[1] = 4\n>>> s\na 3\nb 4\ndtype: int64\n>>> shallow\na 3\nb 4\ndtype: int64\n>>> deep\na 1\nb 2\ndtype: int64\n\nNote that when copying an object containing Python objects, a deep copy\nwill copy the data, but will not do so recursively. Updating a nested\ndata object will be reflected in the deep copy.\n\n>>> s = pd.Series([[1, 2], [3, 4]])\n>>> deep = s.copy()\n>>> s[0][0] = 10\n>>> s\n0 [10, 2]\n1 [3, 4]\ndtype: object\n>>> deep\n0 [10, 2]\n1 [3, 4]\ndtype: object\n\n**Copy-on-Write is set to true**, the shallow copy is not modified\nwhen the original data is changed:\n\n>>> with pd.option_context(\"mode.copy_on_write\", True):\n... s = pd.Series([1, 2], index=[\"a\", \"b\"])\n... copy = s.copy(deep=False)\n... s.iloc[0] = 100\n... s\na 100\nb 2\ndtype: int64\n>>> copy\na 1\nb 2\ndtype: int64\n"}, "kind": 2, "label": "copy", "sortText": " 31"}, {"detail": "bound method DataFrame.corr(method: Literal[\"pearson\", \"kendall\", \"spearman\"] | ((ndarray[_AnyShape, dtype[Any]], ndarray[_AnyShape, dtype[Any]], /) -> float) = \"pearson\", min_periods: int = 1, numeric_only: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Compute pairwise correlation of columns, excluding NA/null values.\n\nParameters\n----------\nmethod : {'pearson', 'kendall', 'spearman'} or callable\n Method of correlation:\n\n * pearson : standard correlation coefficient\n * kendall : Kendall Tau correlation coefficient\n * spearman : Spearman rank correlation\n * callable: callable with input two 1d ndarrays\n and returning a float. Note that the returned matrix from corr\n will have 1 along the diagonals and will be symmetric\n regardless of the callable's behavior.\nmin_periods : int, optional\n Minimum number of observations required per pair of columns\n to have a valid result. Currently only available for Pearson\n and Spearman correlation.\nnumeric_only : bool, default False\n Include only `float`, `int` or `boolean` data.\n\n .. versionadded:: 1.5.0\n\n .. versionchanged:: 2.0.0\n The default value of ``numeric_only`` is now ``False``.\n\nReturns\n-------\nDataFrame\n Correlation matrix.\n\nSee Also\n--------\nDataFrame.corrwith : Compute pairwise correlation with another\n DataFrame or Series.\nSeries.corr : Compute the correlation between two Series.\n\nNotes\n-----\nPearson, Kendall and Spearman correlation are currently computed using pairwise complete observations.\n\n* `Pearson correlation coefficient `_\n* `Kendall rank correlation coefficient `_\n* `Spearman's rank correlation coefficient `_\n\nExamples\n--------\n>>> def histogram_intersection(a, b):\n... v = np.minimum(a, b).sum().round(decimals=1)\n... return v\n>>> df = pd.DataFrame([(.2, .3), (.0, .6), (.6, .0), (.2, .1)],\n... columns=['dogs', 'cats'])\n>>> df.corr(method=histogram_intersection)\n dogs cats\ndogs 1.0 0.3\ncats 0.3 1.0\n\n>>> df = pd.DataFrame([(1, 1), (2, np.nan), (np.nan, 3), (4, 4)],\n... columns=['dogs', 'cats'])\n>>> df.corr(min_periods=3)\n dogs cats\ndogs 1.0 NaN\ncats NaN 1.0\n"}, "kind": 2, "label": "corr", "sortText": " 32"}, {"detail": "bound method DataFrame.corrwith(other: DataFrame | Series, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, drop: bool = False, method: Literal[\"pearson\", \"kendall\", \"spearman\"] | ((ndarray[_AnyShape, dtype[Any]], ndarray[_AnyShape, dtype[Any]], /) -> float) = \"pearson\", numeric_only: bool = False) -> Series", "documentation": {"kind": "plaintext", "value": "Compute pairwise correlation.\n\nPairwise correlation is computed between rows or columns of\nDataFrame with rows or columns of Series or DataFrame. DataFrames\nare first aligned along both axes before computing the\ncorrelations.\n\nParameters\n----------\nother : DataFrame, Series\n Object with which to compute correlations.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to use. 0 or 'index' to compute row-wise, 1 or 'columns' for\n column-wise.\ndrop : bool, default False\n Drop missing indices from result.\nmethod : {'pearson', 'kendall', 'spearman'} or callable\n Method of correlation:\n\n * pearson : standard correlation coefficient\n * kendall : Kendall Tau correlation coefficient\n * spearman : Spearman rank correlation\n * callable: callable with input two 1d ndarrays\n and returning a float.\n\nnumeric_only : bool, default False\n Include only `float`, `int` or `boolean` data.\n\n .. versionadded:: 1.5.0\n\n .. versionchanged:: 2.0.0\n The default value of ``numeric_only`` is now ``False``.\n\nReturns\n-------\nSeries\n Pairwise correlations.\n\nSee Also\n--------\nDataFrame.corr : Compute pairwise correlation of columns.\n\nExamples\n--------\n>>> index = [\"a\", \"b\", \"c\", \"d\", \"e\"]\n>>> columns = [\"one\", \"two\", \"three\", \"four\"]\n>>> df1 = pd.DataFrame(np.arange(20).reshape(5, 4), index=index, columns=columns)\n>>> df2 = pd.DataFrame(np.arange(16).reshape(4, 4), index=index[:4], columns=columns)\n>>> df1.corrwith(df2)\none 1.0\ntwo 1.0\nthree 1.0\nfour 1.0\ndtype: float64\n\n>>> df2.corrwith(df1, axis=1)\na 1.0\nb 1.0\nc 1.0\nd 1.0\ne NaN\ndtype: float64\n"}, "kind": 2, "label": "corrwith", "sortText": " 33"}, {"detail": "bound method DataFrame.count(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, numeric_only: bool = False) -> Unknown", "documentation": {"kind": "plaintext", "value": "Count non-NA cells for each column or row.\n\nThe values `None`, `NaN`, `NaT`, ``pandas.NA`` are considered NA.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n If 0 or 'index' counts are generated for each column.\n If 1 or 'columns' counts are generated for each row.\nnumeric_only : bool, default False\n Include only `float`, `int` or `boolean` data.\n\nReturns\n-------\nSeries\n For each column/row the number of non-NA/null entries.\n\nSee Also\n--------\nSeries.count: Number of non-NA elements in a Series.\nDataFrame.value_counts: Count unique combinations of columns.\nDataFrame.shape: Number of DataFrame rows and columns (including NA\n elements).\nDataFrame.isna: Boolean same-sized DataFrame showing places of NA\n elements.\n\nExamples\n--------\nConstructing DataFrame from a dictionary:\n\n>>> df = pd.DataFrame({\"Person\":\n... [\"John\", \"Myla\", \"Lewis\", \"John\", \"Myla\"],\n... \"Age\": [24., np.nan, 21., 33, 26],\n... \"Single\": [False, True, True, True, False]})\n>>> df\n Person Age Single\n0 John 24.0 False\n1 Myla NaN True\n2 Lewis 21.0 True\n3 John 33.0 True\n4 Myla 26.0 False\n\nNotice the uncounted NA values:\n\n>>> df.count()\nPerson 5\nAge 4\nSingle 5\ndtype: int64\n\nCounts for each **row**:\n\n>>> df.count(axis='columns')\n0 3\n1 2\n2 3\n3 3\n4 3\ndtype: int64\n"}, "kind": 2, "label": "count", "sortText": " 34"}, {"detail": "bound method DataFrame.cov(min_periods: int | None = None, ddof: int | None = 1, numeric_only: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Compute pairwise covariance of columns, excluding NA/null values.\n\nCompute the pairwise covariance among the series of a DataFrame.\nThe returned data frame is the `covariance matrix\n`__ of the columns\nof the DataFrame.\n\nBoth NA and null values are automatically excluded from the\ncalculation. (See the note below about bias from missing values.)\nA threshold can be set for the minimum number of\nobservations for each value created. Comparisons with observations\nbelow this threshold will be returned as ``NaN``.\n\nThis method is generally used for the analysis of time series data to\nunderstand the relationship between different measures\nacross time.\n\nParameters\n----------\nmin_periods : int, optional\n Minimum number of observations required per pair of columns\n to have a valid result.\n\nddof : int, default 1\n Delta degrees of freedom. The divisor used in calculations\n is ``N - ddof``, where ``N`` represents the number of elements.\n This argument is applicable only when no ``nan`` is in the dataframe.\n\nnumeric_only : bool, default False\n Include only `float`, `int` or `boolean` data.\n\n .. versionadded:: 1.5.0\n\n .. versionchanged:: 2.0.0\n The default value of ``numeric_only`` is now ``False``.\n\nReturns\n-------\nDataFrame\n The covariance matrix of the series of the DataFrame.\n\nSee Also\n--------\nSeries.cov : Compute covariance with another Series.\ncore.window.ewm.ExponentialMovingWindow.cov : Exponential weighted sample\n covariance.\ncore.window.expanding.Expanding.cov : Expanding sample covariance.\ncore.window.rolling.Rolling.cov : Rolling sample covariance.\n\nNotes\n-----\nReturns the covariance matrix of the DataFrame's time series.\nThe covariance is normalized by N-ddof.\n\nFor DataFrames that have Series that are missing data (assuming that\ndata is `missing at random\n`__)\nthe returned covariance matrix will be an unbiased estimate\nof the variance and covariance between the member Series.\n\nHowever, for many applications this estimate may not be acceptable\nbecause the estimate covariance matrix is not guaranteed to be positive\nsemi-definite. This could lead to estimate correlations having\nabsolute values which are greater than one, and/or a non-invertible\ncovariance matrix. See `Estimation of covariance matrices\n`__ for more details.\n\nExamples\n--------\n>>> df = pd.DataFrame([(1, 2), (0, 3), (2, 0), (1, 1)],\n... columns=['dogs', 'cats'])\n>>> df.cov()\n dogs cats\ndogs 0.666667 -1.000000\ncats -1.000000 1.666667\n\n>>> np.random.seed(42)\n>>> df = pd.DataFrame(np.random.randn(1000, 5),\n... columns=['a', 'b', 'c', 'd', 'e'])\n>>> df.cov()\n a b c d e\na 0.998438 -0.020161 0.059277 -0.008943 0.014144\nb -0.020161 1.059352 -0.008543 -0.024738 0.009826\nc 0.059277 -0.008543 1.010670 -0.001486 -0.000271\nd -0.008943 -0.024738 -0.001486 0.921297 -0.013692\ne 0.014144 0.009826 -0.000271 -0.013692 0.977795\n\n**Minimum number of periods**\n\nThis method also supports an optional ``min_periods`` keyword\nthat specifies the required minimum number of non-NA observations for\neach column pair in order to have a valid result:\n\n>>> np.random.seed(42)\n>>> df = pd.DataFrame(np.random.randn(20, 3),\n... columns=['a', 'b', 'c'])\n>>> df.loc[df.index[:5], 'a'] = np.nan\n>>> df.loc[df.index[5:10], 'b'] = np.nan\n>>> df.cov(min_periods=12)\n a b c\na 0.316741 NaN -0.150812\nb NaN 1.248003 0.191417\nc -0.150812 0.191417 0.895202\n"}, "kind": 2, "label": "cov", "sortText": " 35"}, {"detail": "bound method DataFrame.cummax(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, skipna: bool = True, *args, **kwargs) -> Unknown", "kind": 2, "label": "cummax", "sortText": " 36"}, {"detail": "bound method DataFrame.cummin(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, skipna: bool = True, *args, **kwargs) -> Unknown", "kind": 2, "label": "cummin", "sortText": " 37"}, {"detail": "bound method DataFrame.cumprod(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, skipna: bool = True, *args, **kwargs) -> Unknown", "kind": 2, "label": "cumprod", "sortText": " 38"}, {"detail": "bound method DataFrame.cumsum(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, skipna: bool = True, *args, **kwargs) -> Unknown", "kind": 2, "label": "cumsum", "sortText": " 39"}, {"detail": "bound method DataFrame.describe(percentiles=None, include=None, exclude=None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Generate descriptive statistics.\n\nDescriptive statistics include those that summarize the central\ntendency, dispersion and shape of a\ndataset's distribution, excluding ``NaN`` values.\n\nAnalyzes both numeric and object series, as well\nas ``DataFrame`` column sets of mixed data types. The output\nwill vary depending on what is provided. Refer to the notes\nbelow for more detail.\n\nParameters\n----------\npercentiles : list-like of numbers, optional\n The percentiles to include in the output. All should\n fall between 0 and 1. The default is\n ``[.25, .5, .75]``, which returns the 25th, 50th, and\n 75th percentiles.\ninclude : 'all', list-like of dtypes or None (default), optional\n A white list of data types to include in the result. Ignored\n for ``Series``. Here are the options:\n\n - 'all' : All columns of the input will be included in the output.\n - A list-like of dtypes : Limits the results to the\n provided data types.\n To limit the result to numeric types submit\n ``numpy.number``. To limit it instead to object columns submit\n the ``numpy.object`` data type. Strings\n can also be used in the style of\n ``select_dtypes`` (e.g. ``df.describe(include=['O'])``). To\n select pandas categorical columns, use ``'category'``\n - None (default) : The result will include all numeric columns.\nexclude : list-like of dtypes or None (default), optional,\n A black list of data types to omit from the result. Ignored\n for ``Series``. Here are the options:\n\n - A list-like of dtypes : Excludes the provided data types\n from the result. To exclude numeric types submit\n ``numpy.number``. To exclude object columns submit the data\n type ``numpy.object``. Strings can also be used in the style of\n ``select_dtypes`` (e.g. ``df.describe(exclude=['O'])``). To\n exclude pandas categorical columns, use ``'category'``\n - None (default) : The result will exclude nothing.\n\nReturns\n-------\nSeries or DataFrame\n Summary statistics of the Series or Dataframe provided.\n\nSee Also\n--------\nDataFrame.count: Count number of non-NA/null observations.\nDataFrame.max: Maximum of the values in the object.\nDataFrame.min: Minimum of the values in the object.\nDataFrame.mean: Mean of the values.\nDataFrame.std: Standard deviation of the observations.\nDataFrame.select_dtypes: Subset of a DataFrame including/excluding\n columns based on their dtype.\n\nNotes\n-----\nFor numeric data, the result's index will include ``count``,\n``mean``, ``std``, ``min``, ``max`` as well as lower, ``50`` and\nupper percentiles. By default the lower percentile is ``25`` and the\nupper percentile is ``75``. The ``50`` percentile is the\nsame as the median.\n\nFor object data (e.g. strings or timestamps), the result's index\nwill include ``count``, ``unique``, ``top``, and ``freq``. The ``top``\nis the most common value. The ``freq`` is the most common value's\nfrequency. Timestamps also include the ``first`` and ``last`` items.\n\nIf multiple object values have the highest count, then the\n``count`` and ``top`` results will be arbitrarily chosen from\namong those with the highest count.\n\nFor mixed data types provided via a ``DataFrame``, the default is to\nreturn only an analysis of numeric columns. If the dataframe consists\nonly of object and categorical data without any numeric columns, the\ndefault is to return an analysis of both the object and categorical\ncolumns. If ``include='all'`` is provided as an option, the result\nwill include a union of attributes of each type.\n\nThe `include` and `exclude` parameters can be used to limit\nwhich columns in a ``DataFrame`` are analyzed for the output.\nThe parameters are ignored when analyzing a ``Series``.\n\nExamples\n--------\nDescribing a numeric ``Series``.\n\n>>> s = pd.Series([1, 2, 3])\n>>> s.describe()\ncount 3.0\nmean 2.0\nstd 1.0\nmin 1.0\n25% 1.5\n50% 2.0\n75% 2.5\nmax 3.0\ndtype: float64\n\nDescribing a categorical ``Series``.\n\n>>> s = pd.Series(['a', 'a', 'b', 'c'])\n>>> s.describe()\ncount 4\nunique 3\ntop a\nfreq 2\ndtype: object\n\nDescribing a timestamp ``Series``.\n\n>>> s = pd.Series([\n... np.datetime64(\"2000-01-01\"),\n... np.datetime64(\"2010-01-01\"),\n... np.datetime64(\"2010-01-01\")\n... ])\n>>> s.describe()\ncount 3\nmean 2006-09-01 08:00:00\nmin 2000-01-01 00:00:00\n25% 2004-12-31 12:00:00\n50% 2010-01-01 00:00:00\n75% 2010-01-01 00:00:00\nmax 2010-01-01 00:00:00\ndtype: object\n\nDescribing a ``DataFrame``. By default only numeric fields\nare returned.\n\n>>> df = pd.DataFrame({'categorical': pd.Categorical(['d', 'e', 'f']),\n... 'numeric': [1, 2, 3],\n... 'object': ['a', 'b', 'c']\n... })\n>>> df.describe()\n numeric\ncount 3.0\nmean 2.0\nstd 1.0\nmin 1.0\n25% 1.5\n50% 2.0\n75% 2.5\nmax 3.0\n\nDescribing all columns of a ``DataFrame`` regardless of data type.\n\n>>> df.describe(include='all') # doctest: +SKIP\n categorical numeric object\ncount 3 3.0 3\nunique 3 NaN 3\ntop f NaN a\nfreq 1 NaN 1\nmean NaN 2.0 NaN\nstd NaN 1.0 NaN\nmin NaN 1.0 NaN\n25% NaN 1.5 NaN\n50% NaN 2.0 NaN\n75% NaN 2.5 NaN\nmax NaN 3.0 NaN\n\nDescribing a column from a ``DataFrame`` by accessing it as\nan attribute.\n\n>>> df.numeric.describe()\ncount 3.0\nmean 2.0\nstd 1.0\nmin 1.0\n25% 1.5\n50% 2.0\n75% 2.5\nmax 3.0\nName: numeric, dtype: float64\n\nIncluding only numeric columns in a ``DataFrame`` description.\n\n>>> df.describe(include=[np.number])\n numeric\ncount 3.0\nmean 2.0\nstd 1.0\nmin 1.0\n25% 1.5\n50% 2.0\n75% 2.5\nmax 3.0\n\nIncluding only string columns in a ``DataFrame`` description.\n\n>>> df.describe(include=[object]) # doctest: +SKIP\n object\ncount 3\nunique 3\ntop a\nfreq 1\n\nIncluding only categorical columns from a ``DataFrame`` description.\n\n>>> df.describe(include=['category'])\n categorical\ncount 3\nunique 3\ntop d\nfreq 1\n\nExcluding numeric columns from a ``DataFrame`` description.\n\n>>> df.describe(exclude=[np.number]) # doctest: +SKIP\n categorical object\ncount 3 3\nunique 3 3\ntop f a\nfreq 1 1\n\nExcluding object columns from a ``DataFrame`` description.\n\n>>> df.describe(exclude=[object]) # doctest: +SKIP\n categorical numeric\ncount 3 3.0\nunique 3 NaN\ntop f NaN\nfreq 1 NaN\nmean NaN 2.0\nstd NaN 1.0\nmin NaN 1.0\n25% NaN 1.5\n50% NaN 2.0\n75% NaN 2.5\nmax NaN 3.0\n"}, "kind": 2, "label": "describe", "sortText": " 40"}, {"detail": "bound method DataFrame.diff(periods: int = 1, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> DataFrame", "kind": 2, "label": "diff", "sortText": " 41"}, {"detail": "(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 3, "label": "div", "sortText": " 42"}, {"detail": "(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 3, "label": "divide", "sortText": " 43"}, {"detail": "Overload[(other: Series) -> Series, (other: DataFrame | Index | ExtensionArray | ndarray[_AnyShape, dtype[Any]]) -> DataFrame]", "documentation": {"kind": "plaintext", "value": "Compute the matrix multiplication between the DataFrame and other.\n\nThis method computes the matrix product between the DataFrame and the\nvalues of an other Series, DataFrame or a numpy array.\n\nIt can also be called using ``self @ other``.\n\nParameters\n----------\nother : Series, DataFrame or array-like\n The other object to compute the matrix product with.\n\nReturns\n-------\nSeries or DataFrame\n If other is a Series, return the matrix product between self and\n other as a Series. If other is a DataFrame or a numpy.array, return\n the matrix product of self and other in a DataFrame of a np.array.\n\nSee Also\n--------\nSeries.dot: Similar method for Series.\n\nNotes\n-----\nThe dimensions of DataFrame and other must be compatible in order to\ncompute the matrix multiplication. In addition, the column names of\nDataFrame and the index of other must contain the same values, as they\nwill be aligned prior to the multiplication.\n\nThe dot method for Series computes the inner product, instead of the\nmatrix product here.\n\nExamples\n--------\nHere we multiply a DataFrame with a Series.\n\n>>> df = pd.DataFrame([[0, 1, -2, -1], [1, 1, 1, 1]])\n>>> s = pd.Series([1, 1, 2, 1])\n>>> df.dot(s)\n0 -4\n1 5\ndtype: int64\n\nHere we multiply a DataFrame with another DataFrame.\n\n>>> other = pd.DataFrame([[0, 1], [1, 2], [-1, -1], [2, 0]])\n>>> df.dot(other)\n 0 1\n0 1 4\n1 2 2\n\nNote that the dot method give the same result as @\n\n>>> df @ other\n 0 1\n0 1 4\n1 2 2\n\nThe dot method works also if other is an np.array.\n\n>>> arr = np.array([[0, 1], [1, 2], [-1, -1], [2, 0]])\n>>> df.dot(arr)\n 0 1\n0 1 4\n1 2 2\n\nNote how shuffling of the objects does not change the result.\n\n>>> s2 = s.reindex([1, 0, 2, 3])\n>>> df.dot(s2)\n0 -4\n1 5\ndtype: int64\n"}, "kind": 2, "label": "dot", "sortText": " 44"}, {"detail": "Overload[(labels: Hashable | Sequence[Hashable] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., index: Hashable | Sequence[Hashable] = ..., columns: Hashable | Sequence[Hashable] = ..., level: Hashable = ..., inplace: Literal[True], errors: Literal[\"ignore\", \"raise\"] = ...) -> None, (labels: Hashable | Sequence[Hashable] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., index: Hashable | Sequence[Hashable] = ..., columns: Hashable | Sequence[Hashable] = ..., level: Hashable = ..., inplace: Literal[False] = ..., errors: Literal[\"ignore\", \"raise\"] = ...) -> DataFrame, (labels: Hashable | Sequence[Hashable] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., index: Hashable | Sequence[Hashable] = ..., columns: Hashable | Sequence[Hashable] = ..., level: Hashable = ..., inplace: bool = ..., errors: Literal[\"ignore\", \"raise\"] = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Drop specified labels from rows or columns.\n\nRemove rows or columns by specifying label names and corresponding\naxis, or by directly specifying index or column names. When using a\nmulti-index, labels on different levels can be removed by specifying\nthe level. See the :ref:`user guide `\nfor more information about the now unused levels.\n\nParameters\n----------\nlabels : single label or list-like\n Index or column labels to drop. A tuple will be used as a single\n label and not treated as a list-like.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Whether to drop labels from the index (0 or 'index') or\n columns (1 or 'columns').\nindex : single label or list-like\n Alternative to specifying axis (``labels, axis=0``\n is equivalent to ``index=labels``).\ncolumns : single label or list-like\n Alternative to specifying axis (``labels, axis=1``\n is equivalent to ``columns=labels``).\nlevel : int or level name, optional\n For MultiIndex, level from which the labels will be removed.\ninplace : bool, default False\n If False, return a copy. Otherwise, do operation\n in place and return None.\nerrors : {'ignore', 'raise'}, default 'raise'\n If 'ignore', suppress error and only existing labels are\n dropped.\n\nReturns\n-------\nDataFrame or None\n Returns DataFrame or None DataFrame with the specified\n index or column labels removed or None if inplace=True.\n\nRaises\n------\nKeyError\n If any of the labels is not found in the selected axis.\n\nSee Also\n--------\nDataFrame.loc : Label-location based indexer for selection by label.\nDataFrame.dropna : Return DataFrame with labels on given axis omitted\n where (all or any) data are missing.\nDataFrame.drop_duplicates : Return DataFrame with duplicate rows\n removed, optionally only considering certain columns.\nSeries.drop : Return Series with specified index labels removed.\n\nExamples\n--------\n>>> df = pd.DataFrame(np.arange(12).reshape(3, 4),\n... columns=['A', 'B', 'C', 'D'])\n>>> df\n A B C D\n0 0 1 2 3\n1 4 5 6 7\n2 8 9 10 11\n\nDrop columns\n\n>>> df.drop(['B', 'C'], axis=1)\n A D\n0 0 3\n1 4 7\n2 8 11\n\n>>> df.drop(columns=['B', 'C'])\n A D\n0 0 3\n1 4 7\n2 8 11\n\nDrop a row by index\n\n>>> df.drop([0, 1])\n A B C D\n2 8 9 10 11\n\nDrop columns and/or rows of MultiIndex DataFrame\n\n>>> midx = pd.MultiIndex(levels=[['llama', 'cow', 'falcon'],\n... ['speed', 'weight', 'length']],\n... codes=[[0, 0, 0, 1, 1, 1, 2, 2, 2],\n... [0, 1, 2, 0, 1, 2, 0, 1, 2]])\n>>> df = pd.DataFrame(index=midx, columns=['big', 'small'],\n... data=[[45, 30], [200, 100], [1.5, 1], [30, 20],\n... [250, 150], [1.5, 0.8], [320, 250],\n... [1, 0.8], [0.3, 0.2]])\n>>> df\n big small\nllama speed 45.0 30.0\n weight 200.0 100.0\n length 1.5 1.0\ncow speed 30.0 20.0\n weight 250.0 150.0\n length 1.5 0.8\nfalcon speed 320.0 250.0\n weight 1.0 0.8\n length 0.3 0.2\n\nDrop a specific index combination from the MultiIndex\nDataFrame, i.e., drop the combination ``'falcon'`` and\n``'weight'``, which deletes only the corresponding row\n\n>>> df.drop(index=('falcon', 'weight'))\n big small\nllama speed 45.0 30.0\n weight 200.0 100.0\n length 1.5 1.0\ncow speed 30.0 20.0\n weight 250.0 150.0\n length 1.5 0.8\nfalcon speed 320.0 250.0\n length 0.3 0.2\n\n>>> df.drop(index='cow', columns='small')\n big\nllama speed 45.0\n weight 200.0\n length 1.5\nfalcon speed 320.0\n weight 1.0\n length 0.3\n\n>>> df.drop(index='length', level=1)\n big small\nllama speed 45.0 30.0\n weight 200.0 100.0\ncow speed 30.0 20.0\n weight 250.0 150.0\nfalcon speed 320.0 250.0\n weight 1.0 0.8\n"}, "kind": 2, "label": "drop", "sortText": " 45"}, {"detail": "Overload[(subset: Hashable | Sequence[Hashable] = ..., *, keep: Literal[\"first\", \"last\", False] = ..., inplace: Literal[True], ignore_index: bool = ...) -> None, (subset: Hashable | Sequence[Hashable] = ..., *, keep: Literal[\"first\", \"last\", False] = ..., inplace: Literal[False] = ..., ignore_index: bool = ...) -> DataFrame, (subset: Hashable | Sequence[Hashable] = ..., *, keep: Literal[\"first\", \"last\", False] = ..., inplace: bool = ..., ignore_index: bool = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Return DataFrame with duplicate rows removed.\n\nConsidering certain columns is optional. Indexes, including time indexes\nare ignored.\n\nParameters\n----------\nsubset : column label or sequence of labels, optional\n Only consider certain columns for identifying duplicates, by\n default use all of the columns.\nkeep : {'first', 'last', ``False``}, default 'first'\n Determines which duplicates (if any) to keep.\n\n - 'first' : Drop duplicates except for the first occurrence.\n - 'last' : Drop duplicates except for the last occurrence.\n - ``False`` : Drop all duplicates.\n\ninplace : bool, default ``False``\n Whether to modify the DataFrame rather than creating a new one.\nignore_index : bool, default ``False``\n If ``True``, the resulting axis will be labeled 0, 1, \u2026, n - 1.\n\nReturns\n-------\nDataFrame or None\n DataFrame with duplicates removed or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.value_counts: Count unique combinations of columns.\n\nExamples\n--------\nConsider dataset containing ramen rating.\n\n>>> df = pd.DataFrame({\n... 'brand': ['Yum Yum', 'Yum Yum', 'Indomie', 'Indomie', 'Indomie'],\n... 'style': ['cup', 'cup', 'cup', 'pack', 'pack'],\n... 'rating': [4, 4, 3.5, 15, 5]\n... })\n>>> df\n brand style rating\n0 Yum Yum cup 4.0\n1 Yum Yum cup 4.0\n2 Indomie cup 3.5\n3 Indomie pack 15.0\n4 Indomie pack 5.0\n\nBy default, it removes duplicate rows based on all columns.\n\n>>> df.drop_duplicates()\n brand style rating\n0 Yum Yum cup 4.0\n2 Indomie cup 3.5\n3 Indomie pack 15.0\n4 Indomie pack 5.0\n\nTo remove duplicates on specific column(s), use ``subset``.\n\n>>> df.drop_duplicates(subset=['brand'])\n brand style rating\n0 Yum Yum cup 4.0\n2 Indomie cup 3.5\n\nTo remove duplicates and keep last occurrences, use ``keep``.\n\n>>> df.drop_duplicates(subset=['brand', 'style'], keep='last')\n brand style rating\n1 Yum Yum cup 4.0\n2 Indomie cup 3.5\n4 Indomie pack 5.0\n"}, "kind": 2, "label": "drop_duplicates", "sortText": " 46"}, {"detail": "bound method DataFrame.droplevel(level: Hashable | Sequence[Hashable], axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return {klass} with requested index / column level(s) removed.\n\nParameters\n----------\nlevel : int, str, or list-like\n If a string is given, must be the name of a level\n If list-like, elements must be names or positional indexes\n of levels.\n\naxis : {{0 or 'index', 1 or 'columns'}}, default 0\n Axis along which the level(s) is removed:\n\n * 0 or 'index': remove level(s) in column.\n * 1 or 'columns': remove level(s) in row.\n\n For `Series` this parameter is unused and defaults to 0.\n\nReturns\n-------\n{klass}\n {klass} with requested index / column level(s) removed.\n\nExamples\n--------\n>>> df = pd.DataFrame([\n... [1, 2, 3, 4],\n... [5, 6, 7, 8],\n... [9, 10, 11, 12]\n... ]).set_index([0, 1]).rename_axis(['a', 'b'])\n\n>>> df.columns = pd.MultiIndex.from_tuples([\n... ('c', 'e'), ('d', 'f')\n... ], names=['level_1', 'level_2'])\n\n>>> df\nlevel_1 c d\nlevel_2 e f\na b\n1 2 3 4\n5 6 7 8\n9 10 11 12\n\n>>> df.droplevel('a')\nlevel_1 c d\nlevel_2 e f\nb\n2 3 4\n6 7 8\n10 11 12\n\n>>> df.droplevel('level_2', axis=1)\nlevel_1 c d\na b\n1 2 3 4\n5 6 7 8\n9 10 11 12\n"}, "kind": 2, "label": "droplevel", "sortText": " 47"}, {"detail": "Overload[(*, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., how: Literal[\"any\", \"all\"] | _NoDefault = ..., thresh: int | _NoDefault = ..., subset: Hashable | Sequence[Hashable] = ..., inplace: Literal[False] = ..., ignore_index: bool = ...) -> DataFrame, (*, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., how: Literal[\"any\", \"all\"] | _NoDefault = ..., thresh: int | _NoDefault = ..., subset: Hashable | Sequence[Hashable] = ..., inplace: Literal[True], ignore_index: bool = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Remove missing values.\n\nSee the :ref:`User Guide ` for more on which values are\nconsidered missing, and how to work with missing data.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Determine if rows or columns which contain missing values are\n removed.\n\n * 0, or 'index' : Drop rows which contain missing values.\n * 1, or 'columns' : Drop columns which contain missing value.\n\n Only a single axis is allowed.\n\nhow : {'any', 'all'}, default 'any'\n Determine if row or column is removed from DataFrame, when we have\n at least one NA or all NA.\n\n * 'any' : If any NA values are present, drop that row or column.\n * 'all' : If all values are NA, drop that row or column.\n\nthresh : int, optional\n Require that many non-NA values. Cannot be combined with how.\nsubset : column label or sequence of labels, optional\n Labels along other axis to consider, e.g. if you are dropping rows\n these would be a list of columns to include.\ninplace : bool, default False\n Whether to modify the DataFrame rather than creating a new one.\nignore_index : bool, default ``False``\n If ``True``, the resulting axis will be labeled 0, 1, \u2026, n - 1.\n\n .. versionadded:: 2.0.0\n\nReturns\n-------\nDataFrame or None\n DataFrame with NA entries dropped from it or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.isna: Indicate missing values.\nDataFrame.notna : Indicate existing (non-missing) values.\nDataFrame.fillna : Replace missing values.\nSeries.dropna : Drop missing values.\nIndex.dropna : Drop missing indices.\n\nExamples\n--------\n>>> df = pd.DataFrame({\"name\": ['Alfred', 'Batman', 'Catwoman'],\n... \"toy\": [np.nan, 'Batmobile', 'Bullwhip'],\n... \"born\": [pd.NaT, pd.Timestamp(\"1940-04-25\"),\n... pd.NaT]})\n>>> df\n name toy born\n0 Alfred NaN NaT\n1 Batman Batmobile 1940-04-25\n2 Catwoman Bullwhip NaT\n\nDrop the rows where at least one element is missing.\n\n>>> df.dropna()\n name toy born\n1 Batman Batmobile 1940-04-25\n\nDrop the columns where at least one element is missing.\n\n>>> df.dropna(axis='columns')\n name\n0 Alfred\n1 Batman\n2 Catwoman\n\nDrop the rows where all elements are missing.\n\n>>> df.dropna(how='all')\n name toy born\n0 Alfred NaN NaT\n1 Batman Batmobile 1940-04-25\n2 Catwoman Bullwhip NaT\n\nKeep only the rows with at least 2 non-NA values.\n\n>>> df.dropna(thresh=2)\n name toy born\n1 Batman Batmobile 1940-04-25\n2 Catwoman Bullwhip NaT\n\nDefine in which columns to look for missing values.\n\n>>> df.dropna(subset=['name', 'toy'])\n name toy born\n1 Batman Batmobile 1940-04-25\n2 Catwoman Bullwhip NaT\n"}, "kind": 2, "label": "dropna", "sortText": " 48"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "dtype", "sortText": " 49"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "dtypes", "sortText": " 50"}, {"detail": "bound method DataFrame.duplicated(subset: Hashable | Sequence[Hashable] = None, keep: Literal[\"first\", \"last\", False] = \"first\") -> Series", "documentation": {"kind": "plaintext", "value": "Return boolean Series denoting duplicate rows.\n\nConsidering certain columns is optional.\n\nParameters\n----------\nsubset : column label or sequence of labels, optional\n Only consider certain columns for identifying duplicates, by\n default use all of the columns.\nkeep : {'first', 'last', False}, default 'first'\n Determines which duplicates (if any) to mark.\n\n - ``first`` : Mark duplicates as ``True`` except for the first occurrence.\n - ``last`` : Mark duplicates as ``True`` except for the last occurrence.\n - False : Mark all duplicates as ``True``.\n\nReturns\n-------\nSeries\n Boolean series for each duplicated rows.\n\nSee Also\n--------\nIndex.duplicated : Equivalent method on index.\nSeries.duplicated : Equivalent method on Series.\nSeries.drop_duplicates : Remove duplicate values from Series.\nDataFrame.drop_duplicates : Remove duplicate values from DataFrame.\n\nExamples\n--------\nConsider dataset containing ramen rating.\n\n>>> df = pd.DataFrame({\n... 'brand': ['Yum Yum', 'Yum Yum', 'Indomie', 'Indomie', 'Indomie'],\n... 'style': ['cup', 'cup', 'cup', 'pack', 'pack'],\n... 'rating': [4, 4, 3.5, 15, 5]\n... })\n>>> df\n brand style rating\n0 Yum Yum cup 4.0\n1 Yum Yum cup 4.0\n2 Indomie cup 3.5\n3 Indomie pack 15.0\n4 Indomie pack 5.0\n\nBy default, for each set of duplicated values, the first occurrence\nis set on False and all others on True.\n\n>>> df.duplicated()\n0 False\n1 True\n2 False\n3 False\n4 False\ndtype: bool\n\nBy using 'last', the last occurrence of each set of duplicated values\nis set on False and all others on True.\n\n>>> df.duplicated(keep='last')\n0 True\n1 False\n2 False\n3 False\n4 False\ndtype: bool\n\nBy setting ``keep`` on False, all duplicates are True.\n\n>>> df.duplicated(keep=False)\n0 True\n1 True\n2 False\n3 False\n4 False\ndtype: bool\n\nTo find duplicates on specific column(s), use ``subset``.\n\n>>> df.duplicated(subset=['brand'])\n0 False\n1 True\n2 False\n3 True\n4 True\ndtype: bool\n"}, "kind": 2, "label": "duplicated", "sortText": " 51"}, {"detail": "bool", "documentation": {"kind": "plaintext", "value": "Returns True when the argument is true, False otherwise.\nThe builtins True and False are the only two instances of the class bool.\nThe class bool is a subclass of the class int, and cannot be subclassed.\n"}, "kind": 22, "label": "empty", "sortText": " 52"}, {"detail": "bound method DataFrame.eq(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "eq", "sortText": " 53"}, {"detail": "bound method DataFrame.equals(other: object) -> bool", "documentation": {"kind": "plaintext", "value": "Test whether two objects contain the same elements.\n\nThis function allows two Series or DataFrames to be compared against\neach other to see if they have the same shape and elements. NaNs in\nthe same location are considered equal.\n\nThe row/column index do not need to have the same type, as long\nas the values are considered equal. Corresponding columns and\nindex must be of the same dtype.\n\nParameters\n----------\nother : Series or DataFrame\n The other Series or DataFrame to be compared with the first.\n\nReturns\n-------\nbool\n True if all elements are the same in both objects, False\n otherwise.\n\nSee Also\n--------\nSeries.eq : Compare two Series objects of the same length\n and return a Series where each element is True if the element\n in each Series is equal, False otherwise.\nDataFrame.eq : Compare two DataFrame objects of the same shape and\n return a DataFrame where each element is True if the respective\n element in each DataFrame is equal, False otherwise.\ntesting.assert_series_equal : Raises an AssertionError if left and\n right are not equal. Provides an easy interface to ignore\n inequality in dtypes, indexes and precision among others.\ntesting.assert_frame_equal : Like assert_series_equal, but targets\n DataFrames.\nnumpy.array_equal : Return True if two arrays have the same shape\n and elements, False otherwise.\n\nExamples\n--------\n>>> df = pd.DataFrame({1: [10], 2: [20]})\n>>> df\n 1 2\n0 10 20\n\nDataFrames df and exactly_equal have the same types and values for\ntheir elements and column labels, which will return True.\n\n>>> exactly_equal = pd.DataFrame({1: [10], 2: [20]})\n>>> exactly_equal\n 1 2\n0 10 20\n>>> df.equals(exactly_equal)\nTrue\n\nDataFrames df and different_column_type have the same element\ntypes and values, but have different types for the column labels,\nwhich will still return True.\n\n>>> different_column_type = pd.DataFrame({1.0: [10], 2.0: [20]})\n>>> different_column_type\n 1.0 2.0\n0 10 20\n>>> df.equals(different_column_type)\nTrue\n\nDataFrames df and different_data_type have different types for the\nsame values for their elements, and will return False even though\ntheir column labels are the same values and types.\n\n>>> different_data_type = pd.DataFrame({1: [10.0], 2: [20.0]})\n>>> different_data_type\n 1 2\n0 10.0 20.0\n>>> df.equals(different_data_type)\nFalse\n"}, "kind": 2, "label": "equals", "sortText": " 54"}, {"detail": "Overload[(expr: str, *, inplace: Literal[False] = ..., **kwargs) -> Any, (expr: str, *, inplace: Literal[True], **kwargs) -> None]", "documentation": {"kind": "plaintext", "value": "Evaluate a string describing operations on DataFrame columns.\n\nOperates on columns only, not specific rows or elements. This allows\n`eval` to run arbitrary code, which can make you vulnerable to code\ninjection if you pass user input to this function.\n\nParameters\n----------\nexpr : str\n The expression string to evaluate.\ninplace : bool, default False\n If the expression contains an assignment, whether to perform the\n operation inplace and mutate the existing DataFrame. Otherwise,\n a new DataFrame is returned.\n**kwargs\n See the documentation for :func:`eval` for complete details\n on the keyword arguments accepted by\n :meth:`~pandas.DataFrame.query`.\n\nReturns\n-------\nndarray, scalar, pandas object, or None\n The result of the evaluation or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.query : Evaluates a boolean expression to query the columns\n of a frame.\nDataFrame.assign : Can evaluate an expression or function to create new\n values for a column.\neval : Evaluate a Python expression as a string using various\n backends.\n\nNotes\n-----\nFor more details see the API documentation for :func:`~eval`.\nFor detailed examples see :ref:`enhancing performance with eval\n`.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': range(1, 6), 'B': range(10, 0, -2)})\n>>> df\n A B\n0 1 10\n1 2 8\n2 3 6\n3 4 4\n4 5 2\n>>> df.eval('A + B')\n0 11\n1 10\n2 9\n3 8\n4 7\ndtype: int64\n\nAssignment is allowed though by default the original DataFrame is not\nmodified.\n\n>>> df.eval('C = A + B')\n A B C\n0 1 10 11\n1 2 8 10\n2 3 6 9\n3 4 4 8\n4 5 2 7\n>>> df\n A B\n0 1 10\n1 2 8\n2 3 6\n3 4 4\n4 5 2\n\nMultiple columns can be assigned to using multi-line expressions:\n\n>>> df.eval(\n... '''\n... C = A + B\n... D = A - B\n... '''\n... )\n A B C D\n0 1 10 11 -9\n1 2 8 10 -6\n2 3 6 9 -3\n3 4 4 8 0\n4 5 2 7 3\n"}, "kind": 2, "label": "eval", "sortText": " 55"}, {"detail": "bound method DataFrame.ewm(com: float | None = None, span: float | None = None, halflife: float | timedelta | timedelta64[Any] | ... omitted 3 union elements = None, alpha: float | None = None, min_periods: int | None = 0, adjust: bool = True, ignore_na: bool = False, axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., times: ndarray[_AnyShape, dtype[Any]] | DataFrame | Series | None = None, method: Literal[\"single\", \"table\"] = \"single\") -> ExponentialMovingWindow", "kind": 2, "label": "ewm", "sortText": " 56"}, {"detail": "bound method DataFrame.expanding(min_periods: int = 1, axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., method: Literal[\"single\", \"table\"] = \"single\") -> Expanding", "kind": 2, "label": "expanding", "sortText": " 57"}, {"detail": "bound method DataFrame.explode(column: Hashable | Sequence[Hashable], ignore_index: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Transform each element of a list-like to a row, replicating index values.\n\nParameters\n----------\ncolumn : IndexLabel\n Column(s) to explode.\n For multiple columns, specify a non-empty list with each element\n be str or tuple, and all specified columns their list-like data\n on same row of the frame must have matching length.\n\n .. versionadded:: 1.3.0\n Multi-column explode\n\nignore_index : bool, default False\n If True, the resulting index will be labeled 0, 1, \u2026, n - 1.\n\nReturns\n-------\nDataFrame\n Exploded lists to rows of the subset columns;\n index will be duplicated for these rows.\n\nRaises\n------\nValueError :\n * If columns of the frame are not unique.\n * If specified columns to explode is empty list.\n * If specified columns to explode have not matching count of\n elements rowwise in the frame.\n\nSee Also\n--------\nDataFrame.unstack : Pivot a level of the (necessarily hierarchical)\n index labels.\nDataFrame.melt : Unpivot a DataFrame from wide format to long format.\nSeries.explode : Explode a DataFrame from list-like columns to long format.\n\nNotes\n-----\nThis routine will explode list-likes including lists, tuples, sets,\nSeries, and np.ndarray. The result dtype of the subset rows will\nbe object. Scalars will be returned unchanged, and empty list-likes will\nresult in a np.nan for that row. In addition, the ordering of rows in the\noutput will be non-deterministic when exploding sets.\n\nReference :ref:`the user guide ` for more examples.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [[0, 1, 2], 'foo', [], [3, 4]],\n... 'B': 1,\n... 'C': [['a', 'b', 'c'], np.nan, [], ['d', 'e']]})\n>>> df\n A B C\n0 [0, 1, 2] 1 [a, b, c]\n1 foo 1 NaN\n2 [] 1 []\n3 [3, 4] 1 [d, e]\n\nSingle-column explode.\n\n>>> df.explode('A')\n A B C\n0 0 1 [a, b, c]\n0 1 1 [a, b, c]\n0 2 1 [a, b, c]\n1 foo 1 NaN\n2 NaN 1 []\n3 3 1 [d, e]\n3 4 1 [d, e]\n\nMulti-column explode.\n\n>>> df.explode(list('AC'))\n A B C\n0 0 1 a\n0 1 1 b\n0 2 1 c\n1 foo 1 NaN\n2 NaN 1 NaN\n3 3 1 d\n3 4 1 e\n"}, "kind": 2, "label": "explode", "sortText": " 58"}, {"detail": "Overload[(*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: Literal[False] = ..., limit: None | int = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame, (*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: Literal[True], limit: None | int = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> None, (*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: bool = ..., limit: None | int = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Fill NA/NaN values by propagating the last valid observation to next valid.\n\nParameters\n----------\naxis : {axes_single_arg}\n Axis along which to fill missing values. For `Series`\n this parameter is unused and defaults to 0.\ninplace : bool, default False\n If True, fill in-place. Note: this will modify any\n other views on this object (e.g., a no-copy slice for a column in a\n DataFrame).\nlimit : int, default None\n If method is specified, this is the maximum number of consecutive\n NaN values to forward/backward fill. In other words, if there is\n a gap with more than this number of consecutive NaNs, it will only\n be partially filled. If method is not specified, this is the\n maximum number of entries along the entire axis where NaNs will be\n filled. Must be greater than 0 if not None.\nlimit_area : {{`None`, 'inside', 'outside'}}, default None\n If limit is specified, consecutive NaNs will be filled with this\n restriction.\n\n * ``None``: No fill restriction.\n * 'inside': Only fill NaNs surrounded by valid values\n (interpolate).\n * 'outside': Only fill NaNs outside valid values (extrapolate).\n\n .. versionadded:: 2.2.0\n\ndowncast : dict, default is None\n A dict of item->dtype of what to downcast if possible,\n or the string 'infer' which will try to downcast to an appropriate\n equal type (e.g. float64 to int64 if possible).\n\n .. deprecated:: 2.2.0\n\nReturns\n-------\n{klass} or None\n Object with missing values filled or None if ``inplace=True``.\n\nExamples\n--------\n>>> df = pd.DataFrame([[np.nan, 2, np.nan, 0],\n... [3, 4, np.nan, 1],\n... [np.nan, np.nan, np.nan, np.nan],\n... [np.nan, 3, np.nan, 4]],\n... columns=list(\"ABCD\"))\n>>> df\n A B C D\n0 NaN 2.0 NaN 0.0\n1 3.0 4.0 NaN 1.0\n2 NaN NaN NaN NaN\n3 NaN 3.0 NaN 4.0\n\n>>> df.ffill()\n A B C D\n0 NaN 2.0 NaN 0.0\n1 3.0 4.0 NaN 1.0\n2 3.0 4.0 NaN 1.0\n3 3.0 3.0 NaN 4.0\n\n>>> ser = pd.Series([1, np.nan, 2, 3])\n>>> ser.ffill()\n0 1.0\n1 1.0\n2 2.0\n3 3.0\ndtype: float64\n"}, "kind": 2, "label": "ffill", "sortText": " 59"}, {"detail": "Overload[(value: Hashable | Mapping[Unknown, Unknown] | Series | DataFrame = ..., *, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: Literal[False] = ..., limit: int | None = ..., downcast: dict[Unknown, Unknown] | None = ...) -> DataFrame, (value: Hashable | Mapping[Unknown, Unknown] | Series | DataFrame = ..., *, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: Literal[True], limit: int | None = ..., downcast: dict[Unknown, Unknown] | None = ...) -> None, (value: Hashable | Mapping[Unknown, Unknown] | Series | DataFrame = ..., *, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: bool = ..., limit: int | None = ..., downcast: dict[Unknown, Unknown] | None = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Fill NA/NaN values using the specified method.\n\nParameters\n----------\nvalue : scalar, dict, Series, or DataFrame\n Value to use to fill holes (e.g. 0), alternately a\n dict/Series/DataFrame of values specifying which value to use for\n each index (for a Series) or column (for a DataFrame). Values not\n in the dict/Series/DataFrame will not be filled. This value cannot\n be a list.\nmethod : {{'backfill', 'bfill', 'ffill', None}}, default None\n Method to use for filling holes in reindexed Series:\n\n * ffill: propagate last valid observation forward to next valid.\n * backfill / bfill: use next valid observation to fill gap.\n\n .. deprecated:: 2.1.0\n Use ffill or bfill instead.\n\naxis : {axes_single_arg}\n Axis along which to fill missing values. For `Series`\n this parameter is unused and defaults to 0.\ninplace : bool, default False\n If True, fill in-place. Note: this will modify any\n other views on this object (e.g., a no-copy slice for a column in a\n DataFrame).\nlimit : int, default None\n If method is specified, this is the maximum number of consecutive\n NaN values to forward/backward fill. In other words, if there is\n a gap with more than this number of consecutive NaNs, it will only\n be partially filled. If method is not specified, this is the\n maximum number of entries along the entire axis where NaNs will be\n filled. Must be greater than 0 if not None.\ndowncast : dict, default is None\n A dict of item->dtype of what to downcast if possible,\n or the string 'infer' which will try to downcast to an appropriate\n equal type (e.g. float64 to int64 if possible).\n\n .. deprecated:: 2.2.0\n\nReturns\n-------\n{klass} or None\n Object with missing values filled or None if ``inplace=True``.\n\nSee Also\n--------\nffill : Fill values by propagating the last valid observation to next valid.\nbfill : Fill values by using the next valid observation to fill the gap.\ninterpolate : Fill NaN values using interpolation.\nreindex : Conform object to new index.\nasfreq : Convert TimeSeries to specified frequency.\n\nExamples\n--------\n>>> df = pd.DataFrame([[np.nan, 2, np.nan, 0],\n... [3, 4, np.nan, 1],\n... [np.nan, np.nan, np.nan, np.nan],\n... [np.nan, 3, np.nan, 4]],\n... columns=list(\"ABCD\"))\n>>> df\n A B C D\n0 NaN 2.0 NaN 0.0\n1 3.0 4.0 NaN 1.0\n2 NaN NaN NaN NaN\n3 NaN 3.0 NaN 4.0\n\nReplace all NaN elements with 0s.\n\n>>> df.fillna(0)\n A B C D\n0 0.0 2.0 0.0 0.0\n1 3.0 4.0 0.0 1.0\n2 0.0 0.0 0.0 0.0\n3 0.0 3.0 0.0 4.0\n\nReplace all NaN elements in column 'A', 'B', 'C', and 'D', with 0, 1,\n2, and 3 respectively.\n\n>>> values = {{\"A\": 0, \"B\": 1, \"C\": 2, \"D\": 3}}\n>>> df.fillna(value=values)\n A B C D\n0 0.0 2.0 2.0 0.0\n1 3.0 4.0 2.0 1.0\n2 0.0 1.0 2.0 3.0\n3 0.0 3.0 2.0 4.0\n\nOnly replace the first NaN element.\n\n>>> df.fillna(value=values, limit=1)\n A B C D\n0 0.0 2.0 2.0 0.0\n1 3.0 4.0 NaN 1.0\n2 NaN 1.0 NaN 3.0\n3 NaN 3.0 NaN 4.0\n\nWhen filling using a DataFrame, replacement happens along\nthe same column names and same indices\n\n>>> df2 = pd.DataFrame(np.zeros((4, 4)), columns=list(\"ABCE\"))\n>>> df.fillna(df2)\n A B C D\n0 0.0 2.0 0.0 0.0\n1 3.0 4.0 0.0 1.0\n2 0.0 0.0 0.0 NaN\n3 0.0 3.0 0.0 4.0\n\nNote that column D is not affected since it is not present in df2.\n"}, "kind": 2, "label": "fillna", "sortText": " 60"}, {"detail": "bound method DataFrame.filter(items=None, like: str | None = None, regex: str | None = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Subset the dataframe rows or columns according to the specified index labels.\n\nNote that this routine does not filter a dataframe on its\ncontents. The filter is applied to the labels of the index.\n\nParameters\n----------\nitems : list-like\n Keep labels from axis which are in items.\nlike : str\n Keep labels from axis for which \"like in label == True\".\nregex : str (regular expression)\n Keep labels from axis for which re.search(regex, label) == True.\naxis : {0 or 'index', 1 or 'columns', None}, default None\n The axis to filter on, expressed either as an index (int)\n or axis name (str). By default this is the info axis, 'columns' for\n DataFrame. For `Series` this parameter is unused and defaults to `None`.\n\nReturns\n-------\nsame type as input object\n\nSee Also\n--------\nDataFrame.loc : Access a group of rows and columns\n by label(s) or a boolean array.\n\nNotes\n-----\nThe ``items``, ``like``, and ``regex`` parameters are\nenforced to be mutually exclusive.\n\n``axis`` defaults to the info axis that is used when indexing\nwith ``[]``.\n\nExamples\n--------\n>>> df = pd.DataFrame(np.array(([1, 2, 3], [4, 5, 6])),\n... index=['mouse', 'rabbit'],\n... columns=['one', 'two', 'three'])\n>>> df\n one two three\nmouse 1 2 3\nrabbit 4 5 6\n\n>>> # select columns by name\n>>> df.filter(items=['one', 'three'])\n one three\nmouse 1 3\nrabbit 4 6\n\n>>> # select columns by regular expression\n>>> df.filter(regex='e$', axis=1)\n one three\nmouse 1 3\nrabbit 4 6\n\n>>> # select rows containing 'bbi'\n>>> df.filter(like='bbi', axis=0)\n one two three\nrabbit 4 5 6\n"}, "kind": 2, "label": "filter", "sortText": " 61"}, {"detail": "bound method DataFrame.first(offset) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Select initial periods of time series data based on a date offset.\n\n.. deprecated:: 2.1\n :meth:`.first` is deprecated and will be removed in a future version.\n Please create a mask and filter using `.loc` instead.\n\nFor a DataFrame with a sorted DatetimeIndex, this function can\nselect the first few rows based on a date offset.\n\nParameters\n----------\noffset : str, DateOffset or dateutil.relativedelta\n The offset length of the data that will be selected. For instance,\n '1ME' will display all the rows having their index within the first month.\n\nReturns\n-------\nSeries or DataFrame\n A subset of the caller.\n\nRaises\n------\nTypeError\n If the index is not a :class:`DatetimeIndex`\n\nSee Also\n--------\nlast : Select final periods of time series based on a date offset.\nat_time : Select values at a particular time of the day.\nbetween_time : Select values between particular times of the day.\n\nExamples\n--------\n>>> i = pd.date_range('2018-04-09', periods=4, freq='2D')\n>>> ts = pd.DataFrame({'A': [1, 2, 3, 4]}, index=i)\n>>> ts\n A\n2018-04-09 1\n2018-04-11 2\n2018-04-13 3\n2018-04-15 4\n\nGet the rows for the first 3 days:\n\n>>> ts.first('3D')\n A\n2018-04-09 1\n2018-04-11 2\n\nNotice the data for 3 first calendar days were returned, not the first\n3 days observed in the dataset, and therefore data for 2018-04-13 was\nnot returned.\n"}, "kind": 2, "label": "first", "sortText": " 62"}, {"detail": "bound method DataFrame.first_valid_index() -> Hashable", "documentation": {"kind": "plaintext", "value": "Return index for {position} non-NA value or None, if no non-NA value is found.\n\nReturns\n-------\ntype of index\n\nExamples\n--------\nFor Series:\n\n>>> s = pd.Series([None, 3, 4])\n>>> s.first_valid_index()\n1\n>>> s.last_valid_index()\n2\n\n>>> s = pd.Series([None, None])\n>>> print(s.first_valid_index())\nNone\n>>> print(s.last_valid_index())\nNone\n\nIf all elements in Series are NA/null, returns None.\n\n>>> s = pd.Series()\n>>> print(s.first_valid_index())\nNone\n>>> print(s.last_valid_index())\nNone\n\nIf Series is empty, returns None.\n\nFor DataFrame:\n\n>>> df = pd.DataFrame({{'A': [None, None, 2], 'B': [None, 3, 4]}})\n>>> df\n A B\n0 NaN NaN\n1 NaN 3.0\n2 2.0 4.0\n>>> df.first_valid_index()\n1\n>>> df.last_valid_index()\n2\n\n>>> df = pd.DataFrame({{'A': [None, None, None], 'B': [None, None, None]}})\n>>> df\n A B\n0 None None\n1 None None\n2 None None\n>>> print(df.first_valid_index())\nNone\n>>> print(df.last_valid_index())\nNone\n\nIf all elements in DataFrame are NA/null, returns None.\n\n>>> df = pd.DataFrame()\n>>> df\nEmpty DataFrame\nColumns: []\nIndex: []\n>>> print(df.first_valid_index())\nNone\n>>> print(df.last_valid_index())\nNone\n\nIf DataFrame is empty, returns None.\n"}, "kind": 2, "label": "first_valid_index", "sortText": " 63"}, {"detail": "Flags", "documentation": {"kind": "plaintext", "value": "Flags that apply to pandas objects.\n\nParameters\n----------\nobj : Series or DataFrame\n The object these flags are associated with.\nallows_duplicate_labels : bool, default True\n Whether to allow duplicate labels in this object. By default,\n duplicate labels are permitted. Setting this to ``False`` will\n cause an :class:`errors.DuplicateLabelError` to be raised when\n `index` (or columns for DataFrame) is not unique, or any\n subsequent operation on introduces duplicates.\n See :ref:`duplicates.disallow` for more.\n\n .. warning::\n\n This is an experimental feature. Currently, many methods fail to\n propagate the ``allows_duplicate_labels`` value. In future versions\n it is expected that every method taking or returning one or more\n DataFrame or Series objects will propagate ``allows_duplicate_labels``.\n\nExamples\n--------\nAttributes can be set in two ways:\n\n>>> df = pd.DataFrame()\n>>> df.flags\n\n>>> df.flags.allows_duplicate_labels = False\n>>> df.flags\n\n\n>>> df.flags['allows_duplicate_labels'] = True\n>>> df.flags\n\n"}, "kind": 22, "label": "flags", "sortText": " 64"}, {"detail": "bound method DataFrame.floordiv(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "floordiv", "sortText": " 65"}, {"detail": "bound method type[DataFrame].from_dict(data: dict[Unknown, Unknown], orient: Literal[\"columns\", \"index\", \"tight\"] = \"columns\", dtype: ExtensionDtype | str | dtype[Any] | type | None = None, columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Construct DataFrame from dict of array-like or dicts.\n\nCreates DataFrame object from dictionary by columns or by index\nallowing dtype specification.\n\nParameters\n----------\ndata : dict\n Of the form {field : array-like} or {field : dict}.\norient : {'columns', 'index', 'tight'}, default 'columns'\n The \"orientation\" of the data. If the keys of the passed dict\n should be the columns of the resulting DataFrame, pass 'columns'\n (default). Otherwise if the keys should be rows, pass 'index'.\n If 'tight', assume a dict with keys ['index', 'columns', 'data',\n 'index_names', 'column_names'].\n\n .. versionadded:: 1.4.0\n 'tight' as an allowed value for the ``orient`` argument\n\ndtype : dtype, default None\n Data type to force after DataFrame construction, otherwise infer.\ncolumns : list, default None\n Column labels to use when ``orient='index'``. Raises a ValueError\n if used with ``orient='columns'`` or ``orient='tight'``.\n\nReturns\n-------\nDataFrame\n\nSee Also\n--------\nDataFrame.from_records : DataFrame from structured ndarray, sequence\n of tuples or dicts, or DataFrame.\nDataFrame : DataFrame object creation using constructor.\nDataFrame.to_dict : Convert the DataFrame to a dictionary.\n\nExamples\n--------\nBy default the keys of the dict become the DataFrame columns:\n\n>>> data = {'col_1': [3, 2, 1, 0], 'col_2': ['a', 'b', 'c', 'd']}\n>>> pd.DataFrame.from_dict(data)\n col_1 col_2\n0 3 a\n1 2 b\n2 1 c\n3 0 d\n\nSpecify ``orient='index'`` to create the DataFrame using dictionary\nkeys as rows:\n\n>>> data = {'row_1': [3, 2, 1, 0], 'row_2': ['a', 'b', 'c', 'd']}\n>>> pd.DataFrame.from_dict(data, orient='index')\n 0 1 2 3\nrow_1 3 2 1 0\nrow_2 a b c d\n\nWhen using the 'index' orientation, the column names can be\nspecified manually:\n\n>>> pd.DataFrame.from_dict(data, orient='index',\n... columns=['A', 'B', 'C', 'D'])\n A B C D\nrow_1 3 2 1 0\nrow_2 a b c d\n\nSpecify ``orient='tight'`` to create the DataFrame using a 'tight'\nformat:\n\n>>> data = {'index': [('a', 'b'), ('a', 'c')],\n... 'columns': [('x', 1), ('y', 2)],\n... 'data': [[1, 3], [2, 4]],\n... 'index_names': ['n1', 'n2'],\n... 'column_names': ['z1', 'z2']}\n>>> pd.DataFrame.from_dict(data, orient='tight')\nz1 x y\nz2 1 2\nn1 n2\na b 1 3\n c 2 4\n"}, "kind": 2, "label": "from_dict", "sortText": " 66"}, {"detail": "bound method type[DataFrame].from_records(data, index=None, exclude=None, columns=None, coerce_float: bool = False, nrows: int | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Convert structured or record ndarray to DataFrame.\n\nCreates a DataFrame object from a structured ndarray, sequence of\ntuples or dicts, or DataFrame.\n\nParameters\n----------\ndata : structured ndarray, sequence of tuples or dicts, or DataFrame\n Structured input data.\n\n .. deprecated:: 2.1.0\n Passing a DataFrame is deprecated.\nindex : str, list of fields, array-like\n Field of array to use as the index, alternately a specific set of\n input labels to use.\nexclude : sequence, default None\n Columns or fields to exclude.\ncolumns : sequence, default None\n Column names to use. If the passed data do not have names\n associated with them, this argument provides names for the\n columns. Otherwise this argument indicates the order of the columns\n in the result (any names not found in the data will become all-NA\n columns).\ncoerce_float : bool, default False\n Attempt to convert values of non-string, non-numeric objects (like\n decimal.Decimal) to floating point, useful for SQL result sets.\nnrows : int, default None\n Number of rows to read if data is an iterator.\n\nReturns\n-------\nDataFrame\n\nSee Also\n--------\nDataFrame.from_dict : DataFrame from dict of array-like or dicts.\nDataFrame : DataFrame object creation using constructor.\n\nExamples\n--------\nData can be provided as a structured ndarray:\n\n>>> data = np.array([(3, 'a'), (2, 'b'), (1, 'c'), (0, 'd')],\n... dtype=[('col_1', 'i4'), ('col_2', 'U1')])\n>>> pd.DataFrame.from_records(data)\n col_1 col_2\n0 3 a\n1 2 b\n2 1 c\n3 0 d\n\nData can be provided as a list of dicts:\n\n>>> data = [{'col_1': 3, 'col_2': 'a'},\n... {'col_1': 2, 'col_2': 'b'},\n... {'col_1': 1, 'col_2': 'c'},\n... {'col_1': 0, 'col_2': 'd'}]\n>>> pd.DataFrame.from_records(data)\n col_1 col_2\n0 3 a\n1 2 b\n2 1 c\n3 0 d\n\nData can be provided as a list of tuples with corresponding columns:\n\n>>> data = [(3, 'a'), (2, 'b'), (1, 'c'), (0, 'd')]\n>>> pd.DataFrame.from_records(data, columns=['col_1', 'col_2'])\n col_1 col_2\n0 3 a\n1 2 b\n2 1 c\n3 0 d\n"}, "kind": 2, "label": "from_records", "sortText": " 67"}, {"detail": "bound method DataFrame.ge(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "ge", "sortText": " 68"}, {"detail": "bound method DataFrame.get(key, default=None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Get item from object for given key (ex: DataFrame column).\n\nReturns default value if not found.\n\nParameters\n----------\nkey : object\n\nReturns\n-------\nsame type as items contained in object\n\nExamples\n--------\n>>> df = pd.DataFrame(\n... [\n... [24.3, 75.7, \"high\"],\n... [31, 87.8, \"high\"],\n... [22, 71.6, \"medium\"],\n... [35, 95, \"medium\"],\n... ],\n... columns=[\"temp_celsius\", \"temp_fahrenheit\", \"windspeed\"],\n... index=pd.date_range(start=\"2014-02-12\", end=\"2014-02-15\", freq=\"D\"),\n... )\n\n>>> df\n temp_celsius temp_fahrenheit windspeed\n2014-02-12 24.3 75.7 high\n2014-02-13 31.0 87.8 high\n2014-02-14 22.0 71.6 medium\n2014-02-15 35.0 95.0 medium\n\n>>> df.get([\"temp_celsius\", \"windspeed\"])\n temp_celsius windspeed\n2014-02-12 24.3 high\n2014-02-13 31.0 high\n2014-02-14 22.0 medium\n2014-02-15 35.0 medium\n\n>>> ser = df['windspeed']\n>>> ser.get('2014-02-13')\n'high'\n\nIf the key isn't found, the default value will be used.\n\n>>> df.get([\"temp_celsius\", \"temp_kelvin\"], default=\"default_value\")\n'default_value'\n\n>>> ser.get('2014-02-10', '[unknown]')\n'[unknown]'\n"}, "kind": 2, "label": "get", "sortText": " 69"}, {"detail": "bound method DataFrame.groupby(by=None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., level: Hashable | Sequence[Hashable] = None, as_index: bool = True, sort: bool = True, group_keys: bool = True, observed: bool | _NoDefault = ..., dropna: bool = True) -> DataFrameGroupBy", "kind": 2, "label": "groupby", "sortText": " 70"}, {"detail": "bound method DataFrame.gt(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "gt", "sortText": " 71"}, {"detail": "bound method DataFrame.head(n: int = 5) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the first `n` rows.\n\nThis function returns the first `n` rows for the object based\non position. It is useful for quickly testing if your object\nhas the right type of data in it.\n\nFor negative values of `n`, this function returns all rows except\nthe last `|n|` rows, equivalent to ``df[:n]``.\n\nIf n is larger than the number of rows, this function returns all rows.\n\nParameters\n----------\nn : int, default 5\n Number of rows to select.\n\nReturns\n-------\nsame type as caller\n The first `n` rows of the caller object.\n\nSee Also\n--------\nDataFrame.tail: Returns the last `n` rows.\n\nExamples\n--------\n>>> df = pd.DataFrame({'animal': ['alligator', 'bee', 'falcon', 'lion',\n... 'monkey', 'parrot', 'shark', 'whale', 'zebra']})\n>>> df\n animal\n0 alligator\n1 bee\n2 falcon\n3 lion\n4 monkey\n5 parrot\n6 shark\n7 whale\n8 zebra\n\nViewing the first 5 lines\n\n>>> df.head()\n animal\n0 alligator\n1 bee\n2 falcon\n3 lion\n4 monkey\n\nViewing the first `n` lines (three in this case)\n\n>>> df.head(3)\n animal\n0 alligator\n1 bee\n2 falcon\n\nFor negative values of `n`\n\n>>> df.head(-3)\n animal\n0 alligator\n1 bee\n2 falcon\n3 lion\n4 monkey\n5 parrot\n"}, "kind": 2, "label": "head", "sortText": " 72"}, {"detail": "(column: Hashable | Sequence[Hashable] = None, by=None, grid: bool = True, xlabelsize: int | None = None, xrot: float | None = None, ylabelsize: int | None = None, yrot: float | None = None, ax=None, sharex: bool = False, sharey: bool = False, figsize: tuple[int, int] | None = None, layout: tuple[int, int] | None = None, bins: int | Sequence[int] = 10, backend: str | None = None, legend: bool = False, **kwargs) -> Unknown", "kind": 3, "label": "hist", "sortText": " 73"}, {"detail": "_iAtIndexer", "kind": 22, "label": "iat", "sortText": " 74"}, {"detail": "bound method DataFrame.idxmax(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, skipna: bool = True, numeric_only: bool = False) -> Series", "kind": 2, "label": "idxmax", "sortText": " 75"}, {"detail": "bound method DataFrame.idxmin(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, skipna: bool = True, numeric_only: bool = False) -> Series", "kind": 2, "label": "idxmin", "sortText": " 76"}, {"detail": "_iLocIndexer", "kind": 22, "label": "iloc", "sortText": " 77"}, {"detail": "Index", "documentation": {"kind": "plaintext", "value": "Immutable sequence used for indexing and alignment.\n\nThe basic object storing axis labels for all pandas objects.\n\n.. versionchanged:: 2.0.0\n\n Index can hold all numpy numeric dtypes (except float16). Previously only\n int64/uint64/float64 dtypes were accepted.\n\nParameters\n----------\ndata : array-like (1-dimensional)\ndtype : str, numpy.dtype, or ExtensionDtype, optional\n Data type for the output Index. If not specified, this will be\n inferred from `data`.\n See the :ref:`user guide ` for more usages.\ncopy : bool, default False\n Copy input data.\nname : object\n Name to be stored in the index.\ntupleize_cols : bool (default: True)\n When True, attempt to create a MultiIndex if possible.\n\nSee Also\n--------\nRangeIndex : Index implementing a monotonic integer range.\nCategoricalIndex : Index of :class:`Categorical` s.\nMultiIndex : A multi-level, or hierarchical Index.\nIntervalIndex : An Index of :class:`Interval` s.\nDatetimeIndex : Index of datetime64 data.\nTimedeltaIndex : Index of timedelta64 data.\nPeriodIndex : Index of Period data.\n\nNotes\n-----\nAn Index instance can **only** contain hashable objects.\nAn Index instance *can not* hold numpy float16 dtype.\n\nExamples\n--------\n>>> pd.Index([1, 2, 3])\nIndex([1, 2, 3], dtype='int64')\n\n>>> pd.Index(list('abc'))\nIndex(['a', 'b', 'c'], dtype='object')\n\n>>> pd.Index([1, 2, 3], dtype=\"uint8\")\nIndex([1, 2, 3], dtype='uint8')\n"}, "kind": 22, "label": "index", "sortText": " 78"}, {"detail": "bound method DataFrame.infer_objects(copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Attempt to infer better dtypes for object columns.\n\nAttempts soft conversion of object-dtyped\ncolumns, leaving non-object and unconvertible\ncolumns unchanged. The inference rules are the\nsame as during normal Series/DataFrame construction.\n\nParameters\n----------\ncopy : bool, default True\n Whether to make a copy for non-object or non-inferable columns\n or Series.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\nsame type as input object\n\nSee Also\n--------\nto_datetime : Convert argument to datetime.\nto_timedelta : Convert argument to timedelta.\nto_numeric : Convert argument to numeric type.\nconvert_dtypes : Convert argument to best possible dtype.\n\nExamples\n--------\n>>> df = pd.DataFrame({\"A\": [\"a\", 1, 2, 3]})\n>>> df = df.iloc[1:]\n>>> df\n A\n1 1\n2 2\n3 3\n\n>>> df.dtypes\nA object\ndtype: object\n\n>>> df.infer_objects().dtypes\nA int64\ndtype: object\n"}, "kind": 2, "label": "infer_objects", "sortText": " 79"}, {"detail": "bound method DataFrame.info(verbose: bool | None = None, buf: WriteBuffer[str] | None = None, max_cols: int | None = None, memory_usage: bool | str | None = None, show_counts: bool | None = None) -> None", "kind": 2, "label": "info", "sortText": " 80"}, {"detail": "bound method DataFrame.insert(loc: int, column: Hashable, value: str | float | Period | ... omitted 9 union elements, allow_duplicates: bool | _NoDefault = ...) -> None", "documentation": {"kind": "plaintext", "value": "Insert column into DataFrame at specified location.\n\nRaises a ValueError if `column` is already contained in the DataFrame,\nunless `allow_duplicates` is set to True.\n\nParameters\n----------\nloc : int\n Insertion index. Must verify 0 <= loc <= len(columns).\ncolumn : str, number, or hashable object\n Label of the inserted column.\nvalue : Scalar, Series, or array-like\n Content of the inserted column.\nallow_duplicates : bool, optional, default lib.no_default\n Allow duplicate column labels to be created.\n\nSee Also\n--------\nIndex.insert : Insert new item by index.\n\nExamples\n--------\n>>> df = pd.DataFrame({'col1': [1, 2], 'col2': [3, 4]})\n>>> df\n col1 col2\n0 1 3\n1 2 4\n>>> df.insert(1, \"newcol\", [99, 99])\n>>> df\n col1 newcol col2\n0 1 99 3\n1 2 99 4\n>>> df.insert(0, \"col1\", [100, 100], allow_duplicates=True)\n>>> df\n col1 col1 newcol col2\n0 100 1 99 3\n1 100 2 99 4\n\nNotice that pandas uses index alignment in case of `value` from type `Series`:\n\n>>> df.insert(0, \"col0\", pd.Series([5, 6], index=[1, 2]))\n>>> df\n col0 col1 col1 newcol col2\n0 NaN 100 1 99 3\n1 5.0 100 2 99 4\n"}, "kind": 2, "label": "insert", "sortText": " 81"}, {"detail": "Overload[(method: Literal[\"linear\", \"time\", \"index\", \"values\", \"nearest\", ... omitted 13 literals] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., limit: int | None = ..., inplace: Literal[False] = ..., limit_direction: Literal[\"forward\", \"backward\", \"both\"] | None = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: Literal[\"infer\"] | None | _NoDefault = ..., **kwargs) -> DataFrame, (method: Literal[\"linear\", \"time\", \"index\", \"values\", \"nearest\", ... omitted 13 literals] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., limit: int | None = ..., inplace: Literal[True], limit_direction: Literal[\"forward\", \"backward\", \"both\"] | None = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: Literal[\"infer\"] | None | _NoDefault = ..., **kwargs) -> None, (method: Literal[\"linear\", \"time\", \"index\", \"values\", \"nearest\", ... omitted 13 literals] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., limit: int | None = ..., inplace: bool = ..., limit_direction: Literal[\"forward\", \"backward\", \"both\"] | None = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: Literal[\"infer\"] | None | _NoDefault = ..., **kwargs) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Fill NaN values using an interpolation method.\n\nPlease note that only ``method='linear'`` is supported for\nDataFrame/Series with a MultiIndex.\n\nParameters\n----------\nmethod : str, default 'linear'\n Interpolation technique to use. One of:\n\n * 'linear': Ignore the index and treat the values as equally\n spaced. This is the only method supported on MultiIndexes.\n * 'time': Works on daily and higher resolution data to interpolate\n given length of interval.\n * 'index', 'values': use the actual numerical values of the index.\n * 'pad': Fill in NaNs using existing values.\n * 'nearest', 'zero', 'slinear', 'quadratic', 'cubic',\n 'barycentric', 'polynomial': Passed to\n `scipy.interpolate.interp1d`, whereas 'spline' is passed to\n `scipy.interpolate.UnivariateSpline`. These methods use the numerical\n values of the index. Both 'polynomial' and 'spline' require that\n you also specify an `order` (int), e.g.\n ``df.interpolate(method='polynomial', order=5)``. Note that,\n `slinear` method in Pandas refers to the Scipy first order `spline`\n instead of Pandas first order `spline`.\n * 'krogh', 'piecewise_polynomial', 'spline', 'pchip', 'akima',\n 'cubicspline': Wrappers around the SciPy interpolation methods of\n similar names. See `Notes`.\n * 'from_derivatives': Refers to\n `scipy.interpolate.BPoly.from_derivatives`.\n\naxis : {{0 or 'index', 1 or 'columns', None}}, default None\n Axis to interpolate along. For `Series` this parameter is unused\n and defaults to 0.\nlimit : int, optional\n Maximum number of consecutive NaNs to fill. Must be greater than\n 0.\ninplace : bool, default False\n Update the data in place if possible.\nlimit_direction : {{'forward', 'backward', 'both'}}, Optional\n Consecutive NaNs will be filled in this direction.\n\n If limit is specified:\n * If 'method' is 'pad' or 'ffill', 'limit_direction' must be 'forward'.\n * If 'method' is 'backfill' or 'bfill', 'limit_direction' must be\n 'backwards'.\n\n If 'limit' is not specified:\n * If 'method' is 'backfill' or 'bfill', the default is 'backward'\n * else the default is 'forward'\n\n raises ValueError if `limit_direction` is 'forward' or 'both' and\n method is 'backfill' or 'bfill'.\n raises ValueError if `limit_direction` is 'backward' or 'both' and\n method is 'pad' or 'ffill'.\n\nlimit_area : {{`None`, 'inside', 'outside'}}, default None\n If limit is specified, consecutive NaNs will be filled with this\n restriction.\n\n * ``None``: No fill restriction.\n * 'inside': Only fill NaNs surrounded by valid values\n (interpolate).\n * 'outside': Only fill NaNs outside valid values (extrapolate).\n\ndowncast : optional, 'infer' or None, defaults to None\n Downcast dtypes if possible.\n\n .. deprecated:: 2.1.0\n\n``**kwargs`` : optional\n Keyword arguments to pass on to the interpolating function.\n\nReturns\n-------\nSeries or DataFrame or None\n Returns the same object type as the caller, interpolated at\n some or all ``NaN`` values or None if ``inplace=True``.\n\nSee Also\n--------\nfillna : Fill missing values using different methods.\nscipy.interpolate.Akima1DInterpolator : Piecewise cubic polynomials\n (Akima interpolator).\nscipy.interpolate.BPoly.from_derivatives : Piecewise polynomial in the\n Bernstein basis.\nscipy.interpolate.interp1d : Interpolate a 1-D function.\nscipy.interpolate.KroghInterpolator : Interpolate polynomial (Krogh\n interpolator).\nscipy.interpolate.PchipInterpolator : PCHIP 1-d monotonic cubic\n interpolation.\nscipy.interpolate.CubicSpline : Cubic spline data interpolator.\n\nNotes\n-----\nThe 'krogh', 'piecewise_polynomial', 'spline', 'pchip' and 'akima'\nmethods are wrappers around the respective SciPy implementations of\nsimilar names. These use the actual numerical values of the index.\nFor more information on their behavior, see the\n`SciPy documentation\n`__.\n\nExamples\n--------\nFilling in ``NaN`` in a :class:`~pandas.Series` via linear\ninterpolation.\n\n>>> s = pd.Series([0, 1, np.nan, 3])\n>>> s\n0 0.0\n1 1.0\n2 NaN\n3 3.0\ndtype: float64\n>>> s.interpolate()\n0 0.0\n1 1.0\n2 2.0\n3 3.0\ndtype: float64\n\nFilling in ``NaN`` in a Series via polynomial interpolation or splines:\nBoth 'polynomial' and 'spline' methods require that you also specify\nan ``order`` (int).\n\n>>> s = pd.Series([0, 2, np.nan, 8])\n>>> s.interpolate(method='polynomial', order=2)\n0 0.000000\n1 2.000000\n2 4.666667\n3 8.000000\ndtype: float64\n\nFill the DataFrame forward (that is, going down) along each column\nusing linear interpolation.\n\nNote how the last entry in column 'a' is interpolated differently,\nbecause there is no entry after it to use for interpolation.\nNote how the first entry in column 'b' remains ``NaN``, because there\nis no entry before it to use for interpolation.\n\n>>> df = pd.DataFrame([(0.0, np.nan, -1.0, 1.0),\n... (np.nan, 2.0, np.nan, np.nan),\n... (2.0, 3.0, np.nan, 9.0),\n... (np.nan, 4.0, -4.0, 16.0)],\n... columns=list('abcd'))\n>>> df\n a b c d\n0 0.0 NaN -1.0 1.0\n1 NaN 2.0 NaN NaN\n2 2.0 3.0 NaN 9.0\n3 NaN 4.0 -4.0 16.0\n>>> df.interpolate(method='linear', limit_direction='forward', axis=0)\n a b c d\n0 0.0 NaN -1.0 1.0\n1 1.0 2.0 -2.0 5.0\n2 2.0 3.0 -3.0 9.0\n3 2.0 4.0 -4.0 16.0\n\nUsing polynomial interpolation.\n\n>>> df['d'].interpolate(method='polynomial', order=2)\n0 1.0\n1 4.0\n2 9.0\n3 16.0\nName: d, dtype: float64\n"}, "kind": 2, "label": "interpolate", "sortText": " 82"}, {"detail": "bound method DataFrame.isetitem(loc, value) -> None", "documentation": {"kind": "plaintext", "value": "Set the given value in the column with position `loc`.\n\nThis is a positional analogue to ``__setitem__``.\n\nParameters\n----------\nloc : int or sequence of ints\n Index position for the column.\nvalue : scalar or arraylike\n Value(s) for the column.\n\nNotes\n-----\n``frame.isetitem(loc, value)`` is an in-place method as it will\nmodify the DataFrame in place (not returning a new object). In contrast to\n``frame.iloc[:, i] = value`` which will try to update the existing values in\nplace, ``frame.isetitem(loc, value)`` will not update the values of the column\nitself in place, it will instead insert a new array.\n\nIn cases where ``frame.columns`` is unique, this is equivalent to\n``frame[frame.columns[i]] = value``.\n"}, "kind": 2, "label": "isetitem", "sortText": " 83"}, {"detail": "bound method DataFrame.isin(values: Series | DataFrame | Sequence[Unknown] | Mapping[Unknown, Unknown]) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Whether each element in the DataFrame is contained in values.\n\nParameters\n----------\nvalues : iterable, Series, DataFrame or dict\n The result will only be true at a location if all the\n labels match. If `values` is a Series, that's the index. If\n `values` is a dict, the keys must be the column names,\n which must match. If `values` is a DataFrame,\n then both the index and column labels must match.\n\nReturns\n-------\nDataFrame\n DataFrame of booleans showing whether each element in the DataFrame\n is contained in values.\n\nSee Also\n--------\nDataFrame.eq: Equality test for DataFrame.\nSeries.isin: Equivalent method on Series.\nSeries.str.contains: Test if pattern or regex is contained within a\n string of a Series or Index.\n\nExamples\n--------\n>>> df = pd.DataFrame({'num_legs': [2, 4], 'num_wings': [2, 0]},\n... index=['falcon', 'dog'])\n>>> df\n num_legs num_wings\nfalcon 2 2\ndog 4 0\n\nWhen ``values`` is a list check whether every value in the DataFrame\nis present in the list (which animals have 0 or 2 legs or wings)\n\n>>> df.isin([0, 2])\n num_legs num_wings\nfalcon True True\ndog False True\n\nTo check if ``values`` is *not* in the DataFrame, use the ``~`` operator:\n\n>>> ~df.isin([0, 2])\n num_legs num_wings\nfalcon False False\ndog True False\n\nWhen ``values`` is a dict, we can pass values to check for each\ncolumn separately:\n\n>>> df.isin({'num_wings': [0, 3]})\n num_legs num_wings\nfalcon False False\ndog False True\n\nWhen ``values`` is a Series or DataFrame the index and column must\nmatch. Note that 'falcon' does not match based on the number of legs\nin other.\n\n>>> other = pd.DataFrame({'num_legs': [8, 3], 'num_wings': [0, 2]},\n... index=['spider', 'falcon'])\n>>> df.isin(other)\n num_legs num_wings\nfalcon False True\ndog False False\n"}, "kind": 2, "label": "isin", "sortText": " 84"}, {"detail": "bound method DataFrame.isna() -> DataFrame", "kind": 2, "label": "isna", "sortText": " 85"}, {"detail": "bound method DataFrame.isnull() -> DataFrame", "documentation": {"kind": "plaintext", "value": "DataFrame.isnull is an alias for DataFrame.isna.\n"}, "kind": 2, "label": "isnull", "sortText": " 86"}, {"detail": "bound method DataFrame.items() -> Iterable[tuple[Hashable, Series]]", "kind": 2, "label": "items", "sortText": " 87"}, {"detail": "bound method DataFrame.iterrows() -> Iterable[tuple[Hashable, Series]]", "documentation": {"kind": "plaintext", "value": "Iterate over DataFrame rows as (index, Series) pairs.\n\nYields\n------\nindex : label or tuple of label\n The index of the row. A tuple for a `MultiIndex`.\ndata : Series\n The data of the row as a Series.\n\nSee Also\n--------\nDataFrame.itertuples : Iterate over DataFrame rows as namedtuples of the values.\nDataFrame.items : Iterate over (column name, Series) pairs.\n\nNotes\n-----\n1. Because ``iterrows`` returns a Series for each row,\n it does **not** preserve dtypes across the rows (dtypes are\n preserved across columns for DataFrames).\n\n To preserve dtypes while iterating over the rows, it is better\n to use :meth:`itertuples` which returns namedtuples of the values\n and which is generally faster than ``iterrows``.\n\n2. You should **never modify** something you are iterating over.\n This is not guaranteed to work in all cases. Depending on the\n data types, the iterator returns a copy and not a view, and writing\n to it will have no effect.\n\nExamples\n--------\n\n>>> df = pd.DataFrame([[1, 1.5]], columns=['int', 'float'])\n>>> row = next(df.iterrows())[1]\n>>> row\nint 1.0\nfloat 1.5\nName: 0, dtype: float64\n>>> print(row['int'].dtype)\nfloat64\n>>> print(df['int'].dtype)\nint64\n"}, "kind": 2, "label": "iterrows", "sortText": " 88"}, {"detail": "bound method DataFrame.itertuples(index: bool = True, name: str | None = \"Pandas\") -> Iterable[tuple[Any, ...]]", "documentation": {"kind": "plaintext", "value": "Iterate over DataFrame rows as namedtuples.\n\nParameters\n----------\nindex : bool, default True\n If True, return the index as the first element of the tuple.\nname : str or None, default \"Pandas\"\n The name of the returned namedtuples or None to return regular\n tuples.\n\nReturns\n-------\niterator\n An object to iterate over namedtuples for each row in the\n DataFrame with the first field possibly being the index and\n following fields being the column values.\n\nSee Also\n--------\nDataFrame.iterrows : Iterate over DataFrame rows as (index, Series)\n pairs.\nDataFrame.items : Iterate over (column name, Series) pairs.\n\nNotes\n-----\nThe column names will be renamed to positional names if they are\ninvalid Python identifiers, repeated, or start with an underscore.\n\nExamples\n--------\n>>> df = pd.DataFrame({'num_legs': [4, 2], 'num_wings': [0, 2]},\n... index=['dog', 'hawk'])\n>>> df\n num_legs num_wings\ndog 4 0\nhawk 2 2\n>>> for row in df.itertuples():\n... print(row)\n...\nPandas(Index='dog', num_legs=4, num_wings=0)\nPandas(Index='hawk', num_legs=2, num_wings=2)\n\nBy setting the `index` parameter to False we can remove the index\nas the first element of the tuple:\n\n>>> for row in df.itertuples(index=False):\n... print(row)\n...\nPandas(num_legs=4, num_wings=0)\nPandas(num_legs=2, num_wings=2)\n\nWith the `name` parameter set we set a custom name for the yielded\nnamedtuples:\n\n>>> for row in df.itertuples(name='Animal'):\n... print(row)\n...\nAnimal(Index='dog', num_legs=4, num_wings=0)\nAnimal(Index='hawk', num_legs=2, num_wings=2)\n"}, "kind": 2, "label": "itertuples", "sortText": " 89"}, {"detail": "bound method DataFrame.join(other: DataFrame | Series | Iterable[DataFrame | Series], on: Hashable | Sequence[Hashable] = None, how: Literal[\"left\", \"right\", \"inner\", \"outer\", \"cross\"] = \"left\", lsuffix: str = \"\", rsuffix: str = \"\", sort: bool = False, validate: Literal[\"one_to_one\", \"1:1\", \"one_to_many\", \"1:m\", \"many_to_one\", ... omitted 3 literals] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Join columns of another DataFrame.\n\nJoin columns with `other` DataFrame either on index or on a key\ncolumn. Efficiently join multiple DataFrame objects by index at once by\npassing a list.\n\nParameters\n----------\nother : DataFrame, Series, or a list containing any combination of them\n Index should be similar to one of the columns in this one. If a\n Series is passed, its name attribute must be set, and that will be\n used as the column name in the resulting joined DataFrame.\non : str, list of str, or array-like, optional\n Column or index level name(s) in the caller to join on the index\n in `other`, otherwise joins index-on-index. If multiple\n values given, the `other` DataFrame must have a MultiIndex. Can\n pass an array as the join key if it is not already contained in\n the calling DataFrame. Like an Excel VLOOKUP operation.\nhow : {'left', 'right', 'outer', 'inner', 'cross'}, default 'left'\n How to handle the operation of the two objects.\n\n * left: use calling frame's index (or column if on is specified)\n * right: use `other`'s index.\n * outer: form union of calling frame's index (or column if on is\n specified) with `other`'s index, and sort it lexicographically.\n * inner: form intersection of calling frame's index (or column if\n on is specified) with `other`'s index, preserving the order\n of the calling's one.\n * cross: creates the cartesian product from both frames, preserves the order\n of the left keys.\nlsuffix : str, default ''\n Suffix to use from left frame's overlapping columns.\nrsuffix : str, default ''\n Suffix to use from right frame's overlapping columns.\nsort : bool, default False\n Order result DataFrame lexicographically by the join key. If False,\n the order of the join key depends on the join type (how keyword).\nvalidate : str, optional\n If specified, checks if join is of specified type.\n\n * \"one_to_one\" or \"1:1\": check if join keys are unique in both left\n and right datasets.\n * \"one_to_many\" or \"1:m\": check if join keys are unique in left dataset.\n * \"many_to_one\" or \"m:1\": check if join keys are unique in right dataset.\n * \"many_to_many\" or \"m:m\": allowed, but does not result in checks.\n\n .. versionadded:: 1.5.0\n\nReturns\n-------\nDataFrame\n A dataframe containing columns from both the caller and `other`.\n\nSee Also\n--------\nDataFrame.merge : For column(s)-on-column(s) operations.\n\nNotes\n-----\nParameters `on`, `lsuffix`, and `rsuffix` are not supported when\npassing a list of `DataFrame` objects.\n\nExamples\n--------\n>>> df = pd.DataFrame({'key': ['K0', 'K1', 'K2', 'K3', 'K4', 'K5'],\n... 'A': ['A0', 'A1', 'A2', 'A3', 'A4', 'A5']})\n\n>>> df\n key A\n0 K0 A0\n1 K1 A1\n2 K2 A2\n3 K3 A3\n4 K4 A4\n5 K5 A5\n\n>>> other = pd.DataFrame({'key': ['K0', 'K1', 'K2'],\n... 'B': ['B0', 'B1', 'B2']})\n\n>>> other\n key B\n0 K0 B0\n1 K1 B1\n2 K2 B2\n\nJoin DataFrames using their indexes.\n\n>>> df.join(other, lsuffix='_caller', rsuffix='_other')\n key_caller A key_other B\n0 K0 A0 K0 B0\n1 K1 A1 K1 B1\n2 K2 A2 K2 B2\n3 K3 A3 NaN NaN\n4 K4 A4 NaN NaN\n5 K5 A5 NaN NaN\n\nIf we want to join using the key columns, we need to set key to be\nthe index in both `df` and `other`. The joined DataFrame will have\nkey as its index.\n\n>>> df.set_index('key').join(other.set_index('key'))\n A B\nkey\nK0 A0 B0\nK1 A1 B1\nK2 A2 B2\nK3 A3 NaN\nK4 A4 NaN\nK5 A5 NaN\n\nAnother option to join using the key columns is to use the `on`\nparameter. DataFrame.join always uses `other`'s index but we can use\nany column in `df`. This method preserves the original DataFrame's\nindex in the result.\n\n>>> df.join(other.set_index('key'), on='key')\n key A B\n0 K0 A0 B0\n1 K1 A1 B1\n2 K2 A2 B2\n3 K3 A3 NaN\n4 K4 A4 NaN\n5 K5 A5 NaN\n\nUsing non-unique key values shows how they are matched.\n\n>>> df = pd.DataFrame({'key': ['K0', 'K1', 'K1', 'K3', 'K0', 'K1'],\n... 'A': ['A0', 'A1', 'A2', 'A3', 'A4', 'A5']})\n\n>>> df\n key A\n0 K0 A0\n1 K1 A1\n2 K1 A2\n3 K3 A3\n4 K0 A4\n5 K1 A5\n\n>>> df.join(other.set_index('key'), on='key', validate='m:1')\n key A B\n0 K0 A0 B0\n1 K1 A1 B1\n2 K1 A2 B1\n3 K3 A3 NaN\n4 K0 A4 B0\n5 K1 A5 B1\n"}, "kind": 2, "label": "join", "sortText": " 90"}, {"detail": "bound method DataFrame.keys() -> Index", "documentation": {"kind": "plaintext", "value": "Get the 'info axis' (see Indexing for more).\n\nThis is index for Series, columns for DataFrame.\n\nReturns\n-------\nIndex\n Info axis.\n\nExamples\n--------\n>>> d = pd.DataFrame(data={'A': [1, 2, 3], 'B': [0, 4, 8]},\n... index=['a', 'b', 'c'])\n>>> d\n A B\na 1 0\nb 2 4\nc 3 8\n>>> d.keys()\nIndex(['A', 'B'], dtype='object')\n"}, "kind": 2, "label": "keys", "sortText": " 91"}, {"detail": "bound method DataFrame.kurt(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "kurt", "sortText": " 92"}, {"detail": "(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 3, "label": "kurtosis", "sortText": " 93"}, {"detail": "bound method DataFrame.last(offset) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Select final periods of time series data based on a date offset.\n\n.. deprecated:: 2.1\n :meth:`.last` is deprecated and will be removed in a future version.\n Please create a mask and filter using `.loc` instead.\n\nFor a DataFrame with a sorted DatetimeIndex, this function\nselects the last few rows based on a date offset.\n\nParameters\n----------\noffset : str, DateOffset, dateutil.relativedelta\n The offset length of the data that will be selected. For instance,\n '3D' will display all the rows having their index within the last 3 days.\n\nReturns\n-------\nSeries or DataFrame\n A subset of the caller.\n\nRaises\n------\nTypeError\n If the index is not a :class:`DatetimeIndex`\n\nSee Also\n--------\nfirst : Select initial periods of time series based on a date offset.\nat_time : Select values at a particular time of the day.\nbetween_time : Select values between particular times of the day.\n\nNotes\n-----\n.. deprecated:: 2.1.0\n Please create a mask and filter using `.loc` instead\n\nExamples\n--------\n>>> i = pd.date_range('2018-04-09', periods=4, freq='2D')\n>>> ts = pd.DataFrame({'A': [1, 2, 3, 4]}, index=i)\n>>> ts\n A\n2018-04-09 1\n2018-04-11 2\n2018-04-13 3\n2018-04-15 4\n\nGet the rows for the last 3 days:\n\n>>> ts.last('3D') # doctest: +SKIP\n A\n2018-04-13 3\n2018-04-15 4\n\nNotice the data for 3 last calendar days were returned, not the last\n3 observed days in the dataset, and therefore data for 2018-04-11 was\nnot returned.\n"}, "kind": 2, "label": "last", "sortText": " 94"}, {"detail": "bound method DataFrame.last_valid_index() -> Hashable", "kind": 2, "label": "last_valid_index", "sortText": " 95"}, {"detail": "bound method DataFrame.le(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "le", "sortText": " 96"}, {"detail": "_LocIndexer", "kind": 22, "label": "loc", "sortText": " 97"}, {"detail": "bound method DataFrame.lt(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "lt", "sortText": " 98"}, {"detail": "bound method DataFrame.map(func: (Any, /) -> Any, na_action: str | None = None, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Apply a function to a Dataframe elementwise.\n\n.. versionadded:: 2.1.0\n\n DataFrame.applymap was deprecated and renamed to DataFrame.map.\n\nThis method applies a function that accepts and returns a scalar\nto every element of a DataFrame.\n\nParameters\n----------\nfunc : callable\n Python function, returns a single value from a single value.\nna_action : {None, 'ignore'}, default None\n If 'ignore', propagate NaN values, without passing them to func.\n**kwargs\n Additional keyword arguments to pass as keywords arguments to\n `func`.\n\nReturns\n-------\nDataFrame\n Transformed DataFrame.\n\nSee Also\n--------\nDataFrame.apply : Apply a function along input axis of DataFrame.\nDataFrame.replace: Replace values given in `to_replace` with `value`.\nSeries.map : Apply a function elementwise on a Series.\n\nExamples\n--------\n>>> df = pd.DataFrame([[1, 2.12], [3.356, 4.567]])\n>>> df\n 0 1\n0 1.000 2.120\n1 3.356 4.567\n\n>>> df.map(lambda x: len(str(x)))\n 0 1\n0 3 4\n1 5 5\n\nLike Series.map, NA values can be ignored:\n\n>>> df_copy = df.copy()\n>>> df_copy.iloc[0, 0] = pd.NA\n>>> df_copy.map(lambda x: len(str(x)), na_action='ignore')\n 0 1\n0 NaN 4\n1 5.0 5\n\nIt is also possible to use `map` with functions that are not\n`lambda` functions:\n\n>>> df.map(round, ndigits=1)\n 0 1\n0 1.0 2.1\n1 3.4 4.6\n\nNote that a vectorized version of `func` often exists, which will\nbe much faster. You could square each number elementwise.\n\n>>> df.map(lambda x: x**2)\n 0 1\n0 1.000000 4.494400\n1 11.262736 20.857489\n\nBut it's better to avoid map in that case.\n\n>>> df ** 2\n 0 1\n0 1.000000 4.494400\n1 11.262736 20.857489\n"}, "kind": 2, "label": "map", "sortText": " 99"}, {"detail": "Overload[(cond, other=..., *, inplace: Literal[False] = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> DataFrame, (cond, other=..., *, inplace: Literal[True], axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> None, (cond, other=..., *, inplace: bool = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> DataFrame | None]", "kind": 2, "label": "mask", "sortText": "100"}, {"detail": "bound method DataFrame.max(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "max", "sortText": "101"}, {"detail": "bound method DataFrame.mean(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "mean", "sortText": "102"}, {"detail": "bound method DataFrame.median(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "median", "sortText": "103"}, {"detail": "bound method DataFrame.melt(id_vars=None, value_vars=None, var_name=None, value_name: Hashable = \"value\", col_level: Hashable = None, ignore_index: bool = True) -> DataFrame", "kind": 2, "label": "melt", "sortText": "104"}, {"detail": "bound method DataFrame.memory_usage(index: bool = True, deep: bool = False) -> Series", "documentation": {"kind": "plaintext", "value": "Return the memory usage of each column in bytes.\n\nThe memory usage can optionally include the contribution of\nthe index and elements of `object` dtype.\n\nThis value is displayed in `DataFrame.info` by default. This can be\nsuppressed by setting ``pandas.options.display.memory_usage`` to False.\n\nParameters\n----------\nindex : bool, default True\n Specifies whether to include the memory usage of the DataFrame's\n index in returned Series. If ``index=True``, the memory usage of\n the index is the first item in the output.\ndeep : bool, default False\n If True, introspect the data deeply by interrogating\n `object` dtypes for system-level memory consumption, and include\n it in the returned values.\n\nReturns\n-------\nSeries\n A Series whose index is the original column names and whose values\n is the memory usage of each column in bytes.\n\nSee Also\n--------\nnumpy.ndarray.nbytes : Total bytes consumed by the elements of an\n ndarray.\nSeries.memory_usage : Bytes consumed by a Series.\nCategorical : Memory-efficient array for string values with\n many repeated values.\nDataFrame.info : Concise summary of a DataFrame.\n\nNotes\n-----\nSee the :ref:`Frequently Asked Questions ` for more\ndetails.\n\nExamples\n--------\n>>> dtypes = ['int64', 'float64', 'complex128', 'object', 'bool']\n>>> data = dict([(t, np.ones(shape=5000, dtype=int).astype(t))\n... for t in dtypes])\n>>> df = pd.DataFrame(data)\n>>> df.head()\n int64 float64 complex128 object bool\n0 1 1.0 1.0+0.0j 1 True\n1 1 1.0 1.0+0.0j 1 True\n2 1 1.0 1.0+0.0j 1 True\n3 1 1.0 1.0+0.0j 1 True\n4 1 1.0 1.0+0.0j 1 True\n\n>>> df.memory_usage()\nIndex 128\nint64 40000\nfloat64 40000\ncomplex128 80000\nobject 40000\nbool 5000\ndtype: int64\n\n>>> df.memory_usage(index=False)\nint64 40000\nfloat64 40000\ncomplex128 80000\nobject 40000\nbool 5000\ndtype: int64\n\nThe memory footprint of `object` dtype columns is ignored by default:\n\n>>> df.memory_usage(deep=True)\nIndex 128\nint64 40000\nfloat64 40000\ncomplex128 80000\nobject 180000\nbool 5000\ndtype: int64\n\nUse a Categorical for efficient storage of an object-dtype column with\nmany repeated values.\n\n>>> df['object'].astype('category').memory_usage(deep=True)\n5244\n"}, "kind": 2, "label": "memory_usage", "sortText": "105"}, {"detail": "bound method DataFrame.merge(right: DataFrame | Series, how: Literal[\"left\", \"right\", \"inner\", \"outer\", \"cross\"] = \"inner\", on: Hashable | Sequence[Hashable] | ExtensionArray | ... omitted 3 union elements = None, left_on: Hashable | Sequence[Hashable] | ExtensionArray | ... omitted 3 union elements = None, right_on: Hashable | Sequence[Hashable] | ExtensionArray | ... omitted 3 union elements = None, left_index: bool = False, right_index: bool = False, sort: bool = False, suffixes: tuple[str | None, str | None] = ..., copy: bool | None = None, indicator: str | bool = False, validate: Literal[\"one_to_one\", \"1:1\", \"one_to_many\", \"1:m\", \"many_to_one\", ... omitted 3 literals] | None = None) -> DataFrame", "kind": 2, "label": "merge", "sortText": "106"}, {"detail": "bound method DataFrame.min(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "min", "sortText": "107"}, {"detail": "bound method DataFrame.mod(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "mod", "sortText": "108"}, {"detail": "bound method DataFrame.mode(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, numeric_only: bool = False, dropna: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Get the mode(s) of each element along the selected axis.\n\nThe mode of a set of values is the value that appears most often.\nIt can be multiple values.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to iterate over while searching for the mode:\n\n * 0 or 'index' : get mode of each column\n * 1 or 'columns' : get mode of each row.\n\nnumeric_only : bool, default False\n If True, only apply to numeric columns.\ndropna : bool, default True\n Don't consider counts of NaN/NaT.\n\nReturns\n-------\nDataFrame\n The modes of each column or row.\n\nSee Also\n--------\nSeries.mode : Return the highest frequency value in a Series.\nSeries.value_counts : Return the counts of values in a Series.\n\nExamples\n--------\n>>> df = pd.DataFrame([('bird', 2, 2),\n... ('mammal', 4, np.nan),\n... ('arthropod', 8, 0),\n... ('bird', 2, np.nan)],\n... index=('falcon', 'horse', 'spider', 'ostrich'),\n... columns=('species', 'legs', 'wings'))\n>>> df\n species legs wings\nfalcon bird 2 2.0\nhorse mammal 4 NaN\nspider arthropod 8 0.0\nostrich bird 2 NaN\n\nBy default, missing values are not considered, and the mode of wings\nare both 0 and 2. Because the resulting DataFrame has two rows,\nthe second row of ``species`` and ``legs`` contains ``NaN``.\n\n>>> df.mode()\n species legs wings\n0 bird 2.0 0.0\n1 NaN NaN 2.0\n\nSetting ``dropna=False`` ``NaN`` values are considered and they can be\nthe mode (like for wings).\n\n>>> df.mode(dropna=False)\n species legs wings\n0 bird 2 NaN\n\nSetting ``numeric_only=True``, only the mode of numeric columns is\ncomputed, and columns of other types are ignored.\n\n>>> df.mode(numeric_only=True)\n legs wings\n0 2.0 0.0\n1 NaN 2.0\n\nTo compute the mode over columns and not rows, use the axis parameter:\n\n>>> df.mode(axis='columns', numeric_only=True)\n 0 1\nfalcon 2.0 NaN\nhorse 4.0 NaN\nspider 0.0 8.0\nostrich 2.0 NaN\n"}, "kind": 2, "label": "mode", "sortText": "109"}, {"detail": "bound method DataFrame.mul(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "mul", "sortText": "110"}, {"detail": "(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 3, "label": "multiply", "sortText": "111"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "name", "sortText": "112"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "ndim", "sortText": "113"}, {"detail": "bound method DataFrame.ne(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "ne", "sortText": "114"}, {"detail": "bound method DataFrame.nlargest(n: int, columns: Hashable | Sequence[Hashable], keep: Literal[\"first\", \"last\", \"all\"] = \"first\") -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the first `n` rows ordered by `columns` in descending order.\n\nReturn the first `n` rows with the largest values in `columns`, in\ndescending order. The columns that are not specified are returned as\nwell, but not used for ordering.\n\nThis method is equivalent to\n``df.sort_values(columns, ascending=False).head(n)``, but more\nperformant.\n\nParameters\n----------\nn : int\n Number of rows to return.\ncolumns : label or list of labels\n Column label(s) to order by.\nkeep : {'first', 'last', 'all'}, default 'first'\n Where there are duplicate values:\n\n - ``first`` : prioritize the first occurrence(s)\n - ``last`` : prioritize the last occurrence(s)\n - ``all`` : keep all the ties of the smallest item even if it means\n selecting more than ``n`` items.\n\nReturns\n-------\nDataFrame\n The first `n` rows ordered by the given columns in descending\n order.\n\nSee Also\n--------\nDataFrame.nsmallest : Return the first `n` rows ordered by `columns` in\n ascending order.\nDataFrame.sort_values : Sort DataFrame by the values.\nDataFrame.head : Return the first `n` rows without re-ordering.\n\nNotes\n-----\nThis function cannot be used with all column types. For example, when\nspecifying columns with `object` or `category` dtypes, ``TypeError`` is\nraised.\n\nExamples\n--------\n>>> df = pd.DataFrame({'population': [59000000, 65000000, 434000,\n... 434000, 434000, 337000, 11300,\n... 11300, 11300],\n... 'GDP': [1937894, 2583560 , 12011, 4520, 12128,\n... 17036, 182, 38, 311],\n... 'alpha-2': [\"IT\", \"FR\", \"MT\", \"MV\", \"BN\",\n... \"IS\", \"NR\", \"TV\", \"AI\"]},\n... index=[\"Italy\", \"France\", \"Malta\",\n... \"Maldives\", \"Brunei\", \"Iceland\",\n... \"Nauru\", \"Tuvalu\", \"Anguilla\"])\n>>> df\n population GDP alpha-2\nItaly 59000000 1937894 IT\nFrance 65000000 2583560 FR\nMalta 434000 12011 MT\nMaldives 434000 4520 MV\nBrunei 434000 12128 BN\nIceland 337000 17036 IS\nNauru 11300 182 NR\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\n\nIn the following example, we will use ``nlargest`` to select the three\nrows having the largest values in column \"population\".\n\n>>> df.nlargest(3, 'population')\n population GDP alpha-2\nFrance 65000000 2583560 FR\nItaly 59000000 1937894 IT\nMalta 434000 12011 MT\n\nWhen using ``keep='last'``, ties are resolved in reverse order:\n\n>>> df.nlargest(3, 'population', keep='last')\n population GDP alpha-2\nFrance 65000000 2583560 FR\nItaly 59000000 1937894 IT\nBrunei 434000 12128 BN\n\nWhen using ``keep='all'``, the number of element kept can go beyond ``n``\nif there are duplicate values for the smallest element, all the\nties are kept:\n\n>>> df.nlargest(3, 'population', keep='all')\n population GDP alpha-2\nFrance 65000000 2583560 FR\nItaly 59000000 1937894 IT\nMalta 434000 12011 MT\nMaldives 434000 4520 MV\nBrunei 434000 12128 BN\n\nHowever, ``nlargest`` does not keep ``n`` distinct largest elements:\n\n>>> df.nlargest(5, 'population', keep='all')\n population GDP alpha-2\nFrance 65000000 2583560 FR\nItaly 59000000 1937894 IT\nMalta 434000 12011 MT\nMaldives 434000 4520 MV\nBrunei 434000 12128 BN\n\nTo order by the largest values in column \"population\" and then \"GDP\",\nwe can specify multiple columns like in the next example.\n\n>>> df.nlargest(3, ['population', 'GDP'])\n population GDP alpha-2\nFrance 65000000 2583560 FR\nItaly 59000000 1937894 IT\nBrunei 434000 12128 BN\n"}, "kind": 2, "label": "nlargest", "sortText": "115"}, {"detail": "bound method DataFrame.notna() -> DataFrame", "kind": 2, "label": "notna", "sortText": "116"}, {"detail": "bound method DataFrame.notnull() -> DataFrame", "documentation": {"kind": "plaintext", "value": "DataFrame.notnull is an alias for DataFrame.notna.\n"}, "kind": 2, "label": "notnull", "sortText": "117"}, {"detail": "bound method DataFrame.nsmallest(n: int, columns: Hashable | Sequence[Hashable], keep: Literal[\"first\", \"last\", \"all\"] = \"first\") -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the first `n` rows ordered by `columns` in ascending order.\n\nReturn the first `n` rows with the smallest values in `columns`, in\nascending order. The columns that are not specified are returned as\nwell, but not used for ordering.\n\nThis method is equivalent to\n``df.sort_values(columns, ascending=True).head(n)``, but more\nperformant.\n\nParameters\n----------\nn : int\n Number of items to retrieve.\ncolumns : list or str\n Column name or names to order by.\nkeep : {'first', 'last', 'all'}, default 'first'\n Where there are duplicate values:\n\n - ``first`` : take the first occurrence.\n - ``last`` : take the last occurrence.\n - ``all`` : keep all the ties of the largest item even if it means\n selecting more than ``n`` items.\n\nReturns\n-------\nDataFrame\n\nSee Also\n--------\nDataFrame.nlargest : Return the first `n` rows ordered by `columns` in\n descending order.\nDataFrame.sort_values : Sort DataFrame by the values.\nDataFrame.head : Return the first `n` rows without re-ordering.\n\nExamples\n--------\n>>> df = pd.DataFrame({'population': [59000000, 65000000, 434000,\n... 434000, 434000, 337000, 337000,\n... 11300, 11300],\n... 'GDP': [1937894, 2583560 , 12011, 4520, 12128,\n... 17036, 182, 38, 311],\n... 'alpha-2': [\"IT\", \"FR\", \"MT\", \"MV\", \"BN\",\n... \"IS\", \"NR\", \"TV\", \"AI\"]},\n... index=[\"Italy\", \"France\", \"Malta\",\n... \"Maldives\", \"Brunei\", \"Iceland\",\n... \"Nauru\", \"Tuvalu\", \"Anguilla\"])\n>>> df\n population GDP alpha-2\nItaly 59000000 1937894 IT\nFrance 65000000 2583560 FR\nMalta 434000 12011 MT\nMaldives 434000 4520 MV\nBrunei 434000 12128 BN\nIceland 337000 17036 IS\nNauru 337000 182 NR\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\n\nIn the following example, we will use ``nsmallest`` to select the\nthree rows having the smallest values in column \"population\".\n\n>>> df.nsmallest(3, 'population')\n population GDP alpha-2\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\nIceland 337000 17036 IS\n\nWhen using ``keep='last'``, ties are resolved in reverse order:\n\n>>> df.nsmallest(3, 'population', keep='last')\n population GDP alpha-2\nAnguilla 11300 311 AI\nTuvalu 11300 38 TV\nNauru 337000 182 NR\n\nWhen using ``keep='all'``, the number of element kept can go beyond ``n``\nif there are duplicate values for the largest element, all the\nties are kept.\n\n>>> df.nsmallest(3, 'population', keep='all')\n population GDP alpha-2\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\nIceland 337000 17036 IS\nNauru 337000 182 NR\n\nHowever, ``nsmallest`` does not keep ``n`` distinct\nsmallest elements:\n\n>>> df.nsmallest(4, 'population', keep='all')\n population GDP alpha-2\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\nIceland 337000 17036 IS\nNauru 337000 182 NR\n\nTo order by the smallest values in column \"population\" and then \"GDP\", we can\nspecify multiple columns like in the next example.\n\n>>> df.nsmallest(3, ['population', 'GDP'])\n population GDP alpha-2\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\nNauru 337000 182 NR\n"}, "kind": 2, "label": "nsmallest", "sortText": "118"}, {"detail": "bound method DataFrame.nunique(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, dropna: bool = True) -> Series", "documentation": {"kind": "plaintext", "value": "Count number of distinct elements in specified axis.\n\nReturn Series with number of distinct elements. Can ignore NaN\nvalues.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to use. 0 or 'index' for row-wise, 1 or 'columns' for\n column-wise.\ndropna : bool, default True\n Don't include NaN in the counts.\n\nReturns\n-------\nSeries\n\nSee Also\n--------\nSeries.nunique: Method nunique for Series.\nDataFrame.count: Count non-NA cells for each column or row.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [4, 5, 6], 'B': [4, 1, 1]})\n>>> df.nunique()\nA 3\nB 2\ndtype: int64\n\n>>> df.nunique(axis=1)\n0 1\n1 2\n2 2\ndtype: int64\n"}, "kind": 2, "label": "nunique", "sortText": "119"}, {"detail": "bound method DataFrame.pad(*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = None, inplace: bool = False, limit: None | int = None, downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame | None", "documentation": {"kind": "plaintext", "value": "Fill NA/NaN values by propagating the last valid observation to next valid.\n\n.. deprecated:: 2.0\n\n {klass}.pad is deprecated. Use {klass}.ffill instead.\n\nReturns\n-------\n{klass} or None\n Object with missing values filled or None if ``inplace=True``.\n\nExamples\n--------\nPlease see examples for :meth:`DataFrame.ffill` or :meth:`Series.ffill`.\n"}, "kind": 2, "label": "pad", "sortText": "120"}, {"detail": "bound method DataFrame.pct_change(periods: int = 1, fill_method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None | _NoDefault = ..., limit: int | None | _NoDefault = ..., freq=None, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Fractional change between the current and a prior element.\n\nComputes the fractional change from the immediately previous row by\ndefault. This is useful in comparing the fraction of change in a time\nseries of elements.\n\n.. note::\n\n Despite the name of this method, it calculates fractional change\n (also known as per unit change or relative change) and not\n percentage change. If you need the percentage change, multiply\n these values by 100.\n\nParameters\n----------\nperiods : int, default 1\n Periods to shift for forming percent change.\nfill_method : {'backfill', 'bfill', 'pad', 'ffill', None}, default 'pad'\n How to handle NAs **before** computing percent changes.\n\n .. deprecated:: 2.1\n All options of `fill_method` are deprecated except `fill_method=None`.\n\nlimit : int, default None\n The number of consecutive NAs to fill before stopping.\n\n .. deprecated:: 2.1\n\nfreq : DateOffset, timedelta, or str, optional\n Increment to use from time series API (e.g. 'ME' or BDay()).\n**kwargs\n Additional keyword arguments are passed into\n `DataFrame.shift` or `Series.shift`.\n\nReturns\n-------\nSeries or DataFrame\n The same type as the calling object.\n\nSee Also\n--------\nSeries.diff : Compute the difference of two elements in a Series.\nDataFrame.diff : Compute the difference of two elements in a DataFrame.\nSeries.shift : Shift the index by some number of periods.\nDataFrame.shift : Shift the index by some number of periods.\n\nExamples\n--------\n**Series**\n\n>>> s = pd.Series([90, 91, 85])\n>>> s\n0 90\n1 91\n2 85\ndtype: int64\n\n>>> s.pct_change()\n0 NaN\n1 0.011111\n2 -0.065934\ndtype: float64\n\n>>> s.pct_change(periods=2)\n0 NaN\n1 NaN\n2 -0.055556\ndtype: float64\n\nSee the percentage change in a Series where filling NAs with last\nvalid observation forward to next valid.\n\n>>> s = pd.Series([90, 91, None, 85])\n>>> s\n0 90.0\n1 91.0\n2 NaN\n3 85.0\ndtype: float64\n\n>>> s.ffill().pct_change()\n0 NaN\n1 0.011111\n2 0.000000\n3 -0.065934\ndtype: float64\n\n**DataFrame**\n\nPercentage change in French franc, Deutsche Mark, and Italian lira from\n1980-01-01 to 1980-03-01.\n\n>>> df = pd.DataFrame({\n... 'FR': [4.0405, 4.0963, 4.3149],\n... 'GR': [1.7246, 1.7482, 1.8519],\n... 'IT': [804.74, 810.01, 860.13]},\n... index=['1980-01-01', '1980-02-01', '1980-03-01'])\n>>> df\n FR GR IT\n1980-01-01 4.0405 1.7246 804.74\n1980-02-01 4.0963 1.7482 810.01\n1980-03-01 4.3149 1.8519 860.13\n\n>>> df.pct_change()\n FR GR IT\n1980-01-01 NaN NaN NaN\n1980-02-01 0.013810 0.013684 0.006549\n1980-03-01 0.053365 0.059318 0.061876\n\nPercentage of change in GOOG and APPL stock volume. Shows computing\nthe percentage change between columns.\n\n>>> df = pd.DataFrame({\n... '2016': [1769950, 30586265],\n... '2015': [1500923, 40912316],\n... '2014': [1371819, 41403351]},\n... index=['GOOG', 'APPL'])\n>>> df\n 2016 2015 2014\nGOOG 1769950 1500923 1371819\nAPPL 30586265 40912316 41403351\n\n>>> df.pct_change(axis='columns', periods=-1)\n 2016 2015 2014\nGOOG 0.179241 0.094112 NaN\nAPPL -0.252395 -0.011860 NaN\n"}, "kind": 2, "label": "pct_change", "sortText": "121"}, {"detail": "bound method DataFrame.pipe[T](func: ((...) -> T) | tuple[(...) -> T, str], *args, **kwargs) -> T", "documentation": {"kind": "plaintext", "value": "Apply chainable functions that expect Series or DataFrames.\n\nParameters\n----------\nfunc : function\n Function to apply to the {klass}.\n ``args``, and ``kwargs`` are passed into ``func``.\n Alternatively a ``(callable, data_keyword)`` tuple where\n ``data_keyword`` is a string indicating the keyword of\n ``callable`` that expects the {klass}.\n*args : iterable, optional\n Positional arguments passed into ``func``.\n**kwargs : mapping, optional\n A dictionary of keyword arguments passed into ``func``.\n\nReturns\n-------\nthe return type of ``func``.\n\nSee Also\n--------\nDataFrame.apply : Apply a function along input axis of DataFrame.\nDataFrame.map : Apply a function elementwise on a whole DataFrame.\nSeries.map : Apply a mapping correspondence on a\n :class:`~pandas.Series`.\n\nNotes\n-----\nUse ``.pipe`` when chaining together functions that expect\nSeries, DataFrames or GroupBy objects.\n\nExamples\n--------\nConstructing a income DataFrame from a dictionary.\n\n>>> data = [[8000, 1000], [9500, np.nan], [5000, 2000]]\n>>> df = pd.DataFrame(data, columns=['Salary', 'Others'])\n>>> df\n Salary Others\n0 8000 1000.0\n1 9500 NaN\n2 5000 2000.0\n\nFunctions that perform tax reductions on an income DataFrame.\n\n>>> def subtract_federal_tax(df):\n... return df * 0.9\n>>> def subtract_state_tax(df, rate):\n... return df * (1 - rate)\n>>> def subtract_national_insurance(df, rate, rate_increase):\n... new_rate = rate + rate_increase\n... return df * (1 - new_rate)\n\nInstead of writing\n\n>>> subtract_national_insurance(\n... subtract_state_tax(subtract_federal_tax(df), rate=0.12),\n... rate=0.05,\n... rate_increase=0.02) # doctest: +SKIP\n\nYou can write\n\n>>> (\n... df.pipe(subtract_federal_tax)\n... .pipe(subtract_state_tax, rate=0.12)\n... .pipe(subtract_national_insurance, rate=0.05, rate_increase=0.02)\n... )\n Salary Others\n0 5892.48 736.56\n1 6997.32 NaN\n2 3682.80 1473.12\n\nIf you have a function that takes the data as (say) the second\nargument, pass a tuple indicating which keyword expects the\ndata. For example, suppose ``national_insurance`` takes its data as ``df``\nin the second argument:\n\n>>> def subtract_national_insurance(rate, df, rate_increase):\n... new_rate = rate + rate_increase\n... return df * (1 - new_rate)\n>>> (\n... df.pipe(subtract_federal_tax)\n... .pipe(subtract_state_tax, rate=0.12)\n... .pipe(\n... (subtract_national_insurance, 'df'),\n... rate=0.05,\n... rate_increase=0.02\n... )\n... )\n Salary Others\n0 5892.48 736.56\n1 6997.32 NaN\n2 3682.80 1473.12\n"}, "kind": 2, "label": "pipe", "sortText": "122"}, {"detail": "bound method DataFrame.pivot(*, columns, index=..., values=...) -> DataFrame", "kind": 2, "label": "pivot", "sortText": "123"}, {"detail": "bound method DataFrame.pivot_table(values=None, index=None, columns=None, aggfunc: ((...) -> Unknown) | str | list[((...) -> Unknown) | str] | MutableMapping[Hashable, ((...) -> Unknown) | str | list[((...) -> Unknown) | str]] = \"mean\", fill_value=None, margins: bool = False, dropna: bool = True, margins_name: Hashable = \"All\", observed: bool | _NoDefault = ..., sort: bool = True) -> DataFrame", "kind": 2, "label": "pivot_table", "sortText": "124"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "plot", "sortText": "125"}, {"detail": "bound method DataFrame.pop(item: Hashable) -> Series", "documentation": {"kind": "plaintext", "value": "Return item and drop from frame. Raise KeyError if not found.\n\nParameters\n----------\nitem : label\n Label of column to be popped.\n\nReturns\n-------\nSeries\n\nExamples\n--------\n>>> df = pd.DataFrame([('falcon', 'bird', 389.0),\n... ('parrot', 'bird', 24.0),\n... ('lion', 'mammal', 80.5),\n... ('monkey', 'mammal', np.nan)],\n... columns=('name', 'class', 'max_speed'))\n>>> df\n name class max_speed\n0 falcon bird 389.0\n1 parrot bird 24.0\n2 lion mammal 80.5\n3 monkey mammal NaN\n\n>>> df.pop('class')\n0 bird\n1 bird\n2 mammal\n3 mammal\nName: class, dtype: object\n\n>>> df\n name max_speed\n0 falcon 389.0\n1 parrot 24.0\n2 lion 80.5\n3 monkey NaN\n"}, "kind": 2, "label": "pop", "sortText": "126"}, {"detail": "bound method DataFrame.pow(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "pow", "sortText": "127"}, {"detail": "bound method DataFrame.prod(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, min_count: int = 0, **kwargs) -> Unknown", "kind": 2, "label": "prod", "sortText": "128"}, {"detail": "(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, min_count: int = 0, **kwargs) -> Unknown", "kind": 3, "label": "product", "sortText": "129"}, {"detail": "Overload[(q: float = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., numeric_only: bool = ..., interpolation: Literal[\"linear\", \"lower\", \"higher\", \"midpoint\", \"nearest\"] = ..., method: Literal[\"single\", \"table\"] = ...) -> Series, (q: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | Series | Sequence[float], axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., numeric_only: bool = ..., interpolation: Literal[\"linear\", \"lower\", \"higher\", \"midpoint\", \"nearest\"] = ..., method: Literal[\"single\", \"table\"] = ...) -> Series | DataFrame, (q: float | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | ... omitted 3 union elements = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., numeric_only: bool = ..., interpolation: Literal[\"linear\", \"lower\", \"higher\", \"midpoint\", \"nearest\"] = ..., method: Literal[\"single\", \"table\"] = ...) -> Series | DataFrame]", "documentation": {"kind": "plaintext", "value": "Return values at the given quantile over requested axis.\n\nParameters\n----------\nq : float or array-like, default 0.5 (50% quantile)\n Value between 0 <= q <= 1, the quantile(s) to compute.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Equals 0 or 'index' for row-wise, 1 or 'columns' for column-wise.\nnumeric_only : bool, default False\n Include only `float`, `int` or `boolean` data.\n\n .. versionchanged:: 2.0.0\n The default value of ``numeric_only`` is now ``False``.\n\ninterpolation : {'linear', 'lower', 'higher', 'midpoint', 'nearest'}\n This optional parameter specifies the interpolation method to use,\n when the desired quantile lies between two data points `i` and `j`:\n\n * linear: `i + (j - i) * fraction`, where `fraction` is the\n fractional part of the index surrounded by `i` and `j`.\n * lower: `i`.\n * higher: `j`.\n * nearest: `i` or `j` whichever is nearest.\n * midpoint: (`i` + `j`) / 2.\nmethod : {'single', 'table'}, default 'single'\n Whether to compute quantiles per-column ('single') or over all columns\n ('table'). When 'table', the only allowed interpolation methods are\n 'nearest', 'lower', and 'higher'.\n\nReturns\n-------\nSeries or DataFrame\n\n If ``q`` is an array, a DataFrame will be returned where the\n index is ``q``, the columns are the columns of self, and the\n values are the quantiles.\n If ``q`` is a float, a Series will be returned where the\n index is the columns of self and the values are the quantiles.\n\nSee Also\n--------\ncore.window.rolling.Rolling.quantile: Rolling quantile.\nnumpy.percentile: Numpy function to compute the percentile.\n\nExamples\n--------\n>>> df = pd.DataFrame(np.array([[1, 1], [2, 10], [3, 100], [4, 100]]),\n... columns=['a', 'b'])\n>>> df.quantile(.1)\na 1.3\nb 3.7\nName: 0.1, dtype: float64\n>>> df.quantile([.1, .5])\n a b\n0.1 1.3 3.7\n0.5 2.5 55.0\n\nSpecifying `method='table'` will compute the quantile over all columns.\n\n>>> df.quantile(.1, method=\"table\", interpolation=\"nearest\")\na 1\nb 1\nName: 0.1, dtype: int64\n>>> df.quantile([.1, .5], method=\"table\", interpolation=\"nearest\")\n a b\n0.1 1 1\n0.5 3 100\n\nSpecifying `numeric_only=False` will also compute the quantile of\ndatetime and timedelta data.\n\n>>> df = pd.DataFrame({'A': [1, 2],\n... 'B': [pd.Timestamp('2010'),\n... pd.Timestamp('2011')],\n... 'C': [pd.Timedelta('1 days'),\n... pd.Timedelta('2 days')]})\n>>> df.quantile(0.5, numeric_only=False)\nA 1.5\nB 2010-07-02 12:00:00\nC 1 days 12:00:00\nName: 0.5, dtype: object\n"}, "kind": 2, "label": "quantile", "sortText": "130"}, {"detail": "Overload[(expr: str, *, inplace: Literal[False] = ..., **kwargs) -> DataFrame, (expr: str, *, inplace: Literal[True], **kwargs) -> None, (expr: str, *, inplace: bool = ..., **kwargs) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Query the columns of a DataFrame with a boolean expression.\n\nParameters\n----------\nexpr : str\n The query string to evaluate.\n\n You can refer to variables\n in the environment by prefixing them with an '@' character like\n ``@a + b``.\n\n You can refer to column names that are not valid Python variable names\n by surrounding them in backticks. Thus, column names containing spaces\n or punctuations (besides underscores) or starting with digits must be\n surrounded by backticks. (For example, a column named \"Area (cm^2)\" would\n be referenced as ```Area (cm^2)```). Column names which are Python keywords\n (like \"list\", \"for\", \"import\", etc) cannot be used.\n\n For example, if one of your columns is called ``a a`` and you want\n to sum it with ``b``, your query should be ```a a` + b``.\n\ninplace : bool\n Whether to modify the DataFrame rather than creating a new one.\n**kwargs\n See the documentation for :func:`eval` for complete details\n on the keyword arguments accepted by :meth:`DataFrame.query`.\n\nReturns\n-------\nDataFrame or None\n DataFrame resulting from the provided query expression or\n None if ``inplace=True``.\n\nSee Also\n--------\neval : Evaluate a string describing operations on\n DataFrame columns.\nDataFrame.eval : Evaluate a string describing operations on\n DataFrame columns.\n\nNotes\n-----\nThe result of the evaluation of this expression is first passed to\n:attr:`DataFrame.loc` and if that fails because of a\nmultidimensional key (e.g., a DataFrame) then the result will be passed\nto :meth:`DataFrame.__getitem__`.\n\nThis method uses the top-level :func:`eval` function to\nevaluate the passed query.\n\nThe :meth:`~pandas.DataFrame.query` method uses a slightly\nmodified Python syntax by default. For example, the ``&`` and ``|``\n(bitwise) operators have the precedence of their boolean cousins,\n:keyword:`and` and :keyword:`or`. This *is* syntactically valid Python,\nhowever the semantics are different.\n\nYou can change the semantics of the expression by passing the keyword\nargument ``parser='python'``. This enforces the same semantics as\nevaluation in Python space. Likewise, you can pass ``engine='python'``\nto evaluate an expression using Python itself as a backend. This is not\nrecommended as it is inefficient compared to using ``numexpr`` as the\nengine.\n\nThe :attr:`DataFrame.index` and\n:attr:`DataFrame.columns` attributes of the\n:class:`~pandas.DataFrame` instance are placed in the query namespace\nby default, which allows you to treat both the index and columns of the\nframe as a column in the frame.\nThe identifier ``index`` is used for the frame index; you can also\nuse the name of the index to identify it in a query. Please note that\nPython keywords may not be used as identifiers.\n\nFor further details and examples see the ``query`` documentation in\n:ref:`indexing `.\n\n*Backtick quoted variables*\n\nBacktick quoted variables are parsed as literal Python code and\nare converted internally to a Python valid identifier.\nThis can lead to the following problems.\n\nDuring parsing a number of disallowed characters inside the backtick\nquoted string are replaced by strings that are allowed as a Python identifier.\nThese characters include all operators in Python, the space character, the\nquestion mark, the exclamation mark, the dollar sign, and the euro sign.\nFor other characters that fall outside the ASCII range (U+0001..U+007F)\nand those that are not further specified in PEP 3131,\nthe query parser will raise an error.\nThis excludes whitespace different than the space character,\nbut also the hashtag (as it is used for comments) and the backtick\nitself (backtick can also not be escaped).\n\nIn a special case, quotes that make a pair around a backtick can\nconfuse the parser.\nFor example, ```it's` > `that's``` will raise an error,\nas it forms a quoted string (``'s > `that'``) with a backtick inside.\n\nSee also the Python documentation about lexical analysis\n(https://docs.python.org/3/reference/lexical_analysis.html)\nin combination with the source code in :mod:`pandas.core.computation.parsing`.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': range(1, 6),\n... 'B': range(10, 0, -2),\n... 'C C': range(10, 5, -1)})\n>>> df\n A B C C\n0 1 10 10\n1 2 8 9\n2 3 6 8\n3 4 4 7\n4 5 2 6\n>>> df.query('A > B')\n A B C C\n4 5 2 6\n\nThe previous expression is equivalent to\n\n>>> df[df.A > df.B]\n A B C C\n4 5 2 6\n\nFor columns with spaces in their name, you can use backtick quoting.\n\n>>> df.query('B == `C C`')\n A B C C\n0 1 10 10\n\nThe previous expression is equivalent to\n\n>>> df[df.B == df['C C']]\n A B C C\n0 1 10 10\n"}, "kind": 2, "label": "query", "sortText": "131"}, {"detail": "bound method DataFrame.radd(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "radd", "sortText": "132"}, {"detail": "bound method DataFrame.rank(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, method: Literal[\"average\", \"min\", \"max\", \"first\", \"dense\"] = \"average\", numeric_only: bool = False, na_option: Literal[\"keep\", \"top\", \"bottom\"] = \"keep\", ascending: bool = True, pct: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Compute numerical data ranks (1 through n) along axis.\n\nBy default, equal values are assigned a rank that is the average of the\nranks of those values.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Index to direct ranking.\n For `Series` this parameter is unused and defaults to 0.\nmethod : {'average', 'min', 'max', 'first', 'dense'}, default 'average'\n How to rank the group of records that have the same value (i.e. ties):\n\n * average: average rank of the group\n * min: lowest rank in the group\n * max: highest rank in the group\n * first: ranks assigned in order they appear in the array\n * dense: like 'min', but rank always increases by 1 between groups.\n\nnumeric_only : bool, default False\n For DataFrame objects, rank only numeric columns if set to True.\n\n .. versionchanged:: 2.0.0\n The default value of ``numeric_only`` is now ``False``.\n\nna_option : {'keep', 'top', 'bottom'}, default 'keep'\n How to rank NaN values:\n\n * keep: assign NaN rank to NaN values\n * top: assign lowest rank to NaN values\n * bottom: assign highest rank to NaN values\n\nascending : bool, default True\n Whether or not the elements should be ranked in ascending order.\npct : bool, default False\n Whether or not to display the returned rankings in percentile\n form.\n\nReturns\n-------\nsame type as caller\n Return a Series or DataFrame with data ranks as values.\n\nSee Also\n--------\ncore.groupby.DataFrameGroupBy.rank : Rank of values within each group.\ncore.groupby.SeriesGroupBy.rank : Rank of values within each group.\n\nExamples\n--------\n>>> df = pd.DataFrame(data={'Animal': ['cat', 'penguin', 'dog',\n... 'spider', 'snake'],\n... 'Number_legs': [4, 2, 4, 8, np.nan]})\n>>> df\n Animal Number_legs\n0 cat 4.0\n1 penguin 2.0\n2 dog 4.0\n3 spider 8.0\n4 snake NaN\n\nTies are assigned the mean of the ranks (by default) for the group.\n\n>>> s = pd.Series(range(5), index=list(\"abcde\"))\n>>> s[\"d\"] = s[\"b\"]\n>>> s.rank()\na 1.0\nb 2.5\nc 4.0\nd 2.5\ne 5.0\ndtype: float64\n\nThe following example shows how the method behaves with the above\nparameters:\n\n* default_rank: this is the default behaviour obtained without using\n any parameter.\n* max_rank: setting ``method = 'max'`` the records that have the\n same values are ranked using the highest rank (e.g.: since 'cat'\n and 'dog' are both in the 2nd and 3rd position, rank 3 is assigned.)\n* NA_bottom: choosing ``na_option = 'bottom'``, if there are records\n with NaN values they are placed at the bottom of the ranking.\n* pct_rank: when setting ``pct = True``, the ranking is expressed as\n percentile rank.\n\n>>> df['default_rank'] = df['Number_legs'].rank()\n>>> df['max_rank'] = df['Number_legs'].rank(method='max')\n>>> df['NA_bottom'] = df['Number_legs'].rank(na_option='bottom')\n>>> df['pct_rank'] = df['Number_legs'].rank(pct=True)\n>>> df\n Animal Number_legs default_rank max_rank NA_bottom pct_rank\n0 cat 4.0 2.5 3.0 2.5 0.625\n1 penguin 2.0 1.0 1.0 1.0 0.250\n2 dog 4.0 2.5 3.0 2.5 0.625\n3 spider 8.0 4.0 4.0 4.0 1.000\n4 snake NaN NaN NaN 5.0 NaN\n"}, "kind": 2, "label": "rank", "sortText": "133"}, {"detail": "(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 3, "label": "rdiv", "sortText": "134"}, {"detail": "bound method DataFrame.reindex(labels=None, *, index=None, columns=None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\", \"nearest\"] | None = None, copy: bool | None = None, level: Hashable = None, fill_value: str | float | Period | ... omitted 6 union elements = ..., limit: int | None = None, tolerance=None) -> DataFrame", "kind": 2, "label": "reindex", "sortText": "135"}, {"detail": "bound method DataFrame.reindex_like(other, method: Literal[\"backfill\", \"bfill\", \"pad\", \"ffill\", \"nearest\"] | None = None, copy: bool | None = None, limit: int | None = None, tolerance=None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return an object with matching indices as other object.\n\nConform the object to the same index on all axes. Optional\nfilling logic, placing NaN in locations having no value\nin the previous index. A new object is produced unless the\nnew index is equivalent to the current one and copy=False.\n\nParameters\n----------\nother : Object of the same data type\n Its row and column indices are used to define the new indices\n of this object.\nmethod : {None, 'backfill'/'bfill', 'pad'/'ffill', 'nearest'}\n Method to use for filling holes in reindexed DataFrame.\n Please note: this is only applicable to DataFrames/Series with a\n monotonically increasing/decreasing index.\n\n * None (default): don't fill gaps\n * pad / ffill: propagate last valid observation forward to next\n valid\n * backfill / bfill: use next valid observation to fill gap\n * nearest: use nearest valid observations to fill gap.\n\ncopy : bool, default True\n Return a new object, even if the passed indexes are the same.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\nlimit : int, default None\n Maximum number of consecutive labels to fill for inexact matches.\ntolerance : optional\n Maximum distance between original and new labels for inexact\n matches. The values of the index at the matching locations must\n satisfy the equation ``abs(index[indexer] - target) <= tolerance``.\n\n Tolerance may be a scalar value, which applies the same tolerance\n to all values, or list-like, which applies variable tolerance per\n element. List-like includes list, tuple, array, Series, and must be\n the same size as the index and its dtype must exactly match the\n index's type.\n\nReturns\n-------\nSeries or DataFrame\n Same type as caller, but with changed indices on each axis.\n\nSee Also\n--------\nDataFrame.set_index : Set row labels.\nDataFrame.reset_index : Remove row labels or move them to new columns.\nDataFrame.reindex : Change to new indices or expand indices.\n\nNotes\n-----\nSame as calling\n``.reindex(index=other.index, columns=other.columns,...)``.\n\nExamples\n--------\n>>> df1 = pd.DataFrame([[24.3, 75.7, 'high'],\n... [31, 87.8, 'high'],\n... [22, 71.6, 'medium'],\n... [35, 95, 'medium']],\n... columns=['temp_celsius', 'temp_fahrenheit',\n... 'windspeed'],\n... index=pd.date_range(start='2014-02-12',\n... end='2014-02-15', freq='D'))\n\n>>> df1\n temp_celsius temp_fahrenheit windspeed\n2014-02-12 24.3 75.7 high\n2014-02-13 31.0 87.8 high\n2014-02-14 22.0 71.6 medium\n2014-02-15 35.0 95.0 medium\n\n>>> df2 = pd.DataFrame([[28, 'low'],\n... [30, 'low'],\n... [35.1, 'medium']],\n... columns=['temp_celsius', 'windspeed'],\n... index=pd.DatetimeIndex(['2014-02-12', '2014-02-13',\n... '2014-02-15']))\n\n>>> df2\n temp_celsius windspeed\n2014-02-12 28.0 low\n2014-02-13 30.0 low\n2014-02-15 35.1 medium\n\n>>> df2.reindex_like(df1)\n temp_celsius temp_fahrenheit windspeed\n2014-02-12 28.0 NaN low\n2014-02-13 30.0 NaN low\n2014-02-14 NaN NaN NaN\n2014-02-15 35.1 NaN medium\n"}, "kind": 2, "label": "reindex_like", "sortText": "136"}, {"detail": "Overload[(mapper: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., *, index: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., columns: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., copy: bool | None = ..., inplace: Literal[True], level: Hashable = ..., errors: Literal[\"ignore\", \"raise\"] = ...) -> None, (mapper: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., *, index: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., columns: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., copy: bool | None = ..., inplace: Literal[False] = ..., level: Hashable = ..., errors: Literal[\"ignore\", \"raise\"] = ...) -> DataFrame, (mapper: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., *, index: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., columns: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., copy: bool | None = ..., inplace: bool = ..., level: Hashable = ..., errors: Literal[\"ignore\", \"raise\"] = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Rename columns or index labels.\n\nFunction / dict values must be unique (1-to-1). Labels not contained in\na dict / Series will be left as-is. Extra labels listed don't throw an\nerror.\n\nSee the :ref:`user guide ` for more.\n\nParameters\n----------\nmapper : dict-like or function\n Dict-like or function transformations to apply to\n that axis' values. Use either ``mapper`` and ``axis`` to\n specify the axis to target with ``mapper``, or ``index`` and\n ``columns``.\nindex : dict-like or function\n Alternative to specifying axis (``mapper, axis=0``\n is equivalent to ``index=mapper``).\ncolumns : dict-like or function\n Alternative to specifying axis (``mapper, axis=1``\n is equivalent to ``columns=mapper``).\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Axis to target with ``mapper``. Can be either the axis name\n ('index', 'columns') or number (0, 1). The default is 'index'.\ncopy : bool, default True\n Also copy underlying data.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\ninplace : bool, default False\n Whether to modify the DataFrame rather than creating a new one.\n If True then value of copy is ignored.\nlevel : int or level name, default None\n In case of a MultiIndex, only rename labels in the specified\n level.\nerrors : {'ignore', 'raise'}, default 'ignore'\n If 'raise', raise a `KeyError` when a dict-like `mapper`, `index`,\n or `columns` contains labels that are not present in the Index\n being transformed.\n If 'ignore', existing keys will be renamed and extra keys will be\n ignored.\n\nReturns\n-------\nDataFrame or None\n DataFrame with the renamed axis labels or None if ``inplace=True``.\n\nRaises\n------\nKeyError\n If any of the labels is not found in the selected axis and\n \"errors='raise'\".\n\nSee Also\n--------\nDataFrame.rename_axis : Set the name of the axis.\n\nExamples\n--------\n``DataFrame.rename`` supports two calling conventions\n\n* ``(index=index_mapper, columns=columns_mapper, ...)``\n* ``(mapper, axis={'index', 'columns'}, ...)``\n\nWe *highly* recommend using keyword arguments to clarify your\nintent.\n\nRename columns using a mapping:\n\n>>> df = pd.DataFrame({\"A\": [1, 2, 3], \"B\": [4, 5, 6]})\n>>> df.rename(columns={\"A\": \"a\", \"B\": \"c\"})\n a c\n0 1 4\n1 2 5\n2 3 6\n\nRename index using a mapping:\n\n>>> df.rename(index={0: \"x\", 1: \"y\", 2: \"z\"})\n A B\nx 1 4\ny 2 5\nz 3 6\n\nCast index labels to a different type:\n\n>>> df.index\nRangeIndex(start=0, stop=3, step=1)\n>>> df.rename(index=str).index\nIndex(['0', '1', '2'], dtype='object')\n\n>>> df.rename(columns={\"A\": \"a\", \"B\": \"b\", \"C\": \"c\"}, errors=\"raise\")\nTraceback (most recent call last):\nKeyError: ['C'] not found in axis\n\nUsing axis-style parameters:\n\n>>> df.rename(str.lower, axis='columns')\n a b\n0 1 4\n1 2 5\n2 3 6\n\n>>> df.rename({1: 2, 2: 4}, axis='index')\n A B\n0 1 4\n2 2 5\n4 3 6\n"}, "kind": 2, "label": "rename", "sortText": "137"}, {"detail": "Overload[(mapper: Hashable | Sequence[Hashable] = ..., *, index=..., columns=..., axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., copy: bool | None = ..., inplace: Literal[False] = ...) -> DataFrame, (mapper: Hashable | Sequence[Hashable] = ..., *, index=..., columns=..., axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., copy: bool | None = ..., inplace: Literal[True]) -> None, (mapper: Hashable | Sequence[Hashable] = ..., *, index=..., columns=..., axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., copy: bool | None = ..., inplace: bool = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Set the name of the axis for the index or columns.\n\nParameters\n----------\nmapper : scalar, list-like, optional\n Value to set the axis name attribute.\nindex, columns : scalar, list-like, dict-like or function, optional\n A scalar, list-like, dict-like or functions transformations to\n apply to that axis' values.\n Note that the ``columns`` parameter is not allowed if the\n object is a Series. This parameter only apply for DataFrame\n type objects.\n\n Use either ``mapper`` and ``axis`` to\n specify the axis to target with ``mapper``, or ``index``\n and/or ``columns``.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to rename. For `Series` this parameter is unused and defaults to 0.\ncopy : bool, default None\n Also copy underlying data.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\ninplace : bool, default False\n Modifies the object directly, instead of creating a new Series\n or DataFrame.\n\nReturns\n-------\nSeries, DataFrame, or None\n The same type as the caller or None if ``inplace=True``.\n\nSee Also\n--------\nSeries.rename : Alter Series index labels or name.\nDataFrame.rename : Alter DataFrame index labels or name.\nIndex.rename : Set new names on index.\n\nNotes\n-----\n``DataFrame.rename_axis`` supports two calling conventions\n\n* ``(index=index_mapper, columns=columns_mapper, ...)``\n* ``(mapper, axis={'index', 'columns'}, ...)``\n\nThe first calling convention will only modify the names of\nthe index and/or the names of the Index object that is the columns.\nIn this case, the parameter ``copy`` is ignored.\n\nThe second calling convention will modify the names of the\ncorresponding index if mapper is a list or a scalar.\nHowever, if mapper is dict-like or a function, it will use the\ndeprecated behavior of modifying the axis *labels*.\n\nWe *highly* recommend using keyword arguments to clarify your\nintent.\n\nExamples\n--------\n**Series**\n\n>>> s = pd.Series([\"dog\", \"cat\", \"monkey\"])\n>>> s\n0 dog\n1 cat\n2 monkey\ndtype: object\n>>> s.rename_axis(\"animal\")\nanimal\n0 dog\n1 cat\n2 monkey\ndtype: object\n\n**DataFrame**\n\n>>> df = pd.DataFrame({\"num_legs\": [4, 4, 2],\n... \"num_arms\": [0, 0, 2]},\n... [\"dog\", \"cat\", \"monkey\"])\n>>> df\n num_legs num_arms\ndog 4 0\ncat 4 0\nmonkey 2 2\n>>> df = df.rename_axis(\"animal\")\n>>> df\n num_legs num_arms\nanimal\ndog 4 0\ncat 4 0\nmonkey 2 2\n>>> df = df.rename_axis(\"limbs\", axis=\"columns\")\n>>> df\nlimbs num_legs num_arms\nanimal\ndog 4 0\ncat 4 0\nmonkey 2 2\n\n**MultiIndex**\n\n>>> df.index = pd.MultiIndex.from_product([['mammal'],\n... ['dog', 'cat', 'monkey']],\n... names=['type', 'name'])\n>>> df\nlimbs num_legs num_arms\ntype name\nmammal dog 4 0\n cat 4 0\n monkey 2 2\n\n>>> df.rename_axis(index={'type': 'class'})\nlimbs num_legs num_arms\nclass name\nmammal dog 4 0\n cat 4 0\n monkey 2 2\n\n>>> df.rename_axis(columns=str.upper)\nLIMBS num_legs num_arms\ntype name\nmammal dog 4 0\n cat 4 0\n monkey 2 2\n"}, "kind": 2, "label": "rename_axis", "sortText": "138"}, {"detail": "bound method DataFrame.reorder_levels(order: Sequence[int | str], axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Rearrange index levels using input order. May not drop or duplicate levels.\n\nParameters\n----------\norder : list of int or list of str\n List representing new level order. Reference level by number\n (position) or by key (label).\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Where to reorder levels.\n\nReturns\n-------\nDataFrame\n\nExamples\n--------\n>>> data = {\n... \"class\": [\"Mammals\", \"Mammals\", \"Reptiles\"],\n... \"diet\": [\"Omnivore\", \"Carnivore\", \"Carnivore\"],\n... \"species\": [\"Humans\", \"Dogs\", \"Snakes\"],\n... }\n>>> df = pd.DataFrame(data, columns=[\"class\", \"diet\", \"species\"])\n>>> df = df.set_index([\"class\", \"diet\"])\n>>> df\n species\nclass diet\nMammals Omnivore Humans\n Carnivore Dogs\nReptiles Carnivore Snakes\n\nLet's reorder the levels of the index:\n\n>>> df.reorder_levels([\"diet\", \"class\"])\n species\ndiet class\nOmnivore Mammals Humans\nCarnivore Mammals Dogs\n Reptiles Snakes\n"}, "kind": 2, "label": "reorder_levels", "sortText": "139"}, {"detail": "Overload[(to_replace=..., value=..., *, inplace: Literal[False] = ..., limit: int | None = ..., regex: bool = ..., method: Literal[\"pad\", \"ffill\", \"bfill\"] | _NoDefault = ...) -> DataFrame, (to_replace=..., value=..., *, inplace: Literal[True], limit: int | None = ..., regex: bool = ..., method: Literal[\"pad\", \"ffill\", \"bfill\"] | _NoDefault = ...) -> None, (to_replace=..., value=..., *, inplace: bool = ..., limit: int | None = ..., regex: bool = ..., method: Literal[\"pad\", \"ffill\", \"bfill\"] | _NoDefault = ...) -> DataFrame | None]", "kind": 2, "label": "replace", "sortText": "140"}, {"detail": "bound method DataFrame.resample(rule, axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., closed: Literal[\"right\", \"left\"] | None = None, label: Literal[\"right\", \"left\"] | None = None, convention: Literal[\"start\", \"end\", \"s\", \"e\"] = \"start\", kind: Literal[\"timestamp\", \"period\"] | None | _NoDefault = ..., on: Hashable = None, level: Hashable = None, origin: str | date | datetime64[Any] | signedinteger[_64Bit] | float = \"start_day\", offset: timedelta | timedelta64[Any] | signedinteger[_64Bit] | ... omitted 3 union elements = None, group_keys: bool = False) -> Resampler", "documentation": {"kind": "plaintext", "value": "Resample time-series data.\n\nConvenience method for frequency conversion and resampling of time series.\nThe object must have a datetime-like index (`DatetimeIndex`, `PeriodIndex`,\nor `TimedeltaIndex`), or the caller must pass the label of a datetime-like\nseries/index to the ``on``/``level`` keyword parameter.\n\nParameters\n----------\nrule : DateOffset, Timedelta or str\n The offset string or object representing target conversion.\naxis : {{0 or 'index', 1 or 'columns'}}, default 0\n Which axis to use for up- or down-sampling. For `Series` this parameter\n is unused and defaults to 0. Must be\n `DatetimeIndex`, `TimedeltaIndex` or `PeriodIndex`.\n\n .. deprecated:: 2.0.0\n Use frame.T.resample(...) instead.\nclosed : {{'right', 'left'}}, default None\n Which side of bin interval is closed. The default is 'left'\n for all frequency offsets except for 'ME', 'YE', 'QE', 'BME',\n 'BA', 'BQE', and 'W' which all have a default of 'right'.\nlabel : {{'right', 'left'}}, default None\n Which bin edge label to label bucket with. The default is 'left'\n for all frequency offsets except for 'ME', 'YE', 'QE', 'BME',\n 'BA', 'BQE', and 'W' which all have a default of 'right'.\nconvention : {{'start', 'end', 's', 'e'}}, default 'start'\n For `PeriodIndex` only, controls whether to use the start or\n end of `rule`.\n\nkind : {{'timestamp', 'period'}}, optional, default None\n Pass 'timestamp' to convert the resulting index to a\n `DateTimeIndex` or 'period' to convert it to a `PeriodIndex`.\n By default the input representation is retained.\n\n .. deprecated:: 2.2.0\n Convert index to desired type explicitly instead.\n\non : str, optional\n For a DataFrame, column to use instead of index for resampling.\n Column must be datetime-like.\nlevel : str or int, optional\n For a MultiIndex, level (name or number) to use for\n resampling. `level` must be datetime-like.\norigin : Timestamp or str, default 'start_day'\n The timestamp on which to adjust the grouping. The timezone of origin\n must match the timezone of the index.\n If string, must be one of the following:\n\n - 'epoch': `origin` is 1970-01-01\n - 'start': `origin` is the first value of the timeseries\n - 'start_day': `origin` is the first day at midnight of the timeseries\n\n - 'end': `origin` is the last value of the timeseries\n - 'end_day': `origin` is the ceiling midnight of the last day\n\n .. versionadded:: 1.3.0\n\n .. note::\n\n Only takes effect for Tick-frequencies (i.e. fixed frequencies like\n days, hours, and minutes, rather than months or quarters).\noffset : Timedelta or str, default is None\n An offset timedelta added to the origin.\n\ngroup_keys : bool, default False\n Whether to include the group keys in the result index when using\n ``.apply()`` on the resampled object.\n\n .. versionadded:: 1.5.0\n\n Not specifying ``group_keys`` will retain values-dependent behavior\n from pandas 1.4 and earlier (see :ref:`pandas 1.5.0 Release notes\n ` for examples).\n\n .. versionchanged:: 2.0.0\n\n ``group_keys`` now defaults to ``False``.\n\nReturns\n-------\npandas.api.typing.Resampler\n :class:`~pandas.core.Resampler` object.\n\nSee Also\n--------\nSeries.resample : Resample a Series.\nDataFrame.resample : Resample a DataFrame.\ngroupby : Group {klass} by mapping, function, label, or list of labels.\nasfreq : Reindex a {klass} with the given frequency without grouping.\n\nNotes\n-----\nSee the `user guide\n`__\nfor more.\n\nTo learn more about the offset strings, please see `this link\n`__.\n\nExamples\n--------\nStart by creating a series with 9 one minute timestamps.\n\n>>> index = pd.date_range('1/1/2000', periods=9, freq='min')\n>>> series = pd.Series(range(9), index=index)\n>>> series\n2000-01-01 00:00:00 0\n2000-01-01 00:01:00 1\n2000-01-01 00:02:00 2\n2000-01-01 00:03:00 3\n2000-01-01 00:04:00 4\n2000-01-01 00:05:00 5\n2000-01-01 00:06:00 6\n2000-01-01 00:07:00 7\n2000-01-01 00:08:00 8\nFreq: min, dtype: int64\n\nDownsample the series into 3 minute bins and sum the values\nof the timestamps falling into a bin.\n\n>>> series.resample('3min').sum()\n2000-01-01 00:00:00 3\n2000-01-01 00:03:00 12\n2000-01-01 00:06:00 21\nFreq: 3min, dtype: int64\n\nDownsample the series into 3 minute bins as above, but label each\nbin using the right edge instead of the left. Please note that the\nvalue in the bucket used as the label is not included in the bucket,\nwhich it labels. For example, in the original series the\nbucket ``2000-01-01 00:03:00`` contains the value 3, but the summed\nvalue in the resampled bucket with the label ``2000-01-01 00:03:00``\ndoes not include 3 (if it did, the summed value would be 6, not 3).\n\n>>> series.resample('3min', label='right').sum()\n2000-01-01 00:03:00 3\n2000-01-01 00:06:00 12\n2000-01-01 00:09:00 21\nFreq: 3min, dtype: int64\n\nTo include this value close the right side of the bin interval,\nas shown below.\n\n>>> series.resample('3min', label='right', closed='right').sum()\n2000-01-01 00:00:00 0\n2000-01-01 00:03:00 6\n2000-01-01 00:06:00 15\n2000-01-01 00:09:00 15\nFreq: 3min, dtype: int64\n\nUpsample the series into 30 second bins.\n\n>>> series.resample('30s').asfreq()[0:5] # Select first 5 rows\n2000-01-01 00:00:00 0.0\n2000-01-01 00:00:30 NaN\n2000-01-01 00:01:00 1.0\n2000-01-01 00:01:30 NaN\n2000-01-01 00:02:00 2.0\nFreq: 30s, dtype: float64\n\nUpsample the series into 30 second bins and fill the ``NaN``\nvalues using the ``ffill`` method.\n\n>>> series.resample('30s').ffill()[0:5]\n2000-01-01 00:00:00 0\n2000-01-01 00:00:30 0\n2000-01-01 00:01:00 1\n2000-01-01 00:01:30 1\n2000-01-01 00:02:00 2\nFreq: 30s, dtype: int64\n\nUpsample the series into 30 second bins and fill the\n``NaN`` values using the ``bfill`` method.\n\n>>> series.resample('30s').bfill()[0:5]\n2000-01-01 00:00:00 0\n2000-01-01 00:00:30 1\n2000-01-01 00:01:00 1\n2000-01-01 00:01:30 2\n2000-01-01 00:02:00 2\nFreq: 30s, dtype: int64\n\nPass a custom function via ``apply``\n\n>>> def custom_resampler(arraylike):\n... return np.sum(arraylike) + 5\n...\n>>> series.resample('3min').apply(custom_resampler)\n2000-01-01 00:00:00 8\n2000-01-01 00:03:00 17\n2000-01-01 00:06:00 26\nFreq: 3min, dtype: int64\n\nFor a Series with a PeriodIndex, the keyword `convention` can be\nused to control whether to use the start or end of `rule`.\n\nResample a year by quarter using 'start' `convention`. Values are\nassigned to the first quarter of the period.\n\n>>> s = pd.Series(\n... [1, 2], index=pd.period_range(\"2012-01-01\", freq=\"Y\", periods=2)\n... )\n>>> s\n2012 1\n2013 2\nFreq: Y-DEC, dtype: int64\n>>> s.resample(\"Q\", convention=\"start\").asfreq()\n2012Q1 1.0\n2012Q2 NaN\n2012Q3 NaN\n2012Q4 NaN\n2013Q1 2.0\n2013Q2 NaN\n2013Q3 NaN\n2013Q4 NaN\nFreq: Q-DEC, dtype: float64\n\nResample quarters by month using 'end' `convention`. Values are\nassigned to the last month of the period.\n\n>>> q = pd.Series(\n... [1, 2, 3, 4], index=pd.period_range(\"2018-01-01\", freq=\"Q\", periods=4)\n... )\n>>> q\n2018Q1 1\n2018Q2 2\n2018Q3 3\n2018Q4 4\nFreq: Q-DEC, dtype: int64\n>>> q.resample(\"M\", convention=\"end\").asfreq()\n2018-03 1.0\n2018-04 NaN\n2018-05 NaN\n2018-06 2.0\n2018-07 NaN\n2018-08 NaN\n2018-09 3.0\n2018-10 NaN\n2018-11 NaN\n2018-12 4.0\nFreq: M, dtype: float64\n\nFor DataFrame objects, the keyword `on` can be used to specify the\ncolumn instead of the index for resampling.\n\n>>> d = {{'price': [10, 11, 9, 13, 14, 18, 17, 19],\n... 'volume': [50, 60, 40, 100, 50, 100, 40, 50]}}\n>>> df = pd.DataFrame(d)\n>>> df['week_starting'] = pd.date_range('01/01/2018',\n... periods=8,\n... freq='W')\n>>> df\n price volume week_starting\n0 10 50 2018-01-07\n1 11 60 2018-01-14\n2 9 40 2018-01-21\n3 13 100 2018-01-28\n4 14 50 2018-02-04\n5 18 100 2018-02-11\n6 17 40 2018-02-18\n7 19 50 2018-02-25\n>>> df.resample('ME', on='week_starting').mean()\n price volume\nweek_starting\n2018-01-31 10.75 62.5\n2018-02-28 17.00 60.0\n\nFor a DataFrame with MultiIndex, the keyword `level` can be used to\nspecify on which level the resampling needs to take place.\n\n>>> days = pd.date_range('1/1/2000', periods=4, freq='D')\n>>> d2 = {{'price': [10, 11, 9, 13, 14, 18, 17, 19],\n... 'volume': [50, 60, 40, 100, 50, 100, 40, 50]}}\n>>> df2 = pd.DataFrame(\n... d2,\n... index=pd.MultiIndex.from_product(\n... [days, ['morning', 'afternoon']]\n... )\n... )\n>>> df2\n price volume\n2000-01-01 morning 10 50\n afternoon 11 60\n2000-01-02 morning 9 40\n afternoon 13 100\n2000-01-03 morning 14 50\n afternoon 18 100\n2000-01-04 morning 17 40\n afternoon 19 50\n>>> df2.resample('D', level=0).sum()\n price volume\n2000-01-01 21 110\n2000-01-02 22 140\n2000-01-03 32 150\n2000-01-04 36 90\n\nIf you want to adjust the start of the bins based on a fixed timestamp:\n\n>>> start, end = '2000-10-01 23:30:00', '2000-10-02 00:30:00'\n>>> rng = pd.date_range(start, end, freq='7min')\n>>> ts = pd.Series(np.arange(len(rng)) * 3, index=rng)\n>>> ts\n2000-10-01 23:30:00 0\n2000-10-01 23:37:00 3\n2000-10-01 23:44:00 6\n2000-10-01 23:51:00 9\n2000-10-01 23:58:00 12\n2000-10-02 00:05:00 15\n2000-10-02 00:12:00 18\n2000-10-02 00:19:00 21\n2000-10-02 00:26:00 24\nFreq: 7min, dtype: int64\n\n>>> ts.resample('17min').sum()\n2000-10-01 23:14:00 0\n2000-10-01 23:31:00 9\n2000-10-01 23:48:00 21\n2000-10-02 00:05:00 54\n2000-10-02 00:22:00 24\nFreq: 17min, dtype: int64\n\n>>> ts.resample('17min', origin='epoch').sum()\n2000-10-01 23:18:00 0\n2000-10-01 23:35:00 18\n2000-10-01 23:52:00 27\n2000-10-02 00:09:00 39\n2000-10-02 00:26:00 24\nFreq: 17min, dtype: int64\n\n>>> ts.resample('17min', origin='2000-01-01').sum()\n2000-10-01 23:24:00 3\n2000-10-01 23:41:00 15\n2000-10-01 23:58:00 45\n2000-10-02 00:15:00 45\nFreq: 17min, dtype: int64\n\nIf you want to adjust the start of the bins with an `offset` Timedelta, the two\nfollowing lines are equivalent:\n\n>>> ts.resample('17min', origin='start').sum()\n2000-10-01 23:30:00 9\n2000-10-01 23:47:00 21\n2000-10-02 00:04:00 54\n2000-10-02 00:21:00 24\nFreq: 17min, dtype: int64\n\n>>> ts.resample('17min', offset='23h30min').sum()\n2000-10-01 23:30:00 9\n2000-10-01 23:47:00 21\n2000-10-02 00:04:00 54\n2000-10-02 00:21:00 24\nFreq: 17min, dtype: int64\n\nIf you want to take the largest Timestamp as the end of the bins:\n\n>>> ts.resample('17min', origin='end').sum()\n2000-10-01 23:35:00 0\n2000-10-01 23:52:00 18\n2000-10-02 00:09:00 27\n2000-10-02 00:26:00 63\nFreq: 17min, dtype: int64\n\nIn contrast with the `start_day`, you can use `end_day` to take the ceiling\nmidnight of the largest Timestamp as the end of the bins and drop the bins\nnot containing data:\n\n>>> ts.resample('17min', origin='end_day').sum()\n2000-10-01 23:38:00 3\n2000-10-01 23:55:00 15\n2000-10-02 00:12:00 45\n2000-10-02 00:29:00 45\nFreq: 17min, dtype: int64\n"}, "kind": 2, "label": "resample", "sortText": "141"}, {"detail": "Overload[(level: Hashable | Sequence[Hashable] = ..., *, drop: bool = ..., inplace: Literal[False] = ..., col_level: Hashable = ..., col_fill: Hashable = ..., allow_duplicates: bool | _NoDefault = ..., names: Hashable | Sequence[Hashable] = None) -> DataFrame, (level: Hashable | Sequence[Hashable] = ..., *, drop: bool = ..., inplace: Literal[True], col_level: Hashable = ..., col_fill: Hashable = ..., allow_duplicates: bool | _NoDefault = ..., names: Hashable | Sequence[Hashable] = None) -> None, (level: Hashable | Sequence[Hashable] = ..., *, drop: bool = ..., inplace: bool = ..., col_level: Hashable = ..., col_fill: Hashable = ..., allow_duplicates: bool | _NoDefault = ..., names: Hashable | Sequence[Hashable] = None) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Reset the index, or a level of it.\n\nReset the index of the DataFrame, and use the default one instead.\nIf the DataFrame has a MultiIndex, this method can remove one or more\nlevels.\n\nParameters\n----------\nlevel : int, str, tuple, or list, default None\n Only remove the given levels from the index. Removes all levels by\n default.\ndrop : bool, default False\n Do not try to insert index into dataframe columns. This resets\n the index to the default integer index.\ninplace : bool, default False\n Whether to modify the DataFrame rather than creating a new one.\ncol_level : int or str, default 0\n If the columns have multiple levels, determines which level the\n labels are inserted into. By default it is inserted into the first\n level.\ncol_fill : object, default ''\n If the columns have multiple levels, determines how the other\n levels are named. If None then the index name is repeated.\nallow_duplicates : bool, optional, default lib.no_default\n Allow duplicate column labels to be created.\n\n .. versionadded:: 1.5.0\n\nnames : int, str or 1-dimensional list, default None\n Using the given string, rename the DataFrame column which contains the\n index data. If the DataFrame has a MultiIndex, this has to be a list or\n tuple with length equal to the number of levels.\n\n .. versionadded:: 1.5.0\n\nReturns\n-------\nDataFrame or None\n DataFrame with the new index or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.set_index : Opposite of reset_index.\nDataFrame.reindex : Change to new indices or expand indices.\nDataFrame.reindex_like : Change to same indices as other DataFrame.\n\nExamples\n--------\n>>> df = pd.DataFrame([('bird', 389.0),\n... ('bird', 24.0),\n... ('mammal', 80.5),\n... ('mammal', np.nan)],\n... index=['falcon', 'parrot', 'lion', 'monkey'],\n... columns=('class', 'max_speed'))\n>>> df\n class max_speed\nfalcon bird 389.0\nparrot bird 24.0\nlion mammal 80.5\nmonkey mammal NaN\n\nWhen we reset the index, the old index is added as a column, and a\nnew sequential index is used:\n\n>>> df.reset_index()\n index class max_speed\n0 falcon bird 389.0\n1 parrot bird 24.0\n2 lion mammal 80.5\n3 monkey mammal NaN\n\nWe can use the `drop` parameter to avoid the old index being added as\na column:\n\n>>> df.reset_index(drop=True)\n class max_speed\n0 bird 389.0\n1 bird 24.0\n2 mammal 80.5\n3 mammal NaN\n\nYou can also use `reset_index` with `MultiIndex`.\n\n>>> index = pd.MultiIndex.from_tuples([('bird', 'falcon'),\n... ('bird', 'parrot'),\n... ('mammal', 'lion'),\n... ('mammal', 'monkey')],\n... names=['class', 'name'])\n>>> columns = pd.MultiIndex.from_tuples([('speed', 'max'),\n... ('species', 'type')])\n>>> df = pd.DataFrame([(389.0, 'fly'),\n... (24.0, 'fly'),\n... (80.5, 'run'),\n... (np.nan, 'jump')],\n... index=index,\n... columns=columns)\n>>> df\n speed species\n max type\nclass name\nbird falcon 389.0 fly\n parrot 24.0 fly\nmammal lion 80.5 run\n monkey NaN jump\n\nUsing the `names` parameter, choose a name for the index column:\n\n>>> df.reset_index(names=['classes', 'names'])\n classes names speed species\n max type\n0 bird falcon 389.0 fly\n1 bird parrot 24.0 fly\n2 mammal lion 80.5 run\n3 mammal monkey NaN jump\n\nIf the index has multiple levels, we can reset a subset of them:\n\n>>> df.reset_index(level='class')\n class speed species\n max type\nname\nfalcon bird 389.0 fly\nparrot bird 24.0 fly\nlion mammal 80.5 run\nmonkey mammal NaN jump\n\nIf we are not dropping the index, by default, it is placed in the top\nlevel. We can place it in another level:\n\n>>> df.reset_index(level='class', col_level=1)\n speed species\n class max type\nname\nfalcon bird 389.0 fly\nparrot bird 24.0 fly\nlion mammal 80.5 run\nmonkey mammal NaN jump\n\nWhen the index is inserted under another level, we can specify under\nwhich one with the parameter `col_fill`:\n\n>>> df.reset_index(level='class', col_level=1, col_fill='species')\n species speed species\n class max type\nname\nfalcon bird 389.0 fly\nparrot bird 24.0 fly\nlion mammal 80.5 run\nmonkey mammal NaN jump\n\nIf we specify a nonexistent level for `col_fill`, it is created:\n\n>>> df.reset_index(level='class', col_level=1, col_fill='genus')\n genus speed species\n class max type\nname\nfalcon bird 389.0 fly\nparrot bird 24.0 fly\nlion mammal 80.5 run\nmonkey mammal NaN jump\n"}, "kind": 2, "label": "reset_index", "sortText": "142"}, {"detail": "bound method DataFrame.rfloordiv(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rfloordiv", "sortText": "143"}, {"detail": "bound method DataFrame.rmod(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rmod", "sortText": "144"}, {"detail": "bound method DataFrame.rmul(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rmul", "sortText": "145"}, {"detail": "bound method DataFrame.rolling(window: int | timedelta | str | BaseOffset | BaseIndexer, min_periods: int | None = None, center: bool = False, win_type: str | None = None, on: str | None = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., closed: Literal[\"left\", \"right\", \"both\", \"neither\"] | None = None, step: int | None = None, method: str = \"single\") -> Window | Rolling", "kind": 2, "label": "rolling", "sortText": "146"}, {"detail": "bound method DataFrame.round(decimals: int | dict[Hashable | Sequence[Hashable], int] | Series = 0, *args, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Round a DataFrame to a variable number of decimal places.\n\nParameters\n----------\ndecimals : int, dict, Series\n Number of decimal places to round each column to. If an int is\n given, round each column to the same number of places.\n Otherwise dict and Series round to variable numbers of places.\n Column names should be in the keys if `decimals` is a\n dict-like, or in the index if `decimals` is a Series. Any\n columns not included in `decimals` will be left as is. Elements\n of `decimals` which are not columns of the input will be\n ignored.\n*args\n Additional keywords have no effect but might be accepted for\n compatibility with numpy.\n**kwargs\n Additional keywords have no effect but might be accepted for\n compatibility with numpy.\n\nReturns\n-------\nDataFrame\n A DataFrame with the affected columns rounded to the specified\n number of decimal places.\n\nSee Also\n--------\nnumpy.around : Round a numpy array to the given number of decimals.\nSeries.round : Round a Series to the given number of decimals.\n\nExamples\n--------\n>>> df = pd.DataFrame([(.21, .32), (.01, .67), (.66, .03), (.21, .18)],\n... columns=['dogs', 'cats'])\n>>> df\n dogs cats\n0 0.21 0.32\n1 0.01 0.67\n2 0.66 0.03\n3 0.21 0.18\n\nBy providing an integer each column is rounded to the same number\nof decimal places\n\n>>> df.round(1)\n dogs cats\n0 0.2 0.3\n1 0.0 0.7\n2 0.7 0.0\n3 0.2 0.2\n\nWith a dict, the number of places for specific columns can be\nspecified with the column names as key and the number of decimal\nplaces as value\n\n>>> df.round({'dogs': 1, 'cats': 0})\n dogs cats\n0 0.2 0.0\n1 0.0 1.0\n2 0.7 0.0\n3 0.2 0.0\n\nUsing a Series, the number of places for specific columns can be\nspecified with the column names as index and the number of\ndecimal places as value\n\n>>> decimals = pd.Series([0, 1], index=['cats', 'dogs'])\n>>> df.round(decimals)\n dogs cats\n0 0.2 0.0\n1 0.0 1.0\n2 0.7 0.0\n3 0.2 0.0\n"}, "kind": 2, "label": "round", "sortText": "147"}, {"detail": "bound method DataFrame.rpow(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rpow", "sortText": "148"}, {"detail": "bound method DataFrame.rsub(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rsub", "sortText": "149"}, {"detail": "bound method DataFrame.rtruediv(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rtruediv", "sortText": "150"}, {"detail": "bound method DataFrame.sample(n: int | None = None, frac: float | None = None, replace: bool = False, weights=None, random_state: int | ndarray[_AnyShape, dtype[Any]] | Generator | ... omitted 3 union elements = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, ignore_index: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return a random sample of items from an axis of object.\n\nYou can use `random_state` for reproducibility.\n\nParameters\n----------\nn : int, optional\n Number of items from axis to return. Cannot be used with `frac`.\n Default = 1 if `frac` = None.\nfrac : float, optional\n Fraction of axis items to return. Cannot be used with `n`.\nreplace : bool, default False\n Allow or disallow sampling of the same row more than once.\nweights : str or ndarray-like, optional\n Default 'None' results in equal probability weighting.\n If passed a Series, will align with target object on index. Index\n values in weights not found in sampled object will be ignored and\n index values in sampled object not in weights will be assigned\n weights of zero.\n If called on a DataFrame, will accept the name of a column\n when axis = 0.\n Unless weights are a Series, weights must be same length as axis\n being sampled.\n If weights do not sum to 1, they will be normalized to sum to 1.\n Missing values in the weights column will be treated as zero.\n Infinite values not allowed.\nrandom_state : int, array-like, BitGenerator, np.random.RandomState, np.random.Generator, optional\n If int, array-like, or BitGenerator, seed for random number generator.\n If np.random.RandomState or np.random.Generator, use as given.\n\n .. versionchanged:: 1.4.0\n\n np.random.Generator objects now accepted\n\naxis : {0 or 'index', 1 or 'columns', None}, default None\n Axis to sample. Accepts axis number or name. Default is stat axis\n for given data type. For `Series` this parameter is unused and defaults to `None`.\nignore_index : bool, default False\n If True, the resulting index will be labeled 0, 1, \u2026, n - 1.\n\n .. versionadded:: 1.3.0\n\nReturns\n-------\nSeries or DataFrame\n A new object of same type as caller containing `n` items randomly\n sampled from the caller object.\n\nSee Also\n--------\nDataFrameGroupBy.sample: Generates random samples from each group of a\n DataFrame object.\nSeriesGroupBy.sample: Generates random samples from each group of a\n Series object.\nnumpy.random.choice: Generates a random sample from a given 1-D numpy\n array.\n\nNotes\n-----\nIf `frac` > 1, `replacement` should be set to `True`.\n\nExamples\n--------\n>>> df = pd.DataFrame({'num_legs': [2, 4, 8, 0],\n... 'num_wings': [2, 0, 0, 0],\n... 'num_specimen_seen': [10, 2, 1, 8]},\n... index=['falcon', 'dog', 'spider', 'fish'])\n>>> df\n num_legs num_wings num_specimen_seen\nfalcon 2 2 10\ndog 4 0 2\nspider 8 0 1\nfish 0 0 8\n\nExtract 3 random elements from the ``Series`` ``df['num_legs']``:\nNote that we use `random_state` to ensure the reproducibility of\nthe examples.\n\n>>> df['num_legs'].sample(n=3, random_state=1)\nfish 0\nspider 8\nfalcon 2\nName: num_legs, dtype: int64\n\nA random 50% sample of the ``DataFrame`` with replacement:\n\n>>> df.sample(frac=0.5, replace=True, random_state=1)\n num_legs num_wings num_specimen_seen\ndog 4 0 2\nfish 0 0 8\n\nAn upsample sample of the ``DataFrame`` with replacement:\nNote that `replace` parameter has to be `True` for `frac` parameter > 1.\n\n>>> df.sample(frac=2, replace=True, random_state=1)\n num_legs num_wings num_specimen_seen\ndog 4 0 2\nfish 0 0 8\nfalcon 2 2 10\nfalcon 2 2 10\nfish 0 0 8\ndog 4 0 2\nfish 0 0 8\ndog 4 0 2\n\nUsing a DataFrame column as weights. Rows with larger value in the\n`num_specimen_seen` column are more likely to be sampled.\n\n>>> df.sample(n=2, weights='num_specimen_seen', random_state=1)\n num_legs num_wings num_specimen_seen\nfalcon 2 2 10\nfish 0 0 8\n"}, "kind": 2, "label": "sample", "sortText": "151"}, {"detail": "bound method DataFrame.select_dtypes(include=None, exclude=None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return a subset of the DataFrame's columns based on the column dtypes.\n\nParameters\n----------\ninclude, exclude : scalar or list-like\n A selection of dtypes or strings to be included/excluded. At least\n one of these parameters must be supplied.\n\nReturns\n-------\nDataFrame\n The subset of the frame including the dtypes in ``include`` and\n excluding the dtypes in ``exclude``.\n\nRaises\n------\nValueError\n * If both of ``include`` and ``exclude`` are empty\n * If ``include`` and ``exclude`` have overlapping elements\n * If any kind of string dtype is passed in.\n\nSee Also\n--------\nDataFrame.dtypes: Return Series with the data type of each column.\n\nNotes\n-----\n* To select all *numeric* types, use ``np.number`` or ``'number'``\n* To select strings you must use the ``object`` dtype, but note that\n this will return *all* object dtype columns. With\n ``pd.options.future.infer_string`` enabled, using ``\"str\"`` will\n work to select all string columns.\n* See the `numpy dtype hierarchy\n `__\n* To select datetimes, use ``np.datetime64``, ``'datetime'`` or\n ``'datetime64'``\n* To select timedeltas, use ``np.timedelta64``, ``'timedelta'`` or\n ``'timedelta64'``\n* To select Pandas categorical dtypes, use ``'category'``\n* To select Pandas datetimetz dtypes, use ``'datetimetz'``\n or ``'datetime64[ns, tz]'``\n\nExamples\n--------\n>>> df = pd.DataFrame({'a': [1, 2] * 3,\n... 'b': [True, False] * 3,\n... 'c': [1.0, 2.0] * 3})\n>>> df\n a b c\n0 1 True 1.0\n1 2 False 2.0\n2 1 True 1.0\n3 2 False 2.0\n4 1 True 1.0\n5 2 False 2.0\n\n>>> df.select_dtypes(include='bool')\n b\n0 True\n1 False\n2 True\n3 False\n4 True\n5 False\n\n>>> df.select_dtypes(include=['float64'])\n c\n0 1.0\n1 2.0\n2 1.0\n3 2.0\n4 1.0\n5 2.0\n\n>>> df.select_dtypes(exclude=['int64'])\n b c\n0 True 1.0\n1 False 2.0\n2 True 1.0\n3 False 2.0\n4 True 1.0\n5 False 2.0\n"}, "kind": 2, "label": "select_dtypes", "sortText": "152"}, {"detail": "bound method DataFrame.sem(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, ddof: int = 1, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "sem", "sortText": "153"}, {"detail": "bound method DataFrame.set_axis(labels, *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, copy: bool | None = None) -> DataFrame", "kind": 2, "label": "set_axis", "sortText": "154"}, {"detail": "bound method DataFrame.set_flags(*, copy: bool = False, allows_duplicate_labels: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return a new object with updated flags.\n\nParameters\n----------\ncopy : bool, default False\n Specify if a copy of the object should be made.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\nallows_duplicate_labels : bool, optional\n Whether the returned object allows duplicate labels.\n\nReturns\n-------\nSeries or DataFrame\n The same type as the caller.\n\nSee Also\n--------\nDataFrame.attrs : Global metadata applying to this dataset.\nDataFrame.flags : Global flags applying to this object.\n\nNotes\n-----\nThis method returns a new object that's a view on the same data\nas the input. Mutating the input or the output values will be reflected\nin the other.\n\nThis method is intended to be used in method chains.\n\n\"Flags\" differ from \"metadata\". Flags reflect properties of the\npandas object (the Series or DataFrame). Metadata refer to properties\nof the dataset, and should be stored in :attr:`DataFrame.attrs`.\n\nExamples\n--------\n>>> df = pd.DataFrame({\"A\": [1, 2]})\n>>> df.flags.allows_duplicate_labels\nTrue\n>>> df2 = df.set_flags(allows_duplicate_labels=False)\n>>> df2.flags.allows_duplicate_labels\nFalse\n"}, "kind": 2, "label": "set_flags", "sortText": "155"}, {"detail": "Overload[(keys, *, drop: bool = ..., append: bool = ..., inplace: Literal[False] = ..., verify_integrity: bool = ...) -> DataFrame, (keys, *, drop: bool = ..., append: bool = ..., inplace: Literal[True], verify_integrity: bool = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Set the DataFrame index using existing columns.\n\nSet the DataFrame index (row labels) using one or more existing\ncolumns or arrays (of the correct length). The index can replace the\nexisting index or expand on it.\n\nParameters\n----------\nkeys : label or array-like or list of labels/arrays\n This parameter can be either a single column key, a single array of\n the same length as the calling DataFrame, or a list containing an\n arbitrary combination of column keys and arrays. Here, \"array\"\n encompasses :class:`Series`, :class:`Index`, ``np.ndarray``, and\n instances of :class:`~collections.abc.Iterator`.\ndrop : bool, default True\n Delete columns to be used as the new index.\nappend : bool, default False\n Whether to append columns to existing index.\ninplace : bool, default False\n Whether to modify the DataFrame rather than creating a new one.\nverify_integrity : bool, default False\n Check the new index for duplicates. Otherwise defer the check until\n necessary. Setting to False will improve the performance of this\n method.\n\nReturns\n-------\nDataFrame or None\n Changed row labels or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.reset_index : Opposite of set_index.\nDataFrame.reindex : Change to new indices or expand indices.\nDataFrame.reindex_like : Change to same indices as other DataFrame.\n\nExamples\n--------\n>>> df = pd.DataFrame({'month': [1, 4, 7, 10],\n... 'year': [2012, 2014, 2013, 2014],\n... 'sale': [55, 40, 84, 31]})\n>>> df\n month year sale\n0 1 2012 55\n1 4 2014 40\n2 7 2013 84\n3 10 2014 31\n\nSet the index to become the 'month' column:\n\n>>> df.set_index('month')\n year sale\nmonth\n1 2012 55\n4 2014 40\n7 2013 84\n10 2014 31\n\nCreate a MultiIndex using columns 'year' and 'month':\n\n>>> df.set_index(['year', 'month'])\n sale\nyear month\n2012 1 55\n2014 4 40\n2013 7 84\n2014 10 31\n\nCreate a MultiIndex using an Index and a column:\n\n>>> df.set_index([pd.Index([1, 2, 3, 4]), 'year'])\n month sale\n year\n1 2012 1 55\n2 2014 4 40\n3 2013 7 84\n4 2014 10 31\n\nCreate a MultiIndex using two Series:\n\n>>> s = pd.Series([1, 2, 3, 4])\n>>> df.set_index([s, s**2])\n month year sale\n1 1 1 2012 55\n2 4 4 2014 40\n3 9 7 2013 84\n4 16 10 2014 31\n"}, "kind": 2, "label": "set_index", "sortText": "156"}, {"detail": "tuple[int, int]", "documentation": {"kind": "plaintext", "value": "Built-in immutable sequence.\n\nIf no argument is given, the constructor returns an empty tuple.\nIf iterable is specified the tuple is initialized from iterable's items.\n\nIf the argument is a tuple, the return value is the same object.\n"}, "kind": 22, "label": "shape", "sortText": "157"}, {"detail": "bound method DataFrame.shift(periods: int | Sequence[int] = 1, freq: str | BaseOffset | None = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, fill_value: Hashable = ..., suffix: str | None = None) -> DataFrame", "kind": 2, "label": "shift", "sortText": "158"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "size", "sortText": "159"}, {"detail": "bound method DataFrame.skew(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "skew", "sortText": "160"}, {"detail": "Overload[(*, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., level: Hashable | Sequence[Hashable] = ..., ascending: bool | Sequence[bool] = ..., inplace: Literal[True], kind: Literal[\"quicksort\", \"mergesort\", \"heapsort\", \"stable\"] = ..., na_position: Literal[\"first\", \"last\"] = ..., sort_remaining: bool = ..., ignore_index: bool = ..., key: ((Index, /) -> Index | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Series) | None = ...) -> None, (*, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., level: Hashable | Sequence[Hashable] = ..., ascending: bool | Sequence[bool] = ..., inplace: Literal[False] = ..., kind: Literal[\"quicksort\", \"mergesort\", \"heapsort\", \"stable\"] = ..., na_position: Literal[\"first\", \"last\"] = ..., sort_remaining: bool = ..., ignore_index: bool = ..., key: ((Index, /) -> Index | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Series) | None = ...) -> DataFrame, (*, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., level: Hashable | Sequence[Hashable] = ..., ascending: bool | Sequence[bool] = ..., inplace: bool = ..., kind: Literal[\"quicksort\", \"mergesort\", \"heapsort\", \"stable\"] = ..., na_position: Literal[\"first\", \"last\"] = ..., sort_remaining: bool = ..., ignore_index: bool = ..., key: ((Index, /) -> Index | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Series) | None = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Sort object by labels (along an axis).\n\nReturns a new DataFrame sorted by label if `inplace` argument is\n``False``, otherwise updates the original DataFrame and returns None.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis along which to sort. The value 0 identifies the rows,\n and 1 identifies the columns.\nlevel : int or level name or list of ints or list of level names\n If not None, sort on values in specified index level(s).\nascending : bool or list-like of bools, default True\n Sort ascending vs. descending. When the index is a MultiIndex the\n sort direction can be controlled for each level individually.\ninplace : bool, default False\n Whether to modify the DataFrame rather than creating a new one.\nkind : {'quicksort', 'mergesort', 'heapsort', 'stable'}, default 'quicksort'\n Choice of sorting algorithm. See also :func:`numpy.sort` for more\n information. `mergesort` and `stable` are the only stable algorithms. For\n DataFrames, this option is only applied when sorting on a single\n column or label.\nna_position : {'first', 'last'}, default 'last'\n Puts NaNs at the beginning if `first`; `last` puts NaNs at the end.\n Not implemented for MultiIndex.\nsort_remaining : bool, default True\n If True and sorting by level and index is multilevel, sort by other\n levels too (in order) after sorting by specified level.\nignore_index : bool, default False\n If True, the resulting axis will be labeled 0, 1, \u2026, n - 1.\nkey : callable, optional\n If not None, apply the key function to the index values\n before sorting. This is similar to the `key` argument in the\n builtin :meth:`sorted` function, with the notable difference that\n this `key` function should be *vectorized*. It should expect an\n ``Index`` and return an ``Index`` of the same shape. For MultiIndex\n inputs, the key is applied *per level*.\n\nReturns\n-------\nDataFrame or None\n The original DataFrame sorted by the labels or None if ``inplace=True``.\n\nSee Also\n--------\nSeries.sort_index : Sort Series by the index.\nDataFrame.sort_values : Sort DataFrame by the value.\nSeries.sort_values : Sort Series by the value.\n\nExamples\n--------\n>>> df = pd.DataFrame([1, 2, 3, 4, 5], index=[100, 29, 234, 1, 150],\n... columns=['A'])\n>>> df.sort_index()\n A\n1 4\n29 2\n100 1\n150 5\n234 3\n\nBy default, it sorts in ascending order, to sort in descending order,\nuse ``ascending=False``\n\n>>> df.sort_index(ascending=False)\n A\n234 3\n150 5\n100 1\n29 2\n1 4\n\nA key function can be specified which is applied to the index before\nsorting. For a ``MultiIndex`` this is applied to each level separately.\n\n>>> df = pd.DataFrame({\"a\": [1, 2, 3, 4]}, index=['A', 'b', 'C', 'd'])\n>>> df.sort_index(key=lambda x: x.str.lower())\n a\nA 1\nb 2\nC 3\nd 4\n"}, "kind": 2, "label": "sort_index", "sortText": "161"}, {"detail": "Overload[(by: Hashable | Sequence[Hashable], *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., ascending=..., inplace: Literal[False] = ..., kind: Literal[\"quicksort\", \"mergesort\", \"heapsort\", \"stable\"] = ..., na_position: Literal[\"first\", \"last\"] = ..., ignore_index: bool = ..., key: ((Series, /) -> Series | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index) | None = ...) -> DataFrame, (by: Hashable | Sequence[Hashable], *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., ascending=..., inplace: Literal[True], kind: Literal[\"quicksort\", \"mergesort\", \"heapsort\", \"stable\"] = ..., na_position: str = ..., ignore_index: bool = ..., key: ((Series, /) -> Series | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index) | None = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Sort by the values along either axis.\n\nParameters\n----------\nby : str or list of str\n Name or list of names to sort by.\n\n - if `axis` is 0 or `'index'` then `by` may contain index\n levels and/or column labels.\n - if `axis` is 1 or `'columns'` then `by` may contain column\n levels and/or index labels.\naxis : \"{0 or 'index', 1 or 'columns'}\", default 0\n Axis to be sorted.\nascending : bool or list of bool, default True\n Sort ascending vs. descending. Specify list for multiple sort\n orders. If this is a list of bools, must match the length of\n the by.\ninplace : bool, default False\n If True, perform operation in-place.\nkind : {'quicksort', 'mergesort', 'heapsort', 'stable'}, default 'quicksort'\n Choice of sorting algorithm. See also :func:`numpy.sort` for more\n information. `mergesort` and `stable` are the only stable algorithms. For\n DataFrames, this option is only applied when sorting on a single\n column or label.\nna_position : {'first', 'last'}, default 'last'\n Puts NaNs at the beginning if `first`; `last` puts NaNs at the\n end.\nignore_index : bool, default False\n If True, the resulting axis will be labeled 0, 1, \u2026, n - 1.\nkey : callable, optional\n Apply the key function to the values\n before sorting. This is similar to the `key` argument in the\n builtin :meth:`sorted` function, with the notable difference that\n this `key` function should be *vectorized*. It should expect a\n ``Series`` and return a Series with the same shape as the input.\n It will be applied to each column in `by` independently.\n\nReturns\n-------\nDataFrame or None\n DataFrame with sorted values or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.sort_index : Sort a DataFrame by the index.\nSeries.sort_values : Similar method for a Series.\n\nExamples\n--------\n>>> df = pd.DataFrame({\n... 'col1': ['A', 'A', 'B', np.nan, 'D', 'C'],\n... 'col2': [2, 1, 9, 8, 7, 4],\n... 'col3': [0, 1, 9, 4, 2, 3],\n... 'col4': ['a', 'B', 'c', 'D', 'e', 'F']\n... })\n>>> df\n col1 col2 col3 col4\n0 A 2 0 a\n1 A 1 1 B\n2 B 9 9 c\n3 NaN 8 4 D\n4 D 7 2 e\n5 C 4 3 F\n\nSort by col1\n\n>>> df.sort_values(by=['col1'])\n col1 col2 col3 col4\n0 A 2 0 a\n1 A 1 1 B\n2 B 9 9 c\n5 C 4 3 F\n4 D 7 2 e\n3 NaN 8 4 D\n\nSort by multiple columns\n\n>>> df.sort_values(by=['col1', 'col2'])\n col1 col2 col3 col4\n1 A 1 1 B\n0 A 2 0 a\n2 B 9 9 c\n5 C 4 3 F\n4 D 7 2 e\n3 NaN 8 4 D\n\nSort Descending\n\n>>> df.sort_values(by='col1', ascending=False)\n col1 col2 col3 col4\n4 D 7 2 e\n5 C 4 3 F\n2 B 9 9 c\n0 A 2 0 a\n1 A 1 1 B\n3 NaN 8 4 D\n\nPutting NAs first\n\n>>> df.sort_values(by='col1', ascending=False, na_position='first')\n col1 col2 col3 col4\n3 NaN 8 4 D\n4 D 7 2 e\n5 C 4 3 F\n2 B 9 9 c\n0 A 2 0 a\n1 A 1 1 B\n\nSorting with a key function\n\n>>> df.sort_values(by='col4', key=lambda col: col.str.lower())\n col1 col2 col3 col4\n0 A 2 0 a\n1 A 1 1 B\n2 B 9 9 c\n3 NaN 8 4 D\n4 D 7 2 e\n5 C 4 3 F\n\nNatural sort with the key argument,\nusing the `natsort ` package.\n\n>>> df = pd.DataFrame({\n... \"time\": ['0hr', '128hr', '72hr', '48hr', '96hr'],\n... \"value\": [10, 20, 30, 40, 50]\n... })\n>>> df\n time value\n0 0hr 10\n1 128hr 20\n2 72hr 30\n3 48hr 40\n4 96hr 50\n>>> from natsort import index_natsorted\n>>> df.sort_values(\n... by=\"time\",\n... key=lambda x: np.argsort(index_natsorted(df[\"time\"]))\n... )\n time value\n0 0hr 10\n3 48hr 40\n2 72hr 30\n4 96hr 50\n1 128hr 20\n"}, "kind": 2, "label": "sort_values", "sortText": "162"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "sparse", "sortText": "163"}, {"detail": "bound method DataFrame.squeeze(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Squeeze 1 dimensional axis objects into scalars.\n\nSeries or DataFrames with a single element are squeezed to a scalar.\nDataFrames with a single column or a single row are squeezed to a\nSeries. Otherwise the object is unchanged.\n\nThis method is most useful when you don't know if your\nobject is a Series or DataFrame, but you do know it has just a single\ncolumn. In that case you can safely call `squeeze` to ensure you have a\nSeries.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns', None}, default None\n A specific axis to squeeze. By default, all length-1 axes are\n squeezed. For `Series` this parameter is unused and defaults to `None`.\n\nReturns\n-------\nDataFrame, Series, or scalar\n The projection after squeezing `axis` or all the axes.\n\nSee Also\n--------\nSeries.iloc : Integer-location based indexing for selecting scalars.\nDataFrame.iloc : Integer-location based indexing for selecting Series.\nSeries.to_frame : Inverse of DataFrame.squeeze for a\n single-column DataFrame.\n\nExamples\n--------\n>>> primes = pd.Series([2, 3, 5, 7])\n\nSlicing might produce a Series with a single value:\n\n>>> even_primes = primes[primes % 2 == 0]\n>>> even_primes\n0 2\ndtype: int64\n\n>>> even_primes.squeeze()\n2\n\nSqueezing objects with more than one value in every axis does nothing:\n\n>>> odd_primes = primes[primes % 2 == 1]\n>>> odd_primes\n1 3\n2 5\n3 7\ndtype: int64\n\n>>> odd_primes.squeeze()\n1 3\n2 5\n3 7\ndtype: int64\n\nSqueezing is even more effective when used with DataFrames.\n\n>>> df = pd.DataFrame([[1, 2], [3, 4]], columns=['a', 'b'])\n>>> df\n a b\n0 1 2\n1 3 4\n\nSlicing a single column will produce a DataFrame with the columns\nhaving only one value:\n\n>>> df_a = df[['a']]\n>>> df_a\n a\n0 1\n1 3\n\nSo the columns can be squeezed down, resulting in a Series:\n\n>>> df_a.squeeze('columns')\n0 1\n1 3\nName: a, dtype: int64\n\nSlicing a single row from a single column will produce a single\nscalar DataFrame:\n\n>>> df_0a = df.loc[df.index < 1, ['a']]\n>>> df_0a\n a\n0 1\n\nSqueezing the rows produces a single scalar Series:\n\n>>> df_0a.squeeze('rows')\na 1\nName: 0, dtype: int64\n\nSqueezing all axes will project directly into a scalar:\n\n>>> df_0a.squeeze()\n1\n"}, "kind": 2, "label": "squeeze", "sortText": "164"}, {"detail": "bound method DataFrame.stack(level: Hashable | Sequence[Hashable] = -1, dropna: bool | _NoDefault = ..., sort: bool | _NoDefault = ..., future_stack: bool = False) -> Unknown", "documentation": {"kind": "plaintext", "value": "Stack the prescribed level(s) from columns to index.\n\nReturn a reshaped DataFrame or Series having a multi-level\nindex with one or more new inner-most levels compared to the current\nDataFrame. The new inner-most levels are created by pivoting the\ncolumns of the current dataframe:\n\n - if the columns have a single level, the output is a Series;\n - if the columns have multiple levels, the new index\n level(s) is (are) taken from the prescribed level(s) and\n the output is a DataFrame.\n\nParameters\n----------\nlevel : int, str, list, default -1\n Level(s) to stack from the column axis onto the index\n axis, defined as one index or label, or a list of indices\n or labels.\ndropna : bool, default True\n Whether to drop rows in the resulting Frame/Series with\n missing values. Stacking a column level onto the index\n axis can create combinations of index and column values\n that are missing from the original dataframe. See Examples\n section.\nsort : bool, default True\n Whether to sort the levels of the resulting MultiIndex.\nfuture_stack : bool, default False\n Whether to use the new implementation that will replace the current\n implementation in pandas 3.0. When True, dropna and sort have no impact\n on the result and must remain unspecified. See :ref:`pandas 2.1.0 Release\n notes ` for more details.\n\nReturns\n-------\nDataFrame or Series\n Stacked dataframe or series.\n\nSee Also\n--------\nDataFrame.unstack : Unstack prescribed level(s) from index axis\n onto column axis.\nDataFrame.pivot : Reshape dataframe from long format to wide\n format.\nDataFrame.pivot_table : Create a spreadsheet-style pivot table\n as a DataFrame.\n\nNotes\n-----\nThe function is named by analogy with a collection of books\nbeing reorganized from being side by side on a horizontal\nposition (the columns of the dataframe) to being stacked\nvertically on top of each other (in the index of the\ndataframe).\n\nReference :ref:`the user guide ` for more examples.\n\nExamples\n--------\n**Single level columns**\n\n>>> df_single_level_cols = pd.DataFrame([[0, 1], [2, 3]],\n... index=['cat', 'dog'],\n... columns=['weight', 'height'])\n\nStacking a dataframe with a single level column axis returns a Series:\n\n>>> df_single_level_cols\n weight height\ncat 0 1\ndog 2 3\n>>> df_single_level_cols.stack(future_stack=True)\ncat weight 0\n height 1\ndog weight 2\n height 3\ndtype: int64\n\n**Multi level columns: simple case**\n\n>>> multicol1 = pd.MultiIndex.from_tuples([('weight', 'kg'),\n... ('weight', 'pounds')])\n>>> df_multi_level_cols1 = pd.DataFrame([[1, 2], [2, 4]],\n... index=['cat', 'dog'],\n... columns=multicol1)\n\nStacking a dataframe with a multi-level column axis:\n\n>>> df_multi_level_cols1\n weight\n kg pounds\ncat 1 2\ndog 2 4\n>>> df_multi_level_cols1.stack(future_stack=True)\n weight\ncat kg 1\n pounds 2\ndog kg 2\n pounds 4\n\n**Missing values**\n\n>>> multicol2 = pd.MultiIndex.from_tuples([('weight', 'kg'),\n... ('height', 'm')])\n>>> df_multi_level_cols2 = pd.DataFrame([[1.0, 2.0], [3.0, 4.0]],\n... index=['cat', 'dog'],\n... columns=multicol2)\n\nIt is common to have missing values when stacking a dataframe\nwith multi-level columns, as the stacked dataframe typically\nhas more values than the original dataframe. Missing values\nare filled with NaNs:\n\n>>> df_multi_level_cols2\n weight height\n kg m\ncat 1.0 2.0\ndog 3.0 4.0\n>>> df_multi_level_cols2.stack(future_stack=True)\n weight height\ncat kg 1.0 NaN\n m NaN 2.0\ndog kg 3.0 NaN\n m NaN 4.0\n\n**Prescribing the level(s) to be stacked**\n\nThe first parameter controls which level or levels are stacked:\n\n>>> df_multi_level_cols2.stack(0, future_stack=True)\n kg m\ncat weight 1.0 NaN\n height NaN 2.0\ndog weight 3.0 NaN\n height NaN 4.0\n>>> df_multi_level_cols2.stack([0, 1], future_stack=True)\ncat weight kg 1.0\n height m 2.0\ndog weight kg 3.0\n height m 4.0\ndtype: float64\n"}, "kind": 2, "label": "stack", "sortText": "165"}, {"detail": "bound method DataFrame.std(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, ddof: int = 1, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "std", "sortText": "166"}, {"detail": "Styler", "documentation": {"kind": "plaintext", "value": "Helps style a DataFrame or Series according to the data with HTML and CSS.\n\nParameters\n----------\ndata : Series or DataFrame\n Data to be styled - either a Series or DataFrame.\nprecision : int, optional\n Precision to round floats to. If not given defaults to\n ``pandas.options.styler.format.precision``.\n\n .. versionchanged:: 1.4.0\ntable_styles : list-like, default None\n List of {selector: (attr, value)} dicts; see Notes.\nuuid : str, default None\n A unique identifier to avoid CSS collisions; generated automatically.\ncaption : str, tuple, default None\n String caption to attach to the table. Tuple only used for LaTeX dual captions.\ntable_attributes : str, default None\n Items that show up in the opening ```` tag\n in addition to automatic (by default) id.\ncell_ids : bool, default True\n If True, each cell will have an ``id`` attribute in their HTML tag.\n The ``id`` takes the form ``T__row_col``\n where ```` is the unique identifier, ```` is the row\n number and ```` is the column number.\nna_rep : str, optional\n Representation for missing values.\n If ``na_rep`` is None, no special formatting is applied, and falls back to\n ``pandas.options.styler.format.na_rep``.\n\nuuid_len : int, default 5\n If ``uuid`` is not specified, the length of the ``uuid`` to randomly generate\n expressed in hex characters, in range [0, 32].\ndecimal : str, optional\n Character used as decimal separator for floats, complex and integers. If not\n given uses ``pandas.options.styler.format.decimal``.\n\n .. versionadded:: 1.3.0\n\nthousands : str, optional, default None\n Character used as thousands separator for floats, complex and integers. If not\n given uses ``pandas.options.styler.format.thousands``.\n\n .. versionadded:: 1.3.0\n\nescape : str, optional\n Use 'html' to replace the characters ``&``, ``<``, ``>``, ``'``, and ``\"``\n in cell display string with HTML-safe sequences.\n Use 'latex' to replace the characters ``&``, ``%``, ``$``, ``#``, ``_``,\n ``{``, ``}``, ``~``, ``^``, and ``\\`` in the cell display string with\n LaTeX-safe sequences. Use 'latex-math' to replace the characters\n the same way as in 'latex' mode, except for math substrings,\n which either are surrounded by two characters ``$`` or start with\n the character ``\\(`` and end with ``\\)``.\n If not given uses ``pandas.options.styler.format.escape``.\n\n .. versionadded:: 1.3.0\nformatter : str, callable, dict, optional\n Object to define how values are displayed. See ``Styler.format``. If not given\n uses ``pandas.options.styler.format.formatter``.\n\n .. versionadded:: 1.4.0\n\nAttributes\n----------\nenv : Jinja2 jinja2.Environment\ntemplate_html : Jinja2 Template\ntemplate_html_table : Jinja2 Template\ntemplate_html_style : Jinja2 Template\ntemplate_latex : Jinja2 Template\nloader : Jinja2 Loader\n\nSee Also\n--------\nDataFrame.style : Return a Styler object containing methods for building\n a styled HTML representation for the DataFrame.\n\nNotes\n-----\nMost styling will be done by passing style functions into\n``Styler.apply`` or ``Styler.map``. Style functions should\nreturn values with strings containing CSS ``'attr: value'`` that will\nbe applied to the indicated cells.\n\nIf using in the Jupyter notebook, Styler has defined a ``_repr_html_``\nto automatically render itself. Otherwise call Styler.to_html to get\nthe generated HTML.\n\nCSS classes are attached to the generated HTML\n\n* Index and Column names include ``index_name`` and ``level``\n where `k` is its level in a MultiIndex\n* Index label cells include\n\n * ``row_heading``\n * ``row`` where `n` is the numeric position of the row\n * ``level`` where `k` is the level in a MultiIndex\n\n* Column label cells include\n * ``col_heading``\n * ``col`` where `n` is the numeric position of the column\n * ``level`` where `k` is the level in a MultiIndex\n\n* Blank cells include ``blank``\n* Data cells include ``data``\n* Trimmed cells include ``col_trim`` or ``row_trim``.\n\nAny, or all, or these classes can be renamed by using the ``css_class_names``\nargument in ``Styler.set_table_classes``, giving a value such as\n*{\"row\": \"MY_ROW_CLASS\", \"col_trim\": \"\", \"row_trim\": \"\"}*.\n\nExamples\n--------\n>>> df = pd.DataFrame([[1.0, 2.0, 3.0], [4, 5, 6]], index=['a', 'b'],\n... columns=['A', 'B', 'C'])\n>>> pd.io.formats.style.Styler(df, precision=2,\n... caption=\"My table\") # doctest: +SKIP\n\nPlease see:\n`Table Visualization <../../user_guide/style.ipynb>`_ for more examples.\n"}, "kind": 22, "label": "style", "sortText": "167"}, {"detail": "bound method DataFrame.sub(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "sub", "sortText": "168"}, {"detail": "(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 3, "label": "subtract", "sortText": "169"}, {"detail": "bound method DataFrame.sum(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, min_count: int = 0, **kwargs) -> Unknown", "kind": 2, "label": "sum", "sortText": "170"}, {"detail": "bound method DataFrame.swapaxes(axis1: int | Literal[\"index\", \"columns\", \"rows\"], axis2: int | Literal[\"index\", \"columns\", \"rows\"], copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Interchange axes and swap values axes appropriately.\n\n.. deprecated:: 2.1.0\n ``swapaxes`` is deprecated and will be removed.\n Please use ``transpose`` instead.\n\nReturns\n-------\nsame as input\n\nExamples\n--------\nPlease see examples for :meth:`DataFrame.transpose`.\n"}, "kind": 2, "label": "swapaxes", "sortText": "171"}, {"detail": "bound method DataFrame.swaplevel(i: int | Literal[\"index\", \"columns\", \"rows\"] = -2, j: int | Literal[\"index\", \"columns\", \"rows\"] = -1, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> DataFrame", "kind": 2, "label": "swaplevel", "sortText": "172"}, {"detail": "bound method DataFrame.tail(n: int = 5) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the last `n` rows.\n\nThis function returns last `n` rows from the object based on\nposition. It is useful for quickly verifying data, for example,\nafter sorting or appending rows.\n\nFor negative values of `n`, this function returns all rows except\nthe first `|n|` rows, equivalent to ``df[|n|:]``.\n\nIf n is larger than the number of rows, this function returns all rows.\n\nParameters\n----------\nn : int, default 5\n Number of rows to select.\n\nReturns\n-------\ntype of caller\n The last `n` rows of the caller object.\n\nSee Also\n--------\nDataFrame.head : The first `n` rows of the caller object.\n\nExamples\n--------\n>>> df = pd.DataFrame({'animal': ['alligator', 'bee', 'falcon', 'lion',\n... 'monkey', 'parrot', 'shark', 'whale', 'zebra']})\n>>> df\n animal\n0 alligator\n1 bee\n2 falcon\n3 lion\n4 monkey\n5 parrot\n6 shark\n7 whale\n8 zebra\n\nViewing the last 5 lines\n\n>>> df.tail()\n animal\n4 monkey\n5 parrot\n6 shark\n7 whale\n8 zebra\n\nViewing the last `n` lines (three in this case)\n\n>>> df.tail(3)\n animal\n6 shark\n7 whale\n8 zebra\n\nFor negative values of `n`\n\n>>> df.tail(-3)\n animal\n3 lion\n4 monkey\n5 parrot\n6 shark\n7 whale\n8 zebra\n"}, "kind": 2, "label": "tail", "sortText": "173"}, {"detail": "bound method DataFrame.take(indices, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the elements in the given *positional* indices along an axis.\n\nThis means that we are not indexing according to actual values in\nthe index attribute of the object. We are indexing according to the\nactual position of the element in the object.\n\nParameters\n----------\nindices : array-like\n An array of ints indicating which positions to take.\naxis : {0 or 'index', 1 or 'columns', None}, default 0\n The axis on which to select elements. ``0`` means that we are\n selecting rows, ``1`` means that we are selecting columns.\n For `Series` this parameter is unused and defaults to 0.\n**kwargs\n For compatibility with :meth:`numpy.take`. Has no effect on the\n output.\n\nReturns\n-------\nsame type as caller\n An array-like containing the elements taken from the object.\n\nSee Also\n--------\nDataFrame.loc : Select a subset of a DataFrame by labels.\nDataFrame.iloc : Select a subset of a DataFrame by positions.\nnumpy.take : Take elements from an array along an axis.\n\nExamples\n--------\n>>> df = pd.DataFrame([('falcon', 'bird', 389.0),\n... ('parrot', 'bird', 24.0),\n... ('lion', 'mammal', 80.5),\n... ('monkey', 'mammal', np.nan)],\n... columns=['name', 'class', 'max_speed'],\n... index=[0, 2, 3, 1])\n>>> df\n name class max_speed\n0 falcon bird 389.0\n2 parrot bird 24.0\n3 lion mammal 80.5\n1 monkey mammal NaN\n\nTake elements at positions 0 and 3 along the axis 0 (default).\n\nNote how the actual indices selected (0 and 1) do not correspond to\nour selected indices 0 and 3. That's because we are selecting the 0th\nand 3rd rows, not rows whose indices equal 0 and 3.\n\n>>> df.take([0, 3])\n name class max_speed\n0 falcon bird 389.0\n1 monkey mammal NaN\n\nTake elements at indices 1 and 2 along the axis 1 (column selection).\n\n>>> df.take([1, 2], axis=1)\n class max_speed\n0 bird 389.0\n2 bird 24.0\n3 mammal 80.5\n1 mammal NaN\n\nWe may take elements using negative integers for positive indices,\nstarting from the end of the object, just like with Python lists.\n\n>>> df.take([-1, -2])\n name class max_speed\n1 monkey mammal NaN\n3 lion mammal 80.5\n"}, "kind": 2, "label": "take", "sortText": "174"}, {"detail": "bound method DataFrame.to_clipboard(excel: bool = True, sep: str | None = None, **kwargs) -> None", "documentation": {"kind": "plaintext", "value": "Copy object to the system clipboard.\n\nWrite a text representation of object to the system clipboard.\nThis can be pasted into Excel, for example.\n\nParameters\n----------\nexcel : bool, default True\n Produce output in a csv format for easy pasting into excel.\n\n - True, use the provided separator for csv pasting.\n - False, write a string representation of the object to the clipboard.\n\nsep : str, default ``'\\t'``\n Field delimiter.\n**kwargs\n These parameters will be passed to DataFrame.to_csv.\n\nSee Also\n--------\nDataFrame.to_csv : Write a DataFrame to a comma-separated values\n (csv) file.\nread_clipboard : Read text from clipboard and pass to read_csv.\n\nNotes\n-----\nRequirements for your platform.\n\n - Linux : `xclip`, or `xsel` (with `PyQt4` modules)\n - Windows : none\n - macOS : none\n\nThis method uses the processes developed for the package `pyperclip`. A\nsolution to render any output string format is given in the examples.\n\nExamples\n--------\nCopy the contents of a DataFrame to the clipboard.\n\n>>> df = pd.DataFrame([[1, 2, 3], [4, 5, 6]], columns=['A', 'B', 'C'])\n\n>>> df.to_clipboard(sep=',') # doctest: +SKIP\n... # Wrote the following to the system clipboard:\n... # ,A,B,C\n... # 0,1,2,3\n... # 1,4,5,6\n\nWe can omit the index by passing the keyword `index` and setting\nit to false.\n\n>>> df.to_clipboard(sep=',', index=False) # doctest: +SKIP\n... # Wrote the following to the system clipboard:\n... # A,B,C\n... # 1,2,3\n... # 4,5,6\n\nUsing the original `pyperclip` package for any string output format.\n\n.. code-block:: python\n\n import pyperclip\n html = df.style.to_html()\n pyperclip.copy(html)\n"}, "kind": 2, "label": "to_clipboard", "sortText": "175"}, {"detail": "Overload[(path_or_buf: None = ..., sep: str = ..., na_rep: str = ..., float_format: str | ((...) -> Unknown) | None = ..., columns: Sequence[Hashable] | None = ..., header: bool | list[str] = ..., index: bool = ..., index_label: Hashable | Sequence[Hashable] = ..., mode: str = ..., encoding: str | None = ..., compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = ..., quoting: int | None = ..., quotechar: str = ..., lineterminator: str | None = ..., chunksize: int | None = ..., date_format: str | None = ..., doublequote: bool = ..., escapechar: str | None = ..., decimal: str = ..., errors: Literal[\"strict\", \"ignore\", \"replace\", \"surrogateescape\", \"xmlcharrefreplace\", \"backslashreplace\", \"namereplace\"] = ..., storage_options: dict[str, Any] | None = ...) -> str, (path_or_buf: str | PathLike[str] | WriteBuffer[bytes] | WriteBuffer[str], sep: str = ..., na_rep: str = ..., float_format: str | ((...) -> Unknown) | None = ..., columns: Sequence[Hashable] | None = ..., header: bool | list[str] = ..., index: bool = ..., index_label: Hashable | Sequence[Hashable] = ..., mode: str = ..., encoding: str | None = ..., compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = ..., quoting: int | None = ..., quotechar: str = ..., lineterminator: str | None = ..., chunksize: int | None = ..., date_format: str | None = ..., doublequote: bool = ..., escapechar: str | None = ..., decimal: str = ..., errors: Literal[\"strict\", \"ignore\", \"replace\", \"surrogateescape\", \"xmlcharrefreplace\", \"backslashreplace\", \"namereplace\"] = ..., storage_options: dict[str, Any] | None = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Write object to a comma-separated values (csv) file.\n\nParameters\n----------\npath_or_buf : str, path object, file-like object, or None, default None\n String, path object (implementing os.PathLike[str]), or file-like\n object implementing a write() function. If None, the result is\n returned as a string. If a non-binary file object is passed, it should\n be opened with `newline=''`, disabling universal newlines. If a binary\n file object is passed, `mode` might need to contain a `'b'`.\nsep : str, default ','\n String of length 1. Field delimiter for the output file.\nna_rep : str, default ''\n Missing data representation.\nfloat_format : str, Callable, default None\n Format string for floating point numbers. If a Callable is given, it takes\n precedence over other numeric formatting parameters, like decimal.\ncolumns : sequence, optional\n Columns to write.\nheader : bool or list of str, default True\n Write out the column names. If a list of strings is given it is\n assumed to be aliases for the column names.\nindex : bool, default True\n Write row names (index).\nindex_label : str or sequence, or False, default None\n Column label for index column(s) if desired. If None is given, and\n `header` and `index` are True, then the index names are used. A\n sequence should be given if the object uses MultiIndex. If\n False do not print fields for index names. Use index_label=False\n for easier importing in R.\nmode : {{'w', 'x', 'a'}}, default 'w'\n Forwarded to either `open(mode=)` or `fsspec.open(mode=)` to control\n the file opening. Typical values include:\n\n - 'w', truncate the file first.\n - 'x', exclusive creation, failing if the file already exists.\n - 'a', append to the end of file if it exists.\n\nencoding : str, optional\n A string representing the encoding to use in the output file,\n defaults to 'utf-8'. `encoding` is not supported if `path_or_buf`\n is a non-binary file object.\n{compression_options}\n\n May be a dict with key 'method' as compression mode\n and other entries as additional compression options if\n compression mode is 'zip'.\n\n Passing compression options as keys in dict is\n supported for compression modes 'gzip', 'bz2', 'zstd', and 'zip'.\nquoting : optional constant from csv module\n Defaults to csv.QUOTE_MINIMAL. If you have set a `float_format`\n then floats are converted to strings and thus csv.QUOTE_NONNUMERIC\n will treat them as non-numeric.\nquotechar : str, default '\\\"'\n String of length 1. Character used to quote fields.\nlineterminator : str, optional\n The newline character or character sequence to use in the output\n file. Defaults to `os.linesep`, which depends on the OS in which\n this method is called ('\\\\n' for linux, '\\\\r\\\\n' for Windows, i.e.).\n\n .. versionchanged:: 1.5.0\n\n Previously was line_terminator, changed for consistency with\n read_csv and the standard library 'csv' module.\n\nchunksize : int or None\n Rows to write at a time.\ndate_format : str, default None\n Format string for datetime objects.\ndoublequote : bool, default True\n Control quoting of `quotechar` inside a field.\nescapechar : str, default None\n String of length 1. Character used to escape `sep` and `quotechar`\n when appropriate.\ndecimal : str, default '.'\n Character recognized as decimal separator. E.g. use ',' for\n European data.\nerrors : str, default 'strict'\n Specifies how encoding and decoding errors are to be handled.\n See the errors argument for :func:`open` for a full list\n of options.\n\n{storage_options}\n\nReturns\n-------\nNone or str\n If path_or_buf is None, returns the resulting csv format as a\n string. Otherwise returns None.\n\nSee Also\n--------\nread_csv : Load a CSV file into a DataFrame.\nto_excel : Write DataFrame to an Excel file.\n\nExamples\n--------\nCreate 'out.csv' containing 'df' without indices\n\n>>> df = pd.DataFrame({{'name': ['Raphael', 'Donatello'],\n... 'mask': ['red', 'purple'],\n... 'weapon': ['sai', 'bo staff']}})\n>>> df.to_csv('out.csv', index=False) # doctest: +SKIP\n\nCreate 'out.zip' containing 'out.csv'\n\n>>> df.to_csv(index=False)\n'name,mask,weapon\\nRaphael,red,sai\\nDonatello,purple,bo staff\\n'\n>>> compression_opts = dict(method='zip',\n... archive_name='out.csv') # doctest: +SKIP\n>>> df.to_csv('out.zip', index=False,\n... compression=compression_opts) # doctest: +SKIP\n\nTo write a csv file to a new folder or nested folder you will first\nneed to create it using either Pathlib or os:\n\n>>> from pathlib import Path # doctest: +SKIP\n>>> filepath = Path('folder/subfolder/out.csv') # doctest: +SKIP\n>>> filepath.parent.mkdir(parents=True, exist_ok=True) # doctest: +SKIP\n>>> df.to_csv(filepath) # doctest: +SKIP\n\n>>> import os # doctest: +SKIP\n>>> os.makedirs('folder/subfolder', exist_ok=True) # doctest: +SKIP\n>>> df.to_csv('folder/subfolder/out.csv') # doctest: +SKIP\n"}, "kind": 2, "label": "to_csv", "sortText": "176"}, {"detail": "Overload[[MutableMappingT](orient: Literal[\"dict\", \"list\", \"series\", \"split\", \"tight\", \"index\"] = ..., *, into: type[MutableMappingT] | MutableMappingT, index: bool = ...) -> MutableMappingT, [MutableMappingT](orient: Literal[\"records\"], *, into: type[MutableMappingT] | MutableMappingT, index: bool = ...) -> list[MutableMappingT], (orient: Literal[\"dict\", \"list\", \"series\", \"split\", \"tight\", \"index\"] = ..., *, into: type[dict[Unknown, Unknown]] = ..., index: bool = ...) -> dict[Unknown, Unknown], (orient: Literal[\"records\"], *, into: type[dict[Unknown, Unknown]] = ..., index: bool = ...) -> list[dict[Unknown, Unknown]]]", "documentation": {"kind": "plaintext", "value": "Convert the DataFrame to a dictionary.\n\nThe type of the key-value pairs can be customized with the parameters\n(see below).\n\nParameters\n----------\norient : str {'dict', 'list', 'series', 'split', 'tight', 'records', 'index'}\n Determines the type of the values of the dictionary.\n\n - 'dict' (default) : dict like {column -> {index -> value}}\n - 'list' : dict like {column -> [values]}\n - 'series' : dict like {column -> Series(values)}\n - 'split' : dict like\n {'index' -> [index], 'columns' -> [columns], 'data' -> [values]}\n - 'tight' : dict like\n {'index' -> [index], 'columns' -> [columns], 'data' -> [values],\n 'index_names' -> [index.names], 'column_names' -> [column.names]}\n - 'records' : list like\n [{column -> value}, ... , {column -> value}]\n - 'index' : dict like {index -> {column -> value}}\n\n .. versionadded:: 1.4.0\n 'tight' as an allowed value for the ``orient`` argument\n\ninto : class, default dict\n The collections.abc.MutableMapping subclass used for all Mappings\n in the return value. Can be the actual class or an empty\n instance of the mapping type you want. If you want a\n collections.defaultdict, you must pass it initialized.\n\nindex : bool, default True\n Whether to include the index item (and index_names item if `orient`\n is 'tight') in the returned dictionary. Can only be ``False``\n when `orient` is 'split' or 'tight'.\n\n .. versionadded:: 2.0.0\n\nReturns\n-------\ndict, list or collections.abc.MutableMapping\n Return a collections.abc.MutableMapping object representing the\n DataFrame. The resulting transformation depends on the `orient`\n parameter.\n\nSee Also\n--------\nDataFrame.from_dict: Create a DataFrame from a dictionary.\nDataFrame.to_json: Convert a DataFrame to JSON format.\n\nExamples\n--------\n>>> df = pd.DataFrame({'col1': [1, 2],\n... 'col2': [0.5, 0.75]},\n... index=['row1', 'row2'])\n>>> df\n col1 col2\nrow1 1 0.50\nrow2 2 0.75\n>>> df.to_dict()\n{'col1': {'row1': 1, 'row2': 2}, 'col2': {'row1': 0.5, 'row2': 0.75}}\n\nYou can specify the return orientation.\n\n>>> df.to_dict('series')\n{'col1': row1 1\n row2 2\nName: col1, dtype: int64,\n'col2': row1 0.50\n row2 0.75\nName: col2, dtype: float64}\n\n>>> df.to_dict('split')\n{'index': ['row1', 'row2'], 'columns': ['col1', 'col2'],\n 'data': [[1, 0.5], [2, 0.75]]}\n\n>>> df.to_dict('records')\n[{'col1': 1, 'col2': 0.5}, {'col1': 2, 'col2': 0.75}]\n\n>>> df.to_dict('index')\n{'row1': {'col1': 1, 'col2': 0.5}, 'row2': {'col1': 2, 'col2': 0.75}}\n\n>>> df.to_dict('tight')\n{'index': ['row1', 'row2'], 'columns': ['col1', 'col2'],\n 'data': [[1, 0.5], [2, 0.75]], 'index_names': [None], 'column_names': [None]}\n\nYou can also specify the mapping type.\n\n>>> from collections import OrderedDict, defaultdict\n>>> df.to_dict(into=OrderedDict)\nOrderedDict([('col1', OrderedDict([('row1', 1), ('row2', 2)])),\n ('col2', OrderedDict([('row1', 0.5), ('row2', 0.75)]))])\n\nIf you want a `defaultdict`, you need to initialize it:\n\n>>> dd = defaultdict(list)\n>>> df.to_dict('records', into=dd)\n[defaultdict(, {'col1': 1, 'col2': 0.5}),\n defaultdict(, {'col1': 2, 'col2': 0.75})]\n"}, "kind": 2, "label": "to_dict", "sortText": "177"}, {"detail": "bound method DataFrame.to_excel(excel_writer: str | PathLike[str] | WriteExcelBuffer, sheet_name: str = \"Sheet1\", na_rep: str = \"\", float_format: str | None = None, columns: Sequence[Hashable] | None = None, header: Sequence[Hashable] | bool = True, index: bool = True, index_label: Hashable | Sequence[Hashable] = None, startrow: int = 0, startcol: int = 0, engine: Literal[\"openpyxl\", \"xlsxwriter\"] | None = None, merge_cells: bool = True, inf_rep: str = \"inf\", freeze_panes: tuple[int, int] | None = None, storage_options: dict[str, Any] | None = None, engine_kwargs: dict[str, Any] | None = None) -> None", "documentation": {"kind": "plaintext", "value": "Write {klass} to an Excel sheet.\n\nTo write a single {klass} to an Excel .xlsx file it is only necessary to\nspecify a target file name. To write to multiple sheets it is necessary to\ncreate an `ExcelWriter` object with a target file name, and specify a sheet\nin the file to write to.\n\nMultiple sheets may be written to by specifying unique `sheet_name`.\nWith all data written to the file it is necessary to save the changes.\nNote that creating an `ExcelWriter` object with a file name that already\nexists will result in the contents of the existing file being erased.\n\nParameters\n----------\nexcel_writer : path-like, file-like, or ExcelWriter object\n File path or existing ExcelWriter.\nsheet_name : str, default 'Sheet1'\n Name of sheet which will contain DataFrame.\nna_rep : str, default ''\n Missing data representation.\nfloat_format : str, optional\n Format string for floating point numbers. For example\n ``float_format=\"%.2f\"`` will format 0.1234 to 0.12.\ncolumns : sequence or list of str, optional\n Columns to write.\nheader : bool or list of str, default True\n Write out the column names. If a list of string is given it is\n assumed to be aliases for the column names.\nindex : bool, default True\n Write row names (index).\nindex_label : str or sequence, optional\n Column label for index column(s) if desired. If not specified, and\n `header` and `index` are True, then the index names are used. A\n sequence should be given if the DataFrame uses MultiIndex.\nstartrow : int, default 0\n Upper left cell row to dump data frame.\nstartcol : int, default 0\n Upper left cell column to dump data frame.\nengine : str, optional\n Write engine to use, 'openpyxl' or 'xlsxwriter'. You can also set this\n via the options ``io.excel.xlsx.writer`` or\n ``io.excel.xlsm.writer``.\n\nmerge_cells : bool, default True\n Write MultiIndex and Hierarchical Rows as merged cells.\ninf_rep : str, default 'inf'\n Representation for infinity (there is no native representation for\n infinity in Excel).\nfreeze_panes : tuple of int (length 2), optional\n Specifies the one-based bottommost row and rightmost column that\n is to be frozen.\n{storage_options}\n\n .. versionadded:: {storage_options_versionadded}\nengine_kwargs : dict, optional\n Arbitrary keyword arguments passed to excel engine.\n\nSee Also\n--------\nto_csv : Write DataFrame to a comma-separated values (csv) file.\nExcelWriter : Class for writing DataFrame objects into excel sheets.\nread_excel : Read an Excel file into a pandas DataFrame.\nread_csv : Read a comma-separated values (csv) file into DataFrame.\nio.formats.style.Styler.to_excel : Add styles to Excel sheet.\n\nNotes\n-----\nFor compatibility with :meth:`~DataFrame.to_csv`,\nto_excel serializes lists and dicts to strings before writing.\n\nOnce a workbook has been saved it is not possible to write further\ndata without rewriting the whole workbook.\n\nExamples\n--------\n\nCreate, write to and save a workbook:\n\n>>> df1 = pd.DataFrame([['a', 'b'], ['c', 'd']],\n... index=['row 1', 'row 2'],\n... columns=['col 1', 'col 2'])\n>>> df1.to_excel(\"output.xlsx\") # doctest: +SKIP\n\nTo specify the sheet name:\n\n>>> df1.to_excel(\"output.xlsx\",\n... sheet_name='Sheet_name_1') # doctest: +SKIP\n\nIf you wish to write to more than one sheet in the workbook, it is\nnecessary to specify an ExcelWriter object:\n\n>>> df2 = df1.copy()\n>>> with pd.ExcelWriter('output.xlsx') as writer: # doctest: +SKIP\n... df1.to_excel(writer, sheet_name='Sheet_name_1')\n... df2.to_excel(writer, sheet_name='Sheet_name_2')\n\nExcelWriter can also be used to append to an existing Excel file:\n\n>>> with pd.ExcelWriter('output.xlsx',\n... mode='a') as writer: # doctest: +SKIP\n... df1.to_excel(writer, sheet_name='Sheet_name_3')\n\nTo set the library that is used to write the Excel file,\nyou can pass the `engine` keyword (the default engine is\nautomatically chosen depending on the file extension):\n\n>>> df1.to_excel('output1.xlsx', engine='xlsxwriter') # doctest: +SKIP\n"}, "kind": 2, "label": "to_excel", "sortText": "178"}, {"detail": "bound method DataFrame.to_feather(path: str | PathLike[str] | WriteBuffer[bytes], **kwargs) -> None", "documentation": {"kind": "plaintext", "value": "Write a DataFrame to the binary Feather format.\n\nParameters\n----------\npath : str, path object, file-like object\n String, path object (implementing ``os.PathLike[str]``), or file-like\n object implementing a binary ``write()`` function. If a string or a path,\n it will be used as Root Directory path when writing a partitioned dataset.\n**kwargs :\n Additional keywords passed to :func:`pyarrow.feather.write_feather`.\n This includes the `compression`, `compression_level`, `chunksize`\n and `version` keywords.\n\nNotes\n-----\nThis function writes the dataframe as a `feather file\n`_. Requires a default\nindex. For saving the DataFrame with your custom index use a method that\nsupports custom indices e.g. `to_parquet`.\n\nExamples\n--------\n>>> df = pd.DataFrame([[1, 2, 3], [4, 5, 6]])\n>>> df.to_feather(\"file.feather\") # doctest: +SKIP\n"}, "kind": 2, "label": "to_feather", "sortText": "179"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "to_frame", "sortText": "180"}, {"detail": "bound method DataFrame.to_gbq(destination_table: str, project_id: str | None = None, chunksize: int | None = None, reauth: bool = False, if_exists: Literal[\"fail\", \"replace\", \"append\"] = \"fail\", auth_local_webserver: bool = True, table_schema: list[dict[str, str]] | None = None, location: str | None = None, progress_bar: bool = True, credentials=None) -> None", "documentation": {"kind": "plaintext", "value": "Write a DataFrame to a Google BigQuery table.\n\n.. deprecated:: 2.2.0\n\n Please use ``pandas_gbq.to_gbq`` instead.\n\nThis function requires the `pandas-gbq package\n`__.\n\nSee the `How to authenticate with Google BigQuery\n`__\nguide for authentication instructions.\n\nParameters\n----------\ndestination_table : str\n Name of table to be written, in the form ``dataset.tablename``.\nproject_id : str, optional\n Google BigQuery Account project ID. Optional when available from\n the environment.\nchunksize : int, optional\n Number of rows to be inserted in each chunk from the dataframe.\n Set to ``None`` to load the whole dataframe at once.\nreauth : bool, default False\n Force Google BigQuery to re-authenticate the user. This is useful\n if multiple accounts are used.\nif_exists : str, default 'fail'\n Behavior when the destination table exists. Value can be one of:\n\n ``'fail'``\n If table exists raise pandas_gbq.gbq.TableCreationError.\n ``'replace'``\n If table exists, drop it, recreate it, and insert data.\n ``'append'``\n If table exists, insert data. Create if does not exist.\nauth_local_webserver : bool, default True\n Use the `local webserver flow`_ instead of the `console flow`_\n when getting user credentials.\n\n .. _local webserver flow:\n https://google-auth-oauthlib.readthedocs.io/en/latest/reference/google_auth_oauthlib.flow.html#google_auth_oauthlib.flow.InstalledAppFlow.run_local_server\n .. _console flow:\n https://google-auth-oauthlib.readthedocs.io/en/latest/reference/google_auth_oauthlib.flow.html#google_auth_oauthlib.flow.InstalledAppFlow.run_console\n\n *New in version 0.2.0 of pandas-gbq*.\n\n .. versionchanged:: 1.5.0\n Default value is changed to ``True``. Google has deprecated the\n ``auth_local_webserver = False`` `\"out of band\" (copy-paste)\n flow\n `_.\ntable_schema : list of dicts, optional\n List of BigQuery table fields to which according DataFrame\n columns conform to, e.g. ``[{'name': 'col1', 'type':\n 'STRING'},...]``. If schema is not provided, it will be\n generated according to dtypes of DataFrame columns. See\n BigQuery API documentation on available names of a field.\n\n *New in version 0.3.1 of pandas-gbq*.\nlocation : str, optional\n Location where the load job should run. See the `BigQuery locations\n documentation\n `__ for a\n list of available locations. The location must match that of the\n target dataset.\n\n *New in version 0.5.0 of pandas-gbq*.\nprogress_bar : bool, default True\n Use the library `tqdm` to show the progress bar for the upload,\n chunk by chunk.\n\n *New in version 0.5.0 of pandas-gbq*.\ncredentials : google.auth.credentials.Credentials, optional\n Credentials for accessing Google APIs. Use this parameter to\n override default credentials, such as to use Compute Engine\n :class:`google.auth.compute_engine.Credentials` or Service\n Account :class:`google.oauth2.service_account.Credentials`\n directly.\n\n *New in version 0.8.0 of pandas-gbq*.\n\nSee Also\n--------\npandas_gbq.to_gbq : This function in the pandas-gbq library.\nread_gbq : Read a DataFrame from Google BigQuery.\n\nExamples\n--------\nExample taken from `Google BigQuery documentation\n`_\n\n>>> project_id = \"my-project\"\n>>> table_id = 'my_dataset.my_table'\n>>> df = pd.DataFrame({\n... \"my_string\": [\"a\", \"b\", \"c\"],\n... \"my_int64\": [1, 2, 3],\n... \"my_float64\": [4.0, 5.0, 6.0],\n... \"my_bool1\": [True, False, True],\n... \"my_bool2\": [False, True, False],\n... \"my_dates\": pd.date_range(\"now\", periods=3),\n... }\n... )\n\n>>> df.to_gbq(table_id, project_id=project_id) # doctest: +SKIP\n"}, "kind": 2, "label": "to_gbq", "sortText": "181"}, {"detail": "bound method DataFrame.to_hdf(path_or_buf: str | PathLike[str], key: str, mode: Literal[\"a\", \"w\", \"r+\"] = \"a\", complevel: int | None = None, complib: Literal[\"zlib\", \"lzo\", \"bzip2\", \"blosc\"] | None = None, append: bool = False, format: Literal[\"fixed\", \"table\"] | None = None, index: bool = True, min_itemsize: int | dict[str, int] | None = None, nan_rep=None, dropna: bool | None = None, data_columns: Literal[True] | list[str] | None = None, errors: Literal[\"strict\", \"ignore\", \"replace\", \"surrogateescape\", \"xmlcharrefreplace\", \"backslashreplace\", \"namereplace\"] = \"strict\", encoding: str = \"UTF-8\") -> None", "documentation": {"kind": "plaintext", "value": "Write the contained data to an HDF5 file using HDFStore.\n\nHierarchical Data Format (HDF) is self-describing, allowing an\napplication to interpret the structure and contents of a file with\nno outside information. One HDF file can hold a mix of related objects\nwhich can be accessed as a group or as individual objects.\n\nIn order to add another DataFrame or Series to an existing HDF file\nplease use append mode and a different a key.\n\n.. warning::\n\n One can store a subclass of ``DataFrame`` or ``Series`` to HDF5,\n but the type of the subclass is lost upon storing.\n\nFor more information see the :ref:`user guide `.\n\nParameters\n----------\npath_or_buf : str or pandas.HDFStore\n File path or HDFStore object.\nkey : str\n Identifier for the group in the store.\nmode : {'a', 'w', 'r+'}, default 'a'\n Mode to open file:\n\n - 'w': write, a new file is created (an existing file with\n the same name would be deleted).\n - 'a': append, an existing file is opened for reading and\n writing, and if the file does not exist it is created.\n - 'r+': similar to 'a', but the file must already exist.\ncomplevel : {0-9}, default None\n Specifies a compression level for data.\n A value of 0 or None disables compression.\ncomplib : {'zlib', 'lzo', 'bzip2', 'blosc'}, default 'zlib'\n Specifies the compression library to be used.\n These additional compressors for Blosc are supported\n (default if no compressor specified: 'blosc:blosclz'):\n {'blosc:blosclz', 'blosc:lz4', 'blosc:lz4hc', 'blosc:snappy',\n 'blosc:zlib', 'blosc:zstd'}.\n Specifying a compression library which is not available issues\n a ValueError.\nappend : bool, default False\n For Table formats, append the input data to the existing.\nformat : {'fixed', 'table', None}, default 'fixed'\n Possible values:\n\n - 'fixed': Fixed format. Fast writing/reading. Not-appendable,\n nor searchable.\n - 'table': Table format. Write as a PyTables Table structure\n which may perform worse but allow more flexible operations\n like searching / selecting subsets of the data.\n - If None, pd.get_option('io.hdf.default_format') is checked,\n followed by fallback to \"fixed\".\nindex : bool, default True\n Write DataFrame index as a column.\nmin_itemsize : dict or int, optional\n Map column names to minimum string sizes for columns.\nnan_rep : Any, optional\n How to represent null values as str.\n Not allowed with append=True.\ndropna : bool, default False, optional\n Remove missing values.\ndata_columns : list of columns or True, optional\n List of columns to create as indexed data columns for on-disk\n queries, or True to use all columns. By default only the axes\n of the object are indexed. See\n :ref:`Query via data columns`. for\n more information.\n Applicable only to format='table'.\nerrors : str, default 'strict'\n Specifies how encoding and decoding errors are to be handled.\n See the errors argument for :func:`open` for a full list\n of options.\nencoding : str, default \"UTF-8\"\n\nSee Also\n--------\nread_hdf : Read from HDF file.\nDataFrame.to_orc : Write a DataFrame to the binary orc format.\nDataFrame.to_parquet : Write a DataFrame to the binary parquet format.\nDataFrame.to_sql : Write to a SQL table.\nDataFrame.to_feather : Write out feather-format for DataFrames.\nDataFrame.to_csv : Write out to a csv file.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]},\n... index=['a', 'b', 'c']) # doctest: +SKIP\n>>> df.to_hdf('data.h5', key='df', mode='w') # doctest: +SKIP\n\nWe can add another object to the same file:\n\n>>> s = pd.Series([1, 2, 3, 4]) # doctest: +SKIP\n>>> s.to_hdf('data.h5', key='s') # doctest: +SKIP\n\nReading from HDF file:\n\n>>> pd.read_hdf('data.h5', 'df') # doctest: +SKIP\nA B\na 1 4\nb 2 5\nc 3 6\n>>> pd.read_hdf('data.h5', 's') # doctest: +SKIP\n0 1\n1 2\n2 3\n3 4\ndtype: int64\n"}, "kind": 2, "label": "to_hdf", "sortText": "182"}, {"detail": "Overload[(buf: str | PathLike[str] | WriteBuffer[str], columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = ..., col_space: Sequence[str | int] | int | Mapping[Hashable, str | int] | None = ..., header: bool = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., justify: str | None = ..., max_rows: int | None = ..., max_cols: int | None = ..., show_dimensions: bool | str = ..., decimal: str = ..., bold_rows: bool = ..., classes: str | list[Unknown] | tuple[Unknown, ...] | None = ..., escape: bool = ..., notebook: bool = ..., border: int | None = ..., table_id: str | None = ..., render_links: bool = ..., encoding: str | None = ...) -> None, (buf: None = ..., columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = ..., col_space: Sequence[str | int] | int | Mapping[Hashable, str | int] | None = ..., header: bool = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., justify: str | None = ..., max_rows: int | None = ..., max_cols: int | None = ..., show_dimensions: bool | str = ..., decimal: str = ..., bold_rows: bool = ..., classes: str | list[Unknown] | tuple[Unknown, ...] | None = ..., escape: bool = ..., notebook: bool = ..., border: int | None = ..., table_id: str | None = ..., render_links: bool = ..., encoding: str | None = ...) -> str]", "documentation": {"kind": "plaintext", "value": "Render a DataFrame as an HTML table.\n%(shared_params)s\nbold_rows : bool, default True\n Make the row labels bold in the output.\nclasses : str or list or tuple, default None\n CSS class(es) to apply to the resulting html table.\nescape : bool, default True\n Convert the characters <, >, and & to HTML-safe sequences.\nnotebook : {True, False}, default False\n Whether the generated HTML is for IPython Notebook.\nborder : int\n A ``border=border`` attribute is included in the opening\n `
` tag. Default ``pd.options.display.html.border``.\ntable_id : str, optional\n A css id is included in the opening `
` tag if specified.\nrender_links : bool, default False\n Convert URLs to HTML links.\nencoding : str, default \"utf-8\"\n Set character encoding.\n%(returns)s\nSee Also\n--------\nto_string : Convert DataFrame to a string.\n\nExamples\n--------\n>>> df = pd.DataFrame(data={'col1': [1, 2], 'col2': [4, 3]})\n>>> html_string = '''
\n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n...
col1col2
014
123
'''\n>>> assert html_string == df.to_html()\n"}, "kind": 2, "label": "to_html", "sortText": "183"}, {"detail": "bound method DataFrame.to_json(path_or_buf: str | PathLike[str] | WriteBuffer[bytes] | WriteBuffer[str] | None = None, orient: Literal[\"split\", \"records\", \"index\", \"table\", \"columns\", \"values\"] | None = None, date_format: str | None = None, double_precision: int = 10, force_ascii: bool = True, date_unit: Literal[\"s\", \"ms\", \"us\", \"ns\"] = \"ms\", default_handler: ((Any, /) -> str | float | list[Unknown] | dict[Unknown, Unknown] | None) | None = None, lines: bool = False, compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = \"infer\", index: bool | None = None, indent: int | None = None, storage_options: dict[str, Any] | None = None, mode: Literal[\"a\", \"w\"] = \"w\") -> str | None", "documentation": {"kind": "plaintext", "value": "Convert the object to a JSON string.\n\nNote NaN's and None will be converted to null and datetime objects\nwill be converted to UNIX timestamps.\n\nParameters\n----------\npath_or_buf : str, path object, file-like object, or None, default None\n String, path object (implementing os.PathLike[str]), or file-like\n object implementing a write() function. If None, the result is\n returned as a string.\norient : str\n Indication of expected JSON string format.\n\n * Series:\n\n - default is 'index'\n - allowed values are: {{'split', 'records', 'index', 'table'}}.\n\n * DataFrame:\n\n - default is 'columns'\n - allowed values are: {{'split', 'records', 'index', 'columns',\n 'values', 'table'}}.\n\n * The format of the JSON string:\n\n - 'split' : dict like {{'index' -> [index], 'columns' -> [columns],\n 'data' -> [values]}}\n - 'records' : list like [{{column -> value}}, ... , {{column -> value}}]\n - 'index' : dict like {{index -> {{column -> value}}}}\n - 'columns' : dict like {{column -> {{index -> value}}}}\n - 'values' : just the values array\n - 'table' : dict like {{'schema': {{schema}}, 'data': {{data}}}}\n\n Describing the data, where data component is like ``orient='records'``.\n\ndate_format : {{None, 'epoch', 'iso'}}\n Type of date conversion. 'epoch' = epoch milliseconds,\n 'iso' = ISO8601. The default depends on the `orient`. For\n ``orient='table'``, the default is 'iso'. For all other orients,\n the default is 'epoch'.\ndouble_precision : int, default 10\n The number of decimal places to use when encoding\n floating point values. The possible maximal value is 15.\n Passing double_precision greater than 15 will raise a ValueError.\nforce_ascii : bool, default True\n Force encoded string to be ASCII.\ndate_unit : str, default 'ms' (milliseconds)\n The time unit to encode to, governs timestamp and ISO8601\n precision. One of 's', 'ms', 'us', 'ns' for second, millisecond,\n microsecond, and nanosecond respectively.\ndefault_handler : callable, default None\n Handler to call if object cannot otherwise be converted to a\n suitable format for JSON. Should receive a single argument which is\n the object to convert and return a serialisable object.\nlines : bool, default False\n If 'orient' is 'records' write out line-delimited json format. Will\n throw ValueError if incorrect 'orient' since others are not\n list-like.\n{compression_options}\n\n .. versionchanged:: 1.4.0 Zstandard support.\n\nindex : bool or None, default None\n The index is only used when 'orient' is 'split', 'index', 'column',\n or 'table'. Of these, 'index' and 'column' do not support\n `index=False`.\n\nindent : int, optional\n Length of whitespace used to indent each record.\n\n{storage_options}\n\nmode : str, default 'w' (writing)\n Specify the IO mode for output when supplying a path_or_buf.\n Accepted args are 'w' (writing) and 'a' (append) only.\n mode='a' is only supported when lines is True and orient is 'records'.\n\nReturns\n-------\nNone or str\n If path_or_buf is None, returns the resulting json format as a\n string. Otherwise returns None.\n\nSee Also\n--------\nread_json : Convert a JSON string to pandas object.\n\nNotes\n-----\nThe behavior of ``indent=0`` varies from the stdlib, which does not\nindent the output but does insert newlines. Currently, ``indent=0``\nand the default ``indent=None`` are equivalent in pandas, though this\nmay change in a future release.\n\n``orient='table'`` contains a 'pandas_version' field under 'schema'.\nThis stores the version of `pandas` used in the latest revision of the\nschema.\n\nExamples\n--------\n>>> from json import loads, dumps\n>>> df = pd.DataFrame(\n... [[\"a\", \"b\"], [\"c\", \"d\"]],\n... index=[\"row 1\", \"row 2\"],\n... columns=[\"col 1\", \"col 2\"],\n... )\n\n>>> result = df.to_json(orient=\"split\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n{{\n \"columns\": [\n \"col 1\",\n \"col 2\"\n ],\n \"index\": [\n \"row 1\",\n \"row 2\"\n ],\n \"data\": [\n [\n \"a\",\n \"b\"\n ],\n [\n \"c\",\n \"d\"\n ]\n ]\n}}\n\nEncoding/decoding a Dataframe using ``'records'`` formatted JSON.\nNote that index labels are not preserved with this encoding.\n\n>>> result = df.to_json(orient=\"records\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n[\n {{\n \"col 1\": \"a\",\n \"col 2\": \"b\"\n }},\n {{\n \"col 1\": \"c\",\n \"col 2\": \"d\"\n }}\n]\n\nEncoding/decoding a Dataframe using ``'index'`` formatted JSON:\n\n>>> result = df.to_json(orient=\"index\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n{{\n \"row 1\": {{\n \"col 1\": \"a\",\n \"col 2\": \"b\"\n }},\n \"row 2\": {{\n \"col 1\": \"c\",\n \"col 2\": \"d\"\n }}\n}}\n\nEncoding/decoding a Dataframe using ``'columns'`` formatted JSON:\n\n>>> result = df.to_json(orient=\"columns\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n{{\n \"col 1\": {{\n \"row 1\": \"a\",\n \"row 2\": \"c\"\n }},\n \"col 2\": {{\n \"row 1\": \"b\",\n \"row 2\": \"d\"\n }}\n}}\n\nEncoding/decoding a Dataframe using ``'values'`` formatted JSON:\n\n>>> result = df.to_json(orient=\"values\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n[\n [\n \"a\",\n \"b\"\n ],\n [\n \"c\",\n \"d\"\n ]\n]\n\nEncoding with Table Schema:\n\n>>> result = df.to_json(orient=\"table\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n{{\n \"schema\": {{\n \"fields\": [\n {{\n \"name\": \"index\",\n \"type\": \"string\"\n }},\n {{\n \"name\": \"col 1\",\n \"type\": \"string\"\n }},\n {{\n \"name\": \"col 2\",\n \"type\": \"string\"\n }}\n ],\n \"primaryKey\": [\n \"index\"\n ],\n \"pandas_version\": \"1.4.0\"\n }},\n \"data\": [\n {{\n \"index\": \"row 1\",\n \"col 1\": \"a\",\n \"col 2\": \"b\"\n }},\n {{\n \"index\": \"row 2\",\n \"col 1\": \"c\",\n \"col 2\": \"d\"\n }}\n ]\n}}\n"}, "kind": 2, "label": "to_json", "sortText": "184"}, {"detail": "Overload[(buf: None = ..., columns: Sequence[Hashable] | None = ..., header: bool | SequenceNotStr[str] = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., bold_rows: bool = ..., column_format: str | None = ..., longtable: bool | None = ..., escape: bool | None = ..., encoding: str | None = ..., decimal: str = ..., multicolumn: bool | None = ..., multicolumn_format: str | None = ..., multirow: bool | None = ..., caption: str | tuple[str, str] | None = ..., label: str | None = ..., position: str | None = ...) -> str, (buf: str | PathLike[str] | WriteBuffer[str], columns: Sequence[Hashable] | None = ..., header: bool | SequenceNotStr[str] = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., bold_rows: bool = ..., column_format: str | None = ..., longtable: bool | None = ..., escape: bool | None = ..., encoding: str | None = ..., decimal: str = ..., multicolumn: bool | None = ..., multicolumn_format: str | None = ..., multirow: bool | None = ..., caption: str | tuple[str, str] | None = ..., label: str | None = ..., position: str | None = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Render object to a LaTeX tabular, longtable, or nested table.\n\nRequires ``\\usepackage{{booktabs}}``. The output can be copy/pasted\ninto a main LaTeX document or read from an external file\nwith ``\\input{{table.tex}}``.\n\n.. versionchanged:: 2.0.0\n Refactored to use the Styler implementation via jinja2 templating.\n\nParameters\n----------\nbuf : str, Path or StringIO-like, optional, default None\n Buffer to write to. If None, the output is returned as a string.\ncolumns : list of label, optional\n The subset of columns to write. Writes all columns by default.\nheader : bool or list of str, default True\n Write out the column names. If a list of strings is given,\n it is assumed to be aliases for the column names.\nindex : bool, default True\n Write row names (index).\nna_rep : str, default 'NaN'\n Missing data representation.\nformatters : list of functions or dict of {{str: function}}, optional\n Formatter functions to apply to columns' elements by position or\n name. The result of each function must be a unicode string.\n List must be of length equal to the number of columns.\nfloat_format : one-parameter function or str, optional, default None\n Formatter for floating point numbers. For example\n ``float_format=\"%.2f\"`` and ``float_format=\"{{:0.2f}}\".format`` will\n both result in 0.1234 being formatted as 0.12.\nsparsify : bool, optional\n Set to False for a DataFrame with a hierarchical index to print\n every multiindex key at each row. By default, the value will be\n read from the config module.\nindex_names : bool, default True\n Prints the names of the indexes.\nbold_rows : bool, default False\n Make the row labels bold in the output.\ncolumn_format : str, optional\n The columns format as specified in `LaTeX table format\n `__ e.g. 'rcl' for 3\n columns. By default, 'l' will be used for all columns except\n columns of numbers, which default to 'r'.\nlongtable : bool, optional\n Use a longtable environment instead of tabular. Requires\n adding a \\usepackage{{longtable}} to your LaTeX preamble.\n By default, the value will be read from the pandas config\n module, and set to `True` if the option ``styler.latex.environment`` is\n `\"longtable\"`.\n\n .. versionchanged:: 2.0.0\n The pandas option affecting this argument has changed.\nescape : bool, optional\n By default, the value will be read from the pandas config\n module and set to `True` if the option ``styler.format.escape`` is\n `\"latex\"`. When set to False prevents from escaping latex special\n characters in column names.\n\n .. versionchanged:: 2.0.0\n The pandas option affecting this argument has changed, as has the\n default value to `False`.\nencoding : str, optional\n A string representing the encoding to use in the output file,\n defaults to 'utf-8'.\ndecimal : str, default '.'\n Character recognized as decimal separator, e.g. ',' in Europe.\nmulticolumn : bool, default True\n Use \\multicolumn to enhance MultiIndex columns.\n The default will be read from the config module, and is set\n as the option ``styler.sparse.columns``.\n\n .. versionchanged:: 2.0.0\n The pandas option affecting this argument has changed.\nmulticolumn_format : str, default 'r'\n The alignment for multicolumns, similar to `column_format`\n The default will be read from the config module, and is set as the option\n ``styler.latex.multicol_align``.\n\n .. versionchanged:: 2.0.0\n The pandas option affecting this argument has changed, as has the\n default value to \"r\".\nmultirow : bool, default True\n Use \\multirow to enhance MultiIndex rows. Requires adding a\n \\usepackage{{multirow}} to your LaTeX preamble. Will print\n centered labels (instead of top-aligned) across the contained\n rows, separating groups via clines. The default will be read\n from the pandas config module, and is set as the option\n ``styler.sparse.index``.\n\n .. versionchanged:: 2.0.0\n The pandas option affecting this argument has changed, as has the\n default value to `True`.\ncaption : str or tuple, optional\n Tuple (full_caption, short_caption),\n which results in ``\\caption[short_caption]{{full_caption}}``;\n if a single string is passed, no short caption will be set.\nlabel : str, optional\n The LaTeX label to be placed inside ``\\label{{}}`` in the output.\n This is used with ``\\ref{{}}`` in the main ``.tex`` file.\n\nposition : str, optional\n The LaTeX positional argument for tables, to be placed after\n ``\\begin{{}}`` in the output.\n\nReturns\n-------\nstr or None\n If buf is None, returns the result as a string. Otherwise returns None.\n\nSee Also\n--------\nio.formats.style.Styler.to_latex : Render a DataFrame to LaTeX\n with conditional formatting.\nDataFrame.to_string : Render a DataFrame to a console-friendly\n tabular output.\nDataFrame.to_html : Render a DataFrame as an HTML table.\n\nNotes\n-----\nAs of v2.0.0 this method has changed to use the Styler implementation as\npart of :meth:`.Styler.to_latex` via ``jinja2`` templating. This means\nthat ``jinja2`` is a requirement, and needs to be installed, for this method\nto function. It is advised that users switch to using Styler, since that\nimplementation is more frequently updated and contains much more\nflexibility with the output.\n\nExamples\n--------\nConvert a general DataFrame to LaTeX with formatting:\n\n>>> df = pd.DataFrame(dict(name=['Raphael', 'Donatello'],\n... age=[26, 45],\n... height=[181.23, 177.65]))\n>>> print(df.to_latex(index=False,\n... formatters={\"name\": str.upper},\n... float_format=\"{:.1f}\".format,\n... )) # doctest: +SKIP\n\\begin{tabular}{lrr}\n\\toprule\nname & age & height \\\\\n\\midrule\nRAPHAEL & 26 & 181.2 \\\\\nDONATELLO & 45 & 177.7 \\\\\n\\bottomrule\n\\end{tabular}\n"}, "kind": 2, "label": "to_latex", "sortText": "185"}, {"detail": "bound method DataFrame.to_markdown(buf: str | PathLike[str] | WriteBuffer[str] | None = None, mode: str = \"wt\", index: bool = True, storage_options: dict[str, Any] | None = None, **kwargs) -> str | None", "kind": 2, "label": "to_markdown", "sortText": "186"}, {"detail": "bound method DataFrame.to_numpy(dtype: DTypeLike | None = None, copy: bool = False, na_value: object = ...) -> ndarray[_AnyShape, dtype[Any]]", "documentation": {"kind": "plaintext", "value": "Convert the DataFrame to a NumPy array.\n\nBy default, the dtype of the returned array will be the common NumPy\ndtype of all types in the DataFrame. For example, if the dtypes are\n``float16`` and ``float32``, the results dtype will be ``float32``.\nThis may require copying data and coercing values, which may be\nexpensive.\n\nParameters\n----------\ndtype : str or numpy.dtype, optional\n The dtype to pass to :meth:`numpy.asarray`.\ncopy : bool, default False\n Whether to ensure that the returned value is not a view on\n another array. Note that ``copy=False`` does not *ensure* that\n ``to_numpy()`` is no-copy. Rather, ``copy=True`` ensure that\n a copy is made, even if not strictly necessary.\nna_value : Any, optional\n The value to use for missing values. The default value depends\n on `dtype` and the dtypes of the DataFrame columns.\n\nReturns\n-------\nnumpy.ndarray\n\nSee Also\n--------\nSeries.to_numpy : Similar method for Series.\n\nExamples\n--------\n>>> pd.DataFrame({\"A\": [1, 2], \"B\": [3, 4]}).to_numpy()\narray([[1, 3],\n [2, 4]])\n\nWith heterogeneous data, the lowest common type will have to\nbe used.\n\n>>> df = pd.DataFrame({\"A\": [1, 2], \"B\": [3.0, 4.5]})\n>>> df.to_numpy()\narray([[1. , 3. ],\n [2. , 4.5]])\n\nFor a mix of numeric and non-numeric types, the output array will\nhave object dtype.\n\n>>> df['C'] = pd.date_range('2000', periods=2)\n>>> df.to_numpy()\narray([[1, 3.0, Timestamp('2000-01-01 00:00:00')],\n [2, 4.5, Timestamp('2000-01-02 00:00:00')]], dtype=object)\n"}, "kind": 2, "label": "to_numpy", "sortText": "187"}, {"detail": "bound method DataFrame.to_orc(path: str | PathLike[str] | WriteBuffer[bytes] | None = None, *, engine: Literal[\"pyarrow\"] = \"pyarrow\", index: bool | None = None, engine_kwargs: dict[str, Any] | None = None) -> bytes | None", "documentation": {"kind": "plaintext", "value": "Write a DataFrame to the ORC format.\n\n.. versionadded:: 1.5.0\n\nParameters\n----------\npath : str, file-like object or None, default None\n If a string, it will be used as Root Directory path\n when writing a partitioned dataset. By file-like object,\n we refer to objects with a write() method, such as a file handle\n (e.g. via builtin open function). If path is None,\n a bytes object is returned.\nengine : {'pyarrow'}, default 'pyarrow'\n ORC library to use.\nindex : bool, optional\n If ``True``, include the dataframe's index(es) in the file output.\n If ``False``, they will not be written to the file.\n If ``None``, similar to ``infer`` the dataframe's index(es)\n will be saved. However, instead of being saved as values,\n the RangeIndex will be stored as a range in the metadata so it\n doesn't require much space and is faster. Other indexes will\n be included as columns in the file output.\nengine_kwargs : dict[str, Any] or None, default None\n Additional keyword arguments passed to :func:`pyarrow.orc.write_table`.\n\nReturns\n-------\nbytes if no path argument is provided else None\n\nRaises\n------\nNotImplementedError\n Dtype of one or more columns is category, unsigned integers, interval,\n period or sparse.\nValueError\n engine is not pyarrow.\n\nSee Also\n--------\nread_orc : Read a ORC file.\nDataFrame.to_parquet : Write a parquet file.\nDataFrame.to_csv : Write a csv file.\nDataFrame.to_sql : Write to a sql table.\nDataFrame.to_hdf : Write to hdf.\n\nNotes\n-----\n* Before using this function you should read the :ref:`user guide about\n ORC ` and :ref:`install optional dependencies `.\n* This function requires `pyarrow `_\n library.\n* For supported dtypes please refer to `supported ORC features in Arrow\n `__.\n* Currently timezones in datetime columns are not preserved when a\n dataframe is converted into ORC files.\n\nExamples\n--------\n>>> df = pd.DataFrame(data={'col1': [1, 2], 'col2': [4, 3]})\n>>> df.to_orc('df.orc') # doctest: +SKIP\n>>> pd.read_orc('df.orc') # doctest: +SKIP\n col1 col2\n0 1 4\n1 2 3\n\nIf you want to get a buffer to the orc content you can write it to io.BytesIO\n\n>>> import io\n>>> b = io.BytesIO(df.to_orc()) # doctest: +SKIP\n>>> b.seek(0) # doctest: +SKIP\n0\n>>> content = b.read() # doctest: +SKIP\n"}, "kind": 2, "label": "to_orc", "sortText": "188"}, {"detail": "Overload[(path: None = ..., engine: Literal[\"auto\", \"pyarrow\", \"fastparquet\"] = ..., compression: str | None = ..., index: bool | None = ..., partition_cols: list[str] | None = ..., storage_options: dict[str, Any] | None = ..., **kwargs) -> bytes, (path: str | PathLike[str] | WriteBuffer[bytes], engine: Literal[\"auto\", \"pyarrow\", \"fastparquet\"] = ..., compression: str | None = ..., index: bool | None = ..., partition_cols: list[str] | None = ..., storage_options: dict[str, Any] | None = ..., **kwargs) -> None]", "documentation": {"kind": "plaintext", "value": "Write a DataFrame to the binary parquet format.\n\nThis function writes the dataframe as a `parquet file\n`_. You can choose different parquet\nbackends, and have the option of compression. See\n:ref:`the user guide ` for more details.\n\nParameters\n----------\npath : str, path object, file-like object, or None, default None\n String, path object (implementing ``os.PathLike[str]``), or file-like\n object implementing a binary ``write()`` function. If None, the result is\n returned as bytes. If a string or path, it will be used as Root Directory\n path when writing a partitioned dataset.\nengine : {{'auto', 'pyarrow', 'fastparquet'}}, default 'auto'\n Parquet library to use. If 'auto', then the option\n ``io.parquet.engine`` is used. The default ``io.parquet.engine``\n behavior is to try 'pyarrow', falling back to 'fastparquet' if\n 'pyarrow' is unavailable.\ncompression : str or None, default 'snappy'\n Name of the compression to use. Use ``None`` for no compression.\n Supported options: 'snappy', 'gzip', 'brotli', 'lz4', 'zstd'.\nindex : bool, default None\n If ``True``, include the dataframe's index(es) in the file output.\n If ``False``, they will not be written to the file.\n If ``None``, similar to ``True`` the dataframe's index(es)\n will be saved. However, instead of being saved as values,\n the RangeIndex will be stored as a range in the metadata so it\n doesn't require much space and is faster. Other indexes will\n be included as columns in the file output.\npartition_cols : list, optional, default None\n Column names by which to partition the dataset.\n Columns are partitioned in the order they are given.\n Must be None if path is not a string.\n{storage_options}\n\n**kwargs\n Additional arguments passed to the parquet library. See\n :ref:`pandas io ` for more details.\n\nReturns\n-------\nbytes if no path argument is provided else None\n\nSee Also\n--------\nread_parquet : Read a parquet file.\nDataFrame.to_orc : Write an orc file.\nDataFrame.to_csv : Write a csv file.\nDataFrame.to_sql : Write to a sql table.\nDataFrame.to_hdf : Write to hdf.\n\nNotes\n-----\nThis function requires either the `fastparquet\n`_ or `pyarrow\n`_ library.\n\nExamples\n--------\n>>> df = pd.DataFrame(data={{'col1': [1, 2], 'col2': [3, 4]}})\n>>> df.to_parquet('df.parquet.gzip',\n... compression='gzip') # doctest: +SKIP\n>>> pd.read_parquet('df.parquet.gzip') # doctest: +SKIP\n col1 col2\n0 1 3\n1 2 4\n\nIf you want to get a buffer to the parquet content you can use a io.BytesIO\nobject, as long as you don't use partition_cols, which creates multiple files.\n\n>>> import io\n>>> f = io.BytesIO()\n>>> df.to_parquet(f)\n>>> f.seek(0)\n0\n>>> content = f.read()\n"}, "kind": 2, "label": "to_parquet", "sortText": "189"}, {"detail": "bound method DataFrame.to_period(freq: str | BaseOffset | None = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Convert DataFrame from DatetimeIndex to PeriodIndex.\n\nConvert DataFrame from DatetimeIndex to PeriodIndex with desired\nfrequency (inferred from index if not passed).\n\nParameters\n----------\nfreq : str, default\n Frequency of the PeriodIndex.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to convert (the index by default).\ncopy : bool, default True\n If False then underlying input data is not copied.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\nDataFrame\n The DataFrame has a PeriodIndex.\n\nExamples\n--------\n>>> idx = pd.to_datetime(\n... [\n... \"2001-03-31 00:00:00\",\n... \"2002-05-31 00:00:00\",\n... \"2003-08-31 00:00:00\",\n... ]\n... )\n\n>>> idx\nDatetimeIndex(['2001-03-31', '2002-05-31', '2003-08-31'],\ndtype='datetime64[ns]', freq=None)\n\n>>> idx.to_period(\"M\")\nPeriodIndex(['2001-03', '2002-05', '2003-08'], dtype='period[M]')\n\nFor the yearly frequency\n\n>>> idx.to_period(\"Y\")\nPeriodIndex(['2001', '2002', '2003'], dtype='period[Y-DEC]')\n"}, "kind": 2, "label": "to_period", "sortText": "190"}, {"detail": "bound method DataFrame.to_pickle(path: str | PathLike[str] | WriteBuffer[bytes], compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = \"infer\", protocol: int = 5, storage_options: dict[str, Any] | None = None) -> None", "documentation": {"kind": "plaintext", "value": "Pickle (serialize) object to file.\n\nParameters\n----------\npath : str, path object, or file-like object\n String, path object (implementing ``os.PathLike[str]``), or file-like\n object implementing a binary ``write()`` function. File path where\n the pickled object will be stored.\n{compression_options}\nprotocol : int\n Int which indicates which protocol should be used by the pickler,\n default HIGHEST_PROTOCOL (see [1]_ paragraph 12.1.2). The possible\n values are 0, 1, 2, 3, 4, 5. A negative value for the protocol\n parameter is equivalent to setting its value to HIGHEST_PROTOCOL.\n\n .. [1] https://docs.python.org/3/library/pickle.html.\n\n{storage_options}\n\nSee Also\n--------\nread_pickle : Load pickled pandas object (or any object) from file.\nDataFrame.to_hdf : Write DataFrame to an HDF5 file.\nDataFrame.to_sql : Write DataFrame to a SQL database.\nDataFrame.to_parquet : Write a DataFrame to the binary parquet format.\n\nExamples\n--------\n>>> original_df = pd.DataFrame({{\"foo\": range(5), \"bar\": range(5, 10)}}) # doctest: +SKIP\n>>> original_df # doctest: +SKIP\n foo bar\n0 0 5\n1 1 6\n2 2 7\n3 3 8\n4 4 9\n>>> original_df.to_pickle(\"./dummy.pkl\") # doctest: +SKIP\n\n>>> unpickled_df = pd.read_pickle(\"./dummy.pkl\") # doctest: +SKIP\n>>> unpickled_df # doctest: +SKIP\n foo bar\n0 0 5\n1 1 6\n2 2 7\n3 3 8\n4 4 9\n"}, "kind": 2, "label": "to_pickle", "sortText": "191"}, {"detail": "bound method DataFrame.to_records(index: bool = True, column_dtypes=None, index_dtypes=None) -> recarray[_AnyShape, dtype[Any]]", "documentation": {"kind": "plaintext", "value": "Convert DataFrame to a NumPy record array.\n\nIndex will be included as the first field of the record array if\nrequested.\n\nParameters\n----------\nindex : bool, default True\n Include index in resulting record array, stored in 'index'\n field or using the index label, if set.\ncolumn_dtypes : str, type, dict, default None\n If a string or type, the data type to store all columns. If\n a dictionary, a mapping of column names and indices (zero-indexed)\n to specific data types.\nindex_dtypes : str, type, dict, default None\n If a string or type, the data type to store all index levels. If\n a dictionary, a mapping of index level names and indices\n (zero-indexed) to specific data types.\n\n This mapping is applied only if `index=True`.\n\nReturns\n-------\nnumpy.rec.recarray\n NumPy ndarray with the DataFrame labels as fields and each row\n of the DataFrame as entries.\n\nSee Also\n--------\nDataFrame.from_records: Convert structured or record ndarray\n to DataFrame.\nnumpy.rec.recarray: An ndarray that allows field access using\n attributes, analogous to typed columns in a\n spreadsheet.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [1, 2], 'B': [0.5, 0.75]},\n... index=['a', 'b'])\n>>> df\n A B\na 1 0.50\nb 2 0.75\n>>> df.to_records()\nrec.array([('a', 1, 0.5 ), ('b', 2, 0.75)],\n dtype=[('index', 'O'), ('A', '>> df.index = df.index.rename(\"I\")\n>>> df.to_records()\nrec.array([('a', 1, 0.5 ), ('b', 2, 0.75)],\n dtype=[('I', 'O'), ('A', '>> df.to_records(index=False)\nrec.array([(1, 0.5 ), (2, 0.75)],\n dtype=[('A', '>> df.to_records(column_dtypes={\"A\": \"int32\"})\nrec.array([('a', 1, 0.5 ), ('b', 2, 0.75)],\n dtype=[('I', 'O'), ('A', '>> df.to_records(index_dtypes=\">> index_dtypes = f\">> df.to_records(index_dtypes=index_dtypes)\nrec.array([(b'a', 1, 0.5 ), (b'b', 2, 0.75)],\n dtype=[('I', 'S1'), ('A', ' Unknown) | None = None) -> int | None", "documentation": {"kind": "plaintext", "value": "Write records stored in a DataFrame to a SQL database.\n\nDatabases supported by SQLAlchemy [1]_ are supported. Tables can be\nnewly created, appended to, or overwritten.\n\nParameters\n----------\nname : str\n Name of SQL table.\ncon : sqlalchemy.engine.(Engine or Connection) or sqlite3.Connection\n Using SQLAlchemy makes it possible to use any DB supported by that\n library. Legacy support is provided for sqlite3.Connection objects. The user\n is responsible for engine disposal and connection closure for the SQLAlchemy\n connectable. See `here `_.\n If passing a sqlalchemy.engine.Connection which is already in a transaction,\n the transaction will not be committed. If passing a sqlite3.Connection,\n it will not be possible to roll back the record insertion.\n\nschema : str, optional\n Specify the schema (if database flavor supports this). If None, use\n default schema.\nif_exists : {'fail', 'replace', 'append'}, default 'fail'\n How to behave if the table already exists.\n\n * fail: Raise a ValueError.\n * replace: Drop the table before inserting new values.\n * append: Insert new values to the existing table.\n\nindex : bool, default True\n Write DataFrame index as a column. Uses `index_label` as the column\n name in the table. Creates a table index for this column.\nindex_label : str or sequence, default None\n Column label for index column(s). If None is given (default) and\n `index` is True, then the index names are used.\n A sequence should be given if the DataFrame uses MultiIndex.\nchunksize : int, optional\n Specify the number of rows in each batch to be written at a time.\n By default, all rows will be written at once.\ndtype : dict or scalar, optional\n Specifying the datatype for columns. If a dictionary is used, the\n keys should be the column names and the values should be the\n SQLAlchemy types or strings for the sqlite3 legacy mode. If a\n scalar is provided, it will be applied to all columns.\nmethod : {None, 'multi', callable}, optional\n Controls the SQL insertion clause used:\n\n * None : Uses standard SQL ``INSERT`` clause (one per row).\n * 'multi': Pass multiple values in a single ``INSERT`` clause.\n * callable with signature ``(pd_table, conn, keys, data_iter)``.\n\n Details and a sample callable implementation can be found in the\n section :ref:`insert method `.\n\nReturns\n-------\nNone or int\n Number of rows affected by to_sql. None is returned if the callable\n passed into ``method`` does not return an integer number of rows.\n\n The number of returned rows affected is the sum of the ``rowcount``\n attribute of ``sqlite3.Cursor`` or SQLAlchemy connectable which may not\n reflect the exact number of written rows as stipulated in the\n `sqlite3 `__ or\n `SQLAlchemy `__.\n\n .. versionadded:: 1.4.0\n\nRaises\n------\nValueError\n When the table already exists and `if_exists` is 'fail' (the\n default).\n\nSee Also\n--------\nread_sql : Read a DataFrame from a table.\n\nNotes\n-----\nTimezone aware datetime columns will be written as\n``Timestamp with timezone`` type with SQLAlchemy if supported by the\ndatabase. Otherwise, the datetimes will be stored as timezone unaware\ntimestamps local to the original timezone.\n\nNot all datastores support ``method=\"multi\"``. Oracle, for example,\ndoes not support multi-value insert.\n\nReferences\n----------\n.. [1] https://docs.sqlalchemy.org\n.. [2] https://www.python.org/dev/peps/pep-0249/\n\nExamples\n--------\nCreate an in-memory SQLite database.\n\n>>> from sqlalchemy import create_engine\n>>> engine = create_engine('sqlite://', echo=False)\n\nCreate a table from scratch with 3 rows.\n\n>>> df = pd.DataFrame({'name' : ['User 1', 'User 2', 'User 3']})\n>>> df\n name\n0 User 1\n1 User 2\n2 User 3\n\n>>> df.to_sql(name='users', con=engine)\n3\n>>> from sqlalchemy import text\n>>> with engine.connect() as conn:\n... conn.execute(text(\"SELECT * FROM users\")).fetchall()\n[(0, 'User 1'), (1, 'User 2'), (2, 'User 3')]\n\nAn `sqlalchemy.engine.Connection` can also be passed to `con`:\n\n>>> with engine.begin() as connection:\n... df1 = pd.DataFrame({'name' : ['User 4', 'User 5']})\n... df1.to_sql(name='users', con=connection, if_exists='append')\n2\n\nThis is allowed to support operations that require that the same\nDBAPI connection is used for the entire operation.\n\n>>> df2 = pd.DataFrame({'name' : ['User 6', 'User 7']})\n>>> df2.to_sql(name='users', con=engine, if_exists='append')\n2\n>>> with engine.connect() as conn:\n... conn.execute(text(\"SELECT * FROM users\")).fetchall()\n[(0, 'User 1'), (1, 'User 2'), (2, 'User 3'),\n (0, 'User 4'), (1, 'User 5'), (0, 'User 6'),\n (1, 'User 7')]\n\nOverwrite the table with just ``df2``.\n\n>>> df2.to_sql(name='users', con=engine, if_exists='replace',\n... index_label='id')\n2\n>>> with engine.connect() as conn:\n... conn.execute(text(\"SELECT * FROM users\")).fetchall()\n[(0, 'User 6'), (1, 'User 7')]\n\nUse ``method`` to define a callable insertion method to do nothing\nif there's a primary key conflict on a table in a PostgreSQL database.\n\n>>> from sqlalchemy.dialects.postgresql import insert\n>>> def insert_on_conflict_nothing(table, conn, keys, data_iter):\n... # \"a\" is the primary key in \"conflict_table\"\n... data = [dict(zip(keys, row)) for row in data_iter]\n... stmt = insert(table.table).values(data).on_conflict_do_nothing(index_elements=[\"a\"])\n... result = conn.execute(stmt)\n... return result.rowcount\n>>> df_conflict.to_sql(name=\"conflict_table\", con=conn, if_exists=\"append\", method=insert_on_conflict_nothing) # doctest: +SKIP\n0\n\nFor MySQL, a callable to update columns ``b`` and ``c`` if there's a conflict\non a primary key.\n\n>>> from sqlalchemy.dialects.mysql import insert\n>>> def insert_on_conflict_update(table, conn, keys, data_iter):\n... # update columns \"b\" and \"c\" on primary key conflict\n... data = [dict(zip(keys, row)) for row in data_iter]\n... stmt = (\n... insert(table.table)\n... .values(data)\n... )\n... stmt = stmt.on_duplicate_key_update(b=stmt.inserted.b, c=stmt.inserted.c)\n... result = conn.execute(stmt)\n... return result.rowcount\n>>> df_conflict.to_sql(name=\"conflict_table\", con=conn, if_exists=\"append\", method=insert_on_conflict_update) # doctest: +SKIP\n2\n\nSpecify the dtype (especially useful for integers with missing values).\nNotice that while pandas is forced to store the data as floating point,\nthe database supports nullable integers. When fetching the data with\nPython, we get back integer scalars.\n\n>>> df = pd.DataFrame({\"A\": [1, None, 2]})\n>>> df\n A\n0 1.0\n1 NaN\n2 2.0\n\n>>> from sqlalchemy.types import Integer\n>>> df.to_sql(name='integers', con=engine, index=False,\n... dtype={\"A\": Integer()})\n3\n\n>>> with engine.connect() as conn:\n... conn.execute(text(\"SELECT * FROM integers\")).fetchall()\n[(1,), (None,), (2,)]\n"}, "kind": 2, "label": "to_sql", "sortText": "193"}, {"detail": "bound method DataFrame.to_stata(path: str | PathLike[str] | WriteBuffer[bytes], *, convert_dates: dict[Hashable, str] | None = None, write_index: bool = True, byteorder: Literal[\">\", \"<\", \"little\", \"big\"] | None = None, time_stamp: datetime | None = None, data_label: str | None = None, variable_labels: dict[Hashable, str] | None = None, version: int | None = 114, convert_strl: Sequence[Hashable] | None = None, compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = \"infer\", storage_options: dict[str, Any] | None = None, value_labels: dict[Hashable, dict[float, str]] | None = None) -> None", "documentation": {"kind": "plaintext", "value": "Export DataFrame object to Stata dta format.\n\nWrites the DataFrame to a Stata dataset file.\n\"dta\" files contain a Stata dataset.\n\nParameters\n----------\npath : str, path object, or buffer\n String, path object (implementing ``os.PathLike[str]``), or file-like\n object implementing a binary ``write()`` function.\n\nconvert_dates : dict\n Dictionary mapping columns containing datetime types to stata\n internal format to use when writing the dates. Options are 'tc',\n 'td', 'tm', 'tw', 'th', 'tq', 'ty'. Column can be either an integer\n or a name. Datetime columns that do not have a conversion type\n specified will be converted to 'tc'. Raises NotImplementedError if\n a datetime column has timezone information.\nwrite_index : bool\n Write the index to Stata dataset.\nbyteorder : str\n Can be \">\", \"<\", \"little\", or \"big\". default is `sys.byteorder`.\ntime_stamp : datetime\n A datetime to use as file creation date. Default is the current\n time.\ndata_label : str, optional\n A label for the data set. Must be 80 characters or smaller.\nvariable_labels : dict\n Dictionary containing columns as keys and variable labels as\n values. Each label must be 80 characters or smaller.\nversion : {{114, 117, 118, 119, None}}, default 114\n Version to use in the output dta file. Set to None to let pandas\n decide between 118 or 119 formats depending on the number of\n columns in the frame. Version 114 can be read by Stata 10 and\n later. Version 117 can be read by Stata 13 or later. Version 118\n is supported in Stata 14 and later. Version 119 is supported in\n Stata 15 and later. Version 114 limits string variables to 244\n characters or fewer while versions 117 and later allow strings\n with lengths up to 2,000,000 characters. Versions 118 and 119\n support Unicode characters, and version 119 supports more than\n 32,767 variables.\n\n Version 119 should usually only be used when the number of\n variables exceeds the capacity of dta format 118. Exporting\n smaller datasets in format 119 may have unintended consequences,\n and, as of November 2020, Stata SE cannot read version 119 files.\n\nconvert_strl : list, optional\n List of column names to convert to string columns to Stata StrL\n format. Only available if version is 117. Storing strings in the\n StrL format can produce smaller dta files if strings have more than\n 8 characters and values are repeated.\n{compression_options}\n\n .. versionchanged:: 1.4.0 Zstandard support.\n\n{storage_options}\n\nvalue_labels : dict of dicts\n Dictionary containing columns as keys and dictionaries of column value\n to labels as values. Labels for a single variable must be 32,000\n characters or smaller.\n\n .. versionadded:: 1.4.0\n\nRaises\n------\nNotImplementedError\n * If datetimes contain timezone information\n * Column dtype is not representable in Stata\nValueError\n * Columns listed in convert_dates are neither datetime64[ns]\n or datetime.datetime\n * Column listed in convert_dates is not in DataFrame\n * Categorical label contains more than 32,000 characters\n\nSee Also\n--------\nread_stata : Import Stata data files.\nio.stata.StataWriter : Low-level writer for Stata data files.\nio.stata.StataWriter117 : Low-level writer for version 117 files.\n\nExamples\n--------\n>>> df = pd.DataFrame({{'animal': ['falcon', 'parrot', 'falcon',\n... 'parrot'],\n... 'speed': [350, 18, 361, 15]}})\n>>> df.to_stata('animals.dta') # doctest: +SKIP\n"}, "kind": 2, "label": "to_stata", "sortText": "194"}, {"detail": "Overload[(buf: None = ..., columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = ..., col_space: int | list[int] | dict[Hashable, int] | None = ..., header: bool | SequenceNotStr[str] = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., justify: str | None = ..., max_rows: int | None = ..., max_cols: int | None = ..., show_dimensions: bool = ..., decimal: str = ..., line_width: int | None = ..., min_rows: int | None = ..., max_colwidth: int | None = ..., encoding: str | None = ...) -> str, (buf: str | PathLike[str] | WriteBuffer[str], columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = ..., col_space: int | list[int] | dict[Hashable, int] | None = ..., header: bool | SequenceNotStr[str] = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., justify: str | None = ..., max_rows: int | None = ..., max_cols: int | None = ..., show_dimensions: bool = ..., decimal: str = ..., line_width: int | None = ..., min_rows: int | None = ..., max_colwidth: int | None = ..., encoding: str | None = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Render a DataFrame to a console-friendly tabular output.\n%(shared_params)s\nline_width : int, optional\n Width to wrap a line in characters.\nmin_rows : int, optional\n The number of rows to display in the console in a truncated repr\n (when number of rows is above `max_rows`).\nmax_colwidth : int, optional\n Max width to truncate each column in characters. By default, no limit.\nencoding : str, default \"utf-8\"\n Set character encoding.\n%(returns)s\nSee Also\n--------\nto_html : Convert DataFrame to HTML.\n\nExamples\n--------\n>>> d = {'col1': [1, 2, 3], 'col2': [4, 5, 6]}\n>>> df = pd.DataFrame(d)\n>>> print(df.to_string())\n col1 col2\n0 1 4\n1 2 5\n2 3 6\n"}, "kind": 2, "label": "to_string", "sortText": "195"}, {"detail": "bound method DataFrame.to_timestamp(freq: str | BaseOffset | None = None, how: Literal[\"s\", \"e\", \"start\", \"end\"] = \"start\", axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Cast to DatetimeIndex of timestamps, at *beginning* of period.\n\nParameters\n----------\nfreq : str, default frequency of PeriodIndex\n Desired frequency.\nhow : {'s', 'e', 'start', 'end'}\n Convention for converting period to timestamp; start of period\n vs. end.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to convert (the index by default).\ncopy : bool, default True\n If False then underlying input data is not copied.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\nDataFrame\n The DataFrame has a DatetimeIndex.\n\nExamples\n--------\n>>> idx = pd.PeriodIndex(['2023', '2024'], freq='Y')\n>>> d = {'col1': [1, 2], 'col2': [3, 4]}\n>>> df1 = pd.DataFrame(data=d, index=idx)\n>>> df1\n col1 col2\n2023 1 3\n2024 2 4\n\nThe resulting timestamps will be at the beginning of the year in this case\n\n>>> df1 = df1.to_timestamp()\n>>> df1\n col1 col2\n2023-01-01 1 3\n2024-01-01 2 4\n>>> df1.index\nDatetimeIndex(['2023-01-01', '2024-01-01'], dtype='datetime64[ns]', freq=None)\n\nUsing `freq` which is the offset that the Timestamps will have\n\n>>> df2 = pd.DataFrame(data=d, index=idx)\n>>> df2 = df2.to_timestamp(freq='M')\n>>> df2\n col1 col2\n2023-01-31 1 3\n2024-01-31 2 4\n>>> df2.index\nDatetimeIndex(['2023-01-31', '2024-01-31'], dtype='datetime64[ns]', freq=None)\n"}, "kind": 2, "label": "to_timestamp", "sortText": "196"}, {"detail": "bound method DataFrame.to_xarray() -> Unknown", "documentation": {"kind": "plaintext", "value": "Return an xarray object from the pandas object.\n\nReturns\n-------\nxarray.DataArray or xarray.Dataset\n Data in the pandas structure converted to Dataset if the object is\n a DataFrame, or a DataArray if the object is a Series.\n\nSee Also\n--------\nDataFrame.to_hdf : Write DataFrame to an HDF5 file.\nDataFrame.to_parquet : Write a DataFrame to the binary parquet format.\n\nNotes\n-----\nSee the `xarray docs `__\n\nExamples\n--------\n>>> df = pd.DataFrame([('falcon', 'bird', 389.0, 2),\n... ('parrot', 'bird', 24.0, 2),\n... ('lion', 'mammal', 80.5, 4),\n... ('monkey', 'mammal', np.nan, 4)],\n... columns=['name', 'class', 'max_speed',\n... 'num_legs'])\n>>> df\n name class max_speed num_legs\n0 falcon bird 389.0 2\n1 parrot bird 24.0 2\n2 lion mammal 80.5 4\n3 monkey mammal NaN 4\n\n>>> df.to_xarray() # doctest: +SKIP\n\nDimensions: (index: 4)\nCoordinates:\n * index (index) int64 32B 0 1 2 3\nData variables:\n name (index) object 32B 'falcon' 'parrot' 'lion' 'monkey'\n class (index) object 32B 'bird' 'bird' 'mammal' 'mammal'\n max_speed (index) float64 32B 389.0 24.0 80.5 nan\n num_legs (index) int64 32B 2 2 4 4\n\n>>> df['max_speed'].to_xarray() # doctest: +SKIP\n\narray([389. , 24. , 80.5, nan])\nCoordinates:\n * index (index) int64 0 1 2 3\n\n>>> dates = pd.to_datetime(['2018-01-01', '2018-01-01',\n... '2018-01-02', '2018-01-02'])\n>>> df_multiindex = pd.DataFrame({'date': dates,\n... 'animal': ['falcon', 'parrot',\n... 'falcon', 'parrot'],\n... 'speed': [350, 18, 361, 15]})\n>>> df_multiindex = df_multiindex.set_index(['date', 'animal'])\n\n>>> df_multiindex\n speed\ndate animal\n2018-01-01 falcon 350\n parrot 18\n2018-01-02 falcon 361\n parrot 15\n\n>>> df_multiindex.to_xarray() # doctest: +SKIP\n\nDimensions: (date: 2, animal: 2)\nCoordinates:\n * date (date) datetime64[ns] 2018-01-01 2018-01-02\n * animal (animal) object 'falcon' 'parrot'\nData variables:\n speed (date, animal) int64 350 18 361 15\n"}, "kind": 2, "label": "to_xarray", "sortText": "197"}, {"detail": "Overload[(path_or_buffer: None = ..., *, index: bool = ..., root_name: str | None = ..., row_name: str | None = ..., na_rep: str | None = ..., attr_cols: list[str] | None = ..., elem_cols: list[str] | None = ..., namespaces: dict[str | None, str] | None = ..., prefix: str | None = ..., encoding: str = ..., xml_declaration: bool | None = ..., pretty_print: bool | None = ..., parser: Literal[\"lxml\", \"etree\"] | None = ..., stylesheet: str | PathLike[str] | ReadBuffer[str] | ReadBuffer[bytes] | None = ..., compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = ..., storage_options: dict[str, Any] | None = ...) -> str, (path_or_buffer: str | PathLike[str] | WriteBuffer[bytes] | WriteBuffer[str], *, index: bool = ..., root_name: str | None = ..., row_name: str | None = ..., na_rep: str | None = ..., attr_cols: list[str] | None = ..., elem_cols: list[str] | None = ..., namespaces: dict[str | None, str] | None = ..., prefix: str | None = ..., encoding: str = ..., xml_declaration: bool | None = ..., pretty_print: bool | None = ..., parser: Literal[\"lxml\", \"etree\"] | None = ..., stylesheet: str | PathLike[str] | ReadBuffer[str] | ReadBuffer[bytes] | None = ..., compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = ..., storage_options: dict[str, Any] | None = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Render a DataFrame to an XML document.\n\n.. versionadded:: 1.3.0\n\nParameters\n----------\npath_or_buffer : str, path object, file-like object, or None, default None\n String, path object (implementing ``os.PathLike[str]``), or file-like\n object implementing a ``write()`` function. If None, the result is returned\n as a string.\nindex : bool, default True\n Whether to include index in XML document.\nroot_name : str, default 'data'\n The name of root element in XML document.\nrow_name : str, default 'row'\n The name of row element in XML document.\nna_rep : str, optional\n Missing data representation.\nattr_cols : list-like, optional\n List of columns to write as attributes in row element.\n Hierarchical columns will be flattened with underscore\n delimiting the different levels.\nelem_cols : list-like, optional\n List of columns to write as children in row element. By default,\n all columns output as children of row element. Hierarchical\n columns will be flattened with underscore delimiting the\n different levels.\nnamespaces : dict, optional\n All namespaces to be defined in root element. Keys of dict\n should be prefix names and values of dict corresponding URIs.\n Default namespaces should be given empty string key. For\n example, ::\n\n namespaces = {{\"\": \"https://example.com\"}}\n\nprefix : str, optional\n Namespace prefix to be used for every element and/or attribute\n in document. This should be one of the keys in ``namespaces``\n dict.\nencoding : str, default 'utf-8'\n Encoding of the resulting document.\nxml_declaration : bool, default True\n Whether to include the XML declaration at start of document.\npretty_print : bool, default True\n Whether output should be pretty printed with indentation and\n line breaks.\nparser : {{'lxml','etree'}}, default 'lxml'\n Parser module to use for building of tree. Only 'lxml' and\n 'etree' are supported. With 'lxml', the ability to use XSLT\n stylesheet is supported.\nstylesheet : str, path object or file-like object, optional\n A URL, file-like object, or a raw string containing an XSLT\n script used to transform the raw XML output. Script should use\n layout of elements and attributes from original output. This\n argument requires ``lxml`` to be installed. Only XSLT 1.0\n scripts and not later versions is currently supported.\n{compression_options}\n\n .. versionchanged:: 1.4.0 Zstandard support.\n\n{storage_options}\n\nReturns\n-------\nNone or str\n If ``io`` is None, returns the resulting XML format as a\n string. Otherwise returns None.\n\nSee Also\n--------\nto_json : Convert the pandas object to a JSON string.\nto_html : Convert DataFrame to a html.\n\nExamples\n--------\n>>> df = pd.DataFrame({{'shape': ['square', 'circle', 'triangle'],\n... 'degrees': [360, 360, 180],\n... 'sides': [4, np.nan, 3]}})\n\n>>> df.to_xml() # doctest: +SKIP\n\n\n \n 0\n square\n 360\n 4.0\n \n \n 1\n circle\n 360\n \n \n \n 2\n triangle\n 180\n 3.0\n \n\n\n>>> df.to_xml(attr_cols=[\n... 'index', 'shape', 'degrees', 'sides'\n... ]) # doctest: +SKIP\n\n\n \n \n \n\n\n>>> df.to_xml(namespaces={{\"doc\": \"https://example.com\"}},\n... prefix=\"doc\") # doctest: +SKIP\n\n\n \n 0\n square\n 360\n 4.0\n \n \n 1\n circle\n 360\n \n \n \n 2\n triangle\n 180\n 3.0\n \n\n"}, "kind": 2, "label": "to_xml", "sortText": "198"}, {"detail": "bound method DataFrame.transform(func: ((...) -> Unknown) | str | list[((...) -> Unknown) | str] | MutableMapping[Hashable, ((...) -> Unknown) | str | list[((...) -> Unknown) | str]], axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, *args, **kwargs) -> DataFrame", "kind": 2, "label": "transform", "sortText": "199"}, {"detail": "bound method DataFrame.transpose(*args, copy: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Transpose index and columns.\n\nReflect the DataFrame over its main diagonal by writing rows as columns\nand vice-versa. The property :attr:`.T` is an accessor to the method\n:meth:`transpose`.\n\nParameters\n----------\n*args : tuple, optional\n Accepted for compatibility with NumPy.\ncopy : bool, default False\n Whether to copy the data after transposing, even for DataFrames\n with a single dtype.\n\n Note that a copy is always required for mixed dtype DataFrames,\n or for DataFrames with any extension types.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\nDataFrame\n The transposed DataFrame.\n\nSee Also\n--------\nnumpy.transpose : Permute the dimensions of a given array.\n\nNotes\n-----\nTransposing a DataFrame with mixed dtypes will result in a homogeneous\nDataFrame with the `object` dtype. In such a case, a copy of the data\nis always made.\n\nExamples\n--------\n**Square DataFrame with homogeneous dtype**\n\n>>> d1 = {'col1': [1, 2], 'col2': [3, 4]}\n>>> df1 = pd.DataFrame(data=d1)\n>>> df1\n col1 col2\n0 1 3\n1 2 4\n\n>>> df1_transposed = df1.T # or df1.transpose()\n>>> df1_transposed\n 0 1\ncol1 1 2\ncol2 3 4\n\nWhen the dtype is homogeneous in the original DataFrame, we get a\ntransposed DataFrame with the same dtype:\n\n>>> df1.dtypes\ncol1 int64\ncol2 int64\ndtype: object\n>>> df1_transposed.dtypes\n0 int64\n1 int64\ndtype: object\n\n**Non-square DataFrame with mixed dtypes**\n\n>>> d2 = {'name': ['Alice', 'Bob'],\n... 'score': [9.5, 8],\n... 'employed': [False, True],\n... 'kids': [0, 0]}\n>>> df2 = pd.DataFrame(data=d2)\n>>> df2\n name score employed kids\n0 Alice 9.5 False 0\n1 Bob 8.0 True 0\n\n>>> df2_transposed = df2.T # or df2.transpose()\n>>> df2_transposed\n 0 1\nname Alice Bob\nscore 9.5 8.0\nemployed False True\nkids 0 0\n\nWhen the DataFrame has mixed dtypes, we get a transposed DataFrame with\nthe `object` dtype:\n\n>>> df2.dtypes\nname object\nscore float64\nemployed bool\nkids int64\ndtype: object\n>>> df2_transposed.dtypes\n0 object\n1 object\ndtype: object\n"}, "kind": 2, "label": "transpose", "sortText": "200"}, {"detail": "bound method DataFrame.truediv(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "truediv", "sortText": "201"}, {"detail": "bound method DataFrame.truncate(before=None, after=None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Truncate a Series or DataFrame before and after some index value.\n\nThis is a useful shorthand for boolean indexing based on index\nvalues above or below certain thresholds.\n\nParameters\n----------\nbefore : date, str, int\n Truncate all rows before this index value.\nafter : date, str, int\n Truncate all rows after this index value.\naxis : {0 or 'index', 1 or 'columns'}, optional\n Axis to truncate. Truncates the index (rows) by default.\n For `Series` this parameter is unused and defaults to 0.\ncopy : bool, default is True,\n Return a copy of the truncated section.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\ntype of caller\n The truncated Series or DataFrame.\n\nSee Also\n--------\nDataFrame.loc : Select a subset of a DataFrame by label.\nDataFrame.iloc : Select a subset of a DataFrame by position.\n\nNotes\n-----\nIf the index being truncated contains only datetime values,\n`before` and `after` may be specified as strings instead of\nTimestamps.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': ['a', 'b', 'c', 'd', 'e'],\n... 'B': ['f', 'g', 'h', 'i', 'j'],\n... 'C': ['k', 'l', 'm', 'n', 'o']},\n... index=[1, 2, 3, 4, 5])\n>>> df\n A B C\n1 a f k\n2 b g l\n3 c h m\n4 d i n\n5 e j o\n\n>>> df.truncate(before=2, after=4)\n A B C\n2 b g l\n3 c h m\n4 d i n\n\nThe columns of a DataFrame can be truncated.\n\n>>> df.truncate(before=\"A\", after=\"B\", axis=\"columns\")\n A B\n1 a f\n2 b g\n3 c h\n4 d i\n5 e j\n\nFor Series, only rows can be truncated.\n\n>>> df['A'].truncate(before=2, after=4)\n2 b\n3 c\n4 d\nName: A, dtype: object\n\nThe index values in ``truncate`` can be datetimes or string\ndates.\n\n>>> dates = pd.date_range('2016-01-01', '2016-02-01', freq='s')\n>>> df = pd.DataFrame(index=dates, data={'A': 1})\n>>> df.tail()\n A\n2016-01-31 23:59:56 1\n2016-01-31 23:59:57 1\n2016-01-31 23:59:58 1\n2016-01-31 23:59:59 1\n2016-02-01 00:00:00 1\n\n>>> df.truncate(before=pd.Timestamp('2016-01-05'),\n... after=pd.Timestamp('2016-01-10')).tail()\n A\n2016-01-09 23:59:56 1\n2016-01-09 23:59:57 1\n2016-01-09 23:59:58 1\n2016-01-09 23:59:59 1\n2016-01-10 00:00:00 1\n\nBecause the index is a DatetimeIndex containing only dates, we can\nspecify `before` and `after` as strings. They will be coerced to\nTimestamps before truncation.\n\n>>> df.truncate('2016-01-05', '2016-01-10').tail()\n A\n2016-01-09 23:59:56 1\n2016-01-09 23:59:57 1\n2016-01-09 23:59:58 1\n2016-01-09 23:59:59 1\n2016-01-10 00:00:00 1\n\nNote that ``truncate`` assumes a 0 value for any unspecified time\ncomponent (midnight). This differs from partial string slicing, which\nreturns any partially matching dates.\n\n>>> df.loc['2016-01-05':'2016-01-10', :].tail()\n A\n2016-01-10 23:59:55 1\n2016-01-10 23:59:56 1\n2016-01-10 23:59:57 1\n2016-01-10 23:59:58 1\n2016-01-10 23:59:59 1\n"}, "kind": 2, "label": "truncate", "sortText": "202"}, {"detail": "bound method DataFrame.tz_convert(tz, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, level=None, copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Convert tz-aware axis to target time zone.\n\nParameters\n----------\ntz : str or tzinfo object or None\n Target time zone. Passing ``None`` will convert to\n UTC and remove the timezone information.\naxis : {{0 or 'index', 1 or 'columns'}}, default 0\n The axis to convert\nlevel : int, str, default None\n If axis is a MultiIndex, convert a specific level. Otherwise\n must be None.\ncopy : bool, default True\n Also make a copy of the underlying data.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\n{klass}\n Object with time zone converted axis.\n\nRaises\n------\nTypeError\n If the axis is tz-naive.\n\nExamples\n--------\nChange to another time zone:\n\n>>> s = pd.Series(\n... [1],\n... index=pd.DatetimeIndex(['2018-09-15 01:30:00+02:00']),\n... )\n>>> s.tz_convert('Asia/Shanghai')\n2018-09-15 07:30:00+08:00 1\ndtype: int64\n\nPass None to convert to UTC and get a tz-naive index:\n\n>>> s = pd.Series([1],\n... index=pd.DatetimeIndex(['2018-09-15 01:30:00+02:00']))\n>>> s.tz_convert(None)\n2018-09-14 23:30:00 1\ndtype: int64\n"}, "kind": 2, "label": "tz_convert", "sortText": "203"}, {"detail": "bound method DataFrame.tz_localize(tz, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, level=None, copy: builtins.bool | None = None, ambiguous: Literal[\"infer\", \"NaT\", \"raise\"] | ndarray[_AnyShape, dtype[numpy.bool[builtins.bool]]] = \"raise\", nonexistent: Literal[\"shift_forward\", \"shift_backward\", \"NaT\", \"raise\"] | timedelta = \"raise\") -> DataFrame", "documentation": {"kind": "plaintext", "value": "Localize tz-naive index of a Series or DataFrame to target time zone.\n\nThis operation localizes the Index. To localize the values in a\ntimezone-naive Series, use :meth:`Series.dt.tz_localize`.\n\nParameters\n----------\ntz : str or tzinfo or None\n Time zone to localize. Passing ``None`` will remove the\n time zone information and preserve local time.\naxis : {{0 or 'index', 1 or 'columns'}}, default 0\n The axis to localize\nlevel : int, str, default None\n If axis ia a MultiIndex, localize a specific level. Otherwise\n must be None.\ncopy : bool, default True\n Also make a copy of the underlying data.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\nambiguous : 'infer', bool-ndarray, 'NaT', default 'raise'\n When clocks moved backward due to DST, ambiguous times may arise.\n For example in Central European Time (UTC+01), when going from\n 03:00 DST to 02:00 non-DST, 02:30:00 local time occurs both at\n 00:30:00 UTC and at 01:30:00 UTC. In such a situation, the\n `ambiguous` parameter dictates how ambiguous times should be\n handled.\n\n - 'infer' will attempt to infer fall dst-transition hours based on\n order\n - bool-ndarray where True signifies a DST time, False designates\n a non-DST time (note that this flag is only applicable for\n ambiguous times)\n - 'NaT' will return NaT where there are ambiguous times\n - 'raise' will raise an AmbiguousTimeError if there are ambiguous\n times.\nnonexistent : str, default 'raise'\n A nonexistent time does not exist in a particular timezone\n where clocks moved forward due to DST. Valid values are:\n\n - 'shift_forward' will shift the nonexistent time forward to the\n closest existing time\n - 'shift_backward' will shift the nonexistent time backward to the\n closest existing time\n - 'NaT' will return NaT where there are nonexistent times\n - timedelta objects will shift nonexistent times by the timedelta\n - 'raise' will raise an NonExistentTimeError if there are\n nonexistent times.\n\nReturns\n-------\n{klass}\n Same type as the input.\n\nRaises\n------\nTypeError\n If the TimeSeries is tz-aware and tz is not None.\n\nExamples\n--------\nLocalize local times:\n\n>>> s = pd.Series(\n... [1],\n... index=pd.DatetimeIndex(['2018-09-15 01:30:00']),\n... )\n>>> s.tz_localize('CET')\n2018-09-15 01:30:00+02:00 1\ndtype: int64\n\nPass None to convert to tz-naive index and preserve local time:\n\n>>> s = pd.Series([1],\n... index=pd.DatetimeIndex(['2018-09-15 01:30:00+02:00']))\n>>> s.tz_localize(None)\n2018-09-15 01:30:00 1\ndtype: int64\n\nBe careful with DST changes. When there is sequential data, pandas\ncan infer the DST time:\n\n>>> s = pd.Series(range(7),\n... index=pd.DatetimeIndex(['2018-10-28 01:30:00',\n... '2018-10-28 02:00:00',\n... '2018-10-28 02:30:00',\n... '2018-10-28 02:00:00',\n... '2018-10-28 02:30:00',\n... '2018-10-28 03:00:00',\n... '2018-10-28 03:30:00']))\n>>> s.tz_localize('CET', ambiguous='infer')\n2018-10-28 01:30:00+02:00 0\n2018-10-28 02:00:00+02:00 1\n2018-10-28 02:30:00+02:00 2\n2018-10-28 02:00:00+01:00 3\n2018-10-28 02:30:00+01:00 4\n2018-10-28 03:00:00+01:00 5\n2018-10-28 03:30:00+01:00 6\ndtype: int64\n\nIn some cases, inferring the DST is impossible. In such cases, you can\npass an ndarray to the ambiguous parameter to set the DST explicitly\n\n>>> s = pd.Series(range(3),\n... index=pd.DatetimeIndex(['2018-10-28 01:20:00',\n... '2018-10-28 02:36:00',\n... '2018-10-28 03:46:00']))\n>>> s.tz_localize('CET', ambiguous=np.array([True, True, False]))\n2018-10-28 01:20:00+02:00 0\n2018-10-28 02:36:00+02:00 1\n2018-10-28 03:46:00+01:00 2\ndtype: int64\n\nIf the DST transition causes nonexistent times, you can shift these\ndates forward or backward with a timedelta object or `'shift_forward'`\nor `'shift_backward'`.\n\n>>> s = pd.Series(range(2),\n... index=pd.DatetimeIndex(['2015-03-29 02:30:00',\n... '2015-03-29 03:30:00']))\n>>> s.tz_localize('Europe/Warsaw', nonexistent='shift_forward')\n2015-03-29 03:00:00+02:00 0\n2015-03-29 03:30:00+02:00 1\ndtype: int64\n>>> s.tz_localize('Europe/Warsaw', nonexistent='shift_backward')\n2015-03-29 01:59:59.999999999+01:00 0\n2015-03-29 03:30:00+02:00 1\ndtype: int64\n>>> s.tz_localize('Europe/Warsaw', nonexistent=pd.Timedelta('1h'))\n2015-03-29 03:30:00+02:00 0\n2015-03-29 03:30:00+02:00 1\ndtype: int64\n"}, "kind": 2, "label": "tz_localize", "sortText": "204"}, {"detail": "bound method DataFrame.unstack(level: Hashable | Sequence[Hashable] = -1, fill_value=None, sort: bool = True) -> Unknown", "documentation": {"kind": "plaintext", "value": "Pivot a level of the (necessarily hierarchical) index labels.\n\nReturns a DataFrame having a new level of column labels whose inner-most level\nconsists of the pivoted index labels.\n\nIf the index is not a MultiIndex, the output will be a Series\n(the analogue of stack when the columns are not a MultiIndex).\n\nParameters\n----------\nlevel : int, str, or list of these, default -1 (last level)\n Level(s) of index to unstack, can pass level name.\nfill_value : int, str or dict\n Replace NaN with this value if the unstack produces missing values.\nsort : bool, default True\n Sort the level(s) in the resulting MultiIndex columns.\n\nReturns\n-------\nSeries or DataFrame\n\nSee Also\n--------\nDataFrame.pivot : Pivot a table based on column values.\nDataFrame.stack : Pivot a level of the column labels (inverse operation\n from `unstack`).\n\nNotes\n-----\nReference :ref:`the user guide ` for more examples.\n\nExamples\n--------\n>>> index = pd.MultiIndex.from_tuples([('one', 'a'), ('one', 'b'),\n... ('two', 'a'), ('two', 'b')])\n>>> s = pd.Series(np.arange(1.0, 5.0), index=index)\n>>> s\none a 1.0\n b 2.0\ntwo a 3.0\n b 4.0\ndtype: float64\n\n>>> s.unstack(level=-1)\n a b\none 1.0 2.0\ntwo 3.0 4.0\n\n>>> s.unstack(level=0)\n one two\na 1.0 3.0\nb 2.0 4.0\n\n>>> df = s.unstack(level=0)\n>>> df.unstack()\none a 1.0\n b 2.0\ntwo a 3.0\n b 4.0\ndtype: float64\n"}, "kind": 2, "label": "unstack", "sortText": "205"}, {"detail": "bound method DataFrame.update(other, join: Literal[\"left\"] = \"left\", overwrite: bool = True, filter_func=None, errors: Literal[\"ignore\", \"raise\"] = \"ignore\") -> None", "documentation": {"kind": "plaintext", "value": "Modify in place using non-NA values from another DataFrame.\n\nAligns on indices. There is no return value.\n\nParameters\n----------\nother : DataFrame, or object coercible into a DataFrame\n Should have at least one matching index/column label\n with the original DataFrame. If a Series is passed,\n its name attribute must be set, and that will be\n used as the column name to align with the original DataFrame.\njoin : {'left'}, default 'left'\n Only left join is implemented, keeping the index and columns of the\n original object.\noverwrite : bool, default True\n How to handle non-NA values for overlapping keys:\n\n * True: overwrite original DataFrame's values\n with values from `other`.\n * False: only update values that are NA in\n the original DataFrame.\n\nfilter_func : callable(1d-array) -> bool 1d-array, optional\n Can choose to replace values other than NA. Return True for values\n that should be updated.\nerrors : {'raise', 'ignore'}, default 'ignore'\n If 'raise', will raise a ValueError if the DataFrame and `other`\n both contain non-NA data in the same place.\n\nReturns\n-------\nNone\n This method directly changes calling object.\n\nRaises\n------\nValueError\n * When `errors='raise'` and there's overlapping non-NA data.\n * When `errors` is not either `'ignore'` or `'raise'`\nNotImplementedError\n * If `join != 'left'`\n\nSee Also\n--------\ndict.update : Similar method for dictionaries.\nDataFrame.merge : For column(s)-on-column(s) operations.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [1, 2, 3],\n... 'B': [400, 500, 600]})\n>>> new_df = pd.DataFrame({'B': [4, 5, 6],\n... 'C': [7, 8, 9]})\n>>> df.update(new_df)\n>>> df\n A B\n0 1 4\n1 2 5\n2 3 6\n\nThe DataFrame's length does not increase as a result of the update,\nonly values at matching index/column labels are updated.\n\n>>> df = pd.DataFrame({'A': ['a', 'b', 'c'],\n... 'B': ['x', 'y', 'z']})\n>>> new_df = pd.DataFrame({'B': ['d', 'e', 'f', 'g', 'h', 'i']})\n>>> df.update(new_df)\n>>> df\n A B\n0 a d\n1 b e\n2 c f\n\n>>> df = pd.DataFrame({'A': ['a', 'b', 'c'],\n... 'B': ['x', 'y', 'z']})\n>>> new_df = pd.DataFrame({'B': ['d', 'f']}, index=[0, 2])\n>>> df.update(new_df)\n>>> df\n A B\n0 a d\n1 b y\n2 c f\n\nFor Series, its name attribute must be set.\n\n>>> df = pd.DataFrame({'A': ['a', 'b', 'c'],\n... 'B': ['x', 'y', 'z']})\n>>> new_column = pd.Series(['d', 'e', 'f'], name='B')\n>>> df.update(new_column)\n>>> df\n A B\n0 a d\n1 b e\n2 c f\n\nIf `other` contains NaNs the corresponding values are not updated\nin the original dataframe.\n\n>>> df = pd.DataFrame({'A': [1, 2, 3],\n... 'B': [400., 500., 600.]})\n>>> new_df = pd.DataFrame({'B': [4, np.nan, 6]})\n>>> df.update(new_df)\n>>> df\n A B\n0 1 4.0\n1 2 500.0\n2 3 6.0\n"}, "kind": 2, "label": "update", "sortText": "206"}, {"detail": "bound method DataFrame.value_counts(subset: Hashable | Sequence[Hashable] = None, normalize: bool = False, sort: bool = True, ascending: bool = False, dropna: bool = True) -> Series", "documentation": {"kind": "plaintext", "value": "Return a Series containing the frequency of each distinct row in the Dataframe.\n\nParameters\n----------\nsubset : label or list of labels, optional\n Columns to use when counting unique combinations.\nnormalize : bool, default False\n Return proportions rather than frequencies.\nsort : bool, default True\n Sort by frequencies when True. Sort by DataFrame column values when False.\nascending : bool, default False\n Sort in ascending order.\ndropna : bool, default True\n Don't include counts of rows that contain NA values.\n\n .. versionadded:: 1.3.0\n\nReturns\n-------\nSeries\n\nSee Also\n--------\nSeries.value_counts: Equivalent method on Series.\n\nNotes\n-----\nThe returned Series will have a MultiIndex with one level per input\ncolumn but an Index (non-multi) for a single label. By default, rows\nthat contain any NA values are omitted from the result. By default,\nthe resulting Series will be in descending order so that the first\nelement is the most frequently-occurring row.\n\nExamples\n--------\n>>> df = pd.DataFrame({'num_legs': [2, 4, 4, 6],\n... 'num_wings': [2, 0, 0, 0]},\n... index=['falcon', 'dog', 'cat', 'ant'])\n>>> df\n num_legs num_wings\nfalcon 2 2\ndog 4 0\ncat 4 0\nant 6 0\n\n>>> df.value_counts()\nnum_legs num_wings\n4 0 2\n2 2 1\n6 0 1\nName: count, dtype: int64\n\n>>> df.value_counts(sort=False)\nnum_legs num_wings\n2 2 1\n4 0 2\n6 0 1\nName: count, dtype: int64\n\n>>> df.value_counts(ascending=True)\nnum_legs num_wings\n2 2 1\n6 0 1\n4 0 2\nName: count, dtype: int64\n\n>>> df.value_counts(normalize=True)\nnum_legs num_wings\n4 0 0.50\n2 2 0.25\n6 0 0.25\nName: proportion, dtype: float64\n\nWith `dropna` set to `False` we can also count rows with NA values.\n\n>>> df = pd.DataFrame({'first_name': ['John', 'Anne', 'John', 'Beth'],\n... 'middle_name': ['Smith', pd.NA, pd.NA, 'Louise']})\n>>> df\n first_name middle_name\n0 John Smith\n1 Anne \n2 John \n3 Beth Louise\n\n>>> df.value_counts()\nfirst_name middle_name\nBeth Louise 1\nJohn Smith 1\nName: count, dtype: int64\n\n>>> df.value_counts(dropna=False)\nfirst_name middle_name\nAnne NaN 1\nBeth Louise 1\nJohn Smith 1\n NaN 1\nName: count, dtype: int64\n\n>>> df.value_counts(\"first_name\")\nfirst_name\nJohn 2\nAnne 1\nBeth 1\nName: count, dtype: int64\n"}, "kind": 2, "label": "value_counts", "sortText": "207"}, {"detail": "ndarray[_AnyShape, dtype[Any]]", "kind": 22, "label": "values", "sortText": "208"}, {"detail": "bound method DataFrame.var(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, ddof: int = 1, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "var", "sortText": "209"}, {"detail": "Overload[(cond, other=..., *, inplace: Literal[False] = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> DataFrame, (cond, other=..., *, inplace: Literal[True], axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> None, (cond, other=..., *, inplace: bool = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Replace values where the condition is {cond_rev}.\n\nParameters\n----------\ncond : bool {klass}, array-like, or callable\n Where `cond` is {cond}, keep the original value. Where\n {cond_rev}, replace with corresponding value from `other`.\n If `cond` is callable, it is computed on the {klass} and\n should return boolean {klass} or array. The callable must\n not change input {klass} (though pandas doesn't check it).\nother : scalar, {klass}, or callable\n Entries where `cond` is {cond_rev} are replaced with\n corresponding value from `other`.\n If other is callable, it is computed on the {klass} and\n should return scalar or {klass}. The callable must not\n change input {klass} (though pandas doesn't check it).\n If not specified, entries will be filled with the corresponding\n NULL value (``np.nan`` for numpy dtypes, ``pd.NA`` for extension\n dtypes).\ninplace : bool, default False\n Whether to perform the operation in place on the data.\naxis : int, default None\n Alignment axis if needed. For `Series` this parameter is\n unused and defaults to 0.\nlevel : int, default None\n Alignment level if needed.\n\nReturns\n-------\nSame type as caller or None if ``inplace=True``.\n\nSee Also\n--------\n:func:`DataFrame.{name_other}` : Return an object of same shape as\n self.\n\nNotes\n-----\nThe {name} method is an application of the if-then idiom. For each\nelement in the calling DataFrame, if ``cond`` is ``{cond}`` the\nelement is used; otherwise the corresponding element from the DataFrame\n``other`` is used. If the axis of ``other`` does not align with axis of\n``cond`` {klass}, the misaligned index positions will be filled with\n{cond_rev}.\n\nThe signature for :func:`DataFrame.where` differs from\n:func:`numpy.where`. Roughly ``df1.where(m, df2)`` is equivalent to\n``np.where(m, df1, df2)``.\n\nFor further details and examples see the ``{name}`` documentation in\n:ref:`indexing `.\n\nThe dtype of the object takes precedence. The fill value is casted to\nthe object's dtype, if this can be done losslessly.\n\nExamples\n--------\n>>> s = pd.Series(range(5))\n>>> s.where(s > 0)\n0 NaN\n1 1.0\n2 2.0\n3 3.0\n4 4.0\ndtype: float64\n>>> s.mask(s > 0)\n0 0.0\n1 NaN\n2 NaN\n3 NaN\n4 NaN\ndtype: float64\n\n>>> s = pd.Series(range(5))\n>>> t = pd.Series([True, False])\n>>> s.where(t, 99)\n0 0\n1 99\n2 99\n3 99\n4 99\ndtype: int64\n>>> s.mask(t, 99)\n0 99\n1 1\n2 99\n3 99\n4 99\ndtype: int64\n\n>>> s.where(s > 1, 10)\n0 10\n1 10\n2 2\n3 3\n4 4\ndtype: int64\n>>> s.mask(s > 1, 10)\n0 0\n1 1\n2 10\n3 10\n4 10\ndtype: int64\n\n>>> df = pd.DataFrame(np.arange(10).reshape(-1, 2), columns=['A', 'B'])\n>>> df\n A B\n0 0 1\n1 2 3\n2 4 5\n3 6 7\n4 8 9\n>>> m = df % 3 == 0\n>>> df.where(m, -df)\n A B\n0 0 -1\n1 -2 3\n2 -4 -5\n3 6 -7\n4 -8 9\n>>> df.where(m, -df) == np.where(m, df, -df)\n A B\n0 True True\n1 True True\n2 True True\n3 True True\n4 True True\n>>> df.where(m, -df) == df.mask(~m, -df)\n A B\n0 True True\n1 True True\n2 True True\n3 True True\n4 True True\n"}, "kind": 2, "label": "where", "sortText": "210"}, {"detail": "bound method DataFrame.xs(key: Hashable | Sequence[Hashable], axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, level: Hashable | Sequence[Hashable] = None, drop_level: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return cross-section from the Series/DataFrame.\n\nThis method takes a `key` argument to select data at a particular\nlevel of a MultiIndex.\n\nParameters\n----------\nkey : label or tuple of label\n Label contained in the index, or partially in a MultiIndex.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Axis to retrieve cross-section on.\nlevel : object, defaults to first n levels (n=1 or len(key))\n In case of a key partially contained in a MultiIndex, indicate\n which levels are used. Levels can be referred by label or position.\ndrop_level : bool, default True\n If False, returns object with same levels as self.\n\nReturns\n-------\nSeries or DataFrame\n Cross-section from the original Series or DataFrame\n corresponding to the selected index levels.\n\nSee Also\n--------\nDataFrame.loc : Access a group of rows and columns\n by label(s) or a boolean array.\nDataFrame.iloc : Purely integer-location based indexing\n for selection by position.\n\nNotes\n-----\n`xs` can not be used to set values.\n\nMultiIndex Slicers is a generic way to get/set values on\nany level or levels.\nIt is a superset of `xs` functionality, see\n:ref:`MultiIndex Slicers `.\n\nExamples\n--------\n>>> d = {'num_legs': [4, 4, 2, 2],\n... 'num_wings': [0, 0, 2, 2],\n... 'class': ['mammal', 'mammal', 'mammal', 'bird'],\n... 'animal': ['cat', 'dog', 'bat', 'penguin'],\n... 'locomotion': ['walks', 'walks', 'flies', 'walks']}\n>>> df = pd.DataFrame(data=d)\n>>> df = df.set_index(['class', 'animal', 'locomotion'])\n>>> df\n num_legs num_wings\nclass animal locomotion\nmammal cat walks 4 0\n dog walks 4 0\n bat flies 2 2\nbird penguin walks 2 2\n\nGet values at specified index\n\n>>> df.xs('mammal')\n num_legs num_wings\nanimal locomotion\ncat walks 4 0\ndog walks 4 0\nbat flies 2 2\n\nGet values at several indexes\n\n>>> df.xs(('mammal', 'dog', 'walks'))\nnum_legs 4\nnum_wings 0\nName: (mammal, dog, walks), dtype: int64\n\nGet values at specified index and level\n\n>>> df.xs('cat', level=1)\n num_legs num_wings\nclass locomotion\nmammal walks 4 0\n\nGet values at several indexes and levels\n\n>>> df.xs(('bird', 'walks'),\n... level=[0, 'locomotion'])\n num_legs num_wings\nanimal\npenguin 2 2\n\nGet values at specified column and axis\n\n>>> df.xs('num_wings', axis=1)\nclass animal locomotion\nmammal cat walks 0\n dog walks 0\n bat flies 2\nbird penguin walks 2\nName: num_wings, dtype: int64\n"}, "kind": 2, "label": "xs", "sortText": "211"}, {"detail": "bound method DataFrame.__abs__() -> DataFrame", "kind": 2, "label": "__abs__", "sortText": "212"}, {"detail": "bound method DataFrame.__add__(other) -> Unknown", "documentation": {"kind": "plaintext", "value": "Get Addition of DataFrame and other, column-wise.\n\nEquivalent to ``DataFrame.add(other)``.\n\nParameters\n----------\nother : scalar, sequence, Series, dict or DataFrame\n Object to be added to the DataFrame.\n\nReturns\n-------\nDataFrame\n The result of adding ``other`` to DataFrame.\n\nSee Also\n--------\nDataFrame.add : Add a DataFrame and another object, with option for index-\n or column-oriented addition.\n\nExamples\n--------\n>>> df = pd.DataFrame({'height': [1.5, 2.6], 'weight': [500, 800]},\n... index=['elk', 'moose'])\n>>> df\n height weight\nelk 1.5 500\nmoose 2.6 800\n\nAdding a scalar affects all rows and columns.\n\n>>> df[['height', 'weight']] + 1.5\n height weight\nelk 3.0 501.5\nmoose 4.1 801.5\n\nEach element of a list is added to a column of the DataFrame, in order.\n\n>>> df[['height', 'weight']] + [0.5, 1.5]\n height weight\nelk 2.0 501.5\nmoose 3.1 801.5\n\nKeys of a dictionary are aligned to the DataFrame, based on column names;\neach value in the dictionary is added to the corresponding column.\n\n>>> df[['height', 'weight']] + {'height': 0.5, 'weight': 1.5}\n height weight\nelk 2.0 501.5\nmoose 3.1 801.5\n\nWhen `other` is a :class:`Series`, the index of `other` is aligned with the\ncolumns of the DataFrame.\n\n>>> s1 = pd.Series([0.5, 1.5], index=['weight', 'height'])\n>>> df[['height', 'weight']] + s1\n height weight\nelk 3.0 500.5\nmoose 4.1 800.5\n\nEven when the index of `other` is the same as the index of the DataFrame,\nthe :class:`Series` will not be reoriented. If index-wise alignment is desired,\n:meth:`DataFrame.add` should be used with `axis='index'`.\n\n>>> s2 = pd.Series([0.5, 1.5], index=['elk', 'moose'])\n>>> df[['height', 'weight']] + s2\n elk height moose weight\nelk NaN NaN NaN NaN\nmoose NaN NaN NaN NaN\n\n>>> df[['height', 'weight']].add(s2, axis='index')\n height weight\nelk 2.0 500.5\nmoose 4.1 801.5\n\nWhen `other` is a :class:`DataFrame`, both columns names and the\nindex are aligned.\n\n>>> other = pd.DataFrame({'height': [0.2, 0.4, 0.6]},\n... index=['elk', 'moose', 'deer'])\n>>> df[['height', 'weight']] + other\n height weight\ndeer NaN NaN\nelk 1.7 NaN\nmoose 3.0 NaN\n"}, "kind": 2, "label": "__add__", "sortText": "213"}, {"detail": "bound method DataFrame.__and__(other) -> Unknown", "kind": 2, "label": "__and__", "sortText": "214"}, {"detail": "dict[str, Any]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "__annotations__", "sortText": "215"}, {"detail": "bound method DataFrame.__array__(dtype: DTypeLike | None = None, copy: bool | None = None) -> ndarray[_AnyShape, dtype[Any]]", "kind": 2, "label": "__array__", "sortText": "216"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "__array_priority__", "sortText": "217"}, {"detail": "bound method DataFrame.__array_ufunc__(ufunc: ufunc, method: str, *inputs: Any, **kwargs: Any) -> Unknown", "kind": 2, "label": "__array_ufunc__", "sortText": "218"}, {"detail": "bound method DataFrame.__arrow_c_stream__(requested_schema=None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Export the pandas DataFrame as an Arrow C stream PyCapsule.\n\nThis relies on pyarrow to convert the pandas DataFrame to the Arrow\nformat (and follows the default behaviour of ``pyarrow.Table.from_pandas``\nin its handling of the index, i.e. store the index as a column except\nfor RangeIndex).\nThis conversion is not necessarily zero-copy.\n\nParameters\n----------\nrequested_schema : PyCapsule, default None\n The schema to which the dataframe should be casted, passed as a\n PyCapsule containing a C ArrowSchema representation of the\n requested schema.\n\nReturns\n-------\nPyCapsule\n"}, "kind": 2, "label": "__arrow_c_stream__", "sortText": "219"}, {"detail": "() -> Never", "kind": 3, "label": "__bool__", "sortText": "220"}, {"detail": "type[DataFrame]", "documentation": {"kind": "plaintext", "value": "Two-dimensional, size-mutable, potentially heterogeneous tabular data.\n\nData structure also contains labeled axes (rows and columns).\nArithmetic operations align on both row and column labels. Can be\nthought of as a dict-like container for Series objects. The primary\npandas data structure.\n\nParameters\n----------\ndata : ndarray (structured or homogeneous), Iterable, dict, or DataFrame\n Dict can contain Series, arrays, constants, dataclass or list-like objects. If\n data is a dict, column order follows insertion-order. If a dict contains Series\n which have an index defined, it is aligned by its index. This alignment also\n occurs if data is a Series or a DataFrame itself. Alignment is done on\n Series/DataFrame inputs.\n\n If data is a list of dicts, column order follows insertion-order.\n\nindex : Index or array-like\n Index to use for resulting frame. Will default to RangeIndex if\n no indexing information part of input data and no index provided.\ncolumns : Index or array-like\n Column labels to use for resulting frame when data does not have them,\n defaulting to RangeIndex(0, 1, 2, ..., n). If data contains column labels,\n will perform column selection instead.\ndtype : dtype, default None\n Data type to force. Only a single dtype is allowed. If None, infer.\ncopy : bool or None, default None\n Copy data from inputs.\n For dict data, the default of None behaves like ``copy=True``. For DataFrame\n or 2d ndarray input, the default of None behaves like ``copy=False``.\n If data is a dict containing one or more Series (possibly of different dtypes),\n ``copy=False`` will ensure that these inputs are not copied.\n\n .. versionchanged:: 1.3.0\n\nSee Also\n--------\nDataFrame.from_records : Constructor from tuples, also record arrays.\nDataFrame.from_dict : From dicts of Series, arrays, or dicts.\nread_csv : Read a comma-separated values (csv) file into DataFrame.\nread_table : Read general delimited file into DataFrame.\nread_clipboard : Read text from clipboard into DataFrame.\n\nNotes\n-----\nPlease reference the :ref:`User Guide ` for more information.\n\nExamples\n--------\nConstructing DataFrame from a dictionary.\n\n>>> d = {'col1': [1, 2], 'col2': [3, 4]}\n>>> df = pd.DataFrame(data=d)\n>>> df\n col1 col2\n0 1 3\n1 2 4\n\nNotice that the inferred dtype is int64.\n\n>>> df.dtypes\ncol1 int64\ncol2 int64\ndtype: object\n\nTo enforce a single dtype:\n\n>>> df = pd.DataFrame(data=d, dtype=np.int8)\n>>> df.dtypes\ncol1 int8\ncol2 int8\ndtype: object\n\nConstructing DataFrame from a dictionary including Series:\n\n>>> d = {'col1': [0, 1, 2, 3], 'col2': pd.Series([2, 3], index=[2, 3])}\n>>> pd.DataFrame(data=d, index=[0, 1, 2, 3])\n col1 col2\n0 0 NaN\n1 1 NaN\n2 2 2.0\n3 3 3.0\n\nConstructing DataFrame from numpy ndarray:\n\n>>> df2 = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]),\n... columns=['a', 'b', 'c'])\n>>> df2\n a b c\n0 1 2 3\n1 4 5 6\n2 7 8 9\n\nConstructing DataFrame from a numpy ndarray that has labeled columns:\n\n>>> data = np.array([(1, 2, 3), (4, 5, 6), (7, 8, 9)],\n... dtype=[(\"a\", \"i4\"), (\"b\", \"i4\"), (\"c\", \"i4\")])\n>>> df3 = pd.DataFrame(data, columns=['c', 'a'])\n...\n>>> df3\n c a\n0 3 1\n1 6 4\n2 9 7\n\nConstructing DataFrame from dataclass:\n\n>>> from dataclasses import make_dataclass\n>>> Point = make_dataclass(\"Point\", [(\"x\", int), (\"y\", int)])\n>>> pd.DataFrame([Point(0, 0), Point(0, 3), Point(2, 3)])\n x y\n0 0 0\n1 0 3\n2 2 3\n\nConstructing DataFrame from Series/DataFrame:\n\n>>> ser = pd.Series([1, 2, 3], index=[\"a\", \"b\", \"c\"])\n>>> df = pd.DataFrame(data=ser, index=[\"a\", \"c\"])\n>>> df\n 0\na 1\nc 3\n\n>>> df1 = pd.DataFrame([1, 2, 3], index=[\"a\", \"b\", \"c\"], columns=[\"x\"])\n>>> df2 = pd.DataFrame(data=df1, index=[\"a\", \"c\"])\n>>> df2\n x\na 1\nc 3\n"}, "kind": 7, "label": "__class__", "sortText": "221"}, {"detail": "bound method DataFrame.__contains__(key) -> bool", "documentation": {"kind": "plaintext", "value": "True if the key is in the info axis\n"}, "kind": 2, "label": "__contains__", "sortText": "222"}, {"detail": "bound method DataFrame.__copy__(deep: bool = True) -> DataFrame", "kind": 2, "label": "__copy__", "sortText": "223"}, {"detail": "bound method DataFrame.__dataframe__(nan_as_null: bool = False, allow_copy: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the dataframe interchange object implementing the interchange protocol.\n\nParameters\n----------\nnan_as_null : bool, default False\n `nan_as_null` is DEPRECATED and has no effect. Please avoid using\n it; it will be removed in a future release.\nallow_copy : bool, default True\n Whether to allow memory copying when exporting. If set to False\n it would cause non-zero-copy exports to fail.\n\nReturns\n-------\nDataFrame interchange object\n The object which consuming library can use to ingress the dataframe.\n\nNotes\n-----\nDetails on the interchange protocol:\nhttps://data-apis.org/dataframe-protocol/latest/index.html\n\nExamples\n--------\n>>> df_not_necessarily_pandas = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})\n>>> interchange_object = df_not_necessarily_pandas.__dataframe__()\n>>> interchange_object.column_names()\nIndex(['A', 'B'], dtype='object')\n>>> df_pandas = (pd.api.interchange.from_dataframe\n... (interchange_object.select_columns_by_name(['A'])))\n>>> df_pandas\n A\n0 1\n1 2\n\nThese methods (``column_names``, ``select_columns_by_name``) should work\nfor any dataframe library which implements the interchange protocol.\n"}, "kind": 2, "label": "__dataframe__", "sortText": "224"}, {"detail": "bound method DataFrame.__dataframe_consortium_standard__(*, api_version: str | None = None) -> Any", "documentation": {"kind": "plaintext", "value": "Provide entry point to the Consortium DataFrame Standard API.\n\nThis is developed and maintained outside of pandas.\nPlease report any issues to https://github.com/data-apis/dataframe-api-compat.\n"}, "kind": 2, "label": "__dataframe_consortium_standard__", "sortText": "225"}, {"detail": "bound method DataFrame.__deepcopy__(memo=None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Parameters\n----------\nmemo, default None\n Standard signature. Unused\n"}, "kind": 2, "label": "__deepcopy__", "sortText": "226"}, {"detail": "bound method DataFrame.__delattr__(name: str, /) -> None", "kind": 2, "label": "__delattr__", "sortText": "227"}, {"detail": "bound method DataFrame.__delitem__(key) -> None", "documentation": {"kind": "plaintext", "value": "Delete item\n"}, "kind": 2, "label": "__delitem__", "sortText": "228"}, {"detail": "dict[str, Any]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "__dict__", "sortText": "229"}, {"detail": "bound method DataFrame.__dir__() -> list[str]", "documentation": {"kind": "plaintext", "value": "Provide method name lookup and completion.\n\nNotes\n-----\nOnly provide 'public' methods.\n"}, "kind": 2, "label": "__dir__", "sortText": "230"}, {"detail": "bound method DataFrame.__divmod__(other) -> tuple[DataFrame, DataFrame]", "kind": 2, "label": "__divmod__", "sortText": "231"}, {"detail": "str | None", "kind": 22, "label": "__doc__", "sortText": "232"}, {"detail": "bound method DataFrame.__eq__(other) -> Unknown", "kind": 2, "label": "__eq__", "sortText": "233"}, {"detail": "bound method DataFrame.__finalize__(other, method: str | None = None, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Propagate metadata from other to self.\n\nParameters\n----------\nother : the object from which to get the attributes that we are going\n to propagate\nmethod : str, optional\n A passed method name providing context on where ``__finalize__``\n was called.\n\n .. warning::\n\n The value passed as `method` are not currently considered\n stable across pandas releases.\n"}, "kind": 2, "label": "__finalize__", "sortText": "234"}, {"detail": "bound method DataFrame.__floordiv__(other) -> Unknown", "kind": 2, "label": "__floordiv__", "sortText": "235"}, {"detail": "bound method DataFrame.__format__(format_spec: str, /) -> str", "kind": 2, "label": "__format__", "sortText": "236"}, {"detail": "bound method DataFrame.__ge__(other) -> Unknown", "kind": 2, "label": "__ge__", "sortText": "237"}, {"detail": "bound method DataFrame.__getattr__(name: str) -> Unknown", "documentation": {"kind": "plaintext", "value": "After regular attribute access, try looking up the name\nThis allows simpler access to columns for interactive use.\n"}, "kind": 2, "label": "__getattr__", "sortText": "238"}, {"detail": "bound method DataFrame.__getattribute__(name: str, /) -> Any", "kind": 2, "label": "__getattribute__", "sortText": "239"}, {"detail": "bound method DataFrame.__getitem__(key) -> Unknown", "kind": 2, "label": "__getitem__", "sortText": "240"}, {"detail": "bound method DataFrame.__getstate__() -> dict[str, Any]", "kind": 2, "label": "__getstate__", "sortText": "241"}, {"detail": "bound method DataFrame.__gt__(other) -> Unknown", "kind": 2, "label": "__gt__", "sortText": "242"}, {"detail": "None", "documentation": {"kind": "plaintext", "value": "The type of the None singleton.\n"}, "kind": 22, "label": "__hash__", "sortText": "243"}, {"detail": "bound method DataFrame.__iadd__(other) -> DataFrame", "kind": 2, "label": "__iadd__", "sortText": "244"}, {"detail": "bound method DataFrame.__iand__(other) -> DataFrame", "kind": 2, "label": "__iand__", "sortText": "245"}, {"detail": "bound method DataFrame.__ifloordiv__(other) -> DataFrame", "kind": 2, "label": "__ifloordiv__", "sortText": "246"}, {"detail": "bound method DataFrame.__imod__(other) -> DataFrame", "kind": 2, "label": "__imod__", "sortText": "247"}, {"detail": "bound method DataFrame.__imul__(other) -> DataFrame", "kind": 2, "label": "__imul__", "sortText": "248"}, {"detail": "bound method DataFrame.__init__(data=None, index: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = None, columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = None, dtype: ExtensionDtype | str | dtype[Any] | type | None = None, copy: bool | None = None) -> None", "kind": 2, "label": "__init__", "sortText": "249"}, {"detail": "bound method type[DataFrame].__init_subclass__() -> None", "kind": 2, "label": "__init_subclass__", "sortText": "250"}, {"detail": "bound method DataFrame.__invert__() -> DataFrame", "kind": 2, "label": "__invert__", "sortText": "251"}, {"detail": "bound method DataFrame.__ior__(other) -> DataFrame", "kind": 2, "label": "__ior__", "sortText": "252"}, {"detail": "bound method DataFrame.__ipow__(other) -> DataFrame", "kind": 2, "label": "__ipow__", "sortText": "253"}, {"detail": "bound method DataFrame.__isub__(other) -> DataFrame", "kind": 2, "label": "__isub__", "sortText": "254"}, {"detail": "bound method DataFrame.__iter__() -> Iterator[Unknown]", "documentation": {"kind": "plaintext", "value": "Iterate over info axis.\n\nReturns\n-------\niterator\n Info axis as iterator.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})\n>>> for x in df:\n... print(x)\nA\nB\n"}, "kind": 2, "label": "__iter__", "sortText": "255"}, {"detail": "bound method DataFrame.__itruediv__(other) -> DataFrame", "kind": 2, "label": "__itruediv__", "sortText": "256"}, {"detail": "bound method DataFrame.__ixor__(other) -> DataFrame", "kind": 2, "label": "__ixor__", "sortText": "257"}, {"detail": "bound method DataFrame.__le__(other) -> Unknown", "kind": 2, "label": "__le__", "sortText": "258"}, {"detail": "bound method DataFrame.__len__() -> int", "documentation": {"kind": "plaintext", "value": "Returns length of info axis, but here we use the index.\n"}, "kind": 2, "label": "__len__", "sortText": "259"}, {"detail": "bound method DataFrame.__lt__(other) -> Unknown", "kind": 2, "label": "__lt__", "sortText": "260"}, {"detail": "Overload[(other: Series) -> Series, (other: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | Series | DataFrame) -> DataFrame | Series]", "documentation": {"kind": "plaintext", "value": "Matrix multiplication using binary `@` operator.\n"}, "kind": 2, "label": "__matmul__", "sortText": "261"}, {"detail": "bound method DataFrame.__mod__(other) -> Unknown", "kind": 2, "label": "__mod__", "sortText": "262"}, {"detail": "str", "documentation": {"kind": "plaintext", "value": "str(object='') -> str\nstr(bytes_or_buffer[, encoding[, errors]]) -> str\n\nCreate a new string object from the given object. If encoding or\nerrors is specified, then the object must expose a data buffer\nthat will be decoded using the given encoding and error handler.\nOtherwise, returns the result of object.__str__() (if defined)\nor repr(object).\nencoding defaults to 'utf-8'.\nerrors defaults to 'strict'.\n"}, "kind": 22, "label": "__module__", "sortText": "263"}, {"detail": "bound method DataFrame.__mul__(other) -> Unknown", "kind": 2, "label": "__mul__", "sortText": "264"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "__name__", "sortText": "265"}, {"detail": "bound method DataFrame.__ne__(other) -> Unknown", "kind": 2, "label": "__ne__", "sortText": "266"}, {"detail": "bound method DataFrame.__neg__() -> DataFrame", "kind": 2, "label": "__neg__", "sortText": "267"}, {"detail": "def __new__[Self](cls) -> Self", "kind": 3, "label": "__new__", "sortText": "268"}, {"detail": "bound method DataFrame.__nonzero__() -> Never", "kind": 2, "label": "__nonzero__", "sortText": "269"}, {"detail": "bound method DataFrame.__or__(other) -> Unknown", "kind": 2, "label": "__or__", "sortText": "270"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "__pandas_priority__", "sortText": "271"}, {"detail": "bound method DataFrame.__pos__() -> DataFrame", "kind": 2, "label": "__pos__", "sortText": "272"}, {"detail": "bound method DataFrame.__pow__(other) -> Unknown", "kind": 2, "label": "__pow__", "sortText": "273"}, {"detail": "bound method DataFrame.__radd__(other) -> Unknown", "kind": 2, "label": "__radd__", "sortText": "274"}, {"detail": "bound method DataFrame.__rand__(other) -> Unknown", "kind": 2, "label": "__rand__", "sortText": "275"}, {"detail": "bound method DataFrame.__rdivmod__(other) -> tuple[DataFrame, DataFrame]", "kind": 2, "label": "__rdivmod__", "sortText": "276"}, {"detail": "bound method DataFrame.__reduce__() -> str | tuple[Any, ...]", "kind": 2, "label": "__reduce__", "sortText": "277"}, {"detail": "bound method DataFrame.__reduce_ex__(protocol: SupportsIndex, /) -> str | tuple[Any, ...]", "kind": 2, "label": "__reduce_ex__", "sortText": "278"}, {"detail": "bound method DataFrame.__repr__() -> str", "documentation": {"kind": "plaintext", "value": "Return a string representation for a particular DataFrame.\n"}, "kind": 2, "label": "__repr__", "sortText": "279"}, {"detail": "bound method DataFrame.__rfloordiv__(other) -> Unknown", "kind": 2, "label": "__rfloordiv__", "sortText": "280"}, {"detail": "bound method DataFrame.__rmatmul__(other) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Matrix multiplication using binary `@` operator.\n"}, "kind": 2, "label": "__rmatmul__", "sortText": "281"}, {"detail": "bound method DataFrame.__rmod__(other) -> Unknown", "kind": 2, "label": "__rmod__", "sortText": "282"}, {"detail": "bound method DataFrame.__rmul__(other) -> Unknown", "kind": 2, "label": "__rmul__", "sortText": "283"}, {"detail": "bound method DataFrame.__ror__(other) -> Unknown", "kind": 2, "label": "__ror__", "sortText": "284"}, {"detail": "bound method DataFrame.__round__(decimals: int = 0) -> DataFrame", "kind": 2, "label": "__round__", "sortText": "285"}, {"detail": "bound method DataFrame.__rpow__(other) -> Unknown", "kind": 2, "label": "__rpow__", "sortText": "286"}, {"detail": "bound method DataFrame.__rsub__(other) -> Unknown", "kind": 2, "label": "__rsub__", "sortText": "287"}, {"detail": "bound method DataFrame.__rtruediv__(other) -> Unknown", "kind": 2, "label": "__rtruediv__", "sortText": "288"}, {"detail": "bound method DataFrame.__rxor__(other) -> Unknown", "kind": 2, "label": "__rxor__", "sortText": "289"}, {"detail": "bound method DataFrame.__setattr__(name: str, value) -> None", "documentation": {"kind": "plaintext", "value": "After regular attribute access, try setting the name\nThis allows simpler access to columns for interactive use.\n"}, "kind": 2, "label": "__setattr__", "sortText": "290"}, {"detail": "bound method DataFrame.__setitem__(key, value) -> None", "kind": 2, "label": "__setitem__", "sortText": "291"}, {"detail": "bound method DataFrame.__setstate__(state) -> None", "kind": 2, "label": "__setstate__", "sortText": "292"}, {"detail": "bound method DataFrame.__sizeof__() -> int", "documentation": {"kind": "plaintext", "value": "Generates the total memory usage for an object that returns\neither a value or Series of values\n"}, "kind": 2, "label": "__sizeof__", "sortText": "293"}, {"detail": "bound method DataFrame.__str__() -> str", "kind": 2, "label": "__str__", "sortText": "294"}, {"detail": "bound method DataFrame.__sub__(other) -> Unknown", "kind": 2, "label": "__sub__", "sortText": "295"}, {"detail": "bound method type[DataFrame].__subclasshook__(subclass: type, /) -> bool", "kind": 2, "label": "__subclasshook__", "sortText": "296"}, {"detail": "bound method DataFrame.__truediv__(other) -> Unknown", "kind": 2, "label": "__truediv__", "sortText": "297"}, {"detail": "bound method DataFrame.__xor__(other) -> Unknown", "kind": 2, "label": "__xor__", "sortText": "298"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "_AXIS_LEN", "sortText": "299"}, {"detail": "list[Literal[\"index\", \"columns\"]]", "documentation": {"kind": "plaintext", "value": "Built-in mutable sequence.\n\nIf no argument is given, the constructor creates a new empty list.\nThe argument must be an iterable if specified.\n"}, "kind": 22, "label": "_AXIS_ORDERS", "sortText": "300"}, {"detail": "dict[int | Literal[\"index\", \"columns\", \"rows\"], int]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "_AXIS_TO_AXIS_NUMBER", "sortText": "301"}, {"detail": "tuple[type[Series], type[Index], type[ExtensionArray], type[ndarray[_AnyShape, dtype[Any]]]]", "documentation": {"kind": "plaintext", "value": "Built-in immutable sequence.\n\nIf no argument is given, the constructor returns an empty tuple.\nIf iterable is specified the tuple is initialized from iterable's items.\n\nIf the argument is a tuple, the return value is the same object.\n"}, "kind": 22, "label": "_HANDLED_TYPES", "sortText": "302"}, {"detail": "set[str]", "documentation": {"kind": "plaintext", "value": "Build an unordered collection of unique elements.\n"}, "kind": 22, "label": "_accessors", "sortText": "303"}, {"detail": "bound method DataFrame._accum_func(name: str, func, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, skipna: bool = True, *args, **kwargs) -> Unknown", "kind": 2, "label": "_accum_func", "sortText": "304"}, {"detail": "str", "documentation": {"kind": "plaintext", "value": "str(object='') -> str\nstr(bytes_or_buffer[, encoding[, errors]]) -> str\n\nCreate a new string object from the given object. If encoding or\nerrors is specified, then the object must expose a data buffer\nthat will be decoded using the given encoding and error handler.\nOtherwise, returns the result of object.__str__() (if defined)\nor repr(object).\nencoding defaults to 'utf-8'.\nerrors defaults to 'strict'.\n"}, "kind": 22, "label": "_agg_examples_doc", "sortText": "305"}, {"detail": "str", "documentation": {"kind": "plaintext", "value": "str(object='') -> str\nstr(bytes_or_buffer[, encoding[, errors]]) -> str\n\nCreate a new string object from the given object. If encoding or\nerrors is specified, then the object must expose a data buffer\nthat will be decoded using the given encoding and error handler.\nOtherwise, returns the result of object.__str__() (if defined)\nor repr(object).\nencoding defaults to 'utf-8'.\nerrors defaults to 'strict'.\n"}, "kind": 22, "label": "_agg_see_also_doc", "sortText": "306"}, {"detail": "bound method DataFrame._align_for_op(other, axis: int, flex: bool | None = False, level: Hashable = None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Convert rhs to meet lhs dims if input is list, tuple or np.ndarray.\n\nParameters\n----------\nleft : DataFrame\nright : Any\naxis : int\nflex : bool or None, default False\n Whether this is a flex op, in which case we reindex.\n None indicates not to check for alignment.\nlevel : int or level name, default None\n\nReturns\n-------\nleft : DataFrame\nright : Any\n"}, "kind": 2, "label": "_align_for_op", "sortText": "307"}, {"detail": "bound method DataFrame._align_frame(other: DataFrame, join: Literal[\"outer\", \"inner\", \"left\", \"right\"] = \"outer\", axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, level=None, copy: bool | None = None, fill_value=None, method=None, limit: int | None = None, fill_axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> tuple[DataFrame, DataFrame, Index | None]", "kind": 2, "label": "_align_frame", "sortText": "308"}, {"detail": "bound method DataFrame._align_series(other: Series, join: Literal[\"outer\", \"inner\", \"left\", \"right\"] = \"outer\", axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, level=None, copy: bool | None = None, fill_value=None, method=None, limit: int | None = None, fill_axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> tuple[DataFrame, Series, Index | None]", "kind": 2, "label": "_align_series", "sortText": "309"}, {"detail": "bound method DataFrame._append(other, ignore_index: bool = False, verify_integrity: bool = False, sort: bool = False) -> DataFrame", "kind": 2, "label": "_append", "sortText": "310"}, {"detail": "bound method DataFrame._arith_method(other, op) -> Unknown", "kind": 2, "label": "_arith_method", "sortText": "311"}, {"detail": "bound method DataFrame._arith_method_with_reindex(right: DataFrame, op) -> DataFrame", "documentation": {"kind": "plaintext", "value": "For DataFrame-with-DataFrame operations that require reindexing,\noperate only on shared columns, then reindex.\n\nParameters\n----------\nright : DataFrame\nop : binary operator\n\nReturns\n-------\nDataFrame\n"}, "kind": 2, "label": "_arith_method_with_reindex", "sortText": "312"}, {"detail": "bound method DataFrame._as_manager(typ: str, copy: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Private helper function to create a DataFrame with specific manager.\n\nParameters\n----------\ntyp : {\"block\", \"array\"}\ncopy : bool, default True\n Only controls whether the conversion from Block->ArrayManager\n copies the 1D arrays (to ensure proper/contiguous memory layout).\n\nReturns\n-------\nDataFrame\n New DataFrame using specified manager type. Is not guaranteed\n to be a copy or not.\n"}, "kind": 2, "label": "_as_manager", "sortText": "313"}, {"detail": "dict[Hashable, Any]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "_attrs", "sortText": "314"}, {"detail": "bound method DataFrame._box_col_values(values: SingleDataManager, loc: int) -> Series", "documentation": {"kind": "plaintext", "value": "Provide boxed values for a column.\n"}, "kind": 2, "label": "_box_col_values", "sortText": "315"}, {"detail": "dict[str, Any]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "_cache", "sortText": "316"}, {"detail": "bool", "documentation": {"kind": "plaintext", "value": "Returns True when the argument is true, False otherwise.\nThe builtins True and False are the only two instances of the class bool.\nThe class bool is a subclass of the class int, and cannot be subclassed.\n"}, "kind": 22, "label": "_can_fast_transpose", "sortText": "317"}, {"detail": "bound method DataFrame._check_inplace_and_allows_duplicate_labels(inplace: bool) -> Unknown", "kind": 2, "label": "_check_inplace_and_allows_duplicate_labels", "sortText": "318"}, {"detail": "bound method DataFrame._check_is_chained_assignment_possible() -> bool", "documentation": {"kind": "plaintext", "value": "Check if we are a view, have a cacher, and are of mixed type.\nIf so, then force a setitem_copy check.\n\nShould be called just near setting a value\n\nWill return a boolean if it we are a view and are cached, but a\nsingle-dtype meaning that the cacher should be updated following\nsetting.\n"}, "kind": 2, "label": "_check_is_chained_assignment_possible", "sortText": "319"}, {"detail": "bound method DataFrame._check_label_or_level_ambiguity(key: Hashable, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> None", "documentation": {"kind": "plaintext", "value": "Check whether `key` is ambiguous.\n\nBy ambiguous, we mean that it matches both a level of the input\n`axis` and a label of the other axis.\n\nParameters\n----------\nkey : Hashable\n Label or level name.\naxis : int, default 0\n Axis that levels are associated with (0 for index, 1 for columns).\n\nRaises\n------\nValueError: `key` is ambiguous\n"}, "kind": 2, "label": "_check_label_or_level_ambiguity", "sortText": "320"}, {"detail": "bound method DataFrame._check_setitem_copy(t: str = \"setting\", force: bool = False) -> Unknown", "documentation": {"kind": "plaintext", "value": "Parameters\n----------\nt : str, the type of setting error\nforce : bool, default False\n If True, then force showing an error.\n\nvalidate if we are doing a setitem on a chained copy.\n\nIt is technically possible to figure out that we are setting on\na copy even WITH a multi-dtyped pandas object. In other words, some\nblocks may be views while other are not. Currently _is_view will ALWAYS\nreturn False for multi-blocks to avoid having to handle this case.\n\ndf = DataFrame(np.arange(0,9), columns=['count'])\ndf['group'] = 'b'\n\n# This technically need not raise SettingWithCopy if both are view\n# (which is not generally guaranteed but is usually True. However,\n# this is in general not a good practice and we recommend using .loc.\ndf.iloc[0:5]['group'] = 'a'\n"}, "kind": 2, "label": "_check_setitem_copy", "sortText": "321"}, {"detail": "bound method DataFrame._clear_item_cache() -> None", "kind": 2, "label": "_clear_item_cache", "sortText": "322"}, {"detail": "bound method DataFrame._clip_with_one_bound(threshold, method, axis, inplace) -> Unknown", "kind": 2, "label": "_clip_with_one_bound", "sortText": "323"}, {"detail": "bound method DataFrame._clip_with_scalar(lower, upper, inplace: bool = False) -> Unknown", "kind": 2, "label": "_clip_with_scalar", "sortText": "324"}, {"detail": "bound method DataFrame._cmp_method(other, op) -> Unknown", "kind": 2, "label": "_cmp_method", "sortText": "325"}, {"detail": "bound method DataFrame._combine_frame(other: DataFrame, func, fill_value=None) -> Unknown", "kind": 2, "label": "_combine_frame", "sortText": "326"}, {"detail": "bound method DataFrame._consolidate() -> Unknown", "documentation": {"kind": "plaintext", "value": "Compute NDFrame with \"consolidated\" internals (data of each dtype\ngrouped together in a single ndarray).\n\nReturns\n-------\nconsolidated : same type as caller\n"}, "kind": 2, "label": "_consolidate", "sortText": "327"}, {"detail": "bound method DataFrame._consolidate_inplace() -> None", "documentation": {"kind": "plaintext", "value": "Consolidate data in place and return None\n"}, "kind": 2, "label": "_consolidate_inplace", "sortText": "328"}, {"detail": "bound method DataFrame._construct_axes_dict(axes: Sequence[int | Literal[\"index\", \"columns\", \"rows\"]] | None = None, **kwargs) -> Unknown", "documentation": {"kind": "plaintext", "value": "Return an axes dictionary for myself.\n"}, "kind": 2, "label": "_construct_axes_dict", "sortText": "329"}, {"detail": "bound method DataFrame._construct_result(result) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Wrap the result of an arithmetic, comparison, or logical operation.\n\nParameters\n----------\nresult : DataFrame\n\nReturns\n-------\nDataFrame\n"}, "kind": 2, "label": "_construct_result", "sortText": "330"}, {"detail": "(...) -> DataFrame", "kind": 3, "label": "_constructor", "sortText": "331"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_constructor_expanddim", "sortText": "332"}, {"detail": "bound method DataFrame._constructor_from_mgr(mgr, axes) -> DataFrame", "kind": 2, "label": "_constructor_from_mgr", "sortText": "333"}, {"detail": "(...) -> Series", "kind": 3, "label": "_constructor_sliced", "sortText": "334"}, {"detail": "bound method DataFrame._constructor_sliced_from_mgr(mgr, axes) -> Series", "kind": 2, "label": "_constructor_sliced_from_mgr", "sortText": "335"}, {"detail": "bound method DataFrame._create_data_for_split_and_tight_to_dict(are_all_object_dtype_cols: bool, object_dtype_indices: list[int]) -> list[Unknown]", "documentation": {"kind": "plaintext", "value": "Simple helper method to create data for to ``to_dict(orient=\"split\")`` and\n``to_dict(orient=\"tight\")`` to create the main output data\n"}, "kind": 2, "label": "_create_data_for_split_and_tight_to_dict", "sortText": "336"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_data", "sortText": "337"}, {"detail": "bound method DataFrame._deprecate_downcast(downcast, method_name: str) -> Unknown", "kind": 2, "label": "_deprecate_downcast", "sortText": "338"}, {"detail": "bound method DataFrame._dir_additions() -> set[str]", "documentation": {"kind": "plaintext", "value": "add the string-like attributes from the info_axis.\nIf info_axis is a MultiIndex, its first level values are used.\n"}, "kind": 2, "label": "_dir_additions", "sortText": "339"}, {"detail": "bound method DataFrame._dir_deletions() -> set[str]", "documentation": {"kind": "plaintext", "value": "Delete unwanted __dir__ for this object.\n"}, "kind": 2, "label": "_dir_deletions", "sortText": "340"}, {"detail": "bound method DataFrame._dispatch_frame_op(right, func: (...) -> Unknown, axis: int | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Evaluate the frame operation func(left, right) by evaluating\ncolumn-by-column, dispatching to the Series implementation.\n\nParameters\n----------\nright : scalar, Series, or DataFrame\nfunc : arithmetic or comparison operator\naxis : {None, 0, 1}\n\nReturns\n-------\nDataFrame\n\nNotes\n-----\nCaller is responsible for setting np.errstate where relevant.\n"}, "kind": 2, "label": "_dispatch_frame_op", "sortText": "341"}, {"detail": "bound method DataFrame._drop_axis(labels, axis, level=None, errors: Literal[\"ignore\", \"raise\"] = \"raise\", only_slice: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Drop labels from specified axis. Used in the ``drop`` method\ninternally.\n\nParameters\n----------\nlabels : single label or list-like\naxis : int or axis name\nlevel : int or level name, default None\n For MultiIndex\nerrors : {'ignore', 'raise'}, default 'raise'\n If 'ignore', suppress error and existing labels are dropped.\nonly_slice : bool, default False\n Whether indexing along columns should be view-only.\n"}, "kind": 2, "label": "_drop_axis", "sortText": "342"}, {"detail": "bound method DataFrame._drop_labels_or_levels(keys, axis: int = 0) -> Unknown", "documentation": {"kind": "plaintext", "value": "Drop labels and/or levels for the given `axis`.\n\nFor each key in `keys`:\n - (axis=0): If key matches a column label then drop the column.\n Otherwise if key matches an index level then drop the level.\n - (axis=1): If key matches an index label then drop the row.\n Otherwise if key matches a column level then drop the level.\n\nParameters\n----------\nkeys : str or list of str\n labels or levels to drop\naxis : int, default 0\n Axis that levels are associated with (0 for index, 1 for columns)\n\nReturns\n-------\ndropped: DataFrame\n\nRaises\n------\nValueError\n if any `keys` match neither a label nor a level\n"}, "kind": 2, "label": "_drop_labels_or_levels", "sortText": "343"}, {"detail": "bound method DataFrame._ensure_valid_index(value) -> None", "documentation": {"kind": "plaintext", "value": "Ensure that if we don't have an index, that we can create one from the\npassed value.\n"}, "kind": 2, "label": "_ensure_valid_index", "sortText": "344"}, {"detail": "bound method DataFrame._find_valid_index(*, how: str) -> Hashable", "documentation": {"kind": "plaintext", "value": "Retrieves the index of the first valid value.\n\nParameters\n----------\nhow : {'first', 'last'}\n Use this parameter to change between the first or last valid index.\n\nReturns\n-------\nidx_first_valid : type of index\n"}, "kind": 2, "label": "_find_valid_index", "sortText": "345"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_flags", "sortText": "346"}, {"detail": "bound method DataFrame._flex_arith_method(other, op, *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> Unknown", "kind": 2, "label": "_flex_arith_method", "sortText": "347"}, {"detail": "bound method DataFrame._flex_cmp_method(other, op, *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> Unknown", "kind": 2, "label": "_flex_cmp_method", "sortText": "348"}, {"detail": "bound method type[DataFrame]._from_arrays(arrays, columns, index, dtype: ExtensionDtype | str | dtype[Any] | type | None = None, verify_integrity: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Create DataFrame from a list of arrays corresponding to the columns.\n\nParameters\n----------\narrays : list-like of arrays\n Each array in the list corresponds to one column, in order.\ncolumns : list-like, Index\n The column names for the resulting DataFrame.\nindex : list-like, Index\n The rows labels for the resulting DataFrame.\ndtype : dtype, optional\n Optional dtype to enforce for all arrays.\nverify_integrity : bool, default True\n Validate and homogenize all input. If set to False, it is assumed\n that all elements of `arrays` are actual arrays how they will be\n stored in a block (numpy ndarray or ExtensionArray), have the same\n length as and are aligned with the index, and that `columns` and\n `index` are ensured to be an Index object.\n\nReturns\n-------\nDataFrame\n"}, "kind": 2, "label": "_from_arrays", "sortText": "349"}, {"detail": "bound method type[DataFrame]._from_mgr(mgr: ArrayManager | SingleArrayManager | BlockManager | SingleBlockManager, axes: list[Index]) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Construct a new object of this type from a Manager object and axes.\n\nParameters\n----------\nmgr : Manager\n Must have the same ndim as cls.\naxes : list[Index]\n\nNotes\n-----\nThe axes must match mgr.axes, but are required for future-proofing\nin the event that axes are refactored out of the Manager objects.\n"}, "kind": 2, "label": "_from_mgr", "sortText": "350"}, {"detail": "bound method DataFrame._get_agg_axis(axis_num: int) -> Index", "documentation": {"kind": "plaintext", "value": "Let's be explicit about this.\n"}, "kind": 2, "label": "_get_agg_axis", "sortText": "351"}, {"detail": "bound method DataFrame._get_axis(axis: int | Literal[\"index\", \"columns\", \"rows\"]) -> Index", "kind": 2, "label": "_get_axis", "sortText": "352"}, {"detail": "bound method type[DataFrame]._get_axis_name(axis: int | Literal[\"index\", \"columns\", \"rows\"]) -> Literal[\"index\", \"columns\"]", "kind": 2, "label": "_get_axis_name", "sortText": "353"}, {"detail": "bound method type[DataFrame]._get_axis_number(axis: int | Literal[\"index\", \"columns\", \"rows\"]) -> int", "kind": 2, "label": "_get_axis_number", "sortText": "354"}, {"detail": "bound method DataFrame._get_axis_resolvers(axis: str) -> dict[str, Series | MultiIndex]", "kind": 2, "label": "_get_axis_resolvers", "sortText": "355"}, {"detail": "bound method type[DataFrame]._get_block_manager_axis(axis: int | Literal[\"index\", \"columns\", \"rows\"]) -> int", "documentation": {"kind": "plaintext", "value": "Map the axis to the block_manager axis.\n"}, "kind": 2, "label": "_get_block_manager_axis", "sortText": "356"}, {"detail": "bound method DataFrame._get_bool_data() -> Unknown", "kind": 2, "label": "_get_bool_data", "sortText": "357"}, {"detail": "bound method DataFrame._get_cleaned_column_resolvers() -> dict[Hashable, Series]", "documentation": {"kind": "plaintext", "value": "Return the special character free column resolvers of a dataframe.\n\nColumn names with special characters are 'cleaned up' so that they can\nbe referred to by backtick quoting.\nUsed in :meth:`DataFrame.eval`.\n"}, "kind": 2, "label": "_get_cleaned_column_resolvers", "sortText": "358"}, {"detail": "bound method DataFrame._get_column_array(i: int) -> ExtensionArray | ndarray[_AnyShape, dtype[Any]]", "documentation": {"kind": "plaintext", "value": "Get the values of the i'th column (ndarray or ExtensionArray, as stored\nin the Block)\n\nWarning! The returned array is a view but doesn't handle Copy-on-Write,\nso this should be used with caution (for read-only purposes).\n"}, "kind": 2, "label": "_get_column_array", "sortText": "359"}, {"detail": "bound method DataFrame._get_index_resolvers() -> dict[Hashable, Series | MultiIndex]", "kind": 2, "label": "_get_index_resolvers", "sortText": "360"}, {"detail": "bound method DataFrame._get_item_cache(item: Hashable) -> Series", "documentation": {"kind": "plaintext", "value": "Return the cached item, item represents a label indexer.\n"}, "kind": 2, "label": "_get_item_cache", "sortText": "361"}, {"detail": "bound method DataFrame._get_label_or_level_values(key: Hashable, axis: int = 0) -> ExtensionArray | ndarray[_AnyShape, dtype[Any]]", "documentation": {"kind": "plaintext", "value": "Return a 1-D array of values associated with `key`, a label or level\nfrom the given `axis`.\n\nRetrieval logic:\n - (axis=0): Return column values if `key` matches a column label.\n Otherwise return index level values if `key` matches an index\n level.\n - (axis=1): Return row values if `key` matches an index label.\n Otherwise return column level values if 'key' matches a column\n level\n\nParameters\n----------\nkey : Hashable\n Label or level name.\naxis : int, default 0\n Axis that levels are associated with (0 for index, 1 for columns)\n\nReturns\n-------\nnp.ndarray or ExtensionArray\n\nRaises\n------\nKeyError\n if `key` matches neither a label nor a level\nValueError\n if `key` matches multiple labels\n"}, "kind": 2, "label": "_get_label_or_level_values", "sortText": "362"}, {"detail": "bound method DataFrame._get_numeric_data() -> DataFrame", "kind": 2, "label": "_get_numeric_data", "sortText": "363"}, {"detail": "bound method DataFrame._get_value(index, col, takeable: bool = False) -> str | float | Period | ... omitted 5 union elements", "documentation": {"kind": "plaintext", "value": "Quickly retrieve single value at passed column and index.\n\nParameters\n----------\nindex : row label\ncol : column label\ntakeable : interpret the index/col as indexers, default False\n\nReturns\n-------\nscalar\n\nNotes\n-----\nAssumes that both `self.index._index_as_unique` and\n`self.columns._index_as_unique`; Caller is responsible for checking.\n"}, "kind": 2, "label": "_get_value", "sortText": "364"}, {"detail": "bound method DataFrame._get_values_for_csv(*, float_format: str | ((...) -> Unknown) | EngFormatter | None, date_format: str | None, decimal: str, na_rep: str, quoting) -> DataFrame", "kind": 2, "label": "_get_values_for_csv", "sortText": "365"}, {"detail": "bound method DataFrame._getitem_bool_array(key) -> Unknown", "kind": 2, "label": "_getitem_bool_array", "sortText": "366"}, {"detail": "bound method DataFrame._getitem_multilevel(key) -> Unknown", "kind": 2, "label": "_getitem_multilevel", "sortText": "367"}, {"detail": "bound method DataFrame._getitem_nocopy(key: list[Unknown]) -> Unknown", "documentation": {"kind": "plaintext", "value": "Behaves like __getitem__, but returns a view in cases where __getitem__\nwould make a copy.\n"}, "kind": 2, "label": "_getitem_nocopy", "sortText": "368"}, {"detail": "bound method DataFrame._getitem_slice(key: slice[Any, Any, Any]) -> DataFrame", "documentation": {"kind": "plaintext", "value": "__getitem__ for the case where the key is a slice object.\n"}, "kind": 2, "label": "_getitem_slice", "sortText": "369"}, {"detail": "bound method DataFrame._gotitem(key: Hashable | Sequence[Hashable], ndim: int, subset: DataFrame | Series | None = None) -> DataFrame | Series", "documentation": {"kind": "plaintext", "value": "Sub-classes to define. Return a sliced object.\n\nParameters\n----------\nkey : string / list of selections\nndim : {1, 2}\n requested ndim of result\nsubset : object, default None\n subset to act on\n"}, "kind": 2, "label": "_gotitem", "sortText": "370"}, {"detail": "frozenset[str]", "documentation": {"kind": "plaintext", "value": "Build an immutable unordered collection of unique elements.\n"}, "kind": 22, "label": "_hidden_attrs", "sortText": "371"}, {"detail": "bound method DataFrame._indexed_same(other) -> bool", "kind": 2, "label": "_indexed_same", "sortText": "372"}, {"detail": "Index", "documentation": {"kind": "plaintext", "value": "Immutable sequence used for indexing and alignment.\n\nThe basic object storing axis labels for all pandas objects.\n\n.. versionchanged:: 2.0.0\n\n Index can hold all numpy numeric dtypes (except float16). Previously only\n int64/uint64/float64 dtypes were accepted.\n\nParameters\n----------\ndata : array-like (1-dimensional)\ndtype : str, numpy.dtype, or ExtensionDtype, optional\n Data type for the output Index. If not specified, this will be\n inferred from `data`.\n See the :ref:`user guide ` for more usages.\ncopy : bool, default False\n Copy input data.\nname : object\n Name to be stored in the index.\ntupleize_cols : bool (default: True)\n When True, attempt to create a MultiIndex if possible.\n\nSee Also\n--------\nRangeIndex : Index implementing a monotonic integer range.\nCategoricalIndex : Index of :class:`Categorical` s.\nMultiIndex : A multi-level, or hierarchical Index.\nIntervalIndex : An Index of :class:`Interval` s.\nDatetimeIndex : Index of datetime64 data.\nTimedeltaIndex : Index of timedelta64 data.\nPeriodIndex : Index of Period data.\n\nNotes\n-----\nAn Index instance can **only** contain hashable objects.\nAn Index instance *can not* hold numpy float16 dtype.\n\nExamples\n--------\n>>> pd.Index([1, 2, 3])\nIndex([1, 2, 3], dtype='int64')\n\n>>> pd.Index(list('abc'))\nIndex(['a', 'b', 'c'], dtype='object')\n\n>>> pd.Index([1, 2, 3], dtype=\"uint8\")\nIndex([1, 2, 3], dtype='uint8')\n"}, "kind": 22, "label": "_info_axis", "sortText": "373"}, {"detail": "Literal[\"columns\", \"index\"]", "kind": 12, "label": "_info_axis_name", "sortText": "374"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "_info_axis_number", "sortText": "375"}, {"detail": "bound method DataFrame._info_repr() -> bool", "documentation": {"kind": "plaintext", "value": "True if the repr should show the info view.\n"}, "kind": 2, "label": "_info_repr", "sortText": "376"}, {"detail": "bound method type[DataFrame]._init_mgr(mgr: ArrayManager | SingleArrayManager | BlockManager | SingleBlockManager, axes: dict[Literal[\"index\", \"columns\"], ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements], dtype: dtype[Any] | ExtensionDtype | None = None, copy: bool = False) -> ArrayManager | SingleArrayManager | BlockManager | SingleBlockManager", "documentation": {"kind": "plaintext", "value": "passed a manager and a axes dict\n"}, "kind": 2, "label": "_init_mgr", "sortText": "377"}, {"detail": "bound method DataFrame._inplace_method(other, op) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Wrap arithmetic method to operate inplace.\n"}, "kind": 2, "label": "_inplace_method", "sortText": "378"}, {"detail": "list[str]", "documentation": {"kind": "plaintext", "value": "Built-in mutable sequence.\n\nIf no argument is given, the constructor creates a new empty list.\nThe argument must be an iterable if specified.\n"}, "kind": 22, "label": "_internal_names", "sortText": "379"}, {"detail": "set[str]", "documentation": {"kind": "plaintext", "value": "Build an unordered collection of unique elements.\n"}, "kind": 22, "label": "_internal_names_set", "sortText": "380"}, {"detail": "ReferenceType[NDFrame] | str | None", "kind": 22, "label": "_is_copy", "sortText": "381"}, {"detail": "bool", "documentation": {"kind": "plaintext", "value": "Returns True when the argument is true, False otherwise.\nThe builtins True and False are the only two instances of the class bool.\nThe class bool is a subclass of the class int, and cannot be subclassed.\n"}, "kind": 22, "label": "_is_homogeneous_type", "sortText": "382"}, {"detail": "bound method DataFrame._is_label_or_level_reference(key: Hashable, axis: int = 0) -> bool", "documentation": {"kind": "plaintext", "value": "Test whether a key is a label or level reference for a given axis.\n\nTo be considered either a label or a level reference, `key` must be a\nstring that:\n - (axis=0): Matches a column label or an index level\n - (axis=1): Matches an index label or a column level\n\nParameters\n----------\nkey : Hashable\n Potential label or level name\naxis : int, default 0\n Axis that levels are associated with (0 for index, 1 for columns)\n\nReturns\n-------\nbool\n"}, "kind": 2, "label": "_is_label_or_level_reference", "sortText": "383"}, {"detail": "bound method DataFrame._is_label_reference(key: Hashable, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> bool", "documentation": {"kind": "plaintext", "value": "Test whether a key is a label reference for a given axis.\n\nTo be considered a label reference, `key` must be a string that:\n - (axis=0): Matches a column label\n - (axis=1): Matches an index label\n\nParameters\n----------\nkey : Hashable\n Potential label name, i.e. Index entry.\naxis : int, default 0\n Axis perpendicular to the axis that labels are associated with\n (0 means search for column labels, 1 means search for index labels)\n\nReturns\n-------\nis_label: bool\n"}, "kind": 2, "label": "_is_label_reference", "sortText": "384"}, {"detail": "bound method DataFrame._is_level_reference(key: Hashable, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> bool", "documentation": {"kind": "plaintext", "value": "Test whether a key is a level reference for a given axis.\n\nTo be considered a level reference, `key` must be a string that:\n - (axis=0): Matches the name of an index level and does NOT match\n a column label.\n - (axis=1): Matches the name of a column level and does NOT match\n an index label.\n\nParameters\n----------\nkey : Hashable\n Potential level name for the given axis\naxis : int, default 0\n Axis that levels are associated with (0 for index, 1 for columns)\n\nReturns\n-------\nis_level : bool\n"}, "kind": 2, "label": "_is_level_reference", "sortText": "385"}, {"detail": "bool", "documentation": {"kind": "plaintext", "value": "Returns True when the argument is true, False otherwise.\nThe builtins True and False are the only two instances of the class bool.\nThe class bool is a subclass of the class int, and cannot be subclassed.\n"}, "kind": 22, "label": "_is_mixed_type", "sortText": "386"}, {"detail": "bool", "documentation": {"kind": "plaintext", "value": "Returns True when the argument is true, False otherwise.\nThe builtins True and False are the only two instances of the class bool.\nThe class bool is a subclass of the class int, and cannot be subclassed.\n"}, "kind": 22, "label": "_is_view", "sortText": "387"}, {"detail": "bound method DataFrame._is_view_after_cow_rules() -> Unknown", "kind": 2, "label": "_is_view_after_cow_rules", "sortText": "388"}, {"detail": "bound method DataFrame._iset_item(loc: int, value: Series, inplace: bool = True) -> None", "kind": 2, "label": "_iset_item", "sortText": "389"}, {"detail": "bound method DataFrame._iset_item_mgr(loc: int | slice[Any, Any, Any] | ndarray[_AnyShape, dtype[Any]], value, inplace: bool = False, refs: BlockValuesRefs | None = None) -> None", "kind": 2, "label": "_iset_item_mgr", "sortText": "390"}, {"detail": "bound method DataFrame._iset_not_inplace(key, value) -> Unknown", "kind": 2, "label": "_iset_not_inplace", "sortText": "391"}, {"detail": "dict[Hashable, Series]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "_item_cache", "sortText": "392"}, {"detail": "bound method DataFrame._iter_column_arrays() -> Iterator[ExtensionArray | ndarray[_AnyShape, dtype[Any]]]", "documentation": {"kind": "plaintext", "value": "Iterate over the arrays of all columns in order.\nThis returns the values as stored in the Block (ndarray or ExtensionArray).\n\nWarning! The returned array is a view but doesn't handle Copy-on-Write,\nso this should be used with caution (for read-only purposes).\n"}, "kind": 2, "label": "_iter_column_arrays", "sortText": "393"}, {"detail": "bound method DataFrame._ixs(i: int, axis: int = 0) -> Series", "documentation": {"kind": "plaintext", "value": "Parameters\n----------\ni : int\naxis : int\n\nReturns\n-------\nSeries\n"}, "kind": 2, "label": "_ixs", "sortText": "394"}, {"detail": "bound method DataFrame._logical_func(name: str, func, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, bool_only: bool = False, skipna: bool = True, **kwargs) -> Series | bool", "kind": 2, "label": "_logical_func", "sortText": "395"}, {"detail": "(other, op) -> Unknown", "kind": 3, "label": "_logical_method", "sortText": "396"}, {"detail": "bound method DataFrame._maybe_align_series_as_frame(series: Series, axis: int) -> Unknown", "documentation": {"kind": "plaintext", "value": "If the Series operand is not EA-dtype, we can broadcast to 2D and operate\nblockwise.\n"}, "kind": 2, "label": "_maybe_align_series_as_frame", "sortText": "397"}, {"detail": "bound method DataFrame._maybe_cache_changed(item, value: Series, inplace: bool) -> None", "documentation": {"kind": "plaintext", "value": "The object has called back to us saying maybe it has changed.\n"}, "kind": 2, "label": "_maybe_cache_changed", "sortText": "398"}, {"detail": "bound method DataFrame._maybe_update_cacher(clear: bool = False, verify_is_copy: bool = True, inplace: bool = False) -> None", "documentation": {"kind": "plaintext", "value": "See if we need to update our parent cacher if clear, then clear our\ncache.\n\nParameters\n----------\nclear : bool, default False\n Clear the item cache.\nverify_is_copy : bool, default True\n Provide is_copy checks.\n"}, "kind": 2, "label": "_maybe_update_cacher", "sortText": "399"}, {"detail": "list[str]", "documentation": {"kind": "plaintext", "value": "Built-in mutable sequence.\n\nIf no argument is given, the constructor creates a new empty list.\nThe argument must be an iterable if specified.\n"}, "kind": 22, "label": "_metadata", "sortText": "400"}, {"detail": "BlockManager | ArrayManager", "kind": 22, "label": "_mgr", "sortText": "401"}, {"detail": "bound method DataFrame._min_count_stat_function(name: str, func, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None | _NoDefault = ..., skipna: bool = True, numeric_only: bool = False, min_count: int = 0, **kwargs) -> Unknown", "kind": 2, "label": "_min_count_stat_function", "sortText": "402"}, {"detail": "bound method DataFrame._needs_reindex_multi(axes, method, level: Hashable) -> bool", "documentation": {"kind": "plaintext", "value": "Check if we do need a multi reindex.\n"}, "kind": 2, "label": "_needs_reindex_multi", "sortText": "403"}, {"detail": "bound method DataFrame._pad_or_backfill(method: Literal[\"ffill\", \"bfill\", \"pad\", \"backfill\"], *, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = None, inplace: bool = False, limit: None | int = None, limit_area: Literal[\"inside\", \"outside\"] | None = None, downcast: dict[Unknown, Unknown] | None = None) -> Unknown", "kind": 2, "label": "_pad_or_backfill", "sortText": "404"}, {"detail": "bound method DataFrame._protect_consolidate(f) -> Unknown", "documentation": {"kind": "plaintext", "value": "Consolidate _mgr -- if the blocks have changed, then clear the\ncache\n"}, "kind": 2, "label": "_protect_consolidate", "sortText": "405"}, {"detail": "bound method DataFrame._reduce(op, name: str, *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, skipna: bool = True, numeric_only: bool = False, filter_type=None, **kwds) -> Unknown", "kind": 2, "label": "_reduce", "sortText": "406"}, {"detail": "bound method DataFrame._reduce_axis1(name: str, func, skipna: bool) -> Series", "documentation": {"kind": "plaintext", "value": "Special case for _reduce to try to avoid a potentially-expensive transpose.\n\nApply the reduction block-wise along axis=1 and then reduce the resulting\n1D arrays.\n"}, "kind": 2, "label": "_reduce_axis1", "sortText": "407"}, {"detail": "bound method DataFrame._reindex_axes(axes, level: Hashable, limit: int | None, tolerance, method, fill_value: str | float | Period | ... omitted 6 union elements, copy: bool | None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Perform the reindex for all the axes.\n"}, "kind": 2, "label": "_reindex_axes", "sortText": "408"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_reindex_indexer", "sortText": "409"}, {"detail": "bound method DataFrame._reindex_multi(axes: dict[str, Index], copy: bool, fill_value) -> DataFrame", "documentation": {"kind": "plaintext", "value": "We are guaranteed non-Nones in the axes.\n"}, "kind": 2, "label": "_reindex_multi", "sortText": "410"}, {"detail": "bound method DataFrame._reindex_with_indexers(reindexers, fill_value=None, copy: bool | None = False, allow_dups: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "allow_dups indicates an internal call here\n"}, "kind": 2, "label": "_reindex_with_indexers", "sortText": "411"}, {"detail": "bound method DataFrame._rename(mapper: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = None, *, index: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = None, columns: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, copy: bool | None = None, inplace: bool = False, level: Hashable = None, errors: str = \"ignore\") -> DataFrame | None", "kind": 2, "label": "_rename", "sortText": "412"}, {"detail": "bound method DataFrame._replace_columnwise(mapping: dict[Hashable, tuple[Any, Any]], inplace: bool, regex) -> Unknown", "documentation": {"kind": "plaintext", "value": "Dispatch to Series.replace column-wise.\n\nParameters\n----------\nmapping : dict\n of the form {col: (target, value)}\ninplace : bool\nregex : bool or same types as `to_replace` in DataFrame.replace\n\nReturns\n-------\nDataFrame or None\n"}, "kind": 2, "label": "_replace_columnwise", "sortText": "413"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_replace_single", "sortText": "414"}, {"detail": "bound method DataFrame._repr_data_resource_() -> Unknown", "documentation": {"kind": "plaintext", "value": "Not a real Jupyter special repr method, but we use the same\nnaming convention.\n"}, "kind": 2, "label": "_repr_data_resource_", "sortText": "415"}, {"detail": "bound method DataFrame._repr_fits_horizontal_() -> bool", "documentation": {"kind": "plaintext", "value": "Check if full repr fits in horizontal boundaries imposed by the display\noptions width and max_columns.\n"}, "kind": 2, "label": "_repr_fits_horizontal_", "sortText": "416"}, {"detail": "bound method DataFrame._repr_fits_vertical_() -> bool", "documentation": {"kind": "plaintext", "value": "Check length against max_rows.\n"}, "kind": 2, "label": "_repr_fits_vertical_", "sortText": "417"}, {"detail": "bound method DataFrame._repr_html_() -> str | None", "documentation": {"kind": "plaintext", "value": "Return a html representation for a particular DataFrame.\n\nMainly for IPython notebook.\n"}, "kind": 2, "label": "_repr_html_", "sortText": "418"}, {"detail": "bound method DataFrame._repr_latex_() -> Unknown", "documentation": {"kind": "plaintext", "value": "Returns a LaTeX representation for a particular object.\nMainly for use with nbconvert (jupyter notebook conversion to pdf).\n"}, "kind": 2, "label": "_repr_latex_", "sortText": "419"}, {"detail": "bound method DataFrame._reset_cache(key: str | None = None) -> None", "documentation": {"kind": "plaintext", "value": "Reset cached properties. If ``key`` is passed, only clears that key.\n"}, "kind": 2, "label": "_reset_cache", "sortText": "420"}, {"detail": "bound method DataFrame._reset_cacher() -> None", "kind": 2, "label": "_reset_cacher", "sortText": "421"}, {"detail": "bound method DataFrame._sanitize_column(value) -> tuple[ExtensionArray | ndarray[_AnyShape, dtype[Any]], BlockValuesRefs | None]", "documentation": {"kind": "plaintext", "value": "Ensures new columns (which go into the BlockManager as new blocks) are\nalways copied (or a reference is being tracked to them under CoW)\nand converted into an array.\n\nParameters\n----------\nvalue : scalar, Series, or array-like\n\nReturns\n-------\ntuple of numpy.ndarray or ExtensionArray and optional BlockValuesRefs\n"}, "kind": 2, "label": "_sanitize_column", "sortText": "422"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_series", "sortText": "423"}, {"detail": "bound method DataFrame._set_axis(axis: int, labels: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | Series | list[Unknown]) -> None", "documentation": {"kind": "plaintext", "value": "This is called from the cython code when we set the `index` attribute\ndirectly, e.g. `series.index = [1, 2, 3]`.\n"}, "kind": 2, "label": "_set_axis", "sortText": "424"}, {"detail": "bound method DataFrame._set_axis_name(name, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, inplace: bool = False, copy: bool | None = True) -> Unknown", "documentation": {"kind": "plaintext", "value": "Set the name(s) of the axis.\n\nParameters\n----------\nname : str or list of str\n Name(s) to set.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to set the label. The value 0 or 'index' specifies index,\n and the value 1 or 'columns' specifies columns.\ninplace : bool, default False\n If `True`, do operation inplace and return None.\ncopy:\n Whether to make a copy of the result.\n\nReturns\n-------\nSeries, DataFrame, or None\n The same type as the caller or `None` if `inplace` is `True`.\n\nSee Also\n--------\nDataFrame.rename : Alter the axis labels of :class:`DataFrame`.\nSeries.rename : Alter the index labels or set the index name\n of :class:`Series`.\nIndex.rename : Set the name of :class:`Index` or :class:`MultiIndex`.\n\nExamples\n--------\n>>> df = pd.DataFrame({\"num_legs\": [4, 4, 2]},\n... [\"dog\", \"cat\", \"monkey\"])\n>>> df\n num_legs\ndog 4\ncat 4\nmonkey 2\n>>> df._set_axis_name(\"animal\")\n num_legs\nanimal\ndog 4\ncat 4\nmonkey 2\n>>> df.index = pd.MultiIndex.from_product(\n... [[\"mammal\"], ['dog', 'cat', 'monkey']])\n>>> df._set_axis_name([\"type\", \"name\"])\n num_legs\ntype name\nmammal dog 4\n cat 4\n monkey 2\n"}, "kind": 2, "label": "_set_axis_name", "sortText": "425"}, {"detail": "bound method DataFrame._set_axis_nocheck(labels, axis: int | Literal[\"index\", \"columns\", \"rows\"], inplace: bool, copy: bool | None) -> Unknown", "kind": 2, "label": "_set_axis_nocheck", "sortText": "426"}, {"detail": "bound method DataFrame._set_is_copy(ref: NDFrame, copy: bool = True) -> None", "kind": 2, "label": "_set_is_copy", "sortText": "427"}, {"detail": "bound method DataFrame._set_item(key, value) -> None", "documentation": {"kind": "plaintext", "value": "Add series to DataFrame in specified column.\n\nIf series is a numpy-array (not a Series/TimeSeries), it must be the\nsame length as the DataFrames index or an error will be thrown.\n\nSeries/TimeSeries will be conformed to the DataFrames index to\nensure homogeneity.\n"}, "kind": 2, "label": "_set_item", "sortText": "428"}, {"detail": "bound method DataFrame._set_item_frame_value(key, value: DataFrame) -> None", "kind": 2, "label": "_set_item_frame_value", "sortText": "429"}, {"detail": "bound method DataFrame._set_item_mgr(key, value: ExtensionArray | ndarray[_AnyShape, dtype[Any]], refs: BlockValuesRefs | None = None) -> None", "kind": 2, "label": "_set_item_mgr", "sortText": "430"}, {"detail": "bound method DataFrame._set_value(index: Hashable | Sequence[Hashable], col, value: str | float | Period | ... omitted 5 union elements, takeable: bool = False) -> None", "documentation": {"kind": "plaintext", "value": "Put single value at passed column and index.\n\nParameters\n----------\nindex : Label\n row label\ncol : Label\n column label\nvalue : scalar\ntakeable : bool, default False\n Sets whether or not index/col interpreted as indexers\n"}, "kind": 2, "label": "_set_value", "sortText": "431"}, {"detail": "bound method DataFrame._setitem_array(key, value) -> Unknown", "kind": 2, "label": "_setitem_array", "sortText": "432"}, {"detail": "bound method DataFrame._setitem_frame(key, value) -> Unknown", "kind": 2, "label": "_setitem_frame", "sortText": "433"}, {"detail": "bound method DataFrame._setitem_slice(key: slice[Any, Any, Any], value) -> None", "kind": 2, "label": "_setitem_slice", "sortText": "434"}, {"detail": "bound method DataFrame._shift_with_freq(periods: int, axis: int, freq) -> DataFrame", "kind": 2, "label": "_shift_with_freq", "sortText": "435"}, {"detail": "bound method DataFrame._should_reindex_frame_op(right, op, axis: int, fill_value, level) -> bool", "documentation": {"kind": "plaintext", "value": "Check if this is an operation between DataFrames that will need to reindex.\n"}, "kind": 2, "label": "_should_reindex_frame_op", "sortText": "436"}, {"detail": "bound method DataFrame._slice(slobj: slice[Any, Any, Any], axis: int = 0) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Construct a slice of this container.\n\nSlicing with this method is *always* positional.\n"}, "kind": 2, "label": "_slice", "sortText": "437"}, {"detail": "bound method DataFrame._stat_function(name: str, func, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "_stat_function", "sortText": "438"}, {"detail": "bound method DataFrame._stat_function_ddof(name: str, func, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None | _NoDefault = ..., skipna: bool = True, ddof: int = 1, numeric_only: bool = False, **kwargs) -> Series | float", "kind": 2, "label": "_stat_function_ddof", "sortText": "439"}, {"detail": "bound method DataFrame._take_with_is_copy(indices, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Internal version of the `take` method that sets the `_is_copy`\nattribute to keep track of the parent dataframe (using in indexing\nfor the SettingWithCopyWarning).\n\nFor Series this does the same as the public take (it never sets `_is_copy`).\n\nSee the docstring of `take` for full explanation of the parameters.\n"}, "kind": 2, "label": "_take_with_is_copy", "sortText": "440"}, {"detail": "bound method DataFrame._to_dict_of_blocks() -> Unknown", "documentation": {"kind": "plaintext", "value": "Return a dict of dtype -> Constructor Types that\neach is a homogeneous dtype.\n\nInternal ONLY - only works for BlockManager\n"}, "kind": 2, "label": "_to_dict_of_blocks", "sortText": "441"}, {"detail": "bound method DataFrame._to_latex_via_styler(buf=None, *, hide: dict[Unknown, Unknown] | list[dict[Unknown, Unknown]] | None = None, relabel_index: dict[Unknown, Unknown] | list[dict[Unknown, Unknown]] | None = None, format: dict[Unknown, Unknown] | list[dict[Unknown, Unknown]] | None = None, format_index: dict[Unknown, Unknown] | list[dict[Unknown, Unknown]] | None = None, render_kwargs: dict[Unknown, Unknown] | None = None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Render object to a LaTeX tabular, longtable, or nested table.\n\nUses the ``Styler`` implementation with the following, ordered, method chaining:\n\n.. code-block:: python\n styler = Styler(DataFrame)\n styler.hide(**hide)\n styler.relabel_index(**relabel_index)\n styler.format(**format)\n styler.format_index(**format_index)\n styler.to_latex(buf=buf, **render_kwargs)\n\nParameters\n----------\nbuf : str, Path or StringIO-like, optional, default None\n Buffer to write to. If None, the output is returned as a string.\nhide : dict, list of dict\n Keyword args to pass to the method call of ``Styler.hide``. If a list will\n call the method numerous times.\nrelabel_index : dict, list of dict\n Keyword args to pass to the method of ``Styler.relabel_index``. If a list\n will call the method numerous times.\nformat : dict, list of dict\n Keyword args to pass to the method call of ``Styler.format``. If a list will\n call the method numerous times.\nformat_index : dict, list of dict\n Keyword args to pass to the method call of ``Styler.format_index``. If a\n list will call the method numerous times.\nrender_kwargs : dict\n Keyword args to pass to the method call of ``Styler.to_latex``.\n\nReturns\n-------\nstr or None\n If buf is None, returns the result as a string. Otherwise returns None.\n"}, "kind": 2, "label": "_to_latex_via_styler", "sortText": "442"}, {"detail": "str", "documentation": {"kind": "plaintext", "value": "str(object='') -> str\nstr(bytes_or_buffer[, encoding[, errors]]) -> str\n\nCreate a new string object from the given object. If encoding or\nerrors is specified, then the object must expose a data buffer\nthat will be decoded using the given encoding and error handler.\nOtherwise, returns the result of object.__str__() (if defined)\nor repr(object).\nencoding defaults to 'utf-8'.\nerrors defaults to 'strict'.\n"}, "kind": 22, "label": "_typ", "sortText": "443"}, {"detail": "bound method DataFrame._update_inplace(result, verify_is_copy: bool = True) -> None", "documentation": {"kind": "plaintext", "value": "Replace self internals with result.\n\nParameters\n----------\nresult : same type as self\nverify_is_copy : bool, default True\n Provide is_copy checks.\n"}, "kind": 2, "label": "_update_inplace", "sortText": "444"}, {"detail": "bound method type[DataFrame]._validate_dtype(dtype) -> dtype[Any] | ExtensionDtype | None", "documentation": {"kind": "plaintext", "value": "validate the passed dtype\n"}, "kind": 2, "label": "_validate_dtype", "sortText": "445"}, {"detail": "ndarray[_AnyShape, dtype[Any]] | DatetimeArray | TimedeltaArray | PeriodArray", "kind": 22, "label": "_values", "sortText": "446"}, {"detail": "bound method DataFrame._where(cond, other=..., inplace: bool = False, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, level=None, warn: bool = True) -> Unknown", "documentation": {"kind": "plaintext", "value": "Equivalent to public method `where`, except that `other` is not\napplied as a function even if callable. Used in __setitem__.\n"}, "kind": 2, "label": "_where", "sortText": "447"}]}} -{"suite": "pandas", "label": "edit dataframe then complete (edit+completion)", "method": "textDocument/completion", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py", "line": 17, "character": 39, "iteration": 4, "result": {"isIncomplete": true, "items": [{"detail": "DataFrame", "documentation": {"kind": "plaintext", "value": "Two-dimensional, size-mutable, potentially heterogeneous tabular data.\n\nData structure also contains labeled axes (rows and columns).\nArithmetic operations align on both row and column labels. Can be\nthought of as a dict-like container for Series objects. The primary\npandas data structure.\n\nParameters\n----------\ndata : ndarray (structured or homogeneous), Iterable, dict, or DataFrame\n Dict can contain Series, arrays, constants, dataclass or list-like objects. If\n data is a dict, column order follows insertion-order. If a dict contains Series\n which have an index defined, it is aligned by its index. This alignment also\n occurs if data is a Series or a DataFrame itself. Alignment is done on\n Series/DataFrame inputs.\n\n If data is a list of dicts, column order follows insertion-order.\n\nindex : Index or array-like\n Index to use for resulting frame. Will default to RangeIndex if\n no indexing information part of input data and no index provided.\ncolumns : Index or array-like\n Column labels to use for resulting frame when data does not have them,\n defaulting to RangeIndex(0, 1, 2, ..., n). If data contains column labels,\n will perform column selection instead.\ndtype : dtype, default None\n Data type to force. Only a single dtype is allowed. If None, infer.\ncopy : bool or None, default None\n Copy data from inputs.\n For dict data, the default of None behaves like ``copy=True``. For DataFrame\n or 2d ndarray input, the default of None behaves like ``copy=False``.\n If data is a dict containing one or more Series (possibly of different dtypes),\n ``copy=False`` will ensure that these inputs are not copied.\n\n .. versionchanged:: 1.3.0\n\nSee Also\n--------\nDataFrame.from_records : Constructor from tuples, also record arrays.\nDataFrame.from_dict : From dicts of Series, arrays, or dicts.\nread_csv : Read a comma-separated values (csv) file into DataFrame.\nread_table : Read general delimited file into DataFrame.\nread_clipboard : Read text from clipboard into DataFrame.\n\nNotes\n-----\nPlease reference the :ref:`User Guide ` for more information.\n\nExamples\n--------\nConstructing DataFrame from a dictionary.\n\n>>> d = {'col1': [1, 2], 'col2': [3, 4]}\n>>> df = pd.DataFrame(data=d)\n>>> df\n col1 col2\n0 1 3\n1 2 4\n\nNotice that the inferred dtype is int64.\n\n>>> df.dtypes\ncol1 int64\ncol2 int64\ndtype: object\n\nTo enforce a single dtype:\n\n>>> df = pd.DataFrame(data=d, dtype=np.int8)\n>>> df.dtypes\ncol1 int8\ncol2 int8\ndtype: object\n\nConstructing DataFrame from a dictionary including Series:\n\n>>> d = {'col1': [0, 1, 2, 3], 'col2': pd.Series([2, 3], index=[2, 3])}\n>>> pd.DataFrame(data=d, index=[0, 1, 2, 3])\n col1 col2\n0 0 NaN\n1 1 NaN\n2 2 2.0\n3 3 3.0\n\nConstructing DataFrame from numpy ndarray:\n\n>>> df2 = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]),\n... columns=['a', 'b', 'c'])\n>>> df2\n a b c\n0 1 2 3\n1 4 5 6\n2 7 8 9\n\nConstructing DataFrame from a numpy ndarray that has labeled columns:\n\n>>> data = np.array([(1, 2, 3), (4, 5, 6), (7, 8, 9)],\n... dtype=[(\"a\", \"i4\"), (\"b\", \"i4\"), (\"c\", \"i4\")])\n>>> df3 = pd.DataFrame(data, columns=['c', 'a'])\n...\n>>> df3\n c a\n0 3 1\n1 6 4\n2 9 7\n\nConstructing DataFrame from dataclass:\n\n>>> from dataclasses import make_dataclass\n>>> Point = make_dataclass(\"Point\", [(\"x\", int), (\"y\", int)])\n>>> pd.DataFrame([Point(0, 0), Point(0, 3), Point(2, 3)])\n x y\n0 0 0\n1 0 3\n2 2 3\n\nConstructing DataFrame from Series/DataFrame:\n\n>>> ser = pd.Series([1, 2, 3], index=[\"a\", \"b\", \"c\"])\n>>> df = pd.DataFrame(data=ser, index=[\"a\", \"c\"])\n>>> df\n 0\na 1\nc 3\n\n>>> df1 = pd.DataFrame([1, 2, 3], index=[\"a\", \"b\", \"c\"], columns=[\"x\"])\n>>> df2 = pd.DataFrame(data=df1, index=[\"a\", \"c\"])\n>>> df2\n x\na 1\nc 3\n"}, "kind": 22, "label": "T", "sortText": " 0"}, {"detail": "bound method DataFrame.abs() -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return a Series/DataFrame with absolute numeric value of each element.\n\nThis function only applies to elements that are all numeric.\n\nReturns\n-------\nabs\n Series/DataFrame containing the absolute value of each element.\n\nSee Also\n--------\nnumpy.absolute : Calculate the absolute value element-wise.\n\nNotes\n-----\nFor ``complex`` inputs, ``1.2 + 1j``, the absolute value is\n:math:`\\sqrt{ a^2 + b^2 }`.\n\nExamples\n--------\nAbsolute numeric values in a Series.\n\n>>> s = pd.Series([-1.10, 2, -3.33, 4])\n>>> s.abs()\n0 1.10\n1 2.00\n2 3.33\n3 4.00\ndtype: float64\n\nAbsolute numeric values in a Series with complex numbers.\n\n>>> s = pd.Series([1.2 + 1j])\n>>> s.abs()\n0 1.56205\ndtype: float64\n\nAbsolute numeric values in a Series with a Timedelta element.\n\n>>> s = pd.Series([pd.Timedelta('1 days')])\n>>> s.abs()\n0 1 days\ndtype: timedelta64[ns]\n\nSelect rows with data closest to certain value using argsort (from\n`StackOverflow `__).\n\n>>> df = pd.DataFrame({\n... 'a': [4, 5, 6, 7],\n... 'b': [10, 20, 30, 40],\n... 'c': [100, 50, -30, -50]\n... })\n>>> df\n a b c\n0 4 10 100\n1 5 20 50\n2 6 30 -30\n3 7 40 -50\n>>> df.loc[(df.c - 43).abs().argsort()]\n a b c\n1 5 20 50\n0 4 10 100\n2 6 30 -30\n3 7 40 -50\n"}, "kind": 2, "label": "abs", "sortText": " 1"}, {"detail": "bound method DataFrame.add(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "add", "sortText": " 2"}, {"detail": "bound method DataFrame.add_prefix(prefix: str, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Prefix labels with string `prefix`.\n\nFor Series, the row labels are prefixed.\nFor DataFrame, the column labels are prefixed.\n\nParameters\n----------\nprefix : str\n The string to add before each label.\naxis : {0 or 'index', 1 or 'columns', None}, default None\n Axis to add prefix on\n\n .. versionadded:: 2.0.0\n\nReturns\n-------\nSeries or DataFrame\n New Series or DataFrame with updated labels.\n\nSee Also\n--------\nSeries.add_suffix: Suffix row labels with string `suffix`.\nDataFrame.add_suffix: Suffix column labels with string `suffix`.\n\nExamples\n--------\n>>> s = pd.Series([1, 2, 3, 4])\n>>> s\n0 1\n1 2\n2 3\n3 4\ndtype: int64\n\n>>> s.add_prefix('item_')\nitem_0 1\nitem_1 2\nitem_2 3\nitem_3 4\ndtype: int64\n\n>>> df = pd.DataFrame({'A': [1, 2, 3, 4], 'B': [3, 4, 5, 6]})\n>>> df\n A B\n0 1 3\n1 2 4\n2 3 5\n3 4 6\n\n>>> df.add_prefix('col_')\n col_A col_B\n0 1 3\n1 2 4\n2 3 5\n3 4 6\n"}, "kind": 2, "label": "add_prefix", "sortText": " 3"}, {"detail": "bound method DataFrame.add_suffix(suffix: str, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Suffix labels with string `suffix`.\n\nFor Series, the row labels are suffixed.\nFor DataFrame, the column labels are suffixed.\n\nParameters\n----------\nsuffix : str\n The string to add after each label.\naxis : {0 or 'index', 1 or 'columns', None}, default None\n Axis to add suffix on\n\n .. versionadded:: 2.0.0\n\nReturns\n-------\nSeries or DataFrame\n New Series or DataFrame with updated labels.\n\nSee Also\n--------\nSeries.add_prefix: Prefix row labels with string `prefix`.\nDataFrame.add_prefix: Prefix column labels with string `prefix`.\n\nExamples\n--------\n>>> s = pd.Series([1, 2, 3, 4])\n>>> s\n0 1\n1 2\n2 3\n3 4\ndtype: int64\n\n>>> s.add_suffix('_item')\n0_item 1\n1_item 2\n2_item 3\n3_item 4\ndtype: int64\n\n>>> df = pd.DataFrame({'A': [1, 2, 3, 4], 'B': [3, 4, 5, 6]})\n>>> df\n A B\n0 1 3\n1 2 4\n2 3 5\n3 4 6\n\n>>> df.add_suffix('_col')\n A_col B_col\n0 1 3\n1 2 4\n2 3 5\n3 4 6\n"}, "kind": 2, "label": "add_suffix", "sortText": " 4"}, {"detail": "(func=None, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, *args, **kwargs) -> Unknown", "kind": 3, "label": "agg", "sortText": " 5"}, {"detail": "bound method DataFrame.aggregate(func=None, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, *args, **kwargs) -> Unknown", "kind": 2, "label": "aggregate", "sortText": " 6"}, {"detail": "bound method DataFrame.align[NDFrameT](other: NDFrameT, join: Literal[\"outer\", \"inner\", \"left\", \"right\"] = \"outer\", axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, level: Hashable = None, copy: bool | None = None, fill_value: Hashable = None, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None | _NoDefault = ..., limit: int | None | _NoDefault = ..., fill_axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., broadcast_axis: int | Literal[\"index\", \"columns\", \"rows\"] | None | _NoDefault = ...) -> tuple[DataFrame, NDFrameT]", "documentation": {"kind": "plaintext", "value": "Align two objects on their axes with the specified join method.\n\nJoin method is specified for each axis Index.\n\nParameters\n----------\nother : DataFrame or Series\njoin : {{'outer', 'inner', 'left', 'right'}}, default 'outer'\n Type of alignment to be performed.\n\n * left: use only keys from left frame, preserve key order.\n * right: use only keys from right frame, preserve key order.\n * outer: use union of keys from both frames, sort keys lexicographically.\n * inner: use intersection of keys from both frames,\n preserve the order of the left keys.\n\naxis : allowed axis of the other object, default None\n Align on index (0), columns (1), or both (None).\nlevel : int or level name, default None\n Broadcast across a level, matching Index values on the\n passed MultiIndex level.\ncopy : bool, default True\n Always returns new objects. If copy=False and no reindexing is\n required then original objects are returned.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\nfill_value : scalar, default np.nan\n Value to use for missing values. Defaults to NaN, but can be any\n \"compatible\" value.\nmethod : {{'backfill', 'bfill', 'pad', 'ffill', None}}, default None\n Method to use for filling holes in reindexed Series:\n\n - pad / ffill: propagate last valid observation forward to next valid.\n - backfill / bfill: use NEXT valid observation to fill gap.\n\n .. deprecated:: 2.1\n\nlimit : int, default None\n If method is specified, this is the maximum number of consecutive\n NaN values to forward/backward fill. In other words, if there is\n a gap with more than this number of consecutive NaNs, it will only\n be partially filled. If method is not specified, this is the\n maximum number of entries along the entire axis where NaNs will be\n filled. Must be greater than 0 if not None.\n\n .. deprecated:: 2.1\n\nfill_axis : {axes_single_arg}, default 0\n Filling axis, method and limit.\n\n .. deprecated:: 2.1\n\nbroadcast_axis : {axes_single_arg}, default None\n Broadcast values along this axis, if aligning two objects of\n different dimensions.\n\n .. deprecated:: 2.1\n\nReturns\n-------\ntuple of ({klass}, type of other)\n Aligned objects.\n\nExamples\n--------\n>>> df = pd.DataFrame(\n... [[1, 2, 3, 4], [6, 7, 8, 9]], columns=[\"D\", \"B\", \"E\", \"A\"], index=[1, 2]\n... )\n>>> other = pd.DataFrame(\n... [[10, 20, 30, 40], [60, 70, 80, 90], [600, 700, 800, 900]],\n... columns=[\"A\", \"B\", \"C\", \"D\"],\n... index=[2, 3, 4],\n... )\n>>> df\n D B E A\n1 1 2 3 4\n2 6 7 8 9\n>>> other\n A B C D\n2 10 20 30 40\n3 60 70 80 90\n4 600 700 800 900\n\nAlign on columns:\n\n>>> left, right = df.align(other, join=\"outer\", axis=1)\n>>> left\n A B C D E\n1 4 2 NaN 1 3\n2 9 7 NaN 6 8\n>>> right\n A B C D E\n2 10 20 30 40 NaN\n3 60 70 80 90 NaN\n4 600 700 800 900 NaN\n\nWe can also align on the index:\n\n>>> left, right = df.align(other, join=\"outer\", axis=0)\n>>> left\n D B E A\n1 1.0 2.0 3.0 4.0\n2 6.0 7.0 8.0 9.0\n3 NaN NaN NaN NaN\n4 NaN NaN NaN NaN\n>>> right\n A B C D\n1 NaN NaN NaN NaN\n2 10.0 20.0 30.0 40.0\n3 60.0 70.0 80.0 90.0\n4 600.0 700.0 800.0 900.0\n\nFinally, the default `axis=None` will align on both index and columns:\n\n>>> left, right = df.align(other, join=\"outer\", axis=None)\n>>> left\n A B C D E\n1 4.0 2.0 NaN 1.0 3.0\n2 9.0 7.0 NaN 6.0 8.0\n3 NaN NaN NaN NaN NaN\n4 NaN NaN NaN NaN NaN\n>>> right\n A B C D E\n1 NaN NaN NaN NaN NaN\n2 10.0 20.0 30.0 40.0 NaN\n3 60.0 70.0 80.0 90.0 NaN\n4 600.0 700.0 800.0 900.0 NaN\n"}, "kind": 2, "label": "align", "sortText": " 7"}, {"detail": "bound method DataFrame.all(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, bool_only: bool = False, skipna: bool = True, **kwargs) -> Series | bool", "kind": 2, "label": "all", "sortText": " 8"}, {"detail": "bound method DataFrame.any(*, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, bool_only: bool = False, skipna: bool = True, **kwargs) -> Series | bool", "kind": 2, "label": "any", "sortText": " 9"}, {"detail": "bound method DataFrame.apply(func: ((...) -> Unknown) | str | list[((...) -> Unknown) | str] | MutableMapping[Hashable, ((...) -> Unknown) | str | list[((...) -> Unknown) | str]], axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, raw: bool = False, result_type: Literal[\"expand\", \"reduce\", \"broadcast\"] | None = None, args=..., by_row: Literal[False, \"compat\"] = \"compat\", engine: Literal[\"python\", \"numba\"] = \"python\", engine_kwargs: dict[str, bool] | None = None, **kwargs) -> Unknown", "documentation": {"kind": "plaintext", "value": "Apply a function along an axis of the DataFrame.\n\nObjects passed to the function are Series objects whose index is\neither the DataFrame's index (``axis=0``) or the DataFrame's columns\n(``axis=1``). By default (``result_type=None``), the final return type\nis inferred from the return type of the applied function. Otherwise,\nit depends on the `result_type` argument.\n\nParameters\n----------\nfunc : function\n Function to apply to each column or row.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Axis along which the function is applied:\n\n * 0 or 'index': apply function to each column.\n * 1 or 'columns': apply function to each row.\n\nraw : bool, default False\n Determines if row or column is passed as a Series or ndarray object:\n\n * ``False`` : passes each row or column as a Series to the\n function.\n * ``True`` : the passed function will receive ndarray objects\n instead.\n If you are just applying a NumPy reduction function this will\n achieve much better performance.\n\nresult_type : {'expand', 'reduce', 'broadcast', None}, default None\n These only act when ``axis=1`` (columns):\n\n * 'expand' : list-like results will be turned into columns.\n * 'reduce' : returns a Series if possible rather than expanding\n list-like results. This is the opposite of 'expand'.\n * 'broadcast' : results will be broadcast to the original shape\n of the DataFrame, the original index and columns will be\n retained.\n\n The default behaviour (None) depends on the return value of the\n applied function: list-like results will be returned as a Series\n of those. However if the apply function returns a Series these\n are expanded to columns.\nargs : tuple\n Positional arguments to pass to `func` in addition to the\n array/series.\nby_row : False or \"compat\", default \"compat\"\n Only has an effect when ``func`` is a listlike or dictlike of funcs\n and the func isn't a string.\n If \"compat\", will if possible first translate the func into pandas\n methods (e.g. ``Series().apply(np.sum)`` will be translated to\n ``Series().sum()``). If that doesn't work, will try call to apply again with\n ``by_row=True`` and if that fails, will call apply again with\n ``by_row=False`` (backward compatible).\n If False, the funcs will be passed the whole Series at once.\n\n .. versionadded:: 2.1.0\n\nengine : {'python', 'numba'}, default 'python'\n Choose between the python (default) engine or the numba engine in apply.\n\n The numba engine will attempt to JIT compile the passed function,\n which may result in speedups for large DataFrames.\n It also supports the following engine_kwargs :\n\n - nopython (compile the function in nopython mode)\n - nogil (release the GIL inside the JIT compiled function)\n - parallel (try to apply the function in parallel over the DataFrame)\n\n Note: Due to limitations within numba/how pandas interfaces with numba,\n you should only use this if raw=True\n\n Note: The numba compiler only supports a subset of\n valid Python/numpy operations.\n\n Please read more about the `supported python features\n `_\n and `supported numpy features\n `_\n in numba to learn what you can or cannot use in the passed function.\n\n .. versionadded:: 2.2.0\n\nengine_kwargs : dict\n Pass keyword arguments to the engine.\n This is currently only used by the numba engine,\n see the documentation for the engine argument for more information.\n**kwargs\n Additional keyword arguments to pass as keywords arguments to\n `func`.\n\nReturns\n-------\nSeries or DataFrame\n Result of applying ``func`` along the given axis of the\n DataFrame.\n\nSee Also\n--------\nDataFrame.map: For elementwise operations.\nDataFrame.aggregate: Only perform aggregating type operations.\nDataFrame.transform: Only perform transforming type operations.\n\nNotes\n-----\nFunctions that mutate the passed object can produce unexpected\nbehavior or errors and are not supported. See :ref:`gotchas.udf-mutation`\nfor more details.\n\nExamples\n--------\n>>> df = pd.DataFrame([[4, 9]] * 3, columns=['A', 'B'])\n>>> df\n A B\n0 4 9\n1 4 9\n2 4 9\n\nUsing a numpy universal function (in this case the same as\n``np.sqrt(df)``):\n\n>>> df.apply(np.sqrt)\n A B\n0 2.0 3.0\n1 2.0 3.0\n2 2.0 3.0\n\nUsing a reducing function on either axis\n\n>>> df.apply(np.sum, axis=0)\nA 12\nB 27\ndtype: int64\n\n>>> df.apply(np.sum, axis=1)\n0 13\n1 13\n2 13\ndtype: int64\n\nReturning a list-like will result in a Series\n\n>>> df.apply(lambda x: [1, 2], axis=1)\n0 [1, 2]\n1 [1, 2]\n2 [1, 2]\ndtype: object\n\nPassing ``result_type='expand'`` will expand list-like results\nto columns of a Dataframe\n\n>>> df.apply(lambda x: [1, 2], axis=1, result_type='expand')\n 0 1\n0 1 2\n1 1 2\n2 1 2\n\nReturning a Series inside the function is similar to passing\n``result_type='expand'``. The resulting column names\nwill be the Series index.\n\n>>> df.apply(lambda x: pd.Series([1, 2], index=['foo', 'bar']), axis=1)\n foo bar\n0 1 2\n1 1 2\n2 1 2\n\nPassing ``result_type='broadcast'`` will ensure the same shape\nresult, whether list-like or scalar is returned by the function,\nand broadcast it along the axis. The resulting column names will\nbe the originals.\n\n>>> df.apply(lambda x: [1, 2], axis=1, result_type='broadcast')\n A B\n0 1 2\n1 1 2\n2 1 2\n"}, "kind": 2, "label": "apply", "sortText": " 10"}, {"detail": "bound method DataFrame.applymap(func: (Any, /) -> Any, na_action: Literal[\"ignore\"] | None = None, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Apply a function to a Dataframe elementwise.\n\n.. deprecated:: 2.1.0\n\n DataFrame.applymap has been deprecated. Use DataFrame.map instead.\n\nThis method applies a function that accepts and returns a scalar\nto every element of a DataFrame.\n\nParameters\n----------\nfunc : callable\n Python function, returns a single value from a single value.\nna_action : {None, 'ignore'}, default None\n If 'ignore', propagate NaN values, without passing them to func.\n**kwargs\n Additional keyword arguments to pass as keywords arguments to\n `func`.\n\nReturns\n-------\nDataFrame\n Transformed DataFrame.\n\nSee Also\n--------\nDataFrame.apply : Apply a function along input axis of DataFrame.\nDataFrame.map : Apply a function along input axis of DataFrame.\nDataFrame.replace: Replace values given in `to_replace` with `value`.\n\nExamples\n--------\n>>> df = pd.DataFrame([[1, 2.12], [3.356, 4.567]])\n>>> df\n 0 1\n0 1.000 2.120\n1 3.356 4.567\n\n>>> df.map(lambda x: len(str(x)))\n 0 1\n0 3 4\n1 5 5\n"}, "kind": 2, "label": "applymap", "sortText": " 11"}, {"detail": "bound method DataFrame.asfreq(freq: str | BaseOffset, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None = None, how: Literal[\"start\", \"end\"] | None = None, normalize: bool = False, fill_value: Hashable = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Convert time series to specified frequency.\n\nReturns the original data conformed to a new index with the specified\nfrequency.\n\nIf the index of this {klass} is a :class:`~pandas.PeriodIndex`, the new index\nis the result of transforming the original index with\n:meth:`PeriodIndex.asfreq ` (so the original index\nwill map one-to-one to the new index).\n\nOtherwise, the new index will be equivalent to ``pd.date_range(start, end,\nfreq=freq)`` where ``start`` and ``end`` are, respectively, the first and\nlast entries in the original index (see :func:`pandas.date_range`). The\nvalues corresponding to any timesteps in the new index which were not present\nin the original index will be null (``NaN``), unless a method for filling\nsuch unknowns is provided (see the ``method`` parameter below).\n\nThe :meth:`resample` method is more appropriate if an operation on each group of\ntimesteps (such as an aggregate) is necessary to represent the data at the new\nfrequency.\n\nParameters\n----------\nfreq : DateOffset or str\n Frequency DateOffset or string.\nmethod : {{'backfill'/'bfill', 'pad'/'ffill'}}, default None\n Method to use for filling holes in reindexed Series (note this\n does not fill NaNs that already were present):\n\n * 'pad' / 'ffill': propagate last valid observation forward to next\n valid\n * 'backfill' / 'bfill': use NEXT valid observation to fill.\nhow : {{'start', 'end'}}, default end\n For PeriodIndex only (see PeriodIndex.asfreq).\nnormalize : bool, default False\n Whether to reset output index to midnight.\nfill_value : scalar, optional\n Value to use for missing values, applied during upsampling (note\n this does not fill NaNs that already were present).\n\nReturns\n-------\n{klass}\n {klass} object reindexed to the specified frequency.\n\nSee Also\n--------\nreindex : Conform DataFrame to new index with optional filling logic.\n\nNotes\n-----\nTo learn more about the frequency strings, please see `this link\n`__.\n\nExamples\n--------\nStart by creating a series with 4 one minute timestamps.\n\n>>> index = pd.date_range('1/1/2000', periods=4, freq='min')\n>>> series = pd.Series([0.0, None, 2.0, 3.0], index=index)\n>>> df = pd.DataFrame({{'s': series}})\n>>> df\n s\n2000-01-01 00:00:00 0.0\n2000-01-01 00:01:00 NaN\n2000-01-01 00:02:00 2.0\n2000-01-01 00:03:00 3.0\n\nUpsample the series into 30 second bins.\n\n>>> df.asfreq(freq='30s')\n s\n2000-01-01 00:00:00 0.0\n2000-01-01 00:00:30 NaN\n2000-01-01 00:01:00 NaN\n2000-01-01 00:01:30 NaN\n2000-01-01 00:02:00 2.0\n2000-01-01 00:02:30 NaN\n2000-01-01 00:03:00 3.0\n\nUpsample again, providing a ``fill value``.\n\n>>> df.asfreq(freq='30s', fill_value=9.0)\n s\n2000-01-01 00:00:00 0.0\n2000-01-01 00:00:30 9.0\n2000-01-01 00:01:00 NaN\n2000-01-01 00:01:30 9.0\n2000-01-01 00:02:00 2.0\n2000-01-01 00:02:30 9.0\n2000-01-01 00:03:00 3.0\n\nUpsample again, providing a ``method``.\n\n>>> df.asfreq(freq='30s', method='bfill')\n s\n2000-01-01 00:00:00 0.0\n2000-01-01 00:00:30 NaN\n2000-01-01 00:01:00 NaN\n2000-01-01 00:01:30 2.0\n2000-01-01 00:02:00 2.0\n2000-01-01 00:02:30 3.0\n2000-01-01 00:03:00 3.0\n"}, "kind": 2, "label": "asfreq", "sortText": " 12"}, {"detail": "bound method DataFrame.asof(where, subset=None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Return the last row(s) without any NaNs before `where`.\n\nThe last row (for each element in `where`, if list) without any\nNaN is taken.\nIn case of a :class:`~pandas.DataFrame`, the last row without NaN\nconsidering only the subset of columns (if not `None`)\n\nIf there is no good value, NaN is returned for a Series or\na Series of NaN values for a DataFrame\n\nParameters\n----------\nwhere : date or array-like of dates\n Date(s) before which the last row(s) are returned.\nsubset : str or array-like of str, default `None`\n For DataFrame, if not `None`, only use these columns to\n check for NaNs.\n\nReturns\n-------\nscalar, Series, or DataFrame\n\n The return can be:\n\n * scalar : when `self` is a Series and `where` is a scalar\n * Series: when `self` is a Series and `where` is an array-like,\n or when `self` is a DataFrame and `where` is a scalar\n * DataFrame : when `self` is a DataFrame and `where` is an\n array-like\n\nSee Also\n--------\nmerge_asof : Perform an asof merge. Similar to left join.\n\nNotes\n-----\nDates are assumed to be sorted. Raises if this is not the case.\n\nExamples\n--------\nA Series and a scalar `where`.\n\n>>> s = pd.Series([1, 2, np.nan, 4], index=[10, 20, 30, 40])\n>>> s\n10 1.0\n20 2.0\n30 NaN\n40 4.0\ndtype: float64\n\n>>> s.asof(20)\n2.0\n\nFor a sequence `where`, a Series is returned. The first value is\nNaN, because the first element of `where` is before the first\nindex value.\n\n>>> s.asof([5, 20])\n5 NaN\n20 2.0\ndtype: float64\n\nMissing values are not considered. The following is ``2.0``, not\nNaN, even though NaN is at the index location for ``30``.\n\n>>> s.asof(30)\n2.0\n\nTake all columns into consideration\n\n>>> df = pd.DataFrame({'a': [10., 20., 30., 40., 50.],\n... 'b': [None, None, None, None, 500]},\n... index=pd.DatetimeIndex(['2018-02-27 09:01:00',\n... '2018-02-27 09:02:00',\n... '2018-02-27 09:03:00',\n... '2018-02-27 09:04:00',\n... '2018-02-27 09:05:00']))\n>>> df.asof(pd.DatetimeIndex(['2018-02-27 09:03:30',\n... '2018-02-27 09:04:30']))\n a b\n2018-02-27 09:03:30 NaN NaN\n2018-02-27 09:04:30 NaN NaN\n\nTake a single column into consideration\n\n>>> df.asof(pd.DatetimeIndex(['2018-02-27 09:03:30',\n... '2018-02-27 09:04:30']),\n... subset=['a'])\n a b\n2018-02-27 09:03:30 30.0 NaN\n2018-02-27 09:04:30 40.0 NaN\n"}, "kind": 2, "label": "asof", "sortText": " 13"}, {"detail": "bound method DataFrame.assign(**kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Assign new columns to a DataFrame.\n\nReturns a new object with all original columns in addition to new ones.\nExisting columns that are re-assigned will be overwritten.\n\nParameters\n----------\n**kwargs : dict of {str: callable or Series}\n The column names are keywords. If the values are\n callable, they are computed on the DataFrame and\n assigned to the new columns. The callable must not\n change input DataFrame (though pandas doesn't check it).\n If the values are not callable, (e.g. a Series, scalar, or array),\n they are simply assigned.\n\nReturns\n-------\nDataFrame\n A new DataFrame with the new columns in addition to\n all the existing columns.\n\nNotes\n-----\nAssigning multiple columns within the same ``assign`` is possible.\nLater items in '\\*\\*kwargs' may refer to newly created or modified\ncolumns in 'df'; items are computed and assigned into 'df' in order.\n\nExamples\n--------\n>>> df = pd.DataFrame({'temp_c': [17.0, 25.0]},\n... index=['Portland', 'Berkeley'])\n>>> df\n temp_c\nPortland 17.0\nBerkeley 25.0\n\nWhere the value is a callable, evaluated on `df`:\n\n>>> df.assign(temp_f=lambda x: x.temp_c * 9 / 5 + 32)\n temp_c temp_f\nPortland 17.0 62.6\nBerkeley 25.0 77.0\n\nAlternatively, the same behavior can be achieved by directly\nreferencing an existing Series or sequence:\n\n>>> df.assign(temp_f=df['temp_c'] * 9 / 5 + 32)\n temp_c temp_f\nPortland 17.0 62.6\nBerkeley 25.0 77.0\n\nYou can create multiple columns within the same assign where one\nof the columns depends on another one defined within the same assign:\n\n>>> df.assign(temp_f=lambda x: x['temp_c'] * 9 / 5 + 32,\n... temp_k=lambda x: (x['temp_f'] + 459.67) * 5 / 9)\n temp_c temp_f temp_k\nPortland 17.0 62.6 290.15\nBerkeley 25.0 77.0 298.15\n"}, "kind": 2, "label": "assign", "sortText": " 14"}, {"detail": "bound method DataFrame.astype(dtype, copy: bool | None = None, errors: Literal[\"ignore\", \"raise\"] = \"raise\") -> DataFrame", "documentation": {"kind": "plaintext", "value": "Cast a pandas object to a specified dtype ``dtype``.\n\nParameters\n----------\ndtype : str, data type, Series or Mapping of column name -> data type\n Use a str, numpy.dtype, pandas.ExtensionDtype or Python type to\n cast entire pandas object to the same type. Alternatively, use a\n mapping, e.g. {col: dtype, ...}, where col is a column label and dtype is\n a numpy.dtype or Python type to cast one or more of the DataFrame's\n columns to column-specific types.\ncopy : bool, default True\n Return a copy when ``copy=True`` (be very careful setting\n ``copy=False`` as changes to values then may propagate to other\n pandas objects).\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\nerrors : {'raise', 'ignore'}, default 'raise'\n Control raising of exceptions on invalid data for provided dtype.\n\n - ``raise`` : allow exceptions to be raised\n - ``ignore`` : suppress exceptions. On error return original object.\n\nReturns\n-------\nsame type as caller\n\nSee Also\n--------\nto_datetime : Convert argument to datetime.\nto_timedelta : Convert argument to timedelta.\nto_numeric : Convert argument to a numeric type.\nnumpy.ndarray.astype : Cast a numpy array to a specified type.\n\nNotes\n-----\n.. versionchanged:: 2.0.0\n\n Using ``astype`` to convert from timezone-naive dtype to\n timezone-aware dtype will raise an exception.\n Use :meth:`Series.dt.tz_localize` instead.\n\nExamples\n--------\nCreate a DataFrame:\n\n>>> d = {'col1': [1, 2], 'col2': [3, 4]}\n>>> df = pd.DataFrame(data=d)\n>>> df.dtypes\ncol1 int64\ncol2 int64\ndtype: object\n\nCast all columns to int32:\n\n>>> df.astype('int32').dtypes\ncol1 int32\ncol2 int32\ndtype: object\n\nCast col1 to int32 using a dictionary:\n\n>>> df.astype({'col1': 'int32'}).dtypes\ncol1 int32\ncol2 int64\ndtype: object\n\nCreate a series:\n\n>>> ser = pd.Series([1, 2], dtype='int32')\n>>> ser\n0 1\n1 2\ndtype: int32\n>>> ser.astype('int64')\n0 1\n1 2\ndtype: int64\n\nConvert to categorical type:\n\n>>> ser.astype('category')\n0 1\n1 2\ndtype: category\nCategories (2, int32): [1, 2]\n\nConvert to ordered categorical type with custom ordering:\n\n>>> from pandas.api.types import CategoricalDtype\n>>> cat_dtype = CategoricalDtype(\n... categories=[2, 1], ordered=True)\n>>> ser.astype(cat_dtype)\n0 1\n1 2\ndtype: category\nCategories (2, int64): [2 < 1]\n\nCreate a series of dates:\n\n>>> ser_date = pd.Series(pd.date_range('20200101', periods=3))\n>>> ser_date\n0 2020-01-01\n1 2020-01-02\n2 2020-01-03\ndtype: datetime64[ns]\n"}, "kind": 2, "label": "astype", "sortText": " 15"}, {"detail": "_AtIndexer", "kind": 22, "label": "at", "sortText": " 16"}, {"detail": "bound method DataFrame.at_time(time, asof: bool = False, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Select values at particular time of day (e.g., 9:30AM).\n\nParameters\n----------\ntime : datetime.time or str\n The values to select.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n For `Series` this parameter is unused and defaults to 0.\n\nReturns\n-------\nSeries or DataFrame\n\nRaises\n------\nTypeError\n If the index is not a :class:`DatetimeIndex`\n\nSee Also\n--------\nbetween_time : Select values between particular times of the day.\nfirst : Select initial periods of time series based on a date offset.\nlast : Select final periods of time series based on a date offset.\nDatetimeIndex.indexer_at_time : Get just the index locations for\n values at particular time of the day.\n\nExamples\n--------\n>>> i = pd.date_range('2018-04-09', periods=4, freq='12h')\n>>> ts = pd.DataFrame({'A': [1, 2, 3, 4]}, index=i)\n>>> ts\n A\n2018-04-09 00:00:00 1\n2018-04-09 12:00:00 2\n2018-04-10 00:00:00 3\n2018-04-10 12:00:00 4\n\n>>> ts.at_time('12:00')\n A\n2018-04-09 12:00:00 2\n2018-04-10 12:00:00 4\n"}, "kind": 2, "label": "at_time", "sortText": " 17"}, {"detail": "dict[Hashable, Any]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "attrs", "sortText": " 18"}, {"detail": "list[Index]", "documentation": {"kind": "plaintext", "value": "Built-in mutable sequence.\n\nIf no argument is given, the constructor creates a new empty list.\nThe argument must be an iterable if specified.\n"}, "kind": 22, "label": "axes", "sortText": " 19"}, {"detail": "bound method DataFrame.backfill(*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = None, inplace: bool = False, limit: None | int = None, downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame | None", "documentation": {"kind": "plaintext", "value": "Fill NA/NaN values by using the next valid observation to fill the gap.\n\n.. deprecated:: 2.0\n\n {klass}.backfill is deprecated. Use {klass}.bfill instead.\n\nReturns\n-------\n{klass} or None\n Object with missing values filled or None if ``inplace=True``.\n\nExamples\n--------\nPlease see examples for :meth:`DataFrame.bfill` or :meth:`Series.bfill`.\n"}, "kind": 2, "label": "backfill", "sortText": " 20"}, {"detail": "bound method DataFrame.between_time(start_time, end_time, inclusive: Literal[\"left\", \"right\", \"both\", \"neither\"] = \"both\", axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Select values between particular times of the day (e.g., 9:00-9:30 AM).\n\nBy setting ``start_time`` to be later than ``end_time``,\nyou can get the times that are *not* between the two times.\n\nParameters\n----------\nstart_time : datetime.time or str\n Initial time as a time filter limit.\nend_time : datetime.time or str\n End time as a time filter limit.\ninclusive : {\"both\", \"neither\", \"left\", \"right\"}, default \"both\"\n Include boundaries; whether to set each bound as closed or open.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Determine range time on index or columns value.\n For `Series` this parameter is unused and defaults to 0.\n\nReturns\n-------\nSeries or DataFrame\n Data from the original object filtered to the specified dates range.\n\nRaises\n------\nTypeError\n If the index is not a :class:`DatetimeIndex`\n\nSee Also\n--------\nat_time : Select values at a particular time of the day.\nfirst : Select initial periods of time series based on a date offset.\nlast : Select final periods of time series based on a date offset.\nDatetimeIndex.indexer_between_time : Get just the index locations for\n values between particular times of the day.\n\nExamples\n--------\n>>> i = pd.date_range('2018-04-09', periods=4, freq='1D20min')\n>>> ts = pd.DataFrame({'A': [1, 2, 3, 4]}, index=i)\n>>> ts\n A\n2018-04-09 00:00:00 1\n2018-04-10 00:20:00 2\n2018-04-11 00:40:00 3\n2018-04-12 01:00:00 4\n\n>>> ts.between_time('0:15', '0:45')\n A\n2018-04-10 00:20:00 2\n2018-04-11 00:40:00 3\n\nYou get the times that are *not* between two times by setting\n``start_time`` later than ``end_time``:\n\n>>> ts.between_time('0:45', '0:15')\n A\n2018-04-09 00:00:00 1\n2018-04-12 01:00:00 4\n"}, "kind": 2, "label": "between_time", "sortText": " 21"}, {"detail": "Overload[(*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: Literal[False] = ..., limit: None | int = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame, (*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: Literal[True], limit: None | int = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> None, (*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: bool = ..., limit: None | int = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Fill NA/NaN values by using the next valid observation to fill the gap.\n\nParameters\n----------\naxis : {axes_single_arg}\n Axis along which to fill missing values. For `Series`\n this parameter is unused and defaults to 0.\ninplace : bool, default False\n If True, fill in-place. Note: this will modify any\n other views on this object (e.g., a no-copy slice for a column in a\n DataFrame).\nlimit : int, default None\n If method is specified, this is the maximum number of consecutive\n NaN values to forward/backward fill. In other words, if there is\n a gap with more than this number of consecutive NaNs, it will only\n be partially filled. If method is not specified, this is the\n maximum number of entries along the entire axis where NaNs will be\n filled. Must be greater than 0 if not None.\nlimit_area : {{`None`, 'inside', 'outside'}}, default None\n If limit is specified, consecutive NaNs will be filled with this\n restriction.\n\n * ``None``: No fill restriction.\n * 'inside': Only fill NaNs surrounded by valid values\n (interpolate).\n * 'outside': Only fill NaNs outside valid values (extrapolate).\n\n .. versionadded:: 2.2.0\n\ndowncast : dict, default is None\n A dict of item->dtype of what to downcast if possible,\n or the string 'infer' which will try to downcast to an appropriate\n equal type (e.g. float64 to int64 if possible).\n\n .. deprecated:: 2.2.0\n\nReturns\n-------\n{klass} or None\n Object with missing values filled or None if ``inplace=True``.\n\nExamples\n--------\nFor Series:\n\n>>> s = pd.Series([1, None, None, 2])\n>>> s.bfill()\n0 1.0\n1 2.0\n2 2.0\n3 2.0\ndtype: float64\n>>> s.bfill(limit=1)\n0 1.0\n1 NaN\n2 2.0\n3 2.0\ndtype: float64\n\nWith DataFrame:\n\n>>> df = pd.DataFrame({{'A': [1, None, None, 4], 'B': [None, 5, None, 7]}})\n>>> df\n A B\n0 1.0 NaN\n1 NaN 5.0\n2 NaN NaN\n3 4.0 7.0\n>>> df.bfill()\n A B\n0 1.0 5.0\n1 4.0 5.0\n2 4.0 7.0\n3 4.0 7.0\n>>> df.bfill(limit=1)\n A B\n0 1.0 5.0\n1 NaN 5.0\n2 4.0 7.0\n3 4.0 7.0\n"}, "kind": 2, "label": "bfill", "sortText": " 22"}, {"detail": "bound method DataFrame.bool() -> bool", "documentation": {"kind": "plaintext", "value": "Return the bool of a single element Series or DataFrame.\n\n.. deprecated:: 2.1.0\n\n bool is deprecated and will be removed in future version of pandas.\n For ``Series`` use ``pandas.Series.item``.\n\nThis must be a boolean scalar value, either True or False. It will raise a\nValueError if the Series or DataFrame does not have exactly 1 element, or that\nelement is not boolean (integer values 0 and 1 will also raise an exception).\n\nReturns\n-------\nbool\n The value in the Series or DataFrame.\n\nSee Also\n--------\nSeries.astype : Change the data type of a Series, including to boolean.\nDataFrame.astype : Change the data type of a DataFrame, including to boolean.\nnumpy.bool_ : NumPy boolean data type, used by pandas for boolean values.\n\nExamples\n--------\nThe method will only work for single element objects with a boolean value:\n\n>>> pd.Series([True]).bool() # doctest: +SKIP\nTrue\n>>> pd.Series([False]).bool() # doctest: +SKIP\nFalse\n\n>>> pd.DataFrame({'col': [True]}).bool() # doctest: +SKIP\nTrue\n>>> pd.DataFrame({'col': [False]}).bool() # doctest: +SKIP\nFalse\n\nThis is an alternative method and will only work\nfor single element objects with a boolean value:\n\n>>> pd.Series([True]).item() # doctest: +SKIP\nTrue\n>>> pd.Series([False]).item() # doctest: +SKIP\nFalse\n"}, "kind": 2, "label": "bool", "sortText": " 23"}, {"detail": "(column=None, by=None, ax=None, fontsize: int | None = None, rot: int = 0, grid: bool = True, figsize: tuple[float, float] | None = None, layout=None, return_type=None, backend=None, **kwargs) -> Unknown", "kind": 3, "label": "boxplot", "sortText": " 24"}, {"detail": "Overload[(lower=..., upper=..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: Literal[False] = ..., **kwargs) -> DataFrame, (lower=..., upper=..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: Literal[True], **kwargs) -> None, (lower=..., upper=..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: bool = ..., **kwargs) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Trim values at input threshold(s).\n\nAssigns values outside boundary to boundary values. Thresholds\ncan be singular values or array like, and in the latter case\nthe clipping is performed element-wise in the specified axis.\n\nParameters\n----------\nlower : float or array-like, default None\n Minimum threshold value. All values below this\n threshold will be set to it. A missing\n threshold (e.g `NA`) will not clip the value.\nupper : float or array-like, default None\n Maximum threshold value. All values above this\n threshold will be set to it. A missing\n threshold (e.g `NA`) will not clip the value.\naxis : {{0 or 'index', 1 or 'columns', None}}, default None\n Align object with lower and upper along the given axis.\n For `Series` this parameter is unused and defaults to `None`.\ninplace : bool, default False\n Whether to perform the operation in place on the data.\n*args, **kwargs\n Additional keywords have no effect but might be accepted\n for compatibility with numpy.\n\nReturns\n-------\nSeries or DataFrame or None\n Same type as calling object with the values outside the\n clip boundaries replaced or None if ``inplace=True``.\n\nSee Also\n--------\nSeries.clip : Trim values at input threshold in series.\nDataFrame.clip : Trim values at input threshold in dataframe.\nnumpy.clip : Clip (limit) the values in an array.\n\nExamples\n--------\n>>> data = {'col_0': [9, -3, 0, -1, 5], 'col_1': [-2, -7, 6, 8, -5]}\n>>> df = pd.DataFrame(data)\n>>> df\n col_0 col_1\n0 9 -2\n1 -3 -7\n2 0 6\n3 -1 8\n4 5 -5\n\nClips per column using lower and upper thresholds:\n\n>>> df.clip(-4, 6)\n col_0 col_1\n0 6 -2\n1 -3 -4\n2 0 6\n3 -1 6\n4 5 -4\n\nClips using specific lower and upper thresholds per column:\n\n>>> df.clip([-2, -1], [4, 5])\n col_0 col_1\n0 4 -1\n1 -2 -1\n2 0 5\n3 -1 5\n4 4 -1\n\nClips using specific lower and upper thresholds per column element:\n\n>>> t = pd.Series([2, -4, -1, 6, 3])\n>>> t\n0 2\n1 -4\n2 -1\n3 6\n4 3\ndtype: int64\n\n>>> df.clip(t, t + 4, axis=0)\n col_0 col_1\n0 6 2\n1 -3 -4\n2 0 3\n3 6 8\n4 5 3\n\nClips using specific lower threshold per column element, with missing values:\n\n>>> t = pd.Series([2, -4, np.nan, 6, 3])\n>>> t\n0 2.0\n1 -4.0\n2 NaN\n3 6.0\n4 3.0\ndtype: float64\n\n>>> df.clip(t, axis=0)\ncol_0 col_1\n0 9 2\n1 -3 -4\n2 0 6\n3 6 8\n4 5 3\n"}, "kind": 2, "label": "clip", "sortText": " 25"}, {"detail": "Index", "documentation": {"kind": "plaintext", "value": "Immutable sequence used for indexing and alignment.\n\nThe basic object storing axis labels for all pandas objects.\n\n.. versionchanged:: 2.0.0\n\n Index can hold all numpy numeric dtypes (except float16). Previously only\n int64/uint64/float64 dtypes were accepted.\n\nParameters\n----------\ndata : array-like (1-dimensional)\ndtype : str, numpy.dtype, or ExtensionDtype, optional\n Data type for the output Index. If not specified, this will be\n inferred from `data`.\n See the :ref:`user guide ` for more usages.\ncopy : bool, default False\n Copy input data.\nname : object\n Name to be stored in the index.\ntupleize_cols : bool (default: True)\n When True, attempt to create a MultiIndex if possible.\n\nSee Also\n--------\nRangeIndex : Index implementing a monotonic integer range.\nCategoricalIndex : Index of :class:`Categorical` s.\nMultiIndex : A multi-level, or hierarchical Index.\nIntervalIndex : An Index of :class:`Interval` s.\nDatetimeIndex : Index of datetime64 data.\nTimedeltaIndex : Index of timedelta64 data.\nPeriodIndex : Index of Period data.\n\nNotes\n-----\nAn Index instance can **only** contain hashable objects.\nAn Index instance *can not* hold numpy float16 dtype.\n\nExamples\n--------\n>>> pd.Index([1, 2, 3])\nIndex([1, 2, 3], dtype='int64')\n\n>>> pd.Index(list('abc'))\nIndex(['a', 'b', 'c'], dtype='object')\n\n>>> pd.Index([1, 2, 3], dtype=\"uint8\")\nIndex([1, 2, 3], dtype='uint8')\n"}, "kind": 22, "label": "columns", "sortText": " 26"}, {"detail": "bound method DataFrame.combine(other: DataFrame, func: (Series, Series, /) -> Series | Hashable, fill_value=None, overwrite: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Perform column-wise combine with another DataFrame.\n\nCombines a DataFrame with `other` DataFrame using `func`\nto element-wise combine columns. The row and column indexes of the\nresulting DataFrame will be the union of the two.\n\nParameters\n----------\nother : DataFrame\n The DataFrame to merge column-wise.\nfunc : function\n Function that takes two series as inputs and return a Series or a\n scalar. Used to merge the two dataframes column by columns.\nfill_value : scalar value, default None\n The value to fill NaNs with prior to passing any column to the\n merge func.\noverwrite : bool, default True\n If True, columns in `self` that do not exist in `other` will be\n overwritten with NaNs.\n\nReturns\n-------\nDataFrame\n Combination of the provided DataFrames.\n\nSee Also\n--------\nDataFrame.combine_first : Combine two DataFrame objects and default to\n non-null values in frame calling the method.\n\nExamples\n--------\nCombine using a simple function that chooses the smaller column.\n\n>>> df1 = pd.DataFrame({'A': [0, 0], 'B': [4, 4]})\n>>> df2 = pd.DataFrame({'A': [1, 1], 'B': [3, 3]})\n>>> take_smaller = lambda s1, s2: s1 if s1.sum() < s2.sum() else s2\n>>> df1.combine(df2, take_smaller)\n A B\n0 0 3\n1 0 3\n\nExample using a true element-wise combine function.\n\n>>> df1 = pd.DataFrame({'A': [5, 0], 'B': [2, 4]})\n>>> df2 = pd.DataFrame({'A': [1, 1], 'B': [3, 3]})\n>>> df1.combine(df2, np.minimum)\n A B\n0 1 2\n1 0 3\n\nUsing `fill_value` fills Nones prior to passing the column to the\nmerge function.\n\n>>> df1 = pd.DataFrame({'A': [0, 0], 'B': [None, 4]})\n>>> df2 = pd.DataFrame({'A': [1, 1], 'B': [3, 3]})\n>>> df1.combine(df2, take_smaller, fill_value=-5)\n A B\n0 0 -5.0\n1 0 4.0\n\nHowever, if the same element in both dataframes is None, that None\nis preserved\n\n>>> df1 = pd.DataFrame({'A': [0, 0], 'B': [None, 4]})\n>>> df2 = pd.DataFrame({'A': [1, 1], 'B': [None, 3]})\n>>> df1.combine(df2, take_smaller, fill_value=-5)\n A B\n0 0 -5.0\n1 0 3.0\n\nExample that demonstrates the use of `overwrite` and behavior when\nthe axis differ between the dataframes.\n\n>>> df1 = pd.DataFrame({'A': [0, 0], 'B': [4, 4]})\n>>> df2 = pd.DataFrame({'B': [3, 3], 'C': [-10, 1], }, index=[1, 2])\n>>> df1.combine(df2, take_smaller)\n A B C\n0 NaN NaN NaN\n1 NaN 3.0 -10.0\n2 NaN 3.0 1.0\n\n>>> df1.combine(df2, take_smaller, overwrite=False)\n A B C\n0 0.0 NaN NaN\n1 0.0 3.0 -10.0\n2 NaN 3.0 1.0\n\nDemonstrating the preference of the passed in dataframe.\n\n>>> df2 = pd.DataFrame({'B': [3, 3], 'C': [1, 1], }, index=[1, 2])\n>>> df2.combine(df1, take_smaller)\n A B C\n0 0.0 NaN NaN\n1 0.0 3.0 NaN\n2 NaN 3.0 NaN\n\n>>> df2.combine(df1, take_smaller, overwrite=False)\n A B C\n0 0.0 NaN NaN\n1 0.0 3.0 1.0\n2 NaN 3.0 1.0\n"}, "kind": 2, "label": "combine", "sortText": " 27"}, {"detail": "bound method DataFrame.combine_first(other: DataFrame) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Update null elements with value in the same location in `other`.\n\nCombine two DataFrame objects by filling null values in one DataFrame\nwith non-null values from other DataFrame. The row and column indexes\nof the resulting DataFrame will be the union of the two. The resulting\ndataframe contains the 'first' dataframe values and overrides the\nsecond one values where both first.loc[index, col] and\nsecond.loc[index, col] are not missing values, upon calling\nfirst.combine_first(second).\n\nParameters\n----------\nother : DataFrame\n Provided DataFrame to use to fill null values.\n\nReturns\n-------\nDataFrame\n The result of combining the provided DataFrame with the other object.\n\nSee Also\n--------\nDataFrame.combine : Perform series-wise operation on two DataFrames\n using a given function.\n\nExamples\n--------\n>>> df1 = pd.DataFrame({'A': [None, 0], 'B': [None, 4]})\n>>> df2 = pd.DataFrame({'A': [1, 1], 'B': [3, 3]})\n>>> df1.combine_first(df2)\n A B\n0 1.0 3.0\n1 0.0 4.0\n\nNull values still persist if the location of that null value\ndoes not exist in `other`\n\n>>> df1 = pd.DataFrame({'A': [None, 0], 'B': [4, None]})\n>>> df2 = pd.DataFrame({'B': [3, 3], 'C': [1, 1]}, index=[1, 2])\n>>> df1.combine_first(df2)\n A B C\n0 NaN 4.0 NaN\n1 0.0 3.0 1.0\n2 NaN 3.0 1.0\n"}, "kind": 2, "label": "combine_first", "sortText": " 28"}, {"detail": "bound method DataFrame.compare(other: DataFrame, align_axis: int | Literal[\"index\", \"columns\", \"rows\"] = 1, keep_shape: bool = False, keep_equal: bool = False, result_names: tuple[str | None, str | None] = ...) -> DataFrame", "kind": 2, "label": "compare", "sortText": " 29"}, {"detail": "bound method DataFrame.convert_dtypes(infer_objects: bool = True, convert_string: bool = True, convert_integer: bool = True, convert_boolean: bool = True, convert_floating: bool = True, dtype_backend: Literal[\"pyarrow\", \"numpy_nullable\"] = \"numpy_nullable\") -> DataFrame", "documentation": {"kind": "plaintext", "value": "Convert columns to the best possible dtypes using dtypes supporting ``pd.NA``.\n\nParameters\n----------\ninfer_objects : bool, default True\n Whether object dtypes should be converted to the best possible types.\nconvert_string : bool, default True\n Whether object dtypes should be converted to ``StringDtype()``.\nconvert_integer : bool, default True\n Whether, if possible, conversion can be done to integer extension types.\nconvert_boolean : bool, defaults True\n Whether object dtypes should be converted to ``BooleanDtypes()``.\nconvert_floating : bool, defaults True\n Whether, if possible, conversion can be done to floating extension types.\n If `convert_integer` is also True, preference will be give to integer\n dtypes if the floats can be faithfully casted to integers.\ndtype_backend : {'numpy_nullable', 'pyarrow'}, default 'numpy_nullable'\n Back-end data type applied to the resultant :class:`DataFrame`\n (still experimental). Behaviour is as follows:\n\n * ``\"numpy_nullable\"``: returns nullable-dtype-backed :class:`DataFrame`\n (default).\n * ``\"pyarrow\"``: returns pyarrow-backed nullable :class:`ArrowDtype`\n DataFrame.\n\n .. versionadded:: 2.0\n\nReturns\n-------\nSeries or DataFrame\n Copy of input object with new dtype.\n\nSee Also\n--------\ninfer_objects : Infer dtypes of objects.\nto_datetime : Convert argument to datetime.\nto_timedelta : Convert argument to timedelta.\nto_numeric : Convert argument to a numeric type.\n\nNotes\n-----\nBy default, ``convert_dtypes`` will attempt to convert a Series (or each\nSeries in a DataFrame) to dtypes that support ``pd.NA``. By using the options\n``convert_string``, ``convert_integer``, ``convert_boolean`` and\n``convert_floating``, it is possible to turn off individual conversions\nto ``StringDtype``, the integer extension types, ``BooleanDtype``\nor floating extension types, respectively.\n\nFor object-dtyped columns, if ``infer_objects`` is ``True``, use the inference\nrules as during normal Series/DataFrame construction. Then, if possible,\nconvert to ``StringDtype``, ``BooleanDtype`` or an appropriate integer\nor floating extension type, otherwise leave as ``object``.\n\nIf the dtype is integer, convert to an appropriate integer extension type.\n\nIf the dtype is numeric, and consists of all integers, convert to an\nappropriate integer extension type. Otherwise, convert to an\nappropriate floating extension type.\n\nIn the future, as new dtypes are added that support ``pd.NA``, the results\nof this method will change to support those new dtypes.\n\nExamples\n--------\n>>> df = pd.DataFrame(\n... {\n... \"a\": pd.Series([1, 2, 3], dtype=np.dtype(\"int32\")),\n... \"b\": pd.Series([\"x\", \"y\", \"z\"], dtype=np.dtype(\"O\")),\n... \"c\": pd.Series([True, False, np.nan], dtype=np.dtype(\"O\")),\n... \"d\": pd.Series([\"h\", \"i\", np.nan], dtype=np.dtype(\"O\")),\n... \"e\": pd.Series([10, np.nan, 20], dtype=np.dtype(\"float\")),\n... \"f\": pd.Series([np.nan, 100.5, 200], dtype=np.dtype(\"float\")),\n... }\n... )\n\nStart with a DataFrame with default dtypes.\n\n>>> df\n a b c d e f\n0 1 x True h 10.0 NaN\n1 2 y False i NaN 100.5\n2 3 z NaN NaN 20.0 200.0\n\n>>> df.dtypes\na int32\nb object\nc object\nd object\ne float64\nf float64\ndtype: object\n\nConvert the DataFrame to use best possible dtypes.\n\n>>> dfn = df.convert_dtypes()\n>>> dfn\n a b c d e f\n0 1 x True h 10 \n1 2 y False i 100.5\n2 3 z 20 200.0\n\n>>> dfn.dtypes\na Int32\nb string[python]\nc boolean\nd string[python]\ne Int64\nf Float64\ndtype: object\n\nStart with a Series of strings and missing data represented by ``np.nan``.\n\n>>> s = pd.Series([\"a\", \"b\", np.nan])\n>>> s\n0 a\n1 b\n2 NaN\ndtype: object\n\nObtain a Series with dtype ``StringDtype``.\n\n>>> s.convert_dtypes()\n0 a\n1 b\n2 \ndtype: string\n"}, "kind": 2, "label": "convert_dtypes", "sortText": " 30"}, {"detail": "bound method DataFrame.copy(deep: bool | None = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Make a copy of this object's indices and data.\n\nWhen ``deep=True`` (default), a new object will be created with a\ncopy of the calling object's data and indices. Modifications to\nthe data or indices of the copy will not be reflected in the\noriginal object (see notes below).\n\nWhen ``deep=False``, a new object will be created without copying\nthe calling object's data or index (only references to the data\nand index are copied). Any changes to the data of the original\nwill be reflected in the shallow copy (and vice versa).\n\n.. note::\n The ``deep=False`` behaviour as described above will change\n in pandas 3.0. `Copy-on-Write\n `__\n will be enabled by default, which means that the \"shallow\" copy\n is that is returned with ``deep=False`` will still avoid making\n an eager copy, but changes to the data of the original will *no*\n longer be reflected in the shallow copy (or vice versa). Instead,\n it makes use of a lazy (deferred) copy mechanism that will copy\n the data only when any changes to the original or shallow copy is\n made.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nParameters\n----------\ndeep : bool, default True\n Make a deep copy, including a copy of the data and the indices.\n With ``deep=False`` neither the indices nor the data are copied.\n\nReturns\n-------\nSeries or DataFrame\n Object type matches caller.\n\nNotes\n-----\nWhen ``deep=True``, data is copied but actual Python objects\nwill not be copied recursively, only the reference to the object.\nThis is in contrast to `copy.deepcopy` in the Standard Library,\nwhich recursively copies object data (see examples below).\n\nWhile ``Index`` objects are copied when ``deep=True``, the underlying\nnumpy array is not copied for performance reasons. Since ``Index`` is\nimmutable, the underlying data can be safely shared and a copy\nis not needed.\n\nSince pandas is not thread safe, see the\n:ref:`gotchas ` when copying in a threading\nenvironment.\n\nWhen ``copy_on_write`` in pandas config is set to ``True``, the\n``copy_on_write`` config takes effect even when ``deep=False``.\nThis means that any changes to the copied data would make a new copy\nof the data upon write (and vice versa). Changes made to either the\noriginal or copied variable would not be reflected in the counterpart.\nSee :ref:`Copy_on_Write ` for more information.\n\nExamples\n--------\n>>> s = pd.Series([1, 2], index=[\"a\", \"b\"])\n>>> s\na 1\nb 2\ndtype: int64\n\n>>> s_copy = s.copy()\n>>> s_copy\na 1\nb 2\ndtype: int64\n\n**Shallow copy versus default (deep) copy:**\n\n>>> s = pd.Series([1, 2], index=[\"a\", \"b\"])\n>>> deep = s.copy()\n>>> shallow = s.copy(deep=False)\n\nShallow copy shares data and index with original.\n\n>>> s is shallow\nFalse\n>>> s.values is shallow.values and s.index is shallow.index\nTrue\n\nDeep copy has own copy of data and index.\n\n>>> s is deep\nFalse\n>>> s.values is deep.values or s.index is deep.index\nFalse\n\nUpdates to the data shared by shallow copy and original is reflected\nin both (NOTE: this will no longer be true for pandas >= 3.0);\ndeep copy remains unchanged.\n\n>>> s.iloc[0] = 3\n>>> shallow.iloc[1] = 4\n>>> s\na 3\nb 4\ndtype: int64\n>>> shallow\na 3\nb 4\ndtype: int64\n>>> deep\na 1\nb 2\ndtype: int64\n\nNote that when copying an object containing Python objects, a deep copy\nwill copy the data, but will not do so recursively. Updating a nested\ndata object will be reflected in the deep copy.\n\n>>> s = pd.Series([[1, 2], [3, 4]])\n>>> deep = s.copy()\n>>> s[0][0] = 10\n>>> s\n0 [10, 2]\n1 [3, 4]\ndtype: object\n>>> deep\n0 [10, 2]\n1 [3, 4]\ndtype: object\n\n**Copy-on-Write is set to true**, the shallow copy is not modified\nwhen the original data is changed:\n\n>>> with pd.option_context(\"mode.copy_on_write\", True):\n... s = pd.Series([1, 2], index=[\"a\", \"b\"])\n... copy = s.copy(deep=False)\n... s.iloc[0] = 100\n... s\na 100\nb 2\ndtype: int64\n>>> copy\na 1\nb 2\ndtype: int64\n"}, "kind": 2, "label": "copy", "sortText": " 31"}, {"detail": "bound method DataFrame.corr(method: Literal[\"pearson\", \"kendall\", \"spearman\"] | ((ndarray[_AnyShape, dtype[Any]], ndarray[_AnyShape, dtype[Any]], /) -> float) = \"pearson\", min_periods: int = 1, numeric_only: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Compute pairwise correlation of columns, excluding NA/null values.\n\nParameters\n----------\nmethod : {'pearson', 'kendall', 'spearman'} or callable\n Method of correlation:\n\n * pearson : standard correlation coefficient\n * kendall : Kendall Tau correlation coefficient\n * spearman : Spearman rank correlation\n * callable: callable with input two 1d ndarrays\n and returning a float. Note that the returned matrix from corr\n will have 1 along the diagonals and will be symmetric\n regardless of the callable's behavior.\nmin_periods : int, optional\n Minimum number of observations required per pair of columns\n to have a valid result. Currently only available for Pearson\n and Spearman correlation.\nnumeric_only : bool, default False\n Include only `float`, `int` or `boolean` data.\n\n .. versionadded:: 1.5.0\n\n .. versionchanged:: 2.0.0\n The default value of ``numeric_only`` is now ``False``.\n\nReturns\n-------\nDataFrame\n Correlation matrix.\n\nSee Also\n--------\nDataFrame.corrwith : Compute pairwise correlation with another\n DataFrame or Series.\nSeries.corr : Compute the correlation between two Series.\n\nNotes\n-----\nPearson, Kendall and Spearman correlation are currently computed using pairwise complete observations.\n\n* `Pearson correlation coefficient `_\n* `Kendall rank correlation coefficient `_\n* `Spearman's rank correlation coefficient `_\n\nExamples\n--------\n>>> def histogram_intersection(a, b):\n... v = np.minimum(a, b).sum().round(decimals=1)\n... return v\n>>> df = pd.DataFrame([(.2, .3), (.0, .6), (.6, .0), (.2, .1)],\n... columns=['dogs', 'cats'])\n>>> df.corr(method=histogram_intersection)\n dogs cats\ndogs 1.0 0.3\ncats 0.3 1.0\n\n>>> df = pd.DataFrame([(1, 1), (2, np.nan), (np.nan, 3), (4, 4)],\n... columns=['dogs', 'cats'])\n>>> df.corr(min_periods=3)\n dogs cats\ndogs 1.0 NaN\ncats NaN 1.0\n"}, "kind": 2, "label": "corr", "sortText": " 32"}, {"detail": "bound method DataFrame.corrwith(other: DataFrame | Series, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, drop: bool = False, method: Literal[\"pearson\", \"kendall\", \"spearman\"] | ((ndarray[_AnyShape, dtype[Any]], ndarray[_AnyShape, dtype[Any]], /) -> float) = \"pearson\", numeric_only: bool = False) -> Series", "documentation": {"kind": "plaintext", "value": "Compute pairwise correlation.\n\nPairwise correlation is computed between rows or columns of\nDataFrame with rows or columns of Series or DataFrame. DataFrames\nare first aligned along both axes before computing the\ncorrelations.\n\nParameters\n----------\nother : DataFrame, Series\n Object with which to compute correlations.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to use. 0 or 'index' to compute row-wise, 1 or 'columns' for\n column-wise.\ndrop : bool, default False\n Drop missing indices from result.\nmethod : {'pearson', 'kendall', 'spearman'} or callable\n Method of correlation:\n\n * pearson : standard correlation coefficient\n * kendall : Kendall Tau correlation coefficient\n * spearman : Spearman rank correlation\n * callable: callable with input two 1d ndarrays\n and returning a float.\n\nnumeric_only : bool, default False\n Include only `float`, `int` or `boolean` data.\n\n .. versionadded:: 1.5.0\n\n .. versionchanged:: 2.0.0\n The default value of ``numeric_only`` is now ``False``.\n\nReturns\n-------\nSeries\n Pairwise correlations.\n\nSee Also\n--------\nDataFrame.corr : Compute pairwise correlation of columns.\n\nExamples\n--------\n>>> index = [\"a\", \"b\", \"c\", \"d\", \"e\"]\n>>> columns = [\"one\", \"two\", \"three\", \"four\"]\n>>> df1 = pd.DataFrame(np.arange(20).reshape(5, 4), index=index, columns=columns)\n>>> df2 = pd.DataFrame(np.arange(16).reshape(4, 4), index=index[:4], columns=columns)\n>>> df1.corrwith(df2)\none 1.0\ntwo 1.0\nthree 1.0\nfour 1.0\ndtype: float64\n\n>>> df2.corrwith(df1, axis=1)\na 1.0\nb 1.0\nc 1.0\nd 1.0\ne NaN\ndtype: float64\n"}, "kind": 2, "label": "corrwith", "sortText": " 33"}, {"detail": "bound method DataFrame.count(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, numeric_only: bool = False) -> Unknown", "documentation": {"kind": "plaintext", "value": "Count non-NA cells for each column or row.\n\nThe values `None`, `NaN`, `NaT`, ``pandas.NA`` are considered NA.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n If 0 or 'index' counts are generated for each column.\n If 1 or 'columns' counts are generated for each row.\nnumeric_only : bool, default False\n Include only `float`, `int` or `boolean` data.\n\nReturns\n-------\nSeries\n For each column/row the number of non-NA/null entries.\n\nSee Also\n--------\nSeries.count: Number of non-NA elements in a Series.\nDataFrame.value_counts: Count unique combinations of columns.\nDataFrame.shape: Number of DataFrame rows and columns (including NA\n elements).\nDataFrame.isna: Boolean same-sized DataFrame showing places of NA\n elements.\n\nExamples\n--------\nConstructing DataFrame from a dictionary:\n\n>>> df = pd.DataFrame({\"Person\":\n... [\"John\", \"Myla\", \"Lewis\", \"John\", \"Myla\"],\n... \"Age\": [24., np.nan, 21., 33, 26],\n... \"Single\": [False, True, True, True, False]})\n>>> df\n Person Age Single\n0 John 24.0 False\n1 Myla NaN True\n2 Lewis 21.0 True\n3 John 33.0 True\n4 Myla 26.0 False\n\nNotice the uncounted NA values:\n\n>>> df.count()\nPerson 5\nAge 4\nSingle 5\ndtype: int64\n\nCounts for each **row**:\n\n>>> df.count(axis='columns')\n0 3\n1 2\n2 3\n3 3\n4 3\ndtype: int64\n"}, "kind": 2, "label": "count", "sortText": " 34"}, {"detail": "bound method DataFrame.cov(min_periods: int | None = None, ddof: int | None = 1, numeric_only: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Compute pairwise covariance of columns, excluding NA/null values.\n\nCompute the pairwise covariance among the series of a DataFrame.\nThe returned data frame is the `covariance matrix\n`__ of the columns\nof the DataFrame.\n\nBoth NA and null values are automatically excluded from the\ncalculation. (See the note below about bias from missing values.)\nA threshold can be set for the minimum number of\nobservations for each value created. Comparisons with observations\nbelow this threshold will be returned as ``NaN``.\n\nThis method is generally used for the analysis of time series data to\nunderstand the relationship between different measures\nacross time.\n\nParameters\n----------\nmin_periods : int, optional\n Minimum number of observations required per pair of columns\n to have a valid result.\n\nddof : int, default 1\n Delta degrees of freedom. The divisor used in calculations\n is ``N - ddof``, where ``N`` represents the number of elements.\n This argument is applicable only when no ``nan`` is in the dataframe.\n\nnumeric_only : bool, default False\n Include only `float`, `int` or `boolean` data.\n\n .. versionadded:: 1.5.0\n\n .. versionchanged:: 2.0.0\n The default value of ``numeric_only`` is now ``False``.\n\nReturns\n-------\nDataFrame\n The covariance matrix of the series of the DataFrame.\n\nSee Also\n--------\nSeries.cov : Compute covariance with another Series.\ncore.window.ewm.ExponentialMovingWindow.cov : Exponential weighted sample\n covariance.\ncore.window.expanding.Expanding.cov : Expanding sample covariance.\ncore.window.rolling.Rolling.cov : Rolling sample covariance.\n\nNotes\n-----\nReturns the covariance matrix of the DataFrame's time series.\nThe covariance is normalized by N-ddof.\n\nFor DataFrames that have Series that are missing data (assuming that\ndata is `missing at random\n`__)\nthe returned covariance matrix will be an unbiased estimate\nof the variance and covariance between the member Series.\n\nHowever, for many applications this estimate may not be acceptable\nbecause the estimate covariance matrix is not guaranteed to be positive\nsemi-definite. This could lead to estimate correlations having\nabsolute values which are greater than one, and/or a non-invertible\ncovariance matrix. See `Estimation of covariance matrices\n`__ for more details.\n\nExamples\n--------\n>>> df = pd.DataFrame([(1, 2), (0, 3), (2, 0), (1, 1)],\n... columns=['dogs', 'cats'])\n>>> df.cov()\n dogs cats\ndogs 0.666667 -1.000000\ncats -1.000000 1.666667\n\n>>> np.random.seed(42)\n>>> df = pd.DataFrame(np.random.randn(1000, 5),\n... columns=['a', 'b', 'c', 'd', 'e'])\n>>> df.cov()\n a b c d e\na 0.998438 -0.020161 0.059277 -0.008943 0.014144\nb -0.020161 1.059352 -0.008543 -0.024738 0.009826\nc 0.059277 -0.008543 1.010670 -0.001486 -0.000271\nd -0.008943 -0.024738 -0.001486 0.921297 -0.013692\ne 0.014144 0.009826 -0.000271 -0.013692 0.977795\n\n**Minimum number of periods**\n\nThis method also supports an optional ``min_periods`` keyword\nthat specifies the required minimum number of non-NA observations for\neach column pair in order to have a valid result:\n\n>>> np.random.seed(42)\n>>> df = pd.DataFrame(np.random.randn(20, 3),\n... columns=['a', 'b', 'c'])\n>>> df.loc[df.index[:5], 'a'] = np.nan\n>>> df.loc[df.index[5:10], 'b'] = np.nan\n>>> df.cov(min_periods=12)\n a b c\na 0.316741 NaN -0.150812\nb NaN 1.248003 0.191417\nc -0.150812 0.191417 0.895202\n"}, "kind": 2, "label": "cov", "sortText": " 35"}, {"detail": "bound method DataFrame.cummax(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, skipna: bool = True, *args, **kwargs) -> Unknown", "kind": 2, "label": "cummax", "sortText": " 36"}, {"detail": "bound method DataFrame.cummin(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, skipna: bool = True, *args, **kwargs) -> Unknown", "kind": 2, "label": "cummin", "sortText": " 37"}, {"detail": "bound method DataFrame.cumprod(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, skipna: bool = True, *args, **kwargs) -> Unknown", "kind": 2, "label": "cumprod", "sortText": " 38"}, {"detail": "bound method DataFrame.cumsum(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, skipna: bool = True, *args, **kwargs) -> Unknown", "kind": 2, "label": "cumsum", "sortText": " 39"}, {"detail": "bound method DataFrame.describe(percentiles=None, include=None, exclude=None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Generate descriptive statistics.\n\nDescriptive statistics include those that summarize the central\ntendency, dispersion and shape of a\ndataset's distribution, excluding ``NaN`` values.\n\nAnalyzes both numeric and object series, as well\nas ``DataFrame`` column sets of mixed data types. The output\nwill vary depending on what is provided. Refer to the notes\nbelow for more detail.\n\nParameters\n----------\npercentiles : list-like of numbers, optional\n The percentiles to include in the output. All should\n fall between 0 and 1. The default is\n ``[.25, .5, .75]``, which returns the 25th, 50th, and\n 75th percentiles.\ninclude : 'all', list-like of dtypes or None (default), optional\n A white list of data types to include in the result. Ignored\n for ``Series``. Here are the options:\n\n - 'all' : All columns of the input will be included in the output.\n - A list-like of dtypes : Limits the results to the\n provided data types.\n To limit the result to numeric types submit\n ``numpy.number``. To limit it instead to object columns submit\n the ``numpy.object`` data type. Strings\n can also be used in the style of\n ``select_dtypes`` (e.g. ``df.describe(include=['O'])``). To\n select pandas categorical columns, use ``'category'``\n - None (default) : The result will include all numeric columns.\nexclude : list-like of dtypes or None (default), optional,\n A black list of data types to omit from the result. Ignored\n for ``Series``. Here are the options:\n\n - A list-like of dtypes : Excludes the provided data types\n from the result. To exclude numeric types submit\n ``numpy.number``. To exclude object columns submit the data\n type ``numpy.object``. Strings can also be used in the style of\n ``select_dtypes`` (e.g. ``df.describe(exclude=['O'])``). To\n exclude pandas categorical columns, use ``'category'``\n - None (default) : The result will exclude nothing.\n\nReturns\n-------\nSeries or DataFrame\n Summary statistics of the Series or Dataframe provided.\n\nSee Also\n--------\nDataFrame.count: Count number of non-NA/null observations.\nDataFrame.max: Maximum of the values in the object.\nDataFrame.min: Minimum of the values in the object.\nDataFrame.mean: Mean of the values.\nDataFrame.std: Standard deviation of the observations.\nDataFrame.select_dtypes: Subset of a DataFrame including/excluding\n columns based on their dtype.\n\nNotes\n-----\nFor numeric data, the result's index will include ``count``,\n``mean``, ``std``, ``min``, ``max`` as well as lower, ``50`` and\nupper percentiles. By default the lower percentile is ``25`` and the\nupper percentile is ``75``. The ``50`` percentile is the\nsame as the median.\n\nFor object data (e.g. strings or timestamps), the result's index\nwill include ``count``, ``unique``, ``top``, and ``freq``. The ``top``\nis the most common value. The ``freq`` is the most common value's\nfrequency. Timestamps also include the ``first`` and ``last`` items.\n\nIf multiple object values have the highest count, then the\n``count`` and ``top`` results will be arbitrarily chosen from\namong those with the highest count.\n\nFor mixed data types provided via a ``DataFrame``, the default is to\nreturn only an analysis of numeric columns. If the dataframe consists\nonly of object and categorical data without any numeric columns, the\ndefault is to return an analysis of both the object and categorical\ncolumns. If ``include='all'`` is provided as an option, the result\nwill include a union of attributes of each type.\n\nThe `include` and `exclude` parameters can be used to limit\nwhich columns in a ``DataFrame`` are analyzed for the output.\nThe parameters are ignored when analyzing a ``Series``.\n\nExamples\n--------\nDescribing a numeric ``Series``.\n\n>>> s = pd.Series([1, 2, 3])\n>>> s.describe()\ncount 3.0\nmean 2.0\nstd 1.0\nmin 1.0\n25% 1.5\n50% 2.0\n75% 2.5\nmax 3.0\ndtype: float64\n\nDescribing a categorical ``Series``.\n\n>>> s = pd.Series(['a', 'a', 'b', 'c'])\n>>> s.describe()\ncount 4\nunique 3\ntop a\nfreq 2\ndtype: object\n\nDescribing a timestamp ``Series``.\n\n>>> s = pd.Series([\n... np.datetime64(\"2000-01-01\"),\n... np.datetime64(\"2010-01-01\"),\n... np.datetime64(\"2010-01-01\")\n... ])\n>>> s.describe()\ncount 3\nmean 2006-09-01 08:00:00\nmin 2000-01-01 00:00:00\n25% 2004-12-31 12:00:00\n50% 2010-01-01 00:00:00\n75% 2010-01-01 00:00:00\nmax 2010-01-01 00:00:00\ndtype: object\n\nDescribing a ``DataFrame``. By default only numeric fields\nare returned.\n\n>>> df = pd.DataFrame({'categorical': pd.Categorical(['d', 'e', 'f']),\n... 'numeric': [1, 2, 3],\n... 'object': ['a', 'b', 'c']\n... })\n>>> df.describe()\n numeric\ncount 3.0\nmean 2.0\nstd 1.0\nmin 1.0\n25% 1.5\n50% 2.0\n75% 2.5\nmax 3.0\n\nDescribing all columns of a ``DataFrame`` regardless of data type.\n\n>>> df.describe(include='all') # doctest: +SKIP\n categorical numeric object\ncount 3 3.0 3\nunique 3 NaN 3\ntop f NaN a\nfreq 1 NaN 1\nmean NaN 2.0 NaN\nstd NaN 1.0 NaN\nmin NaN 1.0 NaN\n25% NaN 1.5 NaN\n50% NaN 2.0 NaN\n75% NaN 2.5 NaN\nmax NaN 3.0 NaN\n\nDescribing a column from a ``DataFrame`` by accessing it as\nan attribute.\n\n>>> df.numeric.describe()\ncount 3.0\nmean 2.0\nstd 1.0\nmin 1.0\n25% 1.5\n50% 2.0\n75% 2.5\nmax 3.0\nName: numeric, dtype: float64\n\nIncluding only numeric columns in a ``DataFrame`` description.\n\n>>> df.describe(include=[np.number])\n numeric\ncount 3.0\nmean 2.0\nstd 1.0\nmin 1.0\n25% 1.5\n50% 2.0\n75% 2.5\nmax 3.0\n\nIncluding only string columns in a ``DataFrame`` description.\n\n>>> df.describe(include=[object]) # doctest: +SKIP\n object\ncount 3\nunique 3\ntop a\nfreq 1\n\nIncluding only categorical columns from a ``DataFrame`` description.\n\n>>> df.describe(include=['category'])\n categorical\ncount 3\nunique 3\ntop d\nfreq 1\n\nExcluding numeric columns from a ``DataFrame`` description.\n\n>>> df.describe(exclude=[np.number]) # doctest: +SKIP\n categorical object\ncount 3 3\nunique 3 3\ntop f a\nfreq 1 1\n\nExcluding object columns from a ``DataFrame`` description.\n\n>>> df.describe(exclude=[object]) # doctest: +SKIP\n categorical numeric\ncount 3 3.0\nunique 3 NaN\ntop f NaN\nfreq 1 NaN\nmean NaN 2.0\nstd NaN 1.0\nmin NaN 1.0\n25% NaN 1.5\n50% NaN 2.0\n75% NaN 2.5\nmax NaN 3.0\n"}, "kind": 2, "label": "describe", "sortText": " 40"}, {"detail": "bound method DataFrame.diff(periods: int = 1, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> DataFrame", "kind": 2, "label": "diff", "sortText": " 41"}, {"detail": "(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 3, "label": "div", "sortText": " 42"}, {"detail": "(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 3, "label": "divide", "sortText": " 43"}, {"detail": "Overload[(other: Series) -> Series, (other: DataFrame | Index | ExtensionArray | ndarray[_AnyShape, dtype[Any]]) -> DataFrame]", "documentation": {"kind": "plaintext", "value": "Compute the matrix multiplication between the DataFrame and other.\n\nThis method computes the matrix product between the DataFrame and the\nvalues of an other Series, DataFrame or a numpy array.\n\nIt can also be called using ``self @ other``.\n\nParameters\n----------\nother : Series, DataFrame or array-like\n The other object to compute the matrix product with.\n\nReturns\n-------\nSeries or DataFrame\n If other is a Series, return the matrix product between self and\n other as a Series. If other is a DataFrame or a numpy.array, return\n the matrix product of self and other in a DataFrame of a np.array.\n\nSee Also\n--------\nSeries.dot: Similar method for Series.\n\nNotes\n-----\nThe dimensions of DataFrame and other must be compatible in order to\ncompute the matrix multiplication. In addition, the column names of\nDataFrame and the index of other must contain the same values, as they\nwill be aligned prior to the multiplication.\n\nThe dot method for Series computes the inner product, instead of the\nmatrix product here.\n\nExamples\n--------\nHere we multiply a DataFrame with a Series.\n\n>>> df = pd.DataFrame([[0, 1, -2, -1], [1, 1, 1, 1]])\n>>> s = pd.Series([1, 1, 2, 1])\n>>> df.dot(s)\n0 -4\n1 5\ndtype: int64\n\nHere we multiply a DataFrame with another DataFrame.\n\n>>> other = pd.DataFrame([[0, 1], [1, 2], [-1, -1], [2, 0]])\n>>> df.dot(other)\n 0 1\n0 1 4\n1 2 2\n\nNote that the dot method give the same result as @\n\n>>> df @ other\n 0 1\n0 1 4\n1 2 2\n\nThe dot method works also if other is an np.array.\n\n>>> arr = np.array([[0, 1], [1, 2], [-1, -1], [2, 0]])\n>>> df.dot(arr)\n 0 1\n0 1 4\n1 2 2\n\nNote how shuffling of the objects does not change the result.\n\n>>> s2 = s.reindex([1, 0, 2, 3])\n>>> df.dot(s2)\n0 -4\n1 5\ndtype: int64\n"}, "kind": 2, "label": "dot", "sortText": " 44"}, {"detail": "Overload[(labels: Hashable | Sequence[Hashable] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., index: Hashable | Sequence[Hashable] = ..., columns: Hashable | Sequence[Hashable] = ..., level: Hashable = ..., inplace: Literal[True], errors: Literal[\"ignore\", \"raise\"] = ...) -> None, (labels: Hashable | Sequence[Hashable] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., index: Hashable | Sequence[Hashable] = ..., columns: Hashable | Sequence[Hashable] = ..., level: Hashable = ..., inplace: Literal[False] = ..., errors: Literal[\"ignore\", \"raise\"] = ...) -> DataFrame, (labels: Hashable | Sequence[Hashable] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., index: Hashable | Sequence[Hashable] = ..., columns: Hashable | Sequence[Hashable] = ..., level: Hashable = ..., inplace: bool = ..., errors: Literal[\"ignore\", \"raise\"] = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Drop specified labels from rows or columns.\n\nRemove rows or columns by specifying label names and corresponding\naxis, or by directly specifying index or column names. When using a\nmulti-index, labels on different levels can be removed by specifying\nthe level. See the :ref:`user guide `\nfor more information about the now unused levels.\n\nParameters\n----------\nlabels : single label or list-like\n Index or column labels to drop. A tuple will be used as a single\n label and not treated as a list-like.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Whether to drop labels from the index (0 or 'index') or\n columns (1 or 'columns').\nindex : single label or list-like\n Alternative to specifying axis (``labels, axis=0``\n is equivalent to ``index=labels``).\ncolumns : single label or list-like\n Alternative to specifying axis (``labels, axis=1``\n is equivalent to ``columns=labels``).\nlevel : int or level name, optional\n For MultiIndex, level from which the labels will be removed.\ninplace : bool, default False\n If False, return a copy. Otherwise, do operation\n in place and return None.\nerrors : {'ignore', 'raise'}, default 'raise'\n If 'ignore', suppress error and only existing labels are\n dropped.\n\nReturns\n-------\nDataFrame or None\n Returns DataFrame or None DataFrame with the specified\n index or column labels removed or None if inplace=True.\n\nRaises\n------\nKeyError\n If any of the labels is not found in the selected axis.\n\nSee Also\n--------\nDataFrame.loc : Label-location based indexer for selection by label.\nDataFrame.dropna : Return DataFrame with labels on given axis omitted\n where (all or any) data are missing.\nDataFrame.drop_duplicates : Return DataFrame with duplicate rows\n removed, optionally only considering certain columns.\nSeries.drop : Return Series with specified index labels removed.\n\nExamples\n--------\n>>> df = pd.DataFrame(np.arange(12).reshape(3, 4),\n... columns=['A', 'B', 'C', 'D'])\n>>> df\n A B C D\n0 0 1 2 3\n1 4 5 6 7\n2 8 9 10 11\n\nDrop columns\n\n>>> df.drop(['B', 'C'], axis=1)\n A D\n0 0 3\n1 4 7\n2 8 11\n\n>>> df.drop(columns=['B', 'C'])\n A D\n0 0 3\n1 4 7\n2 8 11\n\nDrop a row by index\n\n>>> df.drop([0, 1])\n A B C D\n2 8 9 10 11\n\nDrop columns and/or rows of MultiIndex DataFrame\n\n>>> midx = pd.MultiIndex(levels=[['llama', 'cow', 'falcon'],\n... ['speed', 'weight', 'length']],\n... codes=[[0, 0, 0, 1, 1, 1, 2, 2, 2],\n... [0, 1, 2, 0, 1, 2, 0, 1, 2]])\n>>> df = pd.DataFrame(index=midx, columns=['big', 'small'],\n... data=[[45, 30], [200, 100], [1.5, 1], [30, 20],\n... [250, 150], [1.5, 0.8], [320, 250],\n... [1, 0.8], [0.3, 0.2]])\n>>> df\n big small\nllama speed 45.0 30.0\n weight 200.0 100.0\n length 1.5 1.0\ncow speed 30.0 20.0\n weight 250.0 150.0\n length 1.5 0.8\nfalcon speed 320.0 250.0\n weight 1.0 0.8\n length 0.3 0.2\n\nDrop a specific index combination from the MultiIndex\nDataFrame, i.e., drop the combination ``'falcon'`` and\n``'weight'``, which deletes only the corresponding row\n\n>>> df.drop(index=('falcon', 'weight'))\n big small\nllama speed 45.0 30.0\n weight 200.0 100.0\n length 1.5 1.0\ncow speed 30.0 20.0\n weight 250.0 150.0\n length 1.5 0.8\nfalcon speed 320.0 250.0\n length 0.3 0.2\n\n>>> df.drop(index='cow', columns='small')\n big\nllama speed 45.0\n weight 200.0\n length 1.5\nfalcon speed 320.0\n weight 1.0\n length 0.3\n\n>>> df.drop(index='length', level=1)\n big small\nllama speed 45.0 30.0\n weight 200.0 100.0\ncow speed 30.0 20.0\n weight 250.0 150.0\nfalcon speed 320.0 250.0\n weight 1.0 0.8\n"}, "kind": 2, "label": "drop", "sortText": " 45"}, {"detail": "Overload[(subset: Hashable | Sequence[Hashable] = ..., *, keep: Literal[\"first\", \"last\", False] = ..., inplace: Literal[True], ignore_index: bool = ...) -> None, (subset: Hashable | Sequence[Hashable] = ..., *, keep: Literal[\"first\", \"last\", False] = ..., inplace: Literal[False] = ..., ignore_index: bool = ...) -> DataFrame, (subset: Hashable | Sequence[Hashable] = ..., *, keep: Literal[\"first\", \"last\", False] = ..., inplace: bool = ..., ignore_index: bool = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Return DataFrame with duplicate rows removed.\n\nConsidering certain columns is optional. Indexes, including time indexes\nare ignored.\n\nParameters\n----------\nsubset : column label or sequence of labels, optional\n Only consider certain columns for identifying duplicates, by\n default use all of the columns.\nkeep : {'first', 'last', ``False``}, default 'first'\n Determines which duplicates (if any) to keep.\n\n - 'first' : Drop duplicates except for the first occurrence.\n - 'last' : Drop duplicates except for the last occurrence.\n - ``False`` : Drop all duplicates.\n\ninplace : bool, default ``False``\n Whether to modify the DataFrame rather than creating a new one.\nignore_index : bool, default ``False``\n If ``True``, the resulting axis will be labeled 0, 1, \u2026, n - 1.\n\nReturns\n-------\nDataFrame or None\n DataFrame with duplicates removed or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.value_counts: Count unique combinations of columns.\n\nExamples\n--------\nConsider dataset containing ramen rating.\n\n>>> df = pd.DataFrame({\n... 'brand': ['Yum Yum', 'Yum Yum', 'Indomie', 'Indomie', 'Indomie'],\n... 'style': ['cup', 'cup', 'cup', 'pack', 'pack'],\n... 'rating': [4, 4, 3.5, 15, 5]\n... })\n>>> df\n brand style rating\n0 Yum Yum cup 4.0\n1 Yum Yum cup 4.0\n2 Indomie cup 3.5\n3 Indomie pack 15.0\n4 Indomie pack 5.0\n\nBy default, it removes duplicate rows based on all columns.\n\n>>> df.drop_duplicates()\n brand style rating\n0 Yum Yum cup 4.0\n2 Indomie cup 3.5\n3 Indomie pack 15.0\n4 Indomie pack 5.0\n\nTo remove duplicates on specific column(s), use ``subset``.\n\n>>> df.drop_duplicates(subset=['brand'])\n brand style rating\n0 Yum Yum cup 4.0\n2 Indomie cup 3.5\n\nTo remove duplicates and keep last occurrences, use ``keep``.\n\n>>> df.drop_duplicates(subset=['brand', 'style'], keep='last')\n brand style rating\n1 Yum Yum cup 4.0\n2 Indomie cup 3.5\n4 Indomie pack 5.0\n"}, "kind": 2, "label": "drop_duplicates", "sortText": " 46"}, {"detail": "bound method DataFrame.droplevel(level: Hashable | Sequence[Hashable], axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return {klass} with requested index / column level(s) removed.\n\nParameters\n----------\nlevel : int, str, or list-like\n If a string is given, must be the name of a level\n If list-like, elements must be names or positional indexes\n of levels.\n\naxis : {{0 or 'index', 1 or 'columns'}}, default 0\n Axis along which the level(s) is removed:\n\n * 0 or 'index': remove level(s) in column.\n * 1 or 'columns': remove level(s) in row.\n\n For `Series` this parameter is unused and defaults to 0.\n\nReturns\n-------\n{klass}\n {klass} with requested index / column level(s) removed.\n\nExamples\n--------\n>>> df = pd.DataFrame([\n... [1, 2, 3, 4],\n... [5, 6, 7, 8],\n... [9, 10, 11, 12]\n... ]).set_index([0, 1]).rename_axis(['a', 'b'])\n\n>>> df.columns = pd.MultiIndex.from_tuples([\n... ('c', 'e'), ('d', 'f')\n... ], names=['level_1', 'level_2'])\n\n>>> df\nlevel_1 c d\nlevel_2 e f\na b\n1 2 3 4\n5 6 7 8\n9 10 11 12\n\n>>> df.droplevel('a')\nlevel_1 c d\nlevel_2 e f\nb\n2 3 4\n6 7 8\n10 11 12\n\n>>> df.droplevel('level_2', axis=1)\nlevel_1 c d\na b\n1 2 3 4\n5 6 7 8\n9 10 11 12\n"}, "kind": 2, "label": "droplevel", "sortText": " 47"}, {"detail": "Overload[(*, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., how: Literal[\"any\", \"all\"] | _NoDefault = ..., thresh: int | _NoDefault = ..., subset: Hashable | Sequence[Hashable] = ..., inplace: Literal[False] = ..., ignore_index: bool = ...) -> DataFrame, (*, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., how: Literal[\"any\", \"all\"] | _NoDefault = ..., thresh: int | _NoDefault = ..., subset: Hashable | Sequence[Hashable] = ..., inplace: Literal[True], ignore_index: bool = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Remove missing values.\n\nSee the :ref:`User Guide ` for more on which values are\nconsidered missing, and how to work with missing data.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Determine if rows or columns which contain missing values are\n removed.\n\n * 0, or 'index' : Drop rows which contain missing values.\n * 1, or 'columns' : Drop columns which contain missing value.\n\n Only a single axis is allowed.\n\nhow : {'any', 'all'}, default 'any'\n Determine if row or column is removed from DataFrame, when we have\n at least one NA or all NA.\n\n * 'any' : If any NA values are present, drop that row or column.\n * 'all' : If all values are NA, drop that row or column.\n\nthresh : int, optional\n Require that many non-NA values. Cannot be combined with how.\nsubset : column label or sequence of labels, optional\n Labels along other axis to consider, e.g. if you are dropping rows\n these would be a list of columns to include.\ninplace : bool, default False\n Whether to modify the DataFrame rather than creating a new one.\nignore_index : bool, default ``False``\n If ``True``, the resulting axis will be labeled 0, 1, \u2026, n - 1.\n\n .. versionadded:: 2.0.0\n\nReturns\n-------\nDataFrame or None\n DataFrame with NA entries dropped from it or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.isna: Indicate missing values.\nDataFrame.notna : Indicate existing (non-missing) values.\nDataFrame.fillna : Replace missing values.\nSeries.dropna : Drop missing values.\nIndex.dropna : Drop missing indices.\n\nExamples\n--------\n>>> df = pd.DataFrame({\"name\": ['Alfred', 'Batman', 'Catwoman'],\n... \"toy\": [np.nan, 'Batmobile', 'Bullwhip'],\n... \"born\": [pd.NaT, pd.Timestamp(\"1940-04-25\"),\n... pd.NaT]})\n>>> df\n name toy born\n0 Alfred NaN NaT\n1 Batman Batmobile 1940-04-25\n2 Catwoman Bullwhip NaT\n\nDrop the rows where at least one element is missing.\n\n>>> df.dropna()\n name toy born\n1 Batman Batmobile 1940-04-25\n\nDrop the columns where at least one element is missing.\n\n>>> df.dropna(axis='columns')\n name\n0 Alfred\n1 Batman\n2 Catwoman\n\nDrop the rows where all elements are missing.\n\n>>> df.dropna(how='all')\n name toy born\n0 Alfred NaN NaT\n1 Batman Batmobile 1940-04-25\n2 Catwoman Bullwhip NaT\n\nKeep only the rows with at least 2 non-NA values.\n\n>>> df.dropna(thresh=2)\n name toy born\n1 Batman Batmobile 1940-04-25\n2 Catwoman Bullwhip NaT\n\nDefine in which columns to look for missing values.\n\n>>> df.dropna(subset=['name', 'toy'])\n name toy born\n1 Batman Batmobile 1940-04-25\n2 Catwoman Bullwhip NaT\n"}, "kind": 2, "label": "dropna", "sortText": " 48"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "dtype", "sortText": " 49"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "dtypes", "sortText": " 50"}, {"detail": "bound method DataFrame.duplicated(subset: Hashable | Sequence[Hashable] = None, keep: Literal[\"first\", \"last\", False] = \"first\") -> Series", "documentation": {"kind": "plaintext", "value": "Return boolean Series denoting duplicate rows.\n\nConsidering certain columns is optional.\n\nParameters\n----------\nsubset : column label or sequence of labels, optional\n Only consider certain columns for identifying duplicates, by\n default use all of the columns.\nkeep : {'first', 'last', False}, default 'first'\n Determines which duplicates (if any) to mark.\n\n - ``first`` : Mark duplicates as ``True`` except for the first occurrence.\n - ``last`` : Mark duplicates as ``True`` except for the last occurrence.\n - False : Mark all duplicates as ``True``.\n\nReturns\n-------\nSeries\n Boolean series for each duplicated rows.\n\nSee Also\n--------\nIndex.duplicated : Equivalent method on index.\nSeries.duplicated : Equivalent method on Series.\nSeries.drop_duplicates : Remove duplicate values from Series.\nDataFrame.drop_duplicates : Remove duplicate values from DataFrame.\n\nExamples\n--------\nConsider dataset containing ramen rating.\n\n>>> df = pd.DataFrame({\n... 'brand': ['Yum Yum', 'Yum Yum', 'Indomie', 'Indomie', 'Indomie'],\n... 'style': ['cup', 'cup', 'cup', 'pack', 'pack'],\n... 'rating': [4, 4, 3.5, 15, 5]\n... })\n>>> df\n brand style rating\n0 Yum Yum cup 4.0\n1 Yum Yum cup 4.0\n2 Indomie cup 3.5\n3 Indomie pack 15.0\n4 Indomie pack 5.0\n\nBy default, for each set of duplicated values, the first occurrence\nis set on False and all others on True.\n\n>>> df.duplicated()\n0 False\n1 True\n2 False\n3 False\n4 False\ndtype: bool\n\nBy using 'last', the last occurrence of each set of duplicated values\nis set on False and all others on True.\n\n>>> df.duplicated(keep='last')\n0 True\n1 False\n2 False\n3 False\n4 False\ndtype: bool\n\nBy setting ``keep`` on False, all duplicates are True.\n\n>>> df.duplicated(keep=False)\n0 True\n1 True\n2 False\n3 False\n4 False\ndtype: bool\n\nTo find duplicates on specific column(s), use ``subset``.\n\n>>> df.duplicated(subset=['brand'])\n0 False\n1 True\n2 False\n3 True\n4 True\ndtype: bool\n"}, "kind": 2, "label": "duplicated", "sortText": " 51"}, {"detail": "bool", "documentation": {"kind": "plaintext", "value": "Returns True when the argument is true, False otherwise.\nThe builtins True and False are the only two instances of the class bool.\nThe class bool is a subclass of the class int, and cannot be subclassed.\n"}, "kind": 22, "label": "empty", "sortText": " 52"}, {"detail": "bound method DataFrame.eq(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "eq", "sortText": " 53"}, {"detail": "bound method DataFrame.equals(other: object) -> bool", "documentation": {"kind": "plaintext", "value": "Test whether two objects contain the same elements.\n\nThis function allows two Series or DataFrames to be compared against\neach other to see if they have the same shape and elements. NaNs in\nthe same location are considered equal.\n\nThe row/column index do not need to have the same type, as long\nas the values are considered equal. Corresponding columns and\nindex must be of the same dtype.\n\nParameters\n----------\nother : Series or DataFrame\n The other Series or DataFrame to be compared with the first.\n\nReturns\n-------\nbool\n True if all elements are the same in both objects, False\n otherwise.\n\nSee Also\n--------\nSeries.eq : Compare two Series objects of the same length\n and return a Series where each element is True if the element\n in each Series is equal, False otherwise.\nDataFrame.eq : Compare two DataFrame objects of the same shape and\n return a DataFrame where each element is True if the respective\n element in each DataFrame is equal, False otherwise.\ntesting.assert_series_equal : Raises an AssertionError if left and\n right are not equal. Provides an easy interface to ignore\n inequality in dtypes, indexes and precision among others.\ntesting.assert_frame_equal : Like assert_series_equal, but targets\n DataFrames.\nnumpy.array_equal : Return True if two arrays have the same shape\n and elements, False otherwise.\n\nExamples\n--------\n>>> df = pd.DataFrame({1: [10], 2: [20]})\n>>> df\n 1 2\n0 10 20\n\nDataFrames df and exactly_equal have the same types and values for\ntheir elements and column labels, which will return True.\n\n>>> exactly_equal = pd.DataFrame({1: [10], 2: [20]})\n>>> exactly_equal\n 1 2\n0 10 20\n>>> df.equals(exactly_equal)\nTrue\n\nDataFrames df and different_column_type have the same element\ntypes and values, but have different types for the column labels,\nwhich will still return True.\n\n>>> different_column_type = pd.DataFrame({1.0: [10], 2.0: [20]})\n>>> different_column_type\n 1.0 2.0\n0 10 20\n>>> df.equals(different_column_type)\nTrue\n\nDataFrames df and different_data_type have different types for the\nsame values for their elements, and will return False even though\ntheir column labels are the same values and types.\n\n>>> different_data_type = pd.DataFrame({1: [10.0], 2: [20.0]})\n>>> different_data_type\n 1 2\n0 10.0 20.0\n>>> df.equals(different_data_type)\nFalse\n"}, "kind": 2, "label": "equals", "sortText": " 54"}, {"detail": "Overload[(expr: str, *, inplace: Literal[False] = ..., **kwargs) -> Any, (expr: str, *, inplace: Literal[True], **kwargs) -> None]", "documentation": {"kind": "plaintext", "value": "Evaluate a string describing operations on DataFrame columns.\n\nOperates on columns only, not specific rows or elements. This allows\n`eval` to run arbitrary code, which can make you vulnerable to code\ninjection if you pass user input to this function.\n\nParameters\n----------\nexpr : str\n The expression string to evaluate.\ninplace : bool, default False\n If the expression contains an assignment, whether to perform the\n operation inplace and mutate the existing DataFrame. Otherwise,\n a new DataFrame is returned.\n**kwargs\n See the documentation for :func:`eval` for complete details\n on the keyword arguments accepted by\n :meth:`~pandas.DataFrame.query`.\n\nReturns\n-------\nndarray, scalar, pandas object, or None\n The result of the evaluation or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.query : Evaluates a boolean expression to query the columns\n of a frame.\nDataFrame.assign : Can evaluate an expression or function to create new\n values for a column.\neval : Evaluate a Python expression as a string using various\n backends.\n\nNotes\n-----\nFor more details see the API documentation for :func:`~eval`.\nFor detailed examples see :ref:`enhancing performance with eval\n`.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': range(1, 6), 'B': range(10, 0, -2)})\n>>> df\n A B\n0 1 10\n1 2 8\n2 3 6\n3 4 4\n4 5 2\n>>> df.eval('A + B')\n0 11\n1 10\n2 9\n3 8\n4 7\ndtype: int64\n\nAssignment is allowed though by default the original DataFrame is not\nmodified.\n\n>>> df.eval('C = A + B')\n A B C\n0 1 10 11\n1 2 8 10\n2 3 6 9\n3 4 4 8\n4 5 2 7\n>>> df\n A B\n0 1 10\n1 2 8\n2 3 6\n3 4 4\n4 5 2\n\nMultiple columns can be assigned to using multi-line expressions:\n\n>>> df.eval(\n... '''\n... C = A + B\n... D = A - B\n... '''\n... )\n A B C D\n0 1 10 11 -9\n1 2 8 10 -6\n2 3 6 9 -3\n3 4 4 8 0\n4 5 2 7 3\n"}, "kind": 2, "label": "eval", "sortText": " 55"}, {"detail": "bound method DataFrame.ewm(com: float | None = None, span: float | None = None, halflife: float | timedelta | timedelta64[Any] | ... omitted 3 union elements = None, alpha: float | None = None, min_periods: int | None = 0, adjust: bool = True, ignore_na: bool = False, axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., times: ndarray[_AnyShape, dtype[Any]] | DataFrame | Series | None = None, method: Literal[\"single\", \"table\"] = \"single\") -> ExponentialMovingWindow", "kind": 2, "label": "ewm", "sortText": " 56"}, {"detail": "bound method DataFrame.expanding(min_periods: int = 1, axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., method: Literal[\"single\", \"table\"] = \"single\") -> Expanding", "kind": 2, "label": "expanding", "sortText": " 57"}, {"detail": "bound method DataFrame.explode(column: Hashable | Sequence[Hashable], ignore_index: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Transform each element of a list-like to a row, replicating index values.\n\nParameters\n----------\ncolumn : IndexLabel\n Column(s) to explode.\n For multiple columns, specify a non-empty list with each element\n be str or tuple, and all specified columns their list-like data\n on same row of the frame must have matching length.\n\n .. versionadded:: 1.3.0\n Multi-column explode\n\nignore_index : bool, default False\n If True, the resulting index will be labeled 0, 1, \u2026, n - 1.\n\nReturns\n-------\nDataFrame\n Exploded lists to rows of the subset columns;\n index will be duplicated for these rows.\n\nRaises\n------\nValueError :\n * If columns of the frame are not unique.\n * If specified columns to explode is empty list.\n * If specified columns to explode have not matching count of\n elements rowwise in the frame.\n\nSee Also\n--------\nDataFrame.unstack : Pivot a level of the (necessarily hierarchical)\n index labels.\nDataFrame.melt : Unpivot a DataFrame from wide format to long format.\nSeries.explode : Explode a DataFrame from list-like columns to long format.\n\nNotes\n-----\nThis routine will explode list-likes including lists, tuples, sets,\nSeries, and np.ndarray. The result dtype of the subset rows will\nbe object. Scalars will be returned unchanged, and empty list-likes will\nresult in a np.nan for that row. In addition, the ordering of rows in the\noutput will be non-deterministic when exploding sets.\n\nReference :ref:`the user guide ` for more examples.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [[0, 1, 2], 'foo', [], [3, 4]],\n... 'B': 1,\n... 'C': [['a', 'b', 'c'], np.nan, [], ['d', 'e']]})\n>>> df\n A B C\n0 [0, 1, 2] 1 [a, b, c]\n1 foo 1 NaN\n2 [] 1 []\n3 [3, 4] 1 [d, e]\n\nSingle-column explode.\n\n>>> df.explode('A')\n A B C\n0 0 1 [a, b, c]\n0 1 1 [a, b, c]\n0 2 1 [a, b, c]\n1 foo 1 NaN\n2 NaN 1 []\n3 3 1 [d, e]\n3 4 1 [d, e]\n\nMulti-column explode.\n\n>>> df.explode(list('AC'))\n A B C\n0 0 1 a\n0 1 1 b\n0 2 1 c\n1 foo 1 NaN\n2 NaN 1 NaN\n3 3 1 d\n3 4 1 e\n"}, "kind": 2, "label": "explode", "sortText": " 58"}, {"detail": "Overload[(*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: Literal[False] = ..., limit: None | int = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame, (*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: Literal[True], limit: None | int = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> None, (*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: bool = ..., limit: None | int = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Fill NA/NaN values by propagating the last valid observation to next valid.\n\nParameters\n----------\naxis : {axes_single_arg}\n Axis along which to fill missing values. For `Series`\n this parameter is unused and defaults to 0.\ninplace : bool, default False\n If True, fill in-place. Note: this will modify any\n other views on this object (e.g., a no-copy slice for a column in a\n DataFrame).\nlimit : int, default None\n If method is specified, this is the maximum number of consecutive\n NaN values to forward/backward fill. In other words, if there is\n a gap with more than this number of consecutive NaNs, it will only\n be partially filled. If method is not specified, this is the\n maximum number of entries along the entire axis where NaNs will be\n filled. Must be greater than 0 if not None.\nlimit_area : {{`None`, 'inside', 'outside'}}, default None\n If limit is specified, consecutive NaNs will be filled with this\n restriction.\n\n * ``None``: No fill restriction.\n * 'inside': Only fill NaNs surrounded by valid values\n (interpolate).\n * 'outside': Only fill NaNs outside valid values (extrapolate).\n\n .. versionadded:: 2.2.0\n\ndowncast : dict, default is None\n A dict of item->dtype of what to downcast if possible,\n or the string 'infer' which will try to downcast to an appropriate\n equal type (e.g. float64 to int64 if possible).\n\n .. deprecated:: 2.2.0\n\nReturns\n-------\n{klass} or None\n Object with missing values filled or None if ``inplace=True``.\n\nExamples\n--------\n>>> df = pd.DataFrame([[np.nan, 2, np.nan, 0],\n... [3, 4, np.nan, 1],\n... [np.nan, np.nan, np.nan, np.nan],\n... [np.nan, 3, np.nan, 4]],\n... columns=list(\"ABCD\"))\n>>> df\n A B C D\n0 NaN 2.0 NaN 0.0\n1 3.0 4.0 NaN 1.0\n2 NaN NaN NaN NaN\n3 NaN 3.0 NaN 4.0\n\n>>> df.ffill()\n A B C D\n0 NaN 2.0 NaN 0.0\n1 3.0 4.0 NaN 1.0\n2 3.0 4.0 NaN 1.0\n3 3.0 3.0 NaN 4.0\n\n>>> ser = pd.Series([1, np.nan, 2, 3])\n>>> ser.ffill()\n0 1.0\n1 1.0\n2 2.0\n3 3.0\ndtype: float64\n"}, "kind": 2, "label": "ffill", "sortText": " 59"}, {"detail": "Overload[(value: Hashable | Mapping[Unknown, Unknown] | Series | DataFrame = ..., *, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: Literal[False] = ..., limit: int | None = ..., downcast: dict[Unknown, Unknown] | None = ...) -> DataFrame, (value: Hashable | Mapping[Unknown, Unknown] | Series | DataFrame = ..., *, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: Literal[True], limit: int | None = ..., downcast: dict[Unknown, Unknown] | None = ...) -> None, (value: Hashable | Mapping[Unknown, Unknown] | Series | DataFrame = ..., *, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: bool = ..., limit: int | None = ..., downcast: dict[Unknown, Unknown] | None = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Fill NA/NaN values using the specified method.\n\nParameters\n----------\nvalue : scalar, dict, Series, or DataFrame\n Value to use to fill holes (e.g. 0), alternately a\n dict/Series/DataFrame of values specifying which value to use for\n each index (for a Series) or column (for a DataFrame). Values not\n in the dict/Series/DataFrame will not be filled. This value cannot\n be a list.\nmethod : {{'backfill', 'bfill', 'ffill', None}}, default None\n Method to use for filling holes in reindexed Series:\n\n * ffill: propagate last valid observation forward to next valid.\n * backfill / bfill: use next valid observation to fill gap.\n\n .. deprecated:: 2.1.0\n Use ffill or bfill instead.\n\naxis : {axes_single_arg}\n Axis along which to fill missing values. For `Series`\n this parameter is unused and defaults to 0.\ninplace : bool, default False\n If True, fill in-place. Note: this will modify any\n other views on this object (e.g., a no-copy slice for a column in a\n DataFrame).\nlimit : int, default None\n If method is specified, this is the maximum number of consecutive\n NaN values to forward/backward fill. In other words, if there is\n a gap with more than this number of consecutive NaNs, it will only\n be partially filled. If method is not specified, this is the\n maximum number of entries along the entire axis where NaNs will be\n filled. Must be greater than 0 if not None.\ndowncast : dict, default is None\n A dict of item->dtype of what to downcast if possible,\n or the string 'infer' which will try to downcast to an appropriate\n equal type (e.g. float64 to int64 if possible).\n\n .. deprecated:: 2.2.0\n\nReturns\n-------\n{klass} or None\n Object with missing values filled or None if ``inplace=True``.\n\nSee Also\n--------\nffill : Fill values by propagating the last valid observation to next valid.\nbfill : Fill values by using the next valid observation to fill the gap.\ninterpolate : Fill NaN values using interpolation.\nreindex : Conform object to new index.\nasfreq : Convert TimeSeries to specified frequency.\n\nExamples\n--------\n>>> df = pd.DataFrame([[np.nan, 2, np.nan, 0],\n... [3, 4, np.nan, 1],\n... [np.nan, np.nan, np.nan, np.nan],\n... [np.nan, 3, np.nan, 4]],\n... columns=list(\"ABCD\"))\n>>> df\n A B C D\n0 NaN 2.0 NaN 0.0\n1 3.0 4.0 NaN 1.0\n2 NaN NaN NaN NaN\n3 NaN 3.0 NaN 4.0\n\nReplace all NaN elements with 0s.\n\n>>> df.fillna(0)\n A B C D\n0 0.0 2.0 0.0 0.0\n1 3.0 4.0 0.0 1.0\n2 0.0 0.0 0.0 0.0\n3 0.0 3.0 0.0 4.0\n\nReplace all NaN elements in column 'A', 'B', 'C', and 'D', with 0, 1,\n2, and 3 respectively.\n\n>>> values = {{\"A\": 0, \"B\": 1, \"C\": 2, \"D\": 3}}\n>>> df.fillna(value=values)\n A B C D\n0 0.0 2.0 2.0 0.0\n1 3.0 4.0 2.0 1.0\n2 0.0 1.0 2.0 3.0\n3 0.0 3.0 2.0 4.0\n\nOnly replace the first NaN element.\n\n>>> df.fillna(value=values, limit=1)\n A B C D\n0 0.0 2.0 2.0 0.0\n1 3.0 4.0 NaN 1.0\n2 NaN 1.0 NaN 3.0\n3 NaN 3.0 NaN 4.0\n\nWhen filling using a DataFrame, replacement happens along\nthe same column names and same indices\n\n>>> df2 = pd.DataFrame(np.zeros((4, 4)), columns=list(\"ABCE\"))\n>>> df.fillna(df2)\n A B C D\n0 0.0 2.0 0.0 0.0\n1 3.0 4.0 0.0 1.0\n2 0.0 0.0 0.0 NaN\n3 0.0 3.0 0.0 4.0\n\nNote that column D is not affected since it is not present in df2.\n"}, "kind": 2, "label": "fillna", "sortText": " 60"}, {"detail": "bound method DataFrame.filter(items=None, like: str | None = None, regex: str | None = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Subset the dataframe rows or columns according to the specified index labels.\n\nNote that this routine does not filter a dataframe on its\ncontents. The filter is applied to the labels of the index.\n\nParameters\n----------\nitems : list-like\n Keep labels from axis which are in items.\nlike : str\n Keep labels from axis for which \"like in label == True\".\nregex : str (regular expression)\n Keep labels from axis for which re.search(regex, label) == True.\naxis : {0 or 'index', 1 or 'columns', None}, default None\n The axis to filter on, expressed either as an index (int)\n or axis name (str). By default this is the info axis, 'columns' for\n DataFrame. For `Series` this parameter is unused and defaults to `None`.\n\nReturns\n-------\nsame type as input object\n\nSee Also\n--------\nDataFrame.loc : Access a group of rows and columns\n by label(s) or a boolean array.\n\nNotes\n-----\nThe ``items``, ``like``, and ``regex`` parameters are\nenforced to be mutually exclusive.\n\n``axis`` defaults to the info axis that is used when indexing\nwith ``[]``.\n\nExamples\n--------\n>>> df = pd.DataFrame(np.array(([1, 2, 3], [4, 5, 6])),\n... index=['mouse', 'rabbit'],\n... columns=['one', 'two', 'three'])\n>>> df\n one two three\nmouse 1 2 3\nrabbit 4 5 6\n\n>>> # select columns by name\n>>> df.filter(items=['one', 'three'])\n one three\nmouse 1 3\nrabbit 4 6\n\n>>> # select columns by regular expression\n>>> df.filter(regex='e$', axis=1)\n one three\nmouse 1 3\nrabbit 4 6\n\n>>> # select rows containing 'bbi'\n>>> df.filter(like='bbi', axis=0)\n one two three\nrabbit 4 5 6\n"}, "kind": 2, "label": "filter", "sortText": " 61"}, {"detail": "bound method DataFrame.first(offset) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Select initial periods of time series data based on a date offset.\n\n.. deprecated:: 2.1\n :meth:`.first` is deprecated and will be removed in a future version.\n Please create a mask and filter using `.loc` instead.\n\nFor a DataFrame with a sorted DatetimeIndex, this function can\nselect the first few rows based on a date offset.\n\nParameters\n----------\noffset : str, DateOffset or dateutil.relativedelta\n The offset length of the data that will be selected. For instance,\n '1ME' will display all the rows having their index within the first month.\n\nReturns\n-------\nSeries or DataFrame\n A subset of the caller.\n\nRaises\n------\nTypeError\n If the index is not a :class:`DatetimeIndex`\n\nSee Also\n--------\nlast : Select final periods of time series based on a date offset.\nat_time : Select values at a particular time of the day.\nbetween_time : Select values between particular times of the day.\n\nExamples\n--------\n>>> i = pd.date_range('2018-04-09', periods=4, freq='2D')\n>>> ts = pd.DataFrame({'A': [1, 2, 3, 4]}, index=i)\n>>> ts\n A\n2018-04-09 1\n2018-04-11 2\n2018-04-13 3\n2018-04-15 4\n\nGet the rows for the first 3 days:\n\n>>> ts.first('3D')\n A\n2018-04-09 1\n2018-04-11 2\n\nNotice the data for 3 first calendar days were returned, not the first\n3 days observed in the dataset, and therefore data for 2018-04-13 was\nnot returned.\n"}, "kind": 2, "label": "first", "sortText": " 62"}, {"detail": "bound method DataFrame.first_valid_index() -> Hashable", "documentation": {"kind": "plaintext", "value": "Return index for {position} non-NA value or None, if no non-NA value is found.\n\nReturns\n-------\ntype of index\n\nExamples\n--------\nFor Series:\n\n>>> s = pd.Series([None, 3, 4])\n>>> s.first_valid_index()\n1\n>>> s.last_valid_index()\n2\n\n>>> s = pd.Series([None, None])\n>>> print(s.first_valid_index())\nNone\n>>> print(s.last_valid_index())\nNone\n\nIf all elements in Series are NA/null, returns None.\n\n>>> s = pd.Series()\n>>> print(s.first_valid_index())\nNone\n>>> print(s.last_valid_index())\nNone\n\nIf Series is empty, returns None.\n\nFor DataFrame:\n\n>>> df = pd.DataFrame({{'A': [None, None, 2], 'B': [None, 3, 4]}})\n>>> df\n A B\n0 NaN NaN\n1 NaN 3.0\n2 2.0 4.0\n>>> df.first_valid_index()\n1\n>>> df.last_valid_index()\n2\n\n>>> df = pd.DataFrame({{'A': [None, None, None], 'B': [None, None, None]}})\n>>> df\n A B\n0 None None\n1 None None\n2 None None\n>>> print(df.first_valid_index())\nNone\n>>> print(df.last_valid_index())\nNone\n\nIf all elements in DataFrame are NA/null, returns None.\n\n>>> df = pd.DataFrame()\n>>> df\nEmpty DataFrame\nColumns: []\nIndex: []\n>>> print(df.first_valid_index())\nNone\n>>> print(df.last_valid_index())\nNone\n\nIf DataFrame is empty, returns None.\n"}, "kind": 2, "label": "first_valid_index", "sortText": " 63"}, {"detail": "Flags", "documentation": {"kind": "plaintext", "value": "Flags that apply to pandas objects.\n\nParameters\n----------\nobj : Series or DataFrame\n The object these flags are associated with.\nallows_duplicate_labels : bool, default True\n Whether to allow duplicate labels in this object. By default,\n duplicate labels are permitted. Setting this to ``False`` will\n cause an :class:`errors.DuplicateLabelError` to be raised when\n `index` (or columns for DataFrame) is not unique, or any\n subsequent operation on introduces duplicates.\n See :ref:`duplicates.disallow` for more.\n\n .. warning::\n\n This is an experimental feature. Currently, many methods fail to\n propagate the ``allows_duplicate_labels`` value. In future versions\n it is expected that every method taking or returning one or more\n DataFrame or Series objects will propagate ``allows_duplicate_labels``.\n\nExamples\n--------\nAttributes can be set in two ways:\n\n>>> df = pd.DataFrame()\n>>> df.flags\n\n>>> df.flags.allows_duplicate_labels = False\n>>> df.flags\n\n\n>>> df.flags['allows_duplicate_labels'] = True\n>>> df.flags\n\n"}, "kind": 22, "label": "flags", "sortText": " 64"}, {"detail": "bound method DataFrame.floordiv(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "floordiv", "sortText": " 65"}, {"detail": "bound method type[DataFrame].from_dict(data: dict[Unknown, Unknown], orient: Literal[\"columns\", \"index\", \"tight\"] = \"columns\", dtype: ExtensionDtype | str | dtype[Any] | type | None = None, columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Construct DataFrame from dict of array-like or dicts.\n\nCreates DataFrame object from dictionary by columns or by index\nallowing dtype specification.\n\nParameters\n----------\ndata : dict\n Of the form {field : array-like} or {field : dict}.\norient : {'columns', 'index', 'tight'}, default 'columns'\n The \"orientation\" of the data. If the keys of the passed dict\n should be the columns of the resulting DataFrame, pass 'columns'\n (default). Otherwise if the keys should be rows, pass 'index'.\n If 'tight', assume a dict with keys ['index', 'columns', 'data',\n 'index_names', 'column_names'].\n\n .. versionadded:: 1.4.0\n 'tight' as an allowed value for the ``orient`` argument\n\ndtype : dtype, default None\n Data type to force after DataFrame construction, otherwise infer.\ncolumns : list, default None\n Column labels to use when ``orient='index'``. Raises a ValueError\n if used with ``orient='columns'`` or ``orient='tight'``.\n\nReturns\n-------\nDataFrame\n\nSee Also\n--------\nDataFrame.from_records : DataFrame from structured ndarray, sequence\n of tuples or dicts, or DataFrame.\nDataFrame : DataFrame object creation using constructor.\nDataFrame.to_dict : Convert the DataFrame to a dictionary.\n\nExamples\n--------\nBy default the keys of the dict become the DataFrame columns:\n\n>>> data = {'col_1': [3, 2, 1, 0], 'col_2': ['a', 'b', 'c', 'd']}\n>>> pd.DataFrame.from_dict(data)\n col_1 col_2\n0 3 a\n1 2 b\n2 1 c\n3 0 d\n\nSpecify ``orient='index'`` to create the DataFrame using dictionary\nkeys as rows:\n\n>>> data = {'row_1': [3, 2, 1, 0], 'row_2': ['a', 'b', 'c', 'd']}\n>>> pd.DataFrame.from_dict(data, orient='index')\n 0 1 2 3\nrow_1 3 2 1 0\nrow_2 a b c d\n\nWhen using the 'index' orientation, the column names can be\nspecified manually:\n\n>>> pd.DataFrame.from_dict(data, orient='index',\n... columns=['A', 'B', 'C', 'D'])\n A B C D\nrow_1 3 2 1 0\nrow_2 a b c d\n\nSpecify ``orient='tight'`` to create the DataFrame using a 'tight'\nformat:\n\n>>> data = {'index': [('a', 'b'), ('a', 'c')],\n... 'columns': [('x', 1), ('y', 2)],\n... 'data': [[1, 3], [2, 4]],\n... 'index_names': ['n1', 'n2'],\n... 'column_names': ['z1', 'z2']}\n>>> pd.DataFrame.from_dict(data, orient='tight')\nz1 x y\nz2 1 2\nn1 n2\na b 1 3\n c 2 4\n"}, "kind": 2, "label": "from_dict", "sortText": " 66"}, {"detail": "bound method type[DataFrame].from_records(data, index=None, exclude=None, columns=None, coerce_float: bool = False, nrows: int | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Convert structured or record ndarray to DataFrame.\n\nCreates a DataFrame object from a structured ndarray, sequence of\ntuples or dicts, or DataFrame.\n\nParameters\n----------\ndata : structured ndarray, sequence of tuples or dicts, or DataFrame\n Structured input data.\n\n .. deprecated:: 2.1.0\n Passing a DataFrame is deprecated.\nindex : str, list of fields, array-like\n Field of array to use as the index, alternately a specific set of\n input labels to use.\nexclude : sequence, default None\n Columns or fields to exclude.\ncolumns : sequence, default None\n Column names to use. If the passed data do not have names\n associated with them, this argument provides names for the\n columns. Otherwise this argument indicates the order of the columns\n in the result (any names not found in the data will become all-NA\n columns).\ncoerce_float : bool, default False\n Attempt to convert values of non-string, non-numeric objects (like\n decimal.Decimal) to floating point, useful for SQL result sets.\nnrows : int, default None\n Number of rows to read if data is an iterator.\n\nReturns\n-------\nDataFrame\n\nSee Also\n--------\nDataFrame.from_dict : DataFrame from dict of array-like or dicts.\nDataFrame : DataFrame object creation using constructor.\n\nExamples\n--------\nData can be provided as a structured ndarray:\n\n>>> data = np.array([(3, 'a'), (2, 'b'), (1, 'c'), (0, 'd')],\n... dtype=[('col_1', 'i4'), ('col_2', 'U1')])\n>>> pd.DataFrame.from_records(data)\n col_1 col_2\n0 3 a\n1 2 b\n2 1 c\n3 0 d\n\nData can be provided as a list of dicts:\n\n>>> data = [{'col_1': 3, 'col_2': 'a'},\n... {'col_1': 2, 'col_2': 'b'},\n... {'col_1': 1, 'col_2': 'c'},\n... {'col_1': 0, 'col_2': 'd'}]\n>>> pd.DataFrame.from_records(data)\n col_1 col_2\n0 3 a\n1 2 b\n2 1 c\n3 0 d\n\nData can be provided as a list of tuples with corresponding columns:\n\n>>> data = [(3, 'a'), (2, 'b'), (1, 'c'), (0, 'd')]\n>>> pd.DataFrame.from_records(data, columns=['col_1', 'col_2'])\n col_1 col_2\n0 3 a\n1 2 b\n2 1 c\n3 0 d\n"}, "kind": 2, "label": "from_records", "sortText": " 67"}, {"detail": "bound method DataFrame.ge(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "ge", "sortText": " 68"}, {"detail": "bound method DataFrame.get(key, default=None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Get item from object for given key (ex: DataFrame column).\n\nReturns default value if not found.\n\nParameters\n----------\nkey : object\n\nReturns\n-------\nsame type as items contained in object\n\nExamples\n--------\n>>> df = pd.DataFrame(\n... [\n... [24.3, 75.7, \"high\"],\n... [31, 87.8, \"high\"],\n... [22, 71.6, \"medium\"],\n... [35, 95, \"medium\"],\n... ],\n... columns=[\"temp_celsius\", \"temp_fahrenheit\", \"windspeed\"],\n... index=pd.date_range(start=\"2014-02-12\", end=\"2014-02-15\", freq=\"D\"),\n... )\n\n>>> df\n temp_celsius temp_fahrenheit windspeed\n2014-02-12 24.3 75.7 high\n2014-02-13 31.0 87.8 high\n2014-02-14 22.0 71.6 medium\n2014-02-15 35.0 95.0 medium\n\n>>> df.get([\"temp_celsius\", \"windspeed\"])\n temp_celsius windspeed\n2014-02-12 24.3 high\n2014-02-13 31.0 high\n2014-02-14 22.0 medium\n2014-02-15 35.0 medium\n\n>>> ser = df['windspeed']\n>>> ser.get('2014-02-13')\n'high'\n\nIf the key isn't found, the default value will be used.\n\n>>> df.get([\"temp_celsius\", \"temp_kelvin\"], default=\"default_value\")\n'default_value'\n\n>>> ser.get('2014-02-10', '[unknown]')\n'[unknown]'\n"}, "kind": 2, "label": "get", "sortText": " 69"}, {"detail": "bound method DataFrame.groupby(by=None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., level: Hashable | Sequence[Hashable] = None, as_index: bool = True, sort: bool = True, group_keys: bool = True, observed: bool | _NoDefault = ..., dropna: bool = True) -> DataFrameGroupBy", "kind": 2, "label": "groupby", "sortText": " 70"}, {"detail": "bound method DataFrame.gt(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "gt", "sortText": " 71"}, {"detail": "bound method DataFrame.head(n: int = 5) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the first `n` rows.\n\nThis function returns the first `n` rows for the object based\non position. It is useful for quickly testing if your object\nhas the right type of data in it.\n\nFor negative values of `n`, this function returns all rows except\nthe last `|n|` rows, equivalent to ``df[:n]``.\n\nIf n is larger than the number of rows, this function returns all rows.\n\nParameters\n----------\nn : int, default 5\n Number of rows to select.\n\nReturns\n-------\nsame type as caller\n The first `n` rows of the caller object.\n\nSee Also\n--------\nDataFrame.tail: Returns the last `n` rows.\n\nExamples\n--------\n>>> df = pd.DataFrame({'animal': ['alligator', 'bee', 'falcon', 'lion',\n... 'monkey', 'parrot', 'shark', 'whale', 'zebra']})\n>>> df\n animal\n0 alligator\n1 bee\n2 falcon\n3 lion\n4 monkey\n5 parrot\n6 shark\n7 whale\n8 zebra\n\nViewing the first 5 lines\n\n>>> df.head()\n animal\n0 alligator\n1 bee\n2 falcon\n3 lion\n4 monkey\n\nViewing the first `n` lines (three in this case)\n\n>>> df.head(3)\n animal\n0 alligator\n1 bee\n2 falcon\n\nFor negative values of `n`\n\n>>> df.head(-3)\n animal\n0 alligator\n1 bee\n2 falcon\n3 lion\n4 monkey\n5 parrot\n"}, "kind": 2, "label": "head", "sortText": " 72"}, {"detail": "(column: Hashable | Sequence[Hashable] = None, by=None, grid: bool = True, xlabelsize: int | None = None, xrot: float | None = None, ylabelsize: int | None = None, yrot: float | None = None, ax=None, sharex: bool = False, sharey: bool = False, figsize: tuple[int, int] | None = None, layout: tuple[int, int] | None = None, bins: int | Sequence[int] = 10, backend: str | None = None, legend: bool = False, **kwargs) -> Unknown", "kind": 3, "label": "hist", "sortText": " 73"}, {"detail": "_iAtIndexer", "kind": 22, "label": "iat", "sortText": " 74"}, {"detail": "bound method DataFrame.idxmax(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, skipna: bool = True, numeric_only: bool = False) -> Series", "kind": 2, "label": "idxmax", "sortText": " 75"}, {"detail": "bound method DataFrame.idxmin(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, skipna: bool = True, numeric_only: bool = False) -> Series", "kind": 2, "label": "idxmin", "sortText": " 76"}, {"detail": "_iLocIndexer", "kind": 22, "label": "iloc", "sortText": " 77"}, {"detail": "Index", "documentation": {"kind": "plaintext", "value": "Immutable sequence used for indexing and alignment.\n\nThe basic object storing axis labels for all pandas objects.\n\n.. versionchanged:: 2.0.0\n\n Index can hold all numpy numeric dtypes (except float16). Previously only\n int64/uint64/float64 dtypes were accepted.\n\nParameters\n----------\ndata : array-like (1-dimensional)\ndtype : str, numpy.dtype, or ExtensionDtype, optional\n Data type for the output Index. If not specified, this will be\n inferred from `data`.\n See the :ref:`user guide ` for more usages.\ncopy : bool, default False\n Copy input data.\nname : object\n Name to be stored in the index.\ntupleize_cols : bool (default: True)\n When True, attempt to create a MultiIndex if possible.\n\nSee Also\n--------\nRangeIndex : Index implementing a monotonic integer range.\nCategoricalIndex : Index of :class:`Categorical` s.\nMultiIndex : A multi-level, or hierarchical Index.\nIntervalIndex : An Index of :class:`Interval` s.\nDatetimeIndex : Index of datetime64 data.\nTimedeltaIndex : Index of timedelta64 data.\nPeriodIndex : Index of Period data.\n\nNotes\n-----\nAn Index instance can **only** contain hashable objects.\nAn Index instance *can not* hold numpy float16 dtype.\n\nExamples\n--------\n>>> pd.Index([1, 2, 3])\nIndex([1, 2, 3], dtype='int64')\n\n>>> pd.Index(list('abc'))\nIndex(['a', 'b', 'c'], dtype='object')\n\n>>> pd.Index([1, 2, 3], dtype=\"uint8\")\nIndex([1, 2, 3], dtype='uint8')\n"}, "kind": 22, "label": "index", "sortText": " 78"}, {"detail": "bound method DataFrame.infer_objects(copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Attempt to infer better dtypes for object columns.\n\nAttempts soft conversion of object-dtyped\ncolumns, leaving non-object and unconvertible\ncolumns unchanged. The inference rules are the\nsame as during normal Series/DataFrame construction.\n\nParameters\n----------\ncopy : bool, default True\n Whether to make a copy for non-object or non-inferable columns\n or Series.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\nsame type as input object\n\nSee Also\n--------\nto_datetime : Convert argument to datetime.\nto_timedelta : Convert argument to timedelta.\nto_numeric : Convert argument to numeric type.\nconvert_dtypes : Convert argument to best possible dtype.\n\nExamples\n--------\n>>> df = pd.DataFrame({\"A\": [\"a\", 1, 2, 3]})\n>>> df = df.iloc[1:]\n>>> df\n A\n1 1\n2 2\n3 3\n\n>>> df.dtypes\nA object\ndtype: object\n\n>>> df.infer_objects().dtypes\nA int64\ndtype: object\n"}, "kind": 2, "label": "infer_objects", "sortText": " 79"}, {"detail": "bound method DataFrame.info(verbose: bool | None = None, buf: WriteBuffer[str] | None = None, max_cols: int | None = None, memory_usage: bool | str | None = None, show_counts: bool | None = None) -> None", "kind": 2, "label": "info", "sortText": " 80"}, {"detail": "bound method DataFrame.insert(loc: int, column: Hashable, value: str | float | Period | ... omitted 9 union elements, allow_duplicates: bool | _NoDefault = ...) -> None", "documentation": {"kind": "plaintext", "value": "Insert column into DataFrame at specified location.\n\nRaises a ValueError if `column` is already contained in the DataFrame,\nunless `allow_duplicates` is set to True.\n\nParameters\n----------\nloc : int\n Insertion index. Must verify 0 <= loc <= len(columns).\ncolumn : str, number, or hashable object\n Label of the inserted column.\nvalue : Scalar, Series, or array-like\n Content of the inserted column.\nallow_duplicates : bool, optional, default lib.no_default\n Allow duplicate column labels to be created.\n\nSee Also\n--------\nIndex.insert : Insert new item by index.\n\nExamples\n--------\n>>> df = pd.DataFrame({'col1': [1, 2], 'col2': [3, 4]})\n>>> df\n col1 col2\n0 1 3\n1 2 4\n>>> df.insert(1, \"newcol\", [99, 99])\n>>> df\n col1 newcol col2\n0 1 99 3\n1 2 99 4\n>>> df.insert(0, \"col1\", [100, 100], allow_duplicates=True)\n>>> df\n col1 col1 newcol col2\n0 100 1 99 3\n1 100 2 99 4\n\nNotice that pandas uses index alignment in case of `value` from type `Series`:\n\n>>> df.insert(0, \"col0\", pd.Series([5, 6], index=[1, 2]))\n>>> df\n col0 col1 col1 newcol col2\n0 NaN 100 1 99 3\n1 5.0 100 2 99 4\n"}, "kind": 2, "label": "insert", "sortText": " 81"}, {"detail": "Overload[(method: Literal[\"linear\", \"time\", \"index\", \"values\", \"nearest\", ... omitted 13 literals] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., limit: int | None = ..., inplace: Literal[False] = ..., limit_direction: Literal[\"forward\", \"backward\", \"both\"] | None = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: Literal[\"infer\"] | None | _NoDefault = ..., **kwargs) -> DataFrame, (method: Literal[\"linear\", \"time\", \"index\", \"values\", \"nearest\", ... omitted 13 literals] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., limit: int | None = ..., inplace: Literal[True], limit_direction: Literal[\"forward\", \"backward\", \"both\"] | None = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: Literal[\"infer\"] | None | _NoDefault = ..., **kwargs) -> None, (method: Literal[\"linear\", \"time\", \"index\", \"values\", \"nearest\", ... omitted 13 literals] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., limit: int | None = ..., inplace: bool = ..., limit_direction: Literal[\"forward\", \"backward\", \"both\"] | None = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: Literal[\"infer\"] | None | _NoDefault = ..., **kwargs) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Fill NaN values using an interpolation method.\n\nPlease note that only ``method='linear'`` is supported for\nDataFrame/Series with a MultiIndex.\n\nParameters\n----------\nmethod : str, default 'linear'\n Interpolation technique to use. One of:\n\n * 'linear': Ignore the index and treat the values as equally\n spaced. This is the only method supported on MultiIndexes.\n * 'time': Works on daily and higher resolution data to interpolate\n given length of interval.\n * 'index', 'values': use the actual numerical values of the index.\n * 'pad': Fill in NaNs using existing values.\n * 'nearest', 'zero', 'slinear', 'quadratic', 'cubic',\n 'barycentric', 'polynomial': Passed to\n `scipy.interpolate.interp1d`, whereas 'spline' is passed to\n `scipy.interpolate.UnivariateSpline`. These methods use the numerical\n values of the index. Both 'polynomial' and 'spline' require that\n you also specify an `order` (int), e.g.\n ``df.interpolate(method='polynomial', order=5)``. Note that,\n `slinear` method in Pandas refers to the Scipy first order `spline`\n instead of Pandas first order `spline`.\n * 'krogh', 'piecewise_polynomial', 'spline', 'pchip', 'akima',\n 'cubicspline': Wrappers around the SciPy interpolation methods of\n similar names. See `Notes`.\n * 'from_derivatives': Refers to\n `scipy.interpolate.BPoly.from_derivatives`.\n\naxis : {{0 or 'index', 1 or 'columns', None}}, default None\n Axis to interpolate along. For `Series` this parameter is unused\n and defaults to 0.\nlimit : int, optional\n Maximum number of consecutive NaNs to fill. Must be greater than\n 0.\ninplace : bool, default False\n Update the data in place if possible.\nlimit_direction : {{'forward', 'backward', 'both'}}, Optional\n Consecutive NaNs will be filled in this direction.\n\n If limit is specified:\n * If 'method' is 'pad' or 'ffill', 'limit_direction' must be 'forward'.\n * If 'method' is 'backfill' or 'bfill', 'limit_direction' must be\n 'backwards'.\n\n If 'limit' is not specified:\n * If 'method' is 'backfill' or 'bfill', the default is 'backward'\n * else the default is 'forward'\n\n raises ValueError if `limit_direction` is 'forward' or 'both' and\n method is 'backfill' or 'bfill'.\n raises ValueError if `limit_direction` is 'backward' or 'both' and\n method is 'pad' or 'ffill'.\n\nlimit_area : {{`None`, 'inside', 'outside'}}, default None\n If limit is specified, consecutive NaNs will be filled with this\n restriction.\n\n * ``None``: No fill restriction.\n * 'inside': Only fill NaNs surrounded by valid values\n (interpolate).\n * 'outside': Only fill NaNs outside valid values (extrapolate).\n\ndowncast : optional, 'infer' or None, defaults to None\n Downcast dtypes if possible.\n\n .. deprecated:: 2.1.0\n\n``**kwargs`` : optional\n Keyword arguments to pass on to the interpolating function.\n\nReturns\n-------\nSeries or DataFrame or None\n Returns the same object type as the caller, interpolated at\n some or all ``NaN`` values or None if ``inplace=True``.\n\nSee Also\n--------\nfillna : Fill missing values using different methods.\nscipy.interpolate.Akima1DInterpolator : Piecewise cubic polynomials\n (Akima interpolator).\nscipy.interpolate.BPoly.from_derivatives : Piecewise polynomial in the\n Bernstein basis.\nscipy.interpolate.interp1d : Interpolate a 1-D function.\nscipy.interpolate.KroghInterpolator : Interpolate polynomial (Krogh\n interpolator).\nscipy.interpolate.PchipInterpolator : PCHIP 1-d monotonic cubic\n interpolation.\nscipy.interpolate.CubicSpline : Cubic spline data interpolator.\n\nNotes\n-----\nThe 'krogh', 'piecewise_polynomial', 'spline', 'pchip' and 'akima'\nmethods are wrappers around the respective SciPy implementations of\nsimilar names. These use the actual numerical values of the index.\nFor more information on their behavior, see the\n`SciPy documentation\n`__.\n\nExamples\n--------\nFilling in ``NaN`` in a :class:`~pandas.Series` via linear\ninterpolation.\n\n>>> s = pd.Series([0, 1, np.nan, 3])\n>>> s\n0 0.0\n1 1.0\n2 NaN\n3 3.0\ndtype: float64\n>>> s.interpolate()\n0 0.0\n1 1.0\n2 2.0\n3 3.0\ndtype: float64\n\nFilling in ``NaN`` in a Series via polynomial interpolation or splines:\nBoth 'polynomial' and 'spline' methods require that you also specify\nan ``order`` (int).\n\n>>> s = pd.Series([0, 2, np.nan, 8])\n>>> s.interpolate(method='polynomial', order=2)\n0 0.000000\n1 2.000000\n2 4.666667\n3 8.000000\ndtype: float64\n\nFill the DataFrame forward (that is, going down) along each column\nusing linear interpolation.\n\nNote how the last entry in column 'a' is interpolated differently,\nbecause there is no entry after it to use for interpolation.\nNote how the first entry in column 'b' remains ``NaN``, because there\nis no entry before it to use for interpolation.\n\n>>> df = pd.DataFrame([(0.0, np.nan, -1.0, 1.0),\n... (np.nan, 2.0, np.nan, np.nan),\n... (2.0, 3.0, np.nan, 9.0),\n... (np.nan, 4.0, -4.0, 16.0)],\n... columns=list('abcd'))\n>>> df\n a b c d\n0 0.0 NaN -1.0 1.0\n1 NaN 2.0 NaN NaN\n2 2.0 3.0 NaN 9.0\n3 NaN 4.0 -4.0 16.0\n>>> df.interpolate(method='linear', limit_direction='forward', axis=0)\n a b c d\n0 0.0 NaN -1.0 1.0\n1 1.0 2.0 -2.0 5.0\n2 2.0 3.0 -3.0 9.0\n3 2.0 4.0 -4.0 16.0\n\nUsing polynomial interpolation.\n\n>>> df['d'].interpolate(method='polynomial', order=2)\n0 1.0\n1 4.0\n2 9.0\n3 16.0\nName: d, dtype: float64\n"}, "kind": 2, "label": "interpolate", "sortText": " 82"}, {"detail": "bound method DataFrame.isetitem(loc, value) -> None", "documentation": {"kind": "plaintext", "value": "Set the given value in the column with position `loc`.\n\nThis is a positional analogue to ``__setitem__``.\n\nParameters\n----------\nloc : int or sequence of ints\n Index position for the column.\nvalue : scalar or arraylike\n Value(s) for the column.\n\nNotes\n-----\n``frame.isetitem(loc, value)`` is an in-place method as it will\nmodify the DataFrame in place (not returning a new object). In contrast to\n``frame.iloc[:, i] = value`` which will try to update the existing values in\nplace, ``frame.isetitem(loc, value)`` will not update the values of the column\nitself in place, it will instead insert a new array.\n\nIn cases where ``frame.columns`` is unique, this is equivalent to\n``frame[frame.columns[i]] = value``.\n"}, "kind": 2, "label": "isetitem", "sortText": " 83"}, {"detail": "bound method DataFrame.isin(values: Series | DataFrame | Sequence[Unknown] | Mapping[Unknown, Unknown]) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Whether each element in the DataFrame is contained in values.\n\nParameters\n----------\nvalues : iterable, Series, DataFrame or dict\n The result will only be true at a location if all the\n labels match. If `values` is a Series, that's the index. If\n `values` is a dict, the keys must be the column names,\n which must match. If `values` is a DataFrame,\n then both the index and column labels must match.\n\nReturns\n-------\nDataFrame\n DataFrame of booleans showing whether each element in the DataFrame\n is contained in values.\n\nSee Also\n--------\nDataFrame.eq: Equality test for DataFrame.\nSeries.isin: Equivalent method on Series.\nSeries.str.contains: Test if pattern or regex is contained within a\n string of a Series or Index.\n\nExamples\n--------\n>>> df = pd.DataFrame({'num_legs': [2, 4], 'num_wings': [2, 0]},\n... index=['falcon', 'dog'])\n>>> df\n num_legs num_wings\nfalcon 2 2\ndog 4 0\n\nWhen ``values`` is a list check whether every value in the DataFrame\nis present in the list (which animals have 0 or 2 legs or wings)\n\n>>> df.isin([0, 2])\n num_legs num_wings\nfalcon True True\ndog False True\n\nTo check if ``values`` is *not* in the DataFrame, use the ``~`` operator:\n\n>>> ~df.isin([0, 2])\n num_legs num_wings\nfalcon False False\ndog True False\n\nWhen ``values`` is a dict, we can pass values to check for each\ncolumn separately:\n\n>>> df.isin({'num_wings': [0, 3]})\n num_legs num_wings\nfalcon False False\ndog False True\n\nWhen ``values`` is a Series or DataFrame the index and column must\nmatch. Note that 'falcon' does not match based on the number of legs\nin other.\n\n>>> other = pd.DataFrame({'num_legs': [8, 3], 'num_wings': [0, 2]},\n... index=['spider', 'falcon'])\n>>> df.isin(other)\n num_legs num_wings\nfalcon False True\ndog False False\n"}, "kind": 2, "label": "isin", "sortText": " 84"}, {"detail": "bound method DataFrame.isna() -> DataFrame", "kind": 2, "label": "isna", "sortText": " 85"}, {"detail": "bound method DataFrame.isnull() -> DataFrame", "documentation": {"kind": "plaintext", "value": "DataFrame.isnull is an alias for DataFrame.isna.\n"}, "kind": 2, "label": "isnull", "sortText": " 86"}, {"detail": "bound method DataFrame.items() -> Iterable[tuple[Hashable, Series]]", "kind": 2, "label": "items", "sortText": " 87"}, {"detail": "bound method DataFrame.iterrows() -> Iterable[tuple[Hashable, Series]]", "documentation": {"kind": "plaintext", "value": "Iterate over DataFrame rows as (index, Series) pairs.\n\nYields\n------\nindex : label or tuple of label\n The index of the row. A tuple for a `MultiIndex`.\ndata : Series\n The data of the row as a Series.\n\nSee Also\n--------\nDataFrame.itertuples : Iterate over DataFrame rows as namedtuples of the values.\nDataFrame.items : Iterate over (column name, Series) pairs.\n\nNotes\n-----\n1. Because ``iterrows`` returns a Series for each row,\n it does **not** preserve dtypes across the rows (dtypes are\n preserved across columns for DataFrames).\n\n To preserve dtypes while iterating over the rows, it is better\n to use :meth:`itertuples` which returns namedtuples of the values\n and which is generally faster than ``iterrows``.\n\n2. You should **never modify** something you are iterating over.\n This is not guaranteed to work in all cases. Depending on the\n data types, the iterator returns a copy and not a view, and writing\n to it will have no effect.\n\nExamples\n--------\n\n>>> df = pd.DataFrame([[1, 1.5]], columns=['int', 'float'])\n>>> row = next(df.iterrows())[1]\n>>> row\nint 1.0\nfloat 1.5\nName: 0, dtype: float64\n>>> print(row['int'].dtype)\nfloat64\n>>> print(df['int'].dtype)\nint64\n"}, "kind": 2, "label": "iterrows", "sortText": " 88"}, {"detail": "bound method DataFrame.itertuples(index: bool = True, name: str | None = \"Pandas\") -> Iterable[tuple[Any, ...]]", "documentation": {"kind": "plaintext", "value": "Iterate over DataFrame rows as namedtuples.\n\nParameters\n----------\nindex : bool, default True\n If True, return the index as the first element of the tuple.\nname : str or None, default \"Pandas\"\n The name of the returned namedtuples or None to return regular\n tuples.\n\nReturns\n-------\niterator\n An object to iterate over namedtuples for each row in the\n DataFrame with the first field possibly being the index and\n following fields being the column values.\n\nSee Also\n--------\nDataFrame.iterrows : Iterate over DataFrame rows as (index, Series)\n pairs.\nDataFrame.items : Iterate over (column name, Series) pairs.\n\nNotes\n-----\nThe column names will be renamed to positional names if they are\ninvalid Python identifiers, repeated, or start with an underscore.\n\nExamples\n--------\n>>> df = pd.DataFrame({'num_legs': [4, 2], 'num_wings': [0, 2]},\n... index=['dog', 'hawk'])\n>>> df\n num_legs num_wings\ndog 4 0\nhawk 2 2\n>>> for row in df.itertuples():\n... print(row)\n...\nPandas(Index='dog', num_legs=4, num_wings=0)\nPandas(Index='hawk', num_legs=2, num_wings=2)\n\nBy setting the `index` parameter to False we can remove the index\nas the first element of the tuple:\n\n>>> for row in df.itertuples(index=False):\n... print(row)\n...\nPandas(num_legs=4, num_wings=0)\nPandas(num_legs=2, num_wings=2)\n\nWith the `name` parameter set we set a custom name for the yielded\nnamedtuples:\n\n>>> for row in df.itertuples(name='Animal'):\n... print(row)\n...\nAnimal(Index='dog', num_legs=4, num_wings=0)\nAnimal(Index='hawk', num_legs=2, num_wings=2)\n"}, "kind": 2, "label": "itertuples", "sortText": " 89"}, {"detail": "bound method DataFrame.join(other: DataFrame | Series | Iterable[DataFrame | Series], on: Hashable | Sequence[Hashable] = None, how: Literal[\"left\", \"right\", \"inner\", \"outer\", \"cross\"] = \"left\", lsuffix: str = \"\", rsuffix: str = \"\", sort: bool = False, validate: Literal[\"one_to_one\", \"1:1\", \"one_to_many\", \"1:m\", \"many_to_one\", ... omitted 3 literals] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Join columns of another DataFrame.\n\nJoin columns with `other` DataFrame either on index or on a key\ncolumn. Efficiently join multiple DataFrame objects by index at once by\npassing a list.\n\nParameters\n----------\nother : DataFrame, Series, or a list containing any combination of them\n Index should be similar to one of the columns in this one. If a\n Series is passed, its name attribute must be set, and that will be\n used as the column name in the resulting joined DataFrame.\non : str, list of str, or array-like, optional\n Column or index level name(s) in the caller to join on the index\n in `other`, otherwise joins index-on-index. If multiple\n values given, the `other` DataFrame must have a MultiIndex. Can\n pass an array as the join key if it is not already contained in\n the calling DataFrame. Like an Excel VLOOKUP operation.\nhow : {'left', 'right', 'outer', 'inner', 'cross'}, default 'left'\n How to handle the operation of the two objects.\n\n * left: use calling frame's index (or column if on is specified)\n * right: use `other`'s index.\n * outer: form union of calling frame's index (or column if on is\n specified) with `other`'s index, and sort it lexicographically.\n * inner: form intersection of calling frame's index (or column if\n on is specified) with `other`'s index, preserving the order\n of the calling's one.\n * cross: creates the cartesian product from both frames, preserves the order\n of the left keys.\nlsuffix : str, default ''\n Suffix to use from left frame's overlapping columns.\nrsuffix : str, default ''\n Suffix to use from right frame's overlapping columns.\nsort : bool, default False\n Order result DataFrame lexicographically by the join key. If False,\n the order of the join key depends on the join type (how keyword).\nvalidate : str, optional\n If specified, checks if join is of specified type.\n\n * \"one_to_one\" or \"1:1\": check if join keys are unique in both left\n and right datasets.\n * \"one_to_many\" or \"1:m\": check if join keys are unique in left dataset.\n * \"many_to_one\" or \"m:1\": check if join keys are unique in right dataset.\n * \"many_to_many\" or \"m:m\": allowed, but does not result in checks.\n\n .. versionadded:: 1.5.0\n\nReturns\n-------\nDataFrame\n A dataframe containing columns from both the caller and `other`.\n\nSee Also\n--------\nDataFrame.merge : For column(s)-on-column(s) operations.\n\nNotes\n-----\nParameters `on`, `lsuffix`, and `rsuffix` are not supported when\npassing a list of `DataFrame` objects.\n\nExamples\n--------\n>>> df = pd.DataFrame({'key': ['K0', 'K1', 'K2', 'K3', 'K4', 'K5'],\n... 'A': ['A0', 'A1', 'A2', 'A3', 'A4', 'A5']})\n\n>>> df\n key A\n0 K0 A0\n1 K1 A1\n2 K2 A2\n3 K3 A3\n4 K4 A4\n5 K5 A5\n\n>>> other = pd.DataFrame({'key': ['K0', 'K1', 'K2'],\n... 'B': ['B0', 'B1', 'B2']})\n\n>>> other\n key B\n0 K0 B0\n1 K1 B1\n2 K2 B2\n\nJoin DataFrames using their indexes.\n\n>>> df.join(other, lsuffix='_caller', rsuffix='_other')\n key_caller A key_other B\n0 K0 A0 K0 B0\n1 K1 A1 K1 B1\n2 K2 A2 K2 B2\n3 K3 A3 NaN NaN\n4 K4 A4 NaN NaN\n5 K5 A5 NaN NaN\n\nIf we want to join using the key columns, we need to set key to be\nthe index in both `df` and `other`. The joined DataFrame will have\nkey as its index.\n\n>>> df.set_index('key').join(other.set_index('key'))\n A B\nkey\nK0 A0 B0\nK1 A1 B1\nK2 A2 B2\nK3 A3 NaN\nK4 A4 NaN\nK5 A5 NaN\n\nAnother option to join using the key columns is to use the `on`\nparameter. DataFrame.join always uses `other`'s index but we can use\nany column in `df`. This method preserves the original DataFrame's\nindex in the result.\n\n>>> df.join(other.set_index('key'), on='key')\n key A B\n0 K0 A0 B0\n1 K1 A1 B1\n2 K2 A2 B2\n3 K3 A3 NaN\n4 K4 A4 NaN\n5 K5 A5 NaN\n\nUsing non-unique key values shows how they are matched.\n\n>>> df = pd.DataFrame({'key': ['K0', 'K1', 'K1', 'K3', 'K0', 'K1'],\n... 'A': ['A0', 'A1', 'A2', 'A3', 'A4', 'A5']})\n\n>>> df\n key A\n0 K0 A0\n1 K1 A1\n2 K1 A2\n3 K3 A3\n4 K0 A4\n5 K1 A5\n\n>>> df.join(other.set_index('key'), on='key', validate='m:1')\n key A B\n0 K0 A0 B0\n1 K1 A1 B1\n2 K1 A2 B1\n3 K3 A3 NaN\n4 K0 A4 B0\n5 K1 A5 B1\n"}, "kind": 2, "label": "join", "sortText": " 90"}, {"detail": "bound method DataFrame.keys() -> Index", "documentation": {"kind": "plaintext", "value": "Get the 'info axis' (see Indexing for more).\n\nThis is index for Series, columns for DataFrame.\n\nReturns\n-------\nIndex\n Info axis.\n\nExamples\n--------\n>>> d = pd.DataFrame(data={'A': [1, 2, 3], 'B': [0, 4, 8]},\n... index=['a', 'b', 'c'])\n>>> d\n A B\na 1 0\nb 2 4\nc 3 8\n>>> d.keys()\nIndex(['A', 'B'], dtype='object')\n"}, "kind": 2, "label": "keys", "sortText": " 91"}, {"detail": "bound method DataFrame.kurt(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "kurt", "sortText": " 92"}, {"detail": "(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 3, "label": "kurtosis", "sortText": " 93"}, {"detail": "bound method DataFrame.last(offset) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Select final periods of time series data based on a date offset.\n\n.. deprecated:: 2.1\n :meth:`.last` is deprecated and will be removed in a future version.\n Please create a mask and filter using `.loc` instead.\n\nFor a DataFrame with a sorted DatetimeIndex, this function\nselects the last few rows based on a date offset.\n\nParameters\n----------\noffset : str, DateOffset, dateutil.relativedelta\n The offset length of the data that will be selected. For instance,\n '3D' will display all the rows having their index within the last 3 days.\n\nReturns\n-------\nSeries or DataFrame\n A subset of the caller.\n\nRaises\n------\nTypeError\n If the index is not a :class:`DatetimeIndex`\n\nSee Also\n--------\nfirst : Select initial periods of time series based on a date offset.\nat_time : Select values at a particular time of the day.\nbetween_time : Select values between particular times of the day.\n\nNotes\n-----\n.. deprecated:: 2.1.0\n Please create a mask and filter using `.loc` instead\n\nExamples\n--------\n>>> i = pd.date_range('2018-04-09', periods=4, freq='2D')\n>>> ts = pd.DataFrame({'A': [1, 2, 3, 4]}, index=i)\n>>> ts\n A\n2018-04-09 1\n2018-04-11 2\n2018-04-13 3\n2018-04-15 4\n\nGet the rows for the last 3 days:\n\n>>> ts.last('3D') # doctest: +SKIP\n A\n2018-04-13 3\n2018-04-15 4\n\nNotice the data for 3 last calendar days were returned, not the last\n3 observed days in the dataset, and therefore data for 2018-04-11 was\nnot returned.\n"}, "kind": 2, "label": "last", "sortText": " 94"}, {"detail": "bound method DataFrame.last_valid_index() -> Hashable", "kind": 2, "label": "last_valid_index", "sortText": " 95"}, {"detail": "bound method DataFrame.le(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "le", "sortText": " 96"}, {"detail": "_LocIndexer", "kind": 22, "label": "loc", "sortText": " 97"}, {"detail": "bound method DataFrame.lt(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "lt", "sortText": " 98"}, {"detail": "bound method DataFrame.map(func: (Any, /) -> Any, na_action: str | None = None, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Apply a function to a Dataframe elementwise.\n\n.. versionadded:: 2.1.0\n\n DataFrame.applymap was deprecated and renamed to DataFrame.map.\n\nThis method applies a function that accepts and returns a scalar\nto every element of a DataFrame.\n\nParameters\n----------\nfunc : callable\n Python function, returns a single value from a single value.\nna_action : {None, 'ignore'}, default None\n If 'ignore', propagate NaN values, without passing them to func.\n**kwargs\n Additional keyword arguments to pass as keywords arguments to\n `func`.\n\nReturns\n-------\nDataFrame\n Transformed DataFrame.\n\nSee Also\n--------\nDataFrame.apply : Apply a function along input axis of DataFrame.\nDataFrame.replace: Replace values given in `to_replace` with `value`.\nSeries.map : Apply a function elementwise on a Series.\n\nExamples\n--------\n>>> df = pd.DataFrame([[1, 2.12], [3.356, 4.567]])\n>>> df\n 0 1\n0 1.000 2.120\n1 3.356 4.567\n\n>>> df.map(lambda x: len(str(x)))\n 0 1\n0 3 4\n1 5 5\n\nLike Series.map, NA values can be ignored:\n\n>>> df_copy = df.copy()\n>>> df_copy.iloc[0, 0] = pd.NA\n>>> df_copy.map(lambda x: len(str(x)), na_action='ignore')\n 0 1\n0 NaN 4\n1 5.0 5\n\nIt is also possible to use `map` with functions that are not\n`lambda` functions:\n\n>>> df.map(round, ndigits=1)\n 0 1\n0 1.0 2.1\n1 3.4 4.6\n\nNote that a vectorized version of `func` often exists, which will\nbe much faster. You could square each number elementwise.\n\n>>> df.map(lambda x: x**2)\n 0 1\n0 1.000000 4.494400\n1 11.262736 20.857489\n\nBut it's better to avoid map in that case.\n\n>>> df ** 2\n 0 1\n0 1.000000 4.494400\n1 11.262736 20.857489\n"}, "kind": 2, "label": "map", "sortText": " 99"}, {"detail": "Overload[(cond, other=..., *, inplace: Literal[False] = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> DataFrame, (cond, other=..., *, inplace: Literal[True], axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> None, (cond, other=..., *, inplace: bool = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> DataFrame | None]", "kind": 2, "label": "mask", "sortText": "100"}, {"detail": "bound method DataFrame.max(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "max", "sortText": "101"}, {"detail": "bound method DataFrame.mean(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "mean", "sortText": "102"}, {"detail": "bound method DataFrame.median(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "median", "sortText": "103"}, {"detail": "bound method DataFrame.melt(id_vars=None, value_vars=None, var_name=None, value_name: Hashable = \"value\", col_level: Hashable = None, ignore_index: bool = True) -> DataFrame", "kind": 2, "label": "melt", "sortText": "104"}, {"detail": "bound method DataFrame.memory_usage(index: bool = True, deep: bool = False) -> Series", "documentation": {"kind": "plaintext", "value": "Return the memory usage of each column in bytes.\n\nThe memory usage can optionally include the contribution of\nthe index and elements of `object` dtype.\n\nThis value is displayed in `DataFrame.info` by default. This can be\nsuppressed by setting ``pandas.options.display.memory_usage`` to False.\n\nParameters\n----------\nindex : bool, default True\n Specifies whether to include the memory usage of the DataFrame's\n index in returned Series. If ``index=True``, the memory usage of\n the index is the first item in the output.\ndeep : bool, default False\n If True, introspect the data deeply by interrogating\n `object` dtypes for system-level memory consumption, and include\n it in the returned values.\n\nReturns\n-------\nSeries\n A Series whose index is the original column names and whose values\n is the memory usage of each column in bytes.\n\nSee Also\n--------\nnumpy.ndarray.nbytes : Total bytes consumed by the elements of an\n ndarray.\nSeries.memory_usage : Bytes consumed by a Series.\nCategorical : Memory-efficient array for string values with\n many repeated values.\nDataFrame.info : Concise summary of a DataFrame.\n\nNotes\n-----\nSee the :ref:`Frequently Asked Questions ` for more\ndetails.\n\nExamples\n--------\n>>> dtypes = ['int64', 'float64', 'complex128', 'object', 'bool']\n>>> data = dict([(t, np.ones(shape=5000, dtype=int).astype(t))\n... for t in dtypes])\n>>> df = pd.DataFrame(data)\n>>> df.head()\n int64 float64 complex128 object bool\n0 1 1.0 1.0+0.0j 1 True\n1 1 1.0 1.0+0.0j 1 True\n2 1 1.0 1.0+0.0j 1 True\n3 1 1.0 1.0+0.0j 1 True\n4 1 1.0 1.0+0.0j 1 True\n\n>>> df.memory_usage()\nIndex 128\nint64 40000\nfloat64 40000\ncomplex128 80000\nobject 40000\nbool 5000\ndtype: int64\n\n>>> df.memory_usage(index=False)\nint64 40000\nfloat64 40000\ncomplex128 80000\nobject 40000\nbool 5000\ndtype: int64\n\nThe memory footprint of `object` dtype columns is ignored by default:\n\n>>> df.memory_usage(deep=True)\nIndex 128\nint64 40000\nfloat64 40000\ncomplex128 80000\nobject 180000\nbool 5000\ndtype: int64\n\nUse a Categorical for efficient storage of an object-dtype column with\nmany repeated values.\n\n>>> df['object'].astype('category').memory_usage(deep=True)\n5244\n"}, "kind": 2, "label": "memory_usage", "sortText": "105"}, {"detail": "bound method DataFrame.merge(right: DataFrame | Series, how: Literal[\"left\", \"right\", \"inner\", \"outer\", \"cross\"] = \"inner\", on: Hashable | Sequence[Hashable] | ExtensionArray | ... omitted 3 union elements = None, left_on: Hashable | Sequence[Hashable] | ExtensionArray | ... omitted 3 union elements = None, right_on: Hashable | Sequence[Hashable] | ExtensionArray | ... omitted 3 union elements = None, left_index: bool = False, right_index: bool = False, sort: bool = False, suffixes: tuple[str | None, str | None] = ..., copy: bool | None = None, indicator: str | bool = False, validate: Literal[\"one_to_one\", \"1:1\", \"one_to_many\", \"1:m\", \"many_to_one\", ... omitted 3 literals] | None = None) -> DataFrame", "kind": 2, "label": "merge", "sortText": "106"}, {"detail": "bound method DataFrame.min(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "min", "sortText": "107"}, {"detail": "bound method DataFrame.mod(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "mod", "sortText": "108"}, {"detail": "bound method DataFrame.mode(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, numeric_only: bool = False, dropna: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Get the mode(s) of each element along the selected axis.\n\nThe mode of a set of values is the value that appears most often.\nIt can be multiple values.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to iterate over while searching for the mode:\n\n * 0 or 'index' : get mode of each column\n * 1 or 'columns' : get mode of each row.\n\nnumeric_only : bool, default False\n If True, only apply to numeric columns.\ndropna : bool, default True\n Don't consider counts of NaN/NaT.\n\nReturns\n-------\nDataFrame\n The modes of each column or row.\n\nSee Also\n--------\nSeries.mode : Return the highest frequency value in a Series.\nSeries.value_counts : Return the counts of values in a Series.\n\nExamples\n--------\n>>> df = pd.DataFrame([('bird', 2, 2),\n... ('mammal', 4, np.nan),\n... ('arthropod', 8, 0),\n... ('bird', 2, np.nan)],\n... index=('falcon', 'horse', 'spider', 'ostrich'),\n... columns=('species', 'legs', 'wings'))\n>>> df\n species legs wings\nfalcon bird 2 2.0\nhorse mammal 4 NaN\nspider arthropod 8 0.0\nostrich bird 2 NaN\n\nBy default, missing values are not considered, and the mode of wings\nare both 0 and 2. Because the resulting DataFrame has two rows,\nthe second row of ``species`` and ``legs`` contains ``NaN``.\n\n>>> df.mode()\n species legs wings\n0 bird 2.0 0.0\n1 NaN NaN 2.0\n\nSetting ``dropna=False`` ``NaN`` values are considered and they can be\nthe mode (like for wings).\n\n>>> df.mode(dropna=False)\n species legs wings\n0 bird 2 NaN\n\nSetting ``numeric_only=True``, only the mode of numeric columns is\ncomputed, and columns of other types are ignored.\n\n>>> df.mode(numeric_only=True)\n legs wings\n0 2.0 0.0\n1 NaN 2.0\n\nTo compute the mode over columns and not rows, use the axis parameter:\n\n>>> df.mode(axis='columns', numeric_only=True)\n 0 1\nfalcon 2.0 NaN\nhorse 4.0 NaN\nspider 0.0 8.0\nostrich 2.0 NaN\n"}, "kind": 2, "label": "mode", "sortText": "109"}, {"detail": "bound method DataFrame.mul(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "mul", "sortText": "110"}, {"detail": "(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 3, "label": "multiply", "sortText": "111"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "name", "sortText": "112"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "ndim", "sortText": "113"}, {"detail": "bound method DataFrame.ne(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "ne", "sortText": "114"}, {"detail": "bound method DataFrame.nlargest(n: int, columns: Hashable | Sequence[Hashable], keep: Literal[\"first\", \"last\", \"all\"] = \"first\") -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the first `n` rows ordered by `columns` in descending order.\n\nReturn the first `n` rows with the largest values in `columns`, in\ndescending order. The columns that are not specified are returned as\nwell, but not used for ordering.\n\nThis method is equivalent to\n``df.sort_values(columns, ascending=False).head(n)``, but more\nperformant.\n\nParameters\n----------\nn : int\n Number of rows to return.\ncolumns : label or list of labels\n Column label(s) to order by.\nkeep : {'first', 'last', 'all'}, default 'first'\n Where there are duplicate values:\n\n - ``first`` : prioritize the first occurrence(s)\n - ``last`` : prioritize the last occurrence(s)\n - ``all`` : keep all the ties of the smallest item even if it means\n selecting more than ``n`` items.\n\nReturns\n-------\nDataFrame\n The first `n` rows ordered by the given columns in descending\n order.\n\nSee Also\n--------\nDataFrame.nsmallest : Return the first `n` rows ordered by `columns` in\n ascending order.\nDataFrame.sort_values : Sort DataFrame by the values.\nDataFrame.head : Return the first `n` rows without re-ordering.\n\nNotes\n-----\nThis function cannot be used with all column types. For example, when\nspecifying columns with `object` or `category` dtypes, ``TypeError`` is\nraised.\n\nExamples\n--------\n>>> df = pd.DataFrame({'population': [59000000, 65000000, 434000,\n... 434000, 434000, 337000, 11300,\n... 11300, 11300],\n... 'GDP': [1937894, 2583560 , 12011, 4520, 12128,\n... 17036, 182, 38, 311],\n... 'alpha-2': [\"IT\", \"FR\", \"MT\", \"MV\", \"BN\",\n... \"IS\", \"NR\", \"TV\", \"AI\"]},\n... index=[\"Italy\", \"France\", \"Malta\",\n... \"Maldives\", \"Brunei\", \"Iceland\",\n... \"Nauru\", \"Tuvalu\", \"Anguilla\"])\n>>> df\n population GDP alpha-2\nItaly 59000000 1937894 IT\nFrance 65000000 2583560 FR\nMalta 434000 12011 MT\nMaldives 434000 4520 MV\nBrunei 434000 12128 BN\nIceland 337000 17036 IS\nNauru 11300 182 NR\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\n\nIn the following example, we will use ``nlargest`` to select the three\nrows having the largest values in column \"population\".\n\n>>> df.nlargest(3, 'population')\n population GDP alpha-2\nFrance 65000000 2583560 FR\nItaly 59000000 1937894 IT\nMalta 434000 12011 MT\n\nWhen using ``keep='last'``, ties are resolved in reverse order:\n\n>>> df.nlargest(3, 'population', keep='last')\n population GDP alpha-2\nFrance 65000000 2583560 FR\nItaly 59000000 1937894 IT\nBrunei 434000 12128 BN\n\nWhen using ``keep='all'``, the number of element kept can go beyond ``n``\nif there are duplicate values for the smallest element, all the\nties are kept:\n\n>>> df.nlargest(3, 'population', keep='all')\n population GDP alpha-2\nFrance 65000000 2583560 FR\nItaly 59000000 1937894 IT\nMalta 434000 12011 MT\nMaldives 434000 4520 MV\nBrunei 434000 12128 BN\n\nHowever, ``nlargest`` does not keep ``n`` distinct largest elements:\n\n>>> df.nlargest(5, 'population', keep='all')\n population GDP alpha-2\nFrance 65000000 2583560 FR\nItaly 59000000 1937894 IT\nMalta 434000 12011 MT\nMaldives 434000 4520 MV\nBrunei 434000 12128 BN\n\nTo order by the largest values in column \"population\" and then \"GDP\",\nwe can specify multiple columns like in the next example.\n\n>>> df.nlargest(3, ['population', 'GDP'])\n population GDP alpha-2\nFrance 65000000 2583560 FR\nItaly 59000000 1937894 IT\nBrunei 434000 12128 BN\n"}, "kind": 2, "label": "nlargest", "sortText": "115"}, {"detail": "bound method DataFrame.notna() -> DataFrame", "kind": 2, "label": "notna", "sortText": "116"}, {"detail": "bound method DataFrame.notnull() -> DataFrame", "documentation": {"kind": "plaintext", "value": "DataFrame.notnull is an alias for DataFrame.notna.\n"}, "kind": 2, "label": "notnull", "sortText": "117"}, {"detail": "bound method DataFrame.nsmallest(n: int, columns: Hashable | Sequence[Hashable], keep: Literal[\"first\", \"last\", \"all\"] = \"first\") -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the first `n` rows ordered by `columns` in ascending order.\n\nReturn the first `n` rows with the smallest values in `columns`, in\nascending order. The columns that are not specified are returned as\nwell, but not used for ordering.\n\nThis method is equivalent to\n``df.sort_values(columns, ascending=True).head(n)``, but more\nperformant.\n\nParameters\n----------\nn : int\n Number of items to retrieve.\ncolumns : list or str\n Column name or names to order by.\nkeep : {'first', 'last', 'all'}, default 'first'\n Where there are duplicate values:\n\n - ``first`` : take the first occurrence.\n - ``last`` : take the last occurrence.\n - ``all`` : keep all the ties of the largest item even if it means\n selecting more than ``n`` items.\n\nReturns\n-------\nDataFrame\n\nSee Also\n--------\nDataFrame.nlargest : Return the first `n` rows ordered by `columns` in\n descending order.\nDataFrame.sort_values : Sort DataFrame by the values.\nDataFrame.head : Return the first `n` rows without re-ordering.\n\nExamples\n--------\n>>> df = pd.DataFrame({'population': [59000000, 65000000, 434000,\n... 434000, 434000, 337000, 337000,\n... 11300, 11300],\n... 'GDP': [1937894, 2583560 , 12011, 4520, 12128,\n... 17036, 182, 38, 311],\n... 'alpha-2': [\"IT\", \"FR\", \"MT\", \"MV\", \"BN\",\n... \"IS\", \"NR\", \"TV\", \"AI\"]},\n... index=[\"Italy\", \"France\", \"Malta\",\n... \"Maldives\", \"Brunei\", \"Iceland\",\n... \"Nauru\", \"Tuvalu\", \"Anguilla\"])\n>>> df\n population GDP alpha-2\nItaly 59000000 1937894 IT\nFrance 65000000 2583560 FR\nMalta 434000 12011 MT\nMaldives 434000 4520 MV\nBrunei 434000 12128 BN\nIceland 337000 17036 IS\nNauru 337000 182 NR\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\n\nIn the following example, we will use ``nsmallest`` to select the\nthree rows having the smallest values in column \"population\".\n\n>>> df.nsmallest(3, 'population')\n population GDP alpha-2\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\nIceland 337000 17036 IS\n\nWhen using ``keep='last'``, ties are resolved in reverse order:\n\n>>> df.nsmallest(3, 'population', keep='last')\n population GDP alpha-2\nAnguilla 11300 311 AI\nTuvalu 11300 38 TV\nNauru 337000 182 NR\n\nWhen using ``keep='all'``, the number of element kept can go beyond ``n``\nif there are duplicate values for the largest element, all the\nties are kept.\n\n>>> df.nsmallest(3, 'population', keep='all')\n population GDP alpha-2\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\nIceland 337000 17036 IS\nNauru 337000 182 NR\n\nHowever, ``nsmallest`` does not keep ``n`` distinct\nsmallest elements:\n\n>>> df.nsmallest(4, 'population', keep='all')\n population GDP alpha-2\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\nIceland 337000 17036 IS\nNauru 337000 182 NR\n\nTo order by the smallest values in column \"population\" and then \"GDP\", we can\nspecify multiple columns like in the next example.\n\n>>> df.nsmallest(3, ['population', 'GDP'])\n population GDP alpha-2\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\nNauru 337000 182 NR\n"}, "kind": 2, "label": "nsmallest", "sortText": "118"}, {"detail": "bound method DataFrame.nunique(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, dropna: bool = True) -> Series", "documentation": {"kind": "plaintext", "value": "Count number of distinct elements in specified axis.\n\nReturn Series with number of distinct elements. Can ignore NaN\nvalues.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to use. 0 or 'index' for row-wise, 1 or 'columns' for\n column-wise.\ndropna : bool, default True\n Don't include NaN in the counts.\n\nReturns\n-------\nSeries\n\nSee Also\n--------\nSeries.nunique: Method nunique for Series.\nDataFrame.count: Count non-NA cells for each column or row.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [4, 5, 6], 'B': [4, 1, 1]})\n>>> df.nunique()\nA 3\nB 2\ndtype: int64\n\n>>> df.nunique(axis=1)\n0 1\n1 2\n2 2\ndtype: int64\n"}, "kind": 2, "label": "nunique", "sortText": "119"}, {"detail": "bound method DataFrame.pad(*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = None, inplace: bool = False, limit: None | int = None, downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame | None", "documentation": {"kind": "plaintext", "value": "Fill NA/NaN values by propagating the last valid observation to next valid.\n\n.. deprecated:: 2.0\n\n {klass}.pad is deprecated. Use {klass}.ffill instead.\n\nReturns\n-------\n{klass} or None\n Object with missing values filled or None if ``inplace=True``.\n\nExamples\n--------\nPlease see examples for :meth:`DataFrame.ffill` or :meth:`Series.ffill`.\n"}, "kind": 2, "label": "pad", "sortText": "120"}, {"detail": "bound method DataFrame.pct_change(periods: int = 1, fill_method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None | _NoDefault = ..., limit: int | None | _NoDefault = ..., freq=None, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Fractional change between the current and a prior element.\n\nComputes the fractional change from the immediately previous row by\ndefault. This is useful in comparing the fraction of change in a time\nseries of elements.\n\n.. note::\n\n Despite the name of this method, it calculates fractional change\n (also known as per unit change or relative change) and not\n percentage change. If you need the percentage change, multiply\n these values by 100.\n\nParameters\n----------\nperiods : int, default 1\n Periods to shift for forming percent change.\nfill_method : {'backfill', 'bfill', 'pad', 'ffill', None}, default 'pad'\n How to handle NAs **before** computing percent changes.\n\n .. deprecated:: 2.1\n All options of `fill_method` are deprecated except `fill_method=None`.\n\nlimit : int, default None\n The number of consecutive NAs to fill before stopping.\n\n .. deprecated:: 2.1\n\nfreq : DateOffset, timedelta, or str, optional\n Increment to use from time series API (e.g. 'ME' or BDay()).\n**kwargs\n Additional keyword arguments are passed into\n `DataFrame.shift` or `Series.shift`.\n\nReturns\n-------\nSeries or DataFrame\n The same type as the calling object.\n\nSee Also\n--------\nSeries.diff : Compute the difference of two elements in a Series.\nDataFrame.diff : Compute the difference of two elements in a DataFrame.\nSeries.shift : Shift the index by some number of periods.\nDataFrame.shift : Shift the index by some number of periods.\n\nExamples\n--------\n**Series**\n\n>>> s = pd.Series([90, 91, 85])\n>>> s\n0 90\n1 91\n2 85\ndtype: int64\n\n>>> s.pct_change()\n0 NaN\n1 0.011111\n2 -0.065934\ndtype: float64\n\n>>> s.pct_change(periods=2)\n0 NaN\n1 NaN\n2 -0.055556\ndtype: float64\n\nSee the percentage change in a Series where filling NAs with last\nvalid observation forward to next valid.\n\n>>> s = pd.Series([90, 91, None, 85])\n>>> s\n0 90.0\n1 91.0\n2 NaN\n3 85.0\ndtype: float64\n\n>>> s.ffill().pct_change()\n0 NaN\n1 0.011111\n2 0.000000\n3 -0.065934\ndtype: float64\n\n**DataFrame**\n\nPercentage change in French franc, Deutsche Mark, and Italian lira from\n1980-01-01 to 1980-03-01.\n\n>>> df = pd.DataFrame({\n... 'FR': [4.0405, 4.0963, 4.3149],\n... 'GR': [1.7246, 1.7482, 1.8519],\n... 'IT': [804.74, 810.01, 860.13]},\n... index=['1980-01-01', '1980-02-01', '1980-03-01'])\n>>> df\n FR GR IT\n1980-01-01 4.0405 1.7246 804.74\n1980-02-01 4.0963 1.7482 810.01\n1980-03-01 4.3149 1.8519 860.13\n\n>>> df.pct_change()\n FR GR IT\n1980-01-01 NaN NaN NaN\n1980-02-01 0.013810 0.013684 0.006549\n1980-03-01 0.053365 0.059318 0.061876\n\nPercentage of change in GOOG and APPL stock volume. Shows computing\nthe percentage change between columns.\n\n>>> df = pd.DataFrame({\n... '2016': [1769950, 30586265],\n... '2015': [1500923, 40912316],\n... '2014': [1371819, 41403351]},\n... index=['GOOG', 'APPL'])\n>>> df\n 2016 2015 2014\nGOOG 1769950 1500923 1371819\nAPPL 30586265 40912316 41403351\n\n>>> df.pct_change(axis='columns', periods=-1)\n 2016 2015 2014\nGOOG 0.179241 0.094112 NaN\nAPPL -0.252395 -0.011860 NaN\n"}, "kind": 2, "label": "pct_change", "sortText": "121"}, {"detail": "bound method DataFrame.pipe[T](func: ((...) -> T) | tuple[(...) -> T, str], *args, **kwargs) -> T", "documentation": {"kind": "plaintext", "value": "Apply chainable functions that expect Series or DataFrames.\n\nParameters\n----------\nfunc : function\n Function to apply to the {klass}.\n ``args``, and ``kwargs`` are passed into ``func``.\n Alternatively a ``(callable, data_keyword)`` tuple where\n ``data_keyword`` is a string indicating the keyword of\n ``callable`` that expects the {klass}.\n*args : iterable, optional\n Positional arguments passed into ``func``.\n**kwargs : mapping, optional\n A dictionary of keyword arguments passed into ``func``.\n\nReturns\n-------\nthe return type of ``func``.\n\nSee Also\n--------\nDataFrame.apply : Apply a function along input axis of DataFrame.\nDataFrame.map : Apply a function elementwise on a whole DataFrame.\nSeries.map : Apply a mapping correspondence on a\n :class:`~pandas.Series`.\n\nNotes\n-----\nUse ``.pipe`` when chaining together functions that expect\nSeries, DataFrames or GroupBy objects.\n\nExamples\n--------\nConstructing a income DataFrame from a dictionary.\n\n>>> data = [[8000, 1000], [9500, np.nan], [5000, 2000]]\n>>> df = pd.DataFrame(data, columns=['Salary', 'Others'])\n>>> df\n Salary Others\n0 8000 1000.0\n1 9500 NaN\n2 5000 2000.0\n\nFunctions that perform tax reductions on an income DataFrame.\n\n>>> def subtract_federal_tax(df):\n... return df * 0.9\n>>> def subtract_state_tax(df, rate):\n... return df * (1 - rate)\n>>> def subtract_national_insurance(df, rate, rate_increase):\n... new_rate = rate + rate_increase\n... return df * (1 - new_rate)\n\nInstead of writing\n\n>>> subtract_national_insurance(\n... subtract_state_tax(subtract_federal_tax(df), rate=0.12),\n... rate=0.05,\n... rate_increase=0.02) # doctest: +SKIP\n\nYou can write\n\n>>> (\n... df.pipe(subtract_federal_tax)\n... .pipe(subtract_state_tax, rate=0.12)\n... .pipe(subtract_national_insurance, rate=0.05, rate_increase=0.02)\n... )\n Salary Others\n0 5892.48 736.56\n1 6997.32 NaN\n2 3682.80 1473.12\n\nIf you have a function that takes the data as (say) the second\nargument, pass a tuple indicating which keyword expects the\ndata. For example, suppose ``national_insurance`` takes its data as ``df``\nin the second argument:\n\n>>> def subtract_national_insurance(rate, df, rate_increase):\n... new_rate = rate + rate_increase\n... return df * (1 - new_rate)\n>>> (\n... df.pipe(subtract_federal_tax)\n... .pipe(subtract_state_tax, rate=0.12)\n... .pipe(\n... (subtract_national_insurance, 'df'),\n... rate=0.05,\n... rate_increase=0.02\n... )\n... )\n Salary Others\n0 5892.48 736.56\n1 6997.32 NaN\n2 3682.80 1473.12\n"}, "kind": 2, "label": "pipe", "sortText": "122"}, {"detail": "bound method DataFrame.pivot(*, columns, index=..., values=...) -> DataFrame", "kind": 2, "label": "pivot", "sortText": "123"}, {"detail": "bound method DataFrame.pivot_table(values=None, index=None, columns=None, aggfunc: ((...) -> Unknown) | str | list[((...) -> Unknown) | str] | MutableMapping[Hashable, ((...) -> Unknown) | str | list[((...) -> Unknown) | str]] = \"mean\", fill_value=None, margins: bool = False, dropna: bool = True, margins_name: Hashable = \"All\", observed: bool | _NoDefault = ..., sort: bool = True) -> DataFrame", "kind": 2, "label": "pivot_table", "sortText": "124"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "plot", "sortText": "125"}, {"detail": "bound method DataFrame.pop(item: Hashable) -> Series", "documentation": {"kind": "plaintext", "value": "Return item and drop from frame. Raise KeyError if not found.\n\nParameters\n----------\nitem : label\n Label of column to be popped.\n\nReturns\n-------\nSeries\n\nExamples\n--------\n>>> df = pd.DataFrame([('falcon', 'bird', 389.0),\n... ('parrot', 'bird', 24.0),\n... ('lion', 'mammal', 80.5),\n... ('monkey', 'mammal', np.nan)],\n... columns=('name', 'class', 'max_speed'))\n>>> df\n name class max_speed\n0 falcon bird 389.0\n1 parrot bird 24.0\n2 lion mammal 80.5\n3 monkey mammal NaN\n\n>>> df.pop('class')\n0 bird\n1 bird\n2 mammal\n3 mammal\nName: class, dtype: object\n\n>>> df\n name max_speed\n0 falcon 389.0\n1 parrot 24.0\n2 lion 80.5\n3 monkey NaN\n"}, "kind": 2, "label": "pop", "sortText": "126"}, {"detail": "bound method DataFrame.pow(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "pow", "sortText": "127"}, {"detail": "bound method DataFrame.prod(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, min_count: int = 0, **kwargs) -> Unknown", "kind": 2, "label": "prod", "sortText": "128"}, {"detail": "(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, min_count: int = 0, **kwargs) -> Unknown", "kind": 3, "label": "product", "sortText": "129"}, {"detail": "Overload[(q: float = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., numeric_only: bool = ..., interpolation: Literal[\"linear\", \"lower\", \"higher\", \"midpoint\", \"nearest\"] = ..., method: Literal[\"single\", \"table\"] = ...) -> Series, (q: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | Series | Sequence[float], axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., numeric_only: bool = ..., interpolation: Literal[\"linear\", \"lower\", \"higher\", \"midpoint\", \"nearest\"] = ..., method: Literal[\"single\", \"table\"] = ...) -> Series | DataFrame, (q: float | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | ... omitted 3 union elements = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., numeric_only: bool = ..., interpolation: Literal[\"linear\", \"lower\", \"higher\", \"midpoint\", \"nearest\"] = ..., method: Literal[\"single\", \"table\"] = ...) -> Series | DataFrame]", "documentation": {"kind": "plaintext", "value": "Return values at the given quantile over requested axis.\n\nParameters\n----------\nq : float or array-like, default 0.5 (50% quantile)\n Value between 0 <= q <= 1, the quantile(s) to compute.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Equals 0 or 'index' for row-wise, 1 or 'columns' for column-wise.\nnumeric_only : bool, default False\n Include only `float`, `int` or `boolean` data.\n\n .. versionchanged:: 2.0.0\n The default value of ``numeric_only`` is now ``False``.\n\ninterpolation : {'linear', 'lower', 'higher', 'midpoint', 'nearest'}\n This optional parameter specifies the interpolation method to use,\n when the desired quantile lies between two data points `i` and `j`:\n\n * linear: `i + (j - i) * fraction`, where `fraction` is the\n fractional part of the index surrounded by `i` and `j`.\n * lower: `i`.\n * higher: `j`.\n * nearest: `i` or `j` whichever is nearest.\n * midpoint: (`i` + `j`) / 2.\nmethod : {'single', 'table'}, default 'single'\n Whether to compute quantiles per-column ('single') or over all columns\n ('table'). When 'table', the only allowed interpolation methods are\n 'nearest', 'lower', and 'higher'.\n\nReturns\n-------\nSeries or DataFrame\n\n If ``q`` is an array, a DataFrame will be returned where the\n index is ``q``, the columns are the columns of self, and the\n values are the quantiles.\n If ``q`` is a float, a Series will be returned where the\n index is the columns of self and the values are the quantiles.\n\nSee Also\n--------\ncore.window.rolling.Rolling.quantile: Rolling quantile.\nnumpy.percentile: Numpy function to compute the percentile.\n\nExamples\n--------\n>>> df = pd.DataFrame(np.array([[1, 1], [2, 10], [3, 100], [4, 100]]),\n... columns=['a', 'b'])\n>>> df.quantile(.1)\na 1.3\nb 3.7\nName: 0.1, dtype: float64\n>>> df.quantile([.1, .5])\n a b\n0.1 1.3 3.7\n0.5 2.5 55.0\n\nSpecifying `method='table'` will compute the quantile over all columns.\n\n>>> df.quantile(.1, method=\"table\", interpolation=\"nearest\")\na 1\nb 1\nName: 0.1, dtype: int64\n>>> df.quantile([.1, .5], method=\"table\", interpolation=\"nearest\")\n a b\n0.1 1 1\n0.5 3 100\n\nSpecifying `numeric_only=False` will also compute the quantile of\ndatetime and timedelta data.\n\n>>> df = pd.DataFrame({'A': [1, 2],\n... 'B': [pd.Timestamp('2010'),\n... pd.Timestamp('2011')],\n... 'C': [pd.Timedelta('1 days'),\n... pd.Timedelta('2 days')]})\n>>> df.quantile(0.5, numeric_only=False)\nA 1.5\nB 2010-07-02 12:00:00\nC 1 days 12:00:00\nName: 0.5, dtype: object\n"}, "kind": 2, "label": "quantile", "sortText": "130"}, {"detail": "Overload[(expr: str, *, inplace: Literal[False] = ..., **kwargs) -> DataFrame, (expr: str, *, inplace: Literal[True], **kwargs) -> None, (expr: str, *, inplace: bool = ..., **kwargs) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Query the columns of a DataFrame with a boolean expression.\n\nParameters\n----------\nexpr : str\n The query string to evaluate.\n\n You can refer to variables\n in the environment by prefixing them with an '@' character like\n ``@a + b``.\n\n You can refer to column names that are not valid Python variable names\n by surrounding them in backticks. Thus, column names containing spaces\n or punctuations (besides underscores) or starting with digits must be\n surrounded by backticks. (For example, a column named \"Area (cm^2)\" would\n be referenced as ```Area (cm^2)```). Column names which are Python keywords\n (like \"list\", \"for\", \"import\", etc) cannot be used.\n\n For example, if one of your columns is called ``a a`` and you want\n to sum it with ``b``, your query should be ```a a` + b``.\n\ninplace : bool\n Whether to modify the DataFrame rather than creating a new one.\n**kwargs\n See the documentation for :func:`eval` for complete details\n on the keyword arguments accepted by :meth:`DataFrame.query`.\n\nReturns\n-------\nDataFrame or None\n DataFrame resulting from the provided query expression or\n None if ``inplace=True``.\n\nSee Also\n--------\neval : Evaluate a string describing operations on\n DataFrame columns.\nDataFrame.eval : Evaluate a string describing operations on\n DataFrame columns.\n\nNotes\n-----\nThe result of the evaluation of this expression is first passed to\n:attr:`DataFrame.loc` and if that fails because of a\nmultidimensional key (e.g., a DataFrame) then the result will be passed\nto :meth:`DataFrame.__getitem__`.\n\nThis method uses the top-level :func:`eval` function to\nevaluate the passed query.\n\nThe :meth:`~pandas.DataFrame.query` method uses a slightly\nmodified Python syntax by default. For example, the ``&`` and ``|``\n(bitwise) operators have the precedence of their boolean cousins,\n:keyword:`and` and :keyword:`or`. This *is* syntactically valid Python,\nhowever the semantics are different.\n\nYou can change the semantics of the expression by passing the keyword\nargument ``parser='python'``. This enforces the same semantics as\nevaluation in Python space. Likewise, you can pass ``engine='python'``\nto evaluate an expression using Python itself as a backend. This is not\nrecommended as it is inefficient compared to using ``numexpr`` as the\nengine.\n\nThe :attr:`DataFrame.index` and\n:attr:`DataFrame.columns` attributes of the\n:class:`~pandas.DataFrame` instance are placed in the query namespace\nby default, which allows you to treat both the index and columns of the\nframe as a column in the frame.\nThe identifier ``index`` is used for the frame index; you can also\nuse the name of the index to identify it in a query. Please note that\nPython keywords may not be used as identifiers.\n\nFor further details and examples see the ``query`` documentation in\n:ref:`indexing `.\n\n*Backtick quoted variables*\n\nBacktick quoted variables are parsed as literal Python code and\nare converted internally to a Python valid identifier.\nThis can lead to the following problems.\n\nDuring parsing a number of disallowed characters inside the backtick\nquoted string are replaced by strings that are allowed as a Python identifier.\nThese characters include all operators in Python, the space character, the\nquestion mark, the exclamation mark, the dollar sign, and the euro sign.\nFor other characters that fall outside the ASCII range (U+0001..U+007F)\nand those that are not further specified in PEP 3131,\nthe query parser will raise an error.\nThis excludes whitespace different than the space character,\nbut also the hashtag (as it is used for comments) and the backtick\nitself (backtick can also not be escaped).\n\nIn a special case, quotes that make a pair around a backtick can\nconfuse the parser.\nFor example, ```it's` > `that's``` will raise an error,\nas it forms a quoted string (``'s > `that'``) with a backtick inside.\n\nSee also the Python documentation about lexical analysis\n(https://docs.python.org/3/reference/lexical_analysis.html)\nin combination with the source code in :mod:`pandas.core.computation.parsing`.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': range(1, 6),\n... 'B': range(10, 0, -2),\n... 'C C': range(10, 5, -1)})\n>>> df\n A B C C\n0 1 10 10\n1 2 8 9\n2 3 6 8\n3 4 4 7\n4 5 2 6\n>>> df.query('A > B')\n A B C C\n4 5 2 6\n\nThe previous expression is equivalent to\n\n>>> df[df.A > df.B]\n A B C C\n4 5 2 6\n\nFor columns with spaces in their name, you can use backtick quoting.\n\n>>> df.query('B == `C C`')\n A B C C\n0 1 10 10\n\nThe previous expression is equivalent to\n\n>>> df[df.B == df['C C']]\n A B C C\n0 1 10 10\n"}, "kind": 2, "label": "query", "sortText": "131"}, {"detail": "bound method DataFrame.radd(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "radd", "sortText": "132"}, {"detail": "bound method DataFrame.rank(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, method: Literal[\"average\", \"min\", \"max\", \"first\", \"dense\"] = \"average\", numeric_only: bool = False, na_option: Literal[\"keep\", \"top\", \"bottom\"] = \"keep\", ascending: bool = True, pct: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Compute numerical data ranks (1 through n) along axis.\n\nBy default, equal values are assigned a rank that is the average of the\nranks of those values.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Index to direct ranking.\n For `Series` this parameter is unused and defaults to 0.\nmethod : {'average', 'min', 'max', 'first', 'dense'}, default 'average'\n How to rank the group of records that have the same value (i.e. ties):\n\n * average: average rank of the group\n * min: lowest rank in the group\n * max: highest rank in the group\n * first: ranks assigned in order they appear in the array\n * dense: like 'min', but rank always increases by 1 between groups.\n\nnumeric_only : bool, default False\n For DataFrame objects, rank only numeric columns if set to True.\n\n .. versionchanged:: 2.0.0\n The default value of ``numeric_only`` is now ``False``.\n\nna_option : {'keep', 'top', 'bottom'}, default 'keep'\n How to rank NaN values:\n\n * keep: assign NaN rank to NaN values\n * top: assign lowest rank to NaN values\n * bottom: assign highest rank to NaN values\n\nascending : bool, default True\n Whether or not the elements should be ranked in ascending order.\npct : bool, default False\n Whether or not to display the returned rankings in percentile\n form.\n\nReturns\n-------\nsame type as caller\n Return a Series or DataFrame with data ranks as values.\n\nSee Also\n--------\ncore.groupby.DataFrameGroupBy.rank : Rank of values within each group.\ncore.groupby.SeriesGroupBy.rank : Rank of values within each group.\n\nExamples\n--------\n>>> df = pd.DataFrame(data={'Animal': ['cat', 'penguin', 'dog',\n... 'spider', 'snake'],\n... 'Number_legs': [4, 2, 4, 8, np.nan]})\n>>> df\n Animal Number_legs\n0 cat 4.0\n1 penguin 2.0\n2 dog 4.0\n3 spider 8.0\n4 snake NaN\n\nTies are assigned the mean of the ranks (by default) for the group.\n\n>>> s = pd.Series(range(5), index=list(\"abcde\"))\n>>> s[\"d\"] = s[\"b\"]\n>>> s.rank()\na 1.0\nb 2.5\nc 4.0\nd 2.5\ne 5.0\ndtype: float64\n\nThe following example shows how the method behaves with the above\nparameters:\n\n* default_rank: this is the default behaviour obtained without using\n any parameter.\n* max_rank: setting ``method = 'max'`` the records that have the\n same values are ranked using the highest rank (e.g.: since 'cat'\n and 'dog' are both in the 2nd and 3rd position, rank 3 is assigned.)\n* NA_bottom: choosing ``na_option = 'bottom'``, if there are records\n with NaN values they are placed at the bottom of the ranking.\n* pct_rank: when setting ``pct = True``, the ranking is expressed as\n percentile rank.\n\n>>> df['default_rank'] = df['Number_legs'].rank()\n>>> df['max_rank'] = df['Number_legs'].rank(method='max')\n>>> df['NA_bottom'] = df['Number_legs'].rank(na_option='bottom')\n>>> df['pct_rank'] = df['Number_legs'].rank(pct=True)\n>>> df\n Animal Number_legs default_rank max_rank NA_bottom pct_rank\n0 cat 4.0 2.5 3.0 2.5 0.625\n1 penguin 2.0 1.0 1.0 1.0 0.250\n2 dog 4.0 2.5 3.0 2.5 0.625\n3 spider 8.0 4.0 4.0 4.0 1.000\n4 snake NaN NaN NaN 5.0 NaN\n"}, "kind": 2, "label": "rank", "sortText": "133"}, {"detail": "(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 3, "label": "rdiv", "sortText": "134"}, {"detail": "bound method DataFrame.reindex(labels=None, *, index=None, columns=None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\", \"nearest\"] | None = None, copy: bool | None = None, level: Hashable = None, fill_value: str | float | Period | ... omitted 6 union elements = ..., limit: int | None = None, tolerance=None) -> DataFrame", "kind": 2, "label": "reindex", "sortText": "135"}, {"detail": "bound method DataFrame.reindex_like(other, method: Literal[\"backfill\", \"bfill\", \"pad\", \"ffill\", \"nearest\"] | None = None, copy: bool | None = None, limit: int | None = None, tolerance=None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return an object with matching indices as other object.\n\nConform the object to the same index on all axes. Optional\nfilling logic, placing NaN in locations having no value\nin the previous index. A new object is produced unless the\nnew index is equivalent to the current one and copy=False.\n\nParameters\n----------\nother : Object of the same data type\n Its row and column indices are used to define the new indices\n of this object.\nmethod : {None, 'backfill'/'bfill', 'pad'/'ffill', 'nearest'}\n Method to use for filling holes in reindexed DataFrame.\n Please note: this is only applicable to DataFrames/Series with a\n monotonically increasing/decreasing index.\n\n * None (default): don't fill gaps\n * pad / ffill: propagate last valid observation forward to next\n valid\n * backfill / bfill: use next valid observation to fill gap\n * nearest: use nearest valid observations to fill gap.\n\ncopy : bool, default True\n Return a new object, even if the passed indexes are the same.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\nlimit : int, default None\n Maximum number of consecutive labels to fill for inexact matches.\ntolerance : optional\n Maximum distance between original and new labels for inexact\n matches. The values of the index at the matching locations must\n satisfy the equation ``abs(index[indexer] - target) <= tolerance``.\n\n Tolerance may be a scalar value, which applies the same tolerance\n to all values, or list-like, which applies variable tolerance per\n element. List-like includes list, tuple, array, Series, and must be\n the same size as the index and its dtype must exactly match the\n index's type.\n\nReturns\n-------\nSeries or DataFrame\n Same type as caller, but with changed indices on each axis.\n\nSee Also\n--------\nDataFrame.set_index : Set row labels.\nDataFrame.reset_index : Remove row labels or move them to new columns.\nDataFrame.reindex : Change to new indices or expand indices.\n\nNotes\n-----\nSame as calling\n``.reindex(index=other.index, columns=other.columns,...)``.\n\nExamples\n--------\n>>> df1 = pd.DataFrame([[24.3, 75.7, 'high'],\n... [31, 87.8, 'high'],\n... [22, 71.6, 'medium'],\n... [35, 95, 'medium']],\n... columns=['temp_celsius', 'temp_fahrenheit',\n... 'windspeed'],\n... index=pd.date_range(start='2014-02-12',\n... end='2014-02-15', freq='D'))\n\n>>> df1\n temp_celsius temp_fahrenheit windspeed\n2014-02-12 24.3 75.7 high\n2014-02-13 31.0 87.8 high\n2014-02-14 22.0 71.6 medium\n2014-02-15 35.0 95.0 medium\n\n>>> df2 = pd.DataFrame([[28, 'low'],\n... [30, 'low'],\n... [35.1, 'medium']],\n... columns=['temp_celsius', 'windspeed'],\n... index=pd.DatetimeIndex(['2014-02-12', '2014-02-13',\n... '2014-02-15']))\n\n>>> df2\n temp_celsius windspeed\n2014-02-12 28.0 low\n2014-02-13 30.0 low\n2014-02-15 35.1 medium\n\n>>> df2.reindex_like(df1)\n temp_celsius temp_fahrenheit windspeed\n2014-02-12 28.0 NaN low\n2014-02-13 30.0 NaN low\n2014-02-14 NaN NaN NaN\n2014-02-15 35.1 NaN medium\n"}, "kind": 2, "label": "reindex_like", "sortText": "136"}, {"detail": "Overload[(mapper: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., *, index: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., columns: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., copy: bool | None = ..., inplace: Literal[True], level: Hashable = ..., errors: Literal[\"ignore\", \"raise\"] = ...) -> None, (mapper: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., *, index: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., columns: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., copy: bool | None = ..., inplace: Literal[False] = ..., level: Hashable = ..., errors: Literal[\"ignore\", \"raise\"] = ...) -> DataFrame, (mapper: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., *, index: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., columns: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., copy: bool | None = ..., inplace: bool = ..., level: Hashable = ..., errors: Literal[\"ignore\", \"raise\"] = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Rename columns or index labels.\n\nFunction / dict values must be unique (1-to-1). Labels not contained in\na dict / Series will be left as-is. Extra labels listed don't throw an\nerror.\n\nSee the :ref:`user guide ` for more.\n\nParameters\n----------\nmapper : dict-like or function\n Dict-like or function transformations to apply to\n that axis' values. Use either ``mapper`` and ``axis`` to\n specify the axis to target with ``mapper``, or ``index`` and\n ``columns``.\nindex : dict-like or function\n Alternative to specifying axis (``mapper, axis=0``\n is equivalent to ``index=mapper``).\ncolumns : dict-like or function\n Alternative to specifying axis (``mapper, axis=1``\n is equivalent to ``columns=mapper``).\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Axis to target with ``mapper``. Can be either the axis name\n ('index', 'columns') or number (0, 1). The default is 'index'.\ncopy : bool, default True\n Also copy underlying data.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\ninplace : bool, default False\n Whether to modify the DataFrame rather than creating a new one.\n If True then value of copy is ignored.\nlevel : int or level name, default None\n In case of a MultiIndex, only rename labels in the specified\n level.\nerrors : {'ignore', 'raise'}, default 'ignore'\n If 'raise', raise a `KeyError` when a dict-like `mapper`, `index`,\n or `columns` contains labels that are not present in the Index\n being transformed.\n If 'ignore', existing keys will be renamed and extra keys will be\n ignored.\n\nReturns\n-------\nDataFrame or None\n DataFrame with the renamed axis labels or None if ``inplace=True``.\n\nRaises\n------\nKeyError\n If any of the labels is not found in the selected axis and\n \"errors='raise'\".\n\nSee Also\n--------\nDataFrame.rename_axis : Set the name of the axis.\n\nExamples\n--------\n``DataFrame.rename`` supports two calling conventions\n\n* ``(index=index_mapper, columns=columns_mapper, ...)``\n* ``(mapper, axis={'index', 'columns'}, ...)``\n\nWe *highly* recommend using keyword arguments to clarify your\nintent.\n\nRename columns using a mapping:\n\n>>> df = pd.DataFrame({\"A\": [1, 2, 3], \"B\": [4, 5, 6]})\n>>> df.rename(columns={\"A\": \"a\", \"B\": \"c\"})\n a c\n0 1 4\n1 2 5\n2 3 6\n\nRename index using a mapping:\n\n>>> df.rename(index={0: \"x\", 1: \"y\", 2: \"z\"})\n A B\nx 1 4\ny 2 5\nz 3 6\n\nCast index labels to a different type:\n\n>>> df.index\nRangeIndex(start=0, stop=3, step=1)\n>>> df.rename(index=str).index\nIndex(['0', '1', '2'], dtype='object')\n\n>>> df.rename(columns={\"A\": \"a\", \"B\": \"b\", \"C\": \"c\"}, errors=\"raise\")\nTraceback (most recent call last):\nKeyError: ['C'] not found in axis\n\nUsing axis-style parameters:\n\n>>> df.rename(str.lower, axis='columns')\n a b\n0 1 4\n1 2 5\n2 3 6\n\n>>> df.rename({1: 2, 2: 4}, axis='index')\n A B\n0 1 4\n2 2 5\n4 3 6\n"}, "kind": 2, "label": "rename", "sortText": "137"}, {"detail": "Overload[(mapper: Hashable | Sequence[Hashable] = ..., *, index=..., columns=..., axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., copy: bool | None = ..., inplace: Literal[False] = ...) -> DataFrame, (mapper: Hashable | Sequence[Hashable] = ..., *, index=..., columns=..., axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., copy: bool | None = ..., inplace: Literal[True]) -> None, (mapper: Hashable | Sequence[Hashable] = ..., *, index=..., columns=..., axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., copy: bool | None = ..., inplace: bool = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Set the name of the axis for the index or columns.\n\nParameters\n----------\nmapper : scalar, list-like, optional\n Value to set the axis name attribute.\nindex, columns : scalar, list-like, dict-like or function, optional\n A scalar, list-like, dict-like or functions transformations to\n apply to that axis' values.\n Note that the ``columns`` parameter is not allowed if the\n object is a Series. This parameter only apply for DataFrame\n type objects.\n\n Use either ``mapper`` and ``axis`` to\n specify the axis to target with ``mapper``, or ``index``\n and/or ``columns``.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to rename. For `Series` this parameter is unused and defaults to 0.\ncopy : bool, default None\n Also copy underlying data.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\ninplace : bool, default False\n Modifies the object directly, instead of creating a new Series\n or DataFrame.\n\nReturns\n-------\nSeries, DataFrame, or None\n The same type as the caller or None if ``inplace=True``.\n\nSee Also\n--------\nSeries.rename : Alter Series index labels or name.\nDataFrame.rename : Alter DataFrame index labels or name.\nIndex.rename : Set new names on index.\n\nNotes\n-----\n``DataFrame.rename_axis`` supports two calling conventions\n\n* ``(index=index_mapper, columns=columns_mapper, ...)``\n* ``(mapper, axis={'index', 'columns'}, ...)``\n\nThe first calling convention will only modify the names of\nthe index and/or the names of the Index object that is the columns.\nIn this case, the parameter ``copy`` is ignored.\n\nThe second calling convention will modify the names of the\ncorresponding index if mapper is a list or a scalar.\nHowever, if mapper is dict-like or a function, it will use the\ndeprecated behavior of modifying the axis *labels*.\n\nWe *highly* recommend using keyword arguments to clarify your\nintent.\n\nExamples\n--------\n**Series**\n\n>>> s = pd.Series([\"dog\", \"cat\", \"monkey\"])\n>>> s\n0 dog\n1 cat\n2 monkey\ndtype: object\n>>> s.rename_axis(\"animal\")\nanimal\n0 dog\n1 cat\n2 monkey\ndtype: object\n\n**DataFrame**\n\n>>> df = pd.DataFrame({\"num_legs\": [4, 4, 2],\n... \"num_arms\": [0, 0, 2]},\n... [\"dog\", \"cat\", \"monkey\"])\n>>> df\n num_legs num_arms\ndog 4 0\ncat 4 0\nmonkey 2 2\n>>> df = df.rename_axis(\"animal\")\n>>> df\n num_legs num_arms\nanimal\ndog 4 0\ncat 4 0\nmonkey 2 2\n>>> df = df.rename_axis(\"limbs\", axis=\"columns\")\n>>> df\nlimbs num_legs num_arms\nanimal\ndog 4 0\ncat 4 0\nmonkey 2 2\n\n**MultiIndex**\n\n>>> df.index = pd.MultiIndex.from_product([['mammal'],\n... ['dog', 'cat', 'monkey']],\n... names=['type', 'name'])\n>>> df\nlimbs num_legs num_arms\ntype name\nmammal dog 4 0\n cat 4 0\n monkey 2 2\n\n>>> df.rename_axis(index={'type': 'class'})\nlimbs num_legs num_arms\nclass name\nmammal dog 4 0\n cat 4 0\n monkey 2 2\n\n>>> df.rename_axis(columns=str.upper)\nLIMBS num_legs num_arms\ntype name\nmammal dog 4 0\n cat 4 0\n monkey 2 2\n"}, "kind": 2, "label": "rename_axis", "sortText": "138"}, {"detail": "bound method DataFrame.reorder_levels(order: Sequence[int | str], axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Rearrange index levels using input order. May not drop or duplicate levels.\n\nParameters\n----------\norder : list of int or list of str\n List representing new level order. Reference level by number\n (position) or by key (label).\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Where to reorder levels.\n\nReturns\n-------\nDataFrame\n\nExamples\n--------\n>>> data = {\n... \"class\": [\"Mammals\", \"Mammals\", \"Reptiles\"],\n... \"diet\": [\"Omnivore\", \"Carnivore\", \"Carnivore\"],\n... \"species\": [\"Humans\", \"Dogs\", \"Snakes\"],\n... }\n>>> df = pd.DataFrame(data, columns=[\"class\", \"diet\", \"species\"])\n>>> df = df.set_index([\"class\", \"diet\"])\n>>> df\n species\nclass diet\nMammals Omnivore Humans\n Carnivore Dogs\nReptiles Carnivore Snakes\n\nLet's reorder the levels of the index:\n\n>>> df.reorder_levels([\"diet\", \"class\"])\n species\ndiet class\nOmnivore Mammals Humans\nCarnivore Mammals Dogs\n Reptiles Snakes\n"}, "kind": 2, "label": "reorder_levels", "sortText": "139"}, {"detail": "Overload[(to_replace=..., value=..., *, inplace: Literal[False] = ..., limit: int | None = ..., regex: bool = ..., method: Literal[\"pad\", \"ffill\", \"bfill\"] | _NoDefault = ...) -> DataFrame, (to_replace=..., value=..., *, inplace: Literal[True], limit: int | None = ..., regex: bool = ..., method: Literal[\"pad\", \"ffill\", \"bfill\"] | _NoDefault = ...) -> None, (to_replace=..., value=..., *, inplace: bool = ..., limit: int | None = ..., regex: bool = ..., method: Literal[\"pad\", \"ffill\", \"bfill\"] | _NoDefault = ...) -> DataFrame | None]", "kind": 2, "label": "replace", "sortText": "140"}, {"detail": "bound method DataFrame.resample(rule, axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., closed: Literal[\"right\", \"left\"] | None = None, label: Literal[\"right\", \"left\"] | None = None, convention: Literal[\"start\", \"end\", \"s\", \"e\"] = \"start\", kind: Literal[\"timestamp\", \"period\"] | None | _NoDefault = ..., on: Hashable = None, level: Hashable = None, origin: str | date | datetime64[Any] | signedinteger[_64Bit] | float = \"start_day\", offset: timedelta | timedelta64[Any] | signedinteger[_64Bit] | ... omitted 3 union elements = None, group_keys: bool = False) -> Resampler", "documentation": {"kind": "plaintext", "value": "Resample time-series data.\n\nConvenience method for frequency conversion and resampling of time series.\nThe object must have a datetime-like index (`DatetimeIndex`, `PeriodIndex`,\nor `TimedeltaIndex`), or the caller must pass the label of a datetime-like\nseries/index to the ``on``/``level`` keyword parameter.\n\nParameters\n----------\nrule : DateOffset, Timedelta or str\n The offset string or object representing target conversion.\naxis : {{0 or 'index', 1 or 'columns'}}, default 0\n Which axis to use for up- or down-sampling. For `Series` this parameter\n is unused and defaults to 0. Must be\n `DatetimeIndex`, `TimedeltaIndex` or `PeriodIndex`.\n\n .. deprecated:: 2.0.0\n Use frame.T.resample(...) instead.\nclosed : {{'right', 'left'}}, default None\n Which side of bin interval is closed. The default is 'left'\n for all frequency offsets except for 'ME', 'YE', 'QE', 'BME',\n 'BA', 'BQE', and 'W' which all have a default of 'right'.\nlabel : {{'right', 'left'}}, default None\n Which bin edge label to label bucket with. The default is 'left'\n for all frequency offsets except for 'ME', 'YE', 'QE', 'BME',\n 'BA', 'BQE', and 'W' which all have a default of 'right'.\nconvention : {{'start', 'end', 's', 'e'}}, default 'start'\n For `PeriodIndex` only, controls whether to use the start or\n end of `rule`.\n\nkind : {{'timestamp', 'period'}}, optional, default None\n Pass 'timestamp' to convert the resulting index to a\n `DateTimeIndex` or 'period' to convert it to a `PeriodIndex`.\n By default the input representation is retained.\n\n .. deprecated:: 2.2.0\n Convert index to desired type explicitly instead.\n\non : str, optional\n For a DataFrame, column to use instead of index for resampling.\n Column must be datetime-like.\nlevel : str or int, optional\n For a MultiIndex, level (name or number) to use for\n resampling. `level` must be datetime-like.\norigin : Timestamp or str, default 'start_day'\n The timestamp on which to adjust the grouping. The timezone of origin\n must match the timezone of the index.\n If string, must be one of the following:\n\n - 'epoch': `origin` is 1970-01-01\n - 'start': `origin` is the first value of the timeseries\n - 'start_day': `origin` is the first day at midnight of the timeseries\n\n - 'end': `origin` is the last value of the timeseries\n - 'end_day': `origin` is the ceiling midnight of the last day\n\n .. versionadded:: 1.3.0\n\n .. note::\n\n Only takes effect for Tick-frequencies (i.e. fixed frequencies like\n days, hours, and minutes, rather than months or quarters).\noffset : Timedelta or str, default is None\n An offset timedelta added to the origin.\n\ngroup_keys : bool, default False\n Whether to include the group keys in the result index when using\n ``.apply()`` on the resampled object.\n\n .. versionadded:: 1.5.0\n\n Not specifying ``group_keys`` will retain values-dependent behavior\n from pandas 1.4 and earlier (see :ref:`pandas 1.5.0 Release notes\n ` for examples).\n\n .. versionchanged:: 2.0.0\n\n ``group_keys`` now defaults to ``False``.\n\nReturns\n-------\npandas.api.typing.Resampler\n :class:`~pandas.core.Resampler` object.\n\nSee Also\n--------\nSeries.resample : Resample a Series.\nDataFrame.resample : Resample a DataFrame.\ngroupby : Group {klass} by mapping, function, label, or list of labels.\nasfreq : Reindex a {klass} with the given frequency without grouping.\n\nNotes\n-----\nSee the `user guide\n`__\nfor more.\n\nTo learn more about the offset strings, please see `this link\n`__.\n\nExamples\n--------\nStart by creating a series with 9 one minute timestamps.\n\n>>> index = pd.date_range('1/1/2000', periods=9, freq='min')\n>>> series = pd.Series(range(9), index=index)\n>>> series\n2000-01-01 00:00:00 0\n2000-01-01 00:01:00 1\n2000-01-01 00:02:00 2\n2000-01-01 00:03:00 3\n2000-01-01 00:04:00 4\n2000-01-01 00:05:00 5\n2000-01-01 00:06:00 6\n2000-01-01 00:07:00 7\n2000-01-01 00:08:00 8\nFreq: min, dtype: int64\n\nDownsample the series into 3 minute bins and sum the values\nof the timestamps falling into a bin.\n\n>>> series.resample('3min').sum()\n2000-01-01 00:00:00 3\n2000-01-01 00:03:00 12\n2000-01-01 00:06:00 21\nFreq: 3min, dtype: int64\n\nDownsample the series into 3 minute bins as above, but label each\nbin using the right edge instead of the left. Please note that the\nvalue in the bucket used as the label is not included in the bucket,\nwhich it labels. For example, in the original series the\nbucket ``2000-01-01 00:03:00`` contains the value 3, but the summed\nvalue in the resampled bucket with the label ``2000-01-01 00:03:00``\ndoes not include 3 (if it did, the summed value would be 6, not 3).\n\n>>> series.resample('3min', label='right').sum()\n2000-01-01 00:03:00 3\n2000-01-01 00:06:00 12\n2000-01-01 00:09:00 21\nFreq: 3min, dtype: int64\n\nTo include this value close the right side of the bin interval,\nas shown below.\n\n>>> series.resample('3min', label='right', closed='right').sum()\n2000-01-01 00:00:00 0\n2000-01-01 00:03:00 6\n2000-01-01 00:06:00 15\n2000-01-01 00:09:00 15\nFreq: 3min, dtype: int64\n\nUpsample the series into 30 second bins.\n\n>>> series.resample('30s').asfreq()[0:5] # Select first 5 rows\n2000-01-01 00:00:00 0.0\n2000-01-01 00:00:30 NaN\n2000-01-01 00:01:00 1.0\n2000-01-01 00:01:30 NaN\n2000-01-01 00:02:00 2.0\nFreq: 30s, dtype: float64\n\nUpsample the series into 30 second bins and fill the ``NaN``\nvalues using the ``ffill`` method.\n\n>>> series.resample('30s').ffill()[0:5]\n2000-01-01 00:00:00 0\n2000-01-01 00:00:30 0\n2000-01-01 00:01:00 1\n2000-01-01 00:01:30 1\n2000-01-01 00:02:00 2\nFreq: 30s, dtype: int64\n\nUpsample the series into 30 second bins and fill the\n``NaN`` values using the ``bfill`` method.\n\n>>> series.resample('30s').bfill()[0:5]\n2000-01-01 00:00:00 0\n2000-01-01 00:00:30 1\n2000-01-01 00:01:00 1\n2000-01-01 00:01:30 2\n2000-01-01 00:02:00 2\nFreq: 30s, dtype: int64\n\nPass a custom function via ``apply``\n\n>>> def custom_resampler(arraylike):\n... return np.sum(arraylike) + 5\n...\n>>> series.resample('3min').apply(custom_resampler)\n2000-01-01 00:00:00 8\n2000-01-01 00:03:00 17\n2000-01-01 00:06:00 26\nFreq: 3min, dtype: int64\n\nFor a Series with a PeriodIndex, the keyword `convention` can be\nused to control whether to use the start or end of `rule`.\n\nResample a year by quarter using 'start' `convention`. Values are\nassigned to the first quarter of the period.\n\n>>> s = pd.Series(\n... [1, 2], index=pd.period_range(\"2012-01-01\", freq=\"Y\", periods=2)\n... )\n>>> s\n2012 1\n2013 2\nFreq: Y-DEC, dtype: int64\n>>> s.resample(\"Q\", convention=\"start\").asfreq()\n2012Q1 1.0\n2012Q2 NaN\n2012Q3 NaN\n2012Q4 NaN\n2013Q1 2.0\n2013Q2 NaN\n2013Q3 NaN\n2013Q4 NaN\nFreq: Q-DEC, dtype: float64\n\nResample quarters by month using 'end' `convention`. Values are\nassigned to the last month of the period.\n\n>>> q = pd.Series(\n... [1, 2, 3, 4], index=pd.period_range(\"2018-01-01\", freq=\"Q\", periods=4)\n... )\n>>> q\n2018Q1 1\n2018Q2 2\n2018Q3 3\n2018Q4 4\nFreq: Q-DEC, dtype: int64\n>>> q.resample(\"M\", convention=\"end\").asfreq()\n2018-03 1.0\n2018-04 NaN\n2018-05 NaN\n2018-06 2.0\n2018-07 NaN\n2018-08 NaN\n2018-09 3.0\n2018-10 NaN\n2018-11 NaN\n2018-12 4.0\nFreq: M, dtype: float64\n\nFor DataFrame objects, the keyword `on` can be used to specify the\ncolumn instead of the index for resampling.\n\n>>> d = {{'price': [10, 11, 9, 13, 14, 18, 17, 19],\n... 'volume': [50, 60, 40, 100, 50, 100, 40, 50]}}\n>>> df = pd.DataFrame(d)\n>>> df['week_starting'] = pd.date_range('01/01/2018',\n... periods=8,\n... freq='W')\n>>> df\n price volume week_starting\n0 10 50 2018-01-07\n1 11 60 2018-01-14\n2 9 40 2018-01-21\n3 13 100 2018-01-28\n4 14 50 2018-02-04\n5 18 100 2018-02-11\n6 17 40 2018-02-18\n7 19 50 2018-02-25\n>>> df.resample('ME', on='week_starting').mean()\n price volume\nweek_starting\n2018-01-31 10.75 62.5\n2018-02-28 17.00 60.0\n\nFor a DataFrame with MultiIndex, the keyword `level` can be used to\nspecify on which level the resampling needs to take place.\n\n>>> days = pd.date_range('1/1/2000', periods=4, freq='D')\n>>> d2 = {{'price': [10, 11, 9, 13, 14, 18, 17, 19],\n... 'volume': [50, 60, 40, 100, 50, 100, 40, 50]}}\n>>> df2 = pd.DataFrame(\n... d2,\n... index=pd.MultiIndex.from_product(\n... [days, ['morning', 'afternoon']]\n... )\n... )\n>>> df2\n price volume\n2000-01-01 morning 10 50\n afternoon 11 60\n2000-01-02 morning 9 40\n afternoon 13 100\n2000-01-03 morning 14 50\n afternoon 18 100\n2000-01-04 morning 17 40\n afternoon 19 50\n>>> df2.resample('D', level=0).sum()\n price volume\n2000-01-01 21 110\n2000-01-02 22 140\n2000-01-03 32 150\n2000-01-04 36 90\n\nIf you want to adjust the start of the bins based on a fixed timestamp:\n\n>>> start, end = '2000-10-01 23:30:00', '2000-10-02 00:30:00'\n>>> rng = pd.date_range(start, end, freq='7min')\n>>> ts = pd.Series(np.arange(len(rng)) * 3, index=rng)\n>>> ts\n2000-10-01 23:30:00 0\n2000-10-01 23:37:00 3\n2000-10-01 23:44:00 6\n2000-10-01 23:51:00 9\n2000-10-01 23:58:00 12\n2000-10-02 00:05:00 15\n2000-10-02 00:12:00 18\n2000-10-02 00:19:00 21\n2000-10-02 00:26:00 24\nFreq: 7min, dtype: int64\n\n>>> ts.resample('17min').sum()\n2000-10-01 23:14:00 0\n2000-10-01 23:31:00 9\n2000-10-01 23:48:00 21\n2000-10-02 00:05:00 54\n2000-10-02 00:22:00 24\nFreq: 17min, dtype: int64\n\n>>> ts.resample('17min', origin='epoch').sum()\n2000-10-01 23:18:00 0\n2000-10-01 23:35:00 18\n2000-10-01 23:52:00 27\n2000-10-02 00:09:00 39\n2000-10-02 00:26:00 24\nFreq: 17min, dtype: int64\n\n>>> ts.resample('17min', origin='2000-01-01').sum()\n2000-10-01 23:24:00 3\n2000-10-01 23:41:00 15\n2000-10-01 23:58:00 45\n2000-10-02 00:15:00 45\nFreq: 17min, dtype: int64\n\nIf you want to adjust the start of the bins with an `offset` Timedelta, the two\nfollowing lines are equivalent:\n\n>>> ts.resample('17min', origin='start').sum()\n2000-10-01 23:30:00 9\n2000-10-01 23:47:00 21\n2000-10-02 00:04:00 54\n2000-10-02 00:21:00 24\nFreq: 17min, dtype: int64\n\n>>> ts.resample('17min', offset='23h30min').sum()\n2000-10-01 23:30:00 9\n2000-10-01 23:47:00 21\n2000-10-02 00:04:00 54\n2000-10-02 00:21:00 24\nFreq: 17min, dtype: int64\n\nIf you want to take the largest Timestamp as the end of the bins:\n\n>>> ts.resample('17min', origin='end').sum()\n2000-10-01 23:35:00 0\n2000-10-01 23:52:00 18\n2000-10-02 00:09:00 27\n2000-10-02 00:26:00 63\nFreq: 17min, dtype: int64\n\nIn contrast with the `start_day`, you can use `end_day` to take the ceiling\nmidnight of the largest Timestamp as the end of the bins and drop the bins\nnot containing data:\n\n>>> ts.resample('17min', origin='end_day').sum()\n2000-10-01 23:38:00 3\n2000-10-01 23:55:00 15\n2000-10-02 00:12:00 45\n2000-10-02 00:29:00 45\nFreq: 17min, dtype: int64\n"}, "kind": 2, "label": "resample", "sortText": "141"}, {"detail": "Overload[(level: Hashable | Sequence[Hashable] = ..., *, drop: bool = ..., inplace: Literal[False] = ..., col_level: Hashable = ..., col_fill: Hashable = ..., allow_duplicates: bool | _NoDefault = ..., names: Hashable | Sequence[Hashable] = None) -> DataFrame, (level: Hashable | Sequence[Hashable] = ..., *, drop: bool = ..., inplace: Literal[True], col_level: Hashable = ..., col_fill: Hashable = ..., allow_duplicates: bool | _NoDefault = ..., names: Hashable | Sequence[Hashable] = None) -> None, (level: Hashable | Sequence[Hashable] = ..., *, drop: bool = ..., inplace: bool = ..., col_level: Hashable = ..., col_fill: Hashable = ..., allow_duplicates: bool | _NoDefault = ..., names: Hashable | Sequence[Hashable] = None) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Reset the index, or a level of it.\n\nReset the index of the DataFrame, and use the default one instead.\nIf the DataFrame has a MultiIndex, this method can remove one or more\nlevels.\n\nParameters\n----------\nlevel : int, str, tuple, or list, default None\n Only remove the given levels from the index. Removes all levels by\n default.\ndrop : bool, default False\n Do not try to insert index into dataframe columns. This resets\n the index to the default integer index.\ninplace : bool, default False\n Whether to modify the DataFrame rather than creating a new one.\ncol_level : int or str, default 0\n If the columns have multiple levels, determines which level the\n labels are inserted into. By default it is inserted into the first\n level.\ncol_fill : object, default ''\n If the columns have multiple levels, determines how the other\n levels are named. If None then the index name is repeated.\nallow_duplicates : bool, optional, default lib.no_default\n Allow duplicate column labels to be created.\n\n .. versionadded:: 1.5.0\n\nnames : int, str or 1-dimensional list, default None\n Using the given string, rename the DataFrame column which contains the\n index data. If the DataFrame has a MultiIndex, this has to be a list or\n tuple with length equal to the number of levels.\n\n .. versionadded:: 1.5.0\n\nReturns\n-------\nDataFrame or None\n DataFrame with the new index or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.set_index : Opposite of reset_index.\nDataFrame.reindex : Change to new indices or expand indices.\nDataFrame.reindex_like : Change to same indices as other DataFrame.\n\nExamples\n--------\n>>> df = pd.DataFrame([('bird', 389.0),\n... ('bird', 24.0),\n... ('mammal', 80.5),\n... ('mammal', np.nan)],\n... index=['falcon', 'parrot', 'lion', 'monkey'],\n... columns=('class', 'max_speed'))\n>>> df\n class max_speed\nfalcon bird 389.0\nparrot bird 24.0\nlion mammal 80.5\nmonkey mammal NaN\n\nWhen we reset the index, the old index is added as a column, and a\nnew sequential index is used:\n\n>>> df.reset_index()\n index class max_speed\n0 falcon bird 389.0\n1 parrot bird 24.0\n2 lion mammal 80.5\n3 monkey mammal NaN\n\nWe can use the `drop` parameter to avoid the old index being added as\na column:\n\n>>> df.reset_index(drop=True)\n class max_speed\n0 bird 389.0\n1 bird 24.0\n2 mammal 80.5\n3 mammal NaN\n\nYou can also use `reset_index` with `MultiIndex`.\n\n>>> index = pd.MultiIndex.from_tuples([('bird', 'falcon'),\n... ('bird', 'parrot'),\n... ('mammal', 'lion'),\n... ('mammal', 'monkey')],\n... names=['class', 'name'])\n>>> columns = pd.MultiIndex.from_tuples([('speed', 'max'),\n... ('species', 'type')])\n>>> df = pd.DataFrame([(389.0, 'fly'),\n... (24.0, 'fly'),\n... (80.5, 'run'),\n... (np.nan, 'jump')],\n... index=index,\n... columns=columns)\n>>> df\n speed species\n max type\nclass name\nbird falcon 389.0 fly\n parrot 24.0 fly\nmammal lion 80.5 run\n monkey NaN jump\n\nUsing the `names` parameter, choose a name for the index column:\n\n>>> df.reset_index(names=['classes', 'names'])\n classes names speed species\n max type\n0 bird falcon 389.0 fly\n1 bird parrot 24.0 fly\n2 mammal lion 80.5 run\n3 mammal monkey NaN jump\n\nIf the index has multiple levels, we can reset a subset of them:\n\n>>> df.reset_index(level='class')\n class speed species\n max type\nname\nfalcon bird 389.0 fly\nparrot bird 24.0 fly\nlion mammal 80.5 run\nmonkey mammal NaN jump\n\nIf we are not dropping the index, by default, it is placed in the top\nlevel. We can place it in another level:\n\n>>> df.reset_index(level='class', col_level=1)\n speed species\n class max type\nname\nfalcon bird 389.0 fly\nparrot bird 24.0 fly\nlion mammal 80.5 run\nmonkey mammal NaN jump\n\nWhen the index is inserted under another level, we can specify under\nwhich one with the parameter `col_fill`:\n\n>>> df.reset_index(level='class', col_level=1, col_fill='species')\n species speed species\n class max type\nname\nfalcon bird 389.0 fly\nparrot bird 24.0 fly\nlion mammal 80.5 run\nmonkey mammal NaN jump\n\nIf we specify a nonexistent level for `col_fill`, it is created:\n\n>>> df.reset_index(level='class', col_level=1, col_fill='genus')\n genus speed species\n class max type\nname\nfalcon bird 389.0 fly\nparrot bird 24.0 fly\nlion mammal 80.5 run\nmonkey mammal NaN jump\n"}, "kind": 2, "label": "reset_index", "sortText": "142"}, {"detail": "bound method DataFrame.rfloordiv(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rfloordiv", "sortText": "143"}, {"detail": "bound method DataFrame.rmod(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rmod", "sortText": "144"}, {"detail": "bound method DataFrame.rmul(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rmul", "sortText": "145"}, {"detail": "bound method DataFrame.rolling(window: int | timedelta | str | BaseOffset | BaseIndexer, min_periods: int | None = None, center: bool = False, win_type: str | None = None, on: str | None = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., closed: Literal[\"left\", \"right\", \"both\", \"neither\"] | None = None, step: int | None = None, method: str = \"single\") -> Window | Rolling", "kind": 2, "label": "rolling", "sortText": "146"}, {"detail": "bound method DataFrame.round(decimals: int | dict[Hashable | Sequence[Hashable], int] | Series = 0, *args, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Round a DataFrame to a variable number of decimal places.\n\nParameters\n----------\ndecimals : int, dict, Series\n Number of decimal places to round each column to. If an int is\n given, round each column to the same number of places.\n Otherwise dict and Series round to variable numbers of places.\n Column names should be in the keys if `decimals` is a\n dict-like, or in the index if `decimals` is a Series. Any\n columns not included in `decimals` will be left as is. Elements\n of `decimals` which are not columns of the input will be\n ignored.\n*args\n Additional keywords have no effect but might be accepted for\n compatibility with numpy.\n**kwargs\n Additional keywords have no effect but might be accepted for\n compatibility with numpy.\n\nReturns\n-------\nDataFrame\n A DataFrame with the affected columns rounded to the specified\n number of decimal places.\n\nSee Also\n--------\nnumpy.around : Round a numpy array to the given number of decimals.\nSeries.round : Round a Series to the given number of decimals.\n\nExamples\n--------\n>>> df = pd.DataFrame([(.21, .32), (.01, .67), (.66, .03), (.21, .18)],\n... columns=['dogs', 'cats'])\n>>> df\n dogs cats\n0 0.21 0.32\n1 0.01 0.67\n2 0.66 0.03\n3 0.21 0.18\n\nBy providing an integer each column is rounded to the same number\nof decimal places\n\n>>> df.round(1)\n dogs cats\n0 0.2 0.3\n1 0.0 0.7\n2 0.7 0.0\n3 0.2 0.2\n\nWith a dict, the number of places for specific columns can be\nspecified with the column names as key and the number of decimal\nplaces as value\n\n>>> df.round({'dogs': 1, 'cats': 0})\n dogs cats\n0 0.2 0.0\n1 0.0 1.0\n2 0.7 0.0\n3 0.2 0.0\n\nUsing a Series, the number of places for specific columns can be\nspecified with the column names as index and the number of\ndecimal places as value\n\n>>> decimals = pd.Series([0, 1], index=['cats', 'dogs'])\n>>> df.round(decimals)\n dogs cats\n0 0.2 0.0\n1 0.0 1.0\n2 0.7 0.0\n3 0.2 0.0\n"}, "kind": 2, "label": "round", "sortText": "147"}, {"detail": "bound method DataFrame.rpow(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rpow", "sortText": "148"}, {"detail": "bound method DataFrame.rsub(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rsub", "sortText": "149"}, {"detail": "bound method DataFrame.rtruediv(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rtruediv", "sortText": "150"}, {"detail": "bound method DataFrame.sample(n: int | None = None, frac: float | None = None, replace: bool = False, weights=None, random_state: int | ndarray[_AnyShape, dtype[Any]] | Generator | ... omitted 3 union elements = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, ignore_index: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return a random sample of items from an axis of object.\n\nYou can use `random_state` for reproducibility.\n\nParameters\n----------\nn : int, optional\n Number of items from axis to return. Cannot be used with `frac`.\n Default = 1 if `frac` = None.\nfrac : float, optional\n Fraction of axis items to return. Cannot be used with `n`.\nreplace : bool, default False\n Allow or disallow sampling of the same row more than once.\nweights : str or ndarray-like, optional\n Default 'None' results in equal probability weighting.\n If passed a Series, will align with target object on index. Index\n values in weights not found in sampled object will be ignored and\n index values in sampled object not in weights will be assigned\n weights of zero.\n If called on a DataFrame, will accept the name of a column\n when axis = 0.\n Unless weights are a Series, weights must be same length as axis\n being sampled.\n If weights do not sum to 1, they will be normalized to sum to 1.\n Missing values in the weights column will be treated as zero.\n Infinite values not allowed.\nrandom_state : int, array-like, BitGenerator, np.random.RandomState, np.random.Generator, optional\n If int, array-like, or BitGenerator, seed for random number generator.\n If np.random.RandomState or np.random.Generator, use as given.\n\n .. versionchanged:: 1.4.0\n\n np.random.Generator objects now accepted\n\naxis : {0 or 'index', 1 or 'columns', None}, default None\n Axis to sample. Accepts axis number or name. Default is stat axis\n for given data type. For `Series` this parameter is unused and defaults to `None`.\nignore_index : bool, default False\n If True, the resulting index will be labeled 0, 1, \u2026, n - 1.\n\n .. versionadded:: 1.3.0\n\nReturns\n-------\nSeries or DataFrame\n A new object of same type as caller containing `n` items randomly\n sampled from the caller object.\n\nSee Also\n--------\nDataFrameGroupBy.sample: Generates random samples from each group of a\n DataFrame object.\nSeriesGroupBy.sample: Generates random samples from each group of a\n Series object.\nnumpy.random.choice: Generates a random sample from a given 1-D numpy\n array.\n\nNotes\n-----\nIf `frac` > 1, `replacement` should be set to `True`.\n\nExamples\n--------\n>>> df = pd.DataFrame({'num_legs': [2, 4, 8, 0],\n... 'num_wings': [2, 0, 0, 0],\n... 'num_specimen_seen': [10, 2, 1, 8]},\n... index=['falcon', 'dog', 'spider', 'fish'])\n>>> df\n num_legs num_wings num_specimen_seen\nfalcon 2 2 10\ndog 4 0 2\nspider 8 0 1\nfish 0 0 8\n\nExtract 3 random elements from the ``Series`` ``df['num_legs']``:\nNote that we use `random_state` to ensure the reproducibility of\nthe examples.\n\n>>> df['num_legs'].sample(n=3, random_state=1)\nfish 0\nspider 8\nfalcon 2\nName: num_legs, dtype: int64\n\nA random 50% sample of the ``DataFrame`` with replacement:\n\n>>> df.sample(frac=0.5, replace=True, random_state=1)\n num_legs num_wings num_specimen_seen\ndog 4 0 2\nfish 0 0 8\n\nAn upsample sample of the ``DataFrame`` with replacement:\nNote that `replace` parameter has to be `True` for `frac` parameter > 1.\n\n>>> df.sample(frac=2, replace=True, random_state=1)\n num_legs num_wings num_specimen_seen\ndog 4 0 2\nfish 0 0 8\nfalcon 2 2 10\nfalcon 2 2 10\nfish 0 0 8\ndog 4 0 2\nfish 0 0 8\ndog 4 0 2\n\nUsing a DataFrame column as weights. Rows with larger value in the\n`num_specimen_seen` column are more likely to be sampled.\n\n>>> df.sample(n=2, weights='num_specimen_seen', random_state=1)\n num_legs num_wings num_specimen_seen\nfalcon 2 2 10\nfish 0 0 8\n"}, "kind": 2, "label": "sample", "sortText": "151"}, {"detail": "bound method DataFrame.select_dtypes(include=None, exclude=None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return a subset of the DataFrame's columns based on the column dtypes.\n\nParameters\n----------\ninclude, exclude : scalar or list-like\n A selection of dtypes or strings to be included/excluded. At least\n one of these parameters must be supplied.\n\nReturns\n-------\nDataFrame\n The subset of the frame including the dtypes in ``include`` and\n excluding the dtypes in ``exclude``.\n\nRaises\n------\nValueError\n * If both of ``include`` and ``exclude`` are empty\n * If ``include`` and ``exclude`` have overlapping elements\n * If any kind of string dtype is passed in.\n\nSee Also\n--------\nDataFrame.dtypes: Return Series with the data type of each column.\n\nNotes\n-----\n* To select all *numeric* types, use ``np.number`` or ``'number'``\n* To select strings you must use the ``object`` dtype, but note that\n this will return *all* object dtype columns. With\n ``pd.options.future.infer_string`` enabled, using ``\"str\"`` will\n work to select all string columns.\n* See the `numpy dtype hierarchy\n `__\n* To select datetimes, use ``np.datetime64``, ``'datetime'`` or\n ``'datetime64'``\n* To select timedeltas, use ``np.timedelta64``, ``'timedelta'`` or\n ``'timedelta64'``\n* To select Pandas categorical dtypes, use ``'category'``\n* To select Pandas datetimetz dtypes, use ``'datetimetz'``\n or ``'datetime64[ns, tz]'``\n\nExamples\n--------\n>>> df = pd.DataFrame({'a': [1, 2] * 3,\n... 'b': [True, False] * 3,\n... 'c': [1.0, 2.0] * 3})\n>>> df\n a b c\n0 1 True 1.0\n1 2 False 2.0\n2 1 True 1.0\n3 2 False 2.0\n4 1 True 1.0\n5 2 False 2.0\n\n>>> df.select_dtypes(include='bool')\n b\n0 True\n1 False\n2 True\n3 False\n4 True\n5 False\n\n>>> df.select_dtypes(include=['float64'])\n c\n0 1.0\n1 2.0\n2 1.0\n3 2.0\n4 1.0\n5 2.0\n\n>>> df.select_dtypes(exclude=['int64'])\n b c\n0 True 1.0\n1 False 2.0\n2 True 1.0\n3 False 2.0\n4 True 1.0\n5 False 2.0\n"}, "kind": 2, "label": "select_dtypes", "sortText": "152"}, {"detail": "bound method DataFrame.sem(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, ddof: int = 1, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "sem", "sortText": "153"}, {"detail": "bound method DataFrame.set_axis(labels, *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, copy: bool | None = None) -> DataFrame", "kind": 2, "label": "set_axis", "sortText": "154"}, {"detail": "bound method DataFrame.set_flags(*, copy: bool = False, allows_duplicate_labels: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return a new object with updated flags.\n\nParameters\n----------\ncopy : bool, default False\n Specify if a copy of the object should be made.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\nallows_duplicate_labels : bool, optional\n Whether the returned object allows duplicate labels.\n\nReturns\n-------\nSeries or DataFrame\n The same type as the caller.\n\nSee Also\n--------\nDataFrame.attrs : Global metadata applying to this dataset.\nDataFrame.flags : Global flags applying to this object.\n\nNotes\n-----\nThis method returns a new object that's a view on the same data\nas the input. Mutating the input or the output values will be reflected\nin the other.\n\nThis method is intended to be used in method chains.\n\n\"Flags\" differ from \"metadata\". Flags reflect properties of the\npandas object (the Series or DataFrame). Metadata refer to properties\nof the dataset, and should be stored in :attr:`DataFrame.attrs`.\n\nExamples\n--------\n>>> df = pd.DataFrame({\"A\": [1, 2]})\n>>> df.flags.allows_duplicate_labels\nTrue\n>>> df2 = df.set_flags(allows_duplicate_labels=False)\n>>> df2.flags.allows_duplicate_labels\nFalse\n"}, "kind": 2, "label": "set_flags", "sortText": "155"}, {"detail": "Overload[(keys, *, drop: bool = ..., append: bool = ..., inplace: Literal[False] = ..., verify_integrity: bool = ...) -> DataFrame, (keys, *, drop: bool = ..., append: bool = ..., inplace: Literal[True], verify_integrity: bool = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Set the DataFrame index using existing columns.\n\nSet the DataFrame index (row labels) using one or more existing\ncolumns or arrays (of the correct length). The index can replace the\nexisting index or expand on it.\n\nParameters\n----------\nkeys : label or array-like or list of labels/arrays\n This parameter can be either a single column key, a single array of\n the same length as the calling DataFrame, or a list containing an\n arbitrary combination of column keys and arrays. Here, \"array\"\n encompasses :class:`Series`, :class:`Index`, ``np.ndarray``, and\n instances of :class:`~collections.abc.Iterator`.\ndrop : bool, default True\n Delete columns to be used as the new index.\nappend : bool, default False\n Whether to append columns to existing index.\ninplace : bool, default False\n Whether to modify the DataFrame rather than creating a new one.\nverify_integrity : bool, default False\n Check the new index for duplicates. Otherwise defer the check until\n necessary. Setting to False will improve the performance of this\n method.\n\nReturns\n-------\nDataFrame or None\n Changed row labels or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.reset_index : Opposite of set_index.\nDataFrame.reindex : Change to new indices or expand indices.\nDataFrame.reindex_like : Change to same indices as other DataFrame.\n\nExamples\n--------\n>>> df = pd.DataFrame({'month': [1, 4, 7, 10],\n... 'year': [2012, 2014, 2013, 2014],\n... 'sale': [55, 40, 84, 31]})\n>>> df\n month year sale\n0 1 2012 55\n1 4 2014 40\n2 7 2013 84\n3 10 2014 31\n\nSet the index to become the 'month' column:\n\n>>> df.set_index('month')\n year sale\nmonth\n1 2012 55\n4 2014 40\n7 2013 84\n10 2014 31\n\nCreate a MultiIndex using columns 'year' and 'month':\n\n>>> df.set_index(['year', 'month'])\n sale\nyear month\n2012 1 55\n2014 4 40\n2013 7 84\n2014 10 31\n\nCreate a MultiIndex using an Index and a column:\n\n>>> df.set_index([pd.Index([1, 2, 3, 4]), 'year'])\n month sale\n year\n1 2012 1 55\n2 2014 4 40\n3 2013 7 84\n4 2014 10 31\n\nCreate a MultiIndex using two Series:\n\n>>> s = pd.Series([1, 2, 3, 4])\n>>> df.set_index([s, s**2])\n month year sale\n1 1 1 2012 55\n2 4 4 2014 40\n3 9 7 2013 84\n4 16 10 2014 31\n"}, "kind": 2, "label": "set_index", "sortText": "156"}, {"detail": "tuple[int, int]", "documentation": {"kind": "plaintext", "value": "Built-in immutable sequence.\n\nIf no argument is given, the constructor returns an empty tuple.\nIf iterable is specified the tuple is initialized from iterable's items.\n\nIf the argument is a tuple, the return value is the same object.\n"}, "kind": 22, "label": "shape", "sortText": "157"}, {"detail": "bound method DataFrame.shift(periods: int | Sequence[int] = 1, freq: str | BaseOffset | None = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, fill_value: Hashable = ..., suffix: str | None = None) -> DataFrame", "kind": 2, "label": "shift", "sortText": "158"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "size", "sortText": "159"}, {"detail": "bound method DataFrame.skew(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "skew", "sortText": "160"}, {"detail": "Overload[(*, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., level: Hashable | Sequence[Hashable] = ..., ascending: bool | Sequence[bool] = ..., inplace: Literal[True], kind: Literal[\"quicksort\", \"mergesort\", \"heapsort\", \"stable\"] = ..., na_position: Literal[\"first\", \"last\"] = ..., sort_remaining: bool = ..., ignore_index: bool = ..., key: ((Index, /) -> Index | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Series) | None = ...) -> None, (*, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., level: Hashable | Sequence[Hashable] = ..., ascending: bool | Sequence[bool] = ..., inplace: Literal[False] = ..., kind: Literal[\"quicksort\", \"mergesort\", \"heapsort\", \"stable\"] = ..., na_position: Literal[\"first\", \"last\"] = ..., sort_remaining: bool = ..., ignore_index: bool = ..., key: ((Index, /) -> Index | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Series) | None = ...) -> DataFrame, (*, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., level: Hashable | Sequence[Hashable] = ..., ascending: bool | Sequence[bool] = ..., inplace: bool = ..., kind: Literal[\"quicksort\", \"mergesort\", \"heapsort\", \"stable\"] = ..., na_position: Literal[\"first\", \"last\"] = ..., sort_remaining: bool = ..., ignore_index: bool = ..., key: ((Index, /) -> Index | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Series) | None = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Sort object by labels (along an axis).\n\nReturns a new DataFrame sorted by label if `inplace` argument is\n``False``, otherwise updates the original DataFrame and returns None.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis along which to sort. The value 0 identifies the rows,\n and 1 identifies the columns.\nlevel : int or level name or list of ints or list of level names\n If not None, sort on values in specified index level(s).\nascending : bool or list-like of bools, default True\n Sort ascending vs. descending. When the index is a MultiIndex the\n sort direction can be controlled for each level individually.\ninplace : bool, default False\n Whether to modify the DataFrame rather than creating a new one.\nkind : {'quicksort', 'mergesort', 'heapsort', 'stable'}, default 'quicksort'\n Choice of sorting algorithm. See also :func:`numpy.sort` for more\n information. `mergesort` and `stable` are the only stable algorithms. For\n DataFrames, this option is only applied when sorting on a single\n column or label.\nna_position : {'first', 'last'}, default 'last'\n Puts NaNs at the beginning if `first`; `last` puts NaNs at the end.\n Not implemented for MultiIndex.\nsort_remaining : bool, default True\n If True and sorting by level and index is multilevel, sort by other\n levels too (in order) after sorting by specified level.\nignore_index : bool, default False\n If True, the resulting axis will be labeled 0, 1, \u2026, n - 1.\nkey : callable, optional\n If not None, apply the key function to the index values\n before sorting. This is similar to the `key` argument in the\n builtin :meth:`sorted` function, with the notable difference that\n this `key` function should be *vectorized*. It should expect an\n ``Index`` and return an ``Index`` of the same shape. For MultiIndex\n inputs, the key is applied *per level*.\n\nReturns\n-------\nDataFrame or None\n The original DataFrame sorted by the labels or None if ``inplace=True``.\n\nSee Also\n--------\nSeries.sort_index : Sort Series by the index.\nDataFrame.sort_values : Sort DataFrame by the value.\nSeries.sort_values : Sort Series by the value.\n\nExamples\n--------\n>>> df = pd.DataFrame([1, 2, 3, 4, 5], index=[100, 29, 234, 1, 150],\n... columns=['A'])\n>>> df.sort_index()\n A\n1 4\n29 2\n100 1\n150 5\n234 3\n\nBy default, it sorts in ascending order, to sort in descending order,\nuse ``ascending=False``\n\n>>> df.sort_index(ascending=False)\n A\n234 3\n150 5\n100 1\n29 2\n1 4\n\nA key function can be specified which is applied to the index before\nsorting. For a ``MultiIndex`` this is applied to each level separately.\n\n>>> df = pd.DataFrame({\"a\": [1, 2, 3, 4]}, index=['A', 'b', 'C', 'd'])\n>>> df.sort_index(key=lambda x: x.str.lower())\n a\nA 1\nb 2\nC 3\nd 4\n"}, "kind": 2, "label": "sort_index", "sortText": "161"}, {"detail": "Overload[(by: Hashable | Sequence[Hashable], *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., ascending=..., inplace: Literal[False] = ..., kind: Literal[\"quicksort\", \"mergesort\", \"heapsort\", \"stable\"] = ..., na_position: Literal[\"first\", \"last\"] = ..., ignore_index: bool = ..., key: ((Series, /) -> Series | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index) | None = ...) -> DataFrame, (by: Hashable | Sequence[Hashable], *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., ascending=..., inplace: Literal[True], kind: Literal[\"quicksort\", \"mergesort\", \"heapsort\", \"stable\"] = ..., na_position: str = ..., ignore_index: bool = ..., key: ((Series, /) -> Series | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index) | None = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Sort by the values along either axis.\n\nParameters\n----------\nby : str or list of str\n Name or list of names to sort by.\n\n - if `axis` is 0 or `'index'` then `by` may contain index\n levels and/or column labels.\n - if `axis` is 1 or `'columns'` then `by` may contain column\n levels and/or index labels.\naxis : \"{0 or 'index', 1 or 'columns'}\", default 0\n Axis to be sorted.\nascending : bool or list of bool, default True\n Sort ascending vs. descending. Specify list for multiple sort\n orders. If this is a list of bools, must match the length of\n the by.\ninplace : bool, default False\n If True, perform operation in-place.\nkind : {'quicksort', 'mergesort', 'heapsort', 'stable'}, default 'quicksort'\n Choice of sorting algorithm. See also :func:`numpy.sort` for more\n information. `mergesort` and `stable` are the only stable algorithms. For\n DataFrames, this option is only applied when sorting on a single\n column or label.\nna_position : {'first', 'last'}, default 'last'\n Puts NaNs at the beginning if `first`; `last` puts NaNs at the\n end.\nignore_index : bool, default False\n If True, the resulting axis will be labeled 0, 1, \u2026, n - 1.\nkey : callable, optional\n Apply the key function to the values\n before sorting. This is similar to the `key` argument in the\n builtin :meth:`sorted` function, with the notable difference that\n this `key` function should be *vectorized*. It should expect a\n ``Series`` and return a Series with the same shape as the input.\n It will be applied to each column in `by` independently.\n\nReturns\n-------\nDataFrame or None\n DataFrame with sorted values or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.sort_index : Sort a DataFrame by the index.\nSeries.sort_values : Similar method for a Series.\n\nExamples\n--------\n>>> df = pd.DataFrame({\n... 'col1': ['A', 'A', 'B', np.nan, 'D', 'C'],\n... 'col2': [2, 1, 9, 8, 7, 4],\n... 'col3': [0, 1, 9, 4, 2, 3],\n... 'col4': ['a', 'B', 'c', 'D', 'e', 'F']\n... })\n>>> df\n col1 col2 col3 col4\n0 A 2 0 a\n1 A 1 1 B\n2 B 9 9 c\n3 NaN 8 4 D\n4 D 7 2 e\n5 C 4 3 F\n\nSort by col1\n\n>>> df.sort_values(by=['col1'])\n col1 col2 col3 col4\n0 A 2 0 a\n1 A 1 1 B\n2 B 9 9 c\n5 C 4 3 F\n4 D 7 2 e\n3 NaN 8 4 D\n\nSort by multiple columns\n\n>>> df.sort_values(by=['col1', 'col2'])\n col1 col2 col3 col4\n1 A 1 1 B\n0 A 2 0 a\n2 B 9 9 c\n5 C 4 3 F\n4 D 7 2 e\n3 NaN 8 4 D\n\nSort Descending\n\n>>> df.sort_values(by='col1', ascending=False)\n col1 col2 col3 col4\n4 D 7 2 e\n5 C 4 3 F\n2 B 9 9 c\n0 A 2 0 a\n1 A 1 1 B\n3 NaN 8 4 D\n\nPutting NAs first\n\n>>> df.sort_values(by='col1', ascending=False, na_position='first')\n col1 col2 col3 col4\n3 NaN 8 4 D\n4 D 7 2 e\n5 C 4 3 F\n2 B 9 9 c\n0 A 2 0 a\n1 A 1 1 B\n\nSorting with a key function\n\n>>> df.sort_values(by='col4', key=lambda col: col.str.lower())\n col1 col2 col3 col4\n0 A 2 0 a\n1 A 1 1 B\n2 B 9 9 c\n3 NaN 8 4 D\n4 D 7 2 e\n5 C 4 3 F\n\nNatural sort with the key argument,\nusing the `natsort ` package.\n\n>>> df = pd.DataFrame({\n... \"time\": ['0hr', '128hr', '72hr', '48hr', '96hr'],\n... \"value\": [10, 20, 30, 40, 50]\n... })\n>>> df\n time value\n0 0hr 10\n1 128hr 20\n2 72hr 30\n3 48hr 40\n4 96hr 50\n>>> from natsort import index_natsorted\n>>> df.sort_values(\n... by=\"time\",\n... key=lambda x: np.argsort(index_natsorted(df[\"time\"]))\n... )\n time value\n0 0hr 10\n3 48hr 40\n2 72hr 30\n4 96hr 50\n1 128hr 20\n"}, "kind": 2, "label": "sort_values", "sortText": "162"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "sparse", "sortText": "163"}, {"detail": "bound method DataFrame.squeeze(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Squeeze 1 dimensional axis objects into scalars.\n\nSeries or DataFrames with a single element are squeezed to a scalar.\nDataFrames with a single column or a single row are squeezed to a\nSeries. Otherwise the object is unchanged.\n\nThis method is most useful when you don't know if your\nobject is a Series or DataFrame, but you do know it has just a single\ncolumn. In that case you can safely call `squeeze` to ensure you have a\nSeries.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns', None}, default None\n A specific axis to squeeze. By default, all length-1 axes are\n squeezed. For `Series` this parameter is unused and defaults to `None`.\n\nReturns\n-------\nDataFrame, Series, or scalar\n The projection after squeezing `axis` or all the axes.\n\nSee Also\n--------\nSeries.iloc : Integer-location based indexing for selecting scalars.\nDataFrame.iloc : Integer-location based indexing for selecting Series.\nSeries.to_frame : Inverse of DataFrame.squeeze for a\n single-column DataFrame.\n\nExamples\n--------\n>>> primes = pd.Series([2, 3, 5, 7])\n\nSlicing might produce a Series with a single value:\n\n>>> even_primes = primes[primes % 2 == 0]\n>>> even_primes\n0 2\ndtype: int64\n\n>>> even_primes.squeeze()\n2\n\nSqueezing objects with more than one value in every axis does nothing:\n\n>>> odd_primes = primes[primes % 2 == 1]\n>>> odd_primes\n1 3\n2 5\n3 7\ndtype: int64\n\n>>> odd_primes.squeeze()\n1 3\n2 5\n3 7\ndtype: int64\n\nSqueezing is even more effective when used with DataFrames.\n\n>>> df = pd.DataFrame([[1, 2], [3, 4]], columns=['a', 'b'])\n>>> df\n a b\n0 1 2\n1 3 4\n\nSlicing a single column will produce a DataFrame with the columns\nhaving only one value:\n\n>>> df_a = df[['a']]\n>>> df_a\n a\n0 1\n1 3\n\nSo the columns can be squeezed down, resulting in a Series:\n\n>>> df_a.squeeze('columns')\n0 1\n1 3\nName: a, dtype: int64\n\nSlicing a single row from a single column will produce a single\nscalar DataFrame:\n\n>>> df_0a = df.loc[df.index < 1, ['a']]\n>>> df_0a\n a\n0 1\n\nSqueezing the rows produces a single scalar Series:\n\n>>> df_0a.squeeze('rows')\na 1\nName: 0, dtype: int64\n\nSqueezing all axes will project directly into a scalar:\n\n>>> df_0a.squeeze()\n1\n"}, "kind": 2, "label": "squeeze", "sortText": "164"}, {"detail": "bound method DataFrame.stack(level: Hashable | Sequence[Hashable] = -1, dropna: bool | _NoDefault = ..., sort: bool | _NoDefault = ..., future_stack: bool = False) -> Unknown", "documentation": {"kind": "plaintext", "value": "Stack the prescribed level(s) from columns to index.\n\nReturn a reshaped DataFrame or Series having a multi-level\nindex with one or more new inner-most levels compared to the current\nDataFrame. The new inner-most levels are created by pivoting the\ncolumns of the current dataframe:\n\n - if the columns have a single level, the output is a Series;\n - if the columns have multiple levels, the new index\n level(s) is (are) taken from the prescribed level(s) and\n the output is a DataFrame.\n\nParameters\n----------\nlevel : int, str, list, default -1\n Level(s) to stack from the column axis onto the index\n axis, defined as one index or label, or a list of indices\n or labels.\ndropna : bool, default True\n Whether to drop rows in the resulting Frame/Series with\n missing values. Stacking a column level onto the index\n axis can create combinations of index and column values\n that are missing from the original dataframe. See Examples\n section.\nsort : bool, default True\n Whether to sort the levels of the resulting MultiIndex.\nfuture_stack : bool, default False\n Whether to use the new implementation that will replace the current\n implementation in pandas 3.0. When True, dropna and sort have no impact\n on the result and must remain unspecified. See :ref:`pandas 2.1.0 Release\n notes ` for more details.\n\nReturns\n-------\nDataFrame or Series\n Stacked dataframe or series.\n\nSee Also\n--------\nDataFrame.unstack : Unstack prescribed level(s) from index axis\n onto column axis.\nDataFrame.pivot : Reshape dataframe from long format to wide\n format.\nDataFrame.pivot_table : Create a spreadsheet-style pivot table\n as a DataFrame.\n\nNotes\n-----\nThe function is named by analogy with a collection of books\nbeing reorganized from being side by side on a horizontal\nposition (the columns of the dataframe) to being stacked\nvertically on top of each other (in the index of the\ndataframe).\n\nReference :ref:`the user guide ` for more examples.\n\nExamples\n--------\n**Single level columns**\n\n>>> df_single_level_cols = pd.DataFrame([[0, 1], [2, 3]],\n... index=['cat', 'dog'],\n... columns=['weight', 'height'])\n\nStacking a dataframe with a single level column axis returns a Series:\n\n>>> df_single_level_cols\n weight height\ncat 0 1\ndog 2 3\n>>> df_single_level_cols.stack(future_stack=True)\ncat weight 0\n height 1\ndog weight 2\n height 3\ndtype: int64\n\n**Multi level columns: simple case**\n\n>>> multicol1 = pd.MultiIndex.from_tuples([('weight', 'kg'),\n... ('weight', 'pounds')])\n>>> df_multi_level_cols1 = pd.DataFrame([[1, 2], [2, 4]],\n... index=['cat', 'dog'],\n... columns=multicol1)\n\nStacking a dataframe with a multi-level column axis:\n\n>>> df_multi_level_cols1\n weight\n kg pounds\ncat 1 2\ndog 2 4\n>>> df_multi_level_cols1.stack(future_stack=True)\n weight\ncat kg 1\n pounds 2\ndog kg 2\n pounds 4\n\n**Missing values**\n\n>>> multicol2 = pd.MultiIndex.from_tuples([('weight', 'kg'),\n... ('height', 'm')])\n>>> df_multi_level_cols2 = pd.DataFrame([[1.0, 2.0], [3.0, 4.0]],\n... index=['cat', 'dog'],\n... columns=multicol2)\n\nIt is common to have missing values when stacking a dataframe\nwith multi-level columns, as the stacked dataframe typically\nhas more values than the original dataframe. Missing values\nare filled with NaNs:\n\n>>> df_multi_level_cols2\n weight height\n kg m\ncat 1.0 2.0\ndog 3.0 4.0\n>>> df_multi_level_cols2.stack(future_stack=True)\n weight height\ncat kg 1.0 NaN\n m NaN 2.0\ndog kg 3.0 NaN\n m NaN 4.0\n\n**Prescribing the level(s) to be stacked**\n\nThe first parameter controls which level or levels are stacked:\n\n>>> df_multi_level_cols2.stack(0, future_stack=True)\n kg m\ncat weight 1.0 NaN\n height NaN 2.0\ndog weight 3.0 NaN\n height NaN 4.0\n>>> df_multi_level_cols2.stack([0, 1], future_stack=True)\ncat weight kg 1.0\n height m 2.0\ndog weight kg 3.0\n height m 4.0\ndtype: float64\n"}, "kind": 2, "label": "stack", "sortText": "165"}, {"detail": "bound method DataFrame.std(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, ddof: int = 1, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "std", "sortText": "166"}, {"detail": "Styler", "documentation": {"kind": "plaintext", "value": "Helps style a DataFrame or Series according to the data with HTML and CSS.\n\nParameters\n----------\ndata : Series or DataFrame\n Data to be styled - either a Series or DataFrame.\nprecision : int, optional\n Precision to round floats to. If not given defaults to\n ``pandas.options.styler.format.precision``.\n\n .. versionchanged:: 1.4.0\ntable_styles : list-like, default None\n List of {selector: (attr, value)} dicts; see Notes.\nuuid : str, default None\n A unique identifier to avoid CSS collisions; generated automatically.\ncaption : str, tuple, default None\n String caption to attach to the table. Tuple only used for LaTeX dual captions.\ntable_attributes : str, default None\n Items that show up in the opening ```` tag\n in addition to automatic (by default) id.\ncell_ids : bool, default True\n If True, each cell will have an ``id`` attribute in their HTML tag.\n The ``id`` takes the form ``T__row_col``\n where ```` is the unique identifier, ```` is the row\n number and ```` is the column number.\nna_rep : str, optional\n Representation for missing values.\n If ``na_rep`` is None, no special formatting is applied, and falls back to\n ``pandas.options.styler.format.na_rep``.\n\nuuid_len : int, default 5\n If ``uuid`` is not specified, the length of the ``uuid`` to randomly generate\n expressed in hex characters, in range [0, 32].\ndecimal : str, optional\n Character used as decimal separator for floats, complex and integers. If not\n given uses ``pandas.options.styler.format.decimal``.\n\n .. versionadded:: 1.3.0\n\nthousands : str, optional, default None\n Character used as thousands separator for floats, complex and integers. If not\n given uses ``pandas.options.styler.format.thousands``.\n\n .. versionadded:: 1.3.0\n\nescape : str, optional\n Use 'html' to replace the characters ``&``, ``<``, ``>``, ``'``, and ``\"``\n in cell display string with HTML-safe sequences.\n Use 'latex' to replace the characters ``&``, ``%``, ``$``, ``#``, ``_``,\n ``{``, ``}``, ``~``, ``^``, and ``\\`` in the cell display string with\n LaTeX-safe sequences. Use 'latex-math' to replace the characters\n the same way as in 'latex' mode, except for math substrings,\n which either are surrounded by two characters ``$`` or start with\n the character ``\\(`` and end with ``\\)``.\n If not given uses ``pandas.options.styler.format.escape``.\n\n .. versionadded:: 1.3.0\nformatter : str, callable, dict, optional\n Object to define how values are displayed. See ``Styler.format``. If not given\n uses ``pandas.options.styler.format.formatter``.\n\n .. versionadded:: 1.4.0\n\nAttributes\n----------\nenv : Jinja2 jinja2.Environment\ntemplate_html : Jinja2 Template\ntemplate_html_table : Jinja2 Template\ntemplate_html_style : Jinja2 Template\ntemplate_latex : Jinja2 Template\nloader : Jinja2 Loader\n\nSee Also\n--------\nDataFrame.style : Return a Styler object containing methods for building\n a styled HTML representation for the DataFrame.\n\nNotes\n-----\nMost styling will be done by passing style functions into\n``Styler.apply`` or ``Styler.map``. Style functions should\nreturn values with strings containing CSS ``'attr: value'`` that will\nbe applied to the indicated cells.\n\nIf using in the Jupyter notebook, Styler has defined a ``_repr_html_``\nto automatically render itself. Otherwise call Styler.to_html to get\nthe generated HTML.\n\nCSS classes are attached to the generated HTML\n\n* Index and Column names include ``index_name`` and ``level``\n where `k` is its level in a MultiIndex\n* Index label cells include\n\n * ``row_heading``\n * ``row`` where `n` is the numeric position of the row\n * ``level`` where `k` is the level in a MultiIndex\n\n* Column label cells include\n * ``col_heading``\n * ``col`` where `n` is the numeric position of the column\n * ``level`` where `k` is the level in a MultiIndex\n\n* Blank cells include ``blank``\n* Data cells include ``data``\n* Trimmed cells include ``col_trim`` or ``row_trim``.\n\nAny, or all, or these classes can be renamed by using the ``css_class_names``\nargument in ``Styler.set_table_classes``, giving a value such as\n*{\"row\": \"MY_ROW_CLASS\", \"col_trim\": \"\", \"row_trim\": \"\"}*.\n\nExamples\n--------\n>>> df = pd.DataFrame([[1.0, 2.0, 3.0], [4, 5, 6]], index=['a', 'b'],\n... columns=['A', 'B', 'C'])\n>>> pd.io.formats.style.Styler(df, precision=2,\n... caption=\"My table\") # doctest: +SKIP\n\nPlease see:\n`Table Visualization <../../user_guide/style.ipynb>`_ for more examples.\n"}, "kind": 22, "label": "style", "sortText": "167"}, {"detail": "bound method DataFrame.sub(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "sub", "sortText": "168"}, {"detail": "(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 3, "label": "subtract", "sortText": "169"}, {"detail": "bound method DataFrame.sum(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, min_count: int = 0, **kwargs) -> Unknown", "kind": 2, "label": "sum", "sortText": "170"}, {"detail": "bound method DataFrame.swapaxes(axis1: int | Literal[\"index\", \"columns\", \"rows\"], axis2: int | Literal[\"index\", \"columns\", \"rows\"], copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Interchange axes and swap values axes appropriately.\n\n.. deprecated:: 2.1.0\n ``swapaxes`` is deprecated and will be removed.\n Please use ``transpose`` instead.\n\nReturns\n-------\nsame as input\n\nExamples\n--------\nPlease see examples for :meth:`DataFrame.transpose`.\n"}, "kind": 2, "label": "swapaxes", "sortText": "171"}, {"detail": "bound method DataFrame.swaplevel(i: int | Literal[\"index\", \"columns\", \"rows\"] = -2, j: int | Literal[\"index\", \"columns\", \"rows\"] = -1, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> DataFrame", "kind": 2, "label": "swaplevel", "sortText": "172"}, {"detail": "bound method DataFrame.tail(n: int = 5) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the last `n` rows.\n\nThis function returns last `n` rows from the object based on\nposition. It is useful for quickly verifying data, for example,\nafter sorting or appending rows.\n\nFor negative values of `n`, this function returns all rows except\nthe first `|n|` rows, equivalent to ``df[|n|:]``.\n\nIf n is larger than the number of rows, this function returns all rows.\n\nParameters\n----------\nn : int, default 5\n Number of rows to select.\n\nReturns\n-------\ntype of caller\n The last `n` rows of the caller object.\n\nSee Also\n--------\nDataFrame.head : The first `n` rows of the caller object.\n\nExamples\n--------\n>>> df = pd.DataFrame({'animal': ['alligator', 'bee', 'falcon', 'lion',\n... 'monkey', 'parrot', 'shark', 'whale', 'zebra']})\n>>> df\n animal\n0 alligator\n1 bee\n2 falcon\n3 lion\n4 monkey\n5 parrot\n6 shark\n7 whale\n8 zebra\n\nViewing the last 5 lines\n\n>>> df.tail()\n animal\n4 monkey\n5 parrot\n6 shark\n7 whale\n8 zebra\n\nViewing the last `n` lines (three in this case)\n\n>>> df.tail(3)\n animal\n6 shark\n7 whale\n8 zebra\n\nFor negative values of `n`\n\n>>> df.tail(-3)\n animal\n3 lion\n4 monkey\n5 parrot\n6 shark\n7 whale\n8 zebra\n"}, "kind": 2, "label": "tail", "sortText": "173"}, {"detail": "bound method DataFrame.take(indices, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the elements in the given *positional* indices along an axis.\n\nThis means that we are not indexing according to actual values in\nthe index attribute of the object. We are indexing according to the\nactual position of the element in the object.\n\nParameters\n----------\nindices : array-like\n An array of ints indicating which positions to take.\naxis : {0 or 'index', 1 or 'columns', None}, default 0\n The axis on which to select elements. ``0`` means that we are\n selecting rows, ``1`` means that we are selecting columns.\n For `Series` this parameter is unused and defaults to 0.\n**kwargs\n For compatibility with :meth:`numpy.take`. Has no effect on the\n output.\n\nReturns\n-------\nsame type as caller\n An array-like containing the elements taken from the object.\n\nSee Also\n--------\nDataFrame.loc : Select a subset of a DataFrame by labels.\nDataFrame.iloc : Select a subset of a DataFrame by positions.\nnumpy.take : Take elements from an array along an axis.\n\nExamples\n--------\n>>> df = pd.DataFrame([('falcon', 'bird', 389.0),\n... ('parrot', 'bird', 24.0),\n... ('lion', 'mammal', 80.5),\n... ('monkey', 'mammal', np.nan)],\n... columns=['name', 'class', 'max_speed'],\n... index=[0, 2, 3, 1])\n>>> df\n name class max_speed\n0 falcon bird 389.0\n2 parrot bird 24.0\n3 lion mammal 80.5\n1 monkey mammal NaN\n\nTake elements at positions 0 and 3 along the axis 0 (default).\n\nNote how the actual indices selected (0 and 1) do not correspond to\nour selected indices 0 and 3. That's because we are selecting the 0th\nand 3rd rows, not rows whose indices equal 0 and 3.\n\n>>> df.take([0, 3])\n name class max_speed\n0 falcon bird 389.0\n1 monkey mammal NaN\n\nTake elements at indices 1 and 2 along the axis 1 (column selection).\n\n>>> df.take([1, 2], axis=1)\n class max_speed\n0 bird 389.0\n2 bird 24.0\n3 mammal 80.5\n1 mammal NaN\n\nWe may take elements using negative integers for positive indices,\nstarting from the end of the object, just like with Python lists.\n\n>>> df.take([-1, -2])\n name class max_speed\n1 monkey mammal NaN\n3 lion mammal 80.5\n"}, "kind": 2, "label": "take", "sortText": "174"}, {"detail": "bound method DataFrame.to_clipboard(excel: bool = True, sep: str | None = None, **kwargs) -> None", "documentation": {"kind": "plaintext", "value": "Copy object to the system clipboard.\n\nWrite a text representation of object to the system clipboard.\nThis can be pasted into Excel, for example.\n\nParameters\n----------\nexcel : bool, default True\n Produce output in a csv format for easy pasting into excel.\n\n - True, use the provided separator for csv pasting.\n - False, write a string representation of the object to the clipboard.\n\nsep : str, default ``'\\t'``\n Field delimiter.\n**kwargs\n These parameters will be passed to DataFrame.to_csv.\n\nSee Also\n--------\nDataFrame.to_csv : Write a DataFrame to a comma-separated values\n (csv) file.\nread_clipboard : Read text from clipboard and pass to read_csv.\n\nNotes\n-----\nRequirements for your platform.\n\n - Linux : `xclip`, or `xsel` (with `PyQt4` modules)\n - Windows : none\n - macOS : none\n\nThis method uses the processes developed for the package `pyperclip`. A\nsolution to render any output string format is given in the examples.\n\nExamples\n--------\nCopy the contents of a DataFrame to the clipboard.\n\n>>> df = pd.DataFrame([[1, 2, 3], [4, 5, 6]], columns=['A', 'B', 'C'])\n\n>>> df.to_clipboard(sep=',') # doctest: +SKIP\n... # Wrote the following to the system clipboard:\n... # ,A,B,C\n... # 0,1,2,3\n... # 1,4,5,6\n\nWe can omit the index by passing the keyword `index` and setting\nit to false.\n\n>>> df.to_clipboard(sep=',', index=False) # doctest: +SKIP\n... # Wrote the following to the system clipboard:\n... # A,B,C\n... # 1,2,3\n... # 4,5,6\n\nUsing the original `pyperclip` package for any string output format.\n\n.. code-block:: python\n\n import pyperclip\n html = df.style.to_html()\n pyperclip.copy(html)\n"}, "kind": 2, "label": "to_clipboard", "sortText": "175"}, {"detail": "Overload[(path_or_buf: None = ..., sep: str = ..., na_rep: str = ..., float_format: str | ((...) -> Unknown) | None = ..., columns: Sequence[Hashable] | None = ..., header: bool | list[str] = ..., index: bool = ..., index_label: Hashable | Sequence[Hashable] = ..., mode: str = ..., encoding: str | None = ..., compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = ..., quoting: int | None = ..., quotechar: str = ..., lineterminator: str | None = ..., chunksize: int | None = ..., date_format: str | None = ..., doublequote: bool = ..., escapechar: str | None = ..., decimal: str = ..., errors: Literal[\"strict\", \"ignore\", \"replace\", \"surrogateescape\", \"xmlcharrefreplace\", \"backslashreplace\", \"namereplace\"] = ..., storage_options: dict[str, Any] | None = ...) -> str, (path_or_buf: str | PathLike[str] | WriteBuffer[bytes] | WriteBuffer[str], sep: str = ..., na_rep: str = ..., float_format: str | ((...) -> Unknown) | None = ..., columns: Sequence[Hashable] | None = ..., header: bool | list[str] = ..., index: bool = ..., index_label: Hashable | Sequence[Hashable] = ..., mode: str = ..., encoding: str | None = ..., compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = ..., quoting: int | None = ..., quotechar: str = ..., lineterminator: str | None = ..., chunksize: int | None = ..., date_format: str | None = ..., doublequote: bool = ..., escapechar: str | None = ..., decimal: str = ..., errors: Literal[\"strict\", \"ignore\", \"replace\", \"surrogateescape\", \"xmlcharrefreplace\", \"backslashreplace\", \"namereplace\"] = ..., storage_options: dict[str, Any] | None = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Write object to a comma-separated values (csv) file.\n\nParameters\n----------\npath_or_buf : str, path object, file-like object, or None, default None\n String, path object (implementing os.PathLike[str]), or file-like\n object implementing a write() function. If None, the result is\n returned as a string. If a non-binary file object is passed, it should\n be opened with `newline=''`, disabling universal newlines. If a binary\n file object is passed, `mode` might need to contain a `'b'`.\nsep : str, default ','\n String of length 1. Field delimiter for the output file.\nna_rep : str, default ''\n Missing data representation.\nfloat_format : str, Callable, default None\n Format string for floating point numbers. If a Callable is given, it takes\n precedence over other numeric formatting parameters, like decimal.\ncolumns : sequence, optional\n Columns to write.\nheader : bool or list of str, default True\n Write out the column names. If a list of strings is given it is\n assumed to be aliases for the column names.\nindex : bool, default True\n Write row names (index).\nindex_label : str or sequence, or False, default None\n Column label for index column(s) if desired. If None is given, and\n `header` and `index` are True, then the index names are used. A\n sequence should be given if the object uses MultiIndex. If\n False do not print fields for index names. Use index_label=False\n for easier importing in R.\nmode : {{'w', 'x', 'a'}}, default 'w'\n Forwarded to either `open(mode=)` or `fsspec.open(mode=)` to control\n the file opening. Typical values include:\n\n - 'w', truncate the file first.\n - 'x', exclusive creation, failing if the file already exists.\n - 'a', append to the end of file if it exists.\n\nencoding : str, optional\n A string representing the encoding to use in the output file,\n defaults to 'utf-8'. `encoding` is not supported if `path_or_buf`\n is a non-binary file object.\n{compression_options}\n\n May be a dict with key 'method' as compression mode\n and other entries as additional compression options if\n compression mode is 'zip'.\n\n Passing compression options as keys in dict is\n supported for compression modes 'gzip', 'bz2', 'zstd', and 'zip'.\nquoting : optional constant from csv module\n Defaults to csv.QUOTE_MINIMAL. If you have set a `float_format`\n then floats are converted to strings and thus csv.QUOTE_NONNUMERIC\n will treat them as non-numeric.\nquotechar : str, default '\\\"'\n String of length 1. Character used to quote fields.\nlineterminator : str, optional\n The newline character or character sequence to use in the output\n file. Defaults to `os.linesep`, which depends on the OS in which\n this method is called ('\\\\n' for linux, '\\\\r\\\\n' for Windows, i.e.).\n\n .. versionchanged:: 1.5.0\n\n Previously was line_terminator, changed for consistency with\n read_csv and the standard library 'csv' module.\n\nchunksize : int or None\n Rows to write at a time.\ndate_format : str, default None\n Format string for datetime objects.\ndoublequote : bool, default True\n Control quoting of `quotechar` inside a field.\nescapechar : str, default None\n String of length 1. Character used to escape `sep` and `quotechar`\n when appropriate.\ndecimal : str, default '.'\n Character recognized as decimal separator. E.g. use ',' for\n European data.\nerrors : str, default 'strict'\n Specifies how encoding and decoding errors are to be handled.\n See the errors argument for :func:`open` for a full list\n of options.\n\n{storage_options}\n\nReturns\n-------\nNone or str\n If path_or_buf is None, returns the resulting csv format as a\n string. Otherwise returns None.\n\nSee Also\n--------\nread_csv : Load a CSV file into a DataFrame.\nto_excel : Write DataFrame to an Excel file.\n\nExamples\n--------\nCreate 'out.csv' containing 'df' without indices\n\n>>> df = pd.DataFrame({{'name': ['Raphael', 'Donatello'],\n... 'mask': ['red', 'purple'],\n... 'weapon': ['sai', 'bo staff']}})\n>>> df.to_csv('out.csv', index=False) # doctest: +SKIP\n\nCreate 'out.zip' containing 'out.csv'\n\n>>> df.to_csv(index=False)\n'name,mask,weapon\\nRaphael,red,sai\\nDonatello,purple,bo staff\\n'\n>>> compression_opts = dict(method='zip',\n... archive_name='out.csv') # doctest: +SKIP\n>>> df.to_csv('out.zip', index=False,\n... compression=compression_opts) # doctest: +SKIP\n\nTo write a csv file to a new folder or nested folder you will first\nneed to create it using either Pathlib or os:\n\n>>> from pathlib import Path # doctest: +SKIP\n>>> filepath = Path('folder/subfolder/out.csv') # doctest: +SKIP\n>>> filepath.parent.mkdir(parents=True, exist_ok=True) # doctest: +SKIP\n>>> df.to_csv(filepath) # doctest: +SKIP\n\n>>> import os # doctest: +SKIP\n>>> os.makedirs('folder/subfolder', exist_ok=True) # doctest: +SKIP\n>>> df.to_csv('folder/subfolder/out.csv') # doctest: +SKIP\n"}, "kind": 2, "label": "to_csv", "sortText": "176"}, {"detail": "Overload[[MutableMappingT](orient: Literal[\"dict\", \"list\", \"series\", \"split\", \"tight\", \"index\"] = ..., *, into: type[MutableMappingT] | MutableMappingT, index: bool = ...) -> MutableMappingT, [MutableMappingT](orient: Literal[\"records\"], *, into: type[MutableMappingT] | MutableMappingT, index: bool = ...) -> list[MutableMappingT], (orient: Literal[\"dict\", \"list\", \"series\", \"split\", \"tight\", \"index\"] = ..., *, into: type[dict[Unknown, Unknown]] = ..., index: bool = ...) -> dict[Unknown, Unknown], (orient: Literal[\"records\"], *, into: type[dict[Unknown, Unknown]] = ..., index: bool = ...) -> list[dict[Unknown, Unknown]]]", "documentation": {"kind": "plaintext", "value": "Convert the DataFrame to a dictionary.\n\nThe type of the key-value pairs can be customized with the parameters\n(see below).\n\nParameters\n----------\norient : str {'dict', 'list', 'series', 'split', 'tight', 'records', 'index'}\n Determines the type of the values of the dictionary.\n\n - 'dict' (default) : dict like {column -> {index -> value}}\n - 'list' : dict like {column -> [values]}\n - 'series' : dict like {column -> Series(values)}\n - 'split' : dict like\n {'index' -> [index], 'columns' -> [columns], 'data' -> [values]}\n - 'tight' : dict like\n {'index' -> [index], 'columns' -> [columns], 'data' -> [values],\n 'index_names' -> [index.names], 'column_names' -> [column.names]}\n - 'records' : list like\n [{column -> value}, ... , {column -> value}]\n - 'index' : dict like {index -> {column -> value}}\n\n .. versionadded:: 1.4.0\n 'tight' as an allowed value for the ``orient`` argument\n\ninto : class, default dict\n The collections.abc.MutableMapping subclass used for all Mappings\n in the return value. Can be the actual class or an empty\n instance of the mapping type you want. If you want a\n collections.defaultdict, you must pass it initialized.\n\nindex : bool, default True\n Whether to include the index item (and index_names item if `orient`\n is 'tight') in the returned dictionary. Can only be ``False``\n when `orient` is 'split' or 'tight'.\n\n .. versionadded:: 2.0.0\n\nReturns\n-------\ndict, list or collections.abc.MutableMapping\n Return a collections.abc.MutableMapping object representing the\n DataFrame. The resulting transformation depends on the `orient`\n parameter.\n\nSee Also\n--------\nDataFrame.from_dict: Create a DataFrame from a dictionary.\nDataFrame.to_json: Convert a DataFrame to JSON format.\n\nExamples\n--------\n>>> df = pd.DataFrame({'col1': [1, 2],\n... 'col2': [0.5, 0.75]},\n... index=['row1', 'row2'])\n>>> df\n col1 col2\nrow1 1 0.50\nrow2 2 0.75\n>>> df.to_dict()\n{'col1': {'row1': 1, 'row2': 2}, 'col2': {'row1': 0.5, 'row2': 0.75}}\n\nYou can specify the return orientation.\n\n>>> df.to_dict('series')\n{'col1': row1 1\n row2 2\nName: col1, dtype: int64,\n'col2': row1 0.50\n row2 0.75\nName: col2, dtype: float64}\n\n>>> df.to_dict('split')\n{'index': ['row1', 'row2'], 'columns': ['col1', 'col2'],\n 'data': [[1, 0.5], [2, 0.75]]}\n\n>>> df.to_dict('records')\n[{'col1': 1, 'col2': 0.5}, {'col1': 2, 'col2': 0.75}]\n\n>>> df.to_dict('index')\n{'row1': {'col1': 1, 'col2': 0.5}, 'row2': {'col1': 2, 'col2': 0.75}}\n\n>>> df.to_dict('tight')\n{'index': ['row1', 'row2'], 'columns': ['col1', 'col2'],\n 'data': [[1, 0.5], [2, 0.75]], 'index_names': [None], 'column_names': [None]}\n\nYou can also specify the mapping type.\n\n>>> from collections import OrderedDict, defaultdict\n>>> df.to_dict(into=OrderedDict)\nOrderedDict([('col1', OrderedDict([('row1', 1), ('row2', 2)])),\n ('col2', OrderedDict([('row1', 0.5), ('row2', 0.75)]))])\n\nIf you want a `defaultdict`, you need to initialize it:\n\n>>> dd = defaultdict(list)\n>>> df.to_dict('records', into=dd)\n[defaultdict(, {'col1': 1, 'col2': 0.5}),\n defaultdict(, {'col1': 2, 'col2': 0.75})]\n"}, "kind": 2, "label": "to_dict", "sortText": "177"}, {"detail": "bound method DataFrame.to_excel(excel_writer: str | PathLike[str] | WriteExcelBuffer, sheet_name: str = \"Sheet1\", na_rep: str = \"\", float_format: str | None = None, columns: Sequence[Hashable] | None = None, header: Sequence[Hashable] | bool = True, index: bool = True, index_label: Hashable | Sequence[Hashable] = None, startrow: int = 0, startcol: int = 0, engine: Literal[\"openpyxl\", \"xlsxwriter\"] | None = None, merge_cells: bool = True, inf_rep: str = \"inf\", freeze_panes: tuple[int, int] | None = None, storage_options: dict[str, Any] | None = None, engine_kwargs: dict[str, Any] | None = None) -> None", "documentation": {"kind": "plaintext", "value": "Write {klass} to an Excel sheet.\n\nTo write a single {klass} to an Excel .xlsx file it is only necessary to\nspecify a target file name. To write to multiple sheets it is necessary to\ncreate an `ExcelWriter` object with a target file name, and specify a sheet\nin the file to write to.\n\nMultiple sheets may be written to by specifying unique `sheet_name`.\nWith all data written to the file it is necessary to save the changes.\nNote that creating an `ExcelWriter` object with a file name that already\nexists will result in the contents of the existing file being erased.\n\nParameters\n----------\nexcel_writer : path-like, file-like, or ExcelWriter object\n File path or existing ExcelWriter.\nsheet_name : str, default 'Sheet1'\n Name of sheet which will contain DataFrame.\nna_rep : str, default ''\n Missing data representation.\nfloat_format : str, optional\n Format string for floating point numbers. For example\n ``float_format=\"%.2f\"`` will format 0.1234 to 0.12.\ncolumns : sequence or list of str, optional\n Columns to write.\nheader : bool or list of str, default True\n Write out the column names. If a list of string is given it is\n assumed to be aliases for the column names.\nindex : bool, default True\n Write row names (index).\nindex_label : str or sequence, optional\n Column label for index column(s) if desired. If not specified, and\n `header` and `index` are True, then the index names are used. A\n sequence should be given if the DataFrame uses MultiIndex.\nstartrow : int, default 0\n Upper left cell row to dump data frame.\nstartcol : int, default 0\n Upper left cell column to dump data frame.\nengine : str, optional\n Write engine to use, 'openpyxl' or 'xlsxwriter'. You can also set this\n via the options ``io.excel.xlsx.writer`` or\n ``io.excel.xlsm.writer``.\n\nmerge_cells : bool, default True\n Write MultiIndex and Hierarchical Rows as merged cells.\ninf_rep : str, default 'inf'\n Representation for infinity (there is no native representation for\n infinity in Excel).\nfreeze_panes : tuple of int (length 2), optional\n Specifies the one-based bottommost row and rightmost column that\n is to be frozen.\n{storage_options}\n\n .. versionadded:: {storage_options_versionadded}\nengine_kwargs : dict, optional\n Arbitrary keyword arguments passed to excel engine.\n\nSee Also\n--------\nto_csv : Write DataFrame to a comma-separated values (csv) file.\nExcelWriter : Class for writing DataFrame objects into excel sheets.\nread_excel : Read an Excel file into a pandas DataFrame.\nread_csv : Read a comma-separated values (csv) file into DataFrame.\nio.formats.style.Styler.to_excel : Add styles to Excel sheet.\n\nNotes\n-----\nFor compatibility with :meth:`~DataFrame.to_csv`,\nto_excel serializes lists and dicts to strings before writing.\n\nOnce a workbook has been saved it is not possible to write further\ndata without rewriting the whole workbook.\n\nExamples\n--------\n\nCreate, write to and save a workbook:\n\n>>> df1 = pd.DataFrame([['a', 'b'], ['c', 'd']],\n... index=['row 1', 'row 2'],\n... columns=['col 1', 'col 2'])\n>>> df1.to_excel(\"output.xlsx\") # doctest: +SKIP\n\nTo specify the sheet name:\n\n>>> df1.to_excel(\"output.xlsx\",\n... sheet_name='Sheet_name_1') # doctest: +SKIP\n\nIf you wish to write to more than one sheet in the workbook, it is\nnecessary to specify an ExcelWriter object:\n\n>>> df2 = df1.copy()\n>>> with pd.ExcelWriter('output.xlsx') as writer: # doctest: +SKIP\n... df1.to_excel(writer, sheet_name='Sheet_name_1')\n... df2.to_excel(writer, sheet_name='Sheet_name_2')\n\nExcelWriter can also be used to append to an existing Excel file:\n\n>>> with pd.ExcelWriter('output.xlsx',\n... mode='a') as writer: # doctest: +SKIP\n... df1.to_excel(writer, sheet_name='Sheet_name_3')\n\nTo set the library that is used to write the Excel file,\nyou can pass the `engine` keyword (the default engine is\nautomatically chosen depending on the file extension):\n\n>>> df1.to_excel('output1.xlsx', engine='xlsxwriter') # doctest: +SKIP\n"}, "kind": 2, "label": "to_excel", "sortText": "178"}, {"detail": "bound method DataFrame.to_feather(path: str | PathLike[str] | WriteBuffer[bytes], **kwargs) -> None", "documentation": {"kind": "plaintext", "value": "Write a DataFrame to the binary Feather format.\n\nParameters\n----------\npath : str, path object, file-like object\n String, path object (implementing ``os.PathLike[str]``), or file-like\n object implementing a binary ``write()`` function. If a string or a path,\n it will be used as Root Directory path when writing a partitioned dataset.\n**kwargs :\n Additional keywords passed to :func:`pyarrow.feather.write_feather`.\n This includes the `compression`, `compression_level`, `chunksize`\n and `version` keywords.\n\nNotes\n-----\nThis function writes the dataframe as a `feather file\n`_. Requires a default\nindex. For saving the DataFrame with your custom index use a method that\nsupports custom indices e.g. `to_parquet`.\n\nExamples\n--------\n>>> df = pd.DataFrame([[1, 2, 3], [4, 5, 6]])\n>>> df.to_feather(\"file.feather\") # doctest: +SKIP\n"}, "kind": 2, "label": "to_feather", "sortText": "179"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "to_frame", "sortText": "180"}, {"detail": "bound method DataFrame.to_gbq(destination_table: str, project_id: str | None = None, chunksize: int | None = None, reauth: bool = False, if_exists: Literal[\"fail\", \"replace\", \"append\"] = \"fail\", auth_local_webserver: bool = True, table_schema: list[dict[str, str]] | None = None, location: str | None = None, progress_bar: bool = True, credentials=None) -> None", "documentation": {"kind": "plaintext", "value": "Write a DataFrame to a Google BigQuery table.\n\n.. deprecated:: 2.2.0\n\n Please use ``pandas_gbq.to_gbq`` instead.\n\nThis function requires the `pandas-gbq package\n`__.\n\nSee the `How to authenticate with Google BigQuery\n`__\nguide for authentication instructions.\n\nParameters\n----------\ndestination_table : str\n Name of table to be written, in the form ``dataset.tablename``.\nproject_id : str, optional\n Google BigQuery Account project ID. Optional when available from\n the environment.\nchunksize : int, optional\n Number of rows to be inserted in each chunk from the dataframe.\n Set to ``None`` to load the whole dataframe at once.\nreauth : bool, default False\n Force Google BigQuery to re-authenticate the user. This is useful\n if multiple accounts are used.\nif_exists : str, default 'fail'\n Behavior when the destination table exists. Value can be one of:\n\n ``'fail'``\n If table exists raise pandas_gbq.gbq.TableCreationError.\n ``'replace'``\n If table exists, drop it, recreate it, and insert data.\n ``'append'``\n If table exists, insert data. Create if does not exist.\nauth_local_webserver : bool, default True\n Use the `local webserver flow`_ instead of the `console flow`_\n when getting user credentials.\n\n .. _local webserver flow:\n https://google-auth-oauthlib.readthedocs.io/en/latest/reference/google_auth_oauthlib.flow.html#google_auth_oauthlib.flow.InstalledAppFlow.run_local_server\n .. _console flow:\n https://google-auth-oauthlib.readthedocs.io/en/latest/reference/google_auth_oauthlib.flow.html#google_auth_oauthlib.flow.InstalledAppFlow.run_console\n\n *New in version 0.2.0 of pandas-gbq*.\n\n .. versionchanged:: 1.5.0\n Default value is changed to ``True``. Google has deprecated the\n ``auth_local_webserver = False`` `\"out of band\" (copy-paste)\n flow\n `_.\ntable_schema : list of dicts, optional\n List of BigQuery table fields to which according DataFrame\n columns conform to, e.g. ``[{'name': 'col1', 'type':\n 'STRING'},...]``. If schema is not provided, it will be\n generated according to dtypes of DataFrame columns. See\n BigQuery API documentation on available names of a field.\n\n *New in version 0.3.1 of pandas-gbq*.\nlocation : str, optional\n Location where the load job should run. See the `BigQuery locations\n documentation\n `__ for a\n list of available locations. The location must match that of the\n target dataset.\n\n *New in version 0.5.0 of pandas-gbq*.\nprogress_bar : bool, default True\n Use the library `tqdm` to show the progress bar for the upload,\n chunk by chunk.\n\n *New in version 0.5.0 of pandas-gbq*.\ncredentials : google.auth.credentials.Credentials, optional\n Credentials for accessing Google APIs. Use this parameter to\n override default credentials, such as to use Compute Engine\n :class:`google.auth.compute_engine.Credentials` or Service\n Account :class:`google.oauth2.service_account.Credentials`\n directly.\n\n *New in version 0.8.0 of pandas-gbq*.\n\nSee Also\n--------\npandas_gbq.to_gbq : This function in the pandas-gbq library.\nread_gbq : Read a DataFrame from Google BigQuery.\n\nExamples\n--------\nExample taken from `Google BigQuery documentation\n`_\n\n>>> project_id = \"my-project\"\n>>> table_id = 'my_dataset.my_table'\n>>> df = pd.DataFrame({\n... \"my_string\": [\"a\", \"b\", \"c\"],\n... \"my_int64\": [1, 2, 3],\n... \"my_float64\": [4.0, 5.0, 6.0],\n... \"my_bool1\": [True, False, True],\n... \"my_bool2\": [False, True, False],\n... \"my_dates\": pd.date_range(\"now\", periods=3),\n... }\n... )\n\n>>> df.to_gbq(table_id, project_id=project_id) # doctest: +SKIP\n"}, "kind": 2, "label": "to_gbq", "sortText": "181"}, {"detail": "bound method DataFrame.to_hdf(path_or_buf: str | PathLike[str], key: str, mode: Literal[\"a\", \"w\", \"r+\"] = \"a\", complevel: int | None = None, complib: Literal[\"zlib\", \"lzo\", \"bzip2\", \"blosc\"] | None = None, append: bool = False, format: Literal[\"fixed\", \"table\"] | None = None, index: bool = True, min_itemsize: int | dict[str, int] | None = None, nan_rep=None, dropna: bool | None = None, data_columns: Literal[True] | list[str] | None = None, errors: Literal[\"strict\", \"ignore\", \"replace\", \"surrogateescape\", \"xmlcharrefreplace\", \"backslashreplace\", \"namereplace\"] = \"strict\", encoding: str = \"UTF-8\") -> None", "documentation": {"kind": "plaintext", "value": "Write the contained data to an HDF5 file using HDFStore.\n\nHierarchical Data Format (HDF) is self-describing, allowing an\napplication to interpret the structure and contents of a file with\nno outside information. One HDF file can hold a mix of related objects\nwhich can be accessed as a group or as individual objects.\n\nIn order to add another DataFrame or Series to an existing HDF file\nplease use append mode and a different a key.\n\n.. warning::\n\n One can store a subclass of ``DataFrame`` or ``Series`` to HDF5,\n but the type of the subclass is lost upon storing.\n\nFor more information see the :ref:`user guide `.\n\nParameters\n----------\npath_or_buf : str or pandas.HDFStore\n File path or HDFStore object.\nkey : str\n Identifier for the group in the store.\nmode : {'a', 'w', 'r+'}, default 'a'\n Mode to open file:\n\n - 'w': write, a new file is created (an existing file with\n the same name would be deleted).\n - 'a': append, an existing file is opened for reading and\n writing, and if the file does not exist it is created.\n - 'r+': similar to 'a', but the file must already exist.\ncomplevel : {0-9}, default None\n Specifies a compression level for data.\n A value of 0 or None disables compression.\ncomplib : {'zlib', 'lzo', 'bzip2', 'blosc'}, default 'zlib'\n Specifies the compression library to be used.\n These additional compressors for Blosc are supported\n (default if no compressor specified: 'blosc:blosclz'):\n {'blosc:blosclz', 'blosc:lz4', 'blosc:lz4hc', 'blosc:snappy',\n 'blosc:zlib', 'blosc:zstd'}.\n Specifying a compression library which is not available issues\n a ValueError.\nappend : bool, default False\n For Table formats, append the input data to the existing.\nformat : {'fixed', 'table', None}, default 'fixed'\n Possible values:\n\n - 'fixed': Fixed format. Fast writing/reading. Not-appendable,\n nor searchable.\n - 'table': Table format. Write as a PyTables Table structure\n which may perform worse but allow more flexible operations\n like searching / selecting subsets of the data.\n - If None, pd.get_option('io.hdf.default_format') is checked,\n followed by fallback to \"fixed\".\nindex : bool, default True\n Write DataFrame index as a column.\nmin_itemsize : dict or int, optional\n Map column names to minimum string sizes for columns.\nnan_rep : Any, optional\n How to represent null values as str.\n Not allowed with append=True.\ndropna : bool, default False, optional\n Remove missing values.\ndata_columns : list of columns or True, optional\n List of columns to create as indexed data columns for on-disk\n queries, or True to use all columns. By default only the axes\n of the object are indexed. See\n :ref:`Query via data columns`. for\n more information.\n Applicable only to format='table'.\nerrors : str, default 'strict'\n Specifies how encoding and decoding errors are to be handled.\n See the errors argument for :func:`open` for a full list\n of options.\nencoding : str, default \"UTF-8\"\n\nSee Also\n--------\nread_hdf : Read from HDF file.\nDataFrame.to_orc : Write a DataFrame to the binary orc format.\nDataFrame.to_parquet : Write a DataFrame to the binary parquet format.\nDataFrame.to_sql : Write to a SQL table.\nDataFrame.to_feather : Write out feather-format for DataFrames.\nDataFrame.to_csv : Write out to a csv file.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]},\n... index=['a', 'b', 'c']) # doctest: +SKIP\n>>> df.to_hdf('data.h5', key='df', mode='w') # doctest: +SKIP\n\nWe can add another object to the same file:\n\n>>> s = pd.Series([1, 2, 3, 4]) # doctest: +SKIP\n>>> s.to_hdf('data.h5', key='s') # doctest: +SKIP\n\nReading from HDF file:\n\n>>> pd.read_hdf('data.h5', 'df') # doctest: +SKIP\nA B\na 1 4\nb 2 5\nc 3 6\n>>> pd.read_hdf('data.h5', 's') # doctest: +SKIP\n0 1\n1 2\n2 3\n3 4\ndtype: int64\n"}, "kind": 2, "label": "to_hdf", "sortText": "182"}, {"detail": "Overload[(buf: str | PathLike[str] | WriteBuffer[str], columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = ..., col_space: Sequence[str | int] | int | Mapping[Hashable, str | int] | None = ..., header: bool = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., justify: str | None = ..., max_rows: int | None = ..., max_cols: int | None = ..., show_dimensions: bool | str = ..., decimal: str = ..., bold_rows: bool = ..., classes: str | list[Unknown] | tuple[Unknown, ...] | None = ..., escape: bool = ..., notebook: bool = ..., border: int | None = ..., table_id: str | None = ..., render_links: bool = ..., encoding: str | None = ...) -> None, (buf: None = ..., columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = ..., col_space: Sequence[str | int] | int | Mapping[Hashable, str | int] | None = ..., header: bool = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., justify: str | None = ..., max_rows: int | None = ..., max_cols: int | None = ..., show_dimensions: bool | str = ..., decimal: str = ..., bold_rows: bool = ..., classes: str | list[Unknown] | tuple[Unknown, ...] | None = ..., escape: bool = ..., notebook: bool = ..., border: int | None = ..., table_id: str | None = ..., render_links: bool = ..., encoding: str | None = ...) -> str]", "documentation": {"kind": "plaintext", "value": "Render a DataFrame as an HTML table.\n%(shared_params)s\nbold_rows : bool, default True\n Make the row labels bold in the output.\nclasses : str or list or tuple, default None\n CSS class(es) to apply to the resulting html table.\nescape : bool, default True\n Convert the characters <, >, and & to HTML-safe sequences.\nnotebook : {True, False}, default False\n Whether the generated HTML is for IPython Notebook.\nborder : int\n A ``border=border`` attribute is included in the opening\n `
` tag. Default ``pd.options.display.html.border``.\ntable_id : str, optional\n A css id is included in the opening `
` tag if specified.\nrender_links : bool, default False\n Convert URLs to HTML links.\nencoding : str, default \"utf-8\"\n Set character encoding.\n%(returns)s\nSee Also\n--------\nto_string : Convert DataFrame to a string.\n\nExamples\n--------\n>>> df = pd.DataFrame(data={'col1': [1, 2], 'col2': [4, 3]})\n>>> html_string = '''
\n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n...
col1col2
014
123
'''\n>>> assert html_string == df.to_html()\n"}, "kind": 2, "label": "to_html", "sortText": "183"}, {"detail": "bound method DataFrame.to_json(path_or_buf: str | PathLike[str] | WriteBuffer[bytes] | WriteBuffer[str] | None = None, orient: Literal[\"split\", \"records\", \"index\", \"table\", \"columns\", \"values\"] | None = None, date_format: str | None = None, double_precision: int = 10, force_ascii: bool = True, date_unit: Literal[\"s\", \"ms\", \"us\", \"ns\"] = \"ms\", default_handler: ((Any, /) -> str | float | list[Unknown] | dict[Unknown, Unknown] | None) | None = None, lines: bool = False, compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = \"infer\", index: bool | None = None, indent: int | None = None, storage_options: dict[str, Any] | None = None, mode: Literal[\"a\", \"w\"] = \"w\") -> str | None", "documentation": {"kind": "plaintext", "value": "Convert the object to a JSON string.\n\nNote NaN's and None will be converted to null and datetime objects\nwill be converted to UNIX timestamps.\n\nParameters\n----------\npath_or_buf : str, path object, file-like object, or None, default None\n String, path object (implementing os.PathLike[str]), or file-like\n object implementing a write() function. If None, the result is\n returned as a string.\norient : str\n Indication of expected JSON string format.\n\n * Series:\n\n - default is 'index'\n - allowed values are: {{'split', 'records', 'index', 'table'}}.\n\n * DataFrame:\n\n - default is 'columns'\n - allowed values are: {{'split', 'records', 'index', 'columns',\n 'values', 'table'}}.\n\n * The format of the JSON string:\n\n - 'split' : dict like {{'index' -> [index], 'columns' -> [columns],\n 'data' -> [values]}}\n - 'records' : list like [{{column -> value}}, ... , {{column -> value}}]\n - 'index' : dict like {{index -> {{column -> value}}}}\n - 'columns' : dict like {{column -> {{index -> value}}}}\n - 'values' : just the values array\n - 'table' : dict like {{'schema': {{schema}}, 'data': {{data}}}}\n\n Describing the data, where data component is like ``orient='records'``.\n\ndate_format : {{None, 'epoch', 'iso'}}\n Type of date conversion. 'epoch' = epoch milliseconds,\n 'iso' = ISO8601. The default depends on the `orient`. For\n ``orient='table'``, the default is 'iso'. For all other orients,\n the default is 'epoch'.\ndouble_precision : int, default 10\n The number of decimal places to use when encoding\n floating point values. The possible maximal value is 15.\n Passing double_precision greater than 15 will raise a ValueError.\nforce_ascii : bool, default True\n Force encoded string to be ASCII.\ndate_unit : str, default 'ms' (milliseconds)\n The time unit to encode to, governs timestamp and ISO8601\n precision. One of 's', 'ms', 'us', 'ns' for second, millisecond,\n microsecond, and nanosecond respectively.\ndefault_handler : callable, default None\n Handler to call if object cannot otherwise be converted to a\n suitable format for JSON. Should receive a single argument which is\n the object to convert and return a serialisable object.\nlines : bool, default False\n If 'orient' is 'records' write out line-delimited json format. Will\n throw ValueError if incorrect 'orient' since others are not\n list-like.\n{compression_options}\n\n .. versionchanged:: 1.4.0 Zstandard support.\n\nindex : bool or None, default None\n The index is only used when 'orient' is 'split', 'index', 'column',\n or 'table'. Of these, 'index' and 'column' do not support\n `index=False`.\n\nindent : int, optional\n Length of whitespace used to indent each record.\n\n{storage_options}\n\nmode : str, default 'w' (writing)\n Specify the IO mode for output when supplying a path_or_buf.\n Accepted args are 'w' (writing) and 'a' (append) only.\n mode='a' is only supported when lines is True and orient is 'records'.\n\nReturns\n-------\nNone or str\n If path_or_buf is None, returns the resulting json format as a\n string. Otherwise returns None.\n\nSee Also\n--------\nread_json : Convert a JSON string to pandas object.\n\nNotes\n-----\nThe behavior of ``indent=0`` varies from the stdlib, which does not\nindent the output but does insert newlines. Currently, ``indent=0``\nand the default ``indent=None`` are equivalent in pandas, though this\nmay change in a future release.\n\n``orient='table'`` contains a 'pandas_version' field under 'schema'.\nThis stores the version of `pandas` used in the latest revision of the\nschema.\n\nExamples\n--------\n>>> from json import loads, dumps\n>>> df = pd.DataFrame(\n... [[\"a\", \"b\"], [\"c\", \"d\"]],\n... index=[\"row 1\", \"row 2\"],\n... columns=[\"col 1\", \"col 2\"],\n... )\n\n>>> result = df.to_json(orient=\"split\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n{{\n \"columns\": [\n \"col 1\",\n \"col 2\"\n ],\n \"index\": [\n \"row 1\",\n \"row 2\"\n ],\n \"data\": [\n [\n \"a\",\n \"b\"\n ],\n [\n \"c\",\n \"d\"\n ]\n ]\n}}\n\nEncoding/decoding a Dataframe using ``'records'`` formatted JSON.\nNote that index labels are not preserved with this encoding.\n\n>>> result = df.to_json(orient=\"records\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n[\n {{\n \"col 1\": \"a\",\n \"col 2\": \"b\"\n }},\n {{\n \"col 1\": \"c\",\n \"col 2\": \"d\"\n }}\n]\n\nEncoding/decoding a Dataframe using ``'index'`` formatted JSON:\n\n>>> result = df.to_json(orient=\"index\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n{{\n \"row 1\": {{\n \"col 1\": \"a\",\n \"col 2\": \"b\"\n }},\n \"row 2\": {{\n \"col 1\": \"c\",\n \"col 2\": \"d\"\n }}\n}}\n\nEncoding/decoding a Dataframe using ``'columns'`` formatted JSON:\n\n>>> result = df.to_json(orient=\"columns\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n{{\n \"col 1\": {{\n \"row 1\": \"a\",\n \"row 2\": \"c\"\n }},\n \"col 2\": {{\n \"row 1\": \"b\",\n \"row 2\": \"d\"\n }}\n}}\n\nEncoding/decoding a Dataframe using ``'values'`` formatted JSON:\n\n>>> result = df.to_json(orient=\"values\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n[\n [\n \"a\",\n \"b\"\n ],\n [\n \"c\",\n \"d\"\n ]\n]\n\nEncoding with Table Schema:\n\n>>> result = df.to_json(orient=\"table\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n{{\n \"schema\": {{\n \"fields\": [\n {{\n \"name\": \"index\",\n \"type\": \"string\"\n }},\n {{\n \"name\": \"col 1\",\n \"type\": \"string\"\n }},\n {{\n \"name\": \"col 2\",\n \"type\": \"string\"\n }}\n ],\n \"primaryKey\": [\n \"index\"\n ],\n \"pandas_version\": \"1.4.0\"\n }},\n \"data\": [\n {{\n \"index\": \"row 1\",\n \"col 1\": \"a\",\n \"col 2\": \"b\"\n }},\n {{\n \"index\": \"row 2\",\n \"col 1\": \"c\",\n \"col 2\": \"d\"\n }}\n ]\n}}\n"}, "kind": 2, "label": "to_json", "sortText": "184"}, {"detail": "Overload[(buf: None = ..., columns: Sequence[Hashable] | None = ..., header: bool | SequenceNotStr[str] = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., bold_rows: bool = ..., column_format: str | None = ..., longtable: bool | None = ..., escape: bool | None = ..., encoding: str | None = ..., decimal: str = ..., multicolumn: bool | None = ..., multicolumn_format: str | None = ..., multirow: bool | None = ..., caption: str | tuple[str, str] | None = ..., label: str | None = ..., position: str | None = ...) -> str, (buf: str | PathLike[str] | WriteBuffer[str], columns: Sequence[Hashable] | None = ..., header: bool | SequenceNotStr[str] = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., bold_rows: bool = ..., column_format: str | None = ..., longtable: bool | None = ..., escape: bool | None = ..., encoding: str | None = ..., decimal: str = ..., multicolumn: bool | None = ..., multicolumn_format: str | None = ..., multirow: bool | None = ..., caption: str | tuple[str, str] | None = ..., label: str | None = ..., position: str | None = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Render object to a LaTeX tabular, longtable, or nested table.\n\nRequires ``\\usepackage{{booktabs}}``. The output can be copy/pasted\ninto a main LaTeX document or read from an external file\nwith ``\\input{{table.tex}}``.\n\n.. versionchanged:: 2.0.0\n Refactored to use the Styler implementation via jinja2 templating.\n\nParameters\n----------\nbuf : str, Path or StringIO-like, optional, default None\n Buffer to write to. If None, the output is returned as a string.\ncolumns : list of label, optional\n The subset of columns to write. Writes all columns by default.\nheader : bool or list of str, default True\n Write out the column names. If a list of strings is given,\n it is assumed to be aliases for the column names.\nindex : bool, default True\n Write row names (index).\nna_rep : str, default 'NaN'\n Missing data representation.\nformatters : list of functions or dict of {{str: function}}, optional\n Formatter functions to apply to columns' elements by position or\n name. The result of each function must be a unicode string.\n List must be of length equal to the number of columns.\nfloat_format : one-parameter function or str, optional, default None\n Formatter for floating point numbers. For example\n ``float_format=\"%.2f\"`` and ``float_format=\"{{:0.2f}}\".format`` will\n both result in 0.1234 being formatted as 0.12.\nsparsify : bool, optional\n Set to False for a DataFrame with a hierarchical index to print\n every multiindex key at each row. By default, the value will be\n read from the config module.\nindex_names : bool, default True\n Prints the names of the indexes.\nbold_rows : bool, default False\n Make the row labels bold in the output.\ncolumn_format : str, optional\n The columns format as specified in `LaTeX table format\n `__ e.g. 'rcl' for 3\n columns. By default, 'l' will be used for all columns except\n columns of numbers, which default to 'r'.\nlongtable : bool, optional\n Use a longtable environment instead of tabular. Requires\n adding a \\usepackage{{longtable}} to your LaTeX preamble.\n By default, the value will be read from the pandas config\n module, and set to `True` if the option ``styler.latex.environment`` is\n `\"longtable\"`.\n\n .. versionchanged:: 2.0.0\n The pandas option affecting this argument has changed.\nescape : bool, optional\n By default, the value will be read from the pandas config\n module and set to `True` if the option ``styler.format.escape`` is\n `\"latex\"`. When set to False prevents from escaping latex special\n characters in column names.\n\n .. versionchanged:: 2.0.0\n The pandas option affecting this argument has changed, as has the\n default value to `False`.\nencoding : str, optional\n A string representing the encoding to use in the output file,\n defaults to 'utf-8'.\ndecimal : str, default '.'\n Character recognized as decimal separator, e.g. ',' in Europe.\nmulticolumn : bool, default True\n Use \\multicolumn to enhance MultiIndex columns.\n The default will be read from the config module, and is set\n as the option ``styler.sparse.columns``.\n\n .. versionchanged:: 2.0.0\n The pandas option affecting this argument has changed.\nmulticolumn_format : str, default 'r'\n The alignment for multicolumns, similar to `column_format`\n The default will be read from the config module, and is set as the option\n ``styler.latex.multicol_align``.\n\n .. versionchanged:: 2.0.0\n The pandas option affecting this argument has changed, as has the\n default value to \"r\".\nmultirow : bool, default True\n Use \\multirow to enhance MultiIndex rows. Requires adding a\n \\usepackage{{multirow}} to your LaTeX preamble. Will print\n centered labels (instead of top-aligned) across the contained\n rows, separating groups via clines. The default will be read\n from the pandas config module, and is set as the option\n ``styler.sparse.index``.\n\n .. versionchanged:: 2.0.0\n The pandas option affecting this argument has changed, as has the\n default value to `True`.\ncaption : str or tuple, optional\n Tuple (full_caption, short_caption),\n which results in ``\\caption[short_caption]{{full_caption}}``;\n if a single string is passed, no short caption will be set.\nlabel : str, optional\n The LaTeX label to be placed inside ``\\label{{}}`` in the output.\n This is used with ``\\ref{{}}`` in the main ``.tex`` file.\n\nposition : str, optional\n The LaTeX positional argument for tables, to be placed after\n ``\\begin{{}}`` in the output.\n\nReturns\n-------\nstr or None\n If buf is None, returns the result as a string. Otherwise returns None.\n\nSee Also\n--------\nio.formats.style.Styler.to_latex : Render a DataFrame to LaTeX\n with conditional formatting.\nDataFrame.to_string : Render a DataFrame to a console-friendly\n tabular output.\nDataFrame.to_html : Render a DataFrame as an HTML table.\n\nNotes\n-----\nAs of v2.0.0 this method has changed to use the Styler implementation as\npart of :meth:`.Styler.to_latex` via ``jinja2`` templating. This means\nthat ``jinja2`` is a requirement, and needs to be installed, for this method\nto function. It is advised that users switch to using Styler, since that\nimplementation is more frequently updated and contains much more\nflexibility with the output.\n\nExamples\n--------\nConvert a general DataFrame to LaTeX with formatting:\n\n>>> df = pd.DataFrame(dict(name=['Raphael', 'Donatello'],\n... age=[26, 45],\n... height=[181.23, 177.65]))\n>>> print(df.to_latex(index=False,\n... formatters={\"name\": str.upper},\n... float_format=\"{:.1f}\".format,\n... )) # doctest: +SKIP\n\\begin{tabular}{lrr}\n\\toprule\nname & age & height \\\\\n\\midrule\nRAPHAEL & 26 & 181.2 \\\\\nDONATELLO & 45 & 177.7 \\\\\n\\bottomrule\n\\end{tabular}\n"}, "kind": 2, "label": "to_latex", "sortText": "185"}, {"detail": "bound method DataFrame.to_markdown(buf: str | PathLike[str] | WriteBuffer[str] | None = None, mode: str = \"wt\", index: bool = True, storage_options: dict[str, Any] | None = None, **kwargs) -> str | None", "kind": 2, "label": "to_markdown", "sortText": "186"}, {"detail": "bound method DataFrame.to_numpy(dtype: DTypeLike | None = None, copy: bool = False, na_value: object = ...) -> ndarray[_AnyShape, dtype[Any]]", "documentation": {"kind": "plaintext", "value": "Convert the DataFrame to a NumPy array.\n\nBy default, the dtype of the returned array will be the common NumPy\ndtype of all types in the DataFrame. For example, if the dtypes are\n``float16`` and ``float32``, the results dtype will be ``float32``.\nThis may require copying data and coercing values, which may be\nexpensive.\n\nParameters\n----------\ndtype : str or numpy.dtype, optional\n The dtype to pass to :meth:`numpy.asarray`.\ncopy : bool, default False\n Whether to ensure that the returned value is not a view on\n another array. Note that ``copy=False`` does not *ensure* that\n ``to_numpy()`` is no-copy. Rather, ``copy=True`` ensure that\n a copy is made, even if not strictly necessary.\nna_value : Any, optional\n The value to use for missing values. The default value depends\n on `dtype` and the dtypes of the DataFrame columns.\n\nReturns\n-------\nnumpy.ndarray\n\nSee Also\n--------\nSeries.to_numpy : Similar method for Series.\n\nExamples\n--------\n>>> pd.DataFrame({\"A\": [1, 2], \"B\": [3, 4]}).to_numpy()\narray([[1, 3],\n [2, 4]])\n\nWith heterogeneous data, the lowest common type will have to\nbe used.\n\n>>> df = pd.DataFrame({\"A\": [1, 2], \"B\": [3.0, 4.5]})\n>>> df.to_numpy()\narray([[1. , 3. ],\n [2. , 4.5]])\n\nFor a mix of numeric and non-numeric types, the output array will\nhave object dtype.\n\n>>> df['C'] = pd.date_range('2000', periods=2)\n>>> df.to_numpy()\narray([[1, 3.0, Timestamp('2000-01-01 00:00:00')],\n [2, 4.5, Timestamp('2000-01-02 00:00:00')]], dtype=object)\n"}, "kind": 2, "label": "to_numpy", "sortText": "187"}, {"detail": "bound method DataFrame.to_orc(path: str | PathLike[str] | WriteBuffer[bytes] | None = None, *, engine: Literal[\"pyarrow\"] = \"pyarrow\", index: bool | None = None, engine_kwargs: dict[str, Any] | None = None) -> bytes | None", "documentation": {"kind": "plaintext", "value": "Write a DataFrame to the ORC format.\n\n.. versionadded:: 1.5.0\n\nParameters\n----------\npath : str, file-like object or None, default None\n If a string, it will be used as Root Directory path\n when writing a partitioned dataset. By file-like object,\n we refer to objects with a write() method, such as a file handle\n (e.g. via builtin open function). If path is None,\n a bytes object is returned.\nengine : {'pyarrow'}, default 'pyarrow'\n ORC library to use.\nindex : bool, optional\n If ``True``, include the dataframe's index(es) in the file output.\n If ``False``, they will not be written to the file.\n If ``None``, similar to ``infer`` the dataframe's index(es)\n will be saved. However, instead of being saved as values,\n the RangeIndex will be stored as a range in the metadata so it\n doesn't require much space and is faster. Other indexes will\n be included as columns in the file output.\nengine_kwargs : dict[str, Any] or None, default None\n Additional keyword arguments passed to :func:`pyarrow.orc.write_table`.\n\nReturns\n-------\nbytes if no path argument is provided else None\n\nRaises\n------\nNotImplementedError\n Dtype of one or more columns is category, unsigned integers, interval,\n period or sparse.\nValueError\n engine is not pyarrow.\n\nSee Also\n--------\nread_orc : Read a ORC file.\nDataFrame.to_parquet : Write a parquet file.\nDataFrame.to_csv : Write a csv file.\nDataFrame.to_sql : Write to a sql table.\nDataFrame.to_hdf : Write to hdf.\n\nNotes\n-----\n* Before using this function you should read the :ref:`user guide about\n ORC ` and :ref:`install optional dependencies `.\n* This function requires `pyarrow `_\n library.\n* For supported dtypes please refer to `supported ORC features in Arrow\n `__.\n* Currently timezones in datetime columns are not preserved when a\n dataframe is converted into ORC files.\n\nExamples\n--------\n>>> df = pd.DataFrame(data={'col1': [1, 2], 'col2': [4, 3]})\n>>> df.to_orc('df.orc') # doctest: +SKIP\n>>> pd.read_orc('df.orc') # doctest: +SKIP\n col1 col2\n0 1 4\n1 2 3\n\nIf you want to get a buffer to the orc content you can write it to io.BytesIO\n\n>>> import io\n>>> b = io.BytesIO(df.to_orc()) # doctest: +SKIP\n>>> b.seek(0) # doctest: +SKIP\n0\n>>> content = b.read() # doctest: +SKIP\n"}, "kind": 2, "label": "to_orc", "sortText": "188"}, {"detail": "Overload[(path: None = ..., engine: Literal[\"auto\", \"pyarrow\", \"fastparquet\"] = ..., compression: str | None = ..., index: bool | None = ..., partition_cols: list[str] | None = ..., storage_options: dict[str, Any] | None = ..., **kwargs) -> bytes, (path: str | PathLike[str] | WriteBuffer[bytes], engine: Literal[\"auto\", \"pyarrow\", \"fastparquet\"] = ..., compression: str | None = ..., index: bool | None = ..., partition_cols: list[str] | None = ..., storage_options: dict[str, Any] | None = ..., **kwargs) -> None]", "documentation": {"kind": "plaintext", "value": "Write a DataFrame to the binary parquet format.\n\nThis function writes the dataframe as a `parquet file\n`_. You can choose different parquet\nbackends, and have the option of compression. See\n:ref:`the user guide ` for more details.\n\nParameters\n----------\npath : str, path object, file-like object, or None, default None\n String, path object (implementing ``os.PathLike[str]``), or file-like\n object implementing a binary ``write()`` function. If None, the result is\n returned as bytes. If a string or path, it will be used as Root Directory\n path when writing a partitioned dataset.\nengine : {{'auto', 'pyarrow', 'fastparquet'}}, default 'auto'\n Parquet library to use. If 'auto', then the option\n ``io.parquet.engine`` is used. The default ``io.parquet.engine``\n behavior is to try 'pyarrow', falling back to 'fastparquet' if\n 'pyarrow' is unavailable.\ncompression : str or None, default 'snappy'\n Name of the compression to use. Use ``None`` for no compression.\n Supported options: 'snappy', 'gzip', 'brotli', 'lz4', 'zstd'.\nindex : bool, default None\n If ``True``, include the dataframe's index(es) in the file output.\n If ``False``, they will not be written to the file.\n If ``None``, similar to ``True`` the dataframe's index(es)\n will be saved. However, instead of being saved as values,\n the RangeIndex will be stored as a range in the metadata so it\n doesn't require much space and is faster. Other indexes will\n be included as columns in the file output.\npartition_cols : list, optional, default None\n Column names by which to partition the dataset.\n Columns are partitioned in the order they are given.\n Must be None if path is not a string.\n{storage_options}\n\n**kwargs\n Additional arguments passed to the parquet library. See\n :ref:`pandas io ` for more details.\n\nReturns\n-------\nbytes if no path argument is provided else None\n\nSee Also\n--------\nread_parquet : Read a parquet file.\nDataFrame.to_orc : Write an orc file.\nDataFrame.to_csv : Write a csv file.\nDataFrame.to_sql : Write to a sql table.\nDataFrame.to_hdf : Write to hdf.\n\nNotes\n-----\nThis function requires either the `fastparquet\n`_ or `pyarrow\n`_ library.\n\nExamples\n--------\n>>> df = pd.DataFrame(data={{'col1': [1, 2], 'col2': [3, 4]}})\n>>> df.to_parquet('df.parquet.gzip',\n... compression='gzip') # doctest: +SKIP\n>>> pd.read_parquet('df.parquet.gzip') # doctest: +SKIP\n col1 col2\n0 1 3\n1 2 4\n\nIf you want to get a buffer to the parquet content you can use a io.BytesIO\nobject, as long as you don't use partition_cols, which creates multiple files.\n\n>>> import io\n>>> f = io.BytesIO()\n>>> df.to_parquet(f)\n>>> f.seek(0)\n0\n>>> content = f.read()\n"}, "kind": 2, "label": "to_parquet", "sortText": "189"}, {"detail": "bound method DataFrame.to_period(freq: str | BaseOffset | None = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Convert DataFrame from DatetimeIndex to PeriodIndex.\n\nConvert DataFrame from DatetimeIndex to PeriodIndex with desired\nfrequency (inferred from index if not passed).\n\nParameters\n----------\nfreq : str, default\n Frequency of the PeriodIndex.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to convert (the index by default).\ncopy : bool, default True\n If False then underlying input data is not copied.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\nDataFrame\n The DataFrame has a PeriodIndex.\n\nExamples\n--------\n>>> idx = pd.to_datetime(\n... [\n... \"2001-03-31 00:00:00\",\n... \"2002-05-31 00:00:00\",\n... \"2003-08-31 00:00:00\",\n... ]\n... )\n\n>>> idx\nDatetimeIndex(['2001-03-31', '2002-05-31', '2003-08-31'],\ndtype='datetime64[ns]', freq=None)\n\n>>> idx.to_period(\"M\")\nPeriodIndex(['2001-03', '2002-05', '2003-08'], dtype='period[M]')\n\nFor the yearly frequency\n\n>>> idx.to_period(\"Y\")\nPeriodIndex(['2001', '2002', '2003'], dtype='period[Y-DEC]')\n"}, "kind": 2, "label": "to_period", "sortText": "190"}, {"detail": "bound method DataFrame.to_pickle(path: str | PathLike[str] | WriteBuffer[bytes], compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = \"infer\", protocol: int = 5, storage_options: dict[str, Any] | None = None) -> None", "documentation": {"kind": "plaintext", "value": "Pickle (serialize) object to file.\n\nParameters\n----------\npath : str, path object, or file-like object\n String, path object (implementing ``os.PathLike[str]``), or file-like\n object implementing a binary ``write()`` function. File path where\n the pickled object will be stored.\n{compression_options}\nprotocol : int\n Int which indicates which protocol should be used by the pickler,\n default HIGHEST_PROTOCOL (see [1]_ paragraph 12.1.2). The possible\n values are 0, 1, 2, 3, 4, 5. A negative value for the protocol\n parameter is equivalent to setting its value to HIGHEST_PROTOCOL.\n\n .. [1] https://docs.python.org/3/library/pickle.html.\n\n{storage_options}\n\nSee Also\n--------\nread_pickle : Load pickled pandas object (or any object) from file.\nDataFrame.to_hdf : Write DataFrame to an HDF5 file.\nDataFrame.to_sql : Write DataFrame to a SQL database.\nDataFrame.to_parquet : Write a DataFrame to the binary parquet format.\n\nExamples\n--------\n>>> original_df = pd.DataFrame({{\"foo\": range(5), \"bar\": range(5, 10)}}) # doctest: +SKIP\n>>> original_df # doctest: +SKIP\n foo bar\n0 0 5\n1 1 6\n2 2 7\n3 3 8\n4 4 9\n>>> original_df.to_pickle(\"./dummy.pkl\") # doctest: +SKIP\n\n>>> unpickled_df = pd.read_pickle(\"./dummy.pkl\") # doctest: +SKIP\n>>> unpickled_df # doctest: +SKIP\n foo bar\n0 0 5\n1 1 6\n2 2 7\n3 3 8\n4 4 9\n"}, "kind": 2, "label": "to_pickle", "sortText": "191"}, {"detail": "bound method DataFrame.to_records(index: bool = True, column_dtypes=None, index_dtypes=None) -> recarray[_AnyShape, dtype[Any]]", "documentation": {"kind": "plaintext", "value": "Convert DataFrame to a NumPy record array.\n\nIndex will be included as the first field of the record array if\nrequested.\n\nParameters\n----------\nindex : bool, default True\n Include index in resulting record array, stored in 'index'\n field or using the index label, if set.\ncolumn_dtypes : str, type, dict, default None\n If a string or type, the data type to store all columns. If\n a dictionary, a mapping of column names and indices (zero-indexed)\n to specific data types.\nindex_dtypes : str, type, dict, default None\n If a string or type, the data type to store all index levels. If\n a dictionary, a mapping of index level names and indices\n (zero-indexed) to specific data types.\n\n This mapping is applied only if `index=True`.\n\nReturns\n-------\nnumpy.rec.recarray\n NumPy ndarray with the DataFrame labels as fields and each row\n of the DataFrame as entries.\n\nSee Also\n--------\nDataFrame.from_records: Convert structured or record ndarray\n to DataFrame.\nnumpy.rec.recarray: An ndarray that allows field access using\n attributes, analogous to typed columns in a\n spreadsheet.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [1, 2], 'B': [0.5, 0.75]},\n... index=['a', 'b'])\n>>> df\n A B\na 1 0.50\nb 2 0.75\n>>> df.to_records()\nrec.array([('a', 1, 0.5 ), ('b', 2, 0.75)],\n dtype=[('index', 'O'), ('A', '>> df.index = df.index.rename(\"I\")\n>>> df.to_records()\nrec.array([('a', 1, 0.5 ), ('b', 2, 0.75)],\n dtype=[('I', 'O'), ('A', '>> df.to_records(index=False)\nrec.array([(1, 0.5 ), (2, 0.75)],\n dtype=[('A', '>> df.to_records(column_dtypes={\"A\": \"int32\"})\nrec.array([('a', 1, 0.5 ), ('b', 2, 0.75)],\n dtype=[('I', 'O'), ('A', '>> df.to_records(index_dtypes=\">> index_dtypes = f\">> df.to_records(index_dtypes=index_dtypes)\nrec.array([(b'a', 1, 0.5 ), (b'b', 2, 0.75)],\n dtype=[('I', 'S1'), ('A', ' Unknown) | None = None) -> int | None", "documentation": {"kind": "plaintext", "value": "Write records stored in a DataFrame to a SQL database.\n\nDatabases supported by SQLAlchemy [1]_ are supported. Tables can be\nnewly created, appended to, or overwritten.\n\nParameters\n----------\nname : str\n Name of SQL table.\ncon : sqlalchemy.engine.(Engine or Connection) or sqlite3.Connection\n Using SQLAlchemy makes it possible to use any DB supported by that\n library. Legacy support is provided for sqlite3.Connection objects. The user\n is responsible for engine disposal and connection closure for the SQLAlchemy\n connectable. See `here `_.\n If passing a sqlalchemy.engine.Connection which is already in a transaction,\n the transaction will not be committed. If passing a sqlite3.Connection,\n it will not be possible to roll back the record insertion.\n\nschema : str, optional\n Specify the schema (if database flavor supports this). If None, use\n default schema.\nif_exists : {'fail', 'replace', 'append'}, default 'fail'\n How to behave if the table already exists.\n\n * fail: Raise a ValueError.\n * replace: Drop the table before inserting new values.\n * append: Insert new values to the existing table.\n\nindex : bool, default True\n Write DataFrame index as a column. Uses `index_label` as the column\n name in the table. Creates a table index for this column.\nindex_label : str or sequence, default None\n Column label for index column(s). If None is given (default) and\n `index` is True, then the index names are used.\n A sequence should be given if the DataFrame uses MultiIndex.\nchunksize : int, optional\n Specify the number of rows in each batch to be written at a time.\n By default, all rows will be written at once.\ndtype : dict or scalar, optional\n Specifying the datatype for columns. If a dictionary is used, the\n keys should be the column names and the values should be the\n SQLAlchemy types or strings for the sqlite3 legacy mode. If a\n scalar is provided, it will be applied to all columns.\nmethod : {None, 'multi', callable}, optional\n Controls the SQL insertion clause used:\n\n * None : Uses standard SQL ``INSERT`` clause (one per row).\n * 'multi': Pass multiple values in a single ``INSERT`` clause.\n * callable with signature ``(pd_table, conn, keys, data_iter)``.\n\n Details and a sample callable implementation can be found in the\n section :ref:`insert method `.\n\nReturns\n-------\nNone or int\n Number of rows affected by to_sql. None is returned if the callable\n passed into ``method`` does not return an integer number of rows.\n\n The number of returned rows affected is the sum of the ``rowcount``\n attribute of ``sqlite3.Cursor`` or SQLAlchemy connectable which may not\n reflect the exact number of written rows as stipulated in the\n `sqlite3 `__ or\n `SQLAlchemy `__.\n\n .. versionadded:: 1.4.0\n\nRaises\n------\nValueError\n When the table already exists and `if_exists` is 'fail' (the\n default).\n\nSee Also\n--------\nread_sql : Read a DataFrame from a table.\n\nNotes\n-----\nTimezone aware datetime columns will be written as\n``Timestamp with timezone`` type with SQLAlchemy if supported by the\ndatabase. Otherwise, the datetimes will be stored as timezone unaware\ntimestamps local to the original timezone.\n\nNot all datastores support ``method=\"multi\"``. Oracle, for example,\ndoes not support multi-value insert.\n\nReferences\n----------\n.. [1] https://docs.sqlalchemy.org\n.. [2] https://www.python.org/dev/peps/pep-0249/\n\nExamples\n--------\nCreate an in-memory SQLite database.\n\n>>> from sqlalchemy import create_engine\n>>> engine = create_engine('sqlite://', echo=False)\n\nCreate a table from scratch with 3 rows.\n\n>>> df = pd.DataFrame({'name' : ['User 1', 'User 2', 'User 3']})\n>>> df\n name\n0 User 1\n1 User 2\n2 User 3\n\n>>> df.to_sql(name='users', con=engine)\n3\n>>> from sqlalchemy import text\n>>> with engine.connect() as conn:\n... conn.execute(text(\"SELECT * FROM users\")).fetchall()\n[(0, 'User 1'), (1, 'User 2'), (2, 'User 3')]\n\nAn `sqlalchemy.engine.Connection` can also be passed to `con`:\n\n>>> with engine.begin() as connection:\n... df1 = pd.DataFrame({'name' : ['User 4', 'User 5']})\n... df1.to_sql(name='users', con=connection, if_exists='append')\n2\n\nThis is allowed to support operations that require that the same\nDBAPI connection is used for the entire operation.\n\n>>> df2 = pd.DataFrame({'name' : ['User 6', 'User 7']})\n>>> df2.to_sql(name='users', con=engine, if_exists='append')\n2\n>>> with engine.connect() as conn:\n... conn.execute(text(\"SELECT * FROM users\")).fetchall()\n[(0, 'User 1'), (1, 'User 2'), (2, 'User 3'),\n (0, 'User 4'), (1, 'User 5'), (0, 'User 6'),\n (1, 'User 7')]\n\nOverwrite the table with just ``df2``.\n\n>>> df2.to_sql(name='users', con=engine, if_exists='replace',\n... index_label='id')\n2\n>>> with engine.connect() as conn:\n... conn.execute(text(\"SELECT * FROM users\")).fetchall()\n[(0, 'User 6'), (1, 'User 7')]\n\nUse ``method`` to define a callable insertion method to do nothing\nif there's a primary key conflict on a table in a PostgreSQL database.\n\n>>> from sqlalchemy.dialects.postgresql import insert\n>>> def insert_on_conflict_nothing(table, conn, keys, data_iter):\n... # \"a\" is the primary key in \"conflict_table\"\n... data = [dict(zip(keys, row)) for row in data_iter]\n... stmt = insert(table.table).values(data).on_conflict_do_nothing(index_elements=[\"a\"])\n... result = conn.execute(stmt)\n... return result.rowcount\n>>> df_conflict.to_sql(name=\"conflict_table\", con=conn, if_exists=\"append\", method=insert_on_conflict_nothing) # doctest: +SKIP\n0\n\nFor MySQL, a callable to update columns ``b`` and ``c`` if there's a conflict\non a primary key.\n\n>>> from sqlalchemy.dialects.mysql import insert\n>>> def insert_on_conflict_update(table, conn, keys, data_iter):\n... # update columns \"b\" and \"c\" on primary key conflict\n... data = [dict(zip(keys, row)) for row in data_iter]\n... stmt = (\n... insert(table.table)\n... .values(data)\n... )\n... stmt = stmt.on_duplicate_key_update(b=stmt.inserted.b, c=stmt.inserted.c)\n... result = conn.execute(stmt)\n... return result.rowcount\n>>> df_conflict.to_sql(name=\"conflict_table\", con=conn, if_exists=\"append\", method=insert_on_conflict_update) # doctest: +SKIP\n2\n\nSpecify the dtype (especially useful for integers with missing values).\nNotice that while pandas is forced to store the data as floating point,\nthe database supports nullable integers. When fetching the data with\nPython, we get back integer scalars.\n\n>>> df = pd.DataFrame({\"A\": [1, None, 2]})\n>>> df\n A\n0 1.0\n1 NaN\n2 2.0\n\n>>> from sqlalchemy.types import Integer\n>>> df.to_sql(name='integers', con=engine, index=False,\n... dtype={\"A\": Integer()})\n3\n\n>>> with engine.connect() as conn:\n... conn.execute(text(\"SELECT * FROM integers\")).fetchall()\n[(1,), (None,), (2,)]\n"}, "kind": 2, "label": "to_sql", "sortText": "193"}, {"detail": "bound method DataFrame.to_stata(path: str | PathLike[str] | WriteBuffer[bytes], *, convert_dates: dict[Hashable, str] | None = None, write_index: bool = True, byteorder: Literal[\">\", \"<\", \"little\", \"big\"] | None = None, time_stamp: datetime | None = None, data_label: str | None = None, variable_labels: dict[Hashable, str] | None = None, version: int | None = 114, convert_strl: Sequence[Hashable] | None = None, compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = \"infer\", storage_options: dict[str, Any] | None = None, value_labels: dict[Hashable, dict[float, str]] | None = None) -> None", "documentation": {"kind": "plaintext", "value": "Export DataFrame object to Stata dta format.\n\nWrites the DataFrame to a Stata dataset file.\n\"dta\" files contain a Stata dataset.\n\nParameters\n----------\npath : str, path object, or buffer\n String, path object (implementing ``os.PathLike[str]``), or file-like\n object implementing a binary ``write()`` function.\n\nconvert_dates : dict\n Dictionary mapping columns containing datetime types to stata\n internal format to use when writing the dates. Options are 'tc',\n 'td', 'tm', 'tw', 'th', 'tq', 'ty'. Column can be either an integer\n or a name. Datetime columns that do not have a conversion type\n specified will be converted to 'tc'. Raises NotImplementedError if\n a datetime column has timezone information.\nwrite_index : bool\n Write the index to Stata dataset.\nbyteorder : str\n Can be \">\", \"<\", \"little\", or \"big\". default is `sys.byteorder`.\ntime_stamp : datetime\n A datetime to use as file creation date. Default is the current\n time.\ndata_label : str, optional\n A label for the data set. Must be 80 characters or smaller.\nvariable_labels : dict\n Dictionary containing columns as keys and variable labels as\n values. Each label must be 80 characters or smaller.\nversion : {{114, 117, 118, 119, None}}, default 114\n Version to use in the output dta file. Set to None to let pandas\n decide between 118 or 119 formats depending on the number of\n columns in the frame. Version 114 can be read by Stata 10 and\n later. Version 117 can be read by Stata 13 or later. Version 118\n is supported in Stata 14 and later. Version 119 is supported in\n Stata 15 and later. Version 114 limits string variables to 244\n characters or fewer while versions 117 and later allow strings\n with lengths up to 2,000,000 characters. Versions 118 and 119\n support Unicode characters, and version 119 supports more than\n 32,767 variables.\n\n Version 119 should usually only be used when the number of\n variables exceeds the capacity of dta format 118. Exporting\n smaller datasets in format 119 may have unintended consequences,\n and, as of November 2020, Stata SE cannot read version 119 files.\n\nconvert_strl : list, optional\n List of column names to convert to string columns to Stata StrL\n format. Only available if version is 117. Storing strings in the\n StrL format can produce smaller dta files if strings have more than\n 8 characters and values are repeated.\n{compression_options}\n\n .. versionchanged:: 1.4.0 Zstandard support.\n\n{storage_options}\n\nvalue_labels : dict of dicts\n Dictionary containing columns as keys and dictionaries of column value\n to labels as values. Labels for a single variable must be 32,000\n characters or smaller.\n\n .. versionadded:: 1.4.0\n\nRaises\n------\nNotImplementedError\n * If datetimes contain timezone information\n * Column dtype is not representable in Stata\nValueError\n * Columns listed in convert_dates are neither datetime64[ns]\n or datetime.datetime\n * Column listed in convert_dates is not in DataFrame\n * Categorical label contains more than 32,000 characters\n\nSee Also\n--------\nread_stata : Import Stata data files.\nio.stata.StataWriter : Low-level writer for Stata data files.\nio.stata.StataWriter117 : Low-level writer for version 117 files.\n\nExamples\n--------\n>>> df = pd.DataFrame({{'animal': ['falcon', 'parrot', 'falcon',\n... 'parrot'],\n... 'speed': [350, 18, 361, 15]}})\n>>> df.to_stata('animals.dta') # doctest: +SKIP\n"}, "kind": 2, "label": "to_stata", "sortText": "194"}, {"detail": "Overload[(buf: None = ..., columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = ..., col_space: int | list[int] | dict[Hashable, int] | None = ..., header: bool | SequenceNotStr[str] = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., justify: str | None = ..., max_rows: int | None = ..., max_cols: int | None = ..., show_dimensions: bool = ..., decimal: str = ..., line_width: int | None = ..., min_rows: int | None = ..., max_colwidth: int | None = ..., encoding: str | None = ...) -> str, (buf: str | PathLike[str] | WriteBuffer[str], columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = ..., col_space: int | list[int] | dict[Hashable, int] | None = ..., header: bool | SequenceNotStr[str] = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., justify: str | None = ..., max_rows: int | None = ..., max_cols: int | None = ..., show_dimensions: bool = ..., decimal: str = ..., line_width: int | None = ..., min_rows: int | None = ..., max_colwidth: int | None = ..., encoding: str | None = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Render a DataFrame to a console-friendly tabular output.\n%(shared_params)s\nline_width : int, optional\n Width to wrap a line in characters.\nmin_rows : int, optional\n The number of rows to display in the console in a truncated repr\n (when number of rows is above `max_rows`).\nmax_colwidth : int, optional\n Max width to truncate each column in characters. By default, no limit.\nencoding : str, default \"utf-8\"\n Set character encoding.\n%(returns)s\nSee Also\n--------\nto_html : Convert DataFrame to HTML.\n\nExamples\n--------\n>>> d = {'col1': [1, 2, 3], 'col2': [4, 5, 6]}\n>>> df = pd.DataFrame(d)\n>>> print(df.to_string())\n col1 col2\n0 1 4\n1 2 5\n2 3 6\n"}, "kind": 2, "label": "to_string", "sortText": "195"}, {"detail": "bound method DataFrame.to_timestamp(freq: str | BaseOffset | None = None, how: Literal[\"s\", \"e\", \"start\", \"end\"] = \"start\", axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Cast to DatetimeIndex of timestamps, at *beginning* of period.\n\nParameters\n----------\nfreq : str, default frequency of PeriodIndex\n Desired frequency.\nhow : {'s', 'e', 'start', 'end'}\n Convention for converting period to timestamp; start of period\n vs. end.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to convert (the index by default).\ncopy : bool, default True\n If False then underlying input data is not copied.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\nDataFrame\n The DataFrame has a DatetimeIndex.\n\nExamples\n--------\n>>> idx = pd.PeriodIndex(['2023', '2024'], freq='Y')\n>>> d = {'col1': [1, 2], 'col2': [3, 4]}\n>>> df1 = pd.DataFrame(data=d, index=idx)\n>>> df1\n col1 col2\n2023 1 3\n2024 2 4\n\nThe resulting timestamps will be at the beginning of the year in this case\n\n>>> df1 = df1.to_timestamp()\n>>> df1\n col1 col2\n2023-01-01 1 3\n2024-01-01 2 4\n>>> df1.index\nDatetimeIndex(['2023-01-01', '2024-01-01'], dtype='datetime64[ns]', freq=None)\n\nUsing `freq` which is the offset that the Timestamps will have\n\n>>> df2 = pd.DataFrame(data=d, index=idx)\n>>> df2 = df2.to_timestamp(freq='M')\n>>> df2\n col1 col2\n2023-01-31 1 3\n2024-01-31 2 4\n>>> df2.index\nDatetimeIndex(['2023-01-31', '2024-01-31'], dtype='datetime64[ns]', freq=None)\n"}, "kind": 2, "label": "to_timestamp", "sortText": "196"}, {"detail": "bound method DataFrame.to_xarray() -> Unknown", "documentation": {"kind": "plaintext", "value": "Return an xarray object from the pandas object.\n\nReturns\n-------\nxarray.DataArray or xarray.Dataset\n Data in the pandas structure converted to Dataset if the object is\n a DataFrame, or a DataArray if the object is a Series.\n\nSee Also\n--------\nDataFrame.to_hdf : Write DataFrame to an HDF5 file.\nDataFrame.to_parquet : Write a DataFrame to the binary parquet format.\n\nNotes\n-----\nSee the `xarray docs `__\n\nExamples\n--------\n>>> df = pd.DataFrame([('falcon', 'bird', 389.0, 2),\n... ('parrot', 'bird', 24.0, 2),\n... ('lion', 'mammal', 80.5, 4),\n... ('monkey', 'mammal', np.nan, 4)],\n... columns=['name', 'class', 'max_speed',\n... 'num_legs'])\n>>> df\n name class max_speed num_legs\n0 falcon bird 389.0 2\n1 parrot bird 24.0 2\n2 lion mammal 80.5 4\n3 monkey mammal NaN 4\n\n>>> df.to_xarray() # doctest: +SKIP\n\nDimensions: (index: 4)\nCoordinates:\n * index (index) int64 32B 0 1 2 3\nData variables:\n name (index) object 32B 'falcon' 'parrot' 'lion' 'monkey'\n class (index) object 32B 'bird' 'bird' 'mammal' 'mammal'\n max_speed (index) float64 32B 389.0 24.0 80.5 nan\n num_legs (index) int64 32B 2 2 4 4\n\n>>> df['max_speed'].to_xarray() # doctest: +SKIP\n\narray([389. , 24. , 80.5, nan])\nCoordinates:\n * index (index) int64 0 1 2 3\n\n>>> dates = pd.to_datetime(['2018-01-01', '2018-01-01',\n... '2018-01-02', '2018-01-02'])\n>>> df_multiindex = pd.DataFrame({'date': dates,\n... 'animal': ['falcon', 'parrot',\n... 'falcon', 'parrot'],\n... 'speed': [350, 18, 361, 15]})\n>>> df_multiindex = df_multiindex.set_index(['date', 'animal'])\n\n>>> df_multiindex\n speed\ndate animal\n2018-01-01 falcon 350\n parrot 18\n2018-01-02 falcon 361\n parrot 15\n\n>>> df_multiindex.to_xarray() # doctest: +SKIP\n\nDimensions: (date: 2, animal: 2)\nCoordinates:\n * date (date) datetime64[ns] 2018-01-01 2018-01-02\n * animal (animal) object 'falcon' 'parrot'\nData variables:\n speed (date, animal) int64 350 18 361 15\n"}, "kind": 2, "label": "to_xarray", "sortText": "197"}, {"detail": "Overload[(path_or_buffer: None = ..., *, index: bool = ..., root_name: str | None = ..., row_name: str | None = ..., na_rep: str | None = ..., attr_cols: list[str] | None = ..., elem_cols: list[str] | None = ..., namespaces: dict[str | None, str] | None = ..., prefix: str | None = ..., encoding: str = ..., xml_declaration: bool | None = ..., pretty_print: bool | None = ..., parser: Literal[\"lxml\", \"etree\"] | None = ..., stylesheet: str | PathLike[str] | ReadBuffer[str] | ReadBuffer[bytes] | None = ..., compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = ..., storage_options: dict[str, Any] | None = ...) -> str, (path_or_buffer: str | PathLike[str] | WriteBuffer[bytes] | WriteBuffer[str], *, index: bool = ..., root_name: str | None = ..., row_name: str | None = ..., na_rep: str | None = ..., attr_cols: list[str] | None = ..., elem_cols: list[str] | None = ..., namespaces: dict[str | None, str] | None = ..., prefix: str | None = ..., encoding: str = ..., xml_declaration: bool | None = ..., pretty_print: bool | None = ..., parser: Literal[\"lxml\", \"etree\"] | None = ..., stylesheet: str | PathLike[str] | ReadBuffer[str] | ReadBuffer[bytes] | None = ..., compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = ..., storage_options: dict[str, Any] | None = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Render a DataFrame to an XML document.\n\n.. versionadded:: 1.3.0\n\nParameters\n----------\npath_or_buffer : str, path object, file-like object, or None, default None\n String, path object (implementing ``os.PathLike[str]``), or file-like\n object implementing a ``write()`` function. If None, the result is returned\n as a string.\nindex : bool, default True\n Whether to include index in XML document.\nroot_name : str, default 'data'\n The name of root element in XML document.\nrow_name : str, default 'row'\n The name of row element in XML document.\nna_rep : str, optional\n Missing data representation.\nattr_cols : list-like, optional\n List of columns to write as attributes in row element.\n Hierarchical columns will be flattened with underscore\n delimiting the different levels.\nelem_cols : list-like, optional\n List of columns to write as children in row element. By default,\n all columns output as children of row element. Hierarchical\n columns will be flattened with underscore delimiting the\n different levels.\nnamespaces : dict, optional\n All namespaces to be defined in root element. Keys of dict\n should be prefix names and values of dict corresponding URIs.\n Default namespaces should be given empty string key. For\n example, ::\n\n namespaces = {{\"\": \"https://example.com\"}}\n\nprefix : str, optional\n Namespace prefix to be used for every element and/or attribute\n in document. This should be one of the keys in ``namespaces``\n dict.\nencoding : str, default 'utf-8'\n Encoding of the resulting document.\nxml_declaration : bool, default True\n Whether to include the XML declaration at start of document.\npretty_print : bool, default True\n Whether output should be pretty printed with indentation and\n line breaks.\nparser : {{'lxml','etree'}}, default 'lxml'\n Parser module to use for building of tree. Only 'lxml' and\n 'etree' are supported. With 'lxml', the ability to use XSLT\n stylesheet is supported.\nstylesheet : str, path object or file-like object, optional\n A URL, file-like object, or a raw string containing an XSLT\n script used to transform the raw XML output. Script should use\n layout of elements and attributes from original output. This\n argument requires ``lxml`` to be installed. Only XSLT 1.0\n scripts and not later versions is currently supported.\n{compression_options}\n\n .. versionchanged:: 1.4.0 Zstandard support.\n\n{storage_options}\n\nReturns\n-------\nNone or str\n If ``io`` is None, returns the resulting XML format as a\n string. Otherwise returns None.\n\nSee Also\n--------\nto_json : Convert the pandas object to a JSON string.\nto_html : Convert DataFrame to a html.\n\nExamples\n--------\n>>> df = pd.DataFrame({{'shape': ['square', 'circle', 'triangle'],\n... 'degrees': [360, 360, 180],\n... 'sides': [4, np.nan, 3]}})\n\n>>> df.to_xml() # doctest: +SKIP\n\n\n \n 0\n square\n 360\n 4.0\n \n \n 1\n circle\n 360\n \n \n \n 2\n triangle\n 180\n 3.0\n \n\n\n>>> df.to_xml(attr_cols=[\n... 'index', 'shape', 'degrees', 'sides'\n... ]) # doctest: +SKIP\n\n\n \n \n \n\n\n>>> df.to_xml(namespaces={{\"doc\": \"https://example.com\"}},\n... prefix=\"doc\") # doctest: +SKIP\n\n\n \n 0\n square\n 360\n 4.0\n \n \n 1\n circle\n 360\n \n \n \n 2\n triangle\n 180\n 3.0\n \n\n"}, "kind": 2, "label": "to_xml", "sortText": "198"}, {"detail": "bound method DataFrame.transform(func: ((...) -> Unknown) | str | list[((...) -> Unknown) | str] | MutableMapping[Hashable, ((...) -> Unknown) | str | list[((...) -> Unknown) | str]], axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, *args, **kwargs) -> DataFrame", "kind": 2, "label": "transform", "sortText": "199"}, {"detail": "bound method DataFrame.transpose(*args, copy: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Transpose index and columns.\n\nReflect the DataFrame over its main diagonal by writing rows as columns\nand vice-versa. The property :attr:`.T` is an accessor to the method\n:meth:`transpose`.\n\nParameters\n----------\n*args : tuple, optional\n Accepted for compatibility with NumPy.\ncopy : bool, default False\n Whether to copy the data after transposing, even for DataFrames\n with a single dtype.\n\n Note that a copy is always required for mixed dtype DataFrames,\n or for DataFrames with any extension types.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\nDataFrame\n The transposed DataFrame.\n\nSee Also\n--------\nnumpy.transpose : Permute the dimensions of a given array.\n\nNotes\n-----\nTransposing a DataFrame with mixed dtypes will result in a homogeneous\nDataFrame with the `object` dtype. In such a case, a copy of the data\nis always made.\n\nExamples\n--------\n**Square DataFrame with homogeneous dtype**\n\n>>> d1 = {'col1': [1, 2], 'col2': [3, 4]}\n>>> df1 = pd.DataFrame(data=d1)\n>>> df1\n col1 col2\n0 1 3\n1 2 4\n\n>>> df1_transposed = df1.T # or df1.transpose()\n>>> df1_transposed\n 0 1\ncol1 1 2\ncol2 3 4\n\nWhen the dtype is homogeneous in the original DataFrame, we get a\ntransposed DataFrame with the same dtype:\n\n>>> df1.dtypes\ncol1 int64\ncol2 int64\ndtype: object\n>>> df1_transposed.dtypes\n0 int64\n1 int64\ndtype: object\n\n**Non-square DataFrame with mixed dtypes**\n\n>>> d2 = {'name': ['Alice', 'Bob'],\n... 'score': [9.5, 8],\n... 'employed': [False, True],\n... 'kids': [0, 0]}\n>>> df2 = pd.DataFrame(data=d2)\n>>> df2\n name score employed kids\n0 Alice 9.5 False 0\n1 Bob 8.0 True 0\n\n>>> df2_transposed = df2.T # or df2.transpose()\n>>> df2_transposed\n 0 1\nname Alice Bob\nscore 9.5 8.0\nemployed False True\nkids 0 0\n\nWhen the DataFrame has mixed dtypes, we get a transposed DataFrame with\nthe `object` dtype:\n\n>>> df2.dtypes\nname object\nscore float64\nemployed bool\nkids int64\ndtype: object\n>>> df2_transposed.dtypes\n0 object\n1 object\ndtype: object\n"}, "kind": 2, "label": "transpose", "sortText": "200"}, {"detail": "bound method DataFrame.truediv(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "truediv", "sortText": "201"}, {"detail": "bound method DataFrame.truncate(before=None, after=None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Truncate a Series or DataFrame before and after some index value.\n\nThis is a useful shorthand for boolean indexing based on index\nvalues above or below certain thresholds.\n\nParameters\n----------\nbefore : date, str, int\n Truncate all rows before this index value.\nafter : date, str, int\n Truncate all rows after this index value.\naxis : {0 or 'index', 1 or 'columns'}, optional\n Axis to truncate. Truncates the index (rows) by default.\n For `Series` this parameter is unused and defaults to 0.\ncopy : bool, default is True,\n Return a copy of the truncated section.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\ntype of caller\n The truncated Series or DataFrame.\n\nSee Also\n--------\nDataFrame.loc : Select a subset of a DataFrame by label.\nDataFrame.iloc : Select a subset of a DataFrame by position.\n\nNotes\n-----\nIf the index being truncated contains only datetime values,\n`before` and `after` may be specified as strings instead of\nTimestamps.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': ['a', 'b', 'c', 'd', 'e'],\n... 'B': ['f', 'g', 'h', 'i', 'j'],\n... 'C': ['k', 'l', 'm', 'n', 'o']},\n... index=[1, 2, 3, 4, 5])\n>>> df\n A B C\n1 a f k\n2 b g l\n3 c h m\n4 d i n\n5 e j o\n\n>>> df.truncate(before=2, after=4)\n A B C\n2 b g l\n3 c h m\n4 d i n\n\nThe columns of a DataFrame can be truncated.\n\n>>> df.truncate(before=\"A\", after=\"B\", axis=\"columns\")\n A B\n1 a f\n2 b g\n3 c h\n4 d i\n5 e j\n\nFor Series, only rows can be truncated.\n\n>>> df['A'].truncate(before=2, after=4)\n2 b\n3 c\n4 d\nName: A, dtype: object\n\nThe index values in ``truncate`` can be datetimes or string\ndates.\n\n>>> dates = pd.date_range('2016-01-01', '2016-02-01', freq='s')\n>>> df = pd.DataFrame(index=dates, data={'A': 1})\n>>> df.tail()\n A\n2016-01-31 23:59:56 1\n2016-01-31 23:59:57 1\n2016-01-31 23:59:58 1\n2016-01-31 23:59:59 1\n2016-02-01 00:00:00 1\n\n>>> df.truncate(before=pd.Timestamp('2016-01-05'),\n... after=pd.Timestamp('2016-01-10')).tail()\n A\n2016-01-09 23:59:56 1\n2016-01-09 23:59:57 1\n2016-01-09 23:59:58 1\n2016-01-09 23:59:59 1\n2016-01-10 00:00:00 1\n\nBecause the index is a DatetimeIndex containing only dates, we can\nspecify `before` and `after` as strings. They will be coerced to\nTimestamps before truncation.\n\n>>> df.truncate('2016-01-05', '2016-01-10').tail()\n A\n2016-01-09 23:59:56 1\n2016-01-09 23:59:57 1\n2016-01-09 23:59:58 1\n2016-01-09 23:59:59 1\n2016-01-10 00:00:00 1\n\nNote that ``truncate`` assumes a 0 value for any unspecified time\ncomponent (midnight). This differs from partial string slicing, which\nreturns any partially matching dates.\n\n>>> df.loc['2016-01-05':'2016-01-10', :].tail()\n A\n2016-01-10 23:59:55 1\n2016-01-10 23:59:56 1\n2016-01-10 23:59:57 1\n2016-01-10 23:59:58 1\n2016-01-10 23:59:59 1\n"}, "kind": 2, "label": "truncate", "sortText": "202"}, {"detail": "bound method DataFrame.tz_convert(tz, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, level=None, copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Convert tz-aware axis to target time zone.\n\nParameters\n----------\ntz : str or tzinfo object or None\n Target time zone. Passing ``None`` will convert to\n UTC and remove the timezone information.\naxis : {{0 or 'index', 1 or 'columns'}}, default 0\n The axis to convert\nlevel : int, str, default None\n If axis is a MultiIndex, convert a specific level. Otherwise\n must be None.\ncopy : bool, default True\n Also make a copy of the underlying data.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\n{klass}\n Object with time zone converted axis.\n\nRaises\n------\nTypeError\n If the axis is tz-naive.\n\nExamples\n--------\nChange to another time zone:\n\n>>> s = pd.Series(\n... [1],\n... index=pd.DatetimeIndex(['2018-09-15 01:30:00+02:00']),\n... )\n>>> s.tz_convert('Asia/Shanghai')\n2018-09-15 07:30:00+08:00 1\ndtype: int64\n\nPass None to convert to UTC and get a tz-naive index:\n\n>>> s = pd.Series([1],\n... index=pd.DatetimeIndex(['2018-09-15 01:30:00+02:00']))\n>>> s.tz_convert(None)\n2018-09-14 23:30:00 1\ndtype: int64\n"}, "kind": 2, "label": "tz_convert", "sortText": "203"}, {"detail": "bound method DataFrame.tz_localize(tz, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, level=None, copy: builtins.bool | None = None, ambiguous: Literal[\"infer\", \"NaT\", \"raise\"] | ndarray[_AnyShape, dtype[numpy.bool[builtins.bool]]] = \"raise\", nonexistent: Literal[\"shift_forward\", \"shift_backward\", \"NaT\", \"raise\"] | timedelta = \"raise\") -> DataFrame", "documentation": {"kind": "plaintext", "value": "Localize tz-naive index of a Series or DataFrame to target time zone.\n\nThis operation localizes the Index. To localize the values in a\ntimezone-naive Series, use :meth:`Series.dt.tz_localize`.\n\nParameters\n----------\ntz : str or tzinfo or None\n Time zone to localize. Passing ``None`` will remove the\n time zone information and preserve local time.\naxis : {{0 or 'index', 1 or 'columns'}}, default 0\n The axis to localize\nlevel : int, str, default None\n If axis ia a MultiIndex, localize a specific level. Otherwise\n must be None.\ncopy : bool, default True\n Also make a copy of the underlying data.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\nambiguous : 'infer', bool-ndarray, 'NaT', default 'raise'\n When clocks moved backward due to DST, ambiguous times may arise.\n For example in Central European Time (UTC+01), when going from\n 03:00 DST to 02:00 non-DST, 02:30:00 local time occurs both at\n 00:30:00 UTC and at 01:30:00 UTC. In such a situation, the\n `ambiguous` parameter dictates how ambiguous times should be\n handled.\n\n - 'infer' will attempt to infer fall dst-transition hours based on\n order\n - bool-ndarray where True signifies a DST time, False designates\n a non-DST time (note that this flag is only applicable for\n ambiguous times)\n - 'NaT' will return NaT where there are ambiguous times\n - 'raise' will raise an AmbiguousTimeError if there are ambiguous\n times.\nnonexistent : str, default 'raise'\n A nonexistent time does not exist in a particular timezone\n where clocks moved forward due to DST. Valid values are:\n\n - 'shift_forward' will shift the nonexistent time forward to the\n closest existing time\n - 'shift_backward' will shift the nonexistent time backward to the\n closest existing time\n - 'NaT' will return NaT where there are nonexistent times\n - timedelta objects will shift nonexistent times by the timedelta\n - 'raise' will raise an NonExistentTimeError if there are\n nonexistent times.\n\nReturns\n-------\n{klass}\n Same type as the input.\n\nRaises\n------\nTypeError\n If the TimeSeries is tz-aware and tz is not None.\n\nExamples\n--------\nLocalize local times:\n\n>>> s = pd.Series(\n... [1],\n... index=pd.DatetimeIndex(['2018-09-15 01:30:00']),\n... )\n>>> s.tz_localize('CET')\n2018-09-15 01:30:00+02:00 1\ndtype: int64\n\nPass None to convert to tz-naive index and preserve local time:\n\n>>> s = pd.Series([1],\n... index=pd.DatetimeIndex(['2018-09-15 01:30:00+02:00']))\n>>> s.tz_localize(None)\n2018-09-15 01:30:00 1\ndtype: int64\n\nBe careful with DST changes. When there is sequential data, pandas\ncan infer the DST time:\n\n>>> s = pd.Series(range(7),\n... index=pd.DatetimeIndex(['2018-10-28 01:30:00',\n... '2018-10-28 02:00:00',\n... '2018-10-28 02:30:00',\n... '2018-10-28 02:00:00',\n... '2018-10-28 02:30:00',\n... '2018-10-28 03:00:00',\n... '2018-10-28 03:30:00']))\n>>> s.tz_localize('CET', ambiguous='infer')\n2018-10-28 01:30:00+02:00 0\n2018-10-28 02:00:00+02:00 1\n2018-10-28 02:30:00+02:00 2\n2018-10-28 02:00:00+01:00 3\n2018-10-28 02:30:00+01:00 4\n2018-10-28 03:00:00+01:00 5\n2018-10-28 03:30:00+01:00 6\ndtype: int64\n\nIn some cases, inferring the DST is impossible. In such cases, you can\npass an ndarray to the ambiguous parameter to set the DST explicitly\n\n>>> s = pd.Series(range(3),\n... index=pd.DatetimeIndex(['2018-10-28 01:20:00',\n... '2018-10-28 02:36:00',\n... '2018-10-28 03:46:00']))\n>>> s.tz_localize('CET', ambiguous=np.array([True, True, False]))\n2018-10-28 01:20:00+02:00 0\n2018-10-28 02:36:00+02:00 1\n2018-10-28 03:46:00+01:00 2\ndtype: int64\n\nIf the DST transition causes nonexistent times, you can shift these\ndates forward or backward with a timedelta object or `'shift_forward'`\nor `'shift_backward'`.\n\n>>> s = pd.Series(range(2),\n... index=pd.DatetimeIndex(['2015-03-29 02:30:00',\n... '2015-03-29 03:30:00']))\n>>> s.tz_localize('Europe/Warsaw', nonexistent='shift_forward')\n2015-03-29 03:00:00+02:00 0\n2015-03-29 03:30:00+02:00 1\ndtype: int64\n>>> s.tz_localize('Europe/Warsaw', nonexistent='shift_backward')\n2015-03-29 01:59:59.999999999+01:00 0\n2015-03-29 03:30:00+02:00 1\ndtype: int64\n>>> s.tz_localize('Europe/Warsaw', nonexistent=pd.Timedelta('1h'))\n2015-03-29 03:30:00+02:00 0\n2015-03-29 03:30:00+02:00 1\ndtype: int64\n"}, "kind": 2, "label": "tz_localize", "sortText": "204"}, {"detail": "bound method DataFrame.unstack(level: Hashable | Sequence[Hashable] = -1, fill_value=None, sort: bool = True) -> Unknown", "documentation": {"kind": "plaintext", "value": "Pivot a level of the (necessarily hierarchical) index labels.\n\nReturns a DataFrame having a new level of column labels whose inner-most level\nconsists of the pivoted index labels.\n\nIf the index is not a MultiIndex, the output will be a Series\n(the analogue of stack when the columns are not a MultiIndex).\n\nParameters\n----------\nlevel : int, str, or list of these, default -1 (last level)\n Level(s) of index to unstack, can pass level name.\nfill_value : int, str or dict\n Replace NaN with this value if the unstack produces missing values.\nsort : bool, default True\n Sort the level(s) in the resulting MultiIndex columns.\n\nReturns\n-------\nSeries or DataFrame\n\nSee Also\n--------\nDataFrame.pivot : Pivot a table based on column values.\nDataFrame.stack : Pivot a level of the column labels (inverse operation\n from `unstack`).\n\nNotes\n-----\nReference :ref:`the user guide ` for more examples.\n\nExamples\n--------\n>>> index = pd.MultiIndex.from_tuples([('one', 'a'), ('one', 'b'),\n... ('two', 'a'), ('two', 'b')])\n>>> s = pd.Series(np.arange(1.0, 5.0), index=index)\n>>> s\none a 1.0\n b 2.0\ntwo a 3.0\n b 4.0\ndtype: float64\n\n>>> s.unstack(level=-1)\n a b\none 1.0 2.0\ntwo 3.0 4.0\n\n>>> s.unstack(level=0)\n one two\na 1.0 3.0\nb 2.0 4.0\n\n>>> df = s.unstack(level=0)\n>>> df.unstack()\none a 1.0\n b 2.0\ntwo a 3.0\n b 4.0\ndtype: float64\n"}, "kind": 2, "label": "unstack", "sortText": "205"}, {"detail": "bound method DataFrame.update(other, join: Literal[\"left\"] = \"left\", overwrite: bool = True, filter_func=None, errors: Literal[\"ignore\", \"raise\"] = \"ignore\") -> None", "documentation": {"kind": "plaintext", "value": "Modify in place using non-NA values from another DataFrame.\n\nAligns on indices. There is no return value.\n\nParameters\n----------\nother : DataFrame, or object coercible into a DataFrame\n Should have at least one matching index/column label\n with the original DataFrame. If a Series is passed,\n its name attribute must be set, and that will be\n used as the column name to align with the original DataFrame.\njoin : {'left'}, default 'left'\n Only left join is implemented, keeping the index and columns of the\n original object.\noverwrite : bool, default True\n How to handle non-NA values for overlapping keys:\n\n * True: overwrite original DataFrame's values\n with values from `other`.\n * False: only update values that are NA in\n the original DataFrame.\n\nfilter_func : callable(1d-array) -> bool 1d-array, optional\n Can choose to replace values other than NA. Return True for values\n that should be updated.\nerrors : {'raise', 'ignore'}, default 'ignore'\n If 'raise', will raise a ValueError if the DataFrame and `other`\n both contain non-NA data in the same place.\n\nReturns\n-------\nNone\n This method directly changes calling object.\n\nRaises\n------\nValueError\n * When `errors='raise'` and there's overlapping non-NA data.\n * When `errors` is not either `'ignore'` or `'raise'`\nNotImplementedError\n * If `join != 'left'`\n\nSee Also\n--------\ndict.update : Similar method for dictionaries.\nDataFrame.merge : For column(s)-on-column(s) operations.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [1, 2, 3],\n... 'B': [400, 500, 600]})\n>>> new_df = pd.DataFrame({'B': [4, 5, 6],\n... 'C': [7, 8, 9]})\n>>> df.update(new_df)\n>>> df\n A B\n0 1 4\n1 2 5\n2 3 6\n\nThe DataFrame's length does not increase as a result of the update,\nonly values at matching index/column labels are updated.\n\n>>> df = pd.DataFrame({'A': ['a', 'b', 'c'],\n... 'B': ['x', 'y', 'z']})\n>>> new_df = pd.DataFrame({'B': ['d', 'e', 'f', 'g', 'h', 'i']})\n>>> df.update(new_df)\n>>> df\n A B\n0 a d\n1 b e\n2 c f\n\n>>> df = pd.DataFrame({'A': ['a', 'b', 'c'],\n... 'B': ['x', 'y', 'z']})\n>>> new_df = pd.DataFrame({'B': ['d', 'f']}, index=[0, 2])\n>>> df.update(new_df)\n>>> df\n A B\n0 a d\n1 b y\n2 c f\n\nFor Series, its name attribute must be set.\n\n>>> df = pd.DataFrame({'A': ['a', 'b', 'c'],\n... 'B': ['x', 'y', 'z']})\n>>> new_column = pd.Series(['d', 'e', 'f'], name='B')\n>>> df.update(new_column)\n>>> df\n A B\n0 a d\n1 b e\n2 c f\n\nIf `other` contains NaNs the corresponding values are not updated\nin the original dataframe.\n\n>>> df = pd.DataFrame({'A': [1, 2, 3],\n... 'B': [400., 500., 600.]})\n>>> new_df = pd.DataFrame({'B': [4, np.nan, 6]})\n>>> df.update(new_df)\n>>> df\n A B\n0 1 4.0\n1 2 500.0\n2 3 6.0\n"}, "kind": 2, "label": "update", "sortText": "206"}, {"detail": "bound method DataFrame.value_counts(subset: Hashable | Sequence[Hashable] = None, normalize: bool = False, sort: bool = True, ascending: bool = False, dropna: bool = True) -> Series", "documentation": {"kind": "plaintext", "value": "Return a Series containing the frequency of each distinct row in the Dataframe.\n\nParameters\n----------\nsubset : label or list of labels, optional\n Columns to use when counting unique combinations.\nnormalize : bool, default False\n Return proportions rather than frequencies.\nsort : bool, default True\n Sort by frequencies when True. Sort by DataFrame column values when False.\nascending : bool, default False\n Sort in ascending order.\ndropna : bool, default True\n Don't include counts of rows that contain NA values.\n\n .. versionadded:: 1.3.0\n\nReturns\n-------\nSeries\n\nSee Also\n--------\nSeries.value_counts: Equivalent method on Series.\n\nNotes\n-----\nThe returned Series will have a MultiIndex with one level per input\ncolumn but an Index (non-multi) for a single label. By default, rows\nthat contain any NA values are omitted from the result. By default,\nthe resulting Series will be in descending order so that the first\nelement is the most frequently-occurring row.\n\nExamples\n--------\n>>> df = pd.DataFrame({'num_legs': [2, 4, 4, 6],\n... 'num_wings': [2, 0, 0, 0]},\n... index=['falcon', 'dog', 'cat', 'ant'])\n>>> df\n num_legs num_wings\nfalcon 2 2\ndog 4 0\ncat 4 0\nant 6 0\n\n>>> df.value_counts()\nnum_legs num_wings\n4 0 2\n2 2 1\n6 0 1\nName: count, dtype: int64\n\n>>> df.value_counts(sort=False)\nnum_legs num_wings\n2 2 1\n4 0 2\n6 0 1\nName: count, dtype: int64\n\n>>> df.value_counts(ascending=True)\nnum_legs num_wings\n2 2 1\n6 0 1\n4 0 2\nName: count, dtype: int64\n\n>>> df.value_counts(normalize=True)\nnum_legs num_wings\n4 0 0.50\n2 2 0.25\n6 0 0.25\nName: proportion, dtype: float64\n\nWith `dropna` set to `False` we can also count rows with NA values.\n\n>>> df = pd.DataFrame({'first_name': ['John', 'Anne', 'John', 'Beth'],\n... 'middle_name': ['Smith', pd.NA, pd.NA, 'Louise']})\n>>> df\n first_name middle_name\n0 John Smith\n1 Anne \n2 John \n3 Beth Louise\n\n>>> df.value_counts()\nfirst_name middle_name\nBeth Louise 1\nJohn Smith 1\nName: count, dtype: int64\n\n>>> df.value_counts(dropna=False)\nfirst_name middle_name\nAnne NaN 1\nBeth Louise 1\nJohn Smith 1\n NaN 1\nName: count, dtype: int64\n\n>>> df.value_counts(\"first_name\")\nfirst_name\nJohn 2\nAnne 1\nBeth 1\nName: count, dtype: int64\n"}, "kind": 2, "label": "value_counts", "sortText": "207"}, {"detail": "ndarray[_AnyShape, dtype[Any]]", "kind": 22, "label": "values", "sortText": "208"}, {"detail": "bound method DataFrame.var(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, ddof: int = 1, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "var", "sortText": "209"}, {"detail": "Overload[(cond, other=..., *, inplace: Literal[False] = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> DataFrame, (cond, other=..., *, inplace: Literal[True], axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> None, (cond, other=..., *, inplace: bool = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Replace values where the condition is {cond_rev}.\n\nParameters\n----------\ncond : bool {klass}, array-like, or callable\n Where `cond` is {cond}, keep the original value. Where\n {cond_rev}, replace with corresponding value from `other`.\n If `cond` is callable, it is computed on the {klass} and\n should return boolean {klass} or array. The callable must\n not change input {klass} (though pandas doesn't check it).\nother : scalar, {klass}, or callable\n Entries where `cond` is {cond_rev} are replaced with\n corresponding value from `other`.\n If other is callable, it is computed on the {klass} and\n should return scalar or {klass}. The callable must not\n change input {klass} (though pandas doesn't check it).\n If not specified, entries will be filled with the corresponding\n NULL value (``np.nan`` for numpy dtypes, ``pd.NA`` for extension\n dtypes).\ninplace : bool, default False\n Whether to perform the operation in place on the data.\naxis : int, default None\n Alignment axis if needed. For `Series` this parameter is\n unused and defaults to 0.\nlevel : int, default None\n Alignment level if needed.\n\nReturns\n-------\nSame type as caller or None if ``inplace=True``.\n\nSee Also\n--------\n:func:`DataFrame.{name_other}` : Return an object of same shape as\n self.\n\nNotes\n-----\nThe {name} method is an application of the if-then idiom. For each\nelement in the calling DataFrame, if ``cond`` is ``{cond}`` the\nelement is used; otherwise the corresponding element from the DataFrame\n``other`` is used. If the axis of ``other`` does not align with axis of\n``cond`` {klass}, the misaligned index positions will be filled with\n{cond_rev}.\n\nThe signature for :func:`DataFrame.where` differs from\n:func:`numpy.where`. Roughly ``df1.where(m, df2)`` is equivalent to\n``np.where(m, df1, df2)``.\n\nFor further details and examples see the ``{name}`` documentation in\n:ref:`indexing `.\n\nThe dtype of the object takes precedence. The fill value is casted to\nthe object's dtype, if this can be done losslessly.\n\nExamples\n--------\n>>> s = pd.Series(range(5))\n>>> s.where(s > 0)\n0 NaN\n1 1.0\n2 2.0\n3 3.0\n4 4.0\ndtype: float64\n>>> s.mask(s > 0)\n0 0.0\n1 NaN\n2 NaN\n3 NaN\n4 NaN\ndtype: float64\n\n>>> s = pd.Series(range(5))\n>>> t = pd.Series([True, False])\n>>> s.where(t, 99)\n0 0\n1 99\n2 99\n3 99\n4 99\ndtype: int64\n>>> s.mask(t, 99)\n0 99\n1 1\n2 99\n3 99\n4 99\ndtype: int64\n\n>>> s.where(s > 1, 10)\n0 10\n1 10\n2 2\n3 3\n4 4\ndtype: int64\n>>> s.mask(s > 1, 10)\n0 0\n1 1\n2 10\n3 10\n4 10\ndtype: int64\n\n>>> df = pd.DataFrame(np.arange(10).reshape(-1, 2), columns=['A', 'B'])\n>>> df\n A B\n0 0 1\n1 2 3\n2 4 5\n3 6 7\n4 8 9\n>>> m = df % 3 == 0\n>>> df.where(m, -df)\n A B\n0 0 -1\n1 -2 3\n2 -4 -5\n3 6 -7\n4 -8 9\n>>> df.where(m, -df) == np.where(m, df, -df)\n A B\n0 True True\n1 True True\n2 True True\n3 True True\n4 True True\n>>> df.where(m, -df) == df.mask(~m, -df)\n A B\n0 True True\n1 True True\n2 True True\n3 True True\n4 True True\n"}, "kind": 2, "label": "where", "sortText": "210"}, {"detail": "bound method DataFrame.xs(key: Hashable | Sequence[Hashable], axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, level: Hashable | Sequence[Hashable] = None, drop_level: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return cross-section from the Series/DataFrame.\n\nThis method takes a `key` argument to select data at a particular\nlevel of a MultiIndex.\n\nParameters\n----------\nkey : label or tuple of label\n Label contained in the index, or partially in a MultiIndex.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Axis to retrieve cross-section on.\nlevel : object, defaults to first n levels (n=1 or len(key))\n In case of a key partially contained in a MultiIndex, indicate\n which levels are used. Levels can be referred by label or position.\ndrop_level : bool, default True\n If False, returns object with same levels as self.\n\nReturns\n-------\nSeries or DataFrame\n Cross-section from the original Series or DataFrame\n corresponding to the selected index levels.\n\nSee Also\n--------\nDataFrame.loc : Access a group of rows and columns\n by label(s) or a boolean array.\nDataFrame.iloc : Purely integer-location based indexing\n for selection by position.\n\nNotes\n-----\n`xs` can not be used to set values.\n\nMultiIndex Slicers is a generic way to get/set values on\nany level or levels.\nIt is a superset of `xs` functionality, see\n:ref:`MultiIndex Slicers `.\n\nExamples\n--------\n>>> d = {'num_legs': [4, 4, 2, 2],\n... 'num_wings': [0, 0, 2, 2],\n... 'class': ['mammal', 'mammal', 'mammal', 'bird'],\n... 'animal': ['cat', 'dog', 'bat', 'penguin'],\n... 'locomotion': ['walks', 'walks', 'flies', 'walks']}\n>>> df = pd.DataFrame(data=d)\n>>> df = df.set_index(['class', 'animal', 'locomotion'])\n>>> df\n num_legs num_wings\nclass animal locomotion\nmammal cat walks 4 0\n dog walks 4 0\n bat flies 2 2\nbird penguin walks 2 2\n\nGet values at specified index\n\n>>> df.xs('mammal')\n num_legs num_wings\nanimal locomotion\ncat walks 4 0\ndog walks 4 0\nbat flies 2 2\n\nGet values at several indexes\n\n>>> df.xs(('mammal', 'dog', 'walks'))\nnum_legs 4\nnum_wings 0\nName: (mammal, dog, walks), dtype: int64\n\nGet values at specified index and level\n\n>>> df.xs('cat', level=1)\n num_legs num_wings\nclass locomotion\nmammal walks 4 0\n\nGet values at several indexes and levels\n\n>>> df.xs(('bird', 'walks'),\n... level=[0, 'locomotion'])\n num_legs num_wings\nanimal\npenguin 2 2\n\nGet values at specified column and axis\n\n>>> df.xs('num_wings', axis=1)\nclass animal locomotion\nmammal cat walks 0\n dog walks 0\n bat flies 2\nbird penguin walks 2\nName: num_wings, dtype: int64\n"}, "kind": 2, "label": "xs", "sortText": "211"}, {"detail": "bound method DataFrame.__abs__() -> DataFrame", "kind": 2, "label": "__abs__", "sortText": "212"}, {"detail": "bound method DataFrame.__add__(other) -> Unknown", "documentation": {"kind": "plaintext", "value": "Get Addition of DataFrame and other, column-wise.\n\nEquivalent to ``DataFrame.add(other)``.\n\nParameters\n----------\nother : scalar, sequence, Series, dict or DataFrame\n Object to be added to the DataFrame.\n\nReturns\n-------\nDataFrame\n The result of adding ``other`` to DataFrame.\n\nSee Also\n--------\nDataFrame.add : Add a DataFrame and another object, with option for index-\n or column-oriented addition.\n\nExamples\n--------\n>>> df = pd.DataFrame({'height': [1.5, 2.6], 'weight': [500, 800]},\n... index=['elk', 'moose'])\n>>> df\n height weight\nelk 1.5 500\nmoose 2.6 800\n\nAdding a scalar affects all rows and columns.\n\n>>> df[['height', 'weight']] + 1.5\n height weight\nelk 3.0 501.5\nmoose 4.1 801.5\n\nEach element of a list is added to a column of the DataFrame, in order.\n\n>>> df[['height', 'weight']] + [0.5, 1.5]\n height weight\nelk 2.0 501.5\nmoose 3.1 801.5\n\nKeys of a dictionary are aligned to the DataFrame, based on column names;\neach value in the dictionary is added to the corresponding column.\n\n>>> df[['height', 'weight']] + {'height': 0.5, 'weight': 1.5}\n height weight\nelk 2.0 501.5\nmoose 3.1 801.5\n\nWhen `other` is a :class:`Series`, the index of `other` is aligned with the\ncolumns of the DataFrame.\n\n>>> s1 = pd.Series([0.5, 1.5], index=['weight', 'height'])\n>>> df[['height', 'weight']] + s1\n height weight\nelk 3.0 500.5\nmoose 4.1 800.5\n\nEven when the index of `other` is the same as the index of the DataFrame,\nthe :class:`Series` will not be reoriented. If index-wise alignment is desired,\n:meth:`DataFrame.add` should be used with `axis='index'`.\n\n>>> s2 = pd.Series([0.5, 1.5], index=['elk', 'moose'])\n>>> df[['height', 'weight']] + s2\n elk height moose weight\nelk NaN NaN NaN NaN\nmoose NaN NaN NaN NaN\n\n>>> df[['height', 'weight']].add(s2, axis='index')\n height weight\nelk 2.0 500.5\nmoose 4.1 801.5\n\nWhen `other` is a :class:`DataFrame`, both columns names and the\nindex are aligned.\n\n>>> other = pd.DataFrame({'height': [0.2, 0.4, 0.6]},\n... index=['elk', 'moose', 'deer'])\n>>> df[['height', 'weight']] + other\n height weight\ndeer NaN NaN\nelk 1.7 NaN\nmoose 3.0 NaN\n"}, "kind": 2, "label": "__add__", "sortText": "213"}, {"detail": "bound method DataFrame.__and__(other) -> Unknown", "kind": 2, "label": "__and__", "sortText": "214"}, {"detail": "dict[str, Any]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "__annotations__", "sortText": "215"}, {"detail": "bound method DataFrame.__array__(dtype: DTypeLike | None = None, copy: bool | None = None) -> ndarray[_AnyShape, dtype[Any]]", "kind": 2, "label": "__array__", "sortText": "216"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "__array_priority__", "sortText": "217"}, {"detail": "bound method DataFrame.__array_ufunc__(ufunc: ufunc, method: str, *inputs: Any, **kwargs: Any) -> Unknown", "kind": 2, "label": "__array_ufunc__", "sortText": "218"}, {"detail": "bound method DataFrame.__arrow_c_stream__(requested_schema=None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Export the pandas DataFrame as an Arrow C stream PyCapsule.\n\nThis relies on pyarrow to convert the pandas DataFrame to the Arrow\nformat (and follows the default behaviour of ``pyarrow.Table.from_pandas``\nin its handling of the index, i.e. store the index as a column except\nfor RangeIndex).\nThis conversion is not necessarily zero-copy.\n\nParameters\n----------\nrequested_schema : PyCapsule, default None\n The schema to which the dataframe should be casted, passed as a\n PyCapsule containing a C ArrowSchema representation of the\n requested schema.\n\nReturns\n-------\nPyCapsule\n"}, "kind": 2, "label": "__arrow_c_stream__", "sortText": "219"}, {"detail": "() -> Never", "kind": 3, "label": "__bool__", "sortText": "220"}, {"detail": "type[DataFrame]", "documentation": {"kind": "plaintext", "value": "Two-dimensional, size-mutable, potentially heterogeneous tabular data.\n\nData structure also contains labeled axes (rows and columns).\nArithmetic operations align on both row and column labels. Can be\nthought of as a dict-like container for Series objects. The primary\npandas data structure.\n\nParameters\n----------\ndata : ndarray (structured or homogeneous), Iterable, dict, or DataFrame\n Dict can contain Series, arrays, constants, dataclass or list-like objects. If\n data is a dict, column order follows insertion-order. If a dict contains Series\n which have an index defined, it is aligned by its index. This alignment also\n occurs if data is a Series or a DataFrame itself. Alignment is done on\n Series/DataFrame inputs.\n\n If data is a list of dicts, column order follows insertion-order.\n\nindex : Index or array-like\n Index to use for resulting frame. Will default to RangeIndex if\n no indexing information part of input data and no index provided.\ncolumns : Index or array-like\n Column labels to use for resulting frame when data does not have them,\n defaulting to RangeIndex(0, 1, 2, ..., n). If data contains column labels,\n will perform column selection instead.\ndtype : dtype, default None\n Data type to force. Only a single dtype is allowed. If None, infer.\ncopy : bool or None, default None\n Copy data from inputs.\n For dict data, the default of None behaves like ``copy=True``. For DataFrame\n or 2d ndarray input, the default of None behaves like ``copy=False``.\n If data is a dict containing one or more Series (possibly of different dtypes),\n ``copy=False`` will ensure that these inputs are not copied.\n\n .. versionchanged:: 1.3.0\n\nSee Also\n--------\nDataFrame.from_records : Constructor from tuples, also record arrays.\nDataFrame.from_dict : From dicts of Series, arrays, or dicts.\nread_csv : Read a comma-separated values (csv) file into DataFrame.\nread_table : Read general delimited file into DataFrame.\nread_clipboard : Read text from clipboard into DataFrame.\n\nNotes\n-----\nPlease reference the :ref:`User Guide ` for more information.\n\nExamples\n--------\nConstructing DataFrame from a dictionary.\n\n>>> d = {'col1': [1, 2], 'col2': [3, 4]}\n>>> df = pd.DataFrame(data=d)\n>>> df\n col1 col2\n0 1 3\n1 2 4\n\nNotice that the inferred dtype is int64.\n\n>>> df.dtypes\ncol1 int64\ncol2 int64\ndtype: object\n\nTo enforce a single dtype:\n\n>>> df = pd.DataFrame(data=d, dtype=np.int8)\n>>> df.dtypes\ncol1 int8\ncol2 int8\ndtype: object\n\nConstructing DataFrame from a dictionary including Series:\n\n>>> d = {'col1': [0, 1, 2, 3], 'col2': pd.Series([2, 3], index=[2, 3])}\n>>> pd.DataFrame(data=d, index=[0, 1, 2, 3])\n col1 col2\n0 0 NaN\n1 1 NaN\n2 2 2.0\n3 3 3.0\n\nConstructing DataFrame from numpy ndarray:\n\n>>> df2 = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]),\n... columns=['a', 'b', 'c'])\n>>> df2\n a b c\n0 1 2 3\n1 4 5 6\n2 7 8 9\n\nConstructing DataFrame from a numpy ndarray that has labeled columns:\n\n>>> data = np.array([(1, 2, 3), (4, 5, 6), (7, 8, 9)],\n... dtype=[(\"a\", \"i4\"), (\"b\", \"i4\"), (\"c\", \"i4\")])\n>>> df3 = pd.DataFrame(data, columns=['c', 'a'])\n...\n>>> df3\n c a\n0 3 1\n1 6 4\n2 9 7\n\nConstructing DataFrame from dataclass:\n\n>>> from dataclasses import make_dataclass\n>>> Point = make_dataclass(\"Point\", [(\"x\", int), (\"y\", int)])\n>>> pd.DataFrame([Point(0, 0), Point(0, 3), Point(2, 3)])\n x y\n0 0 0\n1 0 3\n2 2 3\n\nConstructing DataFrame from Series/DataFrame:\n\n>>> ser = pd.Series([1, 2, 3], index=[\"a\", \"b\", \"c\"])\n>>> df = pd.DataFrame(data=ser, index=[\"a\", \"c\"])\n>>> df\n 0\na 1\nc 3\n\n>>> df1 = pd.DataFrame([1, 2, 3], index=[\"a\", \"b\", \"c\"], columns=[\"x\"])\n>>> df2 = pd.DataFrame(data=df1, index=[\"a\", \"c\"])\n>>> df2\n x\na 1\nc 3\n"}, "kind": 7, "label": "__class__", "sortText": "221"}, {"detail": "bound method DataFrame.__contains__(key) -> bool", "documentation": {"kind": "plaintext", "value": "True if the key is in the info axis\n"}, "kind": 2, "label": "__contains__", "sortText": "222"}, {"detail": "bound method DataFrame.__copy__(deep: bool = True) -> DataFrame", "kind": 2, "label": "__copy__", "sortText": "223"}, {"detail": "bound method DataFrame.__dataframe__(nan_as_null: bool = False, allow_copy: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the dataframe interchange object implementing the interchange protocol.\n\nParameters\n----------\nnan_as_null : bool, default False\n `nan_as_null` is DEPRECATED and has no effect. Please avoid using\n it; it will be removed in a future release.\nallow_copy : bool, default True\n Whether to allow memory copying when exporting. If set to False\n it would cause non-zero-copy exports to fail.\n\nReturns\n-------\nDataFrame interchange object\n The object which consuming library can use to ingress the dataframe.\n\nNotes\n-----\nDetails on the interchange protocol:\nhttps://data-apis.org/dataframe-protocol/latest/index.html\n\nExamples\n--------\n>>> df_not_necessarily_pandas = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})\n>>> interchange_object = df_not_necessarily_pandas.__dataframe__()\n>>> interchange_object.column_names()\nIndex(['A', 'B'], dtype='object')\n>>> df_pandas = (pd.api.interchange.from_dataframe\n... (interchange_object.select_columns_by_name(['A'])))\n>>> df_pandas\n A\n0 1\n1 2\n\nThese methods (``column_names``, ``select_columns_by_name``) should work\nfor any dataframe library which implements the interchange protocol.\n"}, "kind": 2, "label": "__dataframe__", "sortText": "224"}, {"detail": "bound method DataFrame.__dataframe_consortium_standard__(*, api_version: str | None = None) -> Any", "documentation": {"kind": "plaintext", "value": "Provide entry point to the Consortium DataFrame Standard API.\n\nThis is developed and maintained outside of pandas.\nPlease report any issues to https://github.com/data-apis/dataframe-api-compat.\n"}, "kind": 2, "label": "__dataframe_consortium_standard__", "sortText": "225"}, {"detail": "bound method DataFrame.__deepcopy__(memo=None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Parameters\n----------\nmemo, default None\n Standard signature. Unused\n"}, "kind": 2, "label": "__deepcopy__", "sortText": "226"}, {"detail": "bound method DataFrame.__delattr__(name: str, /) -> None", "kind": 2, "label": "__delattr__", "sortText": "227"}, {"detail": "bound method DataFrame.__delitem__(key) -> None", "documentation": {"kind": "plaintext", "value": "Delete item\n"}, "kind": 2, "label": "__delitem__", "sortText": "228"}, {"detail": "dict[str, Any]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "__dict__", "sortText": "229"}, {"detail": "bound method DataFrame.__dir__() -> list[str]", "documentation": {"kind": "plaintext", "value": "Provide method name lookup and completion.\n\nNotes\n-----\nOnly provide 'public' methods.\n"}, "kind": 2, "label": "__dir__", "sortText": "230"}, {"detail": "bound method DataFrame.__divmod__(other) -> tuple[DataFrame, DataFrame]", "kind": 2, "label": "__divmod__", "sortText": "231"}, {"detail": "str | None", "kind": 22, "label": "__doc__", "sortText": "232"}, {"detail": "bound method DataFrame.__eq__(other) -> Unknown", "kind": 2, "label": "__eq__", "sortText": "233"}, {"detail": "bound method DataFrame.__finalize__(other, method: str | None = None, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Propagate metadata from other to self.\n\nParameters\n----------\nother : the object from which to get the attributes that we are going\n to propagate\nmethod : str, optional\n A passed method name providing context on where ``__finalize__``\n was called.\n\n .. warning::\n\n The value passed as `method` are not currently considered\n stable across pandas releases.\n"}, "kind": 2, "label": "__finalize__", "sortText": "234"}, {"detail": "bound method DataFrame.__floordiv__(other) -> Unknown", "kind": 2, "label": "__floordiv__", "sortText": "235"}, {"detail": "bound method DataFrame.__format__(format_spec: str, /) -> str", "kind": 2, "label": "__format__", "sortText": "236"}, {"detail": "bound method DataFrame.__ge__(other) -> Unknown", "kind": 2, "label": "__ge__", "sortText": "237"}, {"detail": "bound method DataFrame.__getattr__(name: str) -> Unknown", "documentation": {"kind": "plaintext", "value": "After regular attribute access, try looking up the name\nThis allows simpler access to columns for interactive use.\n"}, "kind": 2, "label": "__getattr__", "sortText": "238"}, {"detail": "bound method DataFrame.__getattribute__(name: str, /) -> Any", "kind": 2, "label": "__getattribute__", "sortText": "239"}, {"detail": "bound method DataFrame.__getitem__(key) -> Unknown", "kind": 2, "label": "__getitem__", "sortText": "240"}, {"detail": "bound method DataFrame.__getstate__() -> dict[str, Any]", "kind": 2, "label": "__getstate__", "sortText": "241"}, {"detail": "bound method DataFrame.__gt__(other) -> Unknown", "kind": 2, "label": "__gt__", "sortText": "242"}, {"detail": "None", "documentation": {"kind": "plaintext", "value": "The type of the None singleton.\n"}, "kind": 22, "label": "__hash__", "sortText": "243"}, {"detail": "bound method DataFrame.__iadd__(other) -> DataFrame", "kind": 2, "label": "__iadd__", "sortText": "244"}, {"detail": "bound method DataFrame.__iand__(other) -> DataFrame", "kind": 2, "label": "__iand__", "sortText": "245"}, {"detail": "bound method DataFrame.__ifloordiv__(other) -> DataFrame", "kind": 2, "label": "__ifloordiv__", "sortText": "246"}, {"detail": "bound method DataFrame.__imod__(other) -> DataFrame", "kind": 2, "label": "__imod__", "sortText": "247"}, {"detail": "bound method DataFrame.__imul__(other) -> DataFrame", "kind": 2, "label": "__imul__", "sortText": "248"}, {"detail": "bound method DataFrame.__init__(data=None, index: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = None, columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = None, dtype: ExtensionDtype | str | dtype[Any] | type | None = None, copy: bool | None = None) -> None", "kind": 2, "label": "__init__", "sortText": "249"}, {"detail": "bound method type[DataFrame].__init_subclass__() -> None", "kind": 2, "label": "__init_subclass__", "sortText": "250"}, {"detail": "bound method DataFrame.__invert__() -> DataFrame", "kind": 2, "label": "__invert__", "sortText": "251"}, {"detail": "bound method DataFrame.__ior__(other) -> DataFrame", "kind": 2, "label": "__ior__", "sortText": "252"}, {"detail": "bound method DataFrame.__ipow__(other) -> DataFrame", "kind": 2, "label": "__ipow__", "sortText": "253"}, {"detail": "bound method DataFrame.__isub__(other) -> DataFrame", "kind": 2, "label": "__isub__", "sortText": "254"}, {"detail": "bound method DataFrame.__iter__() -> Iterator[Unknown]", "documentation": {"kind": "plaintext", "value": "Iterate over info axis.\n\nReturns\n-------\niterator\n Info axis as iterator.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})\n>>> for x in df:\n... print(x)\nA\nB\n"}, "kind": 2, "label": "__iter__", "sortText": "255"}, {"detail": "bound method DataFrame.__itruediv__(other) -> DataFrame", "kind": 2, "label": "__itruediv__", "sortText": "256"}, {"detail": "bound method DataFrame.__ixor__(other) -> DataFrame", "kind": 2, "label": "__ixor__", "sortText": "257"}, {"detail": "bound method DataFrame.__le__(other) -> Unknown", "kind": 2, "label": "__le__", "sortText": "258"}, {"detail": "bound method DataFrame.__len__() -> int", "documentation": {"kind": "plaintext", "value": "Returns length of info axis, but here we use the index.\n"}, "kind": 2, "label": "__len__", "sortText": "259"}, {"detail": "bound method DataFrame.__lt__(other) -> Unknown", "kind": 2, "label": "__lt__", "sortText": "260"}, {"detail": "Overload[(other: Series) -> Series, (other: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | Series | DataFrame) -> DataFrame | Series]", "documentation": {"kind": "plaintext", "value": "Matrix multiplication using binary `@` operator.\n"}, "kind": 2, "label": "__matmul__", "sortText": "261"}, {"detail": "bound method DataFrame.__mod__(other) -> Unknown", "kind": 2, "label": "__mod__", "sortText": "262"}, {"detail": "str", "documentation": {"kind": "plaintext", "value": "str(object='') -> str\nstr(bytes_or_buffer[, encoding[, errors]]) -> str\n\nCreate a new string object from the given object. If encoding or\nerrors is specified, then the object must expose a data buffer\nthat will be decoded using the given encoding and error handler.\nOtherwise, returns the result of object.__str__() (if defined)\nor repr(object).\nencoding defaults to 'utf-8'.\nerrors defaults to 'strict'.\n"}, "kind": 22, "label": "__module__", "sortText": "263"}, {"detail": "bound method DataFrame.__mul__(other) -> Unknown", "kind": 2, "label": "__mul__", "sortText": "264"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "__name__", "sortText": "265"}, {"detail": "bound method DataFrame.__ne__(other) -> Unknown", "kind": 2, "label": "__ne__", "sortText": "266"}, {"detail": "bound method DataFrame.__neg__() -> DataFrame", "kind": 2, "label": "__neg__", "sortText": "267"}, {"detail": "def __new__[Self](cls) -> Self", "kind": 3, "label": "__new__", "sortText": "268"}, {"detail": "bound method DataFrame.__nonzero__() -> Never", "kind": 2, "label": "__nonzero__", "sortText": "269"}, {"detail": "bound method DataFrame.__or__(other) -> Unknown", "kind": 2, "label": "__or__", "sortText": "270"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "__pandas_priority__", "sortText": "271"}, {"detail": "bound method DataFrame.__pos__() -> DataFrame", "kind": 2, "label": "__pos__", "sortText": "272"}, {"detail": "bound method DataFrame.__pow__(other) -> Unknown", "kind": 2, "label": "__pow__", "sortText": "273"}, {"detail": "bound method DataFrame.__radd__(other) -> Unknown", "kind": 2, "label": "__radd__", "sortText": "274"}, {"detail": "bound method DataFrame.__rand__(other) -> Unknown", "kind": 2, "label": "__rand__", "sortText": "275"}, {"detail": "bound method DataFrame.__rdivmod__(other) -> tuple[DataFrame, DataFrame]", "kind": 2, "label": "__rdivmod__", "sortText": "276"}, {"detail": "bound method DataFrame.__reduce__() -> str | tuple[Any, ...]", "kind": 2, "label": "__reduce__", "sortText": "277"}, {"detail": "bound method DataFrame.__reduce_ex__(protocol: SupportsIndex, /) -> str | tuple[Any, ...]", "kind": 2, "label": "__reduce_ex__", "sortText": "278"}, {"detail": "bound method DataFrame.__repr__() -> str", "documentation": {"kind": "plaintext", "value": "Return a string representation for a particular DataFrame.\n"}, "kind": 2, "label": "__repr__", "sortText": "279"}, {"detail": "bound method DataFrame.__rfloordiv__(other) -> Unknown", "kind": 2, "label": "__rfloordiv__", "sortText": "280"}, {"detail": "bound method DataFrame.__rmatmul__(other) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Matrix multiplication using binary `@` operator.\n"}, "kind": 2, "label": "__rmatmul__", "sortText": "281"}, {"detail": "bound method DataFrame.__rmod__(other) -> Unknown", "kind": 2, "label": "__rmod__", "sortText": "282"}, {"detail": "bound method DataFrame.__rmul__(other) -> Unknown", "kind": 2, "label": "__rmul__", "sortText": "283"}, {"detail": "bound method DataFrame.__ror__(other) -> Unknown", "kind": 2, "label": "__ror__", "sortText": "284"}, {"detail": "bound method DataFrame.__round__(decimals: int = 0) -> DataFrame", "kind": 2, "label": "__round__", "sortText": "285"}, {"detail": "bound method DataFrame.__rpow__(other) -> Unknown", "kind": 2, "label": "__rpow__", "sortText": "286"}, {"detail": "bound method DataFrame.__rsub__(other) -> Unknown", "kind": 2, "label": "__rsub__", "sortText": "287"}, {"detail": "bound method DataFrame.__rtruediv__(other) -> Unknown", "kind": 2, "label": "__rtruediv__", "sortText": "288"}, {"detail": "bound method DataFrame.__rxor__(other) -> Unknown", "kind": 2, "label": "__rxor__", "sortText": "289"}, {"detail": "bound method DataFrame.__setattr__(name: str, value) -> None", "documentation": {"kind": "plaintext", "value": "After regular attribute access, try setting the name\nThis allows simpler access to columns for interactive use.\n"}, "kind": 2, "label": "__setattr__", "sortText": "290"}, {"detail": "bound method DataFrame.__setitem__(key, value) -> None", "kind": 2, "label": "__setitem__", "sortText": "291"}, {"detail": "bound method DataFrame.__setstate__(state) -> None", "kind": 2, "label": "__setstate__", "sortText": "292"}, {"detail": "bound method DataFrame.__sizeof__() -> int", "documentation": {"kind": "plaintext", "value": "Generates the total memory usage for an object that returns\neither a value or Series of values\n"}, "kind": 2, "label": "__sizeof__", "sortText": "293"}, {"detail": "bound method DataFrame.__str__() -> str", "kind": 2, "label": "__str__", "sortText": "294"}, {"detail": "bound method DataFrame.__sub__(other) -> Unknown", "kind": 2, "label": "__sub__", "sortText": "295"}, {"detail": "bound method type[DataFrame].__subclasshook__(subclass: type, /) -> bool", "kind": 2, "label": "__subclasshook__", "sortText": "296"}, {"detail": "bound method DataFrame.__truediv__(other) -> Unknown", "kind": 2, "label": "__truediv__", "sortText": "297"}, {"detail": "bound method DataFrame.__xor__(other) -> Unknown", "kind": 2, "label": "__xor__", "sortText": "298"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "_AXIS_LEN", "sortText": "299"}, {"detail": "list[Literal[\"index\", \"columns\"]]", "documentation": {"kind": "plaintext", "value": "Built-in mutable sequence.\n\nIf no argument is given, the constructor creates a new empty list.\nThe argument must be an iterable if specified.\n"}, "kind": 22, "label": "_AXIS_ORDERS", "sortText": "300"}, {"detail": "dict[int | Literal[\"index\", \"columns\", \"rows\"], int]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "_AXIS_TO_AXIS_NUMBER", "sortText": "301"}, {"detail": "tuple[type[Series], type[Index], type[ExtensionArray], type[ndarray[_AnyShape, dtype[Any]]]]", "documentation": {"kind": "plaintext", "value": "Built-in immutable sequence.\n\nIf no argument is given, the constructor returns an empty tuple.\nIf iterable is specified the tuple is initialized from iterable's items.\n\nIf the argument is a tuple, the return value is the same object.\n"}, "kind": 22, "label": "_HANDLED_TYPES", "sortText": "302"}, {"detail": "set[str]", "documentation": {"kind": "plaintext", "value": "Build an unordered collection of unique elements.\n"}, "kind": 22, "label": "_accessors", "sortText": "303"}, {"detail": "bound method DataFrame._accum_func(name: str, func, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, skipna: bool = True, *args, **kwargs) -> Unknown", "kind": 2, "label": "_accum_func", "sortText": "304"}, {"detail": "str", "documentation": {"kind": "plaintext", "value": "str(object='') -> str\nstr(bytes_or_buffer[, encoding[, errors]]) -> str\n\nCreate a new string object from the given object. If encoding or\nerrors is specified, then the object must expose a data buffer\nthat will be decoded using the given encoding and error handler.\nOtherwise, returns the result of object.__str__() (if defined)\nor repr(object).\nencoding defaults to 'utf-8'.\nerrors defaults to 'strict'.\n"}, "kind": 22, "label": "_agg_examples_doc", "sortText": "305"}, {"detail": "str", "documentation": {"kind": "plaintext", "value": "str(object='') -> str\nstr(bytes_or_buffer[, encoding[, errors]]) -> str\n\nCreate a new string object from the given object. If encoding or\nerrors is specified, then the object must expose a data buffer\nthat will be decoded using the given encoding and error handler.\nOtherwise, returns the result of object.__str__() (if defined)\nor repr(object).\nencoding defaults to 'utf-8'.\nerrors defaults to 'strict'.\n"}, "kind": 22, "label": "_agg_see_also_doc", "sortText": "306"}, {"detail": "bound method DataFrame._align_for_op(other, axis: int, flex: bool | None = False, level: Hashable = None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Convert rhs to meet lhs dims if input is list, tuple or np.ndarray.\n\nParameters\n----------\nleft : DataFrame\nright : Any\naxis : int\nflex : bool or None, default False\n Whether this is a flex op, in which case we reindex.\n None indicates not to check for alignment.\nlevel : int or level name, default None\n\nReturns\n-------\nleft : DataFrame\nright : Any\n"}, "kind": 2, "label": "_align_for_op", "sortText": "307"}, {"detail": "bound method DataFrame._align_frame(other: DataFrame, join: Literal[\"outer\", \"inner\", \"left\", \"right\"] = \"outer\", axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, level=None, copy: bool | None = None, fill_value=None, method=None, limit: int | None = None, fill_axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> tuple[DataFrame, DataFrame, Index | None]", "kind": 2, "label": "_align_frame", "sortText": "308"}, {"detail": "bound method DataFrame._align_series(other: Series, join: Literal[\"outer\", \"inner\", \"left\", \"right\"] = \"outer\", axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, level=None, copy: bool | None = None, fill_value=None, method=None, limit: int | None = None, fill_axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> tuple[DataFrame, Series, Index | None]", "kind": 2, "label": "_align_series", "sortText": "309"}, {"detail": "bound method DataFrame._append(other, ignore_index: bool = False, verify_integrity: bool = False, sort: bool = False) -> DataFrame", "kind": 2, "label": "_append", "sortText": "310"}, {"detail": "bound method DataFrame._arith_method(other, op) -> Unknown", "kind": 2, "label": "_arith_method", "sortText": "311"}, {"detail": "bound method DataFrame._arith_method_with_reindex(right: DataFrame, op) -> DataFrame", "documentation": {"kind": "plaintext", "value": "For DataFrame-with-DataFrame operations that require reindexing,\noperate only on shared columns, then reindex.\n\nParameters\n----------\nright : DataFrame\nop : binary operator\n\nReturns\n-------\nDataFrame\n"}, "kind": 2, "label": "_arith_method_with_reindex", "sortText": "312"}, {"detail": "bound method DataFrame._as_manager(typ: str, copy: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Private helper function to create a DataFrame with specific manager.\n\nParameters\n----------\ntyp : {\"block\", \"array\"}\ncopy : bool, default True\n Only controls whether the conversion from Block->ArrayManager\n copies the 1D arrays (to ensure proper/contiguous memory layout).\n\nReturns\n-------\nDataFrame\n New DataFrame using specified manager type. Is not guaranteed\n to be a copy or not.\n"}, "kind": 2, "label": "_as_manager", "sortText": "313"}, {"detail": "dict[Hashable, Any]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "_attrs", "sortText": "314"}, {"detail": "bound method DataFrame._box_col_values(values: SingleDataManager, loc: int) -> Series", "documentation": {"kind": "plaintext", "value": "Provide boxed values for a column.\n"}, "kind": 2, "label": "_box_col_values", "sortText": "315"}, {"detail": "dict[str, Any]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "_cache", "sortText": "316"}, {"detail": "bool", "documentation": {"kind": "plaintext", "value": "Returns True when the argument is true, False otherwise.\nThe builtins True and False are the only two instances of the class bool.\nThe class bool is a subclass of the class int, and cannot be subclassed.\n"}, "kind": 22, "label": "_can_fast_transpose", "sortText": "317"}, {"detail": "bound method DataFrame._check_inplace_and_allows_duplicate_labels(inplace: bool) -> Unknown", "kind": 2, "label": "_check_inplace_and_allows_duplicate_labels", "sortText": "318"}, {"detail": "bound method DataFrame._check_is_chained_assignment_possible() -> bool", "documentation": {"kind": "plaintext", "value": "Check if we are a view, have a cacher, and are of mixed type.\nIf so, then force a setitem_copy check.\n\nShould be called just near setting a value\n\nWill return a boolean if it we are a view and are cached, but a\nsingle-dtype meaning that the cacher should be updated following\nsetting.\n"}, "kind": 2, "label": "_check_is_chained_assignment_possible", "sortText": "319"}, {"detail": "bound method DataFrame._check_label_or_level_ambiguity(key: Hashable, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> None", "documentation": {"kind": "plaintext", "value": "Check whether `key` is ambiguous.\n\nBy ambiguous, we mean that it matches both a level of the input\n`axis` and a label of the other axis.\n\nParameters\n----------\nkey : Hashable\n Label or level name.\naxis : int, default 0\n Axis that levels are associated with (0 for index, 1 for columns).\n\nRaises\n------\nValueError: `key` is ambiguous\n"}, "kind": 2, "label": "_check_label_or_level_ambiguity", "sortText": "320"}, {"detail": "bound method DataFrame._check_setitem_copy(t: str = \"setting\", force: bool = False) -> Unknown", "documentation": {"kind": "plaintext", "value": "Parameters\n----------\nt : str, the type of setting error\nforce : bool, default False\n If True, then force showing an error.\n\nvalidate if we are doing a setitem on a chained copy.\n\nIt is technically possible to figure out that we are setting on\na copy even WITH a multi-dtyped pandas object. In other words, some\nblocks may be views while other are not. Currently _is_view will ALWAYS\nreturn False for multi-blocks to avoid having to handle this case.\n\ndf = DataFrame(np.arange(0,9), columns=['count'])\ndf['group'] = 'b'\n\n# This technically need not raise SettingWithCopy if both are view\n# (which is not generally guaranteed but is usually True. However,\n# this is in general not a good practice and we recommend using .loc.\ndf.iloc[0:5]['group'] = 'a'\n"}, "kind": 2, "label": "_check_setitem_copy", "sortText": "321"}, {"detail": "bound method DataFrame._clear_item_cache() -> None", "kind": 2, "label": "_clear_item_cache", "sortText": "322"}, {"detail": "bound method DataFrame._clip_with_one_bound(threshold, method, axis, inplace) -> Unknown", "kind": 2, "label": "_clip_with_one_bound", "sortText": "323"}, {"detail": "bound method DataFrame._clip_with_scalar(lower, upper, inplace: bool = False) -> Unknown", "kind": 2, "label": "_clip_with_scalar", "sortText": "324"}, {"detail": "bound method DataFrame._cmp_method(other, op) -> Unknown", "kind": 2, "label": "_cmp_method", "sortText": "325"}, {"detail": "bound method DataFrame._combine_frame(other: DataFrame, func, fill_value=None) -> Unknown", "kind": 2, "label": "_combine_frame", "sortText": "326"}, {"detail": "bound method DataFrame._consolidate() -> Unknown", "documentation": {"kind": "plaintext", "value": "Compute NDFrame with \"consolidated\" internals (data of each dtype\ngrouped together in a single ndarray).\n\nReturns\n-------\nconsolidated : same type as caller\n"}, "kind": 2, "label": "_consolidate", "sortText": "327"}, {"detail": "bound method DataFrame._consolidate_inplace() -> None", "documentation": {"kind": "plaintext", "value": "Consolidate data in place and return None\n"}, "kind": 2, "label": "_consolidate_inplace", "sortText": "328"}, {"detail": "bound method DataFrame._construct_axes_dict(axes: Sequence[int | Literal[\"index\", \"columns\", \"rows\"]] | None = None, **kwargs) -> Unknown", "documentation": {"kind": "plaintext", "value": "Return an axes dictionary for myself.\n"}, "kind": 2, "label": "_construct_axes_dict", "sortText": "329"}, {"detail": "bound method DataFrame._construct_result(result) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Wrap the result of an arithmetic, comparison, or logical operation.\n\nParameters\n----------\nresult : DataFrame\n\nReturns\n-------\nDataFrame\n"}, "kind": 2, "label": "_construct_result", "sortText": "330"}, {"detail": "(...) -> DataFrame", "kind": 3, "label": "_constructor", "sortText": "331"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_constructor_expanddim", "sortText": "332"}, {"detail": "bound method DataFrame._constructor_from_mgr(mgr, axes) -> DataFrame", "kind": 2, "label": "_constructor_from_mgr", "sortText": "333"}, {"detail": "(...) -> Series", "kind": 3, "label": "_constructor_sliced", "sortText": "334"}, {"detail": "bound method DataFrame._constructor_sliced_from_mgr(mgr, axes) -> Series", "kind": 2, "label": "_constructor_sliced_from_mgr", "sortText": "335"}, {"detail": "bound method DataFrame._create_data_for_split_and_tight_to_dict(are_all_object_dtype_cols: bool, object_dtype_indices: list[int]) -> list[Unknown]", "documentation": {"kind": "plaintext", "value": "Simple helper method to create data for to ``to_dict(orient=\"split\")`` and\n``to_dict(orient=\"tight\")`` to create the main output data\n"}, "kind": 2, "label": "_create_data_for_split_and_tight_to_dict", "sortText": "336"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_data", "sortText": "337"}, {"detail": "bound method DataFrame._deprecate_downcast(downcast, method_name: str) -> Unknown", "kind": 2, "label": "_deprecate_downcast", "sortText": "338"}, {"detail": "bound method DataFrame._dir_additions() -> set[str]", "documentation": {"kind": "plaintext", "value": "add the string-like attributes from the info_axis.\nIf info_axis is a MultiIndex, its first level values are used.\n"}, "kind": 2, "label": "_dir_additions", "sortText": "339"}, {"detail": "bound method DataFrame._dir_deletions() -> set[str]", "documentation": {"kind": "plaintext", "value": "Delete unwanted __dir__ for this object.\n"}, "kind": 2, "label": "_dir_deletions", "sortText": "340"}, {"detail": "bound method DataFrame._dispatch_frame_op(right, func: (...) -> Unknown, axis: int | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Evaluate the frame operation func(left, right) by evaluating\ncolumn-by-column, dispatching to the Series implementation.\n\nParameters\n----------\nright : scalar, Series, or DataFrame\nfunc : arithmetic or comparison operator\naxis : {None, 0, 1}\n\nReturns\n-------\nDataFrame\n\nNotes\n-----\nCaller is responsible for setting np.errstate where relevant.\n"}, "kind": 2, "label": "_dispatch_frame_op", "sortText": "341"}, {"detail": "bound method DataFrame._drop_axis(labels, axis, level=None, errors: Literal[\"ignore\", \"raise\"] = \"raise\", only_slice: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Drop labels from specified axis. Used in the ``drop`` method\ninternally.\n\nParameters\n----------\nlabels : single label or list-like\naxis : int or axis name\nlevel : int or level name, default None\n For MultiIndex\nerrors : {'ignore', 'raise'}, default 'raise'\n If 'ignore', suppress error and existing labels are dropped.\nonly_slice : bool, default False\n Whether indexing along columns should be view-only.\n"}, "kind": 2, "label": "_drop_axis", "sortText": "342"}, {"detail": "bound method DataFrame._drop_labels_or_levels(keys, axis: int = 0) -> Unknown", "documentation": {"kind": "plaintext", "value": "Drop labels and/or levels for the given `axis`.\n\nFor each key in `keys`:\n - (axis=0): If key matches a column label then drop the column.\n Otherwise if key matches an index level then drop the level.\n - (axis=1): If key matches an index label then drop the row.\n Otherwise if key matches a column level then drop the level.\n\nParameters\n----------\nkeys : str or list of str\n labels or levels to drop\naxis : int, default 0\n Axis that levels are associated with (0 for index, 1 for columns)\n\nReturns\n-------\ndropped: DataFrame\n\nRaises\n------\nValueError\n if any `keys` match neither a label nor a level\n"}, "kind": 2, "label": "_drop_labels_or_levels", "sortText": "343"}, {"detail": "bound method DataFrame._ensure_valid_index(value) -> None", "documentation": {"kind": "plaintext", "value": "Ensure that if we don't have an index, that we can create one from the\npassed value.\n"}, "kind": 2, "label": "_ensure_valid_index", "sortText": "344"}, {"detail": "bound method DataFrame._find_valid_index(*, how: str) -> Hashable", "documentation": {"kind": "plaintext", "value": "Retrieves the index of the first valid value.\n\nParameters\n----------\nhow : {'first', 'last'}\n Use this parameter to change between the first or last valid index.\n\nReturns\n-------\nidx_first_valid : type of index\n"}, "kind": 2, "label": "_find_valid_index", "sortText": "345"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_flags", "sortText": "346"}, {"detail": "bound method DataFrame._flex_arith_method(other, op, *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> Unknown", "kind": 2, "label": "_flex_arith_method", "sortText": "347"}, {"detail": "bound method DataFrame._flex_cmp_method(other, op, *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> Unknown", "kind": 2, "label": "_flex_cmp_method", "sortText": "348"}, {"detail": "bound method type[DataFrame]._from_arrays(arrays, columns, index, dtype: ExtensionDtype | str | dtype[Any] | type | None = None, verify_integrity: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Create DataFrame from a list of arrays corresponding to the columns.\n\nParameters\n----------\narrays : list-like of arrays\n Each array in the list corresponds to one column, in order.\ncolumns : list-like, Index\n The column names for the resulting DataFrame.\nindex : list-like, Index\n The rows labels for the resulting DataFrame.\ndtype : dtype, optional\n Optional dtype to enforce for all arrays.\nverify_integrity : bool, default True\n Validate and homogenize all input. If set to False, it is assumed\n that all elements of `arrays` are actual arrays how they will be\n stored in a block (numpy ndarray or ExtensionArray), have the same\n length as and are aligned with the index, and that `columns` and\n `index` are ensured to be an Index object.\n\nReturns\n-------\nDataFrame\n"}, "kind": 2, "label": "_from_arrays", "sortText": "349"}, {"detail": "bound method type[DataFrame]._from_mgr(mgr: ArrayManager | SingleArrayManager | BlockManager | SingleBlockManager, axes: list[Index]) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Construct a new object of this type from a Manager object and axes.\n\nParameters\n----------\nmgr : Manager\n Must have the same ndim as cls.\naxes : list[Index]\n\nNotes\n-----\nThe axes must match mgr.axes, but are required for future-proofing\nin the event that axes are refactored out of the Manager objects.\n"}, "kind": 2, "label": "_from_mgr", "sortText": "350"}, {"detail": "bound method DataFrame._get_agg_axis(axis_num: int) -> Index", "documentation": {"kind": "plaintext", "value": "Let's be explicit about this.\n"}, "kind": 2, "label": "_get_agg_axis", "sortText": "351"}, {"detail": "bound method DataFrame._get_axis(axis: int | Literal[\"index\", \"columns\", \"rows\"]) -> Index", "kind": 2, "label": "_get_axis", "sortText": "352"}, {"detail": "bound method type[DataFrame]._get_axis_name(axis: int | Literal[\"index\", \"columns\", \"rows\"]) -> Literal[\"index\", \"columns\"]", "kind": 2, "label": "_get_axis_name", "sortText": "353"}, {"detail": "bound method type[DataFrame]._get_axis_number(axis: int | Literal[\"index\", \"columns\", \"rows\"]) -> int", "kind": 2, "label": "_get_axis_number", "sortText": "354"}, {"detail": "bound method DataFrame._get_axis_resolvers(axis: str) -> dict[str, Series | MultiIndex]", "kind": 2, "label": "_get_axis_resolvers", "sortText": "355"}, {"detail": "bound method type[DataFrame]._get_block_manager_axis(axis: int | Literal[\"index\", \"columns\", \"rows\"]) -> int", "documentation": {"kind": "plaintext", "value": "Map the axis to the block_manager axis.\n"}, "kind": 2, "label": "_get_block_manager_axis", "sortText": "356"}, {"detail": "bound method DataFrame._get_bool_data() -> Unknown", "kind": 2, "label": "_get_bool_data", "sortText": "357"}, {"detail": "bound method DataFrame._get_cleaned_column_resolvers() -> dict[Hashable, Series]", "documentation": {"kind": "plaintext", "value": "Return the special character free column resolvers of a dataframe.\n\nColumn names with special characters are 'cleaned up' so that they can\nbe referred to by backtick quoting.\nUsed in :meth:`DataFrame.eval`.\n"}, "kind": 2, "label": "_get_cleaned_column_resolvers", "sortText": "358"}, {"detail": "bound method DataFrame._get_column_array(i: int) -> ExtensionArray | ndarray[_AnyShape, dtype[Any]]", "documentation": {"kind": "plaintext", "value": "Get the values of the i'th column (ndarray or ExtensionArray, as stored\nin the Block)\n\nWarning! The returned array is a view but doesn't handle Copy-on-Write,\nso this should be used with caution (for read-only purposes).\n"}, "kind": 2, "label": "_get_column_array", "sortText": "359"}, {"detail": "bound method DataFrame._get_index_resolvers() -> dict[Hashable, Series | MultiIndex]", "kind": 2, "label": "_get_index_resolvers", "sortText": "360"}, {"detail": "bound method DataFrame._get_item_cache(item: Hashable) -> Series", "documentation": {"kind": "plaintext", "value": "Return the cached item, item represents a label indexer.\n"}, "kind": 2, "label": "_get_item_cache", "sortText": "361"}, {"detail": "bound method DataFrame._get_label_or_level_values(key: Hashable, axis: int = 0) -> ExtensionArray | ndarray[_AnyShape, dtype[Any]]", "documentation": {"kind": "plaintext", "value": "Return a 1-D array of values associated with `key`, a label or level\nfrom the given `axis`.\n\nRetrieval logic:\n - (axis=0): Return column values if `key` matches a column label.\n Otherwise return index level values if `key` matches an index\n level.\n - (axis=1): Return row values if `key` matches an index label.\n Otherwise return column level values if 'key' matches a column\n level\n\nParameters\n----------\nkey : Hashable\n Label or level name.\naxis : int, default 0\n Axis that levels are associated with (0 for index, 1 for columns)\n\nReturns\n-------\nnp.ndarray or ExtensionArray\n\nRaises\n------\nKeyError\n if `key` matches neither a label nor a level\nValueError\n if `key` matches multiple labels\n"}, "kind": 2, "label": "_get_label_or_level_values", "sortText": "362"}, {"detail": "bound method DataFrame._get_numeric_data() -> DataFrame", "kind": 2, "label": "_get_numeric_data", "sortText": "363"}, {"detail": "bound method DataFrame._get_value(index, col, takeable: bool = False) -> str | float | Period | ... omitted 5 union elements", "documentation": {"kind": "plaintext", "value": "Quickly retrieve single value at passed column and index.\n\nParameters\n----------\nindex : row label\ncol : column label\ntakeable : interpret the index/col as indexers, default False\n\nReturns\n-------\nscalar\n\nNotes\n-----\nAssumes that both `self.index._index_as_unique` and\n`self.columns._index_as_unique`; Caller is responsible for checking.\n"}, "kind": 2, "label": "_get_value", "sortText": "364"}, {"detail": "bound method DataFrame._get_values_for_csv(*, float_format: str | ((...) -> Unknown) | EngFormatter | None, date_format: str | None, decimal: str, na_rep: str, quoting) -> DataFrame", "kind": 2, "label": "_get_values_for_csv", "sortText": "365"}, {"detail": "bound method DataFrame._getitem_bool_array(key) -> Unknown", "kind": 2, "label": "_getitem_bool_array", "sortText": "366"}, {"detail": "bound method DataFrame._getitem_multilevel(key) -> Unknown", "kind": 2, "label": "_getitem_multilevel", "sortText": "367"}, {"detail": "bound method DataFrame._getitem_nocopy(key: list[Unknown]) -> Unknown", "documentation": {"kind": "plaintext", "value": "Behaves like __getitem__, but returns a view in cases where __getitem__\nwould make a copy.\n"}, "kind": 2, "label": "_getitem_nocopy", "sortText": "368"}, {"detail": "bound method DataFrame._getitem_slice(key: slice[Any, Any, Any]) -> DataFrame", "documentation": {"kind": "plaintext", "value": "__getitem__ for the case where the key is a slice object.\n"}, "kind": 2, "label": "_getitem_slice", "sortText": "369"}, {"detail": "bound method DataFrame._gotitem(key: Hashable | Sequence[Hashable], ndim: int, subset: DataFrame | Series | None = None) -> DataFrame | Series", "documentation": {"kind": "plaintext", "value": "Sub-classes to define. Return a sliced object.\n\nParameters\n----------\nkey : string / list of selections\nndim : {1, 2}\n requested ndim of result\nsubset : object, default None\n subset to act on\n"}, "kind": 2, "label": "_gotitem", "sortText": "370"}, {"detail": "frozenset[str]", "documentation": {"kind": "plaintext", "value": "Build an immutable unordered collection of unique elements.\n"}, "kind": 22, "label": "_hidden_attrs", "sortText": "371"}, {"detail": "bound method DataFrame._indexed_same(other) -> bool", "kind": 2, "label": "_indexed_same", "sortText": "372"}, {"detail": "Index", "documentation": {"kind": "plaintext", "value": "Immutable sequence used for indexing and alignment.\n\nThe basic object storing axis labels for all pandas objects.\n\n.. versionchanged:: 2.0.0\n\n Index can hold all numpy numeric dtypes (except float16). Previously only\n int64/uint64/float64 dtypes were accepted.\n\nParameters\n----------\ndata : array-like (1-dimensional)\ndtype : str, numpy.dtype, or ExtensionDtype, optional\n Data type for the output Index. If not specified, this will be\n inferred from `data`.\n See the :ref:`user guide ` for more usages.\ncopy : bool, default False\n Copy input data.\nname : object\n Name to be stored in the index.\ntupleize_cols : bool (default: True)\n When True, attempt to create a MultiIndex if possible.\n\nSee Also\n--------\nRangeIndex : Index implementing a monotonic integer range.\nCategoricalIndex : Index of :class:`Categorical` s.\nMultiIndex : A multi-level, or hierarchical Index.\nIntervalIndex : An Index of :class:`Interval` s.\nDatetimeIndex : Index of datetime64 data.\nTimedeltaIndex : Index of timedelta64 data.\nPeriodIndex : Index of Period data.\n\nNotes\n-----\nAn Index instance can **only** contain hashable objects.\nAn Index instance *can not* hold numpy float16 dtype.\n\nExamples\n--------\n>>> pd.Index([1, 2, 3])\nIndex([1, 2, 3], dtype='int64')\n\n>>> pd.Index(list('abc'))\nIndex(['a', 'b', 'c'], dtype='object')\n\n>>> pd.Index([1, 2, 3], dtype=\"uint8\")\nIndex([1, 2, 3], dtype='uint8')\n"}, "kind": 22, "label": "_info_axis", "sortText": "373"}, {"detail": "Literal[\"columns\", \"index\"]", "kind": 12, "label": "_info_axis_name", "sortText": "374"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "_info_axis_number", "sortText": "375"}, {"detail": "bound method DataFrame._info_repr() -> bool", "documentation": {"kind": "plaintext", "value": "True if the repr should show the info view.\n"}, "kind": 2, "label": "_info_repr", "sortText": "376"}, {"detail": "bound method type[DataFrame]._init_mgr(mgr: ArrayManager | SingleArrayManager | BlockManager | SingleBlockManager, axes: dict[Literal[\"index\", \"columns\"], ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements], dtype: dtype[Any] | ExtensionDtype | None = None, copy: bool = False) -> ArrayManager | SingleArrayManager | BlockManager | SingleBlockManager", "documentation": {"kind": "plaintext", "value": "passed a manager and a axes dict\n"}, "kind": 2, "label": "_init_mgr", "sortText": "377"}, {"detail": "bound method DataFrame._inplace_method(other, op) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Wrap arithmetic method to operate inplace.\n"}, "kind": 2, "label": "_inplace_method", "sortText": "378"}, {"detail": "list[str]", "documentation": {"kind": "plaintext", "value": "Built-in mutable sequence.\n\nIf no argument is given, the constructor creates a new empty list.\nThe argument must be an iterable if specified.\n"}, "kind": 22, "label": "_internal_names", "sortText": "379"}, {"detail": "set[str]", "documentation": {"kind": "plaintext", "value": "Build an unordered collection of unique elements.\n"}, "kind": 22, "label": "_internal_names_set", "sortText": "380"}, {"detail": "ReferenceType[NDFrame] | str | None", "kind": 22, "label": "_is_copy", "sortText": "381"}, {"detail": "bool", "documentation": {"kind": "plaintext", "value": "Returns True when the argument is true, False otherwise.\nThe builtins True and False are the only two instances of the class bool.\nThe class bool is a subclass of the class int, and cannot be subclassed.\n"}, "kind": 22, "label": "_is_homogeneous_type", "sortText": "382"}, {"detail": "bound method DataFrame._is_label_or_level_reference(key: Hashable, axis: int = 0) -> bool", "documentation": {"kind": "plaintext", "value": "Test whether a key is a label or level reference for a given axis.\n\nTo be considered either a label or a level reference, `key` must be a\nstring that:\n - (axis=0): Matches a column label or an index level\n - (axis=1): Matches an index label or a column level\n\nParameters\n----------\nkey : Hashable\n Potential label or level name\naxis : int, default 0\n Axis that levels are associated with (0 for index, 1 for columns)\n\nReturns\n-------\nbool\n"}, "kind": 2, "label": "_is_label_or_level_reference", "sortText": "383"}, {"detail": "bound method DataFrame._is_label_reference(key: Hashable, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> bool", "documentation": {"kind": "plaintext", "value": "Test whether a key is a label reference for a given axis.\n\nTo be considered a label reference, `key` must be a string that:\n - (axis=0): Matches a column label\n - (axis=1): Matches an index label\n\nParameters\n----------\nkey : Hashable\n Potential label name, i.e. Index entry.\naxis : int, default 0\n Axis perpendicular to the axis that labels are associated with\n (0 means search for column labels, 1 means search for index labels)\n\nReturns\n-------\nis_label: bool\n"}, "kind": 2, "label": "_is_label_reference", "sortText": "384"}, {"detail": "bound method DataFrame._is_level_reference(key: Hashable, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> bool", "documentation": {"kind": "plaintext", "value": "Test whether a key is a level reference for a given axis.\n\nTo be considered a level reference, `key` must be a string that:\n - (axis=0): Matches the name of an index level and does NOT match\n a column label.\n - (axis=1): Matches the name of a column level and does NOT match\n an index label.\n\nParameters\n----------\nkey : Hashable\n Potential level name for the given axis\naxis : int, default 0\n Axis that levels are associated with (0 for index, 1 for columns)\n\nReturns\n-------\nis_level : bool\n"}, "kind": 2, "label": "_is_level_reference", "sortText": "385"}, {"detail": "bool", "documentation": {"kind": "plaintext", "value": "Returns True when the argument is true, False otherwise.\nThe builtins True and False are the only two instances of the class bool.\nThe class bool is a subclass of the class int, and cannot be subclassed.\n"}, "kind": 22, "label": "_is_mixed_type", "sortText": "386"}, {"detail": "bool", "documentation": {"kind": "plaintext", "value": "Returns True when the argument is true, False otherwise.\nThe builtins True and False are the only two instances of the class bool.\nThe class bool is a subclass of the class int, and cannot be subclassed.\n"}, "kind": 22, "label": "_is_view", "sortText": "387"}, {"detail": "bound method DataFrame._is_view_after_cow_rules() -> Unknown", "kind": 2, "label": "_is_view_after_cow_rules", "sortText": "388"}, {"detail": "bound method DataFrame._iset_item(loc: int, value: Series, inplace: bool = True) -> None", "kind": 2, "label": "_iset_item", "sortText": "389"}, {"detail": "bound method DataFrame._iset_item_mgr(loc: int | slice[Any, Any, Any] | ndarray[_AnyShape, dtype[Any]], value, inplace: bool = False, refs: BlockValuesRefs | None = None) -> None", "kind": 2, "label": "_iset_item_mgr", "sortText": "390"}, {"detail": "bound method DataFrame._iset_not_inplace(key, value) -> Unknown", "kind": 2, "label": "_iset_not_inplace", "sortText": "391"}, {"detail": "dict[Hashable, Series]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "_item_cache", "sortText": "392"}, {"detail": "bound method DataFrame._iter_column_arrays() -> Iterator[ExtensionArray | ndarray[_AnyShape, dtype[Any]]]", "documentation": {"kind": "plaintext", "value": "Iterate over the arrays of all columns in order.\nThis returns the values as stored in the Block (ndarray or ExtensionArray).\n\nWarning! The returned array is a view but doesn't handle Copy-on-Write,\nso this should be used with caution (for read-only purposes).\n"}, "kind": 2, "label": "_iter_column_arrays", "sortText": "393"}, {"detail": "bound method DataFrame._ixs(i: int, axis: int = 0) -> Series", "documentation": {"kind": "plaintext", "value": "Parameters\n----------\ni : int\naxis : int\n\nReturns\n-------\nSeries\n"}, "kind": 2, "label": "_ixs", "sortText": "394"}, {"detail": "bound method DataFrame._logical_func(name: str, func, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, bool_only: bool = False, skipna: bool = True, **kwargs) -> Series | bool", "kind": 2, "label": "_logical_func", "sortText": "395"}, {"detail": "(other, op) -> Unknown", "kind": 3, "label": "_logical_method", "sortText": "396"}, {"detail": "bound method DataFrame._maybe_align_series_as_frame(series: Series, axis: int) -> Unknown", "documentation": {"kind": "plaintext", "value": "If the Series operand is not EA-dtype, we can broadcast to 2D and operate\nblockwise.\n"}, "kind": 2, "label": "_maybe_align_series_as_frame", "sortText": "397"}, {"detail": "bound method DataFrame._maybe_cache_changed(item, value: Series, inplace: bool) -> None", "documentation": {"kind": "plaintext", "value": "The object has called back to us saying maybe it has changed.\n"}, "kind": 2, "label": "_maybe_cache_changed", "sortText": "398"}, {"detail": "bound method DataFrame._maybe_update_cacher(clear: bool = False, verify_is_copy: bool = True, inplace: bool = False) -> None", "documentation": {"kind": "plaintext", "value": "See if we need to update our parent cacher if clear, then clear our\ncache.\n\nParameters\n----------\nclear : bool, default False\n Clear the item cache.\nverify_is_copy : bool, default True\n Provide is_copy checks.\n"}, "kind": 2, "label": "_maybe_update_cacher", "sortText": "399"}, {"detail": "list[str]", "documentation": {"kind": "plaintext", "value": "Built-in mutable sequence.\n\nIf no argument is given, the constructor creates a new empty list.\nThe argument must be an iterable if specified.\n"}, "kind": 22, "label": "_metadata", "sortText": "400"}, {"detail": "BlockManager | ArrayManager", "kind": 22, "label": "_mgr", "sortText": "401"}, {"detail": "bound method DataFrame._min_count_stat_function(name: str, func, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None | _NoDefault = ..., skipna: bool = True, numeric_only: bool = False, min_count: int = 0, **kwargs) -> Unknown", "kind": 2, "label": "_min_count_stat_function", "sortText": "402"}, {"detail": "bound method DataFrame._needs_reindex_multi(axes, method, level: Hashable) -> bool", "documentation": {"kind": "plaintext", "value": "Check if we do need a multi reindex.\n"}, "kind": 2, "label": "_needs_reindex_multi", "sortText": "403"}, {"detail": "bound method DataFrame._pad_or_backfill(method: Literal[\"ffill\", \"bfill\", \"pad\", \"backfill\"], *, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = None, inplace: bool = False, limit: None | int = None, limit_area: Literal[\"inside\", \"outside\"] | None = None, downcast: dict[Unknown, Unknown] | None = None) -> Unknown", "kind": 2, "label": "_pad_or_backfill", "sortText": "404"}, {"detail": "bound method DataFrame._protect_consolidate(f) -> Unknown", "documentation": {"kind": "plaintext", "value": "Consolidate _mgr -- if the blocks have changed, then clear the\ncache\n"}, "kind": 2, "label": "_protect_consolidate", "sortText": "405"}, {"detail": "bound method DataFrame._reduce(op, name: str, *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, skipna: bool = True, numeric_only: bool = False, filter_type=None, **kwds) -> Unknown", "kind": 2, "label": "_reduce", "sortText": "406"}, {"detail": "bound method DataFrame._reduce_axis1(name: str, func, skipna: bool) -> Series", "documentation": {"kind": "plaintext", "value": "Special case for _reduce to try to avoid a potentially-expensive transpose.\n\nApply the reduction block-wise along axis=1 and then reduce the resulting\n1D arrays.\n"}, "kind": 2, "label": "_reduce_axis1", "sortText": "407"}, {"detail": "bound method DataFrame._reindex_axes(axes, level: Hashable, limit: int | None, tolerance, method, fill_value: str | float | Period | ... omitted 6 union elements, copy: bool | None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Perform the reindex for all the axes.\n"}, "kind": 2, "label": "_reindex_axes", "sortText": "408"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_reindex_indexer", "sortText": "409"}, {"detail": "bound method DataFrame._reindex_multi(axes: dict[str, Index], copy: bool, fill_value) -> DataFrame", "documentation": {"kind": "plaintext", "value": "We are guaranteed non-Nones in the axes.\n"}, "kind": 2, "label": "_reindex_multi", "sortText": "410"}, {"detail": "bound method DataFrame._reindex_with_indexers(reindexers, fill_value=None, copy: bool | None = False, allow_dups: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "allow_dups indicates an internal call here\n"}, "kind": 2, "label": "_reindex_with_indexers", "sortText": "411"}, {"detail": "bound method DataFrame._rename(mapper: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = None, *, index: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = None, columns: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, copy: bool | None = None, inplace: bool = False, level: Hashable = None, errors: str = \"ignore\") -> DataFrame | None", "kind": 2, "label": "_rename", "sortText": "412"}, {"detail": "bound method DataFrame._replace_columnwise(mapping: dict[Hashable, tuple[Any, Any]], inplace: bool, regex) -> Unknown", "documentation": {"kind": "plaintext", "value": "Dispatch to Series.replace column-wise.\n\nParameters\n----------\nmapping : dict\n of the form {col: (target, value)}\ninplace : bool\nregex : bool or same types as `to_replace` in DataFrame.replace\n\nReturns\n-------\nDataFrame or None\n"}, "kind": 2, "label": "_replace_columnwise", "sortText": "413"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_replace_single", "sortText": "414"}, {"detail": "bound method DataFrame._repr_data_resource_() -> Unknown", "documentation": {"kind": "plaintext", "value": "Not a real Jupyter special repr method, but we use the same\nnaming convention.\n"}, "kind": 2, "label": "_repr_data_resource_", "sortText": "415"}, {"detail": "bound method DataFrame._repr_fits_horizontal_() -> bool", "documentation": {"kind": "plaintext", "value": "Check if full repr fits in horizontal boundaries imposed by the display\noptions width and max_columns.\n"}, "kind": 2, "label": "_repr_fits_horizontal_", "sortText": "416"}, {"detail": "bound method DataFrame._repr_fits_vertical_() -> bool", "documentation": {"kind": "plaintext", "value": "Check length against max_rows.\n"}, "kind": 2, "label": "_repr_fits_vertical_", "sortText": "417"}, {"detail": "bound method DataFrame._repr_html_() -> str | None", "documentation": {"kind": "plaintext", "value": "Return a html representation for a particular DataFrame.\n\nMainly for IPython notebook.\n"}, "kind": 2, "label": "_repr_html_", "sortText": "418"}, {"detail": "bound method DataFrame._repr_latex_() -> Unknown", "documentation": {"kind": "plaintext", "value": "Returns a LaTeX representation for a particular object.\nMainly for use with nbconvert (jupyter notebook conversion to pdf).\n"}, "kind": 2, "label": "_repr_latex_", "sortText": "419"}, {"detail": "bound method DataFrame._reset_cache(key: str | None = None) -> None", "documentation": {"kind": "plaintext", "value": "Reset cached properties. If ``key`` is passed, only clears that key.\n"}, "kind": 2, "label": "_reset_cache", "sortText": "420"}, {"detail": "bound method DataFrame._reset_cacher() -> None", "kind": 2, "label": "_reset_cacher", "sortText": "421"}, {"detail": "bound method DataFrame._sanitize_column(value) -> tuple[ExtensionArray | ndarray[_AnyShape, dtype[Any]], BlockValuesRefs | None]", "documentation": {"kind": "plaintext", "value": "Ensures new columns (which go into the BlockManager as new blocks) are\nalways copied (or a reference is being tracked to them under CoW)\nand converted into an array.\n\nParameters\n----------\nvalue : scalar, Series, or array-like\n\nReturns\n-------\ntuple of numpy.ndarray or ExtensionArray and optional BlockValuesRefs\n"}, "kind": 2, "label": "_sanitize_column", "sortText": "422"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_series", "sortText": "423"}, {"detail": "bound method DataFrame._set_axis(axis: int, labels: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | Series | list[Unknown]) -> None", "documentation": {"kind": "plaintext", "value": "This is called from the cython code when we set the `index` attribute\ndirectly, e.g. `series.index = [1, 2, 3]`.\n"}, "kind": 2, "label": "_set_axis", "sortText": "424"}, {"detail": "bound method DataFrame._set_axis_name(name, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, inplace: bool = False, copy: bool | None = True) -> Unknown", "documentation": {"kind": "plaintext", "value": "Set the name(s) of the axis.\n\nParameters\n----------\nname : str or list of str\n Name(s) to set.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to set the label. The value 0 or 'index' specifies index,\n and the value 1 or 'columns' specifies columns.\ninplace : bool, default False\n If `True`, do operation inplace and return None.\ncopy:\n Whether to make a copy of the result.\n\nReturns\n-------\nSeries, DataFrame, or None\n The same type as the caller or `None` if `inplace` is `True`.\n\nSee Also\n--------\nDataFrame.rename : Alter the axis labels of :class:`DataFrame`.\nSeries.rename : Alter the index labels or set the index name\n of :class:`Series`.\nIndex.rename : Set the name of :class:`Index` or :class:`MultiIndex`.\n\nExamples\n--------\n>>> df = pd.DataFrame({\"num_legs\": [4, 4, 2]},\n... [\"dog\", \"cat\", \"monkey\"])\n>>> df\n num_legs\ndog 4\ncat 4\nmonkey 2\n>>> df._set_axis_name(\"animal\")\n num_legs\nanimal\ndog 4\ncat 4\nmonkey 2\n>>> df.index = pd.MultiIndex.from_product(\n... [[\"mammal\"], ['dog', 'cat', 'monkey']])\n>>> df._set_axis_name([\"type\", \"name\"])\n num_legs\ntype name\nmammal dog 4\n cat 4\n monkey 2\n"}, "kind": 2, "label": "_set_axis_name", "sortText": "425"}, {"detail": "bound method DataFrame._set_axis_nocheck(labels, axis: int | Literal[\"index\", \"columns\", \"rows\"], inplace: bool, copy: bool | None) -> Unknown", "kind": 2, "label": "_set_axis_nocheck", "sortText": "426"}, {"detail": "bound method DataFrame._set_is_copy(ref: NDFrame, copy: bool = True) -> None", "kind": 2, "label": "_set_is_copy", "sortText": "427"}, {"detail": "bound method DataFrame._set_item(key, value) -> None", "documentation": {"kind": "plaintext", "value": "Add series to DataFrame in specified column.\n\nIf series is a numpy-array (not a Series/TimeSeries), it must be the\nsame length as the DataFrames index or an error will be thrown.\n\nSeries/TimeSeries will be conformed to the DataFrames index to\nensure homogeneity.\n"}, "kind": 2, "label": "_set_item", "sortText": "428"}, {"detail": "bound method DataFrame._set_item_frame_value(key, value: DataFrame) -> None", "kind": 2, "label": "_set_item_frame_value", "sortText": "429"}, {"detail": "bound method DataFrame._set_item_mgr(key, value: ExtensionArray | ndarray[_AnyShape, dtype[Any]], refs: BlockValuesRefs | None = None) -> None", "kind": 2, "label": "_set_item_mgr", "sortText": "430"}, {"detail": "bound method DataFrame._set_value(index: Hashable | Sequence[Hashable], col, value: str | float | Period | ... omitted 5 union elements, takeable: bool = False) -> None", "documentation": {"kind": "plaintext", "value": "Put single value at passed column and index.\n\nParameters\n----------\nindex : Label\n row label\ncol : Label\n column label\nvalue : scalar\ntakeable : bool, default False\n Sets whether or not index/col interpreted as indexers\n"}, "kind": 2, "label": "_set_value", "sortText": "431"}, {"detail": "bound method DataFrame._setitem_array(key, value) -> Unknown", "kind": 2, "label": "_setitem_array", "sortText": "432"}, {"detail": "bound method DataFrame._setitem_frame(key, value) -> Unknown", "kind": 2, "label": "_setitem_frame", "sortText": "433"}, {"detail": "bound method DataFrame._setitem_slice(key: slice[Any, Any, Any], value) -> None", "kind": 2, "label": "_setitem_slice", "sortText": "434"}, {"detail": "bound method DataFrame._shift_with_freq(periods: int, axis: int, freq) -> DataFrame", "kind": 2, "label": "_shift_with_freq", "sortText": "435"}, {"detail": "bound method DataFrame._should_reindex_frame_op(right, op, axis: int, fill_value, level) -> bool", "documentation": {"kind": "plaintext", "value": "Check if this is an operation between DataFrames that will need to reindex.\n"}, "kind": 2, "label": "_should_reindex_frame_op", "sortText": "436"}, {"detail": "bound method DataFrame._slice(slobj: slice[Any, Any, Any], axis: int = 0) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Construct a slice of this container.\n\nSlicing with this method is *always* positional.\n"}, "kind": 2, "label": "_slice", "sortText": "437"}, {"detail": "bound method DataFrame._stat_function(name: str, func, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "_stat_function", "sortText": "438"}, {"detail": "bound method DataFrame._stat_function_ddof(name: str, func, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None | _NoDefault = ..., skipna: bool = True, ddof: int = 1, numeric_only: bool = False, **kwargs) -> Series | float", "kind": 2, "label": "_stat_function_ddof", "sortText": "439"}, {"detail": "bound method DataFrame._take_with_is_copy(indices, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Internal version of the `take` method that sets the `_is_copy`\nattribute to keep track of the parent dataframe (using in indexing\nfor the SettingWithCopyWarning).\n\nFor Series this does the same as the public take (it never sets `_is_copy`).\n\nSee the docstring of `take` for full explanation of the parameters.\n"}, "kind": 2, "label": "_take_with_is_copy", "sortText": "440"}, {"detail": "bound method DataFrame._to_dict_of_blocks() -> Unknown", "documentation": {"kind": "plaintext", "value": "Return a dict of dtype -> Constructor Types that\neach is a homogeneous dtype.\n\nInternal ONLY - only works for BlockManager\n"}, "kind": 2, "label": "_to_dict_of_blocks", "sortText": "441"}, {"detail": "bound method DataFrame._to_latex_via_styler(buf=None, *, hide: dict[Unknown, Unknown] | list[dict[Unknown, Unknown]] | None = None, relabel_index: dict[Unknown, Unknown] | list[dict[Unknown, Unknown]] | None = None, format: dict[Unknown, Unknown] | list[dict[Unknown, Unknown]] | None = None, format_index: dict[Unknown, Unknown] | list[dict[Unknown, Unknown]] | None = None, render_kwargs: dict[Unknown, Unknown] | None = None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Render object to a LaTeX tabular, longtable, or nested table.\n\nUses the ``Styler`` implementation with the following, ordered, method chaining:\n\n.. code-block:: python\n styler = Styler(DataFrame)\n styler.hide(**hide)\n styler.relabel_index(**relabel_index)\n styler.format(**format)\n styler.format_index(**format_index)\n styler.to_latex(buf=buf, **render_kwargs)\n\nParameters\n----------\nbuf : str, Path or StringIO-like, optional, default None\n Buffer to write to. If None, the output is returned as a string.\nhide : dict, list of dict\n Keyword args to pass to the method call of ``Styler.hide``. If a list will\n call the method numerous times.\nrelabel_index : dict, list of dict\n Keyword args to pass to the method of ``Styler.relabel_index``. If a list\n will call the method numerous times.\nformat : dict, list of dict\n Keyword args to pass to the method call of ``Styler.format``. If a list will\n call the method numerous times.\nformat_index : dict, list of dict\n Keyword args to pass to the method call of ``Styler.format_index``. If a\n list will call the method numerous times.\nrender_kwargs : dict\n Keyword args to pass to the method call of ``Styler.to_latex``.\n\nReturns\n-------\nstr or None\n If buf is None, returns the result as a string. Otherwise returns None.\n"}, "kind": 2, "label": "_to_latex_via_styler", "sortText": "442"}, {"detail": "str", "documentation": {"kind": "plaintext", "value": "str(object='') -> str\nstr(bytes_or_buffer[, encoding[, errors]]) -> str\n\nCreate a new string object from the given object. If encoding or\nerrors is specified, then the object must expose a data buffer\nthat will be decoded using the given encoding and error handler.\nOtherwise, returns the result of object.__str__() (if defined)\nor repr(object).\nencoding defaults to 'utf-8'.\nerrors defaults to 'strict'.\n"}, "kind": 22, "label": "_typ", "sortText": "443"}, {"detail": "bound method DataFrame._update_inplace(result, verify_is_copy: bool = True) -> None", "documentation": {"kind": "plaintext", "value": "Replace self internals with result.\n\nParameters\n----------\nresult : same type as self\nverify_is_copy : bool, default True\n Provide is_copy checks.\n"}, "kind": 2, "label": "_update_inplace", "sortText": "444"}, {"detail": "bound method type[DataFrame]._validate_dtype(dtype) -> dtype[Any] | ExtensionDtype | None", "documentation": {"kind": "plaintext", "value": "validate the passed dtype\n"}, "kind": 2, "label": "_validate_dtype", "sortText": "445"}, {"detail": "ndarray[_AnyShape, dtype[Any]] | DatetimeArray | TimedeltaArray | PeriodArray", "kind": 22, "label": "_values", "sortText": "446"}, {"detail": "bound method DataFrame._where(cond, other=..., inplace: bool = False, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, level=None, warn: bool = True) -> Unknown", "documentation": {"kind": "plaintext", "value": "Equivalent to public method `where`, except that `other` is not\napplied as a function even if callable. Used in __setitem__.\n"}, "kind": 2, "label": "_where", "sortText": "447"}]}} -{"suite": "pandas", "label": "edit dataframe then complete (edit+completion)", "method": "textDocument/completion", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py", "line": 17, "character": 39, "iteration": 5, "result": {"isIncomplete": true, "items": [{"detail": "DataFrame", "documentation": {"kind": "plaintext", "value": "Two-dimensional, size-mutable, potentially heterogeneous tabular data.\n\nData structure also contains labeled axes (rows and columns).\nArithmetic operations align on both row and column labels. Can be\nthought of as a dict-like container for Series objects. The primary\npandas data structure.\n\nParameters\n----------\ndata : ndarray (structured or homogeneous), Iterable, dict, or DataFrame\n Dict can contain Series, arrays, constants, dataclass or list-like objects. If\n data is a dict, column order follows insertion-order. If a dict contains Series\n which have an index defined, it is aligned by its index. This alignment also\n occurs if data is a Series or a DataFrame itself. Alignment is done on\n Series/DataFrame inputs.\n\n If data is a list of dicts, column order follows insertion-order.\n\nindex : Index or array-like\n Index to use for resulting frame. Will default to RangeIndex if\n no indexing information part of input data and no index provided.\ncolumns : Index or array-like\n Column labels to use for resulting frame when data does not have them,\n defaulting to RangeIndex(0, 1, 2, ..., n). If data contains column labels,\n will perform column selection instead.\ndtype : dtype, default None\n Data type to force. Only a single dtype is allowed. If None, infer.\ncopy : bool or None, default None\n Copy data from inputs.\n For dict data, the default of None behaves like ``copy=True``. For DataFrame\n or 2d ndarray input, the default of None behaves like ``copy=False``.\n If data is a dict containing one or more Series (possibly of different dtypes),\n ``copy=False`` will ensure that these inputs are not copied.\n\n .. versionchanged:: 1.3.0\n\nSee Also\n--------\nDataFrame.from_records : Constructor from tuples, also record arrays.\nDataFrame.from_dict : From dicts of Series, arrays, or dicts.\nread_csv : Read a comma-separated values (csv) file into DataFrame.\nread_table : Read general delimited file into DataFrame.\nread_clipboard : Read text from clipboard into DataFrame.\n\nNotes\n-----\nPlease reference the :ref:`User Guide ` for more information.\n\nExamples\n--------\nConstructing DataFrame from a dictionary.\n\n>>> d = {'col1': [1, 2], 'col2': [3, 4]}\n>>> df = pd.DataFrame(data=d)\n>>> df\n col1 col2\n0 1 3\n1 2 4\n\nNotice that the inferred dtype is int64.\n\n>>> df.dtypes\ncol1 int64\ncol2 int64\ndtype: object\n\nTo enforce a single dtype:\n\n>>> df = pd.DataFrame(data=d, dtype=np.int8)\n>>> df.dtypes\ncol1 int8\ncol2 int8\ndtype: object\n\nConstructing DataFrame from a dictionary including Series:\n\n>>> d = {'col1': [0, 1, 2, 3], 'col2': pd.Series([2, 3], index=[2, 3])}\n>>> pd.DataFrame(data=d, index=[0, 1, 2, 3])\n col1 col2\n0 0 NaN\n1 1 NaN\n2 2 2.0\n3 3 3.0\n\nConstructing DataFrame from numpy ndarray:\n\n>>> df2 = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]),\n... columns=['a', 'b', 'c'])\n>>> df2\n a b c\n0 1 2 3\n1 4 5 6\n2 7 8 9\n\nConstructing DataFrame from a numpy ndarray that has labeled columns:\n\n>>> data = np.array([(1, 2, 3), (4, 5, 6), (7, 8, 9)],\n... dtype=[(\"a\", \"i4\"), (\"b\", \"i4\"), (\"c\", \"i4\")])\n>>> df3 = pd.DataFrame(data, columns=['c', 'a'])\n...\n>>> df3\n c a\n0 3 1\n1 6 4\n2 9 7\n\nConstructing DataFrame from dataclass:\n\n>>> from dataclasses import make_dataclass\n>>> Point = make_dataclass(\"Point\", [(\"x\", int), (\"y\", int)])\n>>> pd.DataFrame([Point(0, 0), Point(0, 3), Point(2, 3)])\n x y\n0 0 0\n1 0 3\n2 2 3\n\nConstructing DataFrame from Series/DataFrame:\n\n>>> ser = pd.Series([1, 2, 3], index=[\"a\", \"b\", \"c\"])\n>>> df = pd.DataFrame(data=ser, index=[\"a\", \"c\"])\n>>> df\n 0\na 1\nc 3\n\n>>> df1 = pd.DataFrame([1, 2, 3], index=[\"a\", \"b\", \"c\"], columns=[\"x\"])\n>>> df2 = pd.DataFrame(data=df1, index=[\"a\", \"c\"])\n>>> df2\n x\na 1\nc 3\n"}, "kind": 22, "label": "T", "sortText": " 0"}, {"detail": "bound method DataFrame.abs() -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return a Series/DataFrame with absolute numeric value of each element.\n\nThis function only applies to elements that are all numeric.\n\nReturns\n-------\nabs\n Series/DataFrame containing the absolute value of each element.\n\nSee Also\n--------\nnumpy.absolute : Calculate the absolute value element-wise.\n\nNotes\n-----\nFor ``complex`` inputs, ``1.2 + 1j``, the absolute value is\n:math:`\\sqrt{ a^2 + b^2 }`.\n\nExamples\n--------\nAbsolute numeric values in a Series.\n\n>>> s = pd.Series([-1.10, 2, -3.33, 4])\n>>> s.abs()\n0 1.10\n1 2.00\n2 3.33\n3 4.00\ndtype: float64\n\nAbsolute numeric values in a Series with complex numbers.\n\n>>> s = pd.Series([1.2 + 1j])\n>>> s.abs()\n0 1.56205\ndtype: float64\n\nAbsolute numeric values in a Series with a Timedelta element.\n\n>>> s = pd.Series([pd.Timedelta('1 days')])\n>>> s.abs()\n0 1 days\ndtype: timedelta64[ns]\n\nSelect rows with data closest to certain value using argsort (from\n`StackOverflow `__).\n\n>>> df = pd.DataFrame({\n... 'a': [4, 5, 6, 7],\n... 'b': [10, 20, 30, 40],\n... 'c': [100, 50, -30, -50]\n... })\n>>> df\n a b c\n0 4 10 100\n1 5 20 50\n2 6 30 -30\n3 7 40 -50\n>>> df.loc[(df.c - 43).abs().argsort()]\n a b c\n1 5 20 50\n0 4 10 100\n2 6 30 -30\n3 7 40 -50\n"}, "kind": 2, "label": "abs", "sortText": " 1"}, {"detail": "bound method DataFrame.add(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "add", "sortText": " 2"}, {"detail": "bound method DataFrame.add_prefix(prefix: str, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Prefix labels with string `prefix`.\n\nFor Series, the row labels are prefixed.\nFor DataFrame, the column labels are prefixed.\n\nParameters\n----------\nprefix : str\n The string to add before each label.\naxis : {0 or 'index', 1 or 'columns', None}, default None\n Axis to add prefix on\n\n .. versionadded:: 2.0.0\n\nReturns\n-------\nSeries or DataFrame\n New Series or DataFrame with updated labels.\n\nSee Also\n--------\nSeries.add_suffix: Suffix row labels with string `suffix`.\nDataFrame.add_suffix: Suffix column labels with string `suffix`.\n\nExamples\n--------\n>>> s = pd.Series([1, 2, 3, 4])\n>>> s\n0 1\n1 2\n2 3\n3 4\ndtype: int64\n\n>>> s.add_prefix('item_')\nitem_0 1\nitem_1 2\nitem_2 3\nitem_3 4\ndtype: int64\n\n>>> df = pd.DataFrame({'A': [1, 2, 3, 4], 'B': [3, 4, 5, 6]})\n>>> df\n A B\n0 1 3\n1 2 4\n2 3 5\n3 4 6\n\n>>> df.add_prefix('col_')\n col_A col_B\n0 1 3\n1 2 4\n2 3 5\n3 4 6\n"}, "kind": 2, "label": "add_prefix", "sortText": " 3"}, {"detail": "bound method DataFrame.add_suffix(suffix: str, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Suffix labels with string `suffix`.\n\nFor Series, the row labels are suffixed.\nFor DataFrame, the column labels are suffixed.\n\nParameters\n----------\nsuffix : str\n The string to add after each label.\naxis : {0 or 'index', 1 or 'columns', None}, default None\n Axis to add suffix on\n\n .. versionadded:: 2.0.0\n\nReturns\n-------\nSeries or DataFrame\n New Series or DataFrame with updated labels.\n\nSee Also\n--------\nSeries.add_prefix: Prefix row labels with string `prefix`.\nDataFrame.add_prefix: Prefix column labels with string `prefix`.\n\nExamples\n--------\n>>> s = pd.Series([1, 2, 3, 4])\n>>> s\n0 1\n1 2\n2 3\n3 4\ndtype: int64\n\n>>> s.add_suffix('_item')\n0_item 1\n1_item 2\n2_item 3\n3_item 4\ndtype: int64\n\n>>> df = pd.DataFrame({'A': [1, 2, 3, 4], 'B': [3, 4, 5, 6]})\n>>> df\n A B\n0 1 3\n1 2 4\n2 3 5\n3 4 6\n\n>>> df.add_suffix('_col')\n A_col B_col\n0 1 3\n1 2 4\n2 3 5\n3 4 6\n"}, "kind": 2, "label": "add_suffix", "sortText": " 4"}, {"detail": "(func=None, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, *args, **kwargs) -> Unknown", "kind": 3, "label": "agg", "sortText": " 5"}, {"detail": "bound method DataFrame.aggregate(func=None, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, *args, **kwargs) -> Unknown", "kind": 2, "label": "aggregate", "sortText": " 6"}, {"detail": "bound method DataFrame.align[NDFrameT](other: NDFrameT, join: Literal[\"outer\", \"inner\", \"left\", \"right\"] = \"outer\", axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, level: Hashable = None, copy: bool | None = None, fill_value: Hashable = None, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None | _NoDefault = ..., limit: int | None | _NoDefault = ..., fill_axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., broadcast_axis: int | Literal[\"index\", \"columns\", \"rows\"] | None | _NoDefault = ...) -> tuple[DataFrame, NDFrameT]", "documentation": {"kind": "plaintext", "value": "Align two objects on their axes with the specified join method.\n\nJoin method is specified for each axis Index.\n\nParameters\n----------\nother : DataFrame or Series\njoin : {{'outer', 'inner', 'left', 'right'}}, default 'outer'\n Type of alignment to be performed.\n\n * left: use only keys from left frame, preserve key order.\n * right: use only keys from right frame, preserve key order.\n * outer: use union of keys from both frames, sort keys lexicographically.\n * inner: use intersection of keys from both frames,\n preserve the order of the left keys.\n\naxis : allowed axis of the other object, default None\n Align on index (0), columns (1), or both (None).\nlevel : int or level name, default None\n Broadcast across a level, matching Index values on the\n passed MultiIndex level.\ncopy : bool, default True\n Always returns new objects. If copy=False and no reindexing is\n required then original objects are returned.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\nfill_value : scalar, default np.nan\n Value to use for missing values. Defaults to NaN, but can be any\n \"compatible\" value.\nmethod : {{'backfill', 'bfill', 'pad', 'ffill', None}}, default None\n Method to use for filling holes in reindexed Series:\n\n - pad / ffill: propagate last valid observation forward to next valid.\n - backfill / bfill: use NEXT valid observation to fill gap.\n\n .. deprecated:: 2.1\n\nlimit : int, default None\n If method is specified, this is the maximum number of consecutive\n NaN values to forward/backward fill. In other words, if there is\n a gap with more than this number of consecutive NaNs, it will only\n be partially filled. If method is not specified, this is the\n maximum number of entries along the entire axis where NaNs will be\n filled. Must be greater than 0 if not None.\n\n .. deprecated:: 2.1\n\nfill_axis : {axes_single_arg}, default 0\n Filling axis, method and limit.\n\n .. deprecated:: 2.1\n\nbroadcast_axis : {axes_single_arg}, default None\n Broadcast values along this axis, if aligning two objects of\n different dimensions.\n\n .. deprecated:: 2.1\n\nReturns\n-------\ntuple of ({klass}, type of other)\n Aligned objects.\n\nExamples\n--------\n>>> df = pd.DataFrame(\n... [[1, 2, 3, 4], [6, 7, 8, 9]], columns=[\"D\", \"B\", \"E\", \"A\"], index=[1, 2]\n... )\n>>> other = pd.DataFrame(\n... [[10, 20, 30, 40], [60, 70, 80, 90], [600, 700, 800, 900]],\n... columns=[\"A\", \"B\", \"C\", \"D\"],\n... index=[2, 3, 4],\n... )\n>>> df\n D B E A\n1 1 2 3 4\n2 6 7 8 9\n>>> other\n A B C D\n2 10 20 30 40\n3 60 70 80 90\n4 600 700 800 900\n\nAlign on columns:\n\n>>> left, right = df.align(other, join=\"outer\", axis=1)\n>>> left\n A B C D E\n1 4 2 NaN 1 3\n2 9 7 NaN 6 8\n>>> right\n A B C D E\n2 10 20 30 40 NaN\n3 60 70 80 90 NaN\n4 600 700 800 900 NaN\n\nWe can also align on the index:\n\n>>> left, right = df.align(other, join=\"outer\", axis=0)\n>>> left\n D B E A\n1 1.0 2.0 3.0 4.0\n2 6.0 7.0 8.0 9.0\n3 NaN NaN NaN NaN\n4 NaN NaN NaN NaN\n>>> right\n A B C D\n1 NaN NaN NaN NaN\n2 10.0 20.0 30.0 40.0\n3 60.0 70.0 80.0 90.0\n4 600.0 700.0 800.0 900.0\n\nFinally, the default `axis=None` will align on both index and columns:\n\n>>> left, right = df.align(other, join=\"outer\", axis=None)\n>>> left\n A B C D E\n1 4.0 2.0 NaN 1.0 3.0\n2 9.0 7.0 NaN 6.0 8.0\n3 NaN NaN NaN NaN NaN\n4 NaN NaN NaN NaN NaN\n>>> right\n A B C D E\n1 NaN NaN NaN NaN NaN\n2 10.0 20.0 30.0 40.0 NaN\n3 60.0 70.0 80.0 90.0 NaN\n4 600.0 700.0 800.0 900.0 NaN\n"}, "kind": 2, "label": "align", "sortText": " 7"}, {"detail": "bound method DataFrame.all(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, bool_only: bool = False, skipna: bool = True, **kwargs) -> Series | bool", "kind": 2, "label": "all", "sortText": " 8"}, {"detail": "bound method DataFrame.any(*, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, bool_only: bool = False, skipna: bool = True, **kwargs) -> Series | bool", "kind": 2, "label": "any", "sortText": " 9"}, {"detail": "bound method DataFrame.apply(func: ((...) -> Unknown) | str | list[((...) -> Unknown) | str] | MutableMapping[Hashable, ((...) -> Unknown) | str | list[((...) -> Unknown) | str]], axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, raw: bool = False, result_type: Literal[\"expand\", \"reduce\", \"broadcast\"] | None = None, args=..., by_row: Literal[False, \"compat\"] = \"compat\", engine: Literal[\"python\", \"numba\"] = \"python\", engine_kwargs: dict[str, bool] | None = None, **kwargs) -> Unknown", "documentation": {"kind": "plaintext", "value": "Apply a function along an axis of the DataFrame.\n\nObjects passed to the function are Series objects whose index is\neither the DataFrame's index (``axis=0``) or the DataFrame's columns\n(``axis=1``). By default (``result_type=None``), the final return type\nis inferred from the return type of the applied function. Otherwise,\nit depends on the `result_type` argument.\n\nParameters\n----------\nfunc : function\n Function to apply to each column or row.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Axis along which the function is applied:\n\n * 0 or 'index': apply function to each column.\n * 1 or 'columns': apply function to each row.\n\nraw : bool, default False\n Determines if row or column is passed as a Series or ndarray object:\n\n * ``False`` : passes each row or column as a Series to the\n function.\n * ``True`` : the passed function will receive ndarray objects\n instead.\n If you are just applying a NumPy reduction function this will\n achieve much better performance.\n\nresult_type : {'expand', 'reduce', 'broadcast', None}, default None\n These only act when ``axis=1`` (columns):\n\n * 'expand' : list-like results will be turned into columns.\n * 'reduce' : returns a Series if possible rather than expanding\n list-like results. This is the opposite of 'expand'.\n * 'broadcast' : results will be broadcast to the original shape\n of the DataFrame, the original index and columns will be\n retained.\n\n The default behaviour (None) depends on the return value of the\n applied function: list-like results will be returned as a Series\n of those. However if the apply function returns a Series these\n are expanded to columns.\nargs : tuple\n Positional arguments to pass to `func` in addition to the\n array/series.\nby_row : False or \"compat\", default \"compat\"\n Only has an effect when ``func`` is a listlike or dictlike of funcs\n and the func isn't a string.\n If \"compat\", will if possible first translate the func into pandas\n methods (e.g. ``Series().apply(np.sum)`` will be translated to\n ``Series().sum()``). If that doesn't work, will try call to apply again with\n ``by_row=True`` and if that fails, will call apply again with\n ``by_row=False`` (backward compatible).\n If False, the funcs will be passed the whole Series at once.\n\n .. versionadded:: 2.1.0\n\nengine : {'python', 'numba'}, default 'python'\n Choose between the python (default) engine or the numba engine in apply.\n\n The numba engine will attempt to JIT compile the passed function,\n which may result in speedups for large DataFrames.\n It also supports the following engine_kwargs :\n\n - nopython (compile the function in nopython mode)\n - nogil (release the GIL inside the JIT compiled function)\n - parallel (try to apply the function in parallel over the DataFrame)\n\n Note: Due to limitations within numba/how pandas interfaces with numba,\n you should only use this if raw=True\n\n Note: The numba compiler only supports a subset of\n valid Python/numpy operations.\n\n Please read more about the `supported python features\n `_\n and `supported numpy features\n `_\n in numba to learn what you can or cannot use in the passed function.\n\n .. versionadded:: 2.2.0\n\nengine_kwargs : dict\n Pass keyword arguments to the engine.\n This is currently only used by the numba engine,\n see the documentation for the engine argument for more information.\n**kwargs\n Additional keyword arguments to pass as keywords arguments to\n `func`.\n\nReturns\n-------\nSeries or DataFrame\n Result of applying ``func`` along the given axis of the\n DataFrame.\n\nSee Also\n--------\nDataFrame.map: For elementwise operations.\nDataFrame.aggregate: Only perform aggregating type operations.\nDataFrame.transform: Only perform transforming type operations.\n\nNotes\n-----\nFunctions that mutate the passed object can produce unexpected\nbehavior or errors and are not supported. See :ref:`gotchas.udf-mutation`\nfor more details.\n\nExamples\n--------\n>>> df = pd.DataFrame([[4, 9]] * 3, columns=['A', 'B'])\n>>> df\n A B\n0 4 9\n1 4 9\n2 4 9\n\nUsing a numpy universal function (in this case the same as\n``np.sqrt(df)``):\n\n>>> df.apply(np.sqrt)\n A B\n0 2.0 3.0\n1 2.0 3.0\n2 2.0 3.0\n\nUsing a reducing function on either axis\n\n>>> df.apply(np.sum, axis=0)\nA 12\nB 27\ndtype: int64\n\n>>> df.apply(np.sum, axis=1)\n0 13\n1 13\n2 13\ndtype: int64\n\nReturning a list-like will result in a Series\n\n>>> df.apply(lambda x: [1, 2], axis=1)\n0 [1, 2]\n1 [1, 2]\n2 [1, 2]\ndtype: object\n\nPassing ``result_type='expand'`` will expand list-like results\nto columns of a Dataframe\n\n>>> df.apply(lambda x: [1, 2], axis=1, result_type='expand')\n 0 1\n0 1 2\n1 1 2\n2 1 2\n\nReturning a Series inside the function is similar to passing\n``result_type='expand'``. The resulting column names\nwill be the Series index.\n\n>>> df.apply(lambda x: pd.Series([1, 2], index=['foo', 'bar']), axis=1)\n foo bar\n0 1 2\n1 1 2\n2 1 2\n\nPassing ``result_type='broadcast'`` will ensure the same shape\nresult, whether list-like or scalar is returned by the function,\nand broadcast it along the axis. The resulting column names will\nbe the originals.\n\n>>> df.apply(lambda x: [1, 2], axis=1, result_type='broadcast')\n A B\n0 1 2\n1 1 2\n2 1 2\n"}, "kind": 2, "label": "apply", "sortText": " 10"}, {"detail": "bound method DataFrame.applymap(func: (Any, /) -> Any, na_action: Literal[\"ignore\"] | None = None, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Apply a function to a Dataframe elementwise.\n\n.. deprecated:: 2.1.0\n\n DataFrame.applymap has been deprecated. Use DataFrame.map instead.\n\nThis method applies a function that accepts and returns a scalar\nto every element of a DataFrame.\n\nParameters\n----------\nfunc : callable\n Python function, returns a single value from a single value.\nna_action : {None, 'ignore'}, default None\n If 'ignore', propagate NaN values, without passing them to func.\n**kwargs\n Additional keyword arguments to pass as keywords arguments to\n `func`.\n\nReturns\n-------\nDataFrame\n Transformed DataFrame.\n\nSee Also\n--------\nDataFrame.apply : Apply a function along input axis of DataFrame.\nDataFrame.map : Apply a function along input axis of DataFrame.\nDataFrame.replace: Replace values given in `to_replace` with `value`.\n\nExamples\n--------\n>>> df = pd.DataFrame([[1, 2.12], [3.356, 4.567]])\n>>> df\n 0 1\n0 1.000 2.120\n1 3.356 4.567\n\n>>> df.map(lambda x: len(str(x)))\n 0 1\n0 3 4\n1 5 5\n"}, "kind": 2, "label": "applymap", "sortText": " 11"}, {"detail": "bound method DataFrame.asfreq(freq: str | BaseOffset, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None = None, how: Literal[\"start\", \"end\"] | None = None, normalize: bool = False, fill_value: Hashable = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Convert time series to specified frequency.\n\nReturns the original data conformed to a new index with the specified\nfrequency.\n\nIf the index of this {klass} is a :class:`~pandas.PeriodIndex`, the new index\nis the result of transforming the original index with\n:meth:`PeriodIndex.asfreq ` (so the original index\nwill map one-to-one to the new index).\n\nOtherwise, the new index will be equivalent to ``pd.date_range(start, end,\nfreq=freq)`` where ``start`` and ``end`` are, respectively, the first and\nlast entries in the original index (see :func:`pandas.date_range`). The\nvalues corresponding to any timesteps in the new index which were not present\nin the original index will be null (``NaN``), unless a method for filling\nsuch unknowns is provided (see the ``method`` parameter below).\n\nThe :meth:`resample` method is more appropriate if an operation on each group of\ntimesteps (such as an aggregate) is necessary to represent the data at the new\nfrequency.\n\nParameters\n----------\nfreq : DateOffset or str\n Frequency DateOffset or string.\nmethod : {{'backfill'/'bfill', 'pad'/'ffill'}}, default None\n Method to use for filling holes in reindexed Series (note this\n does not fill NaNs that already were present):\n\n * 'pad' / 'ffill': propagate last valid observation forward to next\n valid\n * 'backfill' / 'bfill': use NEXT valid observation to fill.\nhow : {{'start', 'end'}}, default end\n For PeriodIndex only (see PeriodIndex.asfreq).\nnormalize : bool, default False\n Whether to reset output index to midnight.\nfill_value : scalar, optional\n Value to use for missing values, applied during upsampling (note\n this does not fill NaNs that already were present).\n\nReturns\n-------\n{klass}\n {klass} object reindexed to the specified frequency.\n\nSee Also\n--------\nreindex : Conform DataFrame to new index with optional filling logic.\n\nNotes\n-----\nTo learn more about the frequency strings, please see `this link\n`__.\n\nExamples\n--------\nStart by creating a series with 4 one minute timestamps.\n\n>>> index = pd.date_range('1/1/2000', periods=4, freq='min')\n>>> series = pd.Series([0.0, None, 2.0, 3.0], index=index)\n>>> df = pd.DataFrame({{'s': series}})\n>>> df\n s\n2000-01-01 00:00:00 0.0\n2000-01-01 00:01:00 NaN\n2000-01-01 00:02:00 2.0\n2000-01-01 00:03:00 3.0\n\nUpsample the series into 30 second bins.\n\n>>> df.asfreq(freq='30s')\n s\n2000-01-01 00:00:00 0.0\n2000-01-01 00:00:30 NaN\n2000-01-01 00:01:00 NaN\n2000-01-01 00:01:30 NaN\n2000-01-01 00:02:00 2.0\n2000-01-01 00:02:30 NaN\n2000-01-01 00:03:00 3.0\n\nUpsample again, providing a ``fill value``.\n\n>>> df.asfreq(freq='30s', fill_value=9.0)\n s\n2000-01-01 00:00:00 0.0\n2000-01-01 00:00:30 9.0\n2000-01-01 00:01:00 NaN\n2000-01-01 00:01:30 9.0\n2000-01-01 00:02:00 2.0\n2000-01-01 00:02:30 9.0\n2000-01-01 00:03:00 3.0\n\nUpsample again, providing a ``method``.\n\n>>> df.asfreq(freq='30s', method='bfill')\n s\n2000-01-01 00:00:00 0.0\n2000-01-01 00:00:30 NaN\n2000-01-01 00:01:00 NaN\n2000-01-01 00:01:30 2.0\n2000-01-01 00:02:00 2.0\n2000-01-01 00:02:30 3.0\n2000-01-01 00:03:00 3.0\n"}, "kind": 2, "label": "asfreq", "sortText": " 12"}, {"detail": "bound method DataFrame.asof(where, subset=None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Return the last row(s) without any NaNs before `where`.\n\nThe last row (for each element in `where`, if list) without any\nNaN is taken.\nIn case of a :class:`~pandas.DataFrame`, the last row without NaN\nconsidering only the subset of columns (if not `None`)\n\nIf there is no good value, NaN is returned for a Series or\na Series of NaN values for a DataFrame\n\nParameters\n----------\nwhere : date or array-like of dates\n Date(s) before which the last row(s) are returned.\nsubset : str or array-like of str, default `None`\n For DataFrame, if not `None`, only use these columns to\n check for NaNs.\n\nReturns\n-------\nscalar, Series, or DataFrame\n\n The return can be:\n\n * scalar : when `self` is a Series and `where` is a scalar\n * Series: when `self` is a Series and `where` is an array-like,\n or when `self` is a DataFrame and `where` is a scalar\n * DataFrame : when `self` is a DataFrame and `where` is an\n array-like\n\nSee Also\n--------\nmerge_asof : Perform an asof merge. Similar to left join.\n\nNotes\n-----\nDates are assumed to be sorted. Raises if this is not the case.\n\nExamples\n--------\nA Series and a scalar `where`.\n\n>>> s = pd.Series([1, 2, np.nan, 4], index=[10, 20, 30, 40])\n>>> s\n10 1.0\n20 2.0\n30 NaN\n40 4.0\ndtype: float64\n\n>>> s.asof(20)\n2.0\n\nFor a sequence `where`, a Series is returned. The first value is\nNaN, because the first element of `where` is before the first\nindex value.\n\n>>> s.asof([5, 20])\n5 NaN\n20 2.0\ndtype: float64\n\nMissing values are not considered. The following is ``2.0``, not\nNaN, even though NaN is at the index location for ``30``.\n\n>>> s.asof(30)\n2.0\n\nTake all columns into consideration\n\n>>> df = pd.DataFrame({'a': [10., 20., 30., 40., 50.],\n... 'b': [None, None, None, None, 500]},\n... index=pd.DatetimeIndex(['2018-02-27 09:01:00',\n... '2018-02-27 09:02:00',\n... '2018-02-27 09:03:00',\n... '2018-02-27 09:04:00',\n... '2018-02-27 09:05:00']))\n>>> df.asof(pd.DatetimeIndex(['2018-02-27 09:03:30',\n... '2018-02-27 09:04:30']))\n a b\n2018-02-27 09:03:30 NaN NaN\n2018-02-27 09:04:30 NaN NaN\n\nTake a single column into consideration\n\n>>> df.asof(pd.DatetimeIndex(['2018-02-27 09:03:30',\n... '2018-02-27 09:04:30']),\n... subset=['a'])\n a b\n2018-02-27 09:03:30 30.0 NaN\n2018-02-27 09:04:30 40.0 NaN\n"}, "kind": 2, "label": "asof", "sortText": " 13"}, {"detail": "bound method DataFrame.assign(**kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Assign new columns to a DataFrame.\n\nReturns a new object with all original columns in addition to new ones.\nExisting columns that are re-assigned will be overwritten.\n\nParameters\n----------\n**kwargs : dict of {str: callable or Series}\n The column names are keywords. If the values are\n callable, they are computed on the DataFrame and\n assigned to the new columns. The callable must not\n change input DataFrame (though pandas doesn't check it).\n If the values are not callable, (e.g. a Series, scalar, or array),\n they are simply assigned.\n\nReturns\n-------\nDataFrame\n A new DataFrame with the new columns in addition to\n all the existing columns.\n\nNotes\n-----\nAssigning multiple columns within the same ``assign`` is possible.\nLater items in '\\*\\*kwargs' may refer to newly created or modified\ncolumns in 'df'; items are computed and assigned into 'df' in order.\n\nExamples\n--------\n>>> df = pd.DataFrame({'temp_c': [17.0, 25.0]},\n... index=['Portland', 'Berkeley'])\n>>> df\n temp_c\nPortland 17.0\nBerkeley 25.0\n\nWhere the value is a callable, evaluated on `df`:\n\n>>> df.assign(temp_f=lambda x: x.temp_c * 9 / 5 + 32)\n temp_c temp_f\nPortland 17.0 62.6\nBerkeley 25.0 77.0\n\nAlternatively, the same behavior can be achieved by directly\nreferencing an existing Series or sequence:\n\n>>> df.assign(temp_f=df['temp_c'] * 9 / 5 + 32)\n temp_c temp_f\nPortland 17.0 62.6\nBerkeley 25.0 77.0\n\nYou can create multiple columns within the same assign where one\nof the columns depends on another one defined within the same assign:\n\n>>> df.assign(temp_f=lambda x: x['temp_c'] * 9 / 5 + 32,\n... temp_k=lambda x: (x['temp_f'] + 459.67) * 5 / 9)\n temp_c temp_f temp_k\nPortland 17.0 62.6 290.15\nBerkeley 25.0 77.0 298.15\n"}, "kind": 2, "label": "assign", "sortText": " 14"}, {"detail": "bound method DataFrame.astype(dtype, copy: bool | None = None, errors: Literal[\"ignore\", \"raise\"] = \"raise\") -> DataFrame", "documentation": {"kind": "plaintext", "value": "Cast a pandas object to a specified dtype ``dtype``.\n\nParameters\n----------\ndtype : str, data type, Series or Mapping of column name -> data type\n Use a str, numpy.dtype, pandas.ExtensionDtype or Python type to\n cast entire pandas object to the same type. Alternatively, use a\n mapping, e.g. {col: dtype, ...}, where col is a column label and dtype is\n a numpy.dtype or Python type to cast one or more of the DataFrame's\n columns to column-specific types.\ncopy : bool, default True\n Return a copy when ``copy=True`` (be very careful setting\n ``copy=False`` as changes to values then may propagate to other\n pandas objects).\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\nerrors : {'raise', 'ignore'}, default 'raise'\n Control raising of exceptions on invalid data for provided dtype.\n\n - ``raise`` : allow exceptions to be raised\n - ``ignore`` : suppress exceptions. On error return original object.\n\nReturns\n-------\nsame type as caller\n\nSee Also\n--------\nto_datetime : Convert argument to datetime.\nto_timedelta : Convert argument to timedelta.\nto_numeric : Convert argument to a numeric type.\nnumpy.ndarray.astype : Cast a numpy array to a specified type.\n\nNotes\n-----\n.. versionchanged:: 2.0.0\n\n Using ``astype`` to convert from timezone-naive dtype to\n timezone-aware dtype will raise an exception.\n Use :meth:`Series.dt.tz_localize` instead.\n\nExamples\n--------\nCreate a DataFrame:\n\n>>> d = {'col1': [1, 2], 'col2': [3, 4]}\n>>> df = pd.DataFrame(data=d)\n>>> df.dtypes\ncol1 int64\ncol2 int64\ndtype: object\n\nCast all columns to int32:\n\n>>> df.astype('int32').dtypes\ncol1 int32\ncol2 int32\ndtype: object\n\nCast col1 to int32 using a dictionary:\n\n>>> df.astype({'col1': 'int32'}).dtypes\ncol1 int32\ncol2 int64\ndtype: object\n\nCreate a series:\n\n>>> ser = pd.Series([1, 2], dtype='int32')\n>>> ser\n0 1\n1 2\ndtype: int32\n>>> ser.astype('int64')\n0 1\n1 2\ndtype: int64\n\nConvert to categorical type:\n\n>>> ser.astype('category')\n0 1\n1 2\ndtype: category\nCategories (2, int32): [1, 2]\n\nConvert to ordered categorical type with custom ordering:\n\n>>> from pandas.api.types import CategoricalDtype\n>>> cat_dtype = CategoricalDtype(\n... categories=[2, 1], ordered=True)\n>>> ser.astype(cat_dtype)\n0 1\n1 2\ndtype: category\nCategories (2, int64): [2 < 1]\n\nCreate a series of dates:\n\n>>> ser_date = pd.Series(pd.date_range('20200101', periods=3))\n>>> ser_date\n0 2020-01-01\n1 2020-01-02\n2 2020-01-03\ndtype: datetime64[ns]\n"}, "kind": 2, "label": "astype", "sortText": " 15"}, {"detail": "_AtIndexer", "kind": 22, "label": "at", "sortText": " 16"}, {"detail": "bound method DataFrame.at_time(time, asof: bool = False, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Select values at particular time of day (e.g., 9:30AM).\n\nParameters\n----------\ntime : datetime.time or str\n The values to select.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n For `Series` this parameter is unused and defaults to 0.\n\nReturns\n-------\nSeries or DataFrame\n\nRaises\n------\nTypeError\n If the index is not a :class:`DatetimeIndex`\n\nSee Also\n--------\nbetween_time : Select values between particular times of the day.\nfirst : Select initial periods of time series based on a date offset.\nlast : Select final periods of time series based on a date offset.\nDatetimeIndex.indexer_at_time : Get just the index locations for\n values at particular time of the day.\n\nExamples\n--------\n>>> i = pd.date_range('2018-04-09', periods=4, freq='12h')\n>>> ts = pd.DataFrame({'A': [1, 2, 3, 4]}, index=i)\n>>> ts\n A\n2018-04-09 00:00:00 1\n2018-04-09 12:00:00 2\n2018-04-10 00:00:00 3\n2018-04-10 12:00:00 4\n\n>>> ts.at_time('12:00')\n A\n2018-04-09 12:00:00 2\n2018-04-10 12:00:00 4\n"}, "kind": 2, "label": "at_time", "sortText": " 17"}, {"detail": "dict[Hashable, Any]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "attrs", "sortText": " 18"}, {"detail": "list[Index]", "documentation": {"kind": "plaintext", "value": "Built-in mutable sequence.\n\nIf no argument is given, the constructor creates a new empty list.\nThe argument must be an iterable if specified.\n"}, "kind": 22, "label": "axes", "sortText": " 19"}, {"detail": "bound method DataFrame.backfill(*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = None, inplace: bool = False, limit: None | int = None, downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame | None", "documentation": {"kind": "plaintext", "value": "Fill NA/NaN values by using the next valid observation to fill the gap.\n\n.. deprecated:: 2.0\n\n {klass}.backfill is deprecated. Use {klass}.bfill instead.\n\nReturns\n-------\n{klass} or None\n Object with missing values filled or None if ``inplace=True``.\n\nExamples\n--------\nPlease see examples for :meth:`DataFrame.bfill` or :meth:`Series.bfill`.\n"}, "kind": 2, "label": "backfill", "sortText": " 20"}, {"detail": "bound method DataFrame.between_time(start_time, end_time, inclusive: Literal[\"left\", \"right\", \"both\", \"neither\"] = \"both\", axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Select values between particular times of the day (e.g., 9:00-9:30 AM).\n\nBy setting ``start_time`` to be later than ``end_time``,\nyou can get the times that are *not* between the two times.\n\nParameters\n----------\nstart_time : datetime.time or str\n Initial time as a time filter limit.\nend_time : datetime.time or str\n End time as a time filter limit.\ninclusive : {\"both\", \"neither\", \"left\", \"right\"}, default \"both\"\n Include boundaries; whether to set each bound as closed or open.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Determine range time on index or columns value.\n For `Series` this parameter is unused and defaults to 0.\n\nReturns\n-------\nSeries or DataFrame\n Data from the original object filtered to the specified dates range.\n\nRaises\n------\nTypeError\n If the index is not a :class:`DatetimeIndex`\n\nSee Also\n--------\nat_time : Select values at a particular time of the day.\nfirst : Select initial periods of time series based on a date offset.\nlast : Select final periods of time series based on a date offset.\nDatetimeIndex.indexer_between_time : Get just the index locations for\n values between particular times of the day.\n\nExamples\n--------\n>>> i = pd.date_range('2018-04-09', periods=4, freq='1D20min')\n>>> ts = pd.DataFrame({'A': [1, 2, 3, 4]}, index=i)\n>>> ts\n A\n2018-04-09 00:00:00 1\n2018-04-10 00:20:00 2\n2018-04-11 00:40:00 3\n2018-04-12 01:00:00 4\n\n>>> ts.between_time('0:15', '0:45')\n A\n2018-04-10 00:20:00 2\n2018-04-11 00:40:00 3\n\nYou get the times that are *not* between two times by setting\n``start_time`` later than ``end_time``:\n\n>>> ts.between_time('0:45', '0:15')\n A\n2018-04-09 00:00:00 1\n2018-04-12 01:00:00 4\n"}, "kind": 2, "label": "between_time", "sortText": " 21"}, {"detail": "Overload[(*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: Literal[False] = ..., limit: None | int = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame, (*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: Literal[True], limit: None | int = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> None, (*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: bool = ..., limit: None | int = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Fill NA/NaN values by using the next valid observation to fill the gap.\n\nParameters\n----------\naxis : {axes_single_arg}\n Axis along which to fill missing values. For `Series`\n this parameter is unused and defaults to 0.\ninplace : bool, default False\n If True, fill in-place. Note: this will modify any\n other views on this object (e.g., a no-copy slice for a column in a\n DataFrame).\nlimit : int, default None\n If method is specified, this is the maximum number of consecutive\n NaN values to forward/backward fill. In other words, if there is\n a gap with more than this number of consecutive NaNs, it will only\n be partially filled. If method is not specified, this is the\n maximum number of entries along the entire axis where NaNs will be\n filled. Must be greater than 0 if not None.\nlimit_area : {{`None`, 'inside', 'outside'}}, default None\n If limit is specified, consecutive NaNs will be filled with this\n restriction.\n\n * ``None``: No fill restriction.\n * 'inside': Only fill NaNs surrounded by valid values\n (interpolate).\n * 'outside': Only fill NaNs outside valid values (extrapolate).\n\n .. versionadded:: 2.2.0\n\ndowncast : dict, default is None\n A dict of item->dtype of what to downcast if possible,\n or the string 'infer' which will try to downcast to an appropriate\n equal type (e.g. float64 to int64 if possible).\n\n .. deprecated:: 2.2.0\n\nReturns\n-------\n{klass} or None\n Object with missing values filled or None if ``inplace=True``.\n\nExamples\n--------\nFor Series:\n\n>>> s = pd.Series([1, None, None, 2])\n>>> s.bfill()\n0 1.0\n1 2.0\n2 2.0\n3 2.0\ndtype: float64\n>>> s.bfill(limit=1)\n0 1.0\n1 NaN\n2 2.0\n3 2.0\ndtype: float64\n\nWith DataFrame:\n\n>>> df = pd.DataFrame({{'A': [1, None, None, 4], 'B': [None, 5, None, 7]}})\n>>> df\n A B\n0 1.0 NaN\n1 NaN 5.0\n2 NaN NaN\n3 4.0 7.0\n>>> df.bfill()\n A B\n0 1.0 5.0\n1 4.0 5.0\n2 4.0 7.0\n3 4.0 7.0\n>>> df.bfill(limit=1)\n A B\n0 1.0 5.0\n1 NaN 5.0\n2 4.0 7.0\n3 4.0 7.0\n"}, "kind": 2, "label": "bfill", "sortText": " 22"}, {"detail": "bound method DataFrame.bool() -> bool", "documentation": {"kind": "plaintext", "value": "Return the bool of a single element Series or DataFrame.\n\n.. deprecated:: 2.1.0\n\n bool is deprecated and will be removed in future version of pandas.\n For ``Series`` use ``pandas.Series.item``.\n\nThis must be a boolean scalar value, either True or False. It will raise a\nValueError if the Series or DataFrame does not have exactly 1 element, or that\nelement is not boolean (integer values 0 and 1 will also raise an exception).\n\nReturns\n-------\nbool\n The value in the Series or DataFrame.\n\nSee Also\n--------\nSeries.astype : Change the data type of a Series, including to boolean.\nDataFrame.astype : Change the data type of a DataFrame, including to boolean.\nnumpy.bool_ : NumPy boolean data type, used by pandas for boolean values.\n\nExamples\n--------\nThe method will only work for single element objects with a boolean value:\n\n>>> pd.Series([True]).bool() # doctest: +SKIP\nTrue\n>>> pd.Series([False]).bool() # doctest: +SKIP\nFalse\n\n>>> pd.DataFrame({'col': [True]}).bool() # doctest: +SKIP\nTrue\n>>> pd.DataFrame({'col': [False]}).bool() # doctest: +SKIP\nFalse\n\nThis is an alternative method and will only work\nfor single element objects with a boolean value:\n\n>>> pd.Series([True]).item() # doctest: +SKIP\nTrue\n>>> pd.Series([False]).item() # doctest: +SKIP\nFalse\n"}, "kind": 2, "label": "bool", "sortText": " 23"}, {"detail": "(column=None, by=None, ax=None, fontsize: int | None = None, rot: int = 0, grid: bool = True, figsize: tuple[float, float] | None = None, layout=None, return_type=None, backend=None, **kwargs) -> Unknown", "kind": 3, "label": "boxplot", "sortText": " 24"}, {"detail": "Overload[(lower=..., upper=..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: Literal[False] = ..., **kwargs) -> DataFrame, (lower=..., upper=..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: Literal[True], **kwargs) -> None, (lower=..., upper=..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: bool = ..., **kwargs) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Trim values at input threshold(s).\n\nAssigns values outside boundary to boundary values. Thresholds\ncan be singular values or array like, and in the latter case\nthe clipping is performed element-wise in the specified axis.\n\nParameters\n----------\nlower : float or array-like, default None\n Minimum threshold value. All values below this\n threshold will be set to it. A missing\n threshold (e.g `NA`) will not clip the value.\nupper : float or array-like, default None\n Maximum threshold value. All values above this\n threshold will be set to it. A missing\n threshold (e.g `NA`) will not clip the value.\naxis : {{0 or 'index', 1 or 'columns', None}}, default None\n Align object with lower and upper along the given axis.\n For `Series` this parameter is unused and defaults to `None`.\ninplace : bool, default False\n Whether to perform the operation in place on the data.\n*args, **kwargs\n Additional keywords have no effect but might be accepted\n for compatibility with numpy.\n\nReturns\n-------\nSeries or DataFrame or None\n Same type as calling object with the values outside the\n clip boundaries replaced or None if ``inplace=True``.\n\nSee Also\n--------\nSeries.clip : Trim values at input threshold in series.\nDataFrame.clip : Trim values at input threshold in dataframe.\nnumpy.clip : Clip (limit) the values in an array.\n\nExamples\n--------\n>>> data = {'col_0': [9, -3, 0, -1, 5], 'col_1': [-2, -7, 6, 8, -5]}\n>>> df = pd.DataFrame(data)\n>>> df\n col_0 col_1\n0 9 -2\n1 -3 -7\n2 0 6\n3 -1 8\n4 5 -5\n\nClips per column using lower and upper thresholds:\n\n>>> df.clip(-4, 6)\n col_0 col_1\n0 6 -2\n1 -3 -4\n2 0 6\n3 -1 6\n4 5 -4\n\nClips using specific lower and upper thresholds per column:\n\n>>> df.clip([-2, -1], [4, 5])\n col_0 col_1\n0 4 -1\n1 -2 -1\n2 0 5\n3 -1 5\n4 4 -1\n\nClips using specific lower and upper thresholds per column element:\n\n>>> t = pd.Series([2, -4, -1, 6, 3])\n>>> t\n0 2\n1 -4\n2 -1\n3 6\n4 3\ndtype: int64\n\n>>> df.clip(t, t + 4, axis=0)\n col_0 col_1\n0 6 2\n1 -3 -4\n2 0 3\n3 6 8\n4 5 3\n\nClips using specific lower threshold per column element, with missing values:\n\n>>> t = pd.Series([2, -4, np.nan, 6, 3])\n>>> t\n0 2.0\n1 -4.0\n2 NaN\n3 6.0\n4 3.0\ndtype: float64\n\n>>> df.clip(t, axis=0)\ncol_0 col_1\n0 9 2\n1 -3 -4\n2 0 6\n3 6 8\n4 5 3\n"}, "kind": 2, "label": "clip", "sortText": " 25"}, {"detail": "Index", "documentation": {"kind": "plaintext", "value": "Immutable sequence used for indexing and alignment.\n\nThe basic object storing axis labels for all pandas objects.\n\n.. versionchanged:: 2.0.0\n\n Index can hold all numpy numeric dtypes (except float16). Previously only\n int64/uint64/float64 dtypes were accepted.\n\nParameters\n----------\ndata : array-like (1-dimensional)\ndtype : str, numpy.dtype, or ExtensionDtype, optional\n Data type for the output Index. If not specified, this will be\n inferred from `data`.\n See the :ref:`user guide ` for more usages.\ncopy : bool, default False\n Copy input data.\nname : object\n Name to be stored in the index.\ntupleize_cols : bool (default: True)\n When True, attempt to create a MultiIndex if possible.\n\nSee Also\n--------\nRangeIndex : Index implementing a monotonic integer range.\nCategoricalIndex : Index of :class:`Categorical` s.\nMultiIndex : A multi-level, or hierarchical Index.\nIntervalIndex : An Index of :class:`Interval` s.\nDatetimeIndex : Index of datetime64 data.\nTimedeltaIndex : Index of timedelta64 data.\nPeriodIndex : Index of Period data.\n\nNotes\n-----\nAn Index instance can **only** contain hashable objects.\nAn Index instance *can not* hold numpy float16 dtype.\n\nExamples\n--------\n>>> pd.Index([1, 2, 3])\nIndex([1, 2, 3], dtype='int64')\n\n>>> pd.Index(list('abc'))\nIndex(['a', 'b', 'c'], dtype='object')\n\n>>> pd.Index([1, 2, 3], dtype=\"uint8\")\nIndex([1, 2, 3], dtype='uint8')\n"}, "kind": 22, "label": "columns", "sortText": " 26"}, {"detail": "bound method DataFrame.combine(other: DataFrame, func: (Series, Series, /) -> Series | Hashable, fill_value=None, overwrite: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Perform column-wise combine with another DataFrame.\n\nCombines a DataFrame with `other` DataFrame using `func`\nto element-wise combine columns. The row and column indexes of the\nresulting DataFrame will be the union of the two.\n\nParameters\n----------\nother : DataFrame\n The DataFrame to merge column-wise.\nfunc : function\n Function that takes two series as inputs and return a Series or a\n scalar. Used to merge the two dataframes column by columns.\nfill_value : scalar value, default None\n The value to fill NaNs with prior to passing any column to the\n merge func.\noverwrite : bool, default True\n If True, columns in `self` that do not exist in `other` will be\n overwritten with NaNs.\n\nReturns\n-------\nDataFrame\n Combination of the provided DataFrames.\n\nSee Also\n--------\nDataFrame.combine_first : Combine two DataFrame objects and default to\n non-null values in frame calling the method.\n\nExamples\n--------\nCombine using a simple function that chooses the smaller column.\n\n>>> df1 = pd.DataFrame({'A': [0, 0], 'B': [4, 4]})\n>>> df2 = pd.DataFrame({'A': [1, 1], 'B': [3, 3]})\n>>> take_smaller = lambda s1, s2: s1 if s1.sum() < s2.sum() else s2\n>>> df1.combine(df2, take_smaller)\n A B\n0 0 3\n1 0 3\n\nExample using a true element-wise combine function.\n\n>>> df1 = pd.DataFrame({'A': [5, 0], 'B': [2, 4]})\n>>> df2 = pd.DataFrame({'A': [1, 1], 'B': [3, 3]})\n>>> df1.combine(df2, np.minimum)\n A B\n0 1 2\n1 0 3\n\nUsing `fill_value` fills Nones prior to passing the column to the\nmerge function.\n\n>>> df1 = pd.DataFrame({'A': [0, 0], 'B': [None, 4]})\n>>> df2 = pd.DataFrame({'A': [1, 1], 'B': [3, 3]})\n>>> df1.combine(df2, take_smaller, fill_value=-5)\n A B\n0 0 -5.0\n1 0 4.0\n\nHowever, if the same element in both dataframes is None, that None\nis preserved\n\n>>> df1 = pd.DataFrame({'A': [0, 0], 'B': [None, 4]})\n>>> df2 = pd.DataFrame({'A': [1, 1], 'B': [None, 3]})\n>>> df1.combine(df2, take_smaller, fill_value=-5)\n A B\n0 0 -5.0\n1 0 3.0\n\nExample that demonstrates the use of `overwrite` and behavior when\nthe axis differ between the dataframes.\n\n>>> df1 = pd.DataFrame({'A': [0, 0], 'B': [4, 4]})\n>>> df2 = pd.DataFrame({'B': [3, 3], 'C': [-10, 1], }, index=[1, 2])\n>>> df1.combine(df2, take_smaller)\n A B C\n0 NaN NaN NaN\n1 NaN 3.0 -10.0\n2 NaN 3.0 1.0\n\n>>> df1.combine(df2, take_smaller, overwrite=False)\n A B C\n0 0.0 NaN NaN\n1 0.0 3.0 -10.0\n2 NaN 3.0 1.0\n\nDemonstrating the preference of the passed in dataframe.\n\n>>> df2 = pd.DataFrame({'B': [3, 3], 'C': [1, 1], }, index=[1, 2])\n>>> df2.combine(df1, take_smaller)\n A B C\n0 0.0 NaN NaN\n1 0.0 3.0 NaN\n2 NaN 3.0 NaN\n\n>>> df2.combine(df1, take_smaller, overwrite=False)\n A B C\n0 0.0 NaN NaN\n1 0.0 3.0 1.0\n2 NaN 3.0 1.0\n"}, "kind": 2, "label": "combine", "sortText": " 27"}, {"detail": "bound method DataFrame.combine_first(other: DataFrame) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Update null elements with value in the same location in `other`.\n\nCombine two DataFrame objects by filling null values in one DataFrame\nwith non-null values from other DataFrame. The row and column indexes\nof the resulting DataFrame will be the union of the two. The resulting\ndataframe contains the 'first' dataframe values and overrides the\nsecond one values where both first.loc[index, col] and\nsecond.loc[index, col] are not missing values, upon calling\nfirst.combine_first(second).\n\nParameters\n----------\nother : DataFrame\n Provided DataFrame to use to fill null values.\n\nReturns\n-------\nDataFrame\n The result of combining the provided DataFrame with the other object.\n\nSee Also\n--------\nDataFrame.combine : Perform series-wise operation on two DataFrames\n using a given function.\n\nExamples\n--------\n>>> df1 = pd.DataFrame({'A': [None, 0], 'B': [None, 4]})\n>>> df2 = pd.DataFrame({'A': [1, 1], 'B': [3, 3]})\n>>> df1.combine_first(df2)\n A B\n0 1.0 3.0\n1 0.0 4.0\n\nNull values still persist if the location of that null value\ndoes not exist in `other`\n\n>>> df1 = pd.DataFrame({'A': [None, 0], 'B': [4, None]})\n>>> df2 = pd.DataFrame({'B': [3, 3], 'C': [1, 1]}, index=[1, 2])\n>>> df1.combine_first(df2)\n A B C\n0 NaN 4.0 NaN\n1 0.0 3.0 1.0\n2 NaN 3.0 1.0\n"}, "kind": 2, "label": "combine_first", "sortText": " 28"}, {"detail": "bound method DataFrame.compare(other: DataFrame, align_axis: int | Literal[\"index\", \"columns\", \"rows\"] = 1, keep_shape: bool = False, keep_equal: bool = False, result_names: tuple[str | None, str | None] = ...) -> DataFrame", "kind": 2, "label": "compare", "sortText": " 29"}, {"detail": "bound method DataFrame.convert_dtypes(infer_objects: bool = True, convert_string: bool = True, convert_integer: bool = True, convert_boolean: bool = True, convert_floating: bool = True, dtype_backend: Literal[\"pyarrow\", \"numpy_nullable\"] = \"numpy_nullable\") -> DataFrame", "documentation": {"kind": "plaintext", "value": "Convert columns to the best possible dtypes using dtypes supporting ``pd.NA``.\n\nParameters\n----------\ninfer_objects : bool, default True\n Whether object dtypes should be converted to the best possible types.\nconvert_string : bool, default True\n Whether object dtypes should be converted to ``StringDtype()``.\nconvert_integer : bool, default True\n Whether, if possible, conversion can be done to integer extension types.\nconvert_boolean : bool, defaults True\n Whether object dtypes should be converted to ``BooleanDtypes()``.\nconvert_floating : bool, defaults True\n Whether, if possible, conversion can be done to floating extension types.\n If `convert_integer` is also True, preference will be give to integer\n dtypes if the floats can be faithfully casted to integers.\ndtype_backend : {'numpy_nullable', 'pyarrow'}, default 'numpy_nullable'\n Back-end data type applied to the resultant :class:`DataFrame`\n (still experimental). Behaviour is as follows:\n\n * ``\"numpy_nullable\"``: returns nullable-dtype-backed :class:`DataFrame`\n (default).\n * ``\"pyarrow\"``: returns pyarrow-backed nullable :class:`ArrowDtype`\n DataFrame.\n\n .. versionadded:: 2.0\n\nReturns\n-------\nSeries or DataFrame\n Copy of input object with new dtype.\n\nSee Also\n--------\ninfer_objects : Infer dtypes of objects.\nto_datetime : Convert argument to datetime.\nto_timedelta : Convert argument to timedelta.\nto_numeric : Convert argument to a numeric type.\n\nNotes\n-----\nBy default, ``convert_dtypes`` will attempt to convert a Series (or each\nSeries in a DataFrame) to dtypes that support ``pd.NA``. By using the options\n``convert_string``, ``convert_integer``, ``convert_boolean`` and\n``convert_floating``, it is possible to turn off individual conversions\nto ``StringDtype``, the integer extension types, ``BooleanDtype``\nor floating extension types, respectively.\n\nFor object-dtyped columns, if ``infer_objects`` is ``True``, use the inference\nrules as during normal Series/DataFrame construction. Then, if possible,\nconvert to ``StringDtype``, ``BooleanDtype`` or an appropriate integer\nor floating extension type, otherwise leave as ``object``.\n\nIf the dtype is integer, convert to an appropriate integer extension type.\n\nIf the dtype is numeric, and consists of all integers, convert to an\nappropriate integer extension type. Otherwise, convert to an\nappropriate floating extension type.\n\nIn the future, as new dtypes are added that support ``pd.NA``, the results\nof this method will change to support those new dtypes.\n\nExamples\n--------\n>>> df = pd.DataFrame(\n... {\n... \"a\": pd.Series([1, 2, 3], dtype=np.dtype(\"int32\")),\n... \"b\": pd.Series([\"x\", \"y\", \"z\"], dtype=np.dtype(\"O\")),\n... \"c\": pd.Series([True, False, np.nan], dtype=np.dtype(\"O\")),\n... \"d\": pd.Series([\"h\", \"i\", np.nan], dtype=np.dtype(\"O\")),\n... \"e\": pd.Series([10, np.nan, 20], dtype=np.dtype(\"float\")),\n... \"f\": pd.Series([np.nan, 100.5, 200], dtype=np.dtype(\"float\")),\n... }\n... )\n\nStart with a DataFrame with default dtypes.\n\n>>> df\n a b c d e f\n0 1 x True h 10.0 NaN\n1 2 y False i NaN 100.5\n2 3 z NaN NaN 20.0 200.0\n\n>>> df.dtypes\na int32\nb object\nc object\nd object\ne float64\nf float64\ndtype: object\n\nConvert the DataFrame to use best possible dtypes.\n\n>>> dfn = df.convert_dtypes()\n>>> dfn\n a b c d e f\n0 1 x True h 10 \n1 2 y False i 100.5\n2 3 z 20 200.0\n\n>>> dfn.dtypes\na Int32\nb string[python]\nc boolean\nd string[python]\ne Int64\nf Float64\ndtype: object\n\nStart with a Series of strings and missing data represented by ``np.nan``.\n\n>>> s = pd.Series([\"a\", \"b\", np.nan])\n>>> s\n0 a\n1 b\n2 NaN\ndtype: object\n\nObtain a Series with dtype ``StringDtype``.\n\n>>> s.convert_dtypes()\n0 a\n1 b\n2 \ndtype: string\n"}, "kind": 2, "label": "convert_dtypes", "sortText": " 30"}, {"detail": "bound method DataFrame.copy(deep: bool | None = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Make a copy of this object's indices and data.\n\nWhen ``deep=True`` (default), a new object will be created with a\ncopy of the calling object's data and indices. Modifications to\nthe data or indices of the copy will not be reflected in the\noriginal object (see notes below).\n\nWhen ``deep=False``, a new object will be created without copying\nthe calling object's data or index (only references to the data\nand index are copied). Any changes to the data of the original\nwill be reflected in the shallow copy (and vice versa).\n\n.. note::\n The ``deep=False`` behaviour as described above will change\n in pandas 3.0. `Copy-on-Write\n `__\n will be enabled by default, which means that the \"shallow\" copy\n is that is returned with ``deep=False`` will still avoid making\n an eager copy, but changes to the data of the original will *no*\n longer be reflected in the shallow copy (or vice versa). Instead,\n it makes use of a lazy (deferred) copy mechanism that will copy\n the data only when any changes to the original or shallow copy is\n made.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nParameters\n----------\ndeep : bool, default True\n Make a deep copy, including a copy of the data and the indices.\n With ``deep=False`` neither the indices nor the data are copied.\n\nReturns\n-------\nSeries or DataFrame\n Object type matches caller.\n\nNotes\n-----\nWhen ``deep=True``, data is copied but actual Python objects\nwill not be copied recursively, only the reference to the object.\nThis is in contrast to `copy.deepcopy` in the Standard Library,\nwhich recursively copies object data (see examples below).\n\nWhile ``Index`` objects are copied when ``deep=True``, the underlying\nnumpy array is not copied for performance reasons. Since ``Index`` is\nimmutable, the underlying data can be safely shared and a copy\nis not needed.\n\nSince pandas is not thread safe, see the\n:ref:`gotchas ` when copying in a threading\nenvironment.\n\nWhen ``copy_on_write`` in pandas config is set to ``True``, the\n``copy_on_write`` config takes effect even when ``deep=False``.\nThis means that any changes to the copied data would make a new copy\nof the data upon write (and vice versa). Changes made to either the\noriginal or copied variable would not be reflected in the counterpart.\nSee :ref:`Copy_on_Write ` for more information.\n\nExamples\n--------\n>>> s = pd.Series([1, 2], index=[\"a\", \"b\"])\n>>> s\na 1\nb 2\ndtype: int64\n\n>>> s_copy = s.copy()\n>>> s_copy\na 1\nb 2\ndtype: int64\n\n**Shallow copy versus default (deep) copy:**\n\n>>> s = pd.Series([1, 2], index=[\"a\", \"b\"])\n>>> deep = s.copy()\n>>> shallow = s.copy(deep=False)\n\nShallow copy shares data and index with original.\n\n>>> s is shallow\nFalse\n>>> s.values is shallow.values and s.index is shallow.index\nTrue\n\nDeep copy has own copy of data and index.\n\n>>> s is deep\nFalse\n>>> s.values is deep.values or s.index is deep.index\nFalse\n\nUpdates to the data shared by shallow copy and original is reflected\nin both (NOTE: this will no longer be true for pandas >= 3.0);\ndeep copy remains unchanged.\n\n>>> s.iloc[0] = 3\n>>> shallow.iloc[1] = 4\n>>> s\na 3\nb 4\ndtype: int64\n>>> shallow\na 3\nb 4\ndtype: int64\n>>> deep\na 1\nb 2\ndtype: int64\n\nNote that when copying an object containing Python objects, a deep copy\nwill copy the data, but will not do so recursively. Updating a nested\ndata object will be reflected in the deep copy.\n\n>>> s = pd.Series([[1, 2], [3, 4]])\n>>> deep = s.copy()\n>>> s[0][0] = 10\n>>> s\n0 [10, 2]\n1 [3, 4]\ndtype: object\n>>> deep\n0 [10, 2]\n1 [3, 4]\ndtype: object\n\n**Copy-on-Write is set to true**, the shallow copy is not modified\nwhen the original data is changed:\n\n>>> with pd.option_context(\"mode.copy_on_write\", True):\n... s = pd.Series([1, 2], index=[\"a\", \"b\"])\n... copy = s.copy(deep=False)\n... s.iloc[0] = 100\n... s\na 100\nb 2\ndtype: int64\n>>> copy\na 1\nb 2\ndtype: int64\n"}, "kind": 2, "label": "copy", "sortText": " 31"}, {"detail": "bound method DataFrame.corr(method: Literal[\"pearson\", \"kendall\", \"spearman\"] | ((ndarray[_AnyShape, dtype[Any]], ndarray[_AnyShape, dtype[Any]], /) -> float) = \"pearson\", min_periods: int = 1, numeric_only: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Compute pairwise correlation of columns, excluding NA/null values.\n\nParameters\n----------\nmethod : {'pearson', 'kendall', 'spearman'} or callable\n Method of correlation:\n\n * pearson : standard correlation coefficient\n * kendall : Kendall Tau correlation coefficient\n * spearman : Spearman rank correlation\n * callable: callable with input two 1d ndarrays\n and returning a float. Note that the returned matrix from corr\n will have 1 along the diagonals and will be symmetric\n regardless of the callable's behavior.\nmin_periods : int, optional\n Minimum number of observations required per pair of columns\n to have a valid result. Currently only available for Pearson\n and Spearman correlation.\nnumeric_only : bool, default False\n Include only `float`, `int` or `boolean` data.\n\n .. versionadded:: 1.5.0\n\n .. versionchanged:: 2.0.0\n The default value of ``numeric_only`` is now ``False``.\n\nReturns\n-------\nDataFrame\n Correlation matrix.\n\nSee Also\n--------\nDataFrame.corrwith : Compute pairwise correlation with another\n DataFrame or Series.\nSeries.corr : Compute the correlation between two Series.\n\nNotes\n-----\nPearson, Kendall and Spearman correlation are currently computed using pairwise complete observations.\n\n* `Pearson correlation coefficient `_\n* `Kendall rank correlation coefficient `_\n* `Spearman's rank correlation coefficient `_\n\nExamples\n--------\n>>> def histogram_intersection(a, b):\n... v = np.minimum(a, b).sum().round(decimals=1)\n... return v\n>>> df = pd.DataFrame([(.2, .3), (.0, .6), (.6, .0), (.2, .1)],\n... columns=['dogs', 'cats'])\n>>> df.corr(method=histogram_intersection)\n dogs cats\ndogs 1.0 0.3\ncats 0.3 1.0\n\n>>> df = pd.DataFrame([(1, 1), (2, np.nan), (np.nan, 3), (4, 4)],\n... columns=['dogs', 'cats'])\n>>> df.corr(min_periods=3)\n dogs cats\ndogs 1.0 NaN\ncats NaN 1.0\n"}, "kind": 2, "label": "corr", "sortText": " 32"}, {"detail": "bound method DataFrame.corrwith(other: DataFrame | Series, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, drop: bool = False, method: Literal[\"pearson\", \"kendall\", \"spearman\"] | ((ndarray[_AnyShape, dtype[Any]], ndarray[_AnyShape, dtype[Any]], /) -> float) = \"pearson\", numeric_only: bool = False) -> Series", "documentation": {"kind": "plaintext", "value": "Compute pairwise correlation.\n\nPairwise correlation is computed between rows or columns of\nDataFrame with rows or columns of Series or DataFrame. DataFrames\nare first aligned along both axes before computing the\ncorrelations.\n\nParameters\n----------\nother : DataFrame, Series\n Object with which to compute correlations.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to use. 0 or 'index' to compute row-wise, 1 or 'columns' for\n column-wise.\ndrop : bool, default False\n Drop missing indices from result.\nmethod : {'pearson', 'kendall', 'spearman'} or callable\n Method of correlation:\n\n * pearson : standard correlation coefficient\n * kendall : Kendall Tau correlation coefficient\n * spearman : Spearman rank correlation\n * callable: callable with input two 1d ndarrays\n and returning a float.\n\nnumeric_only : bool, default False\n Include only `float`, `int` or `boolean` data.\n\n .. versionadded:: 1.5.0\n\n .. versionchanged:: 2.0.0\n The default value of ``numeric_only`` is now ``False``.\n\nReturns\n-------\nSeries\n Pairwise correlations.\n\nSee Also\n--------\nDataFrame.corr : Compute pairwise correlation of columns.\n\nExamples\n--------\n>>> index = [\"a\", \"b\", \"c\", \"d\", \"e\"]\n>>> columns = [\"one\", \"two\", \"three\", \"four\"]\n>>> df1 = pd.DataFrame(np.arange(20).reshape(5, 4), index=index, columns=columns)\n>>> df2 = pd.DataFrame(np.arange(16).reshape(4, 4), index=index[:4], columns=columns)\n>>> df1.corrwith(df2)\none 1.0\ntwo 1.0\nthree 1.0\nfour 1.0\ndtype: float64\n\n>>> df2.corrwith(df1, axis=1)\na 1.0\nb 1.0\nc 1.0\nd 1.0\ne NaN\ndtype: float64\n"}, "kind": 2, "label": "corrwith", "sortText": " 33"}, {"detail": "bound method DataFrame.count(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, numeric_only: bool = False) -> Unknown", "documentation": {"kind": "plaintext", "value": "Count non-NA cells for each column or row.\n\nThe values `None`, `NaN`, `NaT`, ``pandas.NA`` are considered NA.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n If 0 or 'index' counts are generated for each column.\n If 1 or 'columns' counts are generated for each row.\nnumeric_only : bool, default False\n Include only `float`, `int` or `boolean` data.\n\nReturns\n-------\nSeries\n For each column/row the number of non-NA/null entries.\n\nSee Also\n--------\nSeries.count: Number of non-NA elements in a Series.\nDataFrame.value_counts: Count unique combinations of columns.\nDataFrame.shape: Number of DataFrame rows and columns (including NA\n elements).\nDataFrame.isna: Boolean same-sized DataFrame showing places of NA\n elements.\n\nExamples\n--------\nConstructing DataFrame from a dictionary:\n\n>>> df = pd.DataFrame({\"Person\":\n... [\"John\", \"Myla\", \"Lewis\", \"John\", \"Myla\"],\n... \"Age\": [24., np.nan, 21., 33, 26],\n... \"Single\": [False, True, True, True, False]})\n>>> df\n Person Age Single\n0 John 24.0 False\n1 Myla NaN True\n2 Lewis 21.0 True\n3 John 33.0 True\n4 Myla 26.0 False\n\nNotice the uncounted NA values:\n\n>>> df.count()\nPerson 5\nAge 4\nSingle 5\ndtype: int64\n\nCounts for each **row**:\n\n>>> df.count(axis='columns')\n0 3\n1 2\n2 3\n3 3\n4 3\ndtype: int64\n"}, "kind": 2, "label": "count", "sortText": " 34"}, {"detail": "bound method DataFrame.cov(min_periods: int | None = None, ddof: int | None = 1, numeric_only: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Compute pairwise covariance of columns, excluding NA/null values.\n\nCompute the pairwise covariance among the series of a DataFrame.\nThe returned data frame is the `covariance matrix\n`__ of the columns\nof the DataFrame.\n\nBoth NA and null values are automatically excluded from the\ncalculation. (See the note below about bias from missing values.)\nA threshold can be set for the minimum number of\nobservations for each value created. Comparisons with observations\nbelow this threshold will be returned as ``NaN``.\n\nThis method is generally used for the analysis of time series data to\nunderstand the relationship between different measures\nacross time.\n\nParameters\n----------\nmin_periods : int, optional\n Minimum number of observations required per pair of columns\n to have a valid result.\n\nddof : int, default 1\n Delta degrees of freedom. The divisor used in calculations\n is ``N - ddof``, where ``N`` represents the number of elements.\n This argument is applicable only when no ``nan`` is in the dataframe.\n\nnumeric_only : bool, default False\n Include only `float`, `int` or `boolean` data.\n\n .. versionadded:: 1.5.0\n\n .. versionchanged:: 2.0.0\n The default value of ``numeric_only`` is now ``False``.\n\nReturns\n-------\nDataFrame\n The covariance matrix of the series of the DataFrame.\n\nSee Also\n--------\nSeries.cov : Compute covariance with another Series.\ncore.window.ewm.ExponentialMovingWindow.cov : Exponential weighted sample\n covariance.\ncore.window.expanding.Expanding.cov : Expanding sample covariance.\ncore.window.rolling.Rolling.cov : Rolling sample covariance.\n\nNotes\n-----\nReturns the covariance matrix of the DataFrame's time series.\nThe covariance is normalized by N-ddof.\n\nFor DataFrames that have Series that are missing data (assuming that\ndata is `missing at random\n`__)\nthe returned covariance matrix will be an unbiased estimate\nof the variance and covariance between the member Series.\n\nHowever, for many applications this estimate may not be acceptable\nbecause the estimate covariance matrix is not guaranteed to be positive\nsemi-definite. This could lead to estimate correlations having\nabsolute values which are greater than one, and/or a non-invertible\ncovariance matrix. See `Estimation of covariance matrices\n`__ for more details.\n\nExamples\n--------\n>>> df = pd.DataFrame([(1, 2), (0, 3), (2, 0), (1, 1)],\n... columns=['dogs', 'cats'])\n>>> df.cov()\n dogs cats\ndogs 0.666667 -1.000000\ncats -1.000000 1.666667\n\n>>> np.random.seed(42)\n>>> df = pd.DataFrame(np.random.randn(1000, 5),\n... columns=['a', 'b', 'c', 'd', 'e'])\n>>> df.cov()\n a b c d e\na 0.998438 -0.020161 0.059277 -0.008943 0.014144\nb -0.020161 1.059352 -0.008543 -0.024738 0.009826\nc 0.059277 -0.008543 1.010670 -0.001486 -0.000271\nd -0.008943 -0.024738 -0.001486 0.921297 -0.013692\ne 0.014144 0.009826 -0.000271 -0.013692 0.977795\n\n**Minimum number of periods**\n\nThis method also supports an optional ``min_periods`` keyword\nthat specifies the required minimum number of non-NA observations for\neach column pair in order to have a valid result:\n\n>>> np.random.seed(42)\n>>> df = pd.DataFrame(np.random.randn(20, 3),\n... columns=['a', 'b', 'c'])\n>>> df.loc[df.index[:5], 'a'] = np.nan\n>>> df.loc[df.index[5:10], 'b'] = np.nan\n>>> df.cov(min_periods=12)\n a b c\na 0.316741 NaN -0.150812\nb NaN 1.248003 0.191417\nc -0.150812 0.191417 0.895202\n"}, "kind": 2, "label": "cov", "sortText": " 35"}, {"detail": "bound method DataFrame.cummax(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, skipna: bool = True, *args, **kwargs) -> Unknown", "kind": 2, "label": "cummax", "sortText": " 36"}, {"detail": "bound method DataFrame.cummin(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, skipna: bool = True, *args, **kwargs) -> Unknown", "kind": 2, "label": "cummin", "sortText": " 37"}, {"detail": "bound method DataFrame.cumprod(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, skipna: bool = True, *args, **kwargs) -> Unknown", "kind": 2, "label": "cumprod", "sortText": " 38"}, {"detail": "bound method DataFrame.cumsum(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, skipna: bool = True, *args, **kwargs) -> Unknown", "kind": 2, "label": "cumsum", "sortText": " 39"}, {"detail": "bound method DataFrame.describe(percentiles=None, include=None, exclude=None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Generate descriptive statistics.\n\nDescriptive statistics include those that summarize the central\ntendency, dispersion and shape of a\ndataset's distribution, excluding ``NaN`` values.\n\nAnalyzes both numeric and object series, as well\nas ``DataFrame`` column sets of mixed data types. The output\nwill vary depending on what is provided. Refer to the notes\nbelow for more detail.\n\nParameters\n----------\npercentiles : list-like of numbers, optional\n The percentiles to include in the output. All should\n fall between 0 and 1. The default is\n ``[.25, .5, .75]``, which returns the 25th, 50th, and\n 75th percentiles.\ninclude : 'all', list-like of dtypes or None (default), optional\n A white list of data types to include in the result. Ignored\n for ``Series``. Here are the options:\n\n - 'all' : All columns of the input will be included in the output.\n - A list-like of dtypes : Limits the results to the\n provided data types.\n To limit the result to numeric types submit\n ``numpy.number``. To limit it instead to object columns submit\n the ``numpy.object`` data type. Strings\n can also be used in the style of\n ``select_dtypes`` (e.g. ``df.describe(include=['O'])``). To\n select pandas categorical columns, use ``'category'``\n - None (default) : The result will include all numeric columns.\nexclude : list-like of dtypes or None (default), optional,\n A black list of data types to omit from the result. Ignored\n for ``Series``. Here are the options:\n\n - A list-like of dtypes : Excludes the provided data types\n from the result. To exclude numeric types submit\n ``numpy.number``. To exclude object columns submit the data\n type ``numpy.object``. Strings can also be used in the style of\n ``select_dtypes`` (e.g. ``df.describe(exclude=['O'])``). To\n exclude pandas categorical columns, use ``'category'``\n - None (default) : The result will exclude nothing.\n\nReturns\n-------\nSeries or DataFrame\n Summary statistics of the Series or Dataframe provided.\n\nSee Also\n--------\nDataFrame.count: Count number of non-NA/null observations.\nDataFrame.max: Maximum of the values in the object.\nDataFrame.min: Minimum of the values in the object.\nDataFrame.mean: Mean of the values.\nDataFrame.std: Standard deviation of the observations.\nDataFrame.select_dtypes: Subset of a DataFrame including/excluding\n columns based on their dtype.\n\nNotes\n-----\nFor numeric data, the result's index will include ``count``,\n``mean``, ``std``, ``min``, ``max`` as well as lower, ``50`` and\nupper percentiles. By default the lower percentile is ``25`` and the\nupper percentile is ``75``. The ``50`` percentile is the\nsame as the median.\n\nFor object data (e.g. strings or timestamps), the result's index\nwill include ``count``, ``unique``, ``top``, and ``freq``. The ``top``\nis the most common value. The ``freq`` is the most common value's\nfrequency. Timestamps also include the ``first`` and ``last`` items.\n\nIf multiple object values have the highest count, then the\n``count`` and ``top`` results will be arbitrarily chosen from\namong those with the highest count.\n\nFor mixed data types provided via a ``DataFrame``, the default is to\nreturn only an analysis of numeric columns. If the dataframe consists\nonly of object and categorical data without any numeric columns, the\ndefault is to return an analysis of both the object and categorical\ncolumns. If ``include='all'`` is provided as an option, the result\nwill include a union of attributes of each type.\n\nThe `include` and `exclude` parameters can be used to limit\nwhich columns in a ``DataFrame`` are analyzed for the output.\nThe parameters are ignored when analyzing a ``Series``.\n\nExamples\n--------\nDescribing a numeric ``Series``.\n\n>>> s = pd.Series([1, 2, 3])\n>>> s.describe()\ncount 3.0\nmean 2.0\nstd 1.0\nmin 1.0\n25% 1.5\n50% 2.0\n75% 2.5\nmax 3.0\ndtype: float64\n\nDescribing a categorical ``Series``.\n\n>>> s = pd.Series(['a', 'a', 'b', 'c'])\n>>> s.describe()\ncount 4\nunique 3\ntop a\nfreq 2\ndtype: object\n\nDescribing a timestamp ``Series``.\n\n>>> s = pd.Series([\n... np.datetime64(\"2000-01-01\"),\n... np.datetime64(\"2010-01-01\"),\n... np.datetime64(\"2010-01-01\")\n... ])\n>>> s.describe()\ncount 3\nmean 2006-09-01 08:00:00\nmin 2000-01-01 00:00:00\n25% 2004-12-31 12:00:00\n50% 2010-01-01 00:00:00\n75% 2010-01-01 00:00:00\nmax 2010-01-01 00:00:00\ndtype: object\n\nDescribing a ``DataFrame``. By default only numeric fields\nare returned.\n\n>>> df = pd.DataFrame({'categorical': pd.Categorical(['d', 'e', 'f']),\n... 'numeric': [1, 2, 3],\n... 'object': ['a', 'b', 'c']\n... })\n>>> df.describe()\n numeric\ncount 3.0\nmean 2.0\nstd 1.0\nmin 1.0\n25% 1.5\n50% 2.0\n75% 2.5\nmax 3.0\n\nDescribing all columns of a ``DataFrame`` regardless of data type.\n\n>>> df.describe(include='all') # doctest: +SKIP\n categorical numeric object\ncount 3 3.0 3\nunique 3 NaN 3\ntop f NaN a\nfreq 1 NaN 1\nmean NaN 2.0 NaN\nstd NaN 1.0 NaN\nmin NaN 1.0 NaN\n25% NaN 1.5 NaN\n50% NaN 2.0 NaN\n75% NaN 2.5 NaN\nmax NaN 3.0 NaN\n\nDescribing a column from a ``DataFrame`` by accessing it as\nan attribute.\n\n>>> df.numeric.describe()\ncount 3.0\nmean 2.0\nstd 1.0\nmin 1.0\n25% 1.5\n50% 2.0\n75% 2.5\nmax 3.0\nName: numeric, dtype: float64\n\nIncluding only numeric columns in a ``DataFrame`` description.\n\n>>> df.describe(include=[np.number])\n numeric\ncount 3.0\nmean 2.0\nstd 1.0\nmin 1.0\n25% 1.5\n50% 2.0\n75% 2.5\nmax 3.0\n\nIncluding only string columns in a ``DataFrame`` description.\n\n>>> df.describe(include=[object]) # doctest: +SKIP\n object\ncount 3\nunique 3\ntop a\nfreq 1\n\nIncluding only categorical columns from a ``DataFrame`` description.\n\n>>> df.describe(include=['category'])\n categorical\ncount 3\nunique 3\ntop d\nfreq 1\n\nExcluding numeric columns from a ``DataFrame`` description.\n\n>>> df.describe(exclude=[np.number]) # doctest: +SKIP\n categorical object\ncount 3 3\nunique 3 3\ntop f a\nfreq 1 1\n\nExcluding object columns from a ``DataFrame`` description.\n\n>>> df.describe(exclude=[object]) # doctest: +SKIP\n categorical numeric\ncount 3 3.0\nunique 3 NaN\ntop f NaN\nfreq 1 NaN\nmean NaN 2.0\nstd NaN 1.0\nmin NaN 1.0\n25% NaN 1.5\n50% NaN 2.0\n75% NaN 2.5\nmax NaN 3.0\n"}, "kind": 2, "label": "describe", "sortText": " 40"}, {"detail": "bound method DataFrame.diff(periods: int = 1, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> DataFrame", "kind": 2, "label": "diff", "sortText": " 41"}, {"detail": "(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 3, "label": "div", "sortText": " 42"}, {"detail": "(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 3, "label": "divide", "sortText": " 43"}, {"detail": "Overload[(other: Series) -> Series, (other: DataFrame | Index | ExtensionArray | ndarray[_AnyShape, dtype[Any]]) -> DataFrame]", "documentation": {"kind": "plaintext", "value": "Compute the matrix multiplication between the DataFrame and other.\n\nThis method computes the matrix product between the DataFrame and the\nvalues of an other Series, DataFrame or a numpy array.\n\nIt can also be called using ``self @ other``.\n\nParameters\n----------\nother : Series, DataFrame or array-like\n The other object to compute the matrix product with.\n\nReturns\n-------\nSeries or DataFrame\n If other is a Series, return the matrix product between self and\n other as a Series. If other is a DataFrame or a numpy.array, return\n the matrix product of self and other in a DataFrame of a np.array.\n\nSee Also\n--------\nSeries.dot: Similar method for Series.\n\nNotes\n-----\nThe dimensions of DataFrame and other must be compatible in order to\ncompute the matrix multiplication. In addition, the column names of\nDataFrame and the index of other must contain the same values, as they\nwill be aligned prior to the multiplication.\n\nThe dot method for Series computes the inner product, instead of the\nmatrix product here.\n\nExamples\n--------\nHere we multiply a DataFrame with a Series.\n\n>>> df = pd.DataFrame([[0, 1, -2, -1], [1, 1, 1, 1]])\n>>> s = pd.Series([1, 1, 2, 1])\n>>> df.dot(s)\n0 -4\n1 5\ndtype: int64\n\nHere we multiply a DataFrame with another DataFrame.\n\n>>> other = pd.DataFrame([[0, 1], [1, 2], [-1, -1], [2, 0]])\n>>> df.dot(other)\n 0 1\n0 1 4\n1 2 2\n\nNote that the dot method give the same result as @\n\n>>> df @ other\n 0 1\n0 1 4\n1 2 2\n\nThe dot method works also if other is an np.array.\n\n>>> arr = np.array([[0, 1], [1, 2], [-1, -1], [2, 0]])\n>>> df.dot(arr)\n 0 1\n0 1 4\n1 2 2\n\nNote how shuffling of the objects does not change the result.\n\n>>> s2 = s.reindex([1, 0, 2, 3])\n>>> df.dot(s2)\n0 -4\n1 5\ndtype: int64\n"}, "kind": 2, "label": "dot", "sortText": " 44"}, {"detail": "Overload[(labels: Hashable | Sequence[Hashable] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., index: Hashable | Sequence[Hashable] = ..., columns: Hashable | Sequence[Hashable] = ..., level: Hashable = ..., inplace: Literal[True], errors: Literal[\"ignore\", \"raise\"] = ...) -> None, (labels: Hashable | Sequence[Hashable] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., index: Hashable | Sequence[Hashable] = ..., columns: Hashable | Sequence[Hashable] = ..., level: Hashable = ..., inplace: Literal[False] = ..., errors: Literal[\"ignore\", \"raise\"] = ...) -> DataFrame, (labels: Hashable | Sequence[Hashable] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., index: Hashable | Sequence[Hashable] = ..., columns: Hashable | Sequence[Hashable] = ..., level: Hashable = ..., inplace: bool = ..., errors: Literal[\"ignore\", \"raise\"] = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Drop specified labels from rows or columns.\n\nRemove rows or columns by specifying label names and corresponding\naxis, or by directly specifying index or column names. When using a\nmulti-index, labels on different levels can be removed by specifying\nthe level. See the :ref:`user guide `\nfor more information about the now unused levels.\n\nParameters\n----------\nlabels : single label or list-like\n Index or column labels to drop. A tuple will be used as a single\n label and not treated as a list-like.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Whether to drop labels from the index (0 or 'index') or\n columns (1 or 'columns').\nindex : single label or list-like\n Alternative to specifying axis (``labels, axis=0``\n is equivalent to ``index=labels``).\ncolumns : single label or list-like\n Alternative to specifying axis (``labels, axis=1``\n is equivalent to ``columns=labels``).\nlevel : int or level name, optional\n For MultiIndex, level from which the labels will be removed.\ninplace : bool, default False\n If False, return a copy. Otherwise, do operation\n in place and return None.\nerrors : {'ignore', 'raise'}, default 'raise'\n If 'ignore', suppress error and only existing labels are\n dropped.\n\nReturns\n-------\nDataFrame or None\n Returns DataFrame or None DataFrame with the specified\n index or column labels removed or None if inplace=True.\n\nRaises\n------\nKeyError\n If any of the labels is not found in the selected axis.\n\nSee Also\n--------\nDataFrame.loc : Label-location based indexer for selection by label.\nDataFrame.dropna : Return DataFrame with labels on given axis omitted\n where (all or any) data are missing.\nDataFrame.drop_duplicates : Return DataFrame with duplicate rows\n removed, optionally only considering certain columns.\nSeries.drop : Return Series with specified index labels removed.\n\nExamples\n--------\n>>> df = pd.DataFrame(np.arange(12).reshape(3, 4),\n... columns=['A', 'B', 'C', 'D'])\n>>> df\n A B C D\n0 0 1 2 3\n1 4 5 6 7\n2 8 9 10 11\n\nDrop columns\n\n>>> df.drop(['B', 'C'], axis=1)\n A D\n0 0 3\n1 4 7\n2 8 11\n\n>>> df.drop(columns=['B', 'C'])\n A D\n0 0 3\n1 4 7\n2 8 11\n\nDrop a row by index\n\n>>> df.drop([0, 1])\n A B C D\n2 8 9 10 11\n\nDrop columns and/or rows of MultiIndex DataFrame\n\n>>> midx = pd.MultiIndex(levels=[['llama', 'cow', 'falcon'],\n... ['speed', 'weight', 'length']],\n... codes=[[0, 0, 0, 1, 1, 1, 2, 2, 2],\n... [0, 1, 2, 0, 1, 2, 0, 1, 2]])\n>>> df = pd.DataFrame(index=midx, columns=['big', 'small'],\n... data=[[45, 30], [200, 100], [1.5, 1], [30, 20],\n... [250, 150], [1.5, 0.8], [320, 250],\n... [1, 0.8], [0.3, 0.2]])\n>>> df\n big small\nllama speed 45.0 30.0\n weight 200.0 100.0\n length 1.5 1.0\ncow speed 30.0 20.0\n weight 250.0 150.0\n length 1.5 0.8\nfalcon speed 320.0 250.0\n weight 1.0 0.8\n length 0.3 0.2\n\nDrop a specific index combination from the MultiIndex\nDataFrame, i.e., drop the combination ``'falcon'`` and\n``'weight'``, which deletes only the corresponding row\n\n>>> df.drop(index=('falcon', 'weight'))\n big small\nllama speed 45.0 30.0\n weight 200.0 100.0\n length 1.5 1.0\ncow speed 30.0 20.0\n weight 250.0 150.0\n length 1.5 0.8\nfalcon speed 320.0 250.0\n length 0.3 0.2\n\n>>> df.drop(index='cow', columns='small')\n big\nllama speed 45.0\n weight 200.0\n length 1.5\nfalcon speed 320.0\n weight 1.0\n length 0.3\n\n>>> df.drop(index='length', level=1)\n big small\nllama speed 45.0 30.0\n weight 200.0 100.0\ncow speed 30.0 20.0\n weight 250.0 150.0\nfalcon speed 320.0 250.0\n weight 1.0 0.8\n"}, "kind": 2, "label": "drop", "sortText": " 45"}, {"detail": "Overload[(subset: Hashable | Sequence[Hashable] = ..., *, keep: Literal[\"first\", \"last\", False] = ..., inplace: Literal[True], ignore_index: bool = ...) -> None, (subset: Hashable | Sequence[Hashable] = ..., *, keep: Literal[\"first\", \"last\", False] = ..., inplace: Literal[False] = ..., ignore_index: bool = ...) -> DataFrame, (subset: Hashable | Sequence[Hashable] = ..., *, keep: Literal[\"first\", \"last\", False] = ..., inplace: bool = ..., ignore_index: bool = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Return DataFrame with duplicate rows removed.\n\nConsidering certain columns is optional. Indexes, including time indexes\nare ignored.\n\nParameters\n----------\nsubset : column label or sequence of labels, optional\n Only consider certain columns for identifying duplicates, by\n default use all of the columns.\nkeep : {'first', 'last', ``False``}, default 'first'\n Determines which duplicates (if any) to keep.\n\n - 'first' : Drop duplicates except for the first occurrence.\n - 'last' : Drop duplicates except for the last occurrence.\n - ``False`` : Drop all duplicates.\n\ninplace : bool, default ``False``\n Whether to modify the DataFrame rather than creating a new one.\nignore_index : bool, default ``False``\n If ``True``, the resulting axis will be labeled 0, 1, \u2026, n - 1.\n\nReturns\n-------\nDataFrame or None\n DataFrame with duplicates removed or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.value_counts: Count unique combinations of columns.\n\nExamples\n--------\nConsider dataset containing ramen rating.\n\n>>> df = pd.DataFrame({\n... 'brand': ['Yum Yum', 'Yum Yum', 'Indomie', 'Indomie', 'Indomie'],\n... 'style': ['cup', 'cup', 'cup', 'pack', 'pack'],\n... 'rating': [4, 4, 3.5, 15, 5]\n... })\n>>> df\n brand style rating\n0 Yum Yum cup 4.0\n1 Yum Yum cup 4.0\n2 Indomie cup 3.5\n3 Indomie pack 15.0\n4 Indomie pack 5.0\n\nBy default, it removes duplicate rows based on all columns.\n\n>>> df.drop_duplicates()\n brand style rating\n0 Yum Yum cup 4.0\n2 Indomie cup 3.5\n3 Indomie pack 15.0\n4 Indomie pack 5.0\n\nTo remove duplicates on specific column(s), use ``subset``.\n\n>>> df.drop_duplicates(subset=['brand'])\n brand style rating\n0 Yum Yum cup 4.0\n2 Indomie cup 3.5\n\nTo remove duplicates and keep last occurrences, use ``keep``.\n\n>>> df.drop_duplicates(subset=['brand', 'style'], keep='last')\n brand style rating\n1 Yum Yum cup 4.0\n2 Indomie cup 3.5\n4 Indomie pack 5.0\n"}, "kind": 2, "label": "drop_duplicates", "sortText": " 46"}, {"detail": "bound method DataFrame.droplevel(level: Hashable | Sequence[Hashable], axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return {klass} with requested index / column level(s) removed.\n\nParameters\n----------\nlevel : int, str, or list-like\n If a string is given, must be the name of a level\n If list-like, elements must be names or positional indexes\n of levels.\n\naxis : {{0 or 'index', 1 or 'columns'}}, default 0\n Axis along which the level(s) is removed:\n\n * 0 or 'index': remove level(s) in column.\n * 1 or 'columns': remove level(s) in row.\n\n For `Series` this parameter is unused and defaults to 0.\n\nReturns\n-------\n{klass}\n {klass} with requested index / column level(s) removed.\n\nExamples\n--------\n>>> df = pd.DataFrame([\n... [1, 2, 3, 4],\n... [5, 6, 7, 8],\n... [9, 10, 11, 12]\n... ]).set_index([0, 1]).rename_axis(['a', 'b'])\n\n>>> df.columns = pd.MultiIndex.from_tuples([\n... ('c', 'e'), ('d', 'f')\n... ], names=['level_1', 'level_2'])\n\n>>> df\nlevel_1 c d\nlevel_2 e f\na b\n1 2 3 4\n5 6 7 8\n9 10 11 12\n\n>>> df.droplevel('a')\nlevel_1 c d\nlevel_2 e f\nb\n2 3 4\n6 7 8\n10 11 12\n\n>>> df.droplevel('level_2', axis=1)\nlevel_1 c d\na b\n1 2 3 4\n5 6 7 8\n9 10 11 12\n"}, "kind": 2, "label": "droplevel", "sortText": " 47"}, {"detail": "Overload[(*, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., how: Literal[\"any\", \"all\"] | _NoDefault = ..., thresh: int | _NoDefault = ..., subset: Hashable | Sequence[Hashable] = ..., inplace: Literal[False] = ..., ignore_index: bool = ...) -> DataFrame, (*, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., how: Literal[\"any\", \"all\"] | _NoDefault = ..., thresh: int | _NoDefault = ..., subset: Hashable | Sequence[Hashable] = ..., inplace: Literal[True], ignore_index: bool = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Remove missing values.\n\nSee the :ref:`User Guide ` for more on which values are\nconsidered missing, and how to work with missing data.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Determine if rows or columns which contain missing values are\n removed.\n\n * 0, or 'index' : Drop rows which contain missing values.\n * 1, or 'columns' : Drop columns which contain missing value.\n\n Only a single axis is allowed.\n\nhow : {'any', 'all'}, default 'any'\n Determine if row or column is removed from DataFrame, when we have\n at least one NA or all NA.\n\n * 'any' : If any NA values are present, drop that row or column.\n * 'all' : If all values are NA, drop that row or column.\n\nthresh : int, optional\n Require that many non-NA values. Cannot be combined with how.\nsubset : column label or sequence of labels, optional\n Labels along other axis to consider, e.g. if you are dropping rows\n these would be a list of columns to include.\ninplace : bool, default False\n Whether to modify the DataFrame rather than creating a new one.\nignore_index : bool, default ``False``\n If ``True``, the resulting axis will be labeled 0, 1, \u2026, n - 1.\n\n .. versionadded:: 2.0.0\n\nReturns\n-------\nDataFrame or None\n DataFrame with NA entries dropped from it or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.isna: Indicate missing values.\nDataFrame.notna : Indicate existing (non-missing) values.\nDataFrame.fillna : Replace missing values.\nSeries.dropna : Drop missing values.\nIndex.dropna : Drop missing indices.\n\nExamples\n--------\n>>> df = pd.DataFrame({\"name\": ['Alfred', 'Batman', 'Catwoman'],\n... \"toy\": [np.nan, 'Batmobile', 'Bullwhip'],\n... \"born\": [pd.NaT, pd.Timestamp(\"1940-04-25\"),\n... pd.NaT]})\n>>> df\n name toy born\n0 Alfred NaN NaT\n1 Batman Batmobile 1940-04-25\n2 Catwoman Bullwhip NaT\n\nDrop the rows where at least one element is missing.\n\n>>> df.dropna()\n name toy born\n1 Batman Batmobile 1940-04-25\n\nDrop the columns where at least one element is missing.\n\n>>> df.dropna(axis='columns')\n name\n0 Alfred\n1 Batman\n2 Catwoman\n\nDrop the rows where all elements are missing.\n\n>>> df.dropna(how='all')\n name toy born\n0 Alfred NaN NaT\n1 Batman Batmobile 1940-04-25\n2 Catwoman Bullwhip NaT\n\nKeep only the rows with at least 2 non-NA values.\n\n>>> df.dropna(thresh=2)\n name toy born\n1 Batman Batmobile 1940-04-25\n2 Catwoman Bullwhip NaT\n\nDefine in which columns to look for missing values.\n\n>>> df.dropna(subset=['name', 'toy'])\n name toy born\n1 Batman Batmobile 1940-04-25\n2 Catwoman Bullwhip NaT\n"}, "kind": 2, "label": "dropna", "sortText": " 48"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "dtype", "sortText": " 49"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "dtypes", "sortText": " 50"}, {"detail": "bound method DataFrame.duplicated(subset: Hashable | Sequence[Hashable] = None, keep: Literal[\"first\", \"last\", False] = \"first\") -> Series", "documentation": {"kind": "plaintext", "value": "Return boolean Series denoting duplicate rows.\n\nConsidering certain columns is optional.\n\nParameters\n----------\nsubset : column label or sequence of labels, optional\n Only consider certain columns for identifying duplicates, by\n default use all of the columns.\nkeep : {'first', 'last', False}, default 'first'\n Determines which duplicates (if any) to mark.\n\n - ``first`` : Mark duplicates as ``True`` except for the first occurrence.\n - ``last`` : Mark duplicates as ``True`` except for the last occurrence.\n - False : Mark all duplicates as ``True``.\n\nReturns\n-------\nSeries\n Boolean series for each duplicated rows.\n\nSee Also\n--------\nIndex.duplicated : Equivalent method on index.\nSeries.duplicated : Equivalent method on Series.\nSeries.drop_duplicates : Remove duplicate values from Series.\nDataFrame.drop_duplicates : Remove duplicate values from DataFrame.\n\nExamples\n--------\nConsider dataset containing ramen rating.\n\n>>> df = pd.DataFrame({\n... 'brand': ['Yum Yum', 'Yum Yum', 'Indomie', 'Indomie', 'Indomie'],\n... 'style': ['cup', 'cup', 'cup', 'pack', 'pack'],\n... 'rating': [4, 4, 3.5, 15, 5]\n... })\n>>> df\n brand style rating\n0 Yum Yum cup 4.0\n1 Yum Yum cup 4.0\n2 Indomie cup 3.5\n3 Indomie pack 15.0\n4 Indomie pack 5.0\n\nBy default, for each set of duplicated values, the first occurrence\nis set on False and all others on True.\n\n>>> df.duplicated()\n0 False\n1 True\n2 False\n3 False\n4 False\ndtype: bool\n\nBy using 'last', the last occurrence of each set of duplicated values\nis set on False and all others on True.\n\n>>> df.duplicated(keep='last')\n0 True\n1 False\n2 False\n3 False\n4 False\ndtype: bool\n\nBy setting ``keep`` on False, all duplicates are True.\n\n>>> df.duplicated(keep=False)\n0 True\n1 True\n2 False\n3 False\n4 False\ndtype: bool\n\nTo find duplicates on specific column(s), use ``subset``.\n\n>>> df.duplicated(subset=['brand'])\n0 False\n1 True\n2 False\n3 True\n4 True\ndtype: bool\n"}, "kind": 2, "label": "duplicated", "sortText": " 51"}, {"detail": "bool", "documentation": {"kind": "plaintext", "value": "Returns True when the argument is true, False otherwise.\nThe builtins True and False are the only two instances of the class bool.\nThe class bool is a subclass of the class int, and cannot be subclassed.\n"}, "kind": 22, "label": "empty", "sortText": " 52"}, {"detail": "bound method DataFrame.eq(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "eq", "sortText": " 53"}, {"detail": "bound method DataFrame.equals(other: object) -> bool", "documentation": {"kind": "plaintext", "value": "Test whether two objects contain the same elements.\n\nThis function allows two Series or DataFrames to be compared against\neach other to see if they have the same shape and elements. NaNs in\nthe same location are considered equal.\n\nThe row/column index do not need to have the same type, as long\nas the values are considered equal. Corresponding columns and\nindex must be of the same dtype.\n\nParameters\n----------\nother : Series or DataFrame\n The other Series or DataFrame to be compared with the first.\n\nReturns\n-------\nbool\n True if all elements are the same in both objects, False\n otherwise.\n\nSee Also\n--------\nSeries.eq : Compare two Series objects of the same length\n and return a Series where each element is True if the element\n in each Series is equal, False otherwise.\nDataFrame.eq : Compare two DataFrame objects of the same shape and\n return a DataFrame where each element is True if the respective\n element in each DataFrame is equal, False otherwise.\ntesting.assert_series_equal : Raises an AssertionError if left and\n right are not equal. Provides an easy interface to ignore\n inequality in dtypes, indexes and precision among others.\ntesting.assert_frame_equal : Like assert_series_equal, but targets\n DataFrames.\nnumpy.array_equal : Return True if two arrays have the same shape\n and elements, False otherwise.\n\nExamples\n--------\n>>> df = pd.DataFrame({1: [10], 2: [20]})\n>>> df\n 1 2\n0 10 20\n\nDataFrames df and exactly_equal have the same types and values for\ntheir elements and column labels, which will return True.\n\n>>> exactly_equal = pd.DataFrame({1: [10], 2: [20]})\n>>> exactly_equal\n 1 2\n0 10 20\n>>> df.equals(exactly_equal)\nTrue\n\nDataFrames df and different_column_type have the same element\ntypes and values, but have different types for the column labels,\nwhich will still return True.\n\n>>> different_column_type = pd.DataFrame({1.0: [10], 2.0: [20]})\n>>> different_column_type\n 1.0 2.0\n0 10 20\n>>> df.equals(different_column_type)\nTrue\n\nDataFrames df and different_data_type have different types for the\nsame values for their elements, and will return False even though\ntheir column labels are the same values and types.\n\n>>> different_data_type = pd.DataFrame({1: [10.0], 2: [20.0]})\n>>> different_data_type\n 1 2\n0 10.0 20.0\n>>> df.equals(different_data_type)\nFalse\n"}, "kind": 2, "label": "equals", "sortText": " 54"}, {"detail": "Overload[(expr: str, *, inplace: Literal[False] = ..., **kwargs) -> Any, (expr: str, *, inplace: Literal[True], **kwargs) -> None]", "documentation": {"kind": "plaintext", "value": "Evaluate a string describing operations on DataFrame columns.\n\nOperates on columns only, not specific rows or elements. This allows\n`eval` to run arbitrary code, which can make you vulnerable to code\ninjection if you pass user input to this function.\n\nParameters\n----------\nexpr : str\n The expression string to evaluate.\ninplace : bool, default False\n If the expression contains an assignment, whether to perform the\n operation inplace and mutate the existing DataFrame. Otherwise,\n a new DataFrame is returned.\n**kwargs\n See the documentation for :func:`eval` for complete details\n on the keyword arguments accepted by\n :meth:`~pandas.DataFrame.query`.\n\nReturns\n-------\nndarray, scalar, pandas object, or None\n The result of the evaluation or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.query : Evaluates a boolean expression to query the columns\n of a frame.\nDataFrame.assign : Can evaluate an expression or function to create new\n values for a column.\neval : Evaluate a Python expression as a string using various\n backends.\n\nNotes\n-----\nFor more details see the API documentation for :func:`~eval`.\nFor detailed examples see :ref:`enhancing performance with eval\n`.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': range(1, 6), 'B': range(10, 0, -2)})\n>>> df\n A B\n0 1 10\n1 2 8\n2 3 6\n3 4 4\n4 5 2\n>>> df.eval('A + B')\n0 11\n1 10\n2 9\n3 8\n4 7\ndtype: int64\n\nAssignment is allowed though by default the original DataFrame is not\nmodified.\n\n>>> df.eval('C = A + B')\n A B C\n0 1 10 11\n1 2 8 10\n2 3 6 9\n3 4 4 8\n4 5 2 7\n>>> df\n A B\n0 1 10\n1 2 8\n2 3 6\n3 4 4\n4 5 2\n\nMultiple columns can be assigned to using multi-line expressions:\n\n>>> df.eval(\n... '''\n... C = A + B\n... D = A - B\n... '''\n... )\n A B C D\n0 1 10 11 -9\n1 2 8 10 -6\n2 3 6 9 -3\n3 4 4 8 0\n4 5 2 7 3\n"}, "kind": 2, "label": "eval", "sortText": " 55"}, {"detail": "bound method DataFrame.ewm(com: float | None = None, span: float | None = None, halflife: float | timedelta | timedelta64[Any] | ... omitted 3 union elements = None, alpha: float | None = None, min_periods: int | None = 0, adjust: bool = True, ignore_na: bool = False, axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., times: ndarray[_AnyShape, dtype[Any]] | DataFrame | Series | None = None, method: Literal[\"single\", \"table\"] = \"single\") -> ExponentialMovingWindow", "kind": 2, "label": "ewm", "sortText": " 56"}, {"detail": "bound method DataFrame.expanding(min_periods: int = 1, axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., method: Literal[\"single\", \"table\"] = \"single\") -> Expanding", "kind": 2, "label": "expanding", "sortText": " 57"}, {"detail": "bound method DataFrame.explode(column: Hashable | Sequence[Hashable], ignore_index: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Transform each element of a list-like to a row, replicating index values.\n\nParameters\n----------\ncolumn : IndexLabel\n Column(s) to explode.\n For multiple columns, specify a non-empty list with each element\n be str or tuple, and all specified columns their list-like data\n on same row of the frame must have matching length.\n\n .. versionadded:: 1.3.0\n Multi-column explode\n\nignore_index : bool, default False\n If True, the resulting index will be labeled 0, 1, \u2026, n - 1.\n\nReturns\n-------\nDataFrame\n Exploded lists to rows of the subset columns;\n index will be duplicated for these rows.\n\nRaises\n------\nValueError :\n * If columns of the frame are not unique.\n * If specified columns to explode is empty list.\n * If specified columns to explode have not matching count of\n elements rowwise in the frame.\n\nSee Also\n--------\nDataFrame.unstack : Pivot a level of the (necessarily hierarchical)\n index labels.\nDataFrame.melt : Unpivot a DataFrame from wide format to long format.\nSeries.explode : Explode a DataFrame from list-like columns to long format.\n\nNotes\n-----\nThis routine will explode list-likes including lists, tuples, sets,\nSeries, and np.ndarray. The result dtype of the subset rows will\nbe object. Scalars will be returned unchanged, and empty list-likes will\nresult in a np.nan for that row. In addition, the ordering of rows in the\noutput will be non-deterministic when exploding sets.\n\nReference :ref:`the user guide ` for more examples.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [[0, 1, 2], 'foo', [], [3, 4]],\n... 'B': 1,\n... 'C': [['a', 'b', 'c'], np.nan, [], ['d', 'e']]})\n>>> df\n A B C\n0 [0, 1, 2] 1 [a, b, c]\n1 foo 1 NaN\n2 [] 1 []\n3 [3, 4] 1 [d, e]\n\nSingle-column explode.\n\n>>> df.explode('A')\n A B C\n0 0 1 [a, b, c]\n0 1 1 [a, b, c]\n0 2 1 [a, b, c]\n1 foo 1 NaN\n2 NaN 1 []\n3 3 1 [d, e]\n3 4 1 [d, e]\n\nMulti-column explode.\n\n>>> df.explode(list('AC'))\n A B C\n0 0 1 a\n0 1 1 b\n0 2 1 c\n1 foo 1 NaN\n2 NaN 1 NaN\n3 3 1 d\n3 4 1 e\n"}, "kind": 2, "label": "explode", "sortText": " 58"}, {"detail": "Overload[(*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: Literal[False] = ..., limit: None | int = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame, (*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: Literal[True], limit: None | int = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> None, (*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: bool = ..., limit: None | int = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Fill NA/NaN values by propagating the last valid observation to next valid.\n\nParameters\n----------\naxis : {axes_single_arg}\n Axis along which to fill missing values. For `Series`\n this parameter is unused and defaults to 0.\ninplace : bool, default False\n If True, fill in-place. Note: this will modify any\n other views on this object (e.g., a no-copy slice for a column in a\n DataFrame).\nlimit : int, default None\n If method is specified, this is the maximum number of consecutive\n NaN values to forward/backward fill. In other words, if there is\n a gap with more than this number of consecutive NaNs, it will only\n be partially filled. If method is not specified, this is the\n maximum number of entries along the entire axis where NaNs will be\n filled. Must be greater than 0 if not None.\nlimit_area : {{`None`, 'inside', 'outside'}}, default None\n If limit is specified, consecutive NaNs will be filled with this\n restriction.\n\n * ``None``: No fill restriction.\n * 'inside': Only fill NaNs surrounded by valid values\n (interpolate).\n * 'outside': Only fill NaNs outside valid values (extrapolate).\n\n .. versionadded:: 2.2.0\n\ndowncast : dict, default is None\n A dict of item->dtype of what to downcast if possible,\n or the string 'infer' which will try to downcast to an appropriate\n equal type (e.g. float64 to int64 if possible).\n\n .. deprecated:: 2.2.0\n\nReturns\n-------\n{klass} or None\n Object with missing values filled or None if ``inplace=True``.\n\nExamples\n--------\n>>> df = pd.DataFrame([[np.nan, 2, np.nan, 0],\n... [3, 4, np.nan, 1],\n... [np.nan, np.nan, np.nan, np.nan],\n... [np.nan, 3, np.nan, 4]],\n... columns=list(\"ABCD\"))\n>>> df\n A B C D\n0 NaN 2.0 NaN 0.0\n1 3.0 4.0 NaN 1.0\n2 NaN NaN NaN NaN\n3 NaN 3.0 NaN 4.0\n\n>>> df.ffill()\n A B C D\n0 NaN 2.0 NaN 0.0\n1 3.0 4.0 NaN 1.0\n2 3.0 4.0 NaN 1.0\n3 3.0 3.0 NaN 4.0\n\n>>> ser = pd.Series([1, np.nan, 2, 3])\n>>> ser.ffill()\n0 1.0\n1 1.0\n2 2.0\n3 3.0\ndtype: float64\n"}, "kind": 2, "label": "ffill", "sortText": " 59"}, {"detail": "Overload[(value: Hashable | Mapping[Unknown, Unknown] | Series | DataFrame = ..., *, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: Literal[False] = ..., limit: int | None = ..., downcast: dict[Unknown, Unknown] | None = ...) -> DataFrame, (value: Hashable | Mapping[Unknown, Unknown] | Series | DataFrame = ..., *, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: Literal[True], limit: int | None = ..., downcast: dict[Unknown, Unknown] | None = ...) -> None, (value: Hashable | Mapping[Unknown, Unknown] | Series | DataFrame = ..., *, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: bool = ..., limit: int | None = ..., downcast: dict[Unknown, Unknown] | None = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Fill NA/NaN values using the specified method.\n\nParameters\n----------\nvalue : scalar, dict, Series, or DataFrame\n Value to use to fill holes (e.g. 0), alternately a\n dict/Series/DataFrame of values specifying which value to use for\n each index (for a Series) or column (for a DataFrame). Values not\n in the dict/Series/DataFrame will not be filled. This value cannot\n be a list.\nmethod : {{'backfill', 'bfill', 'ffill', None}}, default None\n Method to use for filling holes in reindexed Series:\n\n * ffill: propagate last valid observation forward to next valid.\n * backfill / bfill: use next valid observation to fill gap.\n\n .. deprecated:: 2.1.0\n Use ffill or bfill instead.\n\naxis : {axes_single_arg}\n Axis along which to fill missing values. For `Series`\n this parameter is unused and defaults to 0.\ninplace : bool, default False\n If True, fill in-place. Note: this will modify any\n other views on this object (e.g., a no-copy slice for a column in a\n DataFrame).\nlimit : int, default None\n If method is specified, this is the maximum number of consecutive\n NaN values to forward/backward fill. In other words, if there is\n a gap with more than this number of consecutive NaNs, it will only\n be partially filled. If method is not specified, this is the\n maximum number of entries along the entire axis where NaNs will be\n filled. Must be greater than 0 if not None.\ndowncast : dict, default is None\n A dict of item->dtype of what to downcast if possible,\n or the string 'infer' which will try to downcast to an appropriate\n equal type (e.g. float64 to int64 if possible).\n\n .. deprecated:: 2.2.0\n\nReturns\n-------\n{klass} or None\n Object with missing values filled or None if ``inplace=True``.\n\nSee Also\n--------\nffill : Fill values by propagating the last valid observation to next valid.\nbfill : Fill values by using the next valid observation to fill the gap.\ninterpolate : Fill NaN values using interpolation.\nreindex : Conform object to new index.\nasfreq : Convert TimeSeries to specified frequency.\n\nExamples\n--------\n>>> df = pd.DataFrame([[np.nan, 2, np.nan, 0],\n... [3, 4, np.nan, 1],\n... [np.nan, np.nan, np.nan, np.nan],\n... [np.nan, 3, np.nan, 4]],\n... columns=list(\"ABCD\"))\n>>> df\n A B C D\n0 NaN 2.0 NaN 0.0\n1 3.0 4.0 NaN 1.0\n2 NaN NaN NaN NaN\n3 NaN 3.0 NaN 4.0\n\nReplace all NaN elements with 0s.\n\n>>> df.fillna(0)\n A B C D\n0 0.0 2.0 0.0 0.0\n1 3.0 4.0 0.0 1.0\n2 0.0 0.0 0.0 0.0\n3 0.0 3.0 0.0 4.0\n\nReplace all NaN elements in column 'A', 'B', 'C', and 'D', with 0, 1,\n2, and 3 respectively.\n\n>>> values = {{\"A\": 0, \"B\": 1, \"C\": 2, \"D\": 3}}\n>>> df.fillna(value=values)\n A B C D\n0 0.0 2.0 2.0 0.0\n1 3.0 4.0 2.0 1.0\n2 0.0 1.0 2.0 3.0\n3 0.0 3.0 2.0 4.0\n\nOnly replace the first NaN element.\n\n>>> df.fillna(value=values, limit=1)\n A B C D\n0 0.0 2.0 2.0 0.0\n1 3.0 4.0 NaN 1.0\n2 NaN 1.0 NaN 3.0\n3 NaN 3.0 NaN 4.0\n\nWhen filling using a DataFrame, replacement happens along\nthe same column names and same indices\n\n>>> df2 = pd.DataFrame(np.zeros((4, 4)), columns=list(\"ABCE\"))\n>>> df.fillna(df2)\n A B C D\n0 0.0 2.0 0.0 0.0\n1 3.0 4.0 0.0 1.0\n2 0.0 0.0 0.0 NaN\n3 0.0 3.0 0.0 4.0\n\nNote that column D is not affected since it is not present in df2.\n"}, "kind": 2, "label": "fillna", "sortText": " 60"}, {"detail": "bound method DataFrame.filter(items=None, like: str | None = None, regex: str | None = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Subset the dataframe rows or columns according to the specified index labels.\n\nNote that this routine does not filter a dataframe on its\ncontents. The filter is applied to the labels of the index.\n\nParameters\n----------\nitems : list-like\n Keep labels from axis which are in items.\nlike : str\n Keep labels from axis for which \"like in label == True\".\nregex : str (regular expression)\n Keep labels from axis for which re.search(regex, label) == True.\naxis : {0 or 'index', 1 or 'columns', None}, default None\n The axis to filter on, expressed either as an index (int)\n or axis name (str). By default this is the info axis, 'columns' for\n DataFrame. For `Series` this parameter is unused and defaults to `None`.\n\nReturns\n-------\nsame type as input object\n\nSee Also\n--------\nDataFrame.loc : Access a group of rows and columns\n by label(s) or a boolean array.\n\nNotes\n-----\nThe ``items``, ``like``, and ``regex`` parameters are\nenforced to be mutually exclusive.\n\n``axis`` defaults to the info axis that is used when indexing\nwith ``[]``.\n\nExamples\n--------\n>>> df = pd.DataFrame(np.array(([1, 2, 3], [4, 5, 6])),\n... index=['mouse', 'rabbit'],\n... columns=['one', 'two', 'three'])\n>>> df\n one two three\nmouse 1 2 3\nrabbit 4 5 6\n\n>>> # select columns by name\n>>> df.filter(items=['one', 'three'])\n one three\nmouse 1 3\nrabbit 4 6\n\n>>> # select columns by regular expression\n>>> df.filter(regex='e$', axis=1)\n one three\nmouse 1 3\nrabbit 4 6\n\n>>> # select rows containing 'bbi'\n>>> df.filter(like='bbi', axis=0)\n one two three\nrabbit 4 5 6\n"}, "kind": 2, "label": "filter", "sortText": " 61"}, {"detail": "bound method DataFrame.first(offset) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Select initial periods of time series data based on a date offset.\n\n.. deprecated:: 2.1\n :meth:`.first` is deprecated and will be removed in a future version.\n Please create a mask and filter using `.loc` instead.\n\nFor a DataFrame with a sorted DatetimeIndex, this function can\nselect the first few rows based on a date offset.\n\nParameters\n----------\noffset : str, DateOffset or dateutil.relativedelta\n The offset length of the data that will be selected. For instance,\n '1ME' will display all the rows having their index within the first month.\n\nReturns\n-------\nSeries or DataFrame\n A subset of the caller.\n\nRaises\n------\nTypeError\n If the index is not a :class:`DatetimeIndex`\n\nSee Also\n--------\nlast : Select final periods of time series based on a date offset.\nat_time : Select values at a particular time of the day.\nbetween_time : Select values between particular times of the day.\n\nExamples\n--------\n>>> i = pd.date_range('2018-04-09', periods=4, freq='2D')\n>>> ts = pd.DataFrame({'A': [1, 2, 3, 4]}, index=i)\n>>> ts\n A\n2018-04-09 1\n2018-04-11 2\n2018-04-13 3\n2018-04-15 4\n\nGet the rows for the first 3 days:\n\n>>> ts.first('3D')\n A\n2018-04-09 1\n2018-04-11 2\n\nNotice the data for 3 first calendar days were returned, not the first\n3 days observed in the dataset, and therefore data for 2018-04-13 was\nnot returned.\n"}, "kind": 2, "label": "first", "sortText": " 62"}, {"detail": "bound method DataFrame.first_valid_index() -> Hashable", "documentation": {"kind": "plaintext", "value": "Return index for {position} non-NA value or None, if no non-NA value is found.\n\nReturns\n-------\ntype of index\n\nExamples\n--------\nFor Series:\n\n>>> s = pd.Series([None, 3, 4])\n>>> s.first_valid_index()\n1\n>>> s.last_valid_index()\n2\n\n>>> s = pd.Series([None, None])\n>>> print(s.first_valid_index())\nNone\n>>> print(s.last_valid_index())\nNone\n\nIf all elements in Series are NA/null, returns None.\n\n>>> s = pd.Series()\n>>> print(s.first_valid_index())\nNone\n>>> print(s.last_valid_index())\nNone\n\nIf Series is empty, returns None.\n\nFor DataFrame:\n\n>>> df = pd.DataFrame({{'A': [None, None, 2], 'B': [None, 3, 4]}})\n>>> df\n A B\n0 NaN NaN\n1 NaN 3.0\n2 2.0 4.0\n>>> df.first_valid_index()\n1\n>>> df.last_valid_index()\n2\n\n>>> df = pd.DataFrame({{'A': [None, None, None], 'B': [None, None, None]}})\n>>> df\n A B\n0 None None\n1 None None\n2 None None\n>>> print(df.first_valid_index())\nNone\n>>> print(df.last_valid_index())\nNone\n\nIf all elements in DataFrame are NA/null, returns None.\n\n>>> df = pd.DataFrame()\n>>> df\nEmpty DataFrame\nColumns: []\nIndex: []\n>>> print(df.first_valid_index())\nNone\n>>> print(df.last_valid_index())\nNone\n\nIf DataFrame is empty, returns None.\n"}, "kind": 2, "label": "first_valid_index", "sortText": " 63"}, {"detail": "Flags", "documentation": {"kind": "plaintext", "value": "Flags that apply to pandas objects.\n\nParameters\n----------\nobj : Series or DataFrame\n The object these flags are associated with.\nallows_duplicate_labels : bool, default True\n Whether to allow duplicate labels in this object. By default,\n duplicate labels are permitted. Setting this to ``False`` will\n cause an :class:`errors.DuplicateLabelError` to be raised when\n `index` (or columns for DataFrame) is not unique, or any\n subsequent operation on introduces duplicates.\n See :ref:`duplicates.disallow` for more.\n\n .. warning::\n\n This is an experimental feature. Currently, many methods fail to\n propagate the ``allows_duplicate_labels`` value. In future versions\n it is expected that every method taking or returning one or more\n DataFrame or Series objects will propagate ``allows_duplicate_labels``.\n\nExamples\n--------\nAttributes can be set in two ways:\n\n>>> df = pd.DataFrame()\n>>> df.flags\n\n>>> df.flags.allows_duplicate_labels = False\n>>> df.flags\n\n\n>>> df.flags['allows_duplicate_labels'] = True\n>>> df.flags\n\n"}, "kind": 22, "label": "flags", "sortText": " 64"}, {"detail": "bound method DataFrame.floordiv(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "floordiv", "sortText": " 65"}, {"detail": "bound method type[DataFrame].from_dict(data: dict[Unknown, Unknown], orient: Literal[\"columns\", \"index\", \"tight\"] = \"columns\", dtype: ExtensionDtype | str | dtype[Any] | type | None = None, columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Construct DataFrame from dict of array-like or dicts.\n\nCreates DataFrame object from dictionary by columns or by index\nallowing dtype specification.\n\nParameters\n----------\ndata : dict\n Of the form {field : array-like} or {field : dict}.\norient : {'columns', 'index', 'tight'}, default 'columns'\n The \"orientation\" of the data. If the keys of the passed dict\n should be the columns of the resulting DataFrame, pass 'columns'\n (default). Otherwise if the keys should be rows, pass 'index'.\n If 'tight', assume a dict with keys ['index', 'columns', 'data',\n 'index_names', 'column_names'].\n\n .. versionadded:: 1.4.0\n 'tight' as an allowed value for the ``orient`` argument\n\ndtype : dtype, default None\n Data type to force after DataFrame construction, otherwise infer.\ncolumns : list, default None\n Column labels to use when ``orient='index'``. Raises a ValueError\n if used with ``orient='columns'`` or ``orient='tight'``.\n\nReturns\n-------\nDataFrame\n\nSee Also\n--------\nDataFrame.from_records : DataFrame from structured ndarray, sequence\n of tuples or dicts, or DataFrame.\nDataFrame : DataFrame object creation using constructor.\nDataFrame.to_dict : Convert the DataFrame to a dictionary.\n\nExamples\n--------\nBy default the keys of the dict become the DataFrame columns:\n\n>>> data = {'col_1': [3, 2, 1, 0], 'col_2': ['a', 'b', 'c', 'd']}\n>>> pd.DataFrame.from_dict(data)\n col_1 col_2\n0 3 a\n1 2 b\n2 1 c\n3 0 d\n\nSpecify ``orient='index'`` to create the DataFrame using dictionary\nkeys as rows:\n\n>>> data = {'row_1': [3, 2, 1, 0], 'row_2': ['a', 'b', 'c', 'd']}\n>>> pd.DataFrame.from_dict(data, orient='index')\n 0 1 2 3\nrow_1 3 2 1 0\nrow_2 a b c d\n\nWhen using the 'index' orientation, the column names can be\nspecified manually:\n\n>>> pd.DataFrame.from_dict(data, orient='index',\n... columns=['A', 'B', 'C', 'D'])\n A B C D\nrow_1 3 2 1 0\nrow_2 a b c d\n\nSpecify ``orient='tight'`` to create the DataFrame using a 'tight'\nformat:\n\n>>> data = {'index': [('a', 'b'), ('a', 'c')],\n... 'columns': [('x', 1), ('y', 2)],\n... 'data': [[1, 3], [2, 4]],\n... 'index_names': ['n1', 'n2'],\n... 'column_names': ['z1', 'z2']}\n>>> pd.DataFrame.from_dict(data, orient='tight')\nz1 x y\nz2 1 2\nn1 n2\na b 1 3\n c 2 4\n"}, "kind": 2, "label": "from_dict", "sortText": " 66"}, {"detail": "bound method type[DataFrame].from_records(data, index=None, exclude=None, columns=None, coerce_float: bool = False, nrows: int | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Convert structured or record ndarray to DataFrame.\n\nCreates a DataFrame object from a structured ndarray, sequence of\ntuples or dicts, or DataFrame.\n\nParameters\n----------\ndata : structured ndarray, sequence of tuples or dicts, or DataFrame\n Structured input data.\n\n .. deprecated:: 2.1.0\n Passing a DataFrame is deprecated.\nindex : str, list of fields, array-like\n Field of array to use as the index, alternately a specific set of\n input labels to use.\nexclude : sequence, default None\n Columns or fields to exclude.\ncolumns : sequence, default None\n Column names to use. If the passed data do not have names\n associated with them, this argument provides names for the\n columns. Otherwise this argument indicates the order of the columns\n in the result (any names not found in the data will become all-NA\n columns).\ncoerce_float : bool, default False\n Attempt to convert values of non-string, non-numeric objects (like\n decimal.Decimal) to floating point, useful for SQL result sets.\nnrows : int, default None\n Number of rows to read if data is an iterator.\n\nReturns\n-------\nDataFrame\n\nSee Also\n--------\nDataFrame.from_dict : DataFrame from dict of array-like or dicts.\nDataFrame : DataFrame object creation using constructor.\n\nExamples\n--------\nData can be provided as a structured ndarray:\n\n>>> data = np.array([(3, 'a'), (2, 'b'), (1, 'c'), (0, 'd')],\n... dtype=[('col_1', 'i4'), ('col_2', 'U1')])\n>>> pd.DataFrame.from_records(data)\n col_1 col_2\n0 3 a\n1 2 b\n2 1 c\n3 0 d\n\nData can be provided as a list of dicts:\n\n>>> data = [{'col_1': 3, 'col_2': 'a'},\n... {'col_1': 2, 'col_2': 'b'},\n... {'col_1': 1, 'col_2': 'c'},\n... {'col_1': 0, 'col_2': 'd'}]\n>>> pd.DataFrame.from_records(data)\n col_1 col_2\n0 3 a\n1 2 b\n2 1 c\n3 0 d\n\nData can be provided as a list of tuples with corresponding columns:\n\n>>> data = [(3, 'a'), (2, 'b'), (1, 'c'), (0, 'd')]\n>>> pd.DataFrame.from_records(data, columns=['col_1', 'col_2'])\n col_1 col_2\n0 3 a\n1 2 b\n2 1 c\n3 0 d\n"}, "kind": 2, "label": "from_records", "sortText": " 67"}, {"detail": "bound method DataFrame.ge(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "ge", "sortText": " 68"}, {"detail": "bound method DataFrame.get(key, default=None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Get item from object for given key (ex: DataFrame column).\n\nReturns default value if not found.\n\nParameters\n----------\nkey : object\n\nReturns\n-------\nsame type as items contained in object\n\nExamples\n--------\n>>> df = pd.DataFrame(\n... [\n... [24.3, 75.7, \"high\"],\n... [31, 87.8, \"high\"],\n... [22, 71.6, \"medium\"],\n... [35, 95, \"medium\"],\n... ],\n... columns=[\"temp_celsius\", \"temp_fahrenheit\", \"windspeed\"],\n... index=pd.date_range(start=\"2014-02-12\", end=\"2014-02-15\", freq=\"D\"),\n... )\n\n>>> df\n temp_celsius temp_fahrenheit windspeed\n2014-02-12 24.3 75.7 high\n2014-02-13 31.0 87.8 high\n2014-02-14 22.0 71.6 medium\n2014-02-15 35.0 95.0 medium\n\n>>> df.get([\"temp_celsius\", \"windspeed\"])\n temp_celsius windspeed\n2014-02-12 24.3 high\n2014-02-13 31.0 high\n2014-02-14 22.0 medium\n2014-02-15 35.0 medium\n\n>>> ser = df['windspeed']\n>>> ser.get('2014-02-13')\n'high'\n\nIf the key isn't found, the default value will be used.\n\n>>> df.get([\"temp_celsius\", \"temp_kelvin\"], default=\"default_value\")\n'default_value'\n\n>>> ser.get('2014-02-10', '[unknown]')\n'[unknown]'\n"}, "kind": 2, "label": "get", "sortText": " 69"}, {"detail": "bound method DataFrame.groupby(by=None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., level: Hashable | Sequence[Hashable] = None, as_index: bool = True, sort: bool = True, group_keys: bool = True, observed: bool | _NoDefault = ..., dropna: bool = True) -> DataFrameGroupBy", "kind": 2, "label": "groupby", "sortText": " 70"}, {"detail": "bound method DataFrame.gt(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "gt", "sortText": " 71"}, {"detail": "bound method DataFrame.head(n: int = 5) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the first `n` rows.\n\nThis function returns the first `n` rows for the object based\non position. It is useful for quickly testing if your object\nhas the right type of data in it.\n\nFor negative values of `n`, this function returns all rows except\nthe last `|n|` rows, equivalent to ``df[:n]``.\n\nIf n is larger than the number of rows, this function returns all rows.\n\nParameters\n----------\nn : int, default 5\n Number of rows to select.\n\nReturns\n-------\nsame type as caller\n The first `n` rows of the caller object.\n\nSee Also\n--------\nDataFrame.tail: Returns the last `n` rows.\n\nExamples\n--------\n>>> df = pd.DataFrame({'animal': ['alligator', 'bee', 'falcon', 'lion',\n... 'monkey', 'parrot', 'shark', 'whale', 'zebra']})\n>>> df\n animal\n0 alligator\n1 bee\n2 falcon\n3 lion\n4 monkey\n5 parrot\n6 shark\n7 whale\n8 zebra\n\nViewing the first 5 lines\n\n>>> df.head()\n animal\n0 alligator\n1 bee\n2 falcon\n3 lion\n4 monkey\n\nViewing the first `n` lines (three in this case)\n\n>>> df.head(3)\n animal\n0 alligator\n1 bee\n2 falcon\n\nFor negative values of `n`\n\n>>> df.head(-3)\n animal\n0 alligator\n1 bee\n2 falcon\n3 lion\n4 monkey\n5 parrot\n"}, "kind": 2, "label": "head", "sortText": " 72"}, {"detail": "(column: Hashable | Sequence[Hashable] = None, by=None, grid: bool = True, xlabelsize: int | None = None, xrot: float | None = None, ylabelsize: int | None = None, yrot: float | None = None, ax=None, sharex: bool = False, sharey: bool = False, figsize: tuple[int, int] | None = None, layout: tuple[int, int] | None = None, bins: int | Sequence[int] = 10, backend: str | None = None, legend: bool = False, **kwargs) -> Unknown", "kind": 3, "label": "hist", "sortText": " 73"}, {"detail": "_iAtIndexer", "kind": 22, "label": "iat", "sortText": " 74"}, {"detail": "bound method DataFrame.idxmax(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, skipna: bool = True, numeric_only: bool = False) -> Series", "kind": 2, "label": "idxmax", "sortText": " 75"}, {"detail": "bound method DataFrame.idxmin(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, skipna: bool = True, numeric_only: bool = False) -> Series", "kind": 2, "label": "idxmin", "sortText": " 76"}, {"detail": "_iLocIndexer", "kind": 22, "label": "iloc", "sortText": " 77"}, {"detail": "Index", "documentation": {"kind": "plaintext", "value": "Immutable sequence used for indexing and alignment.\n\nThe basic object storing axis labels for all pandas objects.\n\n.. versionchanged:: 2.0.0\n\n Index can hold all numpy numeric dtypes (except float16). Previously only\n int64/uint64/float64 dtypes were accepted.\n\nParameters\n----------\ndata : array-like (1-dimensional)\ndtype : str, numpy.dtype, or ExtensionDtype, optional\n Data type for the output Index. If not specified, this will be\n inferred from `data`.\n See the :ref:`user guide ` for more usages.\ncopy : bool, default False\n Copy input data.\nname : object\n Name to be stored in the index.\ntupleize_cols : bool (default: True)\n When True, attempt to create a MultiIndex if possible.\n\nSee Also\n--------\nRangeIndex : Index implementing a monotonic integer range.\nCategoricalIndex : Index of :class:`Categorical` s.\nMultiIndex : A multi-level, or hierarchical Index.\nIntervalIndex : An Index of :class:`Interval` s.\nDatetimeIndex : Index of datetime64 data.\nTimedeltaIndex : Index of timedelta64 data.\nPeriodIndex : Index of Period data.\n\nNotes\n-----\nAn Index instance can **only** contain hashable objects.\nAn Index instance *can not* hold numpy float16 dtype.\n\nExamples\n--------\n>>> pd.Index([1, 2, 3])\nIndex([1, 2, 3], dtype='int64')\n\n>>> pd.Index(list('abc'))\nIndex(['a', 'b', 'c'], dtype='object')\n\n>>> pd.Index([1, 2, 3], dtype=\"uint8\")\nIndex([1, 2, 3], dtype='uint8')\n"}, "kind": 22, "label": "index", "sortText": " 78"}, {"detail": "bound method DataFrame.infer_objects(copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Attempt to infer better dtypes for object columns.\n\nAttempts soft conversion of object-dtyped\ncolumns, leaving non-object and unconvertible\ncolumns unchanged. The inference rules are the\nsame as during normal Series/DataFrame construction.\n\nParameters\n----------\ncopy : bool, default True\n Whether to make a copy for non-object or non-inferable columns\n or Series.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\nsame type as input object\n\nSee Also\n--------\nto_datetime : Convert argument to datetime.\nto_timedelta : Convert argument to timedelta.\nto_numeric : Convert argument to numeric type.\nconvert_dtypes : Convert argument to best possible dtype.\n\nExamples\n--------\n>>> df = pd.DataFrame({\"A\": [\"a\", 1, 2, 3]})\n>>> df = df.iloc[1:]\n>>> df\n A\n1 1\n2 2\n3 3\n\n>>> df.dtypes\nA object\ndtype: object\n\n>>> df.infer_objects().dtypes\nA int64\ndtype: object\n"}, "kind": 2, "label": "infer_objects", "sortText": " 79"}, {"detail": "bound method DataFrame.info(verbose: bool | None = None, buf: WriteBuffer[str] | None = None, max_cols: int | None = None, memory_usage: bool | str | None = None, show_counts: bool | None = None) -> None", "kind": 2, "label": "info", "sortText": " 80"}, {"detail": "bound method DataFrame.insert(loc: int, column: Hashable, value: str | float | Period | ... omitted 9 union elements, allow_duplicates: bool | _NoDefault = ...) -> None", "documentation": {"kind": "plaintext", "value": "Insert column into DataFrame at specified location.\n\nRaises a ValueError if `column` is already contained in the DataFrame,\nunless `allow_duplicates` is set to True.\n\nParameters\n----------\nloc : int\n Insertion index. Must verify 0 <= loc <= len(columns).\ncolumn : str, number, or hashable object\n Label of the inserted column.\nvalue : Scalar, Series, or array-like\n Content of the inserted column.\nallow_duplicates : bool, optional, default lib.no_default\n Allow duplicate column labels to be created.\n\nSee Also\n--------\nIndex.insert : Insert new item by index.\n\nExamples\n--------\n>>> df = pd.DataFrame({'col1': [1, 2], 'col2': [3, 4]})\n>>> df\n col1 col2\n0 1 3\n1 2 4\n>>> df.insert(1, \"newcol\", [99, 99])\n>>> df\n col1 newcol col2\n0 1 99 3\n1 2 99 4\n>>> df.insert(0, \"col1\", [100, 100], allow_duplicates=True)\n>>> df\n col1 col1 newcol col2\n0 100 1 99 3\n1 100 2 99 4\n\nNotice that pandas uses index alignment in case of `value` from type `Series`:\n\n>>> df.insert(0, \"col0\", pd.Series([5, 6], index=[1, 2]))\n>>> df\n col0 col1 col1 newcol col2\n0 NaN 100 1 99 3\n1 5.0 100 2 99 4\n"}, "kind": 2, "label": "insert", "sortText": " 81"}, {"detail": "Overload[(method: Literal[\"linear\", \"time\", \"index\", \"values\", \"nearest\", ... omitted 13 literals] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., limit: int | None = ..., inplace: Literal[False] = ..., limit_direction: Literal[\"forward\", \"backward\", \"both\"] | None = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: Literal[\"infer\"] | None | _NoDefault = ..., **kwargs) -> DataFrame, (method: Literal[\"linear\", \"time\", \"index\", \"values\", \"nearest\", ... omitted 13 literals] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., limit: int | None = ..., inplace: Literal[True], limit_direction: Literal[\"forward\", \"backward\", \"both\"] | None = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: Literal[\"infer\"] | None | _NoDefault = ..., **kwargs) -> None, (method: Literal[\"linear\", \"time\", \"index\", \"values\", \"nearest\", ... omitted 13 literals] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., limit: int | None = ..., inplace: bool = ..., limit_direction: Literal[\"forward\", \"backward\", \"both\"] | None = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: Literal[\"infer\"] | None | _NoDefault = ..., **kwargs) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Fill NaN values using an interpolation method.\n\nPlease note that only ``method='linear'`` is supported for\nDataFrame/Series with a MultiIndex.\n\nParameters\n----------\nmethod : str, default 'linear'\n Interpolation technique to use. One of:\n\n * 'linear': Ignore the index and treat the values as equally\n spaced. This is the only method supported on MultiIndexes.\n * 'time': Works on daily and higher resolution data to interpolate\n given length of interval.\n * 'index', 'values': use the actual numerical values of the index.\n * 'pad': Fill in NaNs using existing values.\n * 'nearest', 'zero', 'slinear', 'quadratic', 'cubic',\n 'barycentric', 'polynomial': Passed to\n `scipy.interpolate.interp1d`, whereas 'spline' is passed to\n `scipy.interpolate.UnivariateSpline`. These methods use the numerical\n values of the index. Both 'polynomial' and 'spline' require that\n you also specify an `order` (int), e.g.\n ``df.interpolate(method='polynomial', order=5)``. Note that,\n `slinear` method in Pandas refers to the Scipy first order `spline`\n instead of Pandas first order `spline`.\n * 'krogh', 'piecewise_polynomial', 'spline', 'pchip', 'akima',\n 'cubicspline': Wrappers around the SciPy interpolation methods of\n similar names. See `Notes`.\n * 'from_derivatives': Refers to\n `scipy.interpolate.BPoly.from_derivatives`.\n\naxis : {{0 or 'index', 1 or 'columns', None}}, default None\n Axis to interpolate along. For `Series` this parameter is unused\n and defaults to 0.\nlimit : int, optional\n Maximum number of consecutive NaNs to fill. Must be greater than\n 0.\ninplace : bool, default False\n Update the data in place if possible.\nlimit_direction : {{'forward', 'backward', 'both'}}, Optional\n Consecutive NaNs will be filled in this direction.\n\n If limit is specified:\n * If 'method' is 'pad' or 'ffill', 'limit_direction' must be 'forward'.\n * If 'method' is 'backfill' or 'bfill', 'limit_direction' must be\n 'backwards'.\n\n If 'limit' is not specified:\n * If 'method' is 'backfill' or 'bfill', the default is 'backward'\n * else the default is 'forward'\n\n raises ValueError if `limit_direction` is 'forward' or 'both' and\n method is 'backfill' or 'bfill'.\n raises ValueError if `limit_direction` is 'backward' or 'both' and\n method is 'pad' or 'ffill'.\n\nlimit_area : {{`None`, 'inside', 'outside'}}, default None\n If limit is specified, consecutive NaNs will be filled with this\n restriction.\n\n * ``None``: No fill restriction.\n * 'inside': Only fill NaNs surrounded by valid values\n (interpolate).\n * 'outside': Only fill NaNs outside valid values (extrapolate).\n\ndowncast : optional, 'infer' or None, defaults to None\n Downcast dtypes if possible.\n\n .. deprecated:: 2.1.0\n\n``**kwargs`` : optional\n Keyword arguments to pass on to the interpolating function.\n\nReturns\n-------\nSeries or DataFrame or None\n Returns the same object type as the caller, interpolated at\n some or all ``NaN`` values or None if ``inplace=True``.\n\nSee Also\n--------\nfillna : Fill missing values using different methods.\nscipy.interpolate.Akima1DInterpolator : Piecewise cubic polynomials\n (Akima interpolator).\nscipy.interpolate.BPoly.from_derivatives : Piecewise polynomial in the\n Bernstein basis.\nscipy.interpolate.interp1d : Interpolate a 1-D function.\nscipy.interpolate.KroghInterpolator : Interpolate polynomial (Krogh\n interpolator).\nscipy.interpolate.PchipInterpolator : PCHIP 1-d monotonic cubic\n interpolation.\nscipy.interpolate.CubicSpline : Cubic spline data interpolator.\n\nNotes\n-----\nThe 'krogh', 'piecewise_polynomial', 'spline', 'pchip' and 'akima'\nmethods are wrappers around the respective SciPy implementations of\nsimilar names. These use the actual numerical values of the index.\nFor more information on their behavior, see the\n`SciPy documentation\n`__.\n\nExamples\n--------\nFilling in ``NaN`` in a :class:`~pandas.Series` via linear\ninterpolation.\n\n>>> s = pd.Series([0, 1, np.nan, 3])\n>>> s\n0 0.0\n1 1.0\n2 NaN\n3 3.0\ndtype: float64\n>>> s.interpolate()\n0 0.0\n1 1.0\n2 2.0\n3 3.0\ndtype: float64\n\nFilling in ``NaN`` in a Series via polynomial interpolation or splines:\nBoth 'polynomial' and 'spline' methods require that you also specify\nan ``order`` (int).\n\n>>> s = pd.Series([0, 2, np.nan, 8])\n>>> s.interpolate(method='polynomial', order=2)\n0 0.000000\n1 2.000000\n2 4.666667\n3 8.000000\ndtype: float64\n\nFill the DataFrame forward (that is, going down) along each column\nusing linear interpolation.\n\nNote how the last entry in column 'a' is interpolated differently,\nbecause there is no entry after it to use for interpolation.\nNote how the first entry in column 'b' remains ``NaN``, because there\nis no entry before it to use for interpolation.\n\n>>> df = pd.DataFrame([(0.0, np.nan, -1.0, 1.0),\n... (np.nan, 2.0, np.nan, np.nan),\n... (2.0, 3.0, np.nan, 9.0),\n... (np.nan, 4.0, -4.0, 16.0)],\n... columns=list('abcd'))\n>>> df\n a b c d\n0 0.0 NaN -1.0 1.0\n1 NaN 2.0 NaN NaN\n2 2.0 3.0 NaN 9.0\n3 NaN 4.0 -4.0 16.0\n>>> df.interpolate(method='linear', limit_direction='forward', axis=0)\n a b c d\n0 0.0 NaN -1.0 1.0\n1 1.0 2.0 -2.0 5.0\n2 2.0 3.0 -3.0 9.0\n3 2.0 4.0 -4.0 16.0\n\nUsing polynomial interpolation.\n\n>>> df['d'].interpolate(method='polynomial', order=2)\n0 1.0\n1 4.0\n2 9.0\n3 16.0\nName: d, dtype: float64\n"}, "kind": 2, "label": "interpolate", "sortText": " 82"}, {"detail": "bound method DataFrame.isetitem(loc, value) -> None", "documentation": {"kind": "plaintext", "value": "Set the given value in the column with position `loc`.\n\nThis is a positional analogue to ``__setitem__``.\n\nParameters\n----------\nloc : int or sequence of ints\n Index position for the column.\nvalue : scalar or arraylike\n Value(s) for the column.\n\nNotes\n-----\n``frame.isetitem(loc, value)`` is an in-place method as it will\nmodify the DataFrame in place (not returning a new object). In contrast to\n``frame.iloc[:, i] = value`` which will try to update the existing values in\nplace, ``frame.isetitem(loc, value)`` will not update the values of the column\nitself in place, it will instead insert a new array.\n\nIn cases where ``frame.columns`` is unique, this is equivalent to\n``frame[frame.columns[i]] = value``.\n"}, "kind": 2, "label": "isetitem", "sortText": " 83"}, {"detail": "bound method DataFrame.isin(values: Series | DataFrame | Sequence[Unknown] | Mapping[Unknown, Unknown]) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Whether each element in the DataFrame is contained in values.\n\nParameters\n----------\nvalues : iterable, Series, DataFrame or dict\n The result will only be true at a location if all the\n labels match. If `values` is a Series, that's the index. If\n `values` is a dict, the keys must be the column names,\n which must match. If `values` is a DataFrame,\n then both the index and column labels must match.\n\nReturns\n-------\nDataFrame\n DataFrame of booleans showing whether each element in the DataFrame\n is contained in values.\n\nSee Also\n--------\nDataFrame.eq: Equality test for DataFrame.\nSeries.isin: Equivalent method on Series.\nSeries.str.contains: Test if pattern or regex is contained within a\n string of a Series or Index.\n\nExamples\n--------\n>>> df = pd.DataFrame({'num_legs': [2, 4], 'num_wings': [2, 0]},\n... index=['falcon', 'dog'])\n>>> df\n num_legs num_wings\nfalcon 2 2\ndog 4 0\n\nWhen ``values`` is a list check whether every value in the DataFrame\nis present in the list (which animals have 0 or 2 legs or wings)\n\n>>> df.isin([0, 2])\n num_legs num_wings\nfalcon True True\ndog False True\n\nTo check if ``values`` is *not* in the DataFrame, use the ``~`` operator:\n\n>>> ~df.isin([0, 2])\n num_legs num_wings\nfalcon False False\ndog True False\n\nWhen ``values`` is a dict, we can pass values to check for each\ncolumn separately:\n\n>>> df.isin({'num_wings': [0, 3]})\n num_legs num_wings\nfalcon False False\ndog False True\n\nWhen ``values`` is a Series or DataFrame the index and column must\nmatch. Note that 'falcon' does not match based on the number of legs\nin other.\n\n>>> other = pd.DataFrame({'num_legs': [8, 3], 'num_wings': [0, 2]},\n... index=['spider', 'falcon'])\n>>> df.isin(other)\n num_legs num_wings\nfalcon False True\ndog False False\n"}, "kind": 2, "label": "isin", "sortText": " 84"}, {"detail": "bound method DataFrame.isna() -> DataFrame", "kind": 2, "label": "isna", "sortText": " 85"}, {"detail": "bound method DataFrame.isnull() -> DataFrame", "documentation": {"kind": "plaintext", "value": "DataFrame.isnull is an alias for DataFrame.isna.\n"}, "kind": 2, "label": "isnull", "sortText": " 86"}, {"detail": "bound method DataFrame.items() -> Iterable[tuple[Hashable, Series]]", "kind": 2, "label": "items", "sortText": " 87"}, {"detail": "bound method DataFrame.iterrows() -> Iterable[tuple[Hashable, Series]]", "documentation": {"kind": "plaintext", "value": "Iterate over DataFrame rows as (index, Series) pairs.\n\nYields\n------\nindex : label or tuple of label\n The index of the row. A tuple for a `MultiIndex`.\ndata : Series\n The data of the row as a Series.\n\nSee Also\n--------\nDataFrame.itertuples : Iterate over DataFrame rows as namedtuples of the values.\nDataFrame.items : Iterate over (column name, Series) pairs.\n\nNotes\n-----\n1. Because ``iterrows`` returns a Series for each row,\n it does **not** preserve dtypes across the rows (dtypes are\n preserved across columns for DataFrames).\n\n To preserve dtypes while iterating over the rows, it is better\n to use :meth:`itertuples` which returns namedtuples of the values\n and which is generally faster than ``iterrows``.\n\n2. You should **never modify** something you are iterating over.\n This is not guaranteed to work in all cases. Depending on the\n data types, the iterator returns a copy and not a view, and writing\n to it will have no effect.\n\nExamples\n--------\n\n>>> df = pd.DataFrame([[1, 1.5]], columns=['int', 'float'])\n>>> row = next(df.iterrows())[1]\n>>> row\nint 1.0\nfloat 1.5\nName: 0, dtype: float64\n>>> print(row['int'].dtype)\nfloat64\n>>> print(df['int'].dtype)\nint64\n"}, "kind": 2, "label": "iterrows", "sortText": " 88"}, {"detail": "bound method DataFrame.itertuples(index: bool = True, name: str | None = \"Pandas\") -> Iterable[tuple[Any, ...]]", "documentation": {"kind": "plaintext", "value": "Iterate over DataFrame rows as namedtuples.\n\nParameters\n----------\nindex : bool, default True\n If True, return the index as the first element of the tuple.\nname : str or None, default \"Pandas\"\n The name of the returned namedtuples or None to return regular\n tuples.\n\nReturns\n-------\niterator\n An object to iterate over namedtuples for each row in the\n DataFrame with the first field possibly being the index and\n following fields being the column values.\n\nSee Also\n--------\nDataFrame.iterrows : Iterate over DataFrame rows as (index, Series)\n pairs.\nDataFrame.items : Iterate over (column name, Series) pairs.\n\nNotes\n-----\nThe column names will be renamed to positional names if they are\ninvalid Python identifiers, repeated, or start with an underscore.\n\nExamples\n--------\n>>> df = pd.DataFrame({'num_legs': [4, 2], 'num_wings': [0, 2]},\n... index=['dog', 'hawk'])\n>>> df\n num_legs num_wings\ndog 4 0\nhawk 2 2\n>>> for row in df.itertuples():\n... print(row)\n...\nPandas(Index='dog', num_legs=4, num_wings=0)\nPandas(Index='hawk', num_legs=2, num_wings=2)\n\nBy setting the `index` parameter to False we can remove the index\nas the first element of the tuple:\n\n>>> for row in df.itertuples(index=False):\n... print(row)\n...\nPandas(num_legs=4, num_wings=0)\nPandas(num_legs=2, num_wings=2)\n\nWith the `name` parameter set we set a custom name for the yielded\nnamedtuples:\n\n>>> for row in df.itertuples(name='Animal'):\n... print(row)\n...\nAnimal(Index='dog', num_legs=4, num_wings=0)\nAnimal(Index='hawk', num_legs=2, num_wings=2)\n"}, "kind": 2, "label": "itertuples", "sortText": " 89"}, {"detail": "bound method DataFrame.join(other: DataFrame | Series | Iterable[DataFrame | Series], on: Hashable | Sequence[Hashable] = None, how: Literal[\"left\", \"right\", \"inner\", \"outer\", \"cross\"] = \"left\", lsuffix: str = \"\", rsuffix: str = \"\", sort: bool = False, validate: Literal[\"one_to_one\", \"1:1\", \"one_to_many\", \"1:m\", \"many_to_one\", ... omitted 3 literals] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Join columns of another DataFrame.\n\nJoin columns with `other` DataFrame either on index or on a key\ncolumn. Efficiently join multiple DataFrame objects by index at once by\npassing a list.\n\nParameters\n----------\nother : DataFrame, Series, or a list containing any combination of them\n Index should be similar to one of the columns in this one. If a\n Series is passed, its name attribute must be set, and that will be\n used as the column name in the resulting joined DataFrame.\non : str, list of str, or array-like, optional\n Column or index level name(s) in the caller to join on the index\n in `other`, otherwise joins index-on-index. If multiple\n values given, the `other` DataFrame must have a MultiIndex. Can\n pass an array as the join key if it is not already contained in\n the calling DataFrame. Like an Excel VLOOKUP operation.\nhow : {'left', 'right', 'outer', 'inner', 'cross'}, default 'left'\n How to handle the operation of the two objects.\n\n * left: use calling frame's index (or column if on is specified)\n * right: use `other`'s index.\n * outer: form union of calling frame's index (or column if on is\n specified) with `other`'s index, and sort it lexicographically.\n * inner: form intersection of calling frame's index (or column if\n on is specified) with `other`'s index, preserving the order\n of the calling's one.\n * cross: creates the cartesian product from both frames, preserves the order\n of the left keys.\nlsuffix : str, default ''\n Suffix to use from left frame's overlapping columns.\nrsuffix : str, default ''\n Suffix to use from right frame's overlapping columns.\nsort : bool, default False\n Order result DataFrame lexicographically by the join key. If False,\n the order of the join key depends on the join type (how keyword).\nvalidate : str, optional\n If specified, checks if join is of specified type.\n\n * \"one_to_one\" or \"1:1\": check if join keys are unique in both left\n and right datasets.\n * \"one_to_many\" or \"1:m\": check if join keys are unique in left dataset.\n * \"many_to_one\" or \"m:1\": check if join keys are unique in right dataset.\n * \"many_to_many\" or \"m:m\": allowed, but does not result in checks.\n\n .. versionadded:: 1.5.0\n\nReturns\n-------\nDataFrame\n A dataframe containing columns from both the caller and `other`.\n\nSee Also\n--------\nDataFrame.merge : For column(s)-on-column(s) operations.\n\nNotes\n-----\nParameters `on`, `lsuffix`, and `rsuffix` are not supported when\npassing a list of `DataFrame` objects.\n\nExamples\n--------\n>>> df = pd.DataFrame({'key': ['K0', 'K1', 'K2', 'K3', 'K4', 'K5'],\n... 'A': ['A0', 'A1', 'A2', 'A3', 'A4', 'A5']})\n\n>>> df\n key A\n0 K0 A0\n1 K1 A1\n2 K2 A2\n3 K3 A3\n4 K4 A4\n5 K5 A5\n\n>>> other = pd.DataFrame({'key': ['K0', 'K1', 'K2'],\n... 'B': ['B0', 'B1', 'B2']})\n\n>>> other\n key B\n0 K0 B0\n1 K1 B1\n2 K2 B2\n\nJoin DataFrames using their indexes.\n\n>>> df.join(other, lsuffix='_caller', rsuffix='_other')\n key_caller A key_other B\n0 K0 A0 K0 B0\n1 K1 A1 K1 B1\n2 K2 A2 K2 B2\n3 K3 A3 NaN NaN\n4 K4 A4 NaN NaN\n5 K5 A5 NaN NaN\n\nIf we want to join using the key columns, we need to set key to be\nthe index in both `df` and `other`. The joined DataFrame will have\nkey as its index.\n\n>>> df.set_index('key').join(other.set_index('key'))\n A B\nkey\nK0 A0 B0\nK1 A1 B1\nK2 A2 B2\nK3 A3 NaN\nK4 A4 NaN\nK5 A5 NaN\n\nAnother option to join using the key columns is to use the `on`\nparameter. DataFrame.join always uses `other`'s index but we can use\nany column in `df`. This method preserves the original DataFrame's\nindex in the result.\n\n>>> df.join(other.set_index('key'), on='key')\n key A B\n0 K0 A0 B0\n1 K1 A1 B1\n2 K2 A2 B2\n3 K3 A3 NaN\n4 K4 A4 NaN\n5 K5 A5 NaN\n\nUsing non-unique key values shows how they are matched.\n\n>>> df = pd.DataFrame({'key': ['K0', 'K1', 'K1', 'K3', 'K0', 'K1'],\n... 'A': ['A0', 'A1', 'A2', 'A3', 'A4', 'A5']})\n\n>>> df\n key A\n0 K0 A0\n1 K1 A1\n2 K1 A2\n3 K3 A3\n4 K0 A4\n5 K1 A5\n\n>>> df.join(other.set_index('key'), on='key', validate='m:1')\n key A B\n0 K0 A0 B0\n1 K1 A1 B1\n2 K1 A2 B1\n3 K3 A3 NaN\n4 K0 A4 B0\n5 K1 A5 B1\n"}, "kind": 2, "label": "join", "sortText": " 90"}, {"detail": "bound method DataFrame.keys() -> Index", "documentation": {"kind": "plaintext", "value": "Get the 'info axis' (see Indexing for more).\n\nThis is index for Series, columns for DataFrame.\n\nReturns\n-------\nIndex\n Info axis.\n\nExamples\n--------\n>>> d = pd.DataFrame(data={'A': [1, 2, 3], 'B': [0, 4, 8]},\n... index=['a', 'b', 'c'])\n>>> d\n A B\na 1 0\nb 2 4\nc 3 8\n>>> d.keys()\nIndex(['A', 'B'], dtype='object')\n"}, "kind": 2, "label": "keys", "sortText": " 91"}, {"detail": "bound method DataFrame.kurt(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "kurt", "sortText": " 92"}, {"detail": "(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 3, "label": "kurtosis", "sortText": " 93"}, {"detail": "bound method DataFrame.last(offset) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Select final periods of time series data based on a date offset.\n\n.. deprecated:: 2.1\n :meth:`.last` is deprecated and will be removed in a future version.\n Please create a mask and filter using `.loc` instead.\n\nFor a DataFrame with a sorted DatetimeIndex, this function\nselects the last few rows based on a date offset.\n\nParameters\n----------\noffset : str, DateOffset, dateutil.relativedelta\n The offset length of the data that will be selected. For instance,\n '3D' will display all the rows having their index within the last 3 days.\n\nReturns\n-------\nSeries or DataFrame\n A subset of the caller.\n\nRaises\n------\nTypeError\n If the index is not a :class:`DatetimeIndex`\n\nSee Also\n--------\nfirst : Select initial periods of time series based on a date offset.\nat_time : Select values at a particular time of the day.\nbetween_time : Select values between particular times of the day.\n\nNotes\n-----\n.. deprecated:: 2.1.0\n Please create a mask and filter using `.loc` instead\n\nExamples\n--------\n>>> i = pd.date_range('2018-04-09', periods=4, freq='2D')\n>>> ts = pd.DataFrame({'A': [1, 2, 3, 4]}, index=i)\n>>> ts\n A\n2018-04-09 1\n2018-04-11 2\n2018-04-13 3\n2018-04-15 4\n\nGet the rows for the last 3 days:\n\n>>> ts.last('3D') # doctest: +SKIP\n A\n2018-04-13 3\n2018-04-15 4\n\nNotice the data for 3 last calendar days were returned, not the last\n3 observed days in the dataset, and therefore data for 2018-04-11 was\nnot returned.\n"}, "kind": 2, "label": "last", "sortText": " 94"}, {"detail": "bound method DataFrame.last_valid_index() -> Hashable", "kind": 2, "label": "last_valid_index", "sortText": " 95"}, {"detail": "bound method DataFrame.le(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "le", "sortText": " 96"}, {"detail": "_LocIndexer", "kind": 22, "label": "loc", "sortText": " 97"}, {"detail": "bound method DataFrame.lt(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "lt", "sortText": " 98"}, {"detail": "bound method DataFrame.map(func: (Any, /) -> Any, na_action: str | None = None, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Apply a function to a Dataframe elementwise.\n\n.. versionadded:: 2.1.0\n\n DataFrame.applymap was deprecated and renamed to DataFrame.map.\n\nThis method applies a function that accepts and returns a scalar\nto every element of a DataFrame.\n\nParameters\n----------\nfunc : callable\n Python function, returns a single value from a single value.\nna_action : {None, 'ignore'}, default None\n If 'ignore', propagate NaN values, without passing them to func.\n**kwargs\n Additional keyword arguments to pass as keywords arguments to\n `func`.\n\nReturns\n-------\nDataFrame\n Transformed DataFrame.\n\nSee Also\n--------\nDataFrame.apply : Apply a function along input axis of DataFrame.\nDataFrame.replace: Replace values given in `to_replace` with `value`.\nSeries.map : Apply a function elementwise on a Series.\n\nExamples\n--------\n>>> df = pd.DataFrame([[1, 2.12], [3.356, 4.567]])\n>>> df\n 0 1\n0 1.000 2.120\n1 3.356 4.567\n\n>>> df.map(lambda x: len(str(x)))\n 0 1\n0 3 4\n1 5 5\n\nLike Series.map, NA values can be ignored:\n\n>>> df_copy = df.copy()\n>>> df_copy.iloc[0, 0] = pd.NA\n>>> df_copy.map(lambda x: len(str(x)), na_action='ignore')\n 0 1\n0 NaN 4\n1 5.0 5\n\nIt is also possible to use `map` with functions that are not\n`lambda` functions:\n\n>>> df.map(round, ndigits=1)\n 0 1\n0 1.0 2.1\n1 3.4 4.6\n\nNote that a vectorized version of `func` often exists, which will\nbe much faster. You could square each number elementwise.\n\n>>> df.map(lambda x: x**2)\n 0 1\n0 1.000000 4.494400\n1 11.262736 20.857489\n\nBut it's better to avoid map in that case.\n\n>>> df ** 2\n 0 1\n0 1.000000 4.494400\n1 11.262736 20.857489\n"}, "kind": 2, "label": "map", "sortText": " 99"}, {"detail": "Overload[(cond, other=..., *, inplace: Literal[False] = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> DataFrame, (cond, other=..., *, inplace: Literal[True], axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> None, (cond, other=..., *, inplace: bool = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> DataFrame | None]", "kind": 2, "label": "mask", "sortText": "100"}, {"detail": "bound method DataFrame.max(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "max", "sortText": "101"}, {"detail": "bound method DataFrame.mean(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "mean", "sortText": "102"}, {"detail": "bound method DataFrame.median(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "median", "sortText": "103"}, {"detail": "bound method DataFrame.melt(id_vars=None, value_vars=None, var_name=None, value_name: Hashable = \"value\", col_level: Hashable = None, ignore_index: bool = True) -> DataFrame", "kind": 2, "label": "melt", "sortText": "104"}, {"detail": "bound method DataFrame.memory_usage(index: bool = True, deep: bool = False) -> Series", "documentation": {"kind": "plaintext", "value": "Return the memory usage of each column in bytes.\n\nThe memory usage can optionally include the contribution of\nthe index and elements of `object` dtype.\n\nThis value is displayed in `DataFrame.info` by default. This can be\nsuppressed by setting ``pandas.options.display.memory_usage`` to False.\n\nParameters\n----------\nindex : bool, default True\n Specifies whether to include the memory usage of the DataFrame's\n index in returned Series. If ``index=True``, the memory usage of\n the index is the first item in the output.\ndeep : bool, default False\n If True, introspect the data deeply by interrogating\n `object` dtypes for system-level memory consumption, and include\n it in the returned values.\n\nReturns\n-------\nSeries\n A Series whose index is the original column names and whose values\n is the memory usage of each column in bytes.\n\nSee Also\n--------\nnumpy.ndarray.nbytes : Total bytes consumed by the elements of an\n ndarray.\nSeries.memory_usage : Bytes consumed by a Series.\nCategorical : Memory-efficient array for string values with\n many repeated values.\nDataFrame.info : Concise summary of a DataFrame.\n\nNotes\n-----\nSee the :ref:`Frequently Asked Questions ` for more\ndetails.\n\nExamples\n--------\n>>> dtypes = ['int64', 'float64', 'complex128', 'object', 'bool']\n>>> data = dict([(t, np.ones(shape=5000, dtype=int).astype(t))\n... for t in dtypes])\n>>> df = pd.DataFrame(data)\n>>> df.head()\n int64 float64 complex128 object bool\n0 1 1.0 1.0+0.0j 1 True\n1 1 1.0 1.0+0.0j 1 True\n2 1 1.0 1.0+0.0j 1 True\n3 1 1.0 1.0+0.0j 1 True\n4 1 1.0 1.0+0.0j 1 True\n\n>>> df.memory_usage()\nIndex 128\nint64 40000\nfloat64 40000\ncomplex128 80000\nobject 40000\nbool 5000\ndtype: int64\n\n>>> df.memory_usage(index=False)\nint64 40000\nfloat64 40000\ncomplex128 80000\nobject 40000\nbool 5000\ndtype: int64\n\nThe memory footprint of `object` dtype columns is ignored by default:\n\n>>> df.memory_usage(deep=True)\nIndex 128\nint64 40000\nfloat64 40000\ncomplex128 80000\nobject 180000\nbool 5000\ndtype: int64\n\nUse a Categorical for efficient storage of an object-dtype column with\nmany repeated values.\n\n>>> df['object'].astype('category').memory_usage(deep=True)\n5244\n"}, "kind": 2, "label": "memory_usage", "sortText": "105"}, {"detail": "bound method DataFrame.merge(right: DataFrame | Series, how: Literal[\"left\", \"right\", \"inner\", \"outer\", \"cross\"] = \"inner\", on: Hashable | Sequence[Hashable] | ExtensionArray | ... omitted 3 union elements = None, left_on: Hashable | Sequence[Hashable] | ExtensionArray | ... omitted 3 union elements = None, right_on: Hashable | Sequence[Hashable] | ExtensionArray | ... omitted 3 union elements = None, left_index: bool = False, right_index: bool = False, sort: bool = False, suffixes: tuple[str | None, str | None] = ..., copy: bool | None = None, indicator: str | bool = False, validate: Literal[\"one_to_one\", \"1:1\", \"one_to_many\", \"1:m\", \"many_to_one\", ... omitted 3 literals] | None = None) -> DataFrame", "kind": 2, "label": "merge", "sortText": "106"}, {"detail": "bound method DataFrame.min(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "min", "sortText": "107"}, {"detail": "bound method DataFrame.mod(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "mod", "sortText": "108"}, {"detail": "bound method DataFrame.mode(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, numeric_only: bool = False, dropna: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Get the mode(s) of each element along the selected axis.\n\nThe mode of a set of values is the value that appears most often.\nIt can be multiple values.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to iterate over while searching for the mode:\n\n * 0 or 'index' : get mode of each column\n * 1 or 'columns' : get mode of each row.\n\nnumeric_only : bool, default False\n If True, only apply to numeric columns.\ndropna : bool, default True\n Don't consider counts of NaN/NaT.\n\nReturns\n-------\nDataFrame\n The modes of each column or row.\n\nSee Also\n--------\nSeries.mode : Return the highest frequency value in a Series.\nSeries.value_counts : Return the counts of values in a Series.\n\nExamples\n--------\n>>> df = pd.DataFrame([('bird', 2, 2),\n... ('mammal', 4, np.nan),\n... ('arthropod', 8, 0),\n... ('bird', 2, np.nan)],\n... index=('falcon', 'horse', 'spider', 'ostrich'),\n... columns=('species', 'legs', 'wings'))\n>>> df\n species legs wings\nfalcon bird 2 2.0\nhorse mammal 4 NaN\nspider arthropod 8 0.0\nostrich bird 2 NaN\n\nBy default, missing values are not considered, and the mode of wings\nare both 0 and 2. Because the resulting DataFrame has two rows,\nthe second row of ``species`` and ``legs`` contains ``NaN``.\n\n>>> df.mode()\n species legs wings\n0 bird 2.0 0.0\n1 NaN NaN 2.0\n\nSetting ``dropna=False`` ``NaN`` values are considered and they can be\nthe mode (like for wings).\n\n>>> df.mode(dropna=False)\n species legs wings\n0 bird 2 NaN\n\nSetting ``numeric_only=True``, only the mode of numeric columns is\ncomputed, and columns of other types are ignored.\n\n>>> df.mode(numeric_only=True)\n legs wings\n0 2.0 0.0\n1 NaN 2.0\n\nTo compute the mode over columns and not rows, use the axis parameter:\n\n>>> df.mode(axis='columns', numeric_only=True)\n 0 1\nfalcon 2.0 NaN\nhorse 4.0 NaN\nspider 0.0 8.0\nostrich 2.0 NaN\n"}, "kind": 2, "label": "mode", "sortText": "109"}, {"detail": "bound method DataFrame.mul(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "mul", "sortText": "110"}, {"detail": "(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 3, "label": "multiply", "sortText": "111"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "name", "sortText": "112"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "ndim", "sortText": "113"}, {"detail": "bound method DataFrame.ne(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "ne", "sortText": "114"}, {"detail": "bound method DataFrame.nlargest(n: int, columns: Hashable | Sequence[Hashable], keep: Literal[\"first\", \"last\", \"all\"] = \"first\") -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the first `n` rows ordered by `columns` in descending order.\n\nReturn the first `n` rows with the largest values in `columns`, in\ndescending order. The columns that are not specified are returned as\nwell, but not used for ordering.\n\nThis method is equivalent to\n``df.sort_values(columns, ascending=False).head(n)``, but more\nperformant.\n\nParameters\n----------\nn : int\n Number of rows to return.\ncolumns : label or list of labels\n Column label(s) to order by.\nkeep : {'first', 'last', 'all'}, default 'first'\n Where there are duplicate values:\n\n - ``first`` : prioritize the first occurrence(s)\n - ``last`` : prioritize the last occurrence(s)\n - ``all`` : keep all the ties of the smallest item even if it means\n selecting more than ``n`` items.\n\nReturns\n-------\nDataFrame\n The first `n` rows ordered by the given columns in descending\n order.\n\nSee Also\n--------\nDataFrame.nsmallest : Return the first `n` rows ordered by `columns` in\n ascending order.\nDataFrame.sort_values : Sort DataFrame by the values.\nDataFrame.head : Return the first `n` rows without re-ordering.\n\nNotes\n-----\nThis function cannot be used with all column types. For example, when\nspecifying columns with `object` or `category` dtypes, ``TypeError`` is\nraised.\n\nExamples\n--------\n>>> df = pd.DataFrame({'population': [59000000, 65000000, 434000,\n... 434000, 434000, 337000, 11300,\n... 11300, 11300],\n... 'GDP': [1937894, 2583560 , 12011, 4520, 12128,\n... 17036, 182, 38, 311],\n... 'alpha-2': [\"IT\", \"FR\", \"MT\", \"MV\", \"BN\",\n... \"IS\", \"NR\", \"TV\", \"AI\"]},\n... index=[\"Italy\", \"France\", \"Malta\",\n... \"Maldives\", \"Brunei\", \"Iceland\",\n... \"Nauru\", \"Tuvalu\", \"Anguilla\"])\n>>> df\n population GDP alpha-2\nItaly 59000000 1937894 IT\nFrance 65000000 2583560 FR\nMalta 434000 12011 MT\nMaldives 434000 4520 MV\nBrunei 434000 12128 BN\nIceland 337000 17036 IS\nNauru 11300 182 NR\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\n\nIn the following example, we will use ``nlargest`` to select the three\nrows having the largest values in column \"population\".\n\n>>> df.nlargest(3, 'population')\n population GDP alpha-2\nFrance 65000000 2583560 FR\nItaly 59000000 1937894 IT\nMalta 434000 12011 MT\n\nWhen using ``keep='last'``, ties are resolved in reverse order:\n\n>>> df.nlargest(3, 'population', keep='last')\n population GDP alpha-2\nFrance 65000000 2583560 FR\nItaly 59000000 1937894 IT\nBrunei 434000 12128 BN\n\nWhen using ``keep='all'``, the number of element kept can go beyond ``n``\nif there are duplicate values for the smallest element, all the\nties are kept:\n\n>>> df.nlargest(3, 'population', keep='all')\n population GDP alpha-2\nFrance 65000000 2583560 FR\nItaly 59000000 1937894 IT\nMalta 434000 12011 MT\nMaldives 434000 4520 MV\nBrunei 434000 12128 BN\n\nHowever, ``nlargest`` does not keep ``n`` distinct largest elements:\n\n>>> df.nlargest(5, 'population', keep='all')\n population GDP alpha-2\nFrance 65000000 2583560 FR\nItaly 59000000 1937894 IT\nMalta 434000 12011 MT\nMaldives 434000 4520 MV\nBrunei 434000 12128 BN\n\nTo order by the largest values in column \"population\" and then \"GDP\",\nwe can specify multiple columns like in the next example.\n\n>>> df.nlargest(3, ['population', 'GDP'])\n population GDP alpha-2\nFrance 65000000 2583560 FR\nItaly 59000000 1937894 IT\nBrunei 434000 12128 BN\n"}, "kind": 2, "label": "nlargest", "sortText": "115"}, {"detail": "bound method DataFrame.notna() -> DataFrame", "kind": 2, "label": "notna", "sortText": "116"}, {"detail": "bound method DataFrame.notnull() -> DataFrame", "documentation": {"kind": "plaintext", "value": "DataFrame.notnull is an alias for DataFrame.notna.\n"}, "kind": 2, "label": "notnull", "sortText": "117"}, {"detail": "bound method DataFrame.nsmallest(n: int, columns: Hashable | Sequence[Hashable], keep: Literal[\"first\", \"last\", \"all\"] = \"first\") -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the first `n` rows ordered by `columns` in ascending order.\n\nReturn the first `n` rows with the smallest values in `columns`, in\nascending order. The columns that are not specified are returned as\nwell, but not used for ordering.\n\nThis method is equivalent to\n``df.sort_values(columns, ascending=True).head(n)``, but more\nperformant.\n\nParameters\n----------\nn : int\n Number of items to retrieve.\ncolumns : list or str\n Column name or names to order by.\nkeep : {'first', 'last', 'all'}, default 'first'\n Where there are duplicate values:\n\n - ``first`` : take the first occurrence.\n - ``last`` : take the last occurrence.\n - ``all`` : keep all the ties of the largest item even if it means\n selecting more than ``n`` items.\n\nReturns\n-------\nDataFrame\n\nSee Also\n--------\nDataFrame.nlargest : Return the first `n` rows ordered by `columns` in\n descending order.\nDataFrame.sort_values : Sort DataFrame by the values.\nDataFrame.head : Return the first `n` rows without re-ordering.\n\nExamples\n--------\n>>> df = pd.DataFrame({'population': [59000000, 65000000, 434000,\n... 434000, 434000, 337000, 337000,\n... 11300, 11300],\n... 'GDP': [1937894, 2583560 , 12011, 4520, 12128,\n... 17036, 182, 38, 311],\n... 'alpha-2': [\"IT\", \"FR\", \"MT\", \"MV\", \"BN\",\n... \"IS\", \"NR\", \"TV\", \"AI\"]},\n... index=[\"Italy\", \"France\", \"Malta\",\n... \"Maldives\", \"Brunei\", \"Iceland\",\n... \"Nauru\", \"Tuvalu\", \"Anguilla\"])\n>>> df\n population GDP alpha-2\nItaly 59000000 1937894 IT\nFrance 65000000 2583560 FR\nMalta 434000 12011 MT\nMaldives 434000 4520 MV\nBrunei 434000 12128 BN\nIceland 337000 17036 IS\nNauru 337000 182 NR\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\n\nIn the following example, we will use ``nsmallest`` to select the\nthree rows having the smallest values in column \"population\".\n\n>>> df.nsmallest(3, 'population')\n population GDP alpha-2\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\nIceland 337000 17036 IS\n\nWhen using ``keep='last'``, ties are resolved in reverse order:\n\n>>> df.nsmallest(3, 'population', keep='last')\n population GDP alpha-2\nAnguilla 11300 311 AI\nTuvalu 11300 38 TV\nNauru 337000 182 NR\n\nWhen using ``keep='all'``, the number of element kept can go beyond ``n``\nif there are duplicate values for the largest element, all the\nties are kept.\n\n>>> df.nsmallest(3, 'population', keep='all')\n population GDP alpha-2\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\nIceland 337000 17036 IS\nNauru 337000 182 NR\n\nHowever, ``nsmallest`` does not keep ``n`` distinct\nsmallest elements:\n\n>>> df.nsmallest(4, 'population', keep='all')\n population GDP alpha-2\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\nIceland 337000 17036 IS\nNauru 337000 182 NR\n\nTo order by the smallest values in column \"population\" and then \"GDP\", we can\nspecify multiple columns like in the next example.\n\n>>> df.nsmallest(3, ['population', 'GDP'])\n population GDP alpha-2\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\nNauru 337000 182 NR\n"}, "kind": 2, "label": "nsmallest", "sortText": "118"}, {"detail": "bound method DataFrame.nunique(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, dropna: bool = True) -> Series", "documentation": {"kind": "plaintext", "value": "Count number of distinct elements in specified axis.\n\nReturn Series with number of distinct elements. Can ignore NaN\nvalues.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to use. 0 or 'index' for row-wise, 1 or 'columns' for\n column-wise.\ndropna : bool, default True\n Don't include NaN in the counts.\n\nReturns\n-------\nSeries\n\nSee Also\n--------\nSeries.nunique: Method nunique for Series.\nDataFrame.count: Count non-NA cells for each column or row.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [4, 5, 6], 'B': [4, 1, 1]})\n>>> df.nunique()\nA 3\nB 2\ndtype: int64\n\n>>> df.nunique(axis=1)\n0 1\n1 2\n2 2\ndtype: int64\n"}, "kind": 2, "label": "nunique", "sortText": "119"}, {"detail": "bound method DataFrame.pad(*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = None, inplace: bool = False, limit: None | int = None, downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame | None", "documentation": {"kind": "plaintext", "value": "Fill NA/NaN values by propagating the last valid observation to next valid.\n\n.. deprecated:: 2.0\n\n {klass}.pad is deprecated. Use {klass}.ffill instead.\n\nReturns\n-------\n{klass} or None\n Object with missing values filled or None if ``inplace=True``.\n\nExamples\n--------\nPlease see examples for :meth:`DataFrame.ffill` or :meth:`Series.ffill`.\n"}, "kind": 2, "label": "pad", "sortText": "120"}, {"detail": "bound method DataFrame.pct_change(periods: int = 1, fill_method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None | _NoDefault = ..., limit: int | None | _NoDefault = ..., freq=None, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Fractional change between the current and a prior element.\n\nComputes the fractional change from the immediately previous row by\ndefault. This is useful in comparing the fraction of change in a time\nseries of elements.\n\n.. note::\n\n Despite the name of this method, it calculates fractional change\n (also known as per unit change or relative change) and not\n percentage change. If you need the percentage change, multiply\n these values by 100.\n\nParameters\n----------\nperiods : int, default 1\n Periods to shift for forming percent change.\nfill_method : {'backfill', 'bfill', 'pad', 'ffill', None}, default 'pad'\n How to handle NAs **before** computing percent changes.\n\n .. deprecated:: 2.1\n All options of `fill_method` are deprecated except `fill_method=None`.\n\nlimit : int, default None\n The number of consecutive NAs to fill before stopping.\n\n .. deprecated:: 2.1\n\nfreq : DateOffset, timedelta, or str, optional\n Increment to use from time series API (e.g. 'ME' or BDay()).\n**kwargs\n Additional keyword arguments are passed into\n `DataFrame.shift` or `Series.shift`.\n\nReturns\n-------\nSeries or DataFrame\n The same type as the calling object.\n\nSee Also\n--------\nSeries.diff : Compute the difference of two elements in a Series.\nDataFrame.diff : Compute the difference of two elements in a DataFrame.\nSeries.shift : Shift the index by some number of periods.\nDataFrame.shift : Shift the index by some number of periods.\n\nExamples\n--------\n**Series**\n\n>>> s = pd.Series([90, 91, 85])\n>>> s\n0 90\n1 91\n2 85\ndtype: int64\n\n>>> s.pct_change()\n0 NaN\n1 0.011111\n2 -0.065934\ndtype: float64\n\n>>> s.pct_change(periods=2)\n0 NaN\n1 NaN\n2 -0.055556\ndtype: float64\n\nSee the percentage change in a Series where filling NAs with last\nvalid observation forward to next valid.\n\n>>> s = pd.Series([90, 91, None, 85])\n>>> s\n0 90.0\n1 91.0\n2 NaN\n3 85.0\ndtype: float64\n\n>>> s.ffill().pct_change()\n0 NaN\n1 0.011111\n2 0.000000\n3 -0.065934\ndtype: float64\n\n**DataFrame**\n\nPercentage change in French franc, Deutsche Mark, and Italian lira from\n1980-01-01 to 1980-03-01.\n\n>>> df = pd.DataFrame({\n... 'FR': [4.0405, 4.0963, 4.3149],\n... 'GR': [1.7246, 1.7482, 1.8519],\n... 'IT': [804.74, 810.01, 860.13]},\n... index=['1980-01-01', '1980-02-01', '1980-03-01'])\n>>> df\n FR GR IT\n1980-01-01 4.0405 1.7246 804.74\n1980-02-01 4.0963 1.7482 810.01\n1980-03-01 4.3149 1.8519 860.13\n\n>>> df.pct_change()\n FR GR IT\n1980-01-01 NaN NaN NaN\n1980-02-01 0.013810 0.013684 0.006549\n1980-03-01 0.053365 0.059318 0.061876\n\nPercentage of change in GOOG and APPL stock volume. Shows computing\nthe percentage change between columns.\n\n>>> df = pd.DataFrame({\n... '2016': [1769950, 30586265],\n... '2015': [1500923, 40912316],\n... '2014': [1371819, 41403351]},\n... index=['GOOG', 'APPL'])\n>>> df\n 2016 2015 2014\nGOOG 1769950 1500923 1371819\nAPPL 30586265 40912316 41403351\n\n>>> df.pct_change(axis='columns', periods=-1)\n 2016 2015 2014\nGOOG 0.179241 0.094112 NaN\nAPPL -0.252395 -0.011860 NaN\n"}, "kind": 2, "label": "pct_change", "sortText": "121"}, {"detail": "bound method DataFrame.pipe[T](func: ((...) -> T) | tuple[(...) -> T, str], *args, **kwargs) -> T", "documentation": {"kind": "plaintext", "value": "Apply chainable functions that expect Series or DataFrames.\n\nParameters\n----------\nfunc : function\n Function to apply to the {klass}.\n ``args``, and ``kwargs`` are passed into ``func``.\n Alternatively a ``(callable, data_keyword)`` tuple where\n ``data_keyword`` is a string indicating the keyword of\n ``callable`` that expects the {klass}.\n*args : iterable, optional\n Positional arguments passed into ``func``.\n**kwargs : mapping, optional\n A dictionary of keyword arguments passed into ``func``.\n\nReturns\n-------\nthe return type of ``func``.\n\nSee Also\n--------\nDataFrame.apply : Apply a function along input axis of DataFrame.\nDataFrame.map : Apply a function elementwise on a whole DataFrame.\nSeries.map : Apply a mapping correspondence on a\n :class:`~pandas.Series`.\n\nNotes\n-----\nUse ``.pipe`` when chaining together functions that expect\nSeries, DataFrames or GroupBy objects.\n\nExamples\n--------\nConstructing a income DataFrame from a dictionary.\n\n>>> data = [[8000, 1000], [9500, np.nan], [5000, 2000]]\n>>> df = pd.DataFrame(data, columns=['Salary', 'Others'])\n>>> df\n Salary Others\n0 8000 1000.0\n1 9500 NaN\n2 5000 2000.0\n\nFunctions that perform tax reductions on an income DataFrame.\n\n>>> def subtract_federal_tax(df):\n... return df * 0.9\n>>> def subtract_state_tax(df, rate):\n... return df * (1 - rate)\n>>> def subtract_national_insurance(df, rate, rate_increase):\n... new_rate = rate + rate_increase\n... return df * (1 - new_rate)\n\nInstead of writing\n\n>>> subtract_national_insurance(\n... subtract_state_tax(subtract_federal_tax(df), rate=0.12),\n... rate=0.05,\n... rate_increase=0.02) # doctest: +SKIP\n\nYou can write\n\n>>> (\n... df.pipe(subtract_federal_tax)\n... .pipe(subtract_state_tax, rate=0.12)\n... .pipe(subtract_national_insurance, rate=0.05, rate_increase=0.02)\n... )\n Salary Others\n0 5892.48 736.56\n1 6997.32 NaN\n2 3682.80 1473.12\n\nIf you have a function that takes the data as (say) the second\nargument, pass a tuple indicating which keyword expects the\ndata. For example, suppose ``national_insurance`` takes its data as ``df``\nin the second argument:\n\n>>> def subtract_national_insurance(rate, df, rate_increase):\n... new_rate = rate + rate_increase\n... return df * (1 - new_rate)\n>>> (\n... df.pipe(subtract_federal_tax)\n... .pipe(subtract_state_tax, rate=0.12)\n... .pipe(\n... (subtract_national_insurance, 'df'),\n... rate=0.05,\n... rate_increase=0.02\n... )\n... )\n Salary Others\n0 5892.48 736.56\n1 6997.32 NaN\n2 3682.80 1473.12\n"}, "kind": 2, "label": "pipe", "sortText": "122"}, {"detail": "bound method DataFrame.pivot(*, columns, index=..., values=...) -> DataFrame", "kind": 2, "label": "pivot", "sortText": "123"}, {"detail": "bound method DataFrame.pivot_table(values=None, index=None, columns=None, aggfunc: ((...) -> Unknown) | str | list[((...) -> Unknown) | str] | MutableMapping[Hashable, ((...) -> Unknown) | str | list[((...) -> Unknown) | str]] = \"mean\", fill_value=None, margins: bool = False, dropna: bool = True, margins_name: Hashable = \"All\", observed: bool | _NoDefault = ..., sort: bool = True) -> DataFrame", "kind": 2, "label": "pivot_table", "sortText": "124"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "plot", "sortText": "125"}, {"detail": "bound method DataFrame.pop(item: Hashable) -> Series", "documentation": {"kind": "plaintext", "value": "Return item and drop from frame. Raise KeyError if not found.\n\nParameters\n----------\nitem : label\n Label of column to be popped.\n\nReturns\n-------\nSeries\n\nExamples\n--------\n>>> df = pd.DataFrame([('falcon', 'bird', 389.0),\n... ('parrot', 'bird', 24.0),\n... ('lion', 'mammal', 80.5),\n... ('monkey', 'mammal', np.nan)],\n... columns=('name', 'class', 'max_speed'))\n>>> df\n name class max_speed\n0 falcon bird 389.0\n1 parrot bird 24.0\n2 lion mammal 80.5\n3 monkey mammal NaN\n\n>>> df.pop('class')\n0 bird\n1 bird\n2 mammal\n3 mammal\nName: class, dtype: object\n\n>>> df\n name max_speed\n0 falcon 389.0\n1 parrot 24.0\n2 lion 80.5\n3 monkey NaN\n"}, "kind": 2, "label": "pop", "sortText": "126"}, {"detail": "bound method DataFrame.pow(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "pow", "sortText": "127"}, {"detail": "bound method DataFrame.prod(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, min_count: int = 0, **kwargs) -> Unknown", "kind": 2, "label": "prod", "sortText": "128"}, {"detail": "(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, min_count: int = 0, **kwargs) -> Unknown", "kind": 3, "label": "product", "sortText": "129"}, {"detail": "Overload[(q: float = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., numeric_only: bool = ..., interpolation: Literal[\"linear\", \"lower\", \"higher\", \"midpoint\", \"nearest\"] = ..., method: Literal[\"single\", \"table\"] = ...) -> Series, (q: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | Series | Sequence[float], axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., numeric_only: bool = ..., interpolation: Literal[\"linear\", \"lower\", \"higher\", \"midpoint\", \"nearest\"] = ..., method: Literal[\"single\", \"table\"] = ...) -> Series | DataFrame, (q: float | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | ... omitted 3 union elements = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., numeric_only: bool = ..., interpolation: Literal[\"linear\", \"lower\", \"higher\", \"midpoint\", \"nearest\"] = ..., method: Literal[\"single\", \"table\"] = ...) -> Series | DataFrame]", "documentation": {"kind": "plaintext", "value": "Return values at the given quantile over requested axis.\n\nParameters\n----------\nq : float or array-like, default 0.5 (50% quantile)\n Value between 0 <= q <= 1, the quantile(s) to compute.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Equals 0 or 'index' for row-wise, 1 or 'columns' for column-wise.\nnumeric_only : bool, default False\n Include only `float`, `int` or `boolean` data.\n\n .. versionchanged:: 2.0.0\n The default value of ``numeric_only`` is now ``False``.\n\ninterpolation : {'linear', 'lower', 'higher', 'midpoint', 'nearest'}\n This optional parameter specifies the interpolation method to use,\n when the desired quantile lies between two data points `i` and `j`:\n\n * linear: `i + (j - i) * fraction`, where `fraction` is the\n fractional part of the index surrounded by `i` and `j`.\n * lower: `i`.\n * higher: `j`.\n * nearest: `i` or `j` whichever is nearest.\n * midpoint: (`i` + `j`) / 2.\nmethod : {'single', 'table'}, default 'single'\n Whether to compute quantiles per-column ('single') or over all columns\n ('table'). When 'table', the only allowed interpolation methods are\n 'nearest', 'lower', and 'higher'.\n\nReturns\n-------\nSeries or DataFrame\n\n If ``q`` is an array, a DataFrame will be returned where the\n index is ``q``, the columns are the columns of self, and the\n values are the quantiles.\n If ``q`` is a float, a Series will be returned where the\n index is the columns of self and the values are the quantiles.\n\nSee Also\n--------\ncore.window.rolling.Rolling.quantile: Rolling quantile.\nnumpy.percentile: Numpy function to compute the percentile.\n\nExamples\n--------\n>>> df = pd.DataFrame(np.array([[1, 1], [2, 10], [3, 100], [4, 100]]),\n... columns=['a', 'b'])\n>>> df.quantile(.1)\na 1.3\nb 3.7\nName: 0.1, dtype: float64\n>>> df.quantile([.1, .5])\n a b\n0.1 1.3 3.7\n0.5 2.5 55.0\n\nSpecifying `method='table'` will compute the quantile over all columns.\n\n>>> df.quantile(.1, method=\"table\", interpolation=\"nearest\")\na 1\nb 1\nName: 0.1, dtype: int64\n>>> df.quantile([.1, .5], method=\"table\", interpolation=\"nearest\")\n a b\n0.1 1 1\n0.5 3 100\n\nSpecifying `numeric_only=False` will also compute the quantile of\ndatetime and timedelta data.\n\n>>> df = pd.DataFrame({'A': [1, 2],\n... 'B': [pd.Timestamp('2010'),\n... pd.Timestamp('2011')],\n... 'C': [pd.Timedelta('1 days'),\n... pd.Timedelta('2 days')]})\n>>> df.quantile(0.5, numeric_only=False)\nA 1.5\nB 2010-07-02 12:00:00\nC 1 days 12:00:00\nName: 0.5, dtype: object\n"}, "kind": 2, "label": "quantile", "sortText": "130"}, {"detail": "Overload[(expr: str, *, inplace: Literal[False] = ..., **kwargs) -> DataFrame, (expr: str, *, inplace: Literal[True], **kwargs) -> None, (expr: str, *, inplace: bool = ..., **kwargs) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Query the columns of a DataFrame with a boolean expression.\n\nParameters\n----------\nexpr : str\n The query string to evaluate.\n\n You can refer to variables\n in the environment by prefixing them with an '@' character like\n ``@a + b``.\n\n You can refer to column names that are not valid Python variable names\n by surrounding them in backticks. Thus, column names containing spaces\n or punctuations (besides underscores) or starting with digits must be\n surrounded by backticks. (For example, a column named \"Area (cm^2)\" would\n be referenced as ```Area (cm^2)```). Column names which are Python keywords\n (like \"list\", \"for\", \"import\", etc) cannot be used.\n\n For example, if one of your columns is called ``a a`` and you want\n to sum it with ``b``, your query should be ```a a` + b``.\n\ninplace : bool\n Whether to modify the DataFrame rather than creating a new one.\n**kwargs\n See the documentation for :func:`eval` for complete details\n on the keyword arguments accepted by :meth:`DataFrame.query`.\n\nReturns\n-------\nDataFrame or None\n DataFrame resulting from the provided query expression or\n None if ``inplace=True``.\n\nSee Also\n--------\neval : Evaluate a string describing operations on\n DataFrame columns.\nDataFrame.eval : Evaluate a string describing operations on\n DataFrame columns.\n\nNotes\n-----\nThe result of the evaluation of this expression is first passed to\n:attr:`DataFrame.loc` and if that fails because of a\nmultidimensional key (e.g., a DataFrame) then the result will be passed\nto :meth:`DataFrame.__getitem__`.\n\nThis method uses the top-level :func:`eval` function to\nevaluate the passed query.\n\nThe :meth:`~pandas.DataFrame.query` method uses a slightly\nmodified Python syntax by default. For example, the ``&`` and ``|``\n(bitwise) operators have the precedence of their boolean cousins,\n:keyword:`and` and :keyword:`or`. This *is* syntactically valid Python,\nhowever the semantics are different.\n\nYou can change the semantics of the expression by passing the keyword\nargument ``parser='python'``. This enforces the same semantics as\nevaluation in Python space. Likewise, you can pass ``engine='python'``\nto evaluate an expression using Python itself as a backend. This is not\nrecommended as it is inefficient compared to using ``numexpr`` as the\nengine.\n\nThe :attr:`DataFrame.index` and\n:attr:`DataFrame.columns` attributes of the\n:class:`~pandas.DataFrame` instance are placed in the query namespace\nby default, which allows you to treat both the index and columns of the\nframe as a column in the frame.\nThe identifier ``index`` is used for the frame index; you can also\nuse the name of the index to identify it in a query. Please note that\nPython keywords may not be used as identifiers.\n\nFor further details and examples see the ``query`` documentation in\n:ref:`indexing `.\n\n*Backtick quoted variables*\n\nBacktick quoted variables are parsed as literal Python code and\nare converted internally to a Python valid identifier.\nThis can lead to the following problems.\n\nDuring parsing a number of disallowed characters inside the backtick\nquoted string are replaced by strings that are allowed as a Python identifier.\nThese characters include all operators in Python, the space character, the\nquestion mark, the exclamation mark, the dollar sign, and the euro sign.\nFor other characters that fall outside the ASCII range (U+0001..U+007F)\nand those that are not further specified in PEP 3131,\nthe query parser will raise an error.\nThis excludes whitespace different than the space character,\nbut also the hashtag (as it is used for comments) and the backtick\nitself (backtick can also not be escaped).\n\nIn a special case, quotes that make a pair around a backtick can\nconfuse the parser.\nFor example, ```it's` > `that's``` will raise an error,\nas it forms a quoted string (``'s > `that'``) with a backtick inside.\n\nSee also the Python documentation about lexical analysis\n(https://docs.python.org/3/reference/lexical_analysis.html)\nin combination with the source code in :mod:`pandas.core.computation.parsing`.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': range(1, 6),\n... 'B': range(10, 0, -2),\n... 'C C': range(10, 5, -1)})\n>>> df\n A B C C\n0 1 10 10\n1 2 8 9\n2 3 6 8\n3 4 4 7\n4 5 2 6\n>>> df.query('A > B')\n A B C C\n4 5 2 6\n\nThe previous expression is equivalent to\n\n>>> df[df.A > df.B]\n A B C C\n4 5 2 6\n\nFor columns with spaces in their name, you can use backtick quoting.\n\n>>> df.query('B == `C C`')\n A B C C\n0 1 10 10\n\nThe previous expression is equivalent to\n\n>>> df[df.B == df['C C']]\n A B C C\n0 1 10 10\n"}, "kind": 2, "label": "query", "sortText": "131"}, {"detail": "bound method DataFrame.radd(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "radd", "sortText": "132"}, {"detail": "bound method DataFrame.rank(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, method: Literal[\"average\", \"min\", \"max\", \"first\", \"dense\"] = \"average\", numeric_only: bool = False, na_option: Literal[\"keep\", \"top\", \"bottom\"] = \"keep\", ascending: bool = True, pct: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Compute numerical data ranks (1 through n) along axis.\n\nBy default, equal values are assigned a rank that is the average of the\nranks of those values.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Index to direct ranking.\n For `Series` this parameter is unused and defaults to 0.\nmethod : {'average', 'min', 'max', 'first', 'dense'}, default 'average'\n How to rank the group of records that have the same value (i.e. ties):\n\n * average: average rank of the group\n * min: lowest rank in the group\n * max: highest rank in the group\n * first: ranks assigned in order they appear in the array\n * dense: like 'min', but rank always increases by 1 between groups.\n\nnumeric_only : bool, default False\n For DataFrame objects, rank only numeric columns if set to True.\n\n .. versionchanged:: 2.0.0\n The default value of ``numeric_only`` is now ``False``.\n\nna_option : {'keep', 'top', 'bottom'}, default 'keep'\n How to rank NaN values:\n\n * keep: assign NaN rank to NaN values\n * top: assign lowest rank to NaN values\n * bottom: assign highest rank to NaN values\n\nascending : bool, default True\n Whether or not the elements should be ranked in ascending order.\npct : bool, default False\n Whether or not to display the returned rankings in percentile\n form.\n\nReturns\n-------\nsame type as caller\n Return a Series or DataFrame with data ranks as values.\n\nSee Also\n--------\ncore.groupby.DataFrameGroupBy.rank : Rank of values within each group.\ncore.groupby.SeriesGroupBy.rank : Rank of values within each group.\n\nExamples\n--------\n>>> df = pd.DataFrame(data={'Animal': ['cat', 'penguin', 'dog',\n... 'spider', 'snake'],\n... 'Number_legs': [4, 2, 4, 8, np.nan]})\n>>> df\n Animal Number_legs\n0 cat 4.0\n1 penguin 2.0\n2 dog 4.0\n3 spider 8.0\n4 snake NaN\n\nTies are assigned the mean of the ranks (by default) for the group.\n\n>>> s = pd.Series(range(5), index=list(\"abcde\"))\n>>> s[\"d\"] = s[\"b\"]\n>>> s.rank()\na 1.0\nb 2.5\nc 4.0\nd 2.5\ne 5.0\ndtype: float64\n\nThe following example shows how the method behaves with the above\nparameters:\n\n* default_rank: this is the default behaviour obtained without using\n any parameter.\n* max_rank: setting ``method = 'max'`` the records that have the\n same values are ranked using the highest rank (e.g.: since 'cat'\n and 'dog' are both in the 2nd and 3rd position, rank 3 is assigned.)\n* NA_bottom: choosing ``na_option = 'bottom'``, if there are records\n with NaN values they are placed at the bottom of the ranking.\n* pct_rank: when setting ``pct = True``, the ranking is expressed as\n percentile rank.\n\n>>> df['default_rank'] = df['Number_legs'].rank()\n>>> df['max_rank'] = df['Number_legs'].rank(method='max')\n>>> df['NA_bottom'] = df['Number_legs'].rank(na_option='bottom')\n>>> df['pct_rank'] = df['Number_legs'].rank(pct=True)\n>>> df\n Animal Number_legs default_rank max_rank NA_bottom pct_rank\n0 cat 4.0 2.5 3.0 2.5 0.625\n1 penguin 2.0 1.0 1.0 1.0 0.250\n2 dog 4.0 2.5 3.0 2.5 0.625\n3 spider 8.0 4.0 4.0 4.0 1.000\n4 snake NaN NaN NaN 5.0 NaN\n"}, "kind": 2, "label": "rank", "sortText": "133"}, {"detail": "(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 3, "label": "rdiv", "sortText": "134"}, {"detail": "bound method DataFrame.reindex(labels=None, *, index=None, columns=None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\", \"nearest\"] | None = None, copy: bool | None = None, level: Hashable = None, fill_value: str | float | Period | ... omitted 6 union elements = ..., limit: int | None = None, tolerance=None) -> DataFrame", "kind": 2, "label": "reindex", "sortText": "135"}, {"detail": "bound method DataFrame.reindex_like(other, method: Literal[\"backfill\", \"bfill\", \"pad\", \"ffill\", \"nearest\"] | None = None, copy: bool | None = None, limit: int | None = None, tolerance=None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return an object with matching indices as other object.\n\nConform the object to the same index on all axes. Optional\nfilling logic, placing NaN in locations having no value\nin the previous index. A new object is produced unless the\nnew index is equivalent to the current one and copy=False.\n\nParameters\n----------\nother : Object of the same data type\n Its row and column indices are used to define the new indices\n of this object.\nmethod : {None, 'backfill'/'bfill', 'pad'/'ffill', 'nearest'}\n Method to use for filling holes in reindexed DataFrame.\n Please note: this is only applicable to DataFrames/Series with a\n monotonically increasing/decreasing index.\n\n * None (default): don't fill gaps\n * pad / ffill: propagate last valid observation forward to next\n valid\n * backfill / bfill: use next valid observation to fill gap\n * nearest: use nearest valid observations to fill gap.\n\ncopy : bool, default True\n Return a new object, even if the passed indexes are the same.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\nlimit : int, default None\n Maximum number of consecutive labels to fill for inexact matches.\ntolerance : optional\n Maximum distance between original and new labels for inexact\n matches. The values of the index at the matching locations must\n satisfy the equation ``abs(index[indexer] - target) <= tolerance``.\n\n Tolerance may be a scalar value, which applies the same tolerance\n to all values, or list-like, which applies variable tolerance per\n element. List-like includes list, tuple, array, Series, and must be\n the same size as the index and its dtype must exactly match the\n index's type.\n\nReturns\n-------\nSeries or DataFrame\n Same type as caller, but with changed indices on each axis.\n\nSee Also\n--------\nDataFrame.set_index : Set row labels.\nDataFrame.reset_index : Remove row labels or move them to new columns.\nDataFrame.reindex : Change to new indices or expand indices.\n\nNotes\n-----\nSame as calling\n``.reindex(index=other.index, columns=other.columns,...)``.\n\nExamples\n--------\n>>> df1 = pd.DataFrame([[24.3, 75.7, 'high'],\n... [31, 87.8, 'high'],\n... [22, 71.6, 'medium'],\n... [35, 95, 'medium']],\n... columns=['temp_celsius', 'temp_fahrenheit',\n... 'windspeed'],\n... index=pd.date_range(start='2014-02-12',\n... end='2014-02-15', freq='D'))\n\n>>> df1\n temp_celsius temp_fahrenheit windspeed\n2014-02-12 24.3 75.7 high\n2014-02-13 31.0 87.8 high\n2014-02-14 22.0 71.6 medium\n2014-02-15 35.0 95.0 medium\n\n>>> df2 = pd.DataFrame([[28, 'low'],\n... [30, 'low'],\n... [35.1, 'medium']],\n... columns=['temp_celsius', 'windspeed'],\n... index=pd.DatetimeIndex(['2014-02-12', '2014-02-13',\n... '2014-02-15']))\n\n>>> df2\n temp_celsius windspeed\n2014-02-12 28.0 low\n2014-02-13 30.0 low\n2014-02-15 35.1 medium\n\n>>> df2.reindex_like(df1)\n temp_celsius temp_fahrenheit windspeed\n2014-02-12 28.0 NaN low\n2014-02-13 30.0 NaN low\n2014-02-14 NaN NaN NaN\n2014-02-15 35.1 NaN medium\n"}, "kind": 2, "label": "reindex_like", "sortText": "136"}, {"detail": "Overload[(mapper: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., *, index: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., columns: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., copy: bool | None = ..., inplace: Literal[True], level: Hashable = ..., errors: Literal[\"ignore\", \"raise\"] = ...) -> None, (mapper: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., *, index: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., columns: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., copy: bool | None = ..., inplace: Literal[False] = ..., level: Hashable = ..., errors: Literal[\"ignore\", \"raise\"] = ...) -> DataFrame, (mapper: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., *, index: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., columns: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., copy: bool | None = ..., inplace: bool = ..., level: Hashable = ..., errors: Literal[\"ignore\", \"raise\"] = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Rename columns or index labels.\n\nFunction / dict values must be unique (1-to-1). Labels not contained in\na dict / Series will be left as-is. Extra labels listed don't throw an\nerror.\n\nSee the :ref:`user guide ` for more.\n\nParameters\n----------\nmapper : dict-like or function\n Dict-like or function transformations to apply to\n that axis' values. Use either ``mapper`` and ``axis`` to\n specify the axis to target with ``mapper``, or ``index`` and\n ``columns``.\nindex : dict-like or function\n Alternative to specifying axis (``mapper, axis=0``\n is equivalent to ``index=mapper``).\ncolumns : dict-like or function\n Alternative to specifying axis (``mapper, axis=1``\n is equivalent to ``columns=mapper``).\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Axis to target with ``mapper``. Can be either the axis name\n ('index', 'columns') or number (0, 1). The default is 'index'.\ncopy : bool, default True\n Also copy underlying data.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\ninplace : bool, default False\n Whether to modify the DataFrame rather than creating a new one.\n If True then value of copy is ignored.\nlevel : int or level name, default None\n In case of a MultiIndex, only rename labels in the specified\n level.\nerrors : {'ignore', 'raise'}, default 'ignore'\n If 'raise', raise a `KeyError` when a dict-like `mapper`, `index`,\n or `columns` contains labels that are not present in the Index\n being transformed.\n If 'ignore', existing keys will be renamed and extra keys will be\n ignored.\n\nReturns\n-------\nDataFrame or None\n DataFrame with the renamed axis labels or None if ``inplace=True``.\n\nRaises\n------\nKeyError\n If any of the labels is not found in the selected axis and\n \"errors='raise'\".\n\nSee Also\n--------\nDataFrame.rename_axis : Set the name of the axis.\n\nExamples\n--------\n``DataFrame.rename`` supports two calling conventions\n\n* ``(index=index_mapper, columns=columns_mapper, ...)``\n* ``(mapper, axis={'index', 'columns'}, ...)``\n\nWe *highly* recommend using keyword arguments to clarify your\nintent.\n\nRename columns using a mapping:\n\n>>> df = pd.DataFrame({\"A\": [1, 2, 3], \"B\": [4, 5, 6]})\n>>> df.rename(columns={\"A\": \"a\", \"B\": \"c\"})\n a c\n0 1 4\n1 2 5\n2 3 6\n\nRename index using a mapping:\n\n>>> df.rename(index={0: \"x\", 1: \"y\", 2: \"z\"})\n A B\nx 1 4\ny 2 5\nz 3 6\n\nCast index labels to a different type:\n\n>>> df.index\nRangeIndex(start=0, stop=3, step=1)\n>>> df.rename(index=str).index\nIndex(['0', '1', '2'], dtype='object')\n\n>>> df.rename(columns={\"A\": \"a\", \"B\": \"b\", \"C\": \"c\"}, errors=\"raise\")\nTraceback (most recent call last):\nKeyError: ['C'] not found in axis\n\nUsing axis-style parameters:\n\n>>> df.rename(str.lower, axis='columns')\n a b\n0 1 4\n1 2 5\n2 3 6\n\n>>> df.rename({1: 2, 2: 4}, axis='index')\n A B\n0 1 4\n2 2 5\n4 3 6\n"}, "kind": 2, "label": "rename", "sortText": "137"}, {"detail": "Overload[(mapper: Hashable | Sequence[Hashable] = ..., *, index=..., columns=..., axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., copy: bool | None = ..., inplace: Literal[False] = ...) -> DataFrame, (mapper: Hashable | Sequence[Hashable] = ..., *, index=..., columns=..., axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., copy: bool | None = ..., inplace: Literal[True]) -> None, (mapper: Hashable | Sequence[Hashable] = ..., *, index=..., columns=..., axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., copy: bool | None = ..., inplace: bool = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Set the name of the axis for the index or columns.\n\nParameters\n----------\nmapper : scalar, list-like, optional\n Value to set the axis name attribute.\nindex, columns : scalar, list-like, dict-like or function, optional\n A scalar, list-like, dict-like or functions transformations to\n apply to that axis' values.\n Note that the ``columns`` parameter is not allowed if the\n object is a Series. This parameter only apply for DataFrame\n type objects.\n\n Use either ``mapper`` and ``axis`` to\n specify the axis to target with ``mapper``, or ``index``\n and/or ``columns``.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to rename. For `Series` this parameter is unused and defaults to 0.\ncopy : bool, default None\n Also copy underlying data.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\ninplace : bool, default False\n Modifies the object directly, instead of creating a new Series\n or DataFrame.\n\nReturns\n-------\nSeries, DataFrame, or None\n The same type as the caller or None if ``inplace=True``.\n\nSee Also\n--------\nSeries.rename : Alter Series index labels or name.\nDataFrame.rename : Alter DataFrame index labels or name.\nIndex.rename : Set new names on index.\n\nNotes\n-----\n``DataFrame.rename_axis`` supports two calling conventions\n\n* ``(index=index_mapper, columns=columns_mapper, ...)``\n* ``(mapper, axis={'index', 'columns'}, ...)``\n\nThe first calling convention will only modify the names of\nthe index and/or the names of the Index object that is the columns.\nIn this case, the parameter ``copy`` is ignored.\n\nThe second calling convention will modify the names of the\ncorresponding index if mapper is a list or a scalar.\nHowever, if mapper is dict-like or a function, it will use the\ndeprecated behavior of modifying the axis *labels*.\n\nWe *highly* recommend using keyword arguments to clarify your\nintent.\n\nExamples\n--------\n**Series**\n\n>>> s = pd.Series([\"dog\", \"cat\", \"monkey\"])\n>>> s\n0 dog\n1 cat\n2 monkey\ndtype: object\n>>> s.rename_axis(\"animal\")\nanimal\n0 dog\n1 cat\n2 monkey\ndtype: object\n\n**DataFrame**\n\n>>> df = pd.DataFrame({\"num_legs\": [4, 4, 2],\n... \"num_arms\": [0, 0, 2]},\n... [\"dog\", \"cat\", \"monkey\"])\n>>> df\n num_legs num_arms\ndog 4 0\ncat 4 0\nmonkey 2 2\n>>> df = df.rename_axis(\"animal\")\n>>> df\n num_legs num_arms\nanimal\ndog 4 0\ncat 4 0\nmonkey 2 2\n>>> df = df.rename_axis(\"limbs\", axis=\"columns\")\n>>> df\nlimbs num_legs num_arms\nanimal\ndog 4 0\ncat 4 0\nmonkey 2 2\n\n**MultiIndex**\n\n>>> df.index = pd.MultiIndex.from_product([['mammal'],\n... ['dog', 'cat', 'monkey']],\n... names=['type', 'name'])\n>>> df\nlimbs num_legs num_arms\ntype name\nmammal dog 4 0\n cat 4 0\n monkey 2 2\n\n>>> df.rename_axis(index={'type': 'class'})\nlimbs num_legs num_arms\nclass name\nmammal dog 4 0\n cat 4 0\n monkey 2 2\n\n>>> df.rename_axis(columns=str.upper)\nLIMBS num_legs num_arms\ntype name\nmammal dog 4 0\n cat 4 0\n monkey 2 2\n"}, "kind": 2, "label": "rename_axis", "sortText": "138"}, {"detail": "bound method DataFrame.reorder_levels(order: Sequence[int | str], axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Rearrange index levels using input order. May not drop or duplicate levels.\n\nParameters\n----------\norder : list of int or list of str\n List representing new level order. Reference level by number\n (position) or by key (label).\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Where to reorder levels.\n\nReturns\n-------\nDataFrame\n\nExamples\n--------\n>>> data = {\n... \"class\": [\"Mammals\", \"Mammals\", \"Reptiles\"],\n... \"diet\": [\"Omnivore\", \"Carnivore\", \"Carnivore\"],\n... \"species\": [\"Humans\", \"Dogs\", \"Snakes\"],\n... }\n>>> df = pd.DataFrame(data, columns=[\"class\", \"diet\", \"species\"])\n>>> df = df.set_index([\"class\", \"diet\"])\n>>> df\n species\nclass diet\nMammals Omnivore Humans\n Carnivore Dogs\nReptiles Carnivore Snakes\n\nLet's reorder the levels of the index:\n\n>>> df.reorder_levels([\"diet\", \"class\"])\n species\ndiet class\nOmnivore Mammals Humans\nCarnivore Mammals Dogs\n Reptiles Snakes\n"}, "kind": 2, "label": "reorder_levels", "sortText": "139"}, {"detail": "Overload[(to_replace=..., value=..., *, inplace: Literal[False] = ..., limit: int | None = ..., regex: bool = ..., method: Literal[\"pad\", \"ffill\", \"bfill\"] | _NoDefault = ...) -> DataFrame, (to_replace=..., value=..., *, inplace: Literal[True], limit: int | None = ..., regex: bool = ..., method: Literal[\"pad\", \"ffill\", \"bfill\"] | _NoDefault = ...) -> None, (to_replace=..., value=..., *, inplace: bool = ..., limit: int | None = ..., regex: bool = ..., method: Literal[\"pad\", \"ffill\", \"bfill\"] | _NoDefault = ...) -> DataFrame | None]", "kind": 2, "label": "replace", "sortText": "140"}, {"detail": "bound method DataFrame.resample(rule, axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., closed: Literal[\"right\", \"left\"] | None = None, label: Literal[\"right\", \"left\"] | None = None, convention: Literal[\"start\", \"end\", \"s\", \"e\"] = \"start\", kind: Literal[\"timestamp\", \"period\"] | None | _NoDefault = ..., on: Hashable = None, level: Hashable = None, origin: str | date | datetime64[Any] | signedinteger[_64Bit] | float = \"start_day\", offset: timedelta | timedelta64[Any] | signedinteger[_64Bit] | ... omitted 3 union elements = None, group_keys: bool = False) -> Resampler", "documentation": {"kind": "plaintext", "value": "Resample time-series data.\n\nConvenience method for frequency conversion and resampling of time series.\nThe object must have a datetime-like index (`DatetimeIndex`, `PeriodIndex`,\nor `TimedeltaIndex`), or the caller must pass the label of a datetime-like\nseries/index to the ``on``/``level`` keyword parameter.\n\nParameters\n----------\nrule : DateOffset, Timedelta or str\n The offset string or object representing target conversion.\naxis : {{0 or 'index', 1 or 'columns'}}, default 0\n Which axis to use for up- or down-sampling. For `Series` this parameter\n is unused and defaults to 0. Must be\n `DatetimeIndex`, `TimedeltaIndex` or `PeriodIndex`.\n\n .. deprecated:: 2.0.0\n Use frame.T.resample(...) instead.\nclosed : {{'right', 'left'}}, default None\n Which side of bin interval is closed. The default is 'left'\n for all frequency offsets except for 'ME', 'YE', 'QE', 'BME',\n 'BA', 'BQE', and 'W' which all have a default of 'right'.\nlabel : {{'right', 'left'}}, default None\n Which bin edge label to label bucket with. The default is 'left'\n for all frequency offsets except for 'ME', 'YE', 'QE', 'BME',\n 'BA', 'BQE', and 'W' which all have a default of 'right'.\nconvention : {{'start', 'end', 's', 'e'}}, default 'start'\n For `PeriodIndex` only, controls whether to use the start or\n end of `rule`.\n\nkind : {{'timestamp', 'period'}}, optional, default None\n Pass 'timestamp' to convert the resulting index to a\n `DateTimeIndex` or 'period' to convert it to a `PeriodIndex`.\n By default the input representation is retained.\n\n .. deprecated:: 2.2.0\n Convert index to desired type explicitly instead.\n\non : str, optional\n For a DataFrame, column to use instead of index for resampling.\n Column must be datetime-like.\nlevel : str or int, optional\n For a MultiIndex, level (name or number) to use for\n resampling. `level` must be datetime-like.\norigin : Timestamp or str, default 'start_day'\n The timestamp on which to adjust the grouping. The timezone of origin\n must match the timezone of the index.\n If string, must be one of the following:\n\n - 'epoch': `origin` is 1970-01-01\n - 'start': `origin` is the first value of the timeseries\n - 'start_day': `origin` is the first day at midnight of the timeseries\n\n - 'end': `origin` is the last value of the timeseries\n - 'end_day': `origin` is the ceiling midnight of the last day\n\n .. versionadded:: 1.3.0\n\n .. note::\n\n Only takes effect for Tick-frequencies (i.e. fixed frequencies like\n days, hours, and minutes, rather than months or quarters).\noffset : Timedelta or str, default is None\n An offset timedelta added to the origin.\n\ngroup_keys : bool, default False\n Whether to include the group keys in the result index when using\n ``.apply()`` on the resampled object.\n\n .. versionadded:: 1.5.0\n\n Not specifying ``group_keys`` will retain values-dependent behavior\n from pandas 1.4 and earlier (see :ref:`pandas 1.5.0 Release notes\n ` for examples).\n\n .. versionchanged:: 2.0.0\n\n ``group_keys`` now defaults to ``False``.\n\nReturns\n-------\npandas.api.typing.Resampler\n :class:`~pandas.core.Resampler` object.\n\nSee Also\n--------\nSeries.resample : Resample a Series.\nDataFrame.resample : Resample a DataFrame.\ngroupby : Group {klass} by mapping, function, label, or list of labels.\nasfreq : Reindex a {klass} with the given frequency without grouping.\n\nNotes\n-----\nSee the `user guide\n`__\nfor more.\n\nTo learn more about the offset strings, please see `this link\n`__.\n\nExamples\n--------\nStart by creating a series with 9 one minute timestamps.\n\n>>> index = pd.date_range('1/1/2000', periods=9, freq='min')\n>>> series = pd.Series(range(9), index=index)\n>>> series\n2000-01-01 00:00:00 0\n2000-01-01 00:01:00 1\n2000-01-01 00:02:00 2\n2000-01-01 00:03:00 3\n2000-01-01 00:04:00 4\n2000-01-01 00:05:00 5\n2000-01-01 00:06:00 6\n2000-01-01 00:07:00 7\n2000-01-01 00:08:00 8\nFreq: min, dtype: int64\n\nDownsample the series into 3 minute bins and sum the values\nof the timestamps falling into a bin.\n\n>>> series.resample('3min').sum()\n2000-01-01 00:00:00 3\n2000-01-01 00:03:00 12\n2000-01-01 00:06:00 21\nFreq: 3min, dtype: int64\n\nDownsample the series into 3 minute bins as above, but label each\nbin using the right edge instead of the left. Please note that the\nvalue in the bucket used as the label is not included in the bucket,\nwhich it labels. For example, in the original series the\nbucket ``2000-01-01 00:03:00`` contains the value 3, but the summed\nvalue in the resampled bucket with the label ``2000-01-01 00:03:00``\ndoes not include 3 (if it did, the summed value would be 6, not 3).\n\n>>> series.resample('3min', label='right').sum()\n2000-01-01 00:03:00 3\n2000-01-01 00:06:00 12\n2000-01-01 00:09:00 21\nFreq: 3min, dtype: int64\n\nTo include this value close the right side of the bin interval,\nas shown below.\n\n>>> series.resample('3min', label='right', closed='right').sum()\n2000-01-01 00:00:00 0\n2000-01-01 00:03:00 6\n2000-01-01 00:06:00 15\n2000-01-01 00:09:00 15\nFreq: 3min, dtype: int64\n\nUpsample the series into 30 second bins.\n\n>>> series.resample('30s').asfreq()[0:5] # Select first 5 rows\n2000-01-01 00:00:00 0.0\n2000-01-01 00:00:30 NaN\n2000-01-01 00:01:00 1.0\n2000-01-01 00:01:30 NaN\n2000-01-01 00:02:00 2.0\nFreq: 30s, dtype: float64\n\nUpsample the series into 30 second bins and fill the ``NaN``\nvalues using the ``ffill`` method.\n\n>>> series.resample('30s').ffill()[0:5]\n2000-01-01 00:00:00 0\n2000-01-01 00:00:30 0\n2000-01-01 00:01:00 1\n2000-01-01 00:01:30 1\n2000-01-01 00:02:00 2\nFreq: 30s, dtype: int64\n\nUpsample the series into 30 second bins and fill the\n``NaN`` values using the ``bfill`` method.\n\n>>> series.resample('30s').bfill()[0:5]\n2000-01-01 00:00:00 0\n2000-01-01 00:00:30 1\n2000-01-01 00:01:00 1\n2000-01-01 00:01:30 2\n2000-01-01 00:02:00 2\nFreq: 30s, dtype: int64\n\nPass a custom function via ``apply``\n\n>>> def custom_resampler(arraylike):\n... return np.sum(arraylike) + 5\n...\n>>> series.resample('3min').apply(custom_resampler)\n2000-01-01 00:00:00 8\n2000-01-01 00:03:00 17\n2000-01-01 00:06:00 26\nFreq: 3min, dtype: int64\n\nFor a Series with a PeriodIndex, the keyword `convention` can be\nused to control whether to use the start or end of `rule`.\n\nResample a year by quarter using 'start' `convention`. Values are\nassigned to the first quarter of the period.\n\n>>> s = pd.Series(\n... [1, 2], index=pd.period_range(\"2012-01-01\", freq=\"Y\", periods=2)\n... )\n>>> s\n2012 1\n2013 2\nFreq: Y-DEC, dtype: int64\n>>> s.resample(\"Q\", convention=\"start\").asfreq()\n2012Q1 1.0\n2012Q2 NaN\n2012Q3 NaN\n2012Q4 NaN\n2013Q1 2.0\n2013Q2 NaN\n2013Q3 NaN\n2013Q4 NaN\nFreq: Q-DEC, dtype: float64\n\nResample quarters by month using 'end' `convention`. Values are\nassigned to the last month of the period.\n\n>>> q = pd.Series(\n... [1, 2, 3, 4], index=pd.period_range(\"2018-01-01\", freq=\"Q\", periods=4)\n... )\n>>> q\n2018Q1 1\n2018Q2 2\n2018Q3 3\n2018Q4 4\nFreq: Q-DEC, dtype: int64\n>>> q.resample(\"M\", convention=\"end\").asfreq()\n2018-03 1.0\n2018-04 NaN\n2018-05 NaN\n2018-06 2.0\n2018-07 NaN\n2018-08 NaN\n2018-09 3.0\n2018-10 NaN\n2018-11 NaN\n2018-12 4.0\nFreq: M, dtype: float64\n\nFor DataFrame objects, the keyword `on` can be used to specify the\ncolumn instead of the index for resampling.\n\n>>> d = {{'price': [10, 11, 9, 13, 14, 18, 17, 19],\n... 'volume': [50, 60, 40, 100, 50, 100, 40, 50]}}\n>>> df = pd.DataFrame(d)\n>>> df['week_starting'] = pd.date_range('01/01/2018',\n... periods=8,\n... freq='W')\n>>> df\n price volume week_starting\n0 10 50 2018-01-07\n1 11 60 2018-01-14\n2 9 40 2018-01-21\n3 13 100 2018-01-28\n4 14 50 2018-02-04\n5 18 100 2018-02-11\n6 17 40 2018-02-18\n7 19 50 2018-02-25\n>>> df.resample('ME', on='week_starting').mean()\n price volume\nweek_starting\n2018-01-31 10.75 62.5\n2018-02-28 17.00 60.0\n\nFor a DataFrame with MultiIndex, the keyword `level` can be used to\nspecify on which level the resampling needs to take place.\n\n>>> days = pd.date_range('1/1/2000', periods=4, freq='D')\n>>> d2 = {{'price': [10, 11, 9, 13, 14, 18, 17, 19],\n... 'volume': [50, 60, 40, 100, 50, 100, 40, 50]}}\n>>> df2 = pd.DataFrame(\n... d2,\n... index=pd.MultiIndex.from_product(\n... [days, ['morning', 'afternoon']]\n... )\n... )\n>>> df2\n price volume\n2000-01-01 morning 10 50\n afternoon 11 60\n2000-01-02 morning 9 40\n afternoon 13 100\n2000-01-03 morning 14 50\n afternoon 18 100\n2000-01-04 morning 17 40\n afternoon 19 50\n>>> df2.resample('D', level=0).sum()\n price volume\n2000-01-01 21 110\n2000-01-02 22 140\n2000-01-03 32 150\n2000-01-04 36 90\n\nIf you want to adjust the start of the bins based on a fixed timestamp:\n\n>>> start, end = '2000-10-01 23:30:00', '2000-10-02 00:30:00'\n>>> rng = pd.date_range(start, end, freq='7min')\n>>> ts = pd.Series(np.arange(len(rng)) * 3, index=rng)\n>>> ts\n2000-10-01 23:30:00 0\n2000-10-01 23:37:00 3\n2000-10-01 23:44:00 6\n2000-10-01 23:51:00 9\n2000-10-01 23:58:00 12\n2000-10-02 00:05:00 15\n2000-10-02 00:12:00 18\n2000-10-02 00:19:00 21\n2000-10-02 00:26:00 24\nFreq: 7min, dtype: int64\n\n>>> ts.resample('17min').sum()\n2000-10-01 23:14:00 0\n2000-10-01 23:31:00 9\n2000-10-01 23:48:00 21\n2000-10-02 00:05:00 54\n2000-10-02 00:22:00 24\nFreq: 17min, dtype: int64\n\n>>> ts.resample('17min', origin='epoch').sum()\n2000-10-01 23:18:00 0\n2000-10-01 23:35:00 18\n2000-10-01 23:52:00 27\n2000-10-02 00:09:00 39\n2000-10-02 00:26:00 24\nFreq: 17min, dtype: int64\n\n>>> ts.resample('17min', origin='2000-01-01').sum()\n2000-10-01 23:24:00 3\n2000-10-01 23:41:00 15\n2000-10-01 23:58:00 45\n2000-10-02 00:15:00 45\nFreq: 17min, dtype: int64\n\nIf you want to adjust the start of the bins with an `offset` Timedelta, the two\nfollowing lines are equivalent:\n\n>>> ts.resample('17min', origin='start').sum()\n2000-10-01 23:30:00 9\n2000-10-01 23:47:00 21\n2000-10-02 00:04:00 54\n2000-10-02 00:21:00 24\nFreq: 17min, dtype: int64\n\n>>> ts.resample('17min', offset='23h30min').sum()\n2000-10-01 23:30:00 9\n2000-10-01 23:47:00 21\n2000-10-02 00:04:00 54\n2000-10-02 00:21:00 24\nFreq: 17min, dtype: int64\n\nIf you want to take the largest Timestamp as the end of the bins:\n\n>>> ts.resample('17min', origin='end').sum()\n2000-10-01 23:35:00 0\n2000-10-01 23:52:00 18\n2000-10-02 00:09:00 27\n2000-10-02 00:26:00 63\nFreq: 17min, dtype: int64\n\nIn contrast with the `start_day`, you can use `end_day` to take the ceiling\nmidnight of the largest Timestamp as the end of the bins and drop the bins\nnot containing data:\n\n>>> ts.resample('17min', origin='end_day').sum()\n2000-10-01 23:38:00 3\n2000-10-01 23:55:00 15\n2000-10-02 00:12:00 45\n2000-10-02 00:29:00 45\nFreq: 17min, dtype: int64\n"}, "kind": 2, "label": "resample", "sortText": "141"}, {"detail": "Overload[(level: Hashable | Sequence[Hashable] = ..., *, drop: bool = ..., inplace: Literal[False] = ..., col_level: Hashable = ..., col_fill: Hashable = ..., allow_duplicates: bool | _NoDefault = ..., names: Hashable | Sequence[Hashable] = None) -> DataFrame, (level: Hashable | Sequence[Hashable] = ..., *, drop: bool = ..., inplace: Literal[True], col_level: Hashable = ..., col_fill: Hashable = ..., allow_duplicates: bool | _NoDefault = ..., names: Hashable | Sequence[Hashable] = None) -> None, (level: Hashable | Sequence[Hashable] = ..., *, drop: bool = ..., inplace: bool = ..., col_level: Hashable = ..., col_fill: Hashable = ..., allow_duplicates: bool | _NoDefault = ..., names: Hashable | Sequence[Hashable] = None) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Reset the index, or a level of it.\n\nReset the index of the DataFrame, and use the default one instead.\nIf the DataFrame has a MultiIndex, this method can remove one or more\nlevels.\n\nParameters\n----------\nlevel : int, str, tuple, or list, default None\n Only remove the given levels from the index. Removes all levels by\n default.\ndrop : bool, default False\n Do not try to insert index into dataframe columns. This resets\n the index to the default integer index.\ninplace : bool, default False\n Whether to modify the DataFrame rather than creating a new one.\ncol_level : int or str, default 0\n If the columns have multiple levels, determines which level the\n labels are inserted into. By default it is inserted into the first\n level.\ncol_fill : object, default ''\n If the columns have multiple levels, determines how the other\n levels are named. If None then the index name is repeated.\nallow_duplicates : bool, optional, default lib.no_default\n Allow duplicate column labels to be created.\n\n .. versionadded:: 1.5.0\n\nnames : int, str or 1-dimensional list, default None\n Using the given string, rename the DataFrame column which contains the\n index data. If the DataFrame has a MultiIndex, this has to be a list or\n tuple with length equal to the number of levels.\n\n .. versionadded:: 1.5.0\n\nReturns\n-------\nDataFrame or None\n DataFrame with the new index or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.set_index : Opposite of reset_index.\nDataFrame.reindex : Change to new indices or expand indices.\nDataFrame.reindex_like : Change to same indices as other DataFrame.\n\nExamples\n--------\n>>> df = pd.DataFrame([('bird', 389.0),\n... ('bird', 24.0),\n... ('mammal', 80.5),\n... ('mammal', np.nan)],\n... index=['falcon', 'parrot', 'lion', 'monkey'],\n... columns=('class', 'max_speed'))\n>>> df\n class max_speed\nfalcon bird 389.0\nparrot bird 24.0\nlion mammal 80.5\nmonkey mammal NaN\n\nWhen we reset the index, the old index is added as a column, and a\nnew sequential index is used:\n\n>>> df.reset_index()\n index class max_speed\n0 falcon bird 389.0\n1 parrot bird 24.0\n2 lion mammal 80.5\n3 monkey mammal NaN\n\nWe can use the `drop` parameter to avoid the old index being added as\na column:\n\n>>> df.reset_index(drop=True)\n class max_speed\n0 bird 389.0\n1 bird 24.0\n2 mammal 80.5\n3 mammal NaN\n\nYou can also use `reset_index` with `MultiIndex`.\n\n>>> index = pd.MultiIndex.from_tuples([('bird', 'falcon'),\n... ('bird', 'parrot'),\n... ('mammal', 'lion'),\n... ('mammal', 'monkey')],\n... names=['class', 'name'])\n>>> columns = pd.MultiIndex.from_tuples([('speed', 'max'),\n... ('species', 'type')])\n>>> df = pd.DataFrame([(389.0, 'fly'),\n... (24.0, 'fly'),\n... (80.5, 'run'),\n... (np.nan, 'jump')],\n... index=index,\n... columns=columns)\n>>> df\n speed species\n max type\nclass name\nbird falcon 389.0 fly\n parrot 24.0 fly\nmammal lion 80.5 run\n monkey NaN jump\n\nUsing the `names` parameter, choose a name for the index column:\n\n>>> df.reset_index(names=['classes', 'names'])\n classes names speed species\n max type\n0 bird falcon 389.0 fly\n1 bird parrot 24.0 fly\n2 mammal lion 80.5 run\n3 mammal monkey NaN jump\n\nIf the index has multiple levels, we can reset a subset of them:\n\n>>> df.reset_index(level='class')\n class speed species\n max type\nname\nfalcon bird 389.0 fly\nparrot bird 24.0 fly\nlion mammal 80.5 run\nmonkey mammal NaN jump\n\nIf we are not dropping the index, by default, it is placed in the top\nlevel. We can place it in another level:\n\n>>> df.reset_index(level='class', col_level=1)\n speed species\n class max type\nname\nfalcon bird 389.0 fly\nparrot bird 24.0 fly\nlion mammal 80.5 run\nmonkey mammal NaN jump\n\nWhen the index is inserted under another level, we can specify under\nwhich one with the parameter `col_fill`:\n\n>>> df.reset_index(level='class', col_level=1, col_fill='species')\n species speed species\n class max type\nname\nfalcon bird 389.0 fly\nparrot bird 24.0 fly\nlion mammal 80.5 run\nmonkey mammal NaN jump\n\nIf we specify a nonexistent level for `col_fill`, it is created:\n\n>>> df.reset_index(level='class', col_level=1, col_fill='genus')\n genus speed species\n class max type\nname\nfalcon bird 389.0 fly\nparrot bird 24.0 fly\nlion mammal 80.5 run\nmonkey mammal NaN jump\n"}, "kind": 2, "label": "reset_index", "sortText": "142"}, {"detail": "bound method DataFrame.rfloordiv(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rfloordiv", "sortText": "143"}, {"detail": "bound method DataFrame.rmod(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rmod", "sortText": "144"}, {"detail": "bound method DataFrame.rmul(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rmul", "sortText": "145"}, {"detail": "bound method DataFrame.rolling(window: int | timedelta | str | BaseOffset | BaseIndexer, min_periods: int | None = None, center: bool = False, win_type: str | None = None, on: str | None = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., closed: Literal[\"left\", \"right\", \"both\", \"neither\"] | None = None, step: int | None = None, method: str = \"single\") -> Window | Rolling", "kind": 2, "label": "rolling", "sortText": "146"}, {"detail": "bound method DataFrame.round(decimals: int | dict[Hashable | Sequence[Hashable], int] | Series = 0, *args, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Round a DataFrame to a variable number of decimal places.\n\nParameters\n----------\ndecimals : int, dict, Series\n Number of decimal places to round each column to. If an int is\n given, round each column to the same number of places.\n Otherwise dict and Series round to variable numbers of places.\n Column names should be in the keys if `decimals` is a\n dict-like, or in the index if `decimals` is a Series. Any\n columns not included in `decimals` will be left as is. Elements\n of `decimals` which are not columns of the input will be\n ignored.\n*args\n Additional keywords have no effect but might be accepted for\n compatibility with numpy.\n**kwargs\n Additional keywords have no effect but might be accepted for\n compatibility with numpy.\n\nReturns\n-------\nDataFrame\n A DataFrame with the affected columns rounded to the specified\n number of decimal places.\n\nSee Also\n--------\nnumpy.around : Round a numpy array to the given number of decimals.\nSeries.round : Round a Series to the given number of decimals.\n\nExamples\n--------\n>>> df = pd.DataFrame([(.21, .32), (.01, .67), (.66, .03), (.21, .18)],\n... columns=['dogs', 'cats'])\n>>> df\n dogs cats\n0 0.21 0.32\n1 0.01 0.67\n2 0.66 0.03\n3 0.21 0.18\n\nBy providing an integer each column is rounded to the same number\nof decimal places\n\n>>> df.round(1)\n dogs cats\n0 0.2 0.3\n1 0.0 0.7\n2 0.7 0.0\n3 0.2 0.2\n\nWith a dict, the number of places for specific columns can be\nspecified with the column names as key and the number of decimal\nplaces as value\n\n>>> df.round({'dogs': 1, 'cats': 0})\n dogs cats\n0 0.2 0.0\n1 0.0 1.0\n2 0.7 0.0\n3 0.2 0.0\n\nUsing a Series, the number of places for specific columns can be\nspecified with the column names as index and the number of\ndecimal places as value\n\n>>> decimals = pd.Series([0, 1], index=['cats', 'dogs'])\n>>> df.round(decimals)\n dogs cats\n0 0.2 0.0\n1 0.0 1.0\n2 0.7 0.0\n3 0.2 0.0\n"}, "kind": 2, "label": "round", "sortText": "147"}, {"detail": "bound method DataFrame.rpow(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rpow", "sortText": "148"}, {"detail": "bound method DataFrame.rsub(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rsub", "sortText": "149"}, {"detail": "bound method DataFrame.rtruediv(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rtruediv", "sortText": "150"}, {"detail": "bound method DataFrame.sample(n: int | None = None, frac: float | None = None, replace: bool = False, weights=None, random_state: int | ndarray[_AnyShape, dtype[Any]] | Generator | ... omitted 3 union elements = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, ignore_index: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return a random sample of items from an axis of object.\n\nYou can use `random_state` for reproducibility.\n\nParameters\n----------\nn : int, optional\n Number of items from axis to return. Cannot be used with `frac`.\n Default = 1 if `frac` = None.\nfrac : float, optional\n Fraction of axis items to return. Cannot be used with `n`.\nreplace : bool, default False\n Allow or disallow sampling of the same row more than once.\nweights : str or ndarray-like, optional\n Default 'None' results in equal probability weighting.\n If passed a Series, will align with target object on index. Index\n values in weights not found in sampled object will be ignored and\n index values in sampled object not in weights will be assigned\n weights of zero.\n If called on a DataFrame, will accept the name of a column\n when axis = 0.\n Unless weights are a Series, weights must be same length as axis\n being sampled.\n If weights do not sum to 1, they will be normalized to sum to 1.\n Missing values in the weights column will be treated as zero.\n Infinite values not allowed.\nrandom_state : int, array-like, BitGenerator, np.random.RandomState, np.random.Generator, optional\n If int, array-like, or BitGenerator, seed for random number generator.\n If np.random.RandomState or np.random.Generator, use as given.\n\n .. versionchanged:: 1.4.0\n\n np.random.Generator objects now accepted\n\naxis : {0 or 'index', 1 or 'columns', None}, default None\n Axis to sample. Accepts axis number or name. Default is stat axis\n for given data type. For `Series` this parameter is unused and defaults to `None`.\nignore_index : bool, default False\n If True, the resulting index will be labeled 0, 1, \u2026, n - 1.\n\n .. versionadded:: 1.3.0\n\nReturns\n-------\nSeries or DataFrame\n A new object of same type as caller containing `n` items randomly\n sampled from the caller object.\n\nSee Also\n--------\nDataFrameGroupBy.sample: Generates random samples from each group of a\n DataFrame object.\nSeriesGroupBy.sample: Generates random samples from each group of a\n Series object.\nnumpy.random.choice: Generates a random sample from a given 1-D numpy\n array.\n\nNotes\n-----\nIf `frac` > 1, `replacement` should be set to `True`.\n\nExamples\n--------\n>>> df = pd.DataFrame({'num_legs': [2, 4, 8, 0],\n... 'num_wings': [2, 0, 0, 0],\n... 'num_specimen_seen': [10, 2, 1, 8]},\n... index=['falcon', 'dog', 'spider', 'fish'])\n>>> df\n num_legs num_wings num_specimen_seen\nfalcon 2 2 10\ndog 4 0 2\nspider 8 0 1\nfish 0 0 8\n\nExtract 3 random elements from the ``Series`` ``df['num_legs']``:\nNote that we use `random_state` to ensure the reproducibility of\nthe examples.\n\n>>> df['num_legs'].sample(n=3, random_state=1)\nfish 0\nspider 8\nfalcon 2\nName: num_legs, dtype: int64\n\nA random 50% sample of the ``DataFrame`` with replacement:\n\n>>> df.sample(frac=0.5, replace=True, random_state=1)\n num_legs num_wings num_specimen_seen\ndog 4 0 2\nfish 0 0 8\n\nAn upsample sample of the ``DataFrame`` with replacement:\nNote that `replace` parameter has to be `True` for `frac` parameter > 1.\n\n>>> df.sample(frac=2, replace=True, random_state=1)\n num_legs num_wings num_specimen_seen\ndog 4 0 2\nfish 0 0 8\nfalcon 2 2 10\nfalcon 2 2 10\nfish 0 0 8\ndog 4 0 2\nfish 0 0 8\ndog 4 0 2\n\nUsing a DataFrame column as weights. Rows with larger value in the\n`num_specimen_seen` column are more likely to be sampled.\n\n>>> df.sample(n=2, weights='num_specimen_seen', random_state=1)\n num_legs num_wings num_specimen_seen\nfalcon 2 2 10\nfish 0 0 8\n"}, "kind": 2, "label": "sample", "sortText": "151"}, {"detail": "bound method DataFrame.select_dtypes(include=None, exclude=None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return a subset of the DataFrame's columns based on the column dtypes.\n\nParameters\n----------\ninclude, exclude : scalar or list-like\n A selection of dtypes or strings to be included/excluded. At least\n one of these parameters must be supplied.\n\nReturns\n-------\nDataFrame\n The subset of the frame including the dtypes in ``include`` and\n excluding the dtypes in ``exclude``.\n\nRaises\n------\nValueError\n * If both of ``include`` and ``exclude`` are empty\n * If ``include`` and ``exclude`` have overlapping elements\n * If any kind of string dtype is passed in.\n\nSee Also\n--------\nDataFrame.dtypes: Return Series with the data type of each column.\n\nNotes\n-----\n* To select all *numeric* types, use ``np.number`` or ``'number'``\n* To select strings you must use the ``object`` dtype, but note that\n this will return *all* object dtype columns. With\n ``pd.options.future.infer_string`` enabled, using ``\"str\"`` will\n work to select all string columns.\n* See the `numpy dtype hierarchy\n `__\n* To select datetimes, use ``np.datetime64``, ``'datetime'`` or\n ``'datetime64'``\n* To select timedeltas, use ``np.timedelta64``, ``'timedelta'`` or\n ``'timedelta64'``\n* To select Pandas categorical dtypes, use ``'category'``\n* To select Pandas datetimetz dtypes, use ``'datetimetz'``\n or ``'datetime64[ns, tz]'``\n\nExamples\n--------\n>>> df = pd.DataFrame({'a': [1, 2] * 3,\n... 'b': [True, False] * 3,\n... 'c': [1.0, 2.0] * 3})\n>>> df\n a b c\n0 1 True 1.0\n1 2 False 2.0\n2 1 True 1.0\n3 2 False 2.0\n4 1 True 1.0\n5 2 False 2.0\n\n>>> df.select_dtypes(include='bool')\n b\n0 True\n1 False\n2 True\n3 False\n4 True\n5 False\n\n>>> df.select_dtypes(include=['float64'])\n c\n0 1.0\n1 2.0\n2 1.0\n3 2.0\n4 1.0\n5 2.0\n\n>>> df.select_dtypes(exclude=['int64'])\n b c\n0 True 1.0\n1 False 2.0\n2 True 1.0\n3 False 2.0\n4 True 1.0\n5 False 2.0\n"}, "kind": 2, "label": "select_dtypes", "sortText": "152"}, {"detail": "bound method DataFrame.sem(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, ddof: int = 1, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "sem", "sortText": "153"}, {"detail": "bound method DataFrame.set_axis(labels, *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, copy: bool | None = None) -> DataFrame", "kind": 2, "label": "set_axis", "sortText": "154"}, {"detail": "bound method DataFrame.set_flags(*, copy: bool = False, allows_duplicate_labels: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return a new object with updated flags.\n\nParameters\n----------\ncopy : bool, default False\n Specify if a copy of the object should be made.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\nallows_duplicate_labels : bool, optional\n Whether the returned object allows duplicate labels.\n\nReturns\n-------\nSeries or DataFrame\n The same type as the caller.\n\nSee Also\n--------\nDataFrame.attrs : Global metadata applying to this dataset.\nDataFrame.flags : Global flags applying to this object.\n\nNotes\n-----\nThis method returns a new object that's a view on the same data\nas the input. Mutating the input or the output values will be reflected\nin the other.\n\nThis method is intended to be used in method chains.\n\n\"Flags\" differ from \"metadata\". Flags reflect properties of the\npandas object (the Series or DataFrame). Metadata refer to properties\nof the dataset, and should be stored in :attr:`DataFrame.attrs`.\n\nExamples\n--------\n>>> df = pd.DataFrame({\"A\": [1, 2]})\n>>> df.flags.allows_duplicate_labels\nTrue\n>>> df2 = df.set_flags(allows_duplicate_labels=False)\n>>> df2.flags.allows_duplicate_labels\nFalse\n"}, "kind": 2, "label": "set_flags", "sortText": "155"}, {"detail": "Overload[(keys, *, drop: bool = ..., append: bool = ..., inplace: Literal[False] = ..., verify_integrity: bool = ...) -> DataFrame, (keys, *, drop: bool = ..., append: bool = ..., inplace: Literal[True], verify_integrity: bool = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Set the DataFrame index using existing columns.\n\nSet the DataFrame index (row labels) using one or more existing\ncolumns or arrays (of the correct length). The index can replace the\nexisting index or expand on it.\n\nParameters\n----------\nkeys : label or array-like or list of labels/arrays\n This parameter can be either a single column key, a single array of\n the same length as the calling DataFrame, or a list containing an\n arbitrary combination of column keys and arrays. Here, \"array\"\n encompasses :class:`Series`, :class:`Index`, ``np.ndarray``, and\n instances of :class:`~collections.abc.Iterator`.\ndrop : bool, default True\n Delete columns to be used as the new index.\nappend : bool, default False\n Whether to append columns to existing index.\ninplace : bool, default False\n Whether to modify the DataFrame rather than creating a new one.\nverify_integrity : bool, default False\n Check the new index for duplicates. Otherwise defer the check until\n necessary. Setting to False will improve the performance of this\n method.\n\nReturns\n-------\nDataFrame or None\n Changed row labels or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.reset_index : Opposite of set_index.\nDataFrame.reindex : Change to new indices or expand indices.\nDataFrame.reindex_like : Change to same indices as other DataFrame.\n\nExamples\n--------\n>>> df = pd.DataFrame({'month': [1, 4, 7, 10],\n... 'year': [2012, 2014, 2013, 2014],\n... 'sale': [55, 40, 84, 31]})\n>>> df\n month year sale\n0 1 2012 55\n1 4 2014 40\n2 7 2013 84\n3 10 2014 31\n\nSet the index to become the 'month' column:\n\n>>> df.set_index('month')\n year sale\nmonth\n1 2012 55\n4 2014 40\n7 2013 84\n10 2014 31\n\nCreate a MultiIndex using columns 'year' and 'month':\n\n>>> df.set_index(['year', 'month'])\n sale\nyear month\n2012 1 55\n2014 4 40\n2013 7 84\n2014 10 31\n\nCreate a MultiIndex using an Index and a column:\n\n>>> df.set_index([pd.Index([1, 2, 3, 4]), 'year'])\n month sale\n year\n1 2012 1 55\n2 2014 4 40\n3 2013 7 84\n4 2014 10 31\n\nCreate a MultiIndex using two Series:\n\n>>> s = pd.Series([1, 2, 3, 4])\n>>> df.set_index([s, s**2])\n month year sale\n1 1 1 2012 55\n2 4 4 2014 40\n3 9 7 2013 84\n4 16 10 2014 31\n"}, "kind": 2, "label": "set_index", "sortText": "156"}, {"detail": "tuple[int, int]", "documentation": {"kind": "plaintext", "value": "Built-in immutable sequence.\n\nIf no argument is given, the constructor returns an empty tuple.\nIf iterable is specified the tuple is initialized from iterable's items.\n\nIf the argument is a tuple, the return value is the same object.\n"}, "kind": 22, "label": "shape", "sortText": "157"}, {"detail": "bound method DataFrame.shift(periods: int | Sequence[int] = 1, freq: str | BaseOffset | None = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, fill_value: Hashable = ..., suffix: str | None = None) -> DataFrame", "kind": 2, "label": "shift", "sortText": "158"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "size", "sortText": "159"}, {"detail": "bound method DataFrame.skew(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "skew", "sortText": "160"}, {"detail": "Overload[(*, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., level: Hashable | Sequence[Hashable] = ..., ascending: bool | Sequence[bool] = ..., inplace: Literal[True], kind: Literal[\"quicksort\", \"mergesort\", \"heapsort\", \"stable\"] = ..., na_position: Literal[\"first\", \"last\"] = ..., sort_remaining: bool = ..., ignore_index: bool = ..., key: ((Index, /) -> Index | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Series) | None = ...) -> None, (*, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., level: Hashable | Sequence[Hashable] = ..., ascending: bool | Sequence[bool] = ..., inplace: Literal[False] = ..., kind: Literal[\"quicksort\", \"mergesort\", \"heapsort\", \"stable\"] = ..., na_position: Literal[\"first\", \"last\"] = ..., sort_remaining: bool = ..., ignore_index: bool = ..., key: ((Index, /) -> Index | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Series) | None = ...) -> DataFrame, (*, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., level: Hashable | Sequence[Hashable] = ..., ascending: bool | Sequence[bool] = ..., inplace: bool = ..., kind: Literal[\"quicksort\", \"mergesort\", \"heapsort\", \"stable\"] = ..., na_position: Literal[\"first\", \"last\"] = ..., sort_remaining: bool = ..., ignore_index: bool = ..., key: ((Index, /) -> Index | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Series) | None = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Sort object by labels (along an axis).\n\nReturns a new DataFrame sorted by label if `inplace` argument is\n``False``, otherwise updates the original DataFrame and returns None.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis along which to sort. The value 0 identifies the rows,\n and 1 identifies the columns.\nlevel : int or level name or list of ints or list of level names\n If not None, sort on values in specified index level(s).\nascending : bool or list-like of bools, default True\n Sort ascending vs. descending. When the index is a MultiIndex the\n sort direction can be controlled for each level individually.\ninplace : bool, default False\n Whether to modify the DataFrame rather than creating a new one.\nkind : {'quicksort', 'mergesort', 'heapsort', 'stable'}, default 'quicksort'\n Choice of sorting algorithm. See also :func:`numpy.sort` for more\n information. `mergesort` and `stable` are the only stable algorithms. For\n DataFrames, this option is only applied when sorting on a single\n column or label.\nna_position : {'first', 'last'}, default 'last'\n Puts NaNs at the beginning if `first`; `last` puts NaNs at the end.\n Not implemented for MultiIndex.\nsort_remaining : bool, default True\n If True and sorting by level and index is multilevel, sort by other\n levels too (in order) after sorting by specified level.\nignore_index : bool, default False\n If True, the resulting axis will be labeled 0, 1, \u2026, n - 1.\nkey : callable, optional\n If not None, apply the key function to the index values\n before sorting. This is similar to the `key` argument in the\n builtin :meth:`sorted` function, with the notable difference that\n this `key` function should be *vectorized*. It should expect an\n ``Index`` and return an ``Index`` of the same shape. For MultiIndex\n inputs, the key is applied *per level*.\n\nReturns\n-------\nDataFrame or None\n The original DataFrame sorted by the labels or None if ``inplace=True``.\n\nSee Also\n--------\nSeries.sort_index : Sort Series by the index.\nDataFrame.sort_values : Sort DataFrame by the value.\nSeries.sort_values : Sort Series by the value.\n\nExamples\n--------\n>>> df = pd.DataFrame([1, 2, 3, 4, 5], index=[100, 29, 234, 1, 150],\n... columns=['A'])\n>>> df.sort_index()\n A\n1 4\n29 2\n100 1\n150 5\n234 3\n\nBy default, it sorts in ascending order, to sort in descending order,\nuse ``ascending=False``\n\n>>> df.sort_index(ascending=False)\n A\n234 3\n150 5\n100 1\n29 2\n1 4\n\nA key function can be specified which is applied to the index before\nsorting. For a ``MultiIndex`` this is applied to each level separately.\n\n>>> df = pd.DataFrame({\"a\": [1, 2, 3, 4]}, index=['A', 'b', 'C', 'd'])\n>>> df.sort_index(key=lambda x: x.str.lower())\n a\nA 1\nb 2\nC 3\nd 4\n"}, "kind": 2, "label": "sort_index", "sortText": "161"}, {"detail": "Overload[(by: Hashable | Sequence[Hashable], *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., ascending=..., inplace: Literal[False] = ..., kind: Literal[\"quicksort\", \"mergesort\", \"heapsort\", \"stable\"] = ..., na_position: Literal[\"first\", \"last\"] = ..., ignore_index: bool = ..., key: ((Series, /) -> Series | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index) | None = ...) -> DataFrame, (by: Hashable | Sequence[Hashable], *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., ascending=..., inplace: Literal[True], kind: Literal[\"quicksort\", \"mergesort\", \"heapsort\", \"stable\"] = ..., na_position: str = ..., ignore_index: bool = ..., key: ((Series, /) -> Series | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index) | None = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Sort by the values along either axis.\n\nParameters\n----------\nby : str or list of str\n Name or list of names to sort by.\n\n - if `axis` is 0 or `'index'` then `by` may contain index\n levels and/or column labels.\n - if `axis` is 1 or `'columns'` then `by` may contain column\n levels and/or index labels.\naxis : \"{0 or 'index', 1 or 'columns'}\", default 0\n Axis to be sorted.\nascending : bool or list of bool, default True\n Sort ascending vs. descending. Specify list for multiple sort\n orders. If this is a list of bools, must match the length of\n the by.\ninplace : bool, default False\n If True, perform operation in-place.\nkind : {'quicksort', 'mergesort', 'heapsort', 'stable'}, default 'quicksort'\n Choice of sorting algorithm. See also :func:`numpy.sort` for more\n information. `mergesort` and `stable` are the only stable algorithms. For\n DataFrames, this option is only applied when sorting on a single\n column or label.\nna_position : {'first', 'last'}, default 'last'\n Puts NaNs at the beginning if `first`; `last` puts NaNs at the\n end.\nignore_index : bool, default False\n If True, the resulting axis will be labeled 0, 1, \u2026, n - 1.\nkey : callable, optional\n Apply the key function to the values\n before sorting. This is similar to the `key` argument in the\n builtin :meth:`sorted` function, with the notable difference that\n this `key` function should be *vectorized*. It should expect a\n ``Series`` and return a Series with the same shape as the input.\n It will be applied to each column in `by` independently.\n\nReturns\n-------\nDataFrame or None\n DataFrame with sorted values or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.sort_index : Sort a DataFrame by the index.\nSeries.sort_values : Similar method for a Series.\n\nExamples\n--------\n>>> df = pd.DataFrame({\n... 'col1': ['A', 'A', 'B', np.nan, 'D', 'C'],\n... 'col2': [2, 1, 9, 8, 7, 4],\n... 'col3': [0, 1, 9, 4, 2, 3],\n... 'col4': ['a', 'B', 'c', 'D', 'e', 'F']\n... })\n>>> df\n col1 col2 col3 col4\n0 A 2 0 a\n1 A 1 1 B\n2 B 9 9 c\n3 NaN 8 4 D\n4 D 7 2 e\n5 C 4 3 F\n\nSort by col1\n\n>>> df.sort_values(by=['col1'])\n col1 col2 col3 col4\n0 A 2 0 a\n1 A 1 1 B\n2 B 9 9 c\n5 C 4 3 F\n4 D 7 2 e\n3 NaN 8 4 D\n\nSort by multiple columns\n\n>>> df.sort_values(by=['col1', 'col2'])\n col1 col2 col3 col4\n1 A 1 1 B\n0 A 2 0 a\n2 B 9 9 c\n5 C 4 3 F\n4 D 7 2 e\n3 NaN 8 4 D\n\nSort Descending\n\n>>> df.sort_values(by='col1', ascending=False)\n col1 col2 col3 col4\n4 D 7 2 e\n5 C 4 3 F\n2 B 9 9 c\n0 A 2 0 a\n1 A 1 1 B\n3 NaN 8 4 D\n\nPutting NAs first\n\n>>> df.sort_values(by='col1', ascending=False, na_position='first')\n col1 col2 col3 col4\n3 NaN 8 4 D\n4 D 7 2 e\n5 C 4 3 F\n2 B 9 9 c\n0 A 2 0 a\n1 A 1 1 B\n\nSorting with a key function\n\n>>> df.sort_values(by='col4', key=lambda col: col.str.lower())\n col1 col2 col3 col4\n0 A 2 0 a\n1 A 1 1 B\n2 B 9 9 c\n3 NaN 8 4 D\n4 D 7 2 e\n5 C 4 3 F\n\nNatural sort with the key argument,\nusing the `natsort ` package.\n\n>>> df = pd.DataFrame({\n... \"time\": ['0hr', '128hr', '72hr', '48hr', '96hr'],\n... \"value\": [10, 20, 30, 40, 50]\n... })\n>>> df\n time value\n0 0hr 10\n1 128hr 20\n2 72hr 30\n3 48hr 40\n4 96hr 50\n>>> from natsort import index_natsorted\n>>> df.sort_values(\n... by=\"time\",\n... key=lambda x: np.argsort(index_natsorted(df[\"time\"]))\n... )\n time value\n0 0hr 10\n3 48hr 40\n2 72hr 30\n4 96hr 50\n1 128hr 20\n"}, "kind": 2, "label": "sort_values", "sortText": "162"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "sparse", "sortText": "163"}, {"detail": "bound method DataFrame.squeeze(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Squeeze 1 dimensional axis objects into scalars.\n\nSeries or DataFrames with a single element are squeezed to a scalar.\nDataFrames with a single column or a single row are squeezed to a\nSeries. Otherwise the object is unchanged.\n\nThis method is most useful when you don't know if your\nobject is a Series or DataFrame, but you do know it has just a single\ncolumn. In that case you can safely call `squeeze` to ensure you have a\nSeries.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns', None}, default None\n A specific axis to squeeze. By default, all length-1 axes are\n squeezed. For `Series` this parameter is unused and defaults to `None`.\n\nReturns\n-------\nDataFrame, Series, or scalar\n The projection after squeezing `axis` or all the axes.\n\nSee Also\n--------\nSeries.iloc : Integer-location based indexing for selecting scalars.\nDataFrame.iloc : Integer-location based indexing for selecting Series.\nSeries.to_frame : Inverse of DataFrame.squeeze for a\n single-column DataFrame.\n\nExamples\n--------\n>>> primes = pd.Series([2, 3, 5, 7])\n\nSlicing might produce a Series with a single value:\n\n>>> even_primes = primes[primes % 2 == 0]\n>>> even_primes\n0 2\ndtype: int64\n\n>>> even_primes.squeeze()\n2\n\nSqueezing objects with more than one value in every axis does nothing:\n\n>>> odd_primes = primes[primes % 2 == 1]\n>>> odd_primes\n1 3\n2 5\n3 7\ndtype: int64\n\n>>> odd_primes.squeeze()\n1 3\n2 5\n3 7\ndtype: int64\n\nSqueezing is even more effective when used with DataFrames.\n\n>>> df = pd.DataFrame([[1, 2], [3, 4]], columns=['a', 'b'])\n>>> df\n a b\n0 1 2\n1 3 4\n\nSlicing a single column will produce a DataFrame with the columns\nhaving only one value:\n\n>>> df_a = df[['a']]\n>>> df_a\n a\n0 1\n1 3\n\nSo the columns can be squeezed down, resulting in a Series:\n\n>>> df_a.squeeze('columns')\n0 1\n1 3\nName: a, dtype: int64\n\nSlicing a single row from a single column will produce a single\nscalar DataFrame:\n\n>>> df_0a = df.loc[df.index < 1, ['a']]\n>>> df_0a\n a\n0 1\n\nSqueezing the rows produces a single scalar Series:\n\n>>> df_0a.squeeze('rows')\na 1\nName: 0, dtype: int64\n\nSqueezing all axes will project directly into a scalar:\n\n>>> df_0a.squeeze()\n1\n"}, "kind": 2, "label": "squeeze", "sortText": "164"}, {"detail": "bound method DataFrame.stack(level: Hashable | Sequence[Hashable] = -1, dropna: bool | _NoDefault = ..., sort: bool | _NoDefault = ..., future_stack: bool = False) -> Unknown", "documentation": {"kind": "plaintext", "value": "Stack the prescribed level(s) from columns to index.\n\nReturn a reshaped DataFrame or Series having a multi-level\nindex with one or more new inner-most levels compared to the current\nDataFrame. The new inner-most levels are created by pivoting the\ncolumns of the current dataframe:\n\n - if the columns have a single level, the output is a Series;\n - if the columns have multiple levels, the new index\n level(s) is (are) taken from the prescribed level(s) and\n the output is a DataFrame.\n\nParameters\n----------\nlevel : int, str, list, default -1\n Level(s) to stack from the column axis onto the index\n axis, defined as one index or label, or a list of indices\n or labels.\ndropna : bool, default True\n Whether to drop rows in the resulting Frame/Series with\n missing values. Stacking a column level onto the index\n axis can create combinations of index and column values\n that are missing from the original dataframe. See Examples\n section.\nsort : bool, default True\n Whether to sort the levels of the resulting MultiIndex.\nfuture_stack : bool, default False\n Whether to use the new implementation that will replace the current\n implementation in pandas 3.0. When True, dropna and sort have no impact\n on the result and must remain unspecified. See :ref:`pandas 2.1.0 Release\n notes ` for more details.\n\nReturns\n-------\nDataFrame or Series\n Stacked dataframe or series.\n\nSee Also\n--------\nDataFrame.unstack : Unstack prescribed level(s) from index axis\n onto column axis.\nDataFrame.pivot : Reshape dataframe from long format to wide\n format.\nDataFrame.pivot_table : Create a spreadsheet-style pivot table\n as a DataFrame.\n\nNotes\n-----\nThe function is named by analogy with a collection of books\nbeing reorganized from being side by side on a horizontal\nposition (the columns of the dataframe) to being stacked\nvertically on top of each other (in the index of the\ndataframe).\n\nReference :ref:`the user guide ` for more examples.\n\nExamples\n--------\n**Single level columns**\n\n>>> df_single_level_cols = pd.DataFrame([[0, 1], [2, 3]],\n... index=['cat', 'dog'],\n... columns=['weight', 'height'])\n\nStacking a dataframe with a single level column axis returns a Series:\n\n>>> df_single_level_cols\n weight height\ncat 0 1\ndog 2 3\n>>> df_single_level_cols.stack(future_stack=True)\ncat weight 0\n height 1\ndog weight 2\n height 3\ndtype: int64\n\n**Multi level columns: simple case**\n\n>>> multicol1 = pd.MultiIndex.from_tuples([('weight', 'kg'),\n... ('weight', 'pounds')])\n>>> df_multi_level_cols1 = pd.DataFrame([[1, 2], [2, 4]],\n... index=['cat', 'dog'],\n... columns=multicol1)\n\nStacking a dataframe with a multi-level column axis:\n\n>>> df_multi_level_cols1\n weight\n kg pounds\ncat 1 2\ndog 2 4\n>>> df_multi_level_cols1.stack(future_stack=True)\n weight\ncat kg 1\n pounds 2\ndog kg 2\n pounds 4\n\n**Missing values**\n\n>>> multicol2 = pd.MultiIndex.from_tuples([('weight', 'kg'),\n... ('height', 'm')])\n>>> df_multi_level_cols2 = pd.DataFrame([[1.0, 2.0], [3.0, 4.0]],\n... index=['cat', 'dog'],\n... columns=multicol2)\n\nIt is common to have missing values when stacking a dataframe\nwith multi-level columns, as the stacked dataframe typically\nhas more values than the original dataframe. Missing values\nare filled with NaNs:\n\n>>> df_multi_level_cols2\n weight height\n kg m\ncat 1.0 2.0\ndog 3.0 4.0\n>>> df_multi_level_cols2.stack(future_stack=True)\n weight height\ncat kg 1.0 NaN\n m NaN 2.0\ndog kg 3.0 NaN\n m NaN 4.0\n\n**Prescribing the level(s) to be stacked**\n\nThe first parameter controls which level or levels are stacked:\n\n>>> df_multi_level_cols2.stack(0, future_stack=True)\n kg m\ncat weight 1.0 NaN\n height NaN 2.0\ndog weight 3.0 NaN\n height NaN 4.0\n>>> df_multi_level_cols2.stack([0, 1], future_stack=True)\ncat weight kg 1.0\n height m 2.0\ndog weight kg 3.0\n height m 4.0\ndtype: float64\n"}, "kind": 2, "label": "stack", "sortText": "165"}, {"detail": "bound method DataFrame.std(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, ddof: int = 1, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "std", "sortText": "166"}, {"detail": "Styler", "documentation": {"kind": "plaintext", "value": "Helps style a DataFrame or Series according to the data with HTML and CSS.\n\nParameters\n----------\ndata : Series or DataFrame\n Data to be styled - either a Series or DataFrame.\nprecision : int, optional\n Precision to round floats to. If not given defaults to\n ``pandas.options.styler.format.precision``.\n\n .. versionchanged:: 1.4.0\ntable_styles : list-like, default None\n List of {selector: (attr, value)} dicts; see Notes.\nuuid : str, default None\n A unique identifier to avoid CSS collisions; generated automatically.\ncaption : str, tuple, default None\n String caption to attach to the table. Tuple only used for LaTeX dual captions.\ntable_attributes : str, default None\n Items that show up in the opening ```` tag\n in addition to automatic (by default) id.\ncell_ids : bool, default True\n If True, each cell will have an ``id`` attribute in their HTML tag.\n The ``id`` takes the form ``T__row_col``\n where ```` is the unique identifier, ```` is the row\n number and ```` is the column number.\nna_rep : str, optional\n Representation for missing values.\n If ``na_rep`` is None, no special formatting is applied, and falls back to\n ``pandas.options.styler.format.na_rep``.\n\nuuid_len : int, default 5\n If ``uuid`` is not specified, the length of the ``uuid`` to randomly generate\n expressed in hex characters, in range [0, 32].\ndecimal : str, optional\n Character used as decimal separator for floats, complex and integers. If not\n given uses ``pandas.options.styler.format.decimal``.\n\n .. versionadded:: 1.3.0\n\nthousands : str, optional, default None\n Character used as thousands separator for floats, complex and integers. If not\n given uses ``pandas.options.styler.format.thousands``.\n\n .. versionadded:: 1.3.0\n\nescape : str, optional\n Use 'html' to replace the characters ``&``, ``<``, ``>``, ``'``, and ``\"``\n in cell display string with HTML-safe sequences.\n Use 'latex' to replace the characters ``&``, ``%``, ``$``, ``#``, ``_``,\n ``{``, ``}``, ``~``, ``^``, and ``\\`` in the cell display string with\n LaTeX-safe sequences. Use 'latex-math' to replace the characters\n the same way as in 'latex' mode, except for math substrings,\n which either are surrounded by two characters ``$`` or start with\n the character ``\\(`` and end with ``\\)``.\n If not given uses ``pandas.options.styler.format.escape``.\n\n .. versionadded:: 1.3.0\nformatter : str, callable, dict, optional\n Object to define how values are displayed. See ``Styler.format``. If not given\n uses ``pandas.options.styler.format.formatter``.\n\n .. versionadded:: 1.4.0\n\nAttributes\n----------\nenv : Jinja2 jinja2.Environment\ntemplate_html : Jinja2 Template\ntemplate_html_table : Jinja2 Template\ntemplate_html_style : Jinja2 Template\ntemplate_latex : Jinja2 Template\nloader : Jinja2 Loader\n\nSee Also\n--------\nDataFrame.style : Return a Styler object containing methods for building\n a styled HTML representation for the DataFrame.\n\nNotes\n-----\nMost styling will be done by passing style functions into\n``Styler.apply`` or ``Styler.map``. Style functions should\nreturn values with strings containing CSS ``'attr: value'`` that will\nbe applied to the indicated cells.\n\nIf using in the Jupyter notebook, Styler has defined a ``_repr_html_``\nto automatically render itself. Otherwise call Styler.to_html to get\nthe generated HTML.\n\nCSS classes are attached to the generated HTML\n\n* Index and Column names include ``index_name`` and ``level``\n where `k` is its level in a MultiIndex\n* Index label cells include\n\n * ``row_heading``\n * ``row`` where `n` is the numeric position of the row\n * ``level`` where `k` is the level in a MultiIndex\n\n* Column label cells include\n * ``col_heading``\n * ``col`` where `n` is the numeric position of the column\n * ``level`` where `k` is the level in a MultiIndex\n\n* Blank cells include ``blank``\n* Data cells include ``data``\n* Trimmed cells include ``col_trim`` or ``row_trim``.\n\nAny, or all, or these classes can be renamed by using the ``css_class_names``\nargument in ``Styler.set_table_classes``, giving a value such as\n*{\"row\": \"MY_ROW_CLASS\", \"col_trim\": \"\", \"row_trim\": \"\"}*.\n\nExamples\n--------\n>>> df = pd.DataFrame([[1.0, 2.0, 3.0], [4, 5, 6]], index=['a', 'b'],\n... columns=['A', 'B', 'C'])\n>>> pd.io.formats.style.Styler(df, precision=2,\n... caption=\"My table\") # doctest: +SKIP\n\nPlease see:\n`Table Visualization <../../user_guide/style.ipynb>`_ for more examples.\n"}, "kind": 22, "label": "style", "sortText": "167"}, {"detail": "bound method DataFrame.sub(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "sub", "sortText": "168"}, {"detail": "(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 3, "label": "subtract", "sortText": "169"}, {"detail": "bound method DataFrame.sum(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, min_count: int = 0, **kwargs) -> Unknown", "kind": 2, "label": "sum", "sortText": "170"}, {"detail": "bound method DataFrame.swapaxes(axis1: int | Literal[\"index\", \"columns\", \"rows\"], axis2: int | Literal[\"index\", \"columns\", \"rows\"], copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Interchange axes and swap values axes appropriately.\n\n.. deprecated:: 2.1.0\n ``swapaxes`` is deprecated and will be removed.\n Please use ``transpose`` instead.\n\nReturns\n-------\nsame as input\n\nExamples\n--------\nPlease see examples for :meth:`DataFrame.transpose`.\n"}, "kind": 2, "label": "swapaxes", "sortText": "171"}, {"detail": "bound method DataFrame.swaplevel(i: int | Literal[\"index\", \"columns\", \"rows\"] = -2, j: int | Literal[\"index\", \"columns\", \"rows\"] = -1, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> DataFrame", "kind": 2, "label": "swaplevel", "sortText": "172"}, {"detail": "bound method DataFrame.tail(n: int = 5) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the last `n` rows.\n\nThis function returns last `n` rows from the object based on\nposition. It is useful for quickly verifying data, for example,\nafter sorting or appending rows.\n\nFor negative values of `n`, this function returns all rows except\nthe first `|n|` rows, equivalent to ``df[|n|:]``.\n\nIf n is larger than the number of rows, this function returns all rows.\n\nParameters\n----------\nn : int, default 5\n Number of rows to select.\n\nReturns\n-------\ntype of caller\n The last `n` rows of the caller object.\n\nSee Also\n--------\nDataFrame.head : The first `n` rows of the caller object.\n\nExamples\n--------\n>>> df = pd.DataFrame({'animal': ['alligator', 'bee', 'falcon', 'lion',\n... 'monkey', 'parrot', 'shark', 'whale', 'zebra']})\n>>> df\n animal\n0 alligator\n1 bee\n2 falcon\n3 lion\n4 monkey\n5 parrot\n6 shark\n7 whale\n8 zebra\n\nViewing the last 5 lines\n\n>>> df.tail()\n animal\n4 monkey\n5 parrot\n6 shark\n7 whale\n8 zebra\n\nViewing the last `n` lines (three in this case)\n\n>>> df.tail(3)\n animal\n6 shark\n7 whale\n8 zebra\n\nFor negative values of `n`\n\n>>> df.tail(-3)\n animal\n3 lion\n4 monkey\n5 parrot\n6 shark\n7 whale\n8 zebra\n"}, "kind": 2, "label": "tail", "sortText": "173"}, {"detail": "bound method DataFrame.take(indices, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the elements in the given *positional* indices along an axis.\n\nThis means that we are not indexing according to actual values in\nthe index attribute of the object. We are indexing according to the\nactual position of the element in the object.\n\nParameters\n----------\nindices : array-like\n An array of ints indicating which positions to take.\naxis : {0 or 'index', 1 or 'columns', None}, default 0\n The axis on which to select elements. ``0`` means that we are\n selecting rows, ``1`` means that we are selecting columns.\n For `Series` this parameter is unused and defaults to 0.\n**kwargs\n For compatibility with :meth:`numpy.take`. Has no effect on the\n output.\n\nReturns\n-------\nsame type as caller\n An array-like containing the elements taken from the object.\n\nSee Also\n--------\nDataFrame.loc : Select a subset of a DataFrame by labels.\nDataFrame.iloc : Select a subset of a DataFrame by positions.\nnumpy.take : Take elements from an array along an axis.\n\nExamples\n--------\n>>> df = pd.DataFrame([('falcon', 'bird', 389.0),\n... ('parrot', 'bird', 24.0),\n... ('lion', 'mammal', 80.5),\n... ('monkey', 'mammal', np.nan)],\n... columns=['name', 'class', 'max_speed'],\n... index=[0, 2, 3, 1])\n>>> df\n name class max_speed\n0 falcon bird 389.0\n2 parrot bird 24.0\n3 lion mammal 80.5\n1 monkey mammal NaN\n\nTake elements at positions 0 and 3 along the axis 0 (default).\n\nNote how the actual indices selected (0 and 1) do not correspond to\nour selected indices 0 and 3. That's because we are selecting the 0th\nand 3rd rows, not rows whose indices equal 0 and 3.\n\n>>> df.take([0, 3])\n name class max_speed\n0 falcon bird 389.0\n1 monkey mammal NaN\n\nTake elements at indices 1 and 2 along the axis 1 (column selection).\n\n>>> df.take([1, 2], axis=1)\n class max_speed\n0 bird 389.0\n2 bird 24.0\n3 mammal 80.5\n1 mammal NaN\n\nWe may take elements using negative integers for positive indices,\nstarting from the end of the object, just like with Python lists.\n\n>>> df.take([-1, -2])\n name class max_speed\n1 monkey mammal NaN\n3 lion mammal 80.5\n"}, "kind": 2, "label": "take", "sortText": "174"}, {"detail": "bound method DataFrame.to_clipboard(excel: bool = True, sep: str | None = None, **kwargs) -> None", "documentation": {"kind": "plaintext", "value": "Copy object to the system clipboard.\n\nWrite a text representation of object to the system clipboard.\nThis can be pasted into Excel, for example.\n\nParameters\n----------\nexcel : bool, default True\n Produce output in a csv format for easy pasting into excel.\n\n - True, use the provided separator for csv pasting.\n - False, write a string representation of the object to the clipboard.\n\nsep : str, default ``'\\t'``\n Field delimiter.\n**kwargs\n These parameters will be passed to DataFrame.to_csv.\n\nSee Also\n--------\nDataFrame.to_csv : Write a DataFrame to a comma-separated values\n (csv) file.\nread_clipboard : Read text from clipboard and pass to read_csv.\n\nNotes\n-----\nRequirements for your platform.\n\n - Linux : `xclip`, or `xsel` (with `PyQt4` modules)\n - Windows : none\n - macOS : none\n\nThis method uses the processes developed for the package `pyperclip`. A\nsolution to render any output string format is given in the examples.\n\nExamples\n--------\nCopy the contents of a DataFrame to the clipboard.\n\n>>> df = pd.DataFrame([[1, 2, 3], [4, 5, 6]], columns=['A', 'B', 'C'])\n\n>>> df.to_clipboard(sep=',') # doctest: +SKIP\n... # Wrote the following to the system clipboard:\n... # ,A,B,C\n... # 0,1,2,3\n... # 1,4,5,6\n\nWe can omit the index by passing the keyword `index` and setting\nit to false.\n\n>>> df.to_clipboard(sep=',', index=False) # doctest: +SKIP\n... # Wrote the following to the system clipboard:\n... # A,B,C\n... # 1,2,3\n... # 4,5,6\n\nUsing the original `pyperclip` package for any string output format.\n\n.. code-block:: python\n\n import pyperclip\n html = df.style.to_html()\n pyperclip.copy(html)\n"}, "kind": 2, "label": "to_clipboard", "sortText": "175"}, {"detail": "Overload[(path_or_buf: None = ..., sep: str = ..., na_rep: str = ..., float_format: str | ((...) -> Unknown) | None = ..., columns: Sequence[Hashable] | None = ..., header: bool | list[str] = ..., index: bool = ..., index_label: Hashable | Sequence[Hashable] = ..., mode: str = ..., encoding: str | None = ..., compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = ..., quoting: int | None = ..., quotechar: str = ..., lineterminator: str | None = ..., chunksize: int | None = ..., date_format: str | None = ..., doublequote: bool = ..., escapechar: str | None = ..., decimal: str = ..., errors: Literal[\"strict\", \"ignore\", \"replace\", \"surrogateescape\", \"xmlcharrefreplace\", \"backslashreplace\", \"namereplace\"] = ..., storage_options: dict[str, Any] | None = ...) -> str, (path_or_buf: str | PathLike[str] | WriteBuffer[bytes] | WriteBuffer[str], sep: str = ..., na_rep: str = ..., float_format: str | ((...) -> Unknown) | None = ..., columns: Sequence[Hashable] | None = ..., header: bool | list[str] = ..., index: bool = ..., index_label: Hashable | Sequence[Hashable] = ..., mode: str = ..., encoding: str | None = ..., compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = ..., quoting: int | None = ..., quotechar: str = ..., lineterminator: str | None = ..., chunksize: int | None = ..., date_format: str | None = ..., doublequote: bool = ..., escapechar: str | None = ..., decimal: str = ..., errors: Literal[\"strict\", \"ignore\", \"replace\", \"surrogateescape\", \"xmlcharrefreplace\", \"backslashreplace\", \"namereplace\"] = ..., storage_options: dict[str, Any] | None = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Write object to a comma-separated values (csv) file.\n\nParameters\n----------\npath_or_buf : str, path object, file-like object, or None, default None\n String, path object (implementing os.PathLike[str]), or file-like\n object implementing a write() function. If None, the result is\n returned as a string. If a non-binary file object is passed, it should\n be opened with `newline=''`, disabling universal newlines. If a binary\n file object is passed, `mode` might need to contain a `'b'`.\nsep : str, default ','\n String of length 1. Field delimiter for the output file.\nna_rep : str, default ''\n Missing data representation.\nfloat_format : str, Callable, default None\n Format string for floating point numbers. If a Callable is given, it takes\n precedence over other numeric formatting parameters, like decimal.\ncolumns : sequence, optional\n Columns to write.\nheader : bool or list of str, default True\n Write out the column names. If a list of strings is given it is\n assumed to be aliases for the column names.\nindex : bool, default True\n Write row names (index).\nindex_label : str or sequence, or False, default None\n Column label for index column(s) if desired. If None is given, and\n `header` and `index` are True, then the index names are used. A\n sequence should be given if the object uses MultiIndex. If\n False do not print fields for index names. Use index_label=False\n for easier importing in R.\nmode : {{'w', 'x', 'a'}}, default 'w'\n Forwarded to either `open(mode=)` or `fsspec.open(mode=)` to control\n the file opening. Typical values include:\n\n - 'w', truncate the file first.\n - 'x', exclusive creation, failing if the file already exists.\n - 'a', append to the end of file if it exists.\n\nencoding : str, optional\n A string representing the encoding to use in the output file,\n defaults to 'utf-8'. `encoding` is not supported if `path_or_buf`\n is a non-binary file object.\n{compression_options}\n\n May be a dict with key 'method' as compression mode\n and other entries as additional compression options if\n compression mode is 'zip'.\n\n Passing compression options as keys in dict is\n supported for compression modes 'gzip', 'bz2', 'zstd', and 'zip'.\nquoting : optional constant from csv module\n Defaults to csv.QUOTE_MINIMAL. If you have set a `float_format`\n then floats are converted to strings and thus csv.QUOTE_NONNUMERIC\n will treat them as non-numeric.\nquotechar : str, default '\\\"'\n String of length 1. Character used to quote fields.\nlineterminator : str, optional\n The newline character or character sequence to use in the output\n file. Defaults to `os.linesep`, which depends on the OS in which\n this method is called ('\\\\n' for linux, '\\\\r\\\\n' for Windows, i.e.).\n\n .. versionchanged:: 1.5.0\n\n Previously was line_terminator, changed for consistency with\n read_csv and the standard library 'csv' module.\n\nchunksize : int or None\n Rows to write at a time.\ndate_format : str, default None\n Format string for datetime objects.\ndoublequote : bool, default True\n Control quoting of `quotechar` inside a field.\nescapechar : str, default None\n String of length 1. Character used to escape `sep` and `quotechar`\n when appropriate.\ndecimal : str, default '.'\n Character recognized as decimal separator. E.g. use ',' for\n European data.\nerrors : str, default 'strict'\n Specifies how encoding and decoding errors are to be handled.\n See the errors argument for :func:`open` for a full list\n of options.\n\n{storage_options}\n\nReturns\n-------\nNone or str\n If path_or_buf is None, returns the resulting csv format as a\n string. Otherwise returns None.\n\nSee Also\n--------\nread_csv : Load a CSV file into a DataFrame.\nto_excel : Write DataFrame to an Excel file.\n\nExamples\n--------\nCreate 'out.csv' containing 'df' without indices\n\n>>> df = pd.DataFrame({{'name': ['Raphael', 'Donatello'],\n... 'mask': ['red', 'purple'],\n... 'weapon': ['sai', 'bo staff']}})\n>>> df.to_csv('out.csv', index=False) # doctest: +SKIP\n\nCreate 'out.zip' containing 'out.csv'\n\n>>> df.to_csv(index=False)\n'name,mask,weapon\\nRaphael,red,sai\\nDonatello,purple,bo staff\\n'\n>>> compression_opts = dict(method='zip',\n... archive_name='out.csv') # doctest: +SKIP\n>>> df.to_csv('out.zip', index=False,\n... compression=compression_opts) # doctest: +SKIP\n\nTo write a csv file to a new folder or nested folder you will first\nneed to create it using either Pathlib or os:\n\n>>> from pathlib import Path # doctest: +SKIP\n>>> filepath = Path('folder/subfolder/out.csv') # doctest: +SKIP\n>>> filepath.parent.mkdir(parents=True, exist_ok=True) # doctest: +SKIP\n>>> df.to_csv(filepath) # doctest: +SKIP\n\n>>> import os # doctest: +SKIP\n>>> os.makedirs('folder/subfolder', exist_ok=True) # doctest: +SKIP\n>>> df.to_csv('folder/subfolder/out.csv') # doctest: +SKIP\n"}, "kind": 2, "label": "to_csv", "sortText": "176"}, {"detail": "Overload[[MutableMappingT](orient: Literal[\"dict\", \"list\", \"series\", \"split\", \"tight\", \"index\"] = ..., *, into: type[MutableMappingT] | MutableMappingT, index: bool = ...) -> MutableMappingT, [MutableMappingT](orient: Literal[\"records\"], *, into: type[MutableMappingT] | MutableMappingT, index: bool = ...) -> list[MutableMappingT], (orient: Literal[\"dict\", \"list\", \"series\", \"split\", \"tight\", \"index\"] = ..., *, into: type[dict[Unknown, Unknown]] = ..., index: bool = ...) -> dict[Unknown, Unknown], (orient: Literal[\"records\"], *, into: type[dict[Unknown, Unknown]] = ..., index: bool = ...) -> list[dict[Unknown, Unknown]]]", "documentation": {"kind": "plaintext", "value": "Convert the DataFrame to a dictionary.\n\nThe type of the key-value pairs can be customized with the parameters\n(see below).\n\nParameters\n----------\norient : str {'dict', 'list', 'series', 'split', 'tight', 'records', 'index'}\n Determines the type of the values of the dictionary.\n\n - 'dict' (default) : dict like {column -> {index -> value}}\n - 'list' : dict like {column -> [values]}\n - 'series' : dict like {column -> Series(values)}\n - 'split' : dict like\n {'index' -> [index], 'columns' -> [columns], 'data' -> [values]}\n - 'tight' : dict like\n {'index' -> [index], 'columns' -> [columns], 'data' -> [values],\n 'index_names' -> [index.names], 'column_names' -> [column.names]}\n - 'records' : list like\n [{column -> value}, ... , {column -> value}]\n - 'index' : dict like {index -> {column -> value}}\n\n .. versionadded:: 1.4.0\n 'tight' as an allowed value for the ``orient`` argument\n\ninto : class, default dict\n The collections.abc.MutableMapping subclass used for all Mappings\n in the return value. Can be the actual class or an empty\n instance of the mapping type you want. If you want a\n collections.defaultdict, you must pass it initialized.\n\nindex : bool, default True\n Whether to include the index item (and index_names item if `orient`\n is 'tight') in the returned dictionary. Can only be ``False``\n when `orient` is 'split' or 'tight'.\n\n .. versionadded:: 2.0.0\n\nReturns\n-------\ndict, list or collections.abc.MutableMapping\n Return a collections.abc.MutableMapping object representing the\n DataFrame. The resulting transformation depends on the `orient`\n parameter.\n\nSee Also\n--------\nDataFrame.from_dict: Create a DataFrame from a dictionary.\nDataFrame.to_json: Convert a DataFrame to JSON format.\n\nExamples\n--------\n>>> df = pd.DataFrame({'col1': [1, 2],\n... 'col2': [0.5, 0.75]},\n... index=['row1', 'row2'])\n>>> df\n col1 col2\nrow1 1 0.50\nrow2 2 0.75\n>>> df.to_dict()\n{'col1': {'row1': 1, 'row2': 2}, 'col2': {'row1': 0.5, 'row2': 0.75}}\n\nYou can specify the return orientation.\n\n>>> df.to_dict('series')\n{'col1': row1 1\n row2 2\nName: col1, dtype: int64,\n'col2': row1 0.50\n row2 0.75\nName: col2, dtype: float64}\n\n>>> df.to_dict('split')\n{'index': ['row1', 'row2'], 'columns': ['col1', 'col2'],\n 'data': [[1, 0.5], [2, 0.75]]}\n\n>>> df.to_dict('records')\n[{'col1': 1, 'col2': 0.5}, {'col1': 2, 'col2': 0.75}]\n\n>>> df.to_dict('index')\n{'row1': {'col1': 1, 'col2': 0.5}, 'row2': {'col1': 2, 'col2': 0.75}}\n\n>>> df.to_dict('tight')\n{'index': ['row1', 'row2'], 'columns': ['col1', 'col2'],\n 'data': [[1, 0.5], [2, 0.75]], 'index_names': [None], 'column_names': [None]}\n\nYou can also specify the mapping type.\n\n>>> from collections import OrderedDict, defaultdict\n>>> df.to_dict(into=OrderedDict)\nOrderedDict([('col1', OrderedDict([('row1', 1), ('row2', 2)])),\n ('col2', OrderedDict([('row1', 0.5), ('row2', 0.75)]))])\n\nIf you want a `defaultdict`, you need to initialize it:\n\n>>> dd = defaultdict(list)\n>>> df.to_dict('records', into=dd)\n[defaultdict(, {'col1': 1, 'col2': 0.5}),\n defaultdict(, {'col1': 2, 'col2': 0.75})]\n"}, "kind": 2, "label": "to_dict", "sortText": "177"}, {"detail": "bound method DataFrame.to_excel(excel_writer: str | PathLike[str] | WriteExcelBuffer, sheet_name: str = \"Sheet1\", na_rep: str = \"\", float_format: str | None = None, columns: Sequence[Hashable] | None = None, header: Sequence[Hashable] | bool = True, index: bool = True, index_label: Hashable | Sequence[Hashable] = None, startrow: int = 0, startcol: int = 0, engine: Literal[\"openpyxl\", \"xlsxwriter\"] | None = None, merge_cells: bool = True, inf_rep: str = \"inf\", freeze_panes: tuple[int, int] | None = None, storage_options: dict[str, Any] | None = None, engine_kwargs: dict[str, Any] | None = None) -> None", "documentation": {"kind": "plaintext", "value": "Write {klass} to an Excel sheet.\n\nTo write a single {klass} to an Excel .xlsx file it is only necessary to\nspecify a target file name. To write to multiple sheets it is necessary to\ncreate an `ExcelWriter` object with a target file name, and specify a sheet\nin the file to write to.\n\nMultiple sheets may be written to by specifying unique `sheet_name`.\nWith all data written to the file it is necessary to save the changes.\nNote that creating an `ExcelWriter` object with a file name that already\nexists will result in the contents of the existing file being erased.\n\nParameters\n----------\nexcel_writer : path-like, file-like, or ExcelWriter object\n File path or existing ExcelWriter.\nsheet_name : str, default 'Sheet1'\n Name of sheet which will contain DataFrame.\nna_rep : str, default ''\n Missing data representation.\nfloat_format : str, optional\n Format string for floating point numbers. For example\n ``float_format=\"%.2f\"`` will format 0.1234 to 0.12.\ncolumns : sequence or list of str, optional\n Columns to write.\nheader : bool or list of str, default True\n Write out the column names. If a list of string is given it is\n assumed to be aliases for the column names.\nindex : bool, default True\n Write row names (index).\nindex_label : str or sequence, optional\n Column label for index column(s) if desired. If not specified, and\n `header` and `index` are True, then the index names are used. A\n sequence should be given if the DataFrame uses MultiIndex.\nstartrow : int, default 0\n Upper left cell row to dump data frame.\nstartcol : int, default 0\n Upper left cell column to dump data frame.\nengine : str, optional\n Write engine to use, 'openpyxl' or 'xlsxwriter'. You can also set this\n via the options ``io.excel.xlsx.writer`` or\n ``io.excel.xlsm.writer``.\n\nmerge_cells : bool, default True\n Write MultiIndex and Hierarchical Rows as merged cells.\ninf_rep : str, default 'inf'\n Representation for infinity (there is no native representation for\n infinity in Excel).\nfreeze_panes : tuple of int (length 2), optional\n Specifies the one-based bottommost row and rightmost column that\n is to be frozen.\n{storage_options}\n\n .. versionadded:: {storage_options_versionadded}\nengine_kwargs : dict, optional\n Arbitrary keyword arguments passed to excel engine.\n\nSee Also\n--------\nto_csv : Write DataFrame to a comma-separated values (csv) file.\nExcelWriter : Class for writing DataFrame objects into excel sheets.\nread_excel : Read an Excel file into a pandas DataFrame.\nread_csv : Read a comma-separated values (csv) file into DataFrame.\nio.formats.style.Styler.to_excel : Add styles to Excel sheet.\n\nNotes\n-----\nFor compatibility with :meth:`~DataFrame.to_csv`,\nto_excel serializes lists and dicts to strings before writing.\n\nOnce a workbook has been saved it is not possible to write further\ndata without rewriting the whole workbook.\n\nExamples\n--------\n\nCreate, write to and save a workbook:\n\n>>> df1 = pd.DataFrame([['a', 'b'], ['c', 'd']],\n... index=['row 1', 'row 2'],\n... columns=['col 1', 'col 2'])\n>>> df1.to_excel(\"output.xlsx\") # doctest: +SKIP\n\nTo specify the sheet name:\n\n>>> df1.to_excel(\"output.xlsx\",\n... sheet_name='Sheet_name_1') # doctest: +SKIP\n\nIf you wish to write to more than one sheet in the workbook, it is\nnecessary to specify an ExcelWriter object:\n\n>>> df2 = df1.copy()\n>>> with pd.ExcelWriter('output.xlsx') as writer: # doctest: +SKIP\n... df1.to_excel(writer, sheet_name='Sheet_name_1')\n... df2.to_excel(writer, sheet_name='Sheet_name_2')\n\nExcelWriter can also be used to append to an existing Excel file:\n\n>>> with pd.ExcelWriter('output.xlsx',\n... mode='a') as writer: # doctest: +SKIP\n... df1.to_excel(writer, sheet_name='Sheet_name_3')\n\nTo set the library that is used to write the Excel file,\nyou can pass the `engine` keyword (the default engine is\nautomatically chosen depending on the file extension):\n\n>>> df1.to_excel('output1.xlsx', engine='xlsxwriter') # doctest: +SKIP\n"}, "kind": 2, "label": "to_excel", "sortText": "178"}, {"detail": "bound method DataFrame.to_feather(path: str | PathLike[str] | WriteBuffer[bytes], **kwargs) -> None", "documentation": {"kind": "plaintext", "value": "Write a DataFrame to the binary Feather format.\n\nParameters\n----------\npath : str, path object, file-like object\n String, path object (implementing ``os.PathLike[str]``), or file-like\n object implementing a binary ``write()`` function. If a string or a path,\n it will be used as Root Directory path when writing a partitioned dataset.\n**kwargs :\n Additional keywords passed to :func:`pyarrow.feather.write_feather`.\n This includes the `compression`, `compression_level`, `chunksize`\n and `version` keywords.\n\nNotes\n-----\nThis function writes the dataframe as a `feather file\n`_. Requires a default\nindex. For saving the DataFrame with your custom index use a method that\nsupports custom indices e.g. `to_parquet`.\n\nExamples\n--------\n>>> df = pd.DataFrame([[1, 2, 3], [4, 5, 6]])\n>>> df.to_feather(\"file.feather\") # doctest: +SKIP\n"}, "kind": 2, "label": "to_feather", "sortText": "179"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "to_frame", "sortText": "180"}, {"detail": "bound method DataFrame.to_gbq(destination_table: str, project_id: str | None = None, chunksize: int | None = None, reauth: bool = False, if_exists: Literal[\"fail\", \"replace\", \"append\"] = \"fail\", auth_local_webserver: bool = True, table_schema: list[dict[str, str]] | None = None, location: str | None = None, progress_bar: bool = True, credentials=None) -> None", "documentation": {"kind": "plaintext", "value": "Write a DataFrame to a Google BigQuery table.\n\n.. deprecated:: 2.2.0\n\n Please use ``pandas_gbq.to_gbq`` instead.\n\nThis function requires the `pandas-gbq package\n`__.\n\nSee the `How to authenticate with Google BigQuery\n`__\nguide for authentication instructions.\n\nParameters\n----------\ndestination_table : str\n Name of table to be written, in the form ``dataset.tablename``.\nproject_id : str, optional\n Google BigQuery Account project ID. Optional when available from\n the environment.\nchunksize : int, optional\n Number of rows to be inserted in each chunk from the dataframe.\n Set to ``None`` to load the whole dataframe at once.\nreauth : bool, default False\n Force Google BigQuery to re-authenticate the user. This is useful\n if multiple accounts are used.\nif_exists : str, default 'fail'\n Behavior when the destination table exists. Value can be one of:\n\n ``'fail'``\n If table exists raise pandas_gbq.gbq.TableCreationError.\n ``'replace'``\n If table exists, drop it, recreate it, and insert data.\n ``'append'``\n If table exists, insert data. Create if does not exist.\nauth_local_webserver : bool, default True\n Use the `local webserver flow`_ instead of the `console flow`_\n when getting user credentials.\n\n .. _local webserver flow:\n https://google-auth-oauthlib.readthedocs.io/en/latest/reference/google_auth_oauthlib.flow.html#google_auth_oauthlib.flow.InstalledAppFlow.run_local_server\n .. _console flow:\n https://google-auth-oauthlib.readthedocs.io/en/latest/reference/google_auth_oauthlib.flow.html#google_auth_oauthlib.flow.InstalledAppFlow.run_console\n\n *New in version 0.2.0 of pandas-gbq*.\n\n .. versionchanged:: 1.5.0\n Default value is changed to ``True``. Google has deprecated the\n ``auth_local_webserver = False`` `\"out of band\" (copy-paste)\n flow\n `_.\ntable_schema : list of dicts, optional\n List of BigQuery table fields to which according DataFrame\n columns conform to, e.g. ``[{'name': 'col1', 'type':\n 'STRING'},...]``. If schema is not provided, it will be\n generated according to dtypes of DataFrame columns. See\n BigQuery API documentation on available names of a field.\n\n *New in version 0.3.1 of pandas-gbq*.\nlocation : str, optional\n Location where the load job should run. See the `BigQuery locations\n documentation\n `__ for a\n list of available locations. The location must match that of the\n target dataset.\n\n *New in version 0.5.0 of pandas-gbq*.\nprogress_bar : bool, default True\n Use the library `tqdm` to show the progress bar for the upload,\n chunk by chunk.\n\n *New in version 0.5.0 of pandas-gbq*.\ncredentials : google.auth.credentials.Credentials, optional\n Credentials for accessing Google APIs. Use this parameter to\n override default credentials, such as to use Compute Engine\n :class:`google.auth.compute_engine.Credentials` or Service\n Account :class:`google.oauth2.service_account.Credentials`\n directly.\n\n *New in version 0.8.0 of pandas-gbq*.\n\nSee Also\n--------\npandas_gbq.to_gbq : This function in the pandas-gbq library.\nread_gbq : Read a DataFrame from Google BigQuery.\n\nExamples\n--------\nExample taken from `Google BigQuery documentation\n`_\n\n>>> project_id = \"my-project\"\n>>> table_id = 'my_dataset.my_table'\n>>> df = pd.DataFrame({\n... \"my_string\": [\"a\", \"b\", \"c\"],\n... \"my_int64\": [1, 2, 3],\n... \"my_float64\": [4.0, 5.0, 6.0],\n... \"my_bool1\": [True, False, True],\n... \"my_bool2\": [False, True, False],\n... \"my_dates\": pd.date_range(\"now\", periods=3),\n... }\n... )\n\n>>> df.to_gbq(table_id, project_id=project_id) # doctest: +SKIP\n"}, "kind": 2, "label": "to_gbq", "sortText": "181"}, {"detail": "bound method DataFrame.to_hdf(path_or_buf: str | PathLike[str], key: str, mode: Literal[\"a\", \"w\", \"r+\"] = \"a\", complevel: int | None = None, complib: Literal[\"zlib\", \"lzo\", \"bzip2\", \"blosc\"] | None = None, append: bool = False, format: Literal[\"fixed\", \"table\"] | None = None, index: bool = True, min_itemsize: int | dict[str, int] | None = None, nan_rep=None, dropna: bool | None = None, data_columns: Literal[True] | list[str] | None = None, errors: Literal[\"strict\", \"ignore\", \"replace\", \"surrogateescape\", \"xmlcharrefreplace\", \"backslashreplace\", \"namereplace\"] = \"strict\", encoding: str = \"UTF-8\") -> None", "documentation": {"kind": "plaintext", "value": "Write the contained data to an HDF5 file using HDFStore.\n\nHierarchical Data Format (HDF) is self-describing, allowing an\napplication to interpret the structure and contents of a file with\nno outside information. One HDF file can hold a mix of related objects\nwhich can be accessed as a group or as individual objects.\n\nIn order to add another DataFrame or Series to an existing HDF file\nplease use append mode and a different a key.\n\n.. warning::\n\n One can store a subclass of ``DataFrame`` or ``Series`` to HDF5,\n but the type of the subclass is lost upon storing.\n\nFor more information see the :ref:`user guide `.\n\nParameters\n----------\npath_or_buf : str or pandas.HDFStore\n File path or HDFStore object.\nkey : str\n Identifier for the group in the store.\nmode : {'a', 'w', 'r+'}, default 'a'\n Mode to open file:\n\n - 'w': write, a new file is created (an existing file with\n the same name would be deleted).\n - 'a': append, an existing file is opened for reading and\n writing, and if the file does not exist it is created.\n - 'r+': similar to 'a', but the file must already exist.\ncomplevel : {0-9}, default None\n Specifies a compression level for data.\n A value of 0 or None disables compression.\ncomplib : {'zlib', 'lzo', 'bzip2', 'blosc'}, default 'zlib'\n Specifies the compression library to be used.\n These additional compressors for Blosc are supported\n (default if no compressor specified: 'blosc:blosclz'):\n {'blosc:blosclz', 'blosc:lz4', 'blosc:lz4hc', 'blosc:snappy',\n 'blosc:zlib', 'blosc:zstd'}.\n Specifying a compression library which is not available issues\n a ValueError.\nappend : bool, default False\n For Table formats, append the input data to the existing.\nformat : {'fixed', 'table', None}, default 'fixed'\n Possible values:\n\n - 'fixed': Fixed format. Fast writing/reading. Not-appendable,\n nor searchable.\n - 'table': Table format. Write as a PyTables Table structure\n which may perform worse but allow more flexible operations\n like searching / selecting subsets of the data.\n - If None, pd.get_option('io.hdf.default_format') is checked,\n followed by fallback to \"fixed\".\nindex : bool, default True\n Write DataFrame index as a column.\nmin_itemsize : dict or int, optional\n Map column names to minimum string sizes for columns.\nnan_rep : Any, optional\n How to represent null values as str.\n Not allowed with append=True.\ndropna : bool, default False, optional\n Remove missing values.\ndata_columns : list of columns or True, optional\n List of columns to create as indexed data columns for on-disk\n queries, or True to use all columns. By default only the axes\n of the object are indexed. See\n :ref:`Query via data columns`. for\n more information.\n Applicable only to format='table'.\nerrors : str, default 'strict'\n Specifies how encoding and decoding errors are to be handled.\n See the errors argument for :func:`open` for a full list\n of options.\nencoding : str, default \"UTF-8\"\n\nSee Also\n--------\nread_hdf : Read from HDF file.\nDataFrame.to_orc : Write a DataFrame to the binary orc format.\nDataFrame.to_parquet : Write a DataFrame to the binary parquet format.\nDataFrame.to_sql : Write to a SQL table.\nDataFrame.to_feather : Write out feather-format for DataFrames.\nDataFrame.to_csv : Write out to a csv file.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]},\n... index=['a', 'b', 'c']) # doctest: +SKIP\n>>> df.to_hdf('data.h5', key='df', mode='w') # doctest: +SKIP\n\nWe can add another object to the same file:\n\n>>> s = pd.Series([1, 2, 3, 4]) # doctest: +SKIP\n>>> s.to_hdf('data.h5', key='s') # doctest: +SKIP\n\nReading from HDF file:\n\n>>> pd.read_hdf('data.h5', 'df') # doctest: +SKIP\nA B\na 1 4\nb 2 5\nc 3 6\n>>> pd.read_hdf('data.h5', 's') # doctest: +SKIP\n0 1\n1 2\n2 3\n3 4\ndtype: int64\n"}, "kind": 2, "label": "to_hdf", "sortText": "182"}, {"detail": "Overload[(buf: str | PathLike[str] | WriteBuffer[str], columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = ..., col_space: Sequence[str | int] | int | Mapping[Hashable, str | int] | None = ..., header: bool = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., justify: str | None = ..., max_rows: int | None = ..., max_cols: int | None = ..., show_dimensions: bool | str = ..., decimal: str = ..., bold_rows: bool = ..., classes: str | list[Unknown] | tuple[Unknown, ...] | None = ..., escape: bool = ..., notebook: bool = ..., border: int | None = ..., table_id: str | None = ..., render_links: bool = ..., encoding: str | None = ...) -> None, (buf: None = ..., columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = ..., col_space: Sequence[str | int] | int | Mapping[Hashable, str | int] | None = ..., header: bool = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., justify: str | None = ..., max_rows: int | None = ..., max_cols: int | None = ..., show_dimensions: bool | str = ..., decimal: str = ..., bold_rows: bool = ..., classes: str | list[Unknown] | tuple[Unknown, ...] | None = ..., escape: bool = ..., notebook: bool = ..., border: int | None = ..., table_id: str | None = ..., render_links: bool = ..., encoding: str | None = ...) -> str]", "documentation": {"kind": "plaintext", "value": "Render a DataFrame as an HTML table.\n%(shared_params)s\nbold_rows : bool, default True\n Make the row labels bold in the output.\nclasses : str or list or tuple, default None\n CSS class(es) to apply to the resulting html table.\nescape : bool, default True\n Convert the characters <, >, and & to HTML-safe sequences.\nnotebook : {True, False}, default False\n Whether the generated HTML is for IPython Notebook.\nborder : int\n A ``border=border`` attribute is included in the opening\n `
` tag. Default ``pd.options.display.html.border``.\ntable_id : str, optional\n A css id is included in the opening `
` tag if specified.\nrender_links : bool, default False\n Convert URLs to HTML links.\nencoding : str, default \"utf-8\"\n Set character encoding.\n%(returns)s\nSee Also\n--------\nto_string : Convert DataFrame to a string.\n\nExamples\n--------\n>>> df = pd.DataFrame(data={'col1': [1, 2], 'col2': [4, 3]})\n>>> html_string = '''
\n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n...
col1col2
014
123
'''\n>>> assert html_string == df.to_html()\n"}, "kind": 2, "label": "to_html", "sortText": "183"}, {"detail": "bound method DataFrame.to_json(path_or_buf: str | PathLike[str] | WriteBuffer[bytes] | WriteBuffer[str] | None = None, orient: Literal[\"split\", \"records\", \"index\", \"table\", \"columns\", \"values\"] | None = None, date_format: str | None = None, double_precision: int = 10, force_ascii: bool = True, date_unit: Literal[\"s\", \"ms\", \"us\", \"ns\"] = \"ms\", default_handler: ((Any, /) -> str | float | list[Unknown] | dict[Unknown, Unknown] | None) | None = None, lines: bool = False, compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = \"infer\", index: bool | None = None, indent: int | None = None, storage_options: dict[str, Any] | None = None, mode: Literal[\"a\", \"w\"] = \"w\") -> str | None", "documentation": {"kind": "plaintext", "value": "Convert the object to a JSON string.\n\nNote NaN's and None will be converted to null and datetime objects\nwill be converted to UNIX timestamps.\n\nParameters\n----------\npath_or_buf : str, path object, file-like object, or None, default None\n String, path object (implementing os.PathLike[str]), or file-like\n object implementing a write() function. If None, the result is\n returned as a string.\norient : str\n Indication of expected JSON string format.\n\n * Series:\n\n - default is 'index'\n - allowed values are: {{'split', 'records', 'index', 'table'}}.\n\n * DataFrame:\n\n - default is 'columns'\n - allowed values are: {{'split', 'records', 'index', 'columns',\n 'values', 'table'}}.\n\n * The format of the JSON string:\n\n - 'split' : dict like {{'index' -> [index], 'columns' -> [columns],\n 'data' -> [values]}}\n - 'records' : list like [{{column -> value}}, ... , {{column -> value}}]\n - 'index' : dict like {{index -> {{column -> value}}}}\n - 'columns' : dict like {{column -> {{index -> value}}}}\n - 'values' : just the values array\n - 'table' : dict like {{'schema': {{schema}}, 'data': {{data}}}}\n\n Describing the data, where data component is like ``orient='records'``.\n\ndate_format : {{None, 'epoch', 'iso'}}\n Type of date conversion. 'epoch' = epoch milliseconds,\n 'iso' = ISO8601. The default depends on the `orient`. For\n ``orient='table'``, the default is 'iso'. For all other orients,\n the default is 'epoch'.\ndouble_precision : int, default 10\n The number of decimal places to use when encoding\n floating point values. The possible maximal value is 15.\n Passing double_precision greater than 15 will raise a ValueError.\nforce_ascii : bool, default True\n Force encoded string to be ASCII.\ndate_unit : str, default 'ms' (milliseconds)\n The time unit to encode to, governs timestamp and ISO8601\n precision. One of 's', 'ms', 'us', 'ns' for second, millisecond,\n microsecond, and nanosecond respectively.\ndefault_handler : callable, default None\n Handler to call if object cannot otherwise be converted to a\n suitable format for JSON. Should receive a single argument which is\n the object to convert and return a serialisable object.\nlines : bool, default False\n If 'orient' is 'records' write out line-delimited json format. Will\n throw ValueError if incorrect 'orient' since others are not\n list-like.\n{compression_options}\n\n .. versionchanged:: 1.4.0 Zstandard support.\n\nindex : bool or None, default None\n The index is only used when 'orient' is 'split', 'index', 'column',\n or 'table'. Of these, 'index' and 'column' do not support\n `index=False`.\n\nindent : int, optional\n Length of whitespace used to indent each record.\n\n{storage_options}\n\nmode : str, default 'w' (writing)\n Specify the IO mode for output when supplying a path_or_buf.\n Accepted args are 'w' (writing) and 'a' (append) only.\n mode='a' is only supported when lines is True and orient is 'records'.\n\nReturns\n-------\nNone or str\n If path_or_buf is None, returns the resulting json format as a\n string. Otherwise returns None.\n\nSee Also\n--------\nread_json : Convert a JSON string to pandas object.\n\nNotes\n-----\nThe behavior of ``indent=0`` varies from the stdlib, which does not\nindent the output but does insert newlines. Currently, ``indent=0``\nand the default ``indent=None`` are equivalent in pandas, though this\nmay change in a future release.\n\n``orient='table'`` contains a 'pandas_version' field under 'schema'.\nThis stores the version of `pandas` used in the latest revision of the\nschema.\n\nExamples\n--------\n>>> from json import loads, dumps\n>>> df = pd.DataFrame(\n... [[\"a\", \"b\"], [\"c\", \"d\"]],\n... index=[\"row 1\", \"row 2\"],\n... columns=[\"col 1\", \"col 2\"],\n... )\n\n>>> result = df.to_json(orient=\"split\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n{{\n \"columns\": [\n \"col 1\",\n \"col 2\"\n ],\n \"index\": [\n \"row 1\",\n \"row 2\"\n ],\n \"data\": [\n [\n \"a\",\n \"b\"\n ],\n [\n \"c\",\n \"d\"\n ]\n ]\n}}\n\nEncoding/decoding a Dataframe using ``'records'`` formatted JSON.\nNote that index labels are not preserved with this encoding.\n\n>>> result = df.to_json(orient=\"records\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n[\n {{\n \"col 1\": \"a\",\n \"col 2\": \"b\"\n }},\n {{\n \"col 1\": \"c\",\n \"col 2\": \"d\"\n }}\n]\n\nEncoding/decoding a Dataframe using ``'index'`` formatted JSON:\n\n>>> result = df.to_json(orient=\"index\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n{{\n \"row 1\": {{\n \"col 1\": \"a\",\n \"col 2\": \"b\"\n }},\n \"row 2\": {{\n \"col 1\": \"c\",\n \"col 2\": \"d\"\n }}\n}}\n\nEncoding/decoding a Dataframe using ``'columns'`` formatted JSON:\n\n>>> result = df.to_json(orient=\"columns\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n{{\n \"col 1\": {{\n \"row 1\": \"a\",\n \"row 2\": \"c\"\n }},\n \"col 2\": {{\n \"row 1\": \"b\",\n \"row 2\": \"d\"\n }}\n}}\n\nEncoding/decoding a Dataframe using ``'values'`` formatted JSON:\n\n>>> result = df.to_json(orient=\"values\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n[\n [\n \"a\",\n \"b\"\n ],\n [\n \"c\",\n \"d\"\n ]\n]\n\nEncoding with Table Schema:\n\n>>> result = df.to_json(orient=\"table\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n{{\n \"schema\": {{\n \"fields\": [\n {{\n \"name\": \"index\",\n \"type\": \"string\"\n }},\n {{\n \"name\": \"col 1\",\n \"type\": \"string\"\n }},\n {{\n \"name\": \"col 2\",\n \"type\": \"string\"\n }}\n ],\n \"primaryKey\": [\n \"index\"\n ],\n \"pandas_version\": \"1.4.0\"\n }},\n \"data\": [\n {{\n \"index\": \"row 1\",\n \"col 1\": \"a\",\n \"col 2\": \"b\"\n }},\n {{\n \"index\": \"row 2\",\n \"col 1\": \"c\",\n \"col 2\": \"d\"\n }}\n ]\n}}\n"}, "kind": 2, "label": "to_json", "sortText": "184"}, {"detail": "Overload[(buf: None = ..., columns: Sequence[Hashable] | None = ..., header: bool | SequenceNotStr[str] = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., bold_rows: bool = ..., column_format: str | None = ..., longtable: bool | None = ..., escape: bool | None = ..., encoding: str | None = ..., decimal: str = ..., multicolumn: bool | None = ..., multicolumn_format: str | None = ..., multirow: bool | None = ..., caption: str | tuple[str, str] | None = ..., label: str | None = ..., position: str | None = ...) -> str, (buf: str | PathLike[str] | WriteBuffer[str], columns: Sequence[Hashable] | None = ..., header: bool | SequenceNotStr[str] = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., bold_rows: bool = ..., column_format: str | None = ..., longtable: bool | None = ..., escape: bool | None = ..., encoding: str | None = ..., decimal: str = ..., multicolumn: bool | None = ..., multicolumn_format: str | None = ..., multirow: bool | None = ..., caption: str | tuple[str, str] | None = ..., label: str | None = ..., position: str | None = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Render object to a LaTeX tabular, longtable, or nested table.\n\nRequires ``\\usepackage{{booktabs}}``. The output can be copy/pasted\ninto a main LaTeX document or read from an external file\nwith ``\\input{{table.tex}}``.\n\n.. versionchanged:: 2.0.0\n Refactored to use the Styler implementation via jinja2 templating.\n\nParameters\n----------\nbuf : str, Path or StringIO-like, optional, default None\n Buffer to write to. If None, the output is returned as a string.\ncolumns : list of label, optional\n The subset of columns to write. Writes all columns by default.\nheader : bool or list of str, default True\n Write out the column names. If a list of strings is given,\n it is assumed to be aliases for the column names.\nindex : bool, default True\n Write row names (index).\nna_rep : str, default 'NaN'\n Missing data representation.\nformatters : list of functions or dict of {{str: function}}, optional\n Formatter functions to apply to columns' elements by position or\n name. The result of each function must be a unicode string.\n List must be of length equal to the number of columns.\nfloat_format : one-parameter function or str, optional, default None\n Formatter for floating point numbers. For example\n ``float_format=\"%.2f\"`` and ``float_format=\"{{:0.2f}}\".format`` will\n both result in 0.1234 being formatted as 0.12.\nsparsify : bool, optional\n Set to False for a DataFrame with a hierarchical index to print\n every multiindex key at each row. By default, the value will be\n read from the config module.\nindex_names : bool, default True\n Prints the names of the indexes.\nbold_rows : bool, default False\n Make the row labels bold in the output.\ncolumn_format : str, optional\n The columns format as specified in `LaTeX table format\n `__ e.g. 'rcl' for 3\n columns. By default, 'l' will be used for all columns except\n columns of numbers, which default to 'r'.\nlongtable : bool, optional\n Use a longtable environment instead of tabular. Requires\n adding a \\usepackage{{longtable}} to your LaTeX preamble.\n By default, the value will be read from the pandas config\n module, and set to `True` if the option ``styler.latex.environment`` is\n `\"longtable\"`.\n\n .. versionchanged:: 2.0.0\n The pandas option affecting this argument has changed.\nescape : bool, optional\n By default, the value will be read from the pandas config\n module and set to `True` if the option ``styler.format.escape`` is\n `\"latex\"`. When set to False prevents from escaping latex special\n characters in column names.\n\n .. versionchanged:: 2.0.0\n The pandas option affecting this argument has changed, as has the\n default value to `False`.\nencoding : str, optional\n A string representing the encoding to use in the output file,\n defaults to 'utf-8'.\ndecimal : str, default '.'\n Character recognized as decimal separator, e.g. ',' in Europe.\nmulticolumn : bool, default True\n Use \\multicolumn to enhance MultiIndex columns.\n The default will be read from the config module, and is set\n as the option ``styler.sparse.columns``.\n\n .. versionchanged:: 2.0.0\n The pandas option affecting this argument has changed.\nmulticolumn_format : str, default 'r'\n The alignment for multicolumns, similar to `column_format`\n The default will be read from the config module, and is set as the option\n ``styler.latex.multicol_align``.\n\n .. versionchanged:: 2.0.0\n The pandas option affecting this argument has changed, as has the\n default value to \"r\".\nmultirow : bool, default True\n Use \\multirow to enhance MultiIndex rows. Requires adding a\n \\usepackage{{multirow}} to your LaTeX preamble. Will print\n centered labels (instead of top-aligned) across the contained\n rows, separating groups via clines. The default will be read\n from the pandas config module, and is set as the option\n ``styler.sparse.index``.\n\n .. versionchanged:: 2.0.0\n The pandas option affecting this argument has changed, as has the\n default value to `True`.\ncaption : str or tuple, optional\n Tuple (full_caption, short_caption),\n which results in ``\\caption[short_caption]{{full_caption}}``;\n if a single string is passed, no short caption will be set.\nlabel : str, optional\n The LaTeX label to be placed inside ``\\label{{}}`` in the output.\n This is used with ``\\ref{{}}`` in the main ``.tex`` file.\n\nposition : str, optional\n The LaTeX positional argument for tables, to be placed after\n ``\\begin{{}}`` in the output.\n\nReturns\n-------\nstr or None\n If buf is None, returns the result as a string. Otherwise returns None.\n\nSee Also\n--------\nio.formats.style.Styler.to_latex : Render a DataFrame to LaTeX\n with conditional formatting.\nDataFrame.to_string : Render a DataFrame to a console-friendly\n tabular output.\nDataFrame.to_html : Render a DataFrame as an HTML table.\n\nNotes\n-----\nAs of v2.0.0 this method has changed to use the Styler implementation as\npart of :meth:`.Styler.to_latex` via ``jinja2`` templating. This means\nthat ``jinja2`` is a requirement, and needs to be installed, for this method\nto function. It is advised that users switch to using Styler, since that\nimplementation is more frequently updated and contains much more\nflexibility with the output.\n\nExamples\n--------\nConvert a general DataFrame to LaTeX with formatting:\n\n>>> df = pd.DataFrame(dict(name=['Raphael', 'Donatello'],\n... age=[26, 45],\n... height=[181.23, 177.65]))\n>>> print(df.to_latex(index=False,\n... formatters={\"name\": str.upper},\n... float_format=\"{:.1f}\".format,\n... )) # doctest: +SKIP\n\\begin{tabular}{lrr}\n\\toprule\nname & age & height \\\\\n\\midrule\nRAPHAEL & 26 & 181.2 \\\\\nDONATELLO & 45 & 177.7 \\\\\n\\bottomrule\n\\end{tabular}\n"}, "kind": 2, "label": "to_latex", "sortText": "185"}, {"detail": "bound method DataFrame.to_markdown(buf: str | PathLike[str] | WriteBuffer[str] | None = None, mode: str = \"wt\", index: bool = True, storage_options: dict[str, Any] | None = None, **kwargs) -> str | None", "kind": 2, "label": "to_markdown", "sortText": "186"}, {"detail": "bound method DataFrame.to_numpy(dtype: DTypeLike | None = None, copy: bool = False, na_value: object = ...) -> ndarray[_AnyShape, dtype[Any]]", "documentation": {"kind": "plaintext", "value": "Convert the DataFrame to a NumPy array.\n\nBy default, the dtype of the returned array will be the common NumPy\ndtype of all types in the DataFrame. For example, if the dtypes are\n``float16`` and ``float32``, the results dtype will be ``float32``.\nThis may require copying data and coercing values, which may be\nexpensive.\n\nParameters\n----------\ndtype : str or numpy.dtype, optional\n The dtype to pass to :meth:`numpy.asarray`.\ncopy : bool, default False\n Whether to ensure that the returned value is not a view on\n another array. Note that ``copy=False`` does not *ensure* that\n ``to_numpy()`` is no-copy. Rather, ``copy=True`` ensure that\n a copy is made, even if not strictly necessary.\nna_value : Any, optional\n The value to use for missing values. The default value depends\n on `dtype` and the dtypes of the DataFrame columns.\n\nReturns\n-------\nnumpy.ndarray\n\nSee Also\n--------\nSeries.to_numpy : Similar method for Series.\n\nExamples\n--------\n>>> pd.DataFrame({\"A\": [1, 2], \"B\": [3, 4]}).to_numpy()\narray([[1, 3],\n [2, 4]])\n\nWith heterogeneous data, the lowest common type will have to\nbe used.\n\n>>> df = pd.DataFrame({\"A\": [1, 2], \"B\": [3.0, 4.5]})\n>>> df.to_numpy()\narray([[1. , 3. ],\n [2. , 4.5]])\n\nFor a mix of numeric and non-numeric types, the output array will\nhave object dtype.\n\n>>> df['C'] = pd.date_range('2000', periods=2)\n>>> df.to_numpy()\narray([[1, 3.0, Timestamp('2000-01-01 00:00:00')],\n [2, 4.5, Timestamp('2000-01-02 00:00:00')]], dtype=object)\n"}, "kind": 2, "label": "to_numpy", "sortText": "187"}, {"detail": "bound method DataFrame.to_orc(path: str | PathLike[str] | WriteBuffer[bytes] | None = None, *, engine: Literal[\"pyarrow\"] = \"pyarrow\", index: bool | None = None, engine_kwargs: dict[str, Any] | None = None) -> bytes | None", "documentation": {"kind": "plaintext", "value": "Write a DataFrame to the ORC format.\n\n.. versionadded:: 1.5.0\n\nParameters\n----------\npath : str, file-like object or None, default None\n If a string, it will be used as Root Directory path\n when writing a partitioned dataset. By file-like object,\n we refer to objects with a write() method, such as a file handle\n (e.g. via builtin open function). If path is None,\n a bytes object is returned.\nengine : {'pyarrow'}, default 'pyarrow'\n ORC library to use.\nindex : bool, optional\n If ``True``, include the dataframe's index(es) in the file output.\n If ``False``, they will not be written to the file.\n If ``None``, similar to ``infer`` the dataframe's index(es)\n will be saved. However, instead of being saved as values,\n the RangeIndex will be stored as a range in the metadata so it\n doesn't require much space and is faster. Other indexes will\n be included as columns in the file output.\nengine_kwargs : dict[str, Any] or None, default None\n Additional keyword arguments passed to :func:`pyarrow.orc.write_table`.\n\nReturns\n-------\nbytes if no path argument is provided else None\n\nRaises\n------\nNotImplementedError\n Dtype of one or more columns is category, unsigned integers, interval,\n period or sparse.\nValueError\n engine is not pyarrow.\n\nSee Also\n--------\nread_orc : Read a ORC file.\nDataFrame.to_parquet : Write a parquet file.\nDataFrame.to_csv : Write a csv file.\nDataFrame.to_sql : Write to a sql table.\nDataFrame.to_hdf : Write to hdf.\n\nNotes\n-----\n* Before using this function you should read the :ref:`user guide about\n ORC ` and :ref:`install optional dependencies `.\n* This function requires `pyarrow `_\n library.\n* For supported dtypes please refer to `supported ORC features in Arrow\n `__.\n* Currently timezones in datetime columns are not preserved when a\n dataframe is converted into ORC files.\n\nExamples\n--------\n>>> df = pd.DataFrame(data={'col1': [1, 2], 'col2': [4, 3]})\n>>> df.to_orc('df.orc') # doctest: +SKIP\n>>> pd.read_orc('df.orc') # doctest: +SKIP\n col1 col2\n0 1 4\n1 2 3\n\nIf you want to get a buffer to the orc content you can write it to io.BytesIO\n\n>>> import io\n>>> b = io.BytesIO(df.to_orc()) # doctest: +SKIP\n>>> b.seek(0) # doctest: +SKIP\n0\n>>> content = b.read() # doctest: +SKIP\n"}, "kind": 2, "label": "to_orc", "sortText": "188"}, {"detail": "Overload[(path: None = ..., engine: Literal[\"auto\", \"pyarrow\", \"fastparquet\"] = ..., compression: str | None = ..., index: bool | None = ..., partition_cols: list[str] | None = ..., storage_options: dict[str, Any] | None = ..., **kwargs) -> bytes, (path: str | PathLike[str] | WriteBuffer[bytes], engine: Literal[\"auto\", \"pyarrow\", \"fastparquet\"] = ..., compression: str | None = ..., index: bool | None = ..., partition_cols: list[str] | None = ..., storage_options: dict[str, Any] | None = ..., **kwargs) -> None]", "documentation": {"kind": "plaintext", "value": "Write a DataFrame to the binary parquet format.\n\nThis function writes the dataframe as a `parquet file\n`_. You can choose different parquet\nbackends, and have the option of compression. See\n:ref:`the user guide ` for more details.\n\nParameters\n----------\npath : str, path object, file-like object, or None, default None\n String, path object (implementing ``os.PathLike[str]``), or file-like\n object implementing a binary ``write()`` function. If None, the result is\n returned as bytes. If a string or path, it will be used as Root Directory\n path when writing a partitioned dataset.\nengine : {{'auto', 'pyarrow', 'fastparquet'}}, default 'auto'\n Parquet library to use. If 'auto', then the option\n ``io.parquet.engine`` is used. The default ``io.parquet.engine``\n behavior is to try 'pyarrow', falling back to 'fastparquet' if\n 'pyarrow' is unavailable.\ncompression : str or None, default 'snappy'\n Name of the compression to use. Use ``None`` for no compression.\n Supported options: 'snappy', 'gzip', 'brotli', 'lz4', 'zstd'.\nindex : bool, default None\n If ``True``, include the dataframe's index(es) in the file output.\n If ``False``, they will not be written to the file.\n If ``None``, similar to ``True`` the dataframe's index(es)\n will be saved. However, instead of being saved as values,\n the RangeIndex will be stored as a range in the metadata so it\n doesn't require much space and is faster. Other indexes will\n be included as columns in the file output.\npartition_cols : list, optional, default None\n Column names by which to partition the dataset.\n Columns are partitioned in the order they are given.\n Must be None if path is not a string.\n{storage_options}\n\n**kwargs\n Additional arguments passed to the parquet library. See\n :ref:`pandas io ` for more details.\n\nReturns\n-------\nbytes if no path argument is provided else None\n\nSee Also\n--------\nread_parquet : Read a parquet file.\nDataFrame.to_orc : Write an orc file.\nDataFrame.to_csv : Write a csv file.\nDataFrame.to_sql : Write to a sql table.\nDataFrame.to_hdf : Write to hdf.\n\nNotes\n-----\nThis function requires either the `fastparquet\n`_ or `pyarrow\n`_ library.\n\nExamples\n--------\n>>> df = pd.DataFrame(data={{'col1': [1, 2], 'col2': [3, 4]}})\n>>> df.to_parquet('df.parquet.gzip',\n... compression='gzip') # doctest: +SKIP\n>>> pd.read_parquet('df.parquet.gzip') # doctest: +SKIP\n col1 col2\n0 1 3\n1 2 4\n\nIf you want to get a buffer to the parquet content you can use a io.BytesIO\nobject, as long as you don't use partition_cols, which creates multiple files.\n\n>>> import io\n>>> f = io.BytesIO()\n>>> df.to_parquet(f)\n>>> f.seek(0)\n0\n>>> content = f.read()\n"}, "kind": 2, "label": "to_parquet", "sortText": "189"}, {"detail": "bound method DataFrame.to_period(freq: str | BaseOffset | None = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Convert DataFrame from DatetimeIndex to PeriodIndex.\n\nConvert DataFrame from DatetimeIndex to PeriodIndex with desired\nfrequency (inferred from index if not passed).\n\nParameters\n----------\nfreq : str, default\n Frequency of the PeriodIndex.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to convert (the index by default).\ncopy : bool, default True\n If False then underlying input data is not copied.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\nDataFrame\n The DataFrame has a PeriodIndex.\n\nExamples\n--------\n>>> idx = pd.to_datetime(\n... [\n... \"2001-03-31 00:00:00\",\n... \"2002-05-31 00:00:00\",\n... \"2003-08-31 00:00:00\",\n... ]\n... )\n\n>>> idx\nDatetimeIndex(['2001-03-31', '2002-05-31', '2003-08-31'],\ndtype='datetime64[ns]', freq=None)\n\n>>> idx.to_period(\"M\")\nPeriodIndex(['2001-03', '2002-05', '2003-08'], dtype='period[M]')\n\nFor the yearly frequency\n\n>>> idx.to_period(\"Y\")\nPeriodIndex(['2001', '2002', '2003'], dtype='period[Y-DEC]')\n"}, "kind": 2, "label": "to_period", "sortText": "190"}, {"detail": "bound method DataFrame.to_pickle(path: str | PathLike[str] | WriteBuffer[bytes], compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = \"infer\", protocol: int = 5, storage_options: dict[str, Any] | None = None) -> None", "documentation": {"kind": "plaintext", "value": "Pickle (serialize) object to file.\n\nParameters\n----------\npath : str, path object, or file-like object\n String, path object (implementing ``os.PathLike[str]``), or file-like\n object implementing a binary ``write()`` function. File path where\n the pickled object will be stored.\n{compression_options}\nprotocol : int\n Int which indicates which protocol should be used by the pickler,\n default HIGHEST_PROTOCOL (see [1]_ paragraph 12.1.2). The possible\n values are 0, 1, 2, 3, 4, 5. A negative value for the protocol\n parameter is equivalent to setting its value to HIGHEST_PROTOCOL.\n\n .. [1] https://docs.python.org/3/library/pickle.html.\n\n{storage_options}\n\nSee Also\n--------\nread_pickle : Load pickled pandas object (or any object) from file.\nDataFrame.to_hdf : Write DataFrame to an HDF5 file.\nDataFrame.to_sql : Write DataFrame to a SQL database.\nDataFrame.to_parquet : Write a DataFrame to the binary parquet format.\n\nExamples\n--------\n>>> original_df = pd.DataFrame({{\"foo\": range(5), \"bar\": range(5, 10)}}) # doctest: +SKIP\n>>> original_df # doctest: +SKIP\n foo bar\n0 0 5\n1 1 6\n2 2 7\n3 3 8\n4 4 9\n>>> original_df.to_pickle(\"./dummy.pkl\") # doctest: +SKIP\n\n>>> unpickled_df = pd.read_pickle(\"./dummy.pkl\") # doctest: +SKIP\n>>> unpickled_df # doctest: +SKIP\n foo bar\n0 0 5\n1 1 6\n2 2 7\n3 3 8\n4 4 9\n"}, "kind": 2, "label": "to_pickle", "sortText": "191"}, {"detail": "bound method DataFrame.to_records(index: bool = True, column_dtypes=None, index_dtypes=None) -> recarray[_AnyShape, dtype[Any]]", "documentation": {"kind": "plaintext", "value": "Convert DataFrame to a NumPy record array.\n\nIndex will be included as the first field of the record array if\nrequested.\n\nParameters\n----------\nindex : bool, default True\n Include index in resulting record array, stored in 'index'\n field or using the index label, if set.\ncolumn_dtypes : str, type, dict, default None\n If a string or type, the data type to store all columns. If\n a dictionary, a mapping of column names and indices (zero-indexed)\n to specific data types.\nindex_dtypes : str, type, dict, default None\n If a string or type, the data type to store all index levels. If\n a dictionary, a mapping of index level names and indices\n (zero-indexed) to specific data types.\n\n This mapping is applied only if `index=True`.\n\nReturns\n-------\nnumpy.rec.recarray\n NumPy ndarray with the DataFrame labels as fields and each row\n of the DataFrame as entries.\n\nSee Also\n--------\nDataFrame.from_records: Convert structured or record ndarray\n to DataFrame.\nnumpy.rec.recarray: An ndarray that allows field access using\n attributes, analogous to typed columns in a\n spreadsheet.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [1, 2], 'B': [0.5, 0.75]},\n... index=['a', 'b'])\n>>> df\n A B\na 1 0.50\nb 2 0.75\n>>> df.to_records()\nrec.array([('a', 1, 0.5 ), ('b', 2, 0.75)],\n dtype=[('index', 'O'), ('A', '>> df.index = df.index.rename(\"I\")\n>>> df.to_records()\nrec.array([('a', 1, 0.5 ), ('b', 2, 0.75)],\n dtype=[('I', 'O'), ('A', '>> df.to_records(index=False)\nrec.array([(1, 0.5 ), (2, 0.75)],\n dtype=[('A', '>> df.to_records(column_dtypes={\"A\": \"int32\"})\nrec.array([('a', 1, 0.5 ), ('b', 2, 0.75)],\n dtype=[('I', 'O'), ('A', '>> df.to_records(index_dtypes=\">> index_dtypes = f\">> df.to_records(index_dtypes=index_dtypes)\nrec.array([(b'a', 1, 0.5 ), (b'b', 2, 0.75)],\n dtype=[('I', 'S1'), ('A', ' Unknown) | None = None) -> int | None", "documentation": {"kind": "plaintext", "value": "Write records stored in a DataFrame to a SQL database.\n\nDatabases supported by SQLAlchemy [1]_ are supported. Tables can be\nnewly created, appended to, or overwritten.\n\nParameters\n----------\nname : str\n Name of SQL table.\ncon : sqlalchemy.engine.(Engine or Connection) or sqlite3.Connection\n Using SQLAlchemy makes it possible to use any DB supported by that\n library. Legacy support is provided for sqlite3.Connection objects. The user\n is responsible for engine disposal and connection closure for the SQLAlchemy\n connectable. See `here `_.\n If passing a sqlalchemy.engine.Connection which is already in a transaction,\n the transaction will not be committed. If passing a sqlite3.Connection,\n it will not be possible to roll back the record insertion.\n\nschema : str, optional\n Specify the schema (if database flavor supports this). If None, use\n default schema.\nif_exists : {'fail', 'replace', 'append'}, default 'fail'\n How to behave if the table already exists.\n\n * fail: Raise a ValueError.\n * replace: Drop the table before inserting new values.\n * append: Insert new values to the existing table.\n\nindex : bool, default True\n Write DataFrame index as a column. Uses `index_label` as the column\n name in the table. Creates a table index for this column.\nindex_label : str or sequence, default None\n Column label for index column(s). If None is given (default) and\n `index` is True, then the index names are used.\n A sequence should be given if the DataFrame uses MultiIndex.\nchunksize : int, optional\n Specify the number of rows in each batch to be written at a time.\n By default, all rows will be written at once.\ndtype : dict or scalar, optional\n Specifying the datatype for columns. If a dictionary is used, the\n keys should be the column names and the values should be the\n SQLAlchemy types or strings for the sqlite3 legacy mode. If a\n scalar is provided, it will be applied to all columns.\nmethod : {None, 'multi', callable}, optional\n Controls the SQL insertion clause used:\n\n * None : Uses standard SQL ``INSERT`` clause (one per row).\n * 'multi': Pass multiple values in a single ``INSERT`` clause.\n * callable with signature ``(pd_table, conn, keys, data_iter)``.\n\n Details and a sample callable implementation can be found in the\n section :ref:`insert method `.\n\nReturns\n-------\nNone or int\n Number of rows affected by to_sql. None is returned if the callable\n passed into ``method`` does not return an integer number of rows.\n\n The number of returned rows affected is the sum of the ``rowcount``\n attribute of ``sqlite3.Cursor`` or SQLAlchemy connectable which may not\n reflect the exact number of written rows as stipulated in the\n `sqlite3 `__ or\n `SQLAlchemy `__.\n\n .. versionadded:: 1.4.0\n\nRaises\n------\nValueError\n When the table already exists and `if_exists` is 'fail' (the\n default).\n\nSee Also\n--------\nread_sql : Read a DataFrame from a table.\n\nNotes\n-----\nTimezone aware datetime columns will be written as\n``Timestamp with timezone`` type with SQLAlchemy if supported by the\ndatabase. Otherwise, the datetimes will be stored as timezone unaware\ntimestamps local to the original timezone.\n\nNot all datastores support ``method=\"multi\"``. Oracle, for example,\ndoes not support multi-value insert.\n\nReferences\n----------\n.. [1] https://docs.sqlalchemy.org\n.. [2] https://www.python.org/dev/peps/pep-0249/\n\nExamples\n--------\nCreate an in-memory SQLite database.\n\n>>> from sqlalchemy import create_engine\n>>> engine = create_engine('sqlite://', echo=False)\n\nCreate a table from scratch with 3 rows.\n\n>>> df = pd.DataFrame({'name' : ['User 1', 'User 2', 'User 3']})\n>>> df\n name\n0 User 1\n1 User 2\n2 User 3\n\n>>> df.to_sql(name='users', con=engine)\n3\n>>> from sqlalchemy import text\n>>> with engine.connect() as conn:\n... conn.execute(text(\"SELECT * FROM users\")).fetchall()\n[(0, 'User 1'), (1, 'User 2'), (2, 'User 3')]\n\nAn `sqlalchemy.engine.Connection` can also be passed to `con`:\n\n>>> with engine.begin() as connection:\n... df1 = pd.DataFrame({'name' : ['User 4', 'User 5']})\n... df1.to_sql(name='users', con=connection, if_exists='append')\n2\n\nThis is allowed to support operations that require that the same\nDBAPI connection is used for the entire operation.\n\n>>> df2 = pd.DataFrame({'name' : ['User 6', 'User 7']})\n>>> df2.to_sql(name='users', con=engine, if_exists='append')\n2\n>>> with engine.connect() as conn:\n... conn.execute(text(\"SELECT * FROM users\")).fetchall()\n[(0, 'User 1'), (1, 'User 2'), (2, 'User 3'),\n (0, 'User 4'), (1, 'User 5'), (0, 'User 6'),\n (1, 'User 7')]\n\nOverwrite the table with just ``df2``.\n\n>>> df2.to_sql(name='users', con=engine, if_exists='replace',\n... index_label='id')\n2\n>>> with engine.connect() as conn:\n... conn.execute(text(\"SELECT * FROM users\")).fetchall()\n[(0, 'User 6'), (1, 'User 7')]\n\nUse ``method`` to define a callable insertion method to do nothing\nif there's a primary key conflict on a table in a PostgreSQL database.\n\n>>> from sqlalchemy.dialects.postgresql import insert\n>>> def insert_on_conflict_nothing(table, conn, keys, data_iter):\n... # \"a\" is the primary key in \"conflict_table\"\n... data = [dict(zip(keys, row)) for row in data_iter]\n... stmt = insert(table.table).values(data).on_conflict_do_nothing(index_elements=[\"a\"])\n... result = conn.execute(stmt)\n... return result.rowcount\n>>> df_conflict.to_sql(name=\"conflict_table\", con=conn, if_exists=\"append\", method=insert_on_conflict_nothing) # doctest: +SKIP\n0\n\nFor MySQL, a callable to update columns ``b`` and ``c`` if there's a conflict\non a primary key.\n\n>>> from sqlalchemy.dialects.mysql import insert\n>>> def insert_on_conflict_update(table, conn, keys, data_iter):\n... # update columns \"b\" and \"c\" on primary key conflict\n... data = [dict(zip(keys, row)) for row in data_iter]\n... stmt = (\n... insert(table.table)\n... .values(data)\n... )\n... stmt = stmt.on_duplicate_key_update(b=stmt.inserted.b, c=stmt.inserted.c)\n... result = conn.execute(stmt)\n... return result.rowcount\n>>> df_conflict.to_sql(name=\"conflict_table\", con=conn, if_exists=\"append\", method=insert_on_conflict_update) # doctest: +SKIP\n2\n\nSpecify the dtype (especially useful for integers with missing values).\nNotice that while pandas is forced to store the data as floating point,\nthe database supports nullable integers. When fetching the data with\nPython, we get back integer scalars.\n\n>>> df = pd.DataFrame({\"A\": [1, None, 2]})\n>>> df\n A\n0 1.0\n1 NaN\n2 2.0\n\n>>> from sqlalchemy.types import Integer\n>>> df.to_sql(name='integers', con=engine, index=False,\n... dtype={\"A\": Integer()})\n3\n\n>>> with engine.connect() as conn:\n... conn.execute(text(\"SELECT * FROM integers\")).fetchall()\n[(1,), (None,), (2,)]\n"}, "kind": 2, "label": "to_sql", "sortText": "193"}, {"detail": "bound method DataFrame.to_stata(path: str | PathLike[str] | WriteBuffer[bytes], *, convert_dates: dict[Hashable, str] | None = None, write_index: bool = True, byteorder: Literal[\">\", \"<\", \"little\", \"big\"] | None = None, time_stamp: datetime | None = None, data_label: str | None = None, variable_labels: dict[Hashable, str] | None = None, version: int | None = 114, convert_strl: Sequence[Hashable] | None = None, compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = \"infer\", storage_options: dict[str, Any] | None = None, value_labels: dict[Hashable, dict[float, str]] | None = None) -> None", "documentation": {"kind": "plaintext", "value": "Export DataFrame object to Stata dta format.\n\nWrites the DataFrame to a Stata dataset file.\n\"dta\" files contain a Stata dataset.\n\nParameters\n----------\npath : str, path object, or buffer\n String, path object (implementing ``os.PathLike[str]``), or file-like\n object implementing a binary ``write()`` function.\n\nconvert_dates : dict\n Dictionary mapping columns containing datetime types to stata\n internal format to use when writing the dates. Options are 'tc',\n 'td', 'tm', 'tw', 'th', 'tq', 'ty'. Column can be either an integer\n or a name. Datetime columns that do not have a conversion type\n specified will be converted to 'tc'. Raises NotImplementedError if\n a datetime column has timezone information.\nwrite_index : bool\n Write the index to Stata dataset.\nbyteorder : str\n Can be \">\", \"<\", \"little\", or \"big\". default is `sys.byteorder`.\ntime_stamp : datetime\n A datetime to use as file creation date. Default is the current\n time.\ndata_label : str, optional\n A label for the data set. Must be 80 characters or smaller.\nvariable_labels : dict\n Dictionary containing columns as keys and variable labels as\n values. Each label must be 80 characters or smaller.\nversion : {{114, 117, 118, 119, None}}, default 114\n Version to use in the output dta file. Set to None to let pandas\n decide between 118 or 119 formats depending on the number of\n columns in the frame. Version 114 can be read by Stata 10 and\n later. Version 117 can be read by Stata 13 or later. Version 118\n is supported in Stata 14 and later. Version 119 is supported in\n Stata 15 and later. Version 114 limits string variables to 244\n characters or fewer while versions 117 and later allow strings\n with lengths up to 2,000,000 characters. Versions 118 and 119\n support Unicode characters, and version 119 supports more than\n 32,767 variables.\n\n Version 119 should usually only be used when the number of\n variables exceeds the capacity of dta format 118. Exporting\n smaller datasets in format 119 may have unintended consequences,\n and, as of November 2020, Stata SE cannot read version 119 files.\n\nconvert_strl : list, optional\n List of column names to convert to string columns to Stata StrL\n format. Only available if version is 117. Storing strings in the\n StrL format can produce smaller dta files if strings have more than\n 8 characters and values are repeated.\n{compression_options}\n\n .. versionchanged:: 1.4.0 Zstandard support.\n\n{storage_options}\n\nvalue_labels : dict of dicts\n Dictionary containing columns as keys and dictionaries of column value\n to labels as values. Labels for a single variable must be 32,000\n characters or smaller.\n\n .. versionadded:: 1.4.0\n\nRaises\n------\nNotImplementedError\n * If datetimes contain timezone information\n * Column dtype is not representable in Stata\nValueError\n * Columns listed in convert_dates are neither datetime64[ns]\n or datetime.datetime\n * Column listed in convert_dates is not in DataFrame\n * Categorical label contains more than 32,000 characters\n\nSee Also\n--------\nread_stata : Import Stata data files.\nio.stata.StataWriter : Low-level writer for Stata data files.\nio.stata.StataWriter117 : Low-level writer for version 117 files.\n\nExamples\n--------\n>>> df = pd.DataFrame({{'animal': ['falcon', 'parrot', 'falcon',\n... 'parrot'],\n... 'speed': [350, 18, 361, 15]}})\n>>> df.to_stata('animals.dta') # doctest: +SKIP\n"}, "kind": 2, "label": "to_stata", "sortText": "194"}, {"detail": "Overload[(buf: None = ..., columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = ..., col_space: int | list[int] | dict[Hashable, int] | None = ..., header: bool | SequenceNotStr[str] = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., justify: str | None = ..., max_rows: int | None = ..., max_cols: int | None = ..., show_dimensions: bool = ..., decimal: str = ..., line_width: int | None = ..., min_rows: int | None = ..., max_colwidth: int | None = ..., encoding: str | None = ...) -> str, (buf: str | PathLike[str] | WriteBuffer[str], columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = ..., col_space: int | list[int] | dict[Hashable, int] | None = ..., header: bool | SequenceNotStr[str] = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., justify: str | None = ..., max_rows: int | None = ..., max_cols: int | None = ..., show_dimensions: bool = ..., decimal: str = ..., line_width: int | None = ..., min_rows: int | None = ..., max_colwidth: int | None = ..., encoding: str | None = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Render a DataFrame to a console-friendly tabular output.\n%(shared_params)s\nline_width : int, optional\n Width to wrap a line in characters.\nmin_rows : int, optional\n The number of rows to display in the console in a truncated repr\n (when number of rows is above `max_rows`).\nmax_colwidth : int, optional\n Max width to truncate each column in characters. By default, no limit.\nencoding : str, default \"utf-8\"\n Set character encoding.\n%(returns)s\nSee Also\n--------\nto_html : Convert DataFrame to HTML.\n\nExamples\n--------\n>>> d = {'col1': [1, 2, 3], 'col2': [4, 5, 6]}\n>>> df = pd.DataFrame(d)\n>>> print(df.to_string())\n col1 col2\n0 1 4\n1 2 5\n2 3 6\n"}, "kind": 2, "label": "to_string", "sortText": "195"}, {"detail": "bound method DataFrame.to_timestamp(freq: str | BaseOffset | None = None, how: Literal[\"s\", \"e\", \"start\", \"end\"] = \"start\", axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Cast to DatetimeIndex of timestamps, at *beginning* of period.\n\nParameters\n----------\nfreq : str, default frequency of PeriodIndex\n Desired frequency.\nhow : {'s', 'e', 'start', 'end'}\n Convention for converting period to timestamp; start of period\n vs. end.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to convert (the index by default).\ncopy : bool, default True\n If False then underlying input data is not copied.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\nDataFrame\n The DataFrame has a DatetimeIndex.\n\nExamples\n--------\n>>> idx = pd.PeriodIndex(['2023', '2024'], freq='Y')\n>>> d = {'col1': [1, 2], 'col2': [3, 4]}\n>>> df1 = pd.DataFrame(data=d, index=idx)\n>>> df1\n col1 col2\n2023 1 3\n2024 2 4\n\nThe resulting timestamps will be at the beginning of the year in this case\n\n>>> df1 = df1.to_timestamp()\n>>> df1\n col1 col2\n2023-01-01 1 3\n2024-01-01 2 4\n>>> df1.index\nDatetimeIndex(['2023-01-01', '2024-01-01'], dtype='datetime64[ns]', freq=None)\n\nUsing `freq` which is the offset that the Timestamps will have\n\n>>> df2 = pd.DataFrame(data=d, index=idx)\n>>> df2 = df2.to_timestamp(freq='M')\n>>> df2\n col1 col2\n2023-01-31 1 3\n2024-01-31 2 4\n>>> df2.index\nDatetimeIndex(['2023-01-31', '2024-01-31'], dtype='datetime64[ns]', freq=None)\n"}, "kind": 2, "label": "to_timestamp", "sortText": "196"}, {"detail": "bound method DataFrame.to_xarray() -> Unknown", "documentation": {"kind": "plaintext", "value": "Return an xarray object from the pandas object.\n\nReturns\n-------\nxarray.DataArray or xarray.Dataset\n Data in the pandas structure converted to Dataset if the object is\n a DataFrame, or a DataArray if the object is a Series.\n\nSee Also\n--------\nDataFrame.to_hdf : Write DataFrame to an HDF5 file.\nDataFrame.to_parquet : Write a DataFrame to the binary parquet format.\n\nNotes\n-----\nSee the `xarray docs `__\n\nExamples\n--------\n>>> df = pd.DataFrame([('falcon', 'bird', 389.0, 2),\n... ('parrot', 'bird', 24.0, 2),\n... ('lion', 'mammal', 80.5, 4),\n... ('monkey', 'mammal', np.nan, 4)],\n... columns=['name', 'class', 'max_speed',\n... 'num_legs'])\n>>> df\n name class max_speed num_legs\n0 falcon bird 389.0 2\n1 parrot bird 24.0 2\n2 lion mammal 80.5 4\n3 monkey mammal NaN 4\n\n>>> df.to_xarray() # doctest: +SKIP\n\nDimensions: (index: 4)\nCoordinates:\n * index (index) int64 32B 0 1 2 3\nData variables:\n name (index) object 32B 'falcon' 'parrot' 'lion' 'monkey'\n class (index) object 32B 'bird' 'bird' 'mammal' 'mammal'\n max_speed (index) float64 32B 389.0 24.0 80.5 nan\n num_legs (index) int64 32B 2 2 4 4\n\n>>> df['max_speed'].to_xarray() # doctest: +SKIP\n\narray([389. , 24. , 80.5, nan])\nCoordinates:\n * index (index) int64 0 1 2 3\n\n>>> dates = pd.to_datetime(['2018-01-01', '2018-01-01',\n... '2018-01-02', '2018-01-02'])\n>>> df_multiindex = pd.DataFrame({'date': dates,\n... 'animal': ['falcon', 'parrot',\n... 'falcon', 'parrot'],\n... 'speed': [350, 18, 361, 15]})\n>>> df_multiindex = df_multiindex.set_index(['date', 'animal'])\n\n>>> df_multiindex\n speed\ndate animal\n2018-01-01 falcon 350\n parrot 18\n2018-01-02 falcon 361\n parrot 15\n\n>>> df_multiindex.to_xarray() # doctest: +SKIP\n\nDimensions: (date: 2, animal: 2)\nCoordinates:\n * date (date) datetime64[ns] 2018-01-01 2018-01-02\n * animal (animal) object 'falcon' 'parrot'\nData variables:\n speed (date, animal) int64 350 18 361 15\n"}, "kind": 2, "label": "to_xarray", "sortText": "197"}, {"detail": "Overload[(path_or_buffer: None = ..., *, index: bool = ..., root_name: str | None = ..., row_name: str | None = ..., na_rep: str | None = ..., attr_cols: list[str] | None = ..., elem_cols: list[str] | None = ..., namespaces: dict[str | None, str] | None = ..., prefix: str | None = ..., encoding: str = ..., xml_declaration: bool | None = ..., pretty_print: bool | None = ..., parser: Literal[\"lxml\", \"etree\"] | None = ..., stylesheet: str | PathLike[str] | ReadBuffer[str] | ReadBuffer[bytes] | None = ..., compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = ..., storage_options: dict[str, Any] | None = ...) -> str, (path_or_buffer: str | PathLike[str] | WriteBuffer[bytes] | WriteBuffer[str], *, index: bool = ..., root_name: str | None = ..., row_name: str | None = ..., na_rep: str | None = ..., attr_cols: list[str] | None = ..., elem_cols: list[str] | None = ..., namespaces: dict[str | None, str] | None = ..., prefix: str | None = ..., encoding: str = ..., xml_declaration: bool | None = ..., pretty_print: bool | None = ..., parser: Literal[\"lxml\", \"etree\"] | None = ..., stylesheet: str | PathLike[str] | ReadBuffer[str] | ReadBuffer[bytes] | None = ..., compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = ..., storage_options: dict[str, Any] | None = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Render a DataFrame to an XML document.\n\n.. versionadded:: 1.3.0\n\nParameters\n----------\npath_or_buffer : str, path object, file-like object, or None, default None\n String, path object (implementing ``os.PathLike[str]``), or file-like\n object implementing a ``write()`` function. If None, the result is returned\n as a string.\nindex : bool, default True\n Whether to include index in XML document.\nroot_name : str, default 'data'\n The name of root element in XML document.\nrow_name : str, default 'row'\n The name of row element in XML document.\nna_rep : str, optional\n Missing data representation.\nattr_cols : list-like, optional\n List of columns to write as attributes in row element.\n Hierarchical columns will be flattened with underscore\n delimiting the different levels.\nelem_cols : list-like, optional\n List of columns to write as children in row element. By default,\n all columns output as children of row element. Hierarchical\n columns will be flattened with underscore delimiting the\n different levels.\nnamespaces : dict, optional\n All namespaces to be defined in root element. Keys of dict\n should be prefix names and values of dict corresponding URIs.\n Default namespaces should be given empty string key. For\n example, ::\n\n namespaces = {{\"\": \"https://example.com\"}}\n\nprefix : str, optional\n Namespace prefix to be used for every element and/or attribute\n in document. This should be one of the keys in ``namespaces``\n dict.\nencoding : str, default 'utf-8'\n Encoding of the resulting document.\nxml_declaration : bool, default True\n Whether to include the XML declaration at start of document.\npretty_print : bool, default True\n Whether output should be pretty printed with indentation and\n line breaks.\nparser : {{'lxml','etree'}}, default 'lxml'\n Parser module to use for building of tree. Only 'lxml' and\n 'etree' are supported. With 'lxml', the ability to use XSLT\n stylesheet is supported.\nstylesheet : str, path object or file-like object, optional\n A URL, file-like object, or a raw string containing an XSLT\n script used to transform the raw XML output. Script should use\n layout of elements and attributes from original output. This\n argument requires ``lxml`` to be installed. Only XSLT 1.0\n scripts and not later versions is currently supported.\n{compression_options}\n\n .. versionchanged:: 1.4.0 Zstandard support.\n\n{storage_options}\n\nReturns\n-------\nNone or str\n If ``io`` is None, returns the resulting XML format as a\n string. Otherwise returns None.\n\nSee Also\n--------\nto_json : Convert the pandas object to a JSON string.\nto_html : Convert DataFrame to a html.\n\nExamples\n--------\n>>> df = pd.DataFrame({{'shape': ['square', 'circle', 'triangle'],\n... 'degrees': [360, 360, 180],\n... 'sides': [4, np.nan, 3]}})\n\n>>> df.to_xml() # doctest: +SKIP\n\n\n \n 0\n square\n 360\n 4.0\n \n \n 1\n circle\n 360\n \n \n \n 2\n triangle\n 180\n 3.0\n \n\n\n>>> df.to_xml(attr_cols=[\n... 'index', 'shape', 'degrees', 'sides'\n... ]) # doctest: +SKIP\n\n\n \n \n \n\n\n>>> df.to_xml(namespaces={{\"doc\": \"https://example.com\"}},\n... prefix=\"doc\") # doctest: +SKIP\n\n\n \n 0\n square\n 360\n 4.0\n \n \n 1\n circle\n 360\n \n \n \n 2\n triangle\n 180\n 3.0\n \n\n"}, "kind": 2, "label": "to_xml", "sortText": "198"}, {"detail": "bound method DataFrame.transform(func: ((...) -> Unknown) | str | list[((...) -> Unknown) | str] | MutableMapping[Hashable, ((...) -> Unknown) | str | list[((...) -> Unknown) | str]], axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, *args, **kwargs) -> DataFrame", "kind": 2, "label": "transform", "sortText": "199"}, {"detail": "bound method DataFrame.transpose(*args, copy: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Transpose index and columns.\n\nReflect the DataFrame over its main diagonal by writing rows as columns\nand vice-versa. The property :attr:`.T` is an accessor to the method\n:meth:`transpose`.\n\nParameters\n----------\n*args : tuple, optional\n Accepted for compatibility with NumPy.\ncopy : bool, default False\n Whether to copy the data after transposing, even for DataFrames\n with a single dtype.\n\n Note that a copy is always required for mixed dtype DataFrames,\n or for DataFrames with any extension types.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\nDataFrame\n The transposed DataFrame.\n\nSee Also\n--------\nnumpy.transpose : Permute the dimensions of a given array.\n\nNotes\n-----\nTransposing a DataFrame with mixed dtypes will result in a homogeneous\nDataFrame with the `object` dtype. In such a case, a copy of the data\nis always made.\n\nExamples\n--------\n**Square DataFrame with homogeneous dtype**\n\n>>> d1 = {'col1': [1, 2], 'col2': [3, 4]}\n>>> df1 = pd.DataFrame(data=d1)\n>>> df1\n col1 col2\n0 1 3\n1 2 4\n\n>>> df1_transposed = df1.T # or df1.transpose()\n>>> df1_transposed\n 0 1\ncol1 1 2\ncol2 3 4\n\nWhen the dtype is homogeneous in the original DataFrame, we get a\ntransposed DataFrame with the same dtype:\n\n>>> df1.dtypes\ncol1 int64\ncol2 int64\ndtype: object\n>>> df1_transposed.dtypes\n0 int64\n1 int64\ndtype: object\n\n**Non-square DataFrame with mixed dtypes**\n\n>>> d2 = {'name': ['Alice', 'Bob'],\n... 'score': [9.5, 8],\n... 'employed': [False, True],\n... 'kids': [0, 0]}\n>>> df2 = pd.DataFrame(data=d2)\n>>> df2\n name score employed kids\n0 Alice 9.5 False 0\n1 Bob 8.0 True 0\n\n>>> df2_transposed = df2.T # or df2.transpose()\n>>> df2_transposed\n 0 1\nname Alice Bob\nscore 9.5 8.0\nemployed False True\nkids 0 0\n\nWhen the DataFrame has mixed dtypes, we get a transposed DataFrame with\nthe `object` dtype:\n\n>>> df2.dtypes\nname object\nscore float64\nemployed bool\nkids int64\ndtype: object\n>>> df2_transposed.dtypes\n0 object\n1 object\ndtype: object\n"}, "kind": 2, "label": "transpose", "sortText": "200"}, {"detail": "bound method DataFrame.truediv(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "truediv", "sortText": "201"}, {"detail": "bound method DataFrame.truncate(before=None, after=None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Truncate a Series or DataFrame before and after some index value.\n\nThis is a useful shorthand for boolean indexing based on index\nvalues above or below certain thresholds.\n\nParameters\n----------\nbefore : date, str, int\n Truncate all rows before this index value.\nafter : date, str, int\n Truncate all rows after this index value.\naxis : {0 or 'index', 1 or 'columns'}, optional\n Axis to truncate. Truncates the index (rows) by default.\n For `Series` this parameter is unused and defaults to 0.\ncopy : bool, default is True,\n Return a copy of the truncated section.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\ntype of caller\n The truncated Series or DataFrame.\n\nSee Also\n--------\nDataFrame.loc : Select a subset of a DataFrame by label.\nDataFrame.iloc : Select a subset of a DataFrame by position.\n\nNotes\n-----\nIf the index being truncated contains only datetime values,\n`before` and `after` may be specified as strings instead of\nTimestamps.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': ['a', 'b', 'c', 'd', 'e'],\n... 'B': ['f', 'g', 'h', 'i', 'j'],\n... 'C': ['k', 'l', 'm', 'n', 'o']},\n... index=[1, 2, 3, 4, 5])\n>>> df\n A B C\n1 a f k\n2 b g l\n3 c h m\n4 d i n\n5 e j o\n\n>>> df.truncate(before=2, after=4)\n A B C\n2 b g l\n3 c h m\n4 d i n\n\nThe columns of a DataFrame can be truncated.\n\n>>> df.truncate(before=\"A\", after=\"B\", axis=\"columns\")\n A B\n1 a f\n2 b g\n3 c h\n4 d i\n5 e j\n\nFor Series, only rows can be truncated.\n\n>>> df['A'].truncate(before=2, after=4)\n2 b\n3 c\n4 d\nName: A, dtype: object\n\nThe index values in ``truncate`` can be datetimes or string\ndates.\n\n>>> dates = pd.date_range('2016-01-01', '2016-02-01', freq='s')\n>>> df = pd.DataFrame(index=dates, data={'A': 1})\n>>> df.tail()\n A\n2016-01-31 23:59:56 1\n2016-01-31 23:59:57 1\n2016-01-31 23:59:58 1\n2016-01-31 23:59:59 1\n2016-02-01 00:00:00 1\n\n>>> df.truncate(before=pd.Timestamp('2016-01-05'),\n... after=pd.Timestamp('2016-01-10')).tail()\n A\n2016-01-09 23:59:56 1\n2016-01-09 23:59:57 1\n2016-01-09 23:59:58 1\n2016-01-09 23:59:59 1\n2016-01-10 00:00:00 1\n\nBecause the index is a DatetimeIndex containing only dates, we can\nspecify `before` and `after` as strings. They will be coerced to\nTimestamps before truncation.\n\n>>> df.truncate('2016-01-05', '2016-01-10').tail()\n A\n2016-01-09 23:59:56 1\n2016-01-09 23:59:57 1\n2016-01-09 23:59:58 1\n2016-01-09 23:59:59 1\n2016-01-10 00:00:00 1\n\nNote that ``truncate`` assumes a 0 value for any unspecified time\ncomponent (midnight). This differs from partial string slicing, which\nreturns any partially matching dates.\n\n>>> df.loc['2016-01-05':'2016-01-10', :].tail()\n A\n2016-01-10 23:59:55 1\n2016-01-10 23:59:56 1\n2016-01-10 23:59:57 1\n2016-01-10 23:59:58 1\n2016-01-10 23:59:59 1\n"}, "kind": 2, "label": "truncate", "sortText": "202"}, {"detail": "bound method DataFrame.tz_convert(tz, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, level=None, copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Convert tz-aware axis to target time zone.\n\nParameters\n----------\ntz : str or tzinfo object or None\n Target time zone. Passing ``None`` will convert to\n UTC and remove the timezone information.\naxis : {{0 or 'index', 1 or 'columns'}}, default 0\n The axis to convert\nlevel : int, str, default None\n If axis is a MultiIndex, convert a specific level. Otherwise\n must be None.\ncopy : bool, default True\n Also make a copy of the underlying data.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\n{klass}\n Object with time zone converted axis.\n\nRaises\n------\nTypeError\n If the axis is tz-naive.\n\nExamples\n--------\nChange to another time zone:\n\n>>> s = pd.Series(\n... [1],\n... index=pd.DatetimeIndex(['2018-09-15 01:30:00+02:00']),\n... )\n>>> s.tz_convert('Asia/Shanghai')\n2018-09-15 07:30:00+08:00 1\ndtype: int64\n\nPass None to convert to UTC and get a tz-naive index:\n\n>>> s = pd.Series([1],\n... index=pd.DatetimeIndex(['2018-09-15 01:30:00+02:00']))\n>>> s.tz_convert(None)\n2018-09-14 23:30:00 1\ndtype: int64\n"}, "kind": 2, "label": "tz_convert", "sortText": "203"}, {"detail": "bound method DataFrame.tz_localize(tz, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, level=None, copy: builtins.bool | None = None, ambiguous: Literal[\"infer\", \"NaT\", \"raise\"] | ndarray[_AnyShape, dtype[numpy.bool[builtins.bool]]] = \"raise\", nonexistent: Literal[\"shift_forward\", \"shift_backward\", \"NaT\", \"raise\"] | timedelta = \"raise\") -> DataFrame", "documentation": {"kind": "plaintext", "value": "Localize tz-naive index of a Series or DataFrame to target time zone.\n\nThis operation localizes the Index. To localize the values in a\ntimezone-naive Series, use :meth:`Series.dt.tz_localize`.\n\nParameters\n----------\ntz : str or tzinfo or None\n Time zone to localize. Passing ``None`` will remove the\n time zone information and preserve local time.\naxis : {{0 or 'index', 1 or 'columns'}}, default 0\n The axis to localize\nlevel : int, str, default None\n If axis ia a MultiIndex, localize a specific level. Otherwise\n must be None.\ncopy : bool, default True\n Also make a copy of the underlying data.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\nambiguous : 'infer', bool-ndarray, 'NaT', default 'raise'\n When clocks moved backward due to DST, ambiguous times may arise.\n For example in Central European Time (UTC+01), when going from\n 03:00 DST to 02:00 non-DST, 02:30:00 local time occurs both at\n 00:30:00 UTC and at 01:30:00 UTC. In such a situation, the\n `ambiguous` parameter dictates how ambiguous times should be\n handled.\n\n - 'infer' will attempt to infer fall dst-transition hours based on\n order\n - bool-ndarray where True signifies a DST time, False designates\n a non-DST time (note that this flag is only applicable for\n ambiguous times)\n - 'NaT' will return NaT where there are ambiguous times\n - 'raise' will raise an AmbiguousTimeError if there are ambiguous\n times.\nnonexistent : str, default 'raise'\n A nonexistent time does not exist in a particular timezone\n where clocks moved forward due to DST. Valid values are:\n\n - 'shift_forward' will shift the nonexistent time forward to the\n closest existing time\n - 'shift_backward' will shift the nonexistent time backward to the\n closest existing time\n - 'NaT' will return NaT where there are nonexistent times\n - timedelta objects will shift nonexistent times by the timedelta\n - 'raise' will raise an NonExistentTimeError if there are\n nonexistent times.\n\nReturns\n-------\n{klass}\n Same type as the input.\n\nRaises\n------\nTypeError\n If the TimeSeries is tz-aware and tz is not None.\n\nExamples\n--------\nLocalize local times:\n\n>>> s = pd.Series(\n... [1],\n... index=pd.DatetimeIndex(['2018-09-15 01:30:00']),\n... )\n>>> s.tz_localize('CET')\n2018-09-15 01:30:00+02:00 1\ndtype: int64\n\nPass None to convert to tz-naive index and preserve local time:\n\n>>> s = pd.Series([1],\n... index=pd.DatetimeIndex(['2018-09-15 01:30:00+02:00']))\n>>> s.tz_localize(None)\n2018-09-15 01:30:00 1\ndtype: int64\n\nBe careful with DST changes. When there is sequential data, pandas\ncan infer the DST time:\n\n>>> s = pd.Series(range(7),\n... index=pd.DatetimeIndex(['2018-10-28 01:30:00',\n... '2018-10-28 02:00:00',\n... '2018-10-28 02:30:00',\n... '2018-10-28 02:00:00',\n... '2018-10-28 02:30:00',\n... '2018-10-28 03:00:00',\n... '2018-10-28 03:30:00']))\n>>> s.tz_localize('CET', ambiguous='infer')\n2018-10-28 01:30:00+02:00 0\n2018-10-28 02:00:00+02:00 1\n2018-10-28 02:30:00+02:00 2\n2018-10-28 02:00:00+01:00 3\n2018-10-28 02:30:00+01:00 4\n2018-10-28 03:00:00+01:00 5\n2018-10-28 03:30:00+01:00 6\ndtype: int64\n\nIn some cases, inferring the DST is impossible. In such cases, you can\npass an ndarray to the ambiguous parameter to set the DST explicitly\n\n>>> s = pd.Series(range(3),\n... index=pd.DatetimeIndex(['2018-10-28 01:20:00',\n... '2018-10-28 02:36:00',\n... '2018-10-28 03:46:00']))\n>>> s.tz_localize('CET', ambiguous=np.array([True, True, False]))\n2018-10-28 01:20:00+02:00 0\n2018-10-28 02:36:00+02:00 1\n2018-10-28 03:46:00+01:00 2\ndtype: int64\n\nIf the DST transition causes nonexistent times, you can shift these\ndates forward or backward with a timedelta object or `'shift_forward'`\nor `'shift_backward'`.\n\n>>> s = pd.Series(range(2),\n... index=pd.DatetimeIndex(['2015-03-29 02:30:00',\n... '2015-03-29 03:30:00']))\n>>> s.tz_localize('Europe/Warsaw', nonexistent='shift_forward')\n2015-03-29 03:00:00+02:00 0\n2015-03-29 03:30:00+02:00 1\ndtype: int64\n>>> s.tz_localize('Europe/Warsaw', nonexistent='shift_backward')\n2015-03-29 01:59:59.999999999+01:00 0\n2015-03-29 03:30:00+02:00 1\ndtype: int64\n>>> s.tz_localize('Europe/Warsaw', nonexistent=pd.Timedelta('1h'))\n2015-03-29 03:30:00+02:00 0\n2015-03-29 03:30:00+02:00 1\ndtype: int64\n"}, "kind": 2, "label": "tz_localize", "sortText": "204"}, {"detail": "bound method DataFrame.unstack(level: Hashable | Sequence[Hashable] = -1, fill_value=None, sort: bool = True) -> Unknown", "documentation": {"kind": "plaintext", "value": "Pivot a level of the (necessarily hierarchical) index labels.\n\nReturns a DataFrame having a new level of column labels whose inner-most level\nconsists of the pivoted index labels.\n\nIf the index is not a MultiIndex, the output will be a Series\n(the analogue of stack when the columns are not a MultiIndex).\n\nParameters\n----------\nlevel : int, str, or list of these, default -1 (last level)\n Level(s) of index to unstack, can pass level name.\nfill_value : int, str or dict\n Replace NaN with this value if the unstack produces missing values.\nsort : bool, default True\n Sort the level(s) in the resulting MultiIndex columns.\n\nReturns\n-------\nSeries or DataFrame\n\nSee Also\n--------\nDataFrame.pivot : Pivot a table based on column values.\nDataFrame.stack : Pivot a level of the column labels (inverse operation\n from `unstack`).\n\nNotes\n-----\nReference :ref:`the user guide ` for more examples.\n\nExamples\n--------\n>>> index = pd.MultiIndex.from_tuples([('one', 'a'), ('one', 'b'),\n... ('two', 'a'), ('two', 'b')])\n>>> s = pd.Series(np.arange(1.0, 5.0), index=index)\n>>> s\none a 1.0\n b 2.0\ntwo a 3.0\n b 4.0\ndtype: float64\n\n>>> s.unstack(level=-1)\n a b\none 1.0 2.0\ntwo 3.0 4.0\n\n>>> s.unstack(level=0)\n one two\na 1.0 3.0\nb 2.0 4.0\n\n>>> df = s.unstack(level=0)\n>>> df.unstack()\none a 1.0\n b 2.0\ntwo a 3.0\n b 4.0\ndtype: float64\n"}, "kind": 2, "label": "unstack", "sortText": "205"}, {"detail": "bound method DataFrame.update(other, join: Literal[\"left\"] = \"left\", overwrite: bool = True, filter_func=None, errors: Literal[\"ignore\", \"raise\"] = \"ignore\") -> None", "documentation": {"kind": "plaintext", "value": "Modify in place using non-NA values from another DataFrame.\n\nAligns on indices. There is no return value.\n\nParameters\n----------\nother : DataFrame, or object coercible into a DataFrame\n Should have at least one matching index/column label\n with the original DataFrame. If a Series is passed,\n its name attribute must be set, and that will be\n used as the column name to align with the original DataFrame.\njoin : {'left'}, default 'left'\n Only left join is implemented, keeping the index and columns of the\n original object.\noverwrite : bool, default True\n How to handle non-NA values for overlapping keys:\n\n * True: overwrite original DataFrame's values\n with values from `other`.\n * False: only update values that are NA in\n the original DataFrame.\n\nfilter_func : callable(1d-array) -> bool 1d-array, optional\n Can choose to replace values other than NA. Return True for values\n that should be updated.\nerrors : {'raise', 'ignore'}, default 'ignore'\n If 'raise', will raise a ValueError if the DataFrame and `other`\n both contain non-NA data in the same place.\n\nReturns\n-------\nNone\n This method directly changes calling object.\n\nRaises\n------\nValueError\n * When `errors='raise'` and there's overlapping non-NA data.\n * When `errors` is not either `'ignore'` or `'raise'`\nNotImplementedError\n * If `join != 'left'`\n\nSee Also\n--------\ndict.update : Similar method for dictionaries.\nDataFrame.merge : For column(s)-on-column(s) operations.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [1, 2, 3],\n... 'B': [400, 500, 600]})\n>>> new_df = pd.DataFrame({'B': [4, 5, 6],\n... 'C': [7, 8, 9]})\n>>> df.update(new_df)\n>>> df\n A B\n0 1 4\n1 2 5\n2 3 6\n\nThe DataFrame's length does not increase as a result of the update,\nonly values at matching index/column labels are updated.\n\n>>> df = pd.DataFrame({'A': ['a', 'b', 'c'],\n... 'B': ['x', 'y', 'z']})\n>>> new_df = pd.DataFrame({'B': ['d', 'e', 'f', 'g', 'h', 'i']})\n>>> df.update(new_df)\n>>> df\n A B\n0 a d\n1 b e\n2 c f\n\n>>> df = pd.DataFrame({'A': ['a', 'b', 'c'],\n... 'B': ['x', 'y', 'z']})\n>>> new_df = pd.DataFrame({'B': ['d', 'f']}, index=[0, 2])\n>>> df.update(new_df)\n>>> df\n A B\n0 a d\n1 b y\n2 c f\n\nFor Series, its name attribute must be set.\n\n>>> df = pd.DataFrame({'A': ['a', 'b', 'c'],\n... 'B': ['x', 'y', 'z']})\n>>> new_column = pd.Series(['d', 'e', 'f'], name='B')\n>>> df.update(new_column)\n>>> df\n A B\n0 a d\n1 b e\n2 c f\n\nIf `other` contains NaNs the corresponding values are not updated\nin the original dataframe.\n\n>>> df = pd.DataFrame({'A': [1, 2, 3],\n... 'B': [400., 500., 600.]})\n>>> new_df = pd.DataFrame({'B': [4, np.nan, 6]})\n>>> df.update(new_df)\n>>> df\n A B\n0 1 4.0\n1 2 500.0\n2 3 6.0\n"}, "kind": 2, "label": "update", "sortText": "206"}, {"detail": "bound method DataFrame.value_counts(subset: Hashable | Sequence[Hashable] = None, normalize: bool = False, sort: bool = True, ascending: bool = False, dropna: bool = True) -> Series", "documentation": {"kind": "plaintext", "value": "Return a Series containing the frequency of each distinct row in the Dataframe.\n\nParameters\n----------\nsubset : label or list of labels, optional\n Columns to use when counting unique combinations.\nnormalize : bool, default False\n Return proportions rather than frequencies.\nsort : bool, default True\n Sort by frequencies when True. Sort by DataFrame column values when False.\nascending : bool, default False\n Sort in ascending order.\ndropna : bool, default True\n Don't include counts of rows that contain NA values.\n\n .. versionadded:: 1.3.0\n\nReturns\n-------\nSeries\n\nSee Also\n--------\nSeries.value_counts: Equivalent method on Series.\n\nNotes\n-----\nThe returned Series will have a MultiIndex with one level per input\ncolumn but an Index (non-multi) for a single label. By default, rows\nthat contain any NA values are omitted from the result. By default,\nthe resulting Series will be in descending order so that the first\nelement is the most frequently-occurring row.\n\nExamples\n--------\n>>> df = pd.DataFrame({'num_legs': [2, 4, 4, 6],\n... 'num_wings': [2, 0, 0, 0]},\n... index=['falcon', 'dog', 'cat', 'ant'])\n>>> df\n num_legs num_wings\nfalcon 2 2\ndog 4 0\ncat 4 0\nant 6 0\n\n>>> df.value_counts()\nnum_legs num_wings\n4 0 2\n2 2 1\n6 0 1\nName: count, dtype: int64\n\n>>> df.value_counts(sort=False)\nnum_legs num_wings\n2 2 1\n4 0 2\n6 0 1\nName: count, dtype: int64\n\n>>> df.value_counts(ascending=True)\nnum_legs num_wings\n2 2 1\n6 0 1\n4 0 2\nName: count, dtype: int64\n\n>>> df.value_counts(normalize=True)\nnum_legs num_wings\n4 0 0.50\n2 2 0.25\n6 0 0.25\nName: proportion, dtype: float64\n\nWith `dropna` set to `False` we can also count rows with NA values.\n\n>>> df = pd.DataFrame({'first_name': ['John', 'Anne', 'John', 'Beth'],\n... 'middle_name': ['Smith', pd.NA, pd.NA, 'Louise']})\n>>> df\n first_name middle_name\n0 John Smith\n1 Anne \n2 John \n3 Beth Louise\n\n>>> df.value_counts()\nfirst_name middle_name\nBeth Louise 1\nJohn Smith 1\nName: count, dtype: int64\n\n>>> df.value_counts(dropna=False)\nfirst_name middle_name\nAnne NaN 1\nBeth Louise 1\nJohn Smith 1\n NaN 1\nName: count, dtype: int64\n\n>>> df.value_counts(\"first_name\")\nfirst_name\nJohn 2\nAnne 1\nBeth 1\nName: count, dtype: int64\n"}, "kind": 2, "label": "value_counts", "sortText": "207"}, {"detail": "ndarray[_AnyShape, dtype[Any]]", "kind": 22, "label": "values", "sortText": "208"}, {"detail": "bound method DataFrame.var(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, ddof: int = 1, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "var", "sortText": "209"}, {"detail": "Overload[(cond, other=..., *, inplace: Literal[False] = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> DataFrame, (cond, other=..., *, inplace: Literal[True], axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> None, (cond, other=..., *, inplace: bool = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Replace values where the condition is {cond_rev}.\n\nParameters\n----------\ncond : bool {klass}, array-like, or callable\n Where `cond` is {cond}, keep the original value. Where\n {cond_rev}, replace with corresponding value from `other`.\n If `cond` is callable, it is computed on the {klass} and\n should return boolean {klass} or array. The callable must\n not change input {klass} (though pandas doesn't check it).\nother : scalar, {klass}, or callable\n Entries where `cond` is {cond_rev} are replaced with\n corresponding value from `other`.\n If other is callable, it is computed on the {klass} and\n should return scalar or {klass}. The callable must not\n change input {klass} (though pandas doesn't check it).\n If not specified, entries will be filled with the corresponding\n NULL value (``np.nan`` for numpy dtypes, ``pd.NA`` for extension\n dtypes).\ninplace : bool, default False\n Whether to perform the operation in place on the data.\naxis : int, default None\n Alignment axis if needed. For `Series` this parameter is\n unused and defaults to 0.\nlevel : int, default None\n Alignment level if needed.\n\nReturns\n-------\nSame type as caller or None if ``inplace=True``.\n\nSee Also\n--------\n:func:`DataFrame.{name_other}` : Return an object of same shape as\n self.\n\nNotes\n-----\nThe {name} method is an application of the if-then idiom. For each\nelement in the calling DataFrame, if ``cond`` is ``{cond}`` the\nelement is used; otherwise the corresponding element from the DataFrame\n``other`` is used. If the axis of ``other`` does not align with axis of\n``cond`` {klass}, the misaligned index positions will be filled with\n{cond_rev}.\n\nThe signature for :func:`DataFrame.where` differs from\n:func:`numpy.where`. Roughly ``df1.where(m, df2)`` is equivalent to\n``np.where(m, df1, df2)``.\n\nFor further details and examples see the ``{name}`` documentation in\n:ref:`indexing `.\n\nThe dtype of the object takes precedence. The fill value is casted to\nthe object's dtype, if this can be done losslessly.\n\nExamples\n--------\n>>> s = pd.Series(range(5))\n>>> s.where(s > 0)\n0 NaN\n1 1.0\n2 2.0\n3 3.0\n4 4.0\ndtype: float64\n>>> s.mask(s > 0)\n0 0.0\n1 NaN\n2 NaN\n3 NaN\n4 NaN\ndtype: float64\n\n>>> s = pd.Series(range(5))\n>>> t = pd.Series([True, False])\n>>> s.where(t, 99)\n0 0\n1 99\n2 99\n3 99\n4 99\ndtype: int64\n>>> s.mask(t, 99)\n0 99\n1 1\n2 99\n3 99\n4 99\ndtype: int64\n\n>>> s.where(s > 1, 10)\n0 10\n1 10\n2 2\n3 3\n4 4\ndtype: int64\n>>> s.mask(s > 1, 10)\n0 0\n1 1\n2 10\n3 10\n4 10\ndtype: int64\n\n>>> df = pd.DataFrame(np.arange(10).reshape(-1, 2), columns=['A', 'B'])\n>>> df\n A B\n0 0 1\n1 2 3\n2 4 5\n3 6 7\n4 8 9\n>>> m = df % 3 == 0\n>>> df.where(m, -df)\n A B\n0 0 -1\n1 -2 3\n2 -4 -5\n3 6 -7\n4 -8 9\n>>> df.where(m, -df) == np.where(m, df, -df)\n A B\n0 True True\n1 True True\n2 True True\n3 True True\n4 True True\n>>> df.where(m, -df) == df.mask(~m, -df)\n A B\n0 True True\n1 True True\n2 True True\n3 True True\n4 True True\n"}, "kind": 2, "label": "where", "sortText": "210"}, {"detail": "bound method DataFrame.xs(key: Hashable | Sequence[Hashable], axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, level: Hashable | Sequence[Hashable] = None, drop_level: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return cross-section from the Series/DataFrame.\n\nThis method takes a `key` argument to select data at a particular\nlevel of a MultiIndex.\n\nParameters\n----------\nkey : label or tuple of label\n Label contained in the index, or partially in a MultiIndex.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Axis to retrieve cross-section on.\nlevel : object, defaults to first n levels (n=1 or len(key))\n In case of a key partially contained in a MultiIndex, indicate\n which levels are used. Levels can be referred by label or position.\ndrop_level : bool, default True\n If False, returns object with same levels as self.\n\nReturns\n-------\nSeries or DataFrame\n Cross-section from the original Series or DataFrame\n corresponding to the selected index levels.\n\nSee Also\n--------\nDataFrame.loc : Access a group of rows and columns\n by label(s) or a boolean array.\nDataFrame.iloc : Purely integer-location based indexing\n for selection by position.\n\nNotes\n-----\n`xs` can not be used to set values.\n\nMultiIndex Slicers is a generic way to get/set values on\nany level or levels.\nIt is a superset of `xs` functionality, see\n:ref:`MultiIndex Slicers `.\n\nExamples\n--------\n>>> d = {'num_legs': [4, 4, 2, 2],\n... 'num_wings': [0, 0, 2, 2],\n... 'class': ['mammal', 'mammal', 'mammal', 'bird'],\n... 'animal': ['cat', 'dog', 'bat', 'penguin'],\n... 'locomotion': ['walks', 'walks', 'flies', 'walks']}\n>>> df = pd.DataFrame(data=d)\n>>> df = df.set_index(['class', 'animal', 'locomotion'])\n>>> df\n num_legs num_wings\nclass animal locomotion\nmammal cat walks 4 0\n dog walks 4 0\n bat flies 2 2\nbird penguin walks 2 2\n\nGet values at specified index\n\n>>> df.xs('mammal')\n num_legs num_wings\nanimal locomotion\ncat walks 4 0\ndog walks 4 0\nbat flies 2 2\n\nGet values at several indexes\n\n>>> df.xs(('mammal', 'dog', 'walks'))\nnum_legs 4\nnum_wings 0\nName: (mammal, dog, walks), dtype: int64\n\nGet values at specified index and level\n\n>>> df.xs('cat', level=1)\n num_legs num_wings\nclass locomotion\nmammal walks 4 0\n\nGet values at several indexes and levels\n\n>>> df.xs(('bird', 'walks'),\n... level=[0, 'locomotion'])\n num_legs num_wings\nanimal\npenguin 2 2\n\nGet values at specified column and axis\n\n>>> df.xs('num_wings', axis=1)\nclass animal locomotion\nmammal cat walks 0\n dog walks 0\n bat flies 2\nbird penguin walks 2\nName: num_wings, dtype: int64\n"}, "kind": 2, "label": "xs", "sortText": "211"}, {"detail": "bound method DataFrame.__abs__() -> DataFrame", "kind": 2, "label": "__abs__", "sortText": "212"}, {"detail": "bound method DataFrame.__add__(other) -> Unknown", "documentation": {"kind": "plaintext", "value": "Get Addition of DataFrame and other, column-wise.\n\nEquivalent to ``DataFrame.add(other)``.\n\nParameters\n----------\nother : scalar, sequence, Series, dict or DataFrame\n Object to be added to the DataFrame.\n\nReturns\n-------\nDataFrame\n The result of adding ``other`` to DataFrame.\n\nSee Also\n--------\nDataFrame.add : Add a DataFrame and another object, with option for index-\n or column-oriented addition.\n\nExamples\n--------\n>>> df = pd.DataFrame({'height': [1.5, 2.6], 'weight': [500, 800]},\n... index=['elk', 'moose'])\n>>> df\n height weight\nelk 1.5 500\nmoose 2.6 800\n\nAdding a scalar affects all rows and columns.\n\n>>> df[['height', 'weight']] + 1.5\n height weight\nelk 3.0 501.5\nmoose 4.1 801.5\n\nEach element of a list is added to a column of the DataFrame, in order.\n\n>>> df[['height', 'weight']] + [0.5, 1.5]\n height weight\nelk 2.0 501.5\nmoose 3.1 801.5\n\nKeys of a dictionary are aligned to the DataFrame, based on column names;\neach value in the dictionary is added to the corresponding column.\n\n>>> df[['height', 'weight']] + {'height': 0.5, 'weight': 1.5}\n height weight\nelk 2.0 501.5\nmoose 3.1 801.5\n\nWhen `other` is a :class:`Series`, the index of `other` is aligned with the\ncolumns of the DataFrame.\n\n>>> s1 = pd.Series([0.5, 1.5], index=['weight', 'height'])\n>>> df[['height', 'weight']] + s1\n height weight\nelk 3.0 500.5\nmoose 4.1 800.5\n\nEven when the index of `other` is the same as the index of the DataFrame,\nthe :class:`Series` will not be reoriented. If index-wise alignment is desired,\n:meth:`DataFrame.add` should be used with `axis='index'`.\n\n>>> s2 = pd.Series([0.5, 1.5], index=['elk', 'moose'])\n>>> df[['height', 'weight']] + s2\n elk height moose weight\nelk NaN NaN NaN NaN\nmoose NaN NaN NaN NaN\n\n>>> df[['height', 'weight']].add(s2, axis='index')\n height weight\nelk 2.0 500.5\nmoose 4.1 801.5\n\nWhen `other` is a :class:`DataFrame`, both columns names and the\nindex are aligned.\n\n>>> other = pd.DataFrame({'height': [0.2, 0.4, 0.6]},\n... index=['elk', 'moose', 'deer'])\n>>> df[['height', 'weight']] + other\n height weight\ndeer NaN NaN\nelk 1.7 NaN\nmoose 3.0 NaN\n"}, "kind": 2, "label": "__add__", "sortText": "213"}, {"detail": "bound method DataFrame.__and__(other) -> Unknown", "kind": 2, "label": "__and__", "sortText": "214"}, {"detail": "dict[str, Any]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "__annotations__", "sortText": "215"}, {"detail": "bound method DataFrame.__array__(dtype: DTypeLike | None = None, copy: bool | None = None) -> ndarray[_AnyShape, dtype[Any]]", "kind": 2, "label": "__array__", "sortText": "216"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "__array_priority__", "sortText": "217"}, {"detail": "bound method DataFrame.__array_ufunc__(ufunc: ufunc, method: str, *inputs: Any, **kwargs: Any) -> Unknown", "kind": 2, "label": "__array_ufunc__", "sortText": "218"}, {"detail": "bound method DataFrame.__arrow_c_stream__(requested_schema=None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Export the pandas DataFrame as an Arrow C stream PyCapsule.\n\nThis relies on pyarrow to convert the pandas DataFrame to the Arrow\nformat (and follows the default behaviour of ``pyarrow.Table.from_pandas``\nin its handling of the index, i.e. store the index as a column except\nfor RangeIndex).\nThis conversion is not necessarily zero-copy.\n\nParameters\n----------\nrequested_schema : PyCapsule, default None\n The schema to which the dataframe should be casted, passed as a\n PyCapsule containing a C ArrowSchema representation of the\n requested schema.\n\nReturns\n-------\nPyCapsule\n"}, "kind": 2, "label": "__arrow_c_stream__", "sortText": "219"}, {"detail": "() -> Never", "kind": 3, "label": "__bool__", "sortText": "220"}, {"detail": "type[DataFrame]", "documentation": {"kind": "plaintext", "value": "Two-dimensional, size-mutable, potentially heterogeneous tabular data.\n\nData structure also contains labeled axes (rows and columns).\nArithmetic operations align on both row and column labels. Can be\nthought of as a dict-like container for Series objects. The primary\npandas data structure.\n\nParameters\n----------\ndata : ndarray (structured or homogeneous), Iterable, dict, or DataFrame\n Dict can contain Series, arrays, constants, dataclass or list-like objects. If\n data is a dict, column order follows insertion-order. If a dict contains Series\n which have an index defined, it is aligned by its index. This alignment also\n occurs if data is a Series or a DataFrame itself. Alignment is done on\n Series/DataFrame inputs.\n\n If data is a list of dicts, column order follows insertion-order.\n\nindex : Index or array-like\n Index to use for resulting frame. Will default to RangeIndex if\n no indexing information part of input data and no index provided.\ncolumns : Index or array-like\n Column labels to use for resulting frame when data does not have them,\n defaulting to RangeIndex(0, 1, 2, ..., n). If data contains column labels,\n will perform column selection instead.\ndtype : dtype, default None\n Data type to force. Only a single dtype is allowed. If None, infer.\ncopy : bool or None, default None\n Copy data from inputs.\n For dict data, the default of None behaves like ``copy=True``. For DataFrame\n or 2d ndarray input, the default of None behaves like ``copy=False``.\n If data is a dict containing one or more Series (possibly of different dtypes),\n ``copy=False`` will ensure that these inputs are not copied.\n\n .. versionchanged:: 1.3.0\n\nSee Also\n--------\nDataFrame.from_records : Constructor from tuples, also record arrays.\nDataFrame.from_dict : From dicts of Series, arrays, or dicts.\nread_csv : Read a comma-separated values (csv) file into DataFrame.\nread_table : Read general delimited file into DataFrame.\nread_clipboard : Read text from clipboard into DataFrame.\n\nNotes\n-----\nPlease reference the :ref:`User Guide ` for more information.\n\nExamples\n--------\nConstructing DataFrame from a dictionary.\n\n>>> d = {'col1': [1, 2], 'col2': [3, 4]}\n>>> df = pd.DataFrame(data=d)\n>>> df\n col1 col2\n0 1 3\n1 2 4\n\nNotice that the inferred dtype is int64.\n\n>>> df.dtypes\ncol1 int64\ncol2 int64\ndtype: object\n\nTo enforce a single dtype:\n\n>>> df = pd.DataFrame(data=d, dtype=np.int8)\n>>> df.dtypes\ncol1 int8\ncol2 int8\ndtype: object\n\nConstructing DataFrame from a dictionary including Series:\n\n>>> d = {'col1': [0, 1, 2, 3], 'col2': pd.Series([2, 3], index=[2, 3])}\n>>> pd.DataFrame(data=d, index=[0, 1, 2, 3])\n col1 col2\n0 0 NaN\n1 1 NaN\n2 2 2.0\n3 3 3.0\n\nConstructing DataFrame from numpy ndarray:\n\n>>> df2 = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]),\n... columns=['a', 'b', 'c'])\n>>> df2\n a b c\n0 1 2 3\n1 4 5 6\n2 7 8 9\n\nConstructing DataFrame from a numpy ndarray that has labeled columns:\n\n>>> data = np.array([(1, 2, 3), (4, 5, 6), (7, 8, 9)],\n... dtype=[(\"a\", \"i4\"), (\"b\", \"i4\"), (\"c\", \"i4\")])\n>>> df3 = pd.DataFrame(data, columns=['c', 'a'])\n...\n>>> df3\n c a\n0 3 1\n1 6 4\n2 9 7\n\nConstructing DataFrame from dataclass:\n\n>>> from dataclasses import make_dataclass\n>>> Point = make_dataclass(\"Point\", [(\"x\", int), (\"y\", int)])\n>>> pd.DataFrame([Point(0, 0), Point(0, 3), Point(2, 3)])\n x y\n0 0 0\n1 0 3\n2 2 3\n\nConstructing DataFrame from Series/DataFrame:\n\n>>> ser = pd.Series([1, 2, 3], index=[\"a\", \"b\", \"c\"])\n>>> df = pd.DataFrame(data=ser, index=[\"a\", \"c\"])\n>>> df\n 0\na 1\nc 3\n\n>>> df1 = pd.DataFrame([1, 2, 3], index=[\"a\", \"b\", \"c\"], columns=[\"x\"])\n>>> df2 = pd.DataFrame(data=df1, index=[\"a\", \"c\"])\n>>> df2\n x\na 1\nc 3\n"}, "kind": 7, "label": "__class__", "sortText": "221"}, {"detail": "bound method DataFrame.__contains__(key) -> bool", "documentation": {"kind": "plaintext", "value": "True if the key is in the info axis\n"}, "kind": 2, "label": "__contains__", "sortText": "222"}, {"detail": "bound method DataFrame.__copy__(deep: bool = True) -> DataFrame", "kind": 2, "label": "__copy__", "sortText": "223"}, {"detail": "bound method DataFrame.__dataframe__(nan_as_null: bool = False, allow_copy: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the dataframe interchange object implementing the interchange protocol.\n\nParameters\n----------\nnan_as_null : bool, default False\n `nan_as_null` is DEPRECATED and has no effect. Please avoid using\n it; it will be removed in a future release.\nallow_copy : bool, default True\n Whether to allow memory copying when exporting. If set to False\n it would cause non-zero-copy exports to fail.\n\nReturns\n-------\nDataFrame interchange object\n The object which consuming library can use to ingress the dataframe.\n\nNotes\n-----\nDetails on the interchange protocol:\nhttps://data-apis.org/dataframe-protocol/latest/index.html\n\nExamples\n--------\n>>> df_not_necessarily_pandas = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})\n>>> interchange_object = df_not_necessarily_pandas.__dataframe__()\n>>> interchange_object.column_names()\nIndex(['A', 'B'], dtype='object')\n>>> df_pandas = (pd.api.interchange.from_dataframe\n... (interchange_object.select_columns_by_name(['A'])))\n>>> df_pandas\n A\n0 1\n1 2\n\nThese methods (``column_names``, ``select_columns_by_name``) should work\nfor any dataframe library which implements the interchange protocol.\n"}, "kind": 2, "label": "__dataframe__", "sortText": "224"}, {"detail": "bound method DataFrame.__dataframe_consortium_standard__(*, api_version: str | None = None) -> Any", "documentation": {"kind": "plaintext", "value": "Provide entry point to the Consortium DataFrame Standard API.\n\nThis is developed and maintained outside of pandas.\nPlease report any issues to https://github.com/data-apis/dataframe-api-compat.\n"}, "kind": 2, "label": "__dataframe_consortium_standard__", "sortText": "225"}, {"detail": "bound method DataFrame.__deepcopy__(memo=None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Parameters\n----------\nmemo, default None\n Standard signature. Unused\n"}, "kind": 2, "label": "__deepcopy__", "sortText": "226"}, {"detail": "bound method DataFrame.__delattr__(name: str, /) -> None", "kind": 2, "label": "__delattr__", "sortText": "227"}, {"detail": "bound method DataFrame.__delitem__(key) -> None", "documentation": {"kind": "plaintext", "value": "Delete item\n"}, "kind": 2, "label": "__delitem__", "sortText": "228"}, {"detail": "dict[str, Any]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "__dict__", "sortText": "229"}, {"detail": "bound method DataFrame.__dir__() -> list[str]", "documentation": {"kind": "plaintext", "value": "Provide method name lookup and completion.\n\nNotes\n-----\nOnly provide 'public' methods.\n"}, "kind": 2, "label": "__dir__", "sortText": "230"}, {"detail": "bound method DataFrame.__divmod__(other) -> tuple[DataFrame, DataFrame]", "kind": 2, "label": "__divmod__", "sortText": "231"}, {"detail": "str | None", "kind": 22, "label": "__doc__", "sortText": "232"}, {"detail": "bound method DataFrame.__eq__(other) -> Unknown", "kind": 2, "label": "__eq__", "sortText": "233"}, {"detail": "bound method DataFrame.__finalize__(other, method: str | None = None, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Propagate metadata from other to self.\n\nParameters\n----------\nother : the object from which to get the attributes that we are going\n to propagate\nmethod : str, optional\n A passed method name providing context on where ``__finalize__``\n was called.\n\n .. warning::\n\n The value passed as `method` are not currently considered\n stable across pandas releases.\n"}, "kind": 2, "label": "__finalize__", "sortText": "234"}, {"detail": "bound method DataFrame.__floordiv__(other) -> Unknown", "kind": 2, "label": "__floordiv__", "sortText": "235"}, {"detail": "bound method DataFrame.__format__(format_spec: str, /) -> str", "kind": 2, "label": "__format__", "sortText": "236"}, {"detail": "bound method DataFrame.__ge__(other) -> Unknown", "kind": 2, "label": "__ge__", "sortText": "237"}, {"detail": "bound method DataFrame.__getattr__(name: str) -> Unknown", "documentation": {"kind": "plaintext", "value": "After regular attribute access, try looking up the name\nThis allows simpler access to columns for interactive use.\n"}, "kind": 2, "label": "__getattr__", "sortText": "238"}, {"detail": "bound method DataFrame.__getattribute__(name: str, /) -> Any", "kind": 2, "label": "__getattribute__", "sortText": "239"}, {"detail": "bound method DataFrame.__getitem__(key) -> Unknown", "kind": 2, "label": "__getitem__", "sortText": "240"}, {"detail": "bound method DataFrame.__getstate__() -> dict[str, Any]", "kind": 2, "label": "__getstate__", "sortText": "241"}, {"detail": "bound method DataFrame.__gt__(other) -> Unknown", "kind": 2, "label": "__gt__", "sortText": "242"}, {"detail": "None", "documentation": {"kind": "plaintext", "value": "The type of the None singleton.\n"}, "kind": 22, "label": "__hash__", "sortText": "243"}, {"detail": "bound method DataFrame.__iadd__(other) -> DataFrame", "kind": 2, "label": "__iadd__", "sortText": "244"}, {"detail": "bound method DataFrame.__iand__(other) -> DataFrame", "kind": 2, "label": "__iand__", "sortText": "245"}, {"detail": "bound method DataFrame.__ifloordiv__(other) -> DataFrame", "kind": 2, "label": "__ifloordiv__", "sortText": "246"}, {"detail": "bound method DataFrame.__imod__(other) -> DataFrame", "kind": 2, "label": "__imod__", "sortText": "247"}, {"detail": "bound method DataFrame.__imul__(other) -> DataFrame", "kind": 2, "label": "__imul__", "sortText": "248"}, {"detail": "bound method DataFrame.__init__(data=None, index: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = None, columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = None, dtype: ExtensionDtype | str | dtype[Any] | type | None = None, copy: bool | None = None) -> None", "kind": 2, "label": "__init__", "sortText": "249"}, {"detail": "bound method type[DataFrame].__init_subclass__() -> None", "kind": 2, "label": "__init_subclass__", "sortText": "250"}, {"detail": "bound method DataFrame.__invert__() -> DataFrame", "kind": 2, "label": "__invert__", "sortText": "251"}, {"detail": "bound method DataFrame.__ior__(other) -> DataFrame", "kind": 2, "label": "__ior__", "sortText": "252"}, {"detail": "bound method DataFrame.__ipow__(other) -> DataFrame", "kind": 2, "label": "__ipow__", "sortText": "253"}, {"detail": "bound method DataFrame.__isub__(other) -> DataFrame", "kind": 2, "label": "__isub__", "sortText": "254"}, {"detail": "bound method DataFrame.__iter__() -> Iterator[Unknown]", "documentation": {"kind": "plaintext", "value": "Iterate over info axis.\n\nReturns\n-------\niterator\n Info axis as iterator.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})\n>>> for x in df:\n... print(x)\nA\nB\n"}, "kind": 2, "label": "__iter__", "sortText": "255"}, {"detail": "bound method DataFrame.__itruediv__(other) -> DataFrame", "kind": 2, "label": "__itruediv__", "sortText": "256"}, {"detail": "bound method DataFrame.__ixor__(other) -> DataFrame", "kind": 2, "label": "__ixor__", "sortText": "257"}, {"detail": "bound method DataFrame.__le__(other) -> Unknown", "kind": 2, "label": "__le__", "sortText": "258"}, {"detail": "bound method DataFrame.__len__() -> int", "documentation": {"kind": "plaintext", "value": "Returns length of info axis, but here we use the index.\n"}, "kind": 2, "label": "__len__", "sortText": "259"}, {"detail": "bound method DataFrame.__lt__(other) -> Unknown", "kind": 2, "label": "__lt__", "sortText": "260"}, {"detail": "Overload[(other: Series) -> Series, (other: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | Series | DataFrame) -> DataFrame | Series]", "documentation": {"kind": "plaintext", "value": "Matrix multiplication using binary `@` operator.\n"}, "kind": 2, "label": "__matmul__", "sortText": "261"}, {"detail": "bound method DataFrame.__mod__(other) -> Unknown", "kind": 2, "label": "__mod__", "sortText": "262"}, {"detail": "str", "documentation": {"kind": "plaintext", "value": "str(object='') -> str\nstr(bytes_or_buffer[, encoding[, errors]]) -> str\n\nCreate a new string object from the given object. If encoding or\nerrors is specified, then the object must expose a data buffer\nthat will be decoded using the given encoding and error handler.\nOtherwise, returns the result of object.__str__() (if defined)\nor repr(object).\nencoding defaults to 'utf-8'.\nerrors defaults to 'strict'.\n"}, "kind": 22, "label": "__module__", "sortText": "263"}, {"detail": "bound method DataFrame.__mul__(other) -> Unknown", "kind": 2, "label": "__mul__", "sortText": "264"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "__name__", "sortText": "265"}, {"detail": "bound method DataFrame.__ne__(other) -> Unknown", "kind": 2, "label": "__ne__", "sortText": "266"}, {"detail": "bound method DataFrame.__neg__() -> DataFrame", "kind": 2, "label": "__neg__", "sortText": "267"}, {"detail": "def __new__[Self](cls) -> Self", "kind": 3, "label": "__new__", "sortText": "268"}, {"detail": "bound method DataFrame.__nonzero__() -> Never", "kind": 2, "label": "__nonzero__", "sortText": "269"}, {"detail": "bound method DataFrame.__or__(other) -> Unknown", "kind": 2, "label": "__or__", "sortText": "270"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "__pandas_priority__", "sortText": "271"}, {"detail": "bound method DataFrame.__pos__() -> DataFrame", "kind": 2, "label": "__pos__", "sortText": "272"}, {"detail": "bound method DataFrame.__pow__(other) -> Unknown", "kind": 2, "label": "__pow__", "sortText": "273"}, {"detail": "bound method DataFrame.__radd__(other) -> Unknown", "kind": 2, "label": "__radd__", "sortText": "274"}, {"detail": "bound method DataFrame.__rand__(other) -> Unknown", "kind": 2, "label": "__rand__", "sortText": "275"}, {"detail": "bound method DataFrame.__rdivmod__(other) -> tuple[DataFrame, DataFrame]", "kind": 2, "label": "__rdivmod__", "sortText": "276"}, {"detail": "bound method DataFrame.__reduce__() -> str | tuple[Any, ...]", "kind": 2, "label": "__reduce__", "sortText": "277"}, {"detail": "bound method DataFrame.__reduce_ex__(protocol: SupportsIndex, /) -> str | tuple[Any, ...]", "kind": 2, "label": "__reduce_ex__", "sortText": "278"}, {"detail": "bound method DataFrame.__repr__() -> str", "documentation": {"kind": "plaintext", "value": "Return a string representation for a particular DataFrame.\n"}, "kind": 2, "label": "__repr__", "sortText": "279"}, {"detail": "bound method DataFrame.__rfloordiv__(other) -> Unknown", "kind": 2, "label": "__rfloordiv__", "sortText": "280"}, {"detail": "bound method DataFrame.__rmatmul__(other) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Matrix multiplication using binary `@` operator.\n"}, "kind": 2, "label": "__rmatmul__", "sortText": "281"}, {"detail": "bound method DataFrame.__rmod__(other) -> Unknown", "kind": 2, "label": "__rmod__", "sortText": "282"}, {"detail": "bound method DataFrame.__rmul__(other) -> Unknown", "kind": 2, "label": "__rmul__", "sortText": "283"}, {"detail": "bound method DataFrame.__ror__(other) -> Unknown", "kind": 2, "label": "__ror__", "sortText": "284"}, {"detail": "bound method DataFrame.__round__(decimals: int = 0) -> DataFrame", "kind": 2, "label": "__round__", "sortText": "285"}, {"detail": "bound method DataFrame.__rpow__(other) -> Unknown", "kind": 2, "label": "__rpow__", "sortText": "286"}, {"detail": "bound method DataFrame.__rsub__(other) -> Unknown", "kind": 2, "label": "__rsub__", "sortText": "287"}, {"detail": "bound method DataFrame.__rtruediv__(other) -> Unknown", "kind": 2, "label": "__rtruediv__", "sortText": "288"}, {"detail": "bound method DataFrame.__rxor__(other) -> Unknown", "kind": 2, "label": "__rxor__", "sortText": "289"}, {"detail": "bound method DataFrame.__setattr__(name: str, value) -> None", "documentation": {"kind": "plaintext", "value": "After regular attribute access, try setting the name\nThis allows simpler access to columns for interactive use.\n"}, "kind": 2, "label": "__setattr__", "sortText": "290"}, {"detail": "bound method DataFrame.__setitem__(key, value) -> None", "kind": 2, "label": "__setitem__", "sortText": "291"}, {"detail": "bound method DataFrame.__setstate__(state) -> None", "kind": 2, "label": "__setstate__", "sortText": "292"}, {"detail": "bound method DataFrame.__sizeof__() -> int", "documentation": {"kind": "plaintext", "value": "Generates the total memory usage for an object that returns\neither a value or Series of values\n"}, "kind": 2, "label": "__sizeof__", "sortText": "293"}, {"detail": "bound method DataFrame.__str__() -> str", "kind": 2, "label": "__str__", "sortText": "294"}, {"detail": "bound method DataFrame.__sub__(other) -> Unknown", "kind": 2, "label": "__sub__", "sortText": "295"}, {"detail": "bound method type[DataFrame].__subclasshook__(subclass: type, /) -> bool", "kind": 2, "label": "__subclasshook__", "sortText": "296"}, {"detail": "bound method DataFrame.__truediv__(other) -> Unknown", "kind": 2, "label": "__truediv__", "sortText": "297"}, {"detail": "bound method DataFrame.__xor__(other) -> Unknown", "kind": 2, "label": "__xor__", "sortText": "298"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "_AXIS_LEN", "sortText": "299"}, {"detail": "list[Literal[\"index\", \"columns\"]]", "documentation": {"kind": "plaintext", "value": "Built-in mutable sequence.\n\nIf no argument is given, the constructor creates a new empty list.\nThe argument must be an iterable if specified.\n"}, "kind": 22, "label": "_AXIS_ORDERS", "sortText": "300"}, {"detail": "dict[int | Literal[\"index\", \"columns\", \"rows\"], int]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "_AXIS_TO_AXIS_NUMBER", "sortText": "301"}, {"detail": "tuple[type[Series], type[Index], type[ExtensionArray], type[ndarray[_AnyShape, dtype[Any]]]]", "documentation": {"kind": "plaintext", "value": "Built-in immutable sequence.\n\nIf no argument is given, the constructor returns an empty tuple.\nIf iterable is specified the tuple is initialized from iterable's items.\n\nIf the argument is a tuple, the return value is the same object.\n"}, "kind": 22, "label": "_HANDLED_TYPES", "sortText": "302"}, {"detail": "set[str]", "documentation": {"kind": "plaintext", "value": "Build an unordered collection of unique elements.\n"}, "kind": 22, "label": "_accessors", "sortText": "303"}, {"detail": "bound method DataFrame._accum_func(name: str, func, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, skipna: bool = True, *args, **kwargs) -> Unknown", "kind": 2, "label": "_accum_func", "sortText": "304"}, {"detail": "str", "documentation": {"kind": "plaintext", "value": "str(object='') -> str\nstr(bytes_or_buffer[, encoding[, errors]]) -> str\n\nCreate a new string object from the given object. If encoding or\nerrors is specified, then the object must expose a data buffer\nthat will be decoded using the given encoding and error handler.\nOtherwise, returns the result of object.__str__() (if defined)\nor repr(object).\nencoding defaults to 'utf-8'.\nerrors defaults to 'strict'.\n"}, "kind": 22, "label": "_agg_examples_doc", "sortText": "305"}, {"detail": "str", "documentation": {"kind": "plaintext", "value": "str(object='') -> str\nstr(bytes_or_buffer[, encoding[, errors]]) -> str\n\nCreate a new string object from the given object. If encoding or\nerrors is specified, then the object must expose a data buffer\nthat will be decoded using the given encoding and error handler.\nOtherwise, returns the result of object.__str__() (if defined)\nor repr(object).\nencoding defaults to 'utf-8'.\nerrors defaults to 'strict'.\n"}, "kind": 22, "label": "_agg_see_also_doc", "sortText": "306"}, {"detail": "bound method DataFrame._align_for_op(other, axis: int, flex: bool | None = False, level: Hashable = None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Convert rhs to meet lhs dims if input is list, tuple or np.ndarray.\n\nParameters\n----------\nleft : DataFrame\nright : Any\naxis : int\nflex : bool or None, default False\n Whether this is a flex op, in which case we reindex.\n None indicates not to check for alignment.\nlevel : int or level name, default None\n\nReturns\n-------\nleft : DataFrame\nright : Any\n"}, "kind": 2, "label": "_align_for_op", "sortText": "307"}, {"detail": "bound method DataFrame._align_frame(other: DataFrame, join: Literal[\"outer\", \"inner\", \"left\", \"right\"] = \"outer\", axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, level=None, copy: bool | None = None, fill_value=None, method=None, limit: int | None = None, fill_axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> tuple[DataFrame, DataFrame, Index | None]", "kind": 2, "label": "_align_frame", "sortText": "308"}, {"detail": "bound method DataFrame._align_series(other: Series, join: Literal[\"outer\", \"inner\", \"left\", \"right\"] = \"outer\", axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, level=None, copy: bool | None = None, fill_value=None, method=None, limit: int | None = None, fill_axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> tuple[DataFrame, Series, Index | None]", "kind": 2, "label": "_align_series", "sortText": "309"}, {"detail": "bound method DataFrame._append(other, ignore_index: bool = False, verify_integrity: bool = False, sort: bool = False) -> DataFrame", "kind": 2, "label": "_append", "sortText": "310"}, {"detail": "bound method DataFrame._arith_method(other, op) -> Unknown", "kind": 2, "label": "_arith_method", "sortText": "311"}, {"detail": "bound method DataFrame._arith_method_with_reindex(right: DataFrame, op) -> DataFrame", "documentation": {"kind": "plaintext", "value": "For DataFrame-with-DataFrame operations that require reindexing,\noperate only on shared columns, then reindex.\n\nParameters\n----------\nright : DataFrame\nop : binary operator\n\nReturns\n-------\nDataFrame\n"}, "kind": 2, "label": "_arith_method_with_reindex", "sortText": "312"}, {"detail": "bound method DataFrame._as_manager(typ: str, copy: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Private helper function to create a DataFrame with specific manager.\n\nParameters\n----------\ntyp : {\"block\", \"array\"}\ncopy : bool, default True\n Only controls whether the conversion from Block->ArrayManager\n copies the 1D arrays (to ensure proper/contiguous memory layout).\n\nReturns\n-------\nDataFrame\n New DataFrame using specified manager type. Is not guaranteed\n to be a copy or not.\n"}, "kind": 2, "label": "_as_manager", "sortText": "313"}, {"detail": "dict[Hashable, Any]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "_attrs", "sortText": "314"}, {"detail": "bound method DataFrame._box_col_values(values: SingleDataManager, loc: int) -> Series", "documentation": {"kind": "plaintext", "value": "Provide boxed values for a column.\n"}, "kind": 2, "label": "_box_col_values", "sortText": "315"}, {"detail": "dict[str, Any]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "_cache", "sortText": "316"}, {"detail": "bool", "documentation": {"kind": "plaintext", "value": "Returns True when the argument is true, False otherwise.\nThe builtins True and False are the only two instances of the class bool.\nThe class bool is a subclass of the class int, and cannot be subclassed.\n"}, "kind": 22, "label": "_can_fast_transpose", "sortText": "317"}, {"detail": "bound method DataFrame._check_inplace_and_allows_duplicate_labels(inplace: bool) -> Unknown", "kind": 2, "label": "_check_inplace_and_allows_duplicate_labels", "sortText": "318"}, {"detail": "bound method DataFrame._check_is_chained_assignment_possible() -> bool", "documentation": {"kind": "plaintext", "value": "Check if we are a view, have a cacher, and are of mixed type.\nIf so, then force a setitem_copy check.\n\nShould be called just near setting a value\n\nWill return a boolean if it we are a view and are cached, but a\nsingle-dtype meaning that the cacher should be updated following\nsetting.\n"}, "kind": 2, "label": "_check_is_chained_assignment_possible", "sortText": "319"}, {"detail": "bound method DataFrame._check_label_or_level_ambiguity(key: Hashable, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> None", "documentation": {"kind": "plaintext", "value": "Check whether `key` is ambiguous.\n\nBy ambiguous, we mean that it matches both a level of the input\n`axis` and a label of the other axis.\n\nParameters\n----------\nkey : Hashable\n Label or level name.\naxis : int, default 0\n Axis that levels are associated with (0 for index, 1 for columns).\n\nRaises\n------\nValueError: `key` is ambiguous\n"}, "kind": 2, "label": "_check_label_or_level_ambiguity", "sortText": "320"}, {"detail": "bound method DataFrame._check_setitem_copy(t: str = \"setting\", force: bool = False) -> Unknown", "documentation": {"kind": "plaintext", "value": "Parameters\n----------\nt : str, the type of setting error\nforce : bool, default False\n If True, then force showing an error.\n\nvalidate if we are doing a setitem on a chained copy.\n\nIt is technically possible to figure out that we are setting on\na copy even WITH a multi-dtyped pandas object. In other words, some\nblocks may be views while other are not. Currently _is_view will ALWAYS\nreturn False for multi-blocks to avoid having to handle this case.\n\ndf = DataFrame(np.arange(0,9), columns=['count'])\ndf['group'] = 'b'\n\n# This technically need not raise SettingWithCopy if both are view\n# (which is not generally guaranteed but is usually True. However,\n# this is in general not a good practice and we recommend using .loc.\ndf.iloc[0:5]['group'] = 'a'\n"}, "kind": 2, "label": "_check_setitem_copy", "sortText": "321"}, {"detail": "bound method DataFrame._clear_item_cache() -> None", "kind": 2, "label": "_clear_item_cache", "sortText": "322"}, {"detail": "bound method DataFrame._clip_with_one_bound(threshold, method, axis, inplace) -> Unknown", "kind": 2, "label": "_clip_with_one_bound", "sortText": "323"}, {"detail": "bound method DataFrame._clip_with_scalar(lower, upper, inplace: bool = False) -> Unknown", "kind": 2, "label": "_clip_with_scalar", "sortText": "324"}, {"detail": "bound method DataFrame._cmp_method(other, op) -> Unknown", "kind": 2, "label": "_cmp_method", "sortText": "325"}, {"detail": "bound method DataFrame._combine_frame(other: DataFrame, func, fill_value=None) -> Unknown", "kind": 2, "label": "_combine_frame", "sortText": "326"}, {"detail": "bound method DataFrame._consolidate() -> Unknown", "documentation": {"kind": "plaintext", "value": "Compute NDFrame with \"consolidated\" internals (data of each dtype\ngrouped together in a single ndarray).\n\nReturns\n-------\nconsolidated : same type as caller\n"}, "kind": 2, "label": "_consolidate", "sortText": "327"}, {"detail": "bound method DataFrame._consolidate_inplace() -> None", "documentation": {"kind": "plaintext", "value": "Consolidate data in place and return None\n"}, "kind": 2, "label": "_consolidate_inplace", "sortText": "328"}, {"detail": "bound method DataFrame._construct_axes_dict(axes: Sequence[int | Literal[\"index\", \"columns\", \"rows\"]] | None = None, **kwargs) -> Unknown", "documentation": {"kind": "plaintext", "value": "Return an axes dictionary for myself.\n"}, "kind": 2, "label": "_construct_axes_dict", "sortText": "329"}, {"detail": "bound method DataFrame._construct_result(result) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Wrap the result of an arithmetic, comparison, or logical operation.\n\nParameters\n----------\nresult : DataFrame\n\nReturns\n-------\nDataFrame\n"}, "kind": 2, "label": "_construct_result", "sortText": "330"}, {"detail": "(...) -> DataFrame", "kind": 3, "label": "_constructor", "sortText": "331"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_constructor_expanddim", "sortText": "332"}, {"detail": "bound method DataFrame._constructor_from_mgr(mgr, axes) -> DataFrame", "kind": 2, "label": "_constructor_from_mgr", "sortText": "333"}, {"detail": "(...) -> Series", "kind": 3, "label": "_constructor_sliced", "sortText": "334"}, {"detail": "bound method DataFrame._constructor_sliced_from_mgr(mgr, axes) -> Series", "kind": 2, "label": "_constructor_sliced_from_mgr", "sortText": "335"}, {"detail": "bound method DataFrame._create_data_for_split_and_tight_to_dict(are_all_object_dtype_cols: bool, object_dtype_indices: list[int]) -> list[Unknown]", "documentation": {"kind": "plaintext", "value": "Simple helper method to create data for to ``to_dict(orient=\"split\")`` and\n``to_dict(orient=\"tight\")`` to create the main output data\n"}, "kind": 2, "label": "_create_data_for_split_and_tight_to_dict", "sortText": "336"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_data", "sortText": "337"}, {"detail": "bound method DataFrame._deprecate_downcast(downcast, method_name: str) -> Unknown", "kind": 2, "label": "_deprecate_downcast", "sortText": "338"}, {"detail": "bound method DataFrame._dir_additions() -> set[str]", "documentation": {"kind": "plaintext", "value": "add the string-like attributes from the info_axis.\nIf info_axis is a MultiIndex, its first level values are used.\n"}, "kind": 2, "label": "_dir_additions", "sortText": "339"}, {"detail": "bound method DataFrame._dir_deletions() -> set[str]", "documentation": {"kind": "plaintext", "value": "Delete unwanted __dir__ for this object.\n"}, "kind": 2, "label": "_dir_deletions", "sortText": "340"}, {"detail": "bound method DataFrame._dispatch_frame_op(right, func: (...) -> Unknown, axis: int | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Evaluate the frame operation func(left, right) by evaluating\ncolumn-by-column, dispatching to the Series implementation.\n\nParameters\n----------\nright : scalar, Series, or DataFrame\nfunc : arithmetic or comparison operator\naxis : {None, 0, 1}\n\nReturns\n-------\nDataFrame\n\nNotes\n-----\nCaller is responsible for setting np.errstate where relevant.\n"}, "kind": 2, "label": "_dispatch_frame_op", "sortText": "341"}, {"detail": "bound method DataFrame._drop_axis(labels, axis, level=None, errors: Literal[\"ignore\", \"raise\"] = \"raise\", only_slice: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Drop labels from specified axis. Used in the ``drop`` method\ninternally.\n\nParameters\n----------\nlabels : single label or list-like\naxis : int or axis name\nlevel : int or level name, default None\n For MultiIndex\nerrors : {'ignore', 'raise'}, default 'raise'\n If 'ignore', suppress error and existing labels are dropped.\nonly_slice : bool, default False\n Whether indexing along columns should be view-only.\n"}, "kind": 2, "label": "_drop_axis", "sortText": "342"}, {"detail": "bound method DataFrame._drop_labels_or_levels(keys, axis: int = 0) -> Unknown", "documentation": {"kind": "plaintext", "value": "Drop labels and/or levels for the given `axis`.\n\nFor each key in `keys`:\n - (axis=0): If key matches a column label then drop the column.\n Otherwise if key matches an index level then drop the level.\n - (axis=1): If key matches an index label then drop the row.\n Otherwise if key matches a column level then drop the level.\n\nParameters\n----------\nkeys : str or list of str\n labels or levels to drop\naxis : int, default 0\n Axis that levels are associated with (0 for index, 1 for columns)\n\nReturns\n-------\ndropped: DataFrame\n\nRaises\n------\nValueError\n if any `keys` match neither a label nor a level\n"}, "kind": 2, "label": "_drop_labels_or_levels", "sortText": "343"}, {"detail": "bound method DataFrame._ensure_valid_index(value) -> None", "documentation": {"kind": "plaintext", "value": "Ensure that if we don't have an index, that we can create one from the\npassed value.\n"}, "kind": 2, "label": "_ensure_valid_index", "sortText": "344"}, {"detail": "bound method DataFrame._find_valid_index(*, how: str) -> Hashable", "documentation": {"kind": "plaintext", "value": "Retrieves the index of the first valid value.\n\nParameters\n----------\nhow : {'first', 'last'}\n Use this parameter to change between the first or last valid index.\n\nReturns\n-------\nidx_first_valid : type of index\n"}, "kind": 2, "label": "_find_valid_index", "sortText": "345"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_flags", "sortText": "346"}, {"detail": "bound method DataFrame._flex_arith_method(other, op, *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> Unknown", "kind": 2, "label": "_flex_arith_method", "sortText": "347"}, {"detail": "bound method DataFrame._flex_cmp_method(other, op, *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> Unknown", "kind": 2, "label": "_flex_cmp_method", "sortText": "348"}, {"detail": "bound method type[DataFrame]._from_arrays(arrays, columns, index, dtype: ExtensionDtype | str | dtype[Any] | type | None = None, verify_integrity: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Create DataFrame from a list of arrays corresponding to the columns.\n\nParameters\n----------\narrays : list-like of arrays\n Each array in the list corresponds to one column, in order.\ncolumns : list-like, Index\n The column names for the resulting DataFrame.\nindex : list-like, Index\n The rows labels for the resulting DataFrame.\ndtype : dtype, optional\n Optional dtype to enforce for all arrays.\nverify_integrity : bool, default True\n Validate and homogenize all input. If set to False, it is assumed\n that all elements of `arrays` are actual arrays how they will be\n stored in a block (numpy ndarray or ExtensionArray), have the same\n length as and are aligned with the index, and that `columns` and\n `index` are ensured to be an Index object.\n\nReturns\n-------\nDataFrame\n"}, "kind": 2, "label": "_from_arrays", "sortText": "349"}, {"detail": "bound method type[DataFrame]._from_mgr(mgr: ArrayManager | SingleArrayManager | BlockManager | SingleBlockManager, axes: list[Index]) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Construct a new object of this type from a Manager object and axes.\n\nParameters\n----------\nmgr : Manager\n Must have the same ndim as cls.\naxes : list[Index]\n\nNotes\n-----\nThe axes must match mgr.axes, but are required for future-proofing\nin the event that axes are refactored out of the Manager objects.\n"}, "kind": 2, "label": "_from_mgr", "sortText": "350"}, {"detail": "bound method DataFrame._get_agg_axis(axis_num: int) -> Index", "documentation": {"kind": "plaintext", "value": "Let's be explicit about this.\n"}, "kind": 2, "label": "_get_agg_axis", "sortText": "351"}, {"detail": "bound method DataFrame._get_axis(axis: int | Literal[\"index\", \"columns\", \"rows\"]) -> Index", "kind": 2, "label": "_get_axis", "sortText": "352"}, {"detail": "bound method type[DataFrame]._get_axis_name(axis: int | Literal[\"index\", \"columns\", \"rows\"]) -> Literal[\"index\", \"columns\"]", "kind": 2, "label": "_get_axis_name", "sortText": "353"}, {"detail": "bound method type[DataFrame]._get_axis_number(axis: int | Literal[\"index\", \"columns\", \"rows\"]) -> int", "kind": 2, "label": "_get_axis_number", "sortText": "354"}, {"detail": "bound method DataFrame._get_axis_resolvers(axis: str) -> dict[str, Series | MultiIndex]", "kind": 2, "label": "_get_axis_resolvers", "sortText": "355"}, {"detail": "bound method type[DataFrame]._get_block_manager_axis(axis: int | Literal[\"index\", \"columns\", \"rows\"]) -> int", "documentation": {"kind": "plaintext", "value": "Map the axis to the block_manager axis.\n"}, "kind": 2, "label": "_get_block_manager_axis", "sortText": "356"}, {"detail": "bound method DataFrame._get_bool_data() -> Unknown", "kind": 2, "label": "_get_bool_data", "sortText": "357"}, {"detail": "bound method DataFrame._get_cleaned_column_resolvers() -> dict[Hashable, Series]", "documentation": {"kind": "plaintext", "value": "Return the special character free column resolvers of a dataframe.\n\nColumn names with special characters are 'cleaned up' so that they can\nbe referred to by backtick quoting.\nUsed in :meth:`DataFrame.eval`.\n"}, "kind": 2, "label": "_get_cleaned_column_resolvers", "sortText": "358"}, {"detail": "bound method DataFrame._get_column_array(i: int) -> ExtensionArray | ndarray[_AnyShape, dtype[Any]]", "documentation": {"kind": "plaintext", "value": "Get the values of the i'th column (ndarray or ExtensionArray, as stored\nin the Block)\n\nWarning! The returned array is a view but doesn't handle Copy-on-Write,\nso this should be used with caution (for read-only purposes).\n"}, "kind": 2, "label": "_get_column_array", "sortText": "359"}, {"detail": "bound method DataFrame._get_index_resolvers() -> dict[Hashable, Series | MultiIndex]", "kind": 2, "label": "_get_index_resolvers", "sortText": "360"}, {"detail": "bound method DataFrame._get_item_cache(item: Hashable) -> Series", "documentation": {"kind": "plaintext", "value": "Return the cached item, item represents a label indexer.\n"}, "kind": 2, "label": "_get_item_cache", "sortText": "361"}, {"detail": "bound method DataFrame._get_label_or_level_values(key: Hashable, axis: int = 0) -> ExtensionArray | ndarray[_AnyShape, dtype[Any]]", "documentation": {"kind": "plaintext", "value": "Return a 1-D array of values associated with `key`, a label or level\nfrom the given `axis`.\n\nRetrieval logic:\n - (axis=0): Return column values if `key` matches a column label.\n Otherwise return index level values if `key` matches an index\n level.\n - (axis=1): Return row values if `key` matches an index label.\n Otherwise return column level values if 'key' matches a column\n level\n\nParameters\n----------\nkey : Hashable\n Label or level name.\naxis : int, default 0\n Axis that levels are associated with (0 for index, 1 for columns)\n\nReturns\n-------\nnp.ndarray or ExtensionArray\n\nRaises\n------\nKeyError\n if `key` matches neither a label nor a level\nValueError\n if `key` matches multiple labels\n"}, "kind": 2, "label": "_get_label_or_level_values", "sortText": "362"}, {"detail": "bound method DataFrame._get_numeric_data() -> DataFrame", "kind": 2, "label": "_get_numeric_data", "sortText": "363"}, {"detail": "bound method DataFrame._get_value(index, col, takeable: bool = False) -> str | float | Period | ... omitted 5 union elements", "documentation": {"kind": "plaintext", "value": "Quickly retrieve single value at passed column and index.\n\nParameters\n----------\nindex : row label\ncol : column label\ntakeable : interpret the index/col as indexers, default False\n\nReturns\n-------\nscalar\n\nNotes\n-----\nAssumes that both `self.index._index_as_unique` and\n`self.columns._index_as_unique`; Caller is responsible for checking.\n"}, "kind": 2, "label": "_get_value", "sortText": "364"}, {"detail": "bound method DataFrame._get_values_for_csv(*, float_format: str | ((...) -> Unknown) | EngFormatter | None, date_format: str | None, decimal: str, na_rep: str, quoting) -> DataFrame", "kind": 2, "label": "_get_values_for_csv", "sortText": "365"}, {"detail": "bound method DataFrame._getitem_bool_array(key) -> Unknown", "kind": 2, "label": "_getitem_bool_array", "sortText": "366"}, {"detail": "bound method DataFrame._getitem_multilevel(key) -> Unknown", "kind": 2, "label": "_getitem_multilevel", "sortText": "367"}, {"detail": "bound method DataFrame._getitem_nocopy(key: list[Unknown]) -> Unknown", "documentation": {"kind": "plaintext", "value": "Behaves like __getitem__, but returns a view in cases where __getitem__\nwould make a copy.\n"}, "kind": 2, "label": "_getitem_nocopy", "sortText": "368"}, {"detail": "bound method DataFrame._getitem_slice(key: slice[Any, Any, Any]) -> DataFrame", "documentation": {"kind": "plaintext", "value": "__getitem__ for the case where the key is a slice object.\n"}, "kind": 2, "label": "_getitem_slice", "sortText": "369"}, {"detail": "bound method DataFrame._gotitem(key: Hashable | Sequence[Hashable], ndim: int, subset: DataFrame | Series | None = None) -> DataFrame | Series", "documentation": {"kind": "plaintext", "value": "Sub-classes to define. Return a sliced object.\n\nParameters\n----------\nkey : string / list of selections\nndim : {1, 2}\n requested ndim of result\nsubset : object, default None\n subset to act on\n"}, "kind": 2, "label": "_gotitem", "sortText": "370"}, {"detail": "frozenset[str]", "documentation": {"kind": "plaintext", "value": "Build an immutable unordered collection of unique elements.\n"}, "kind": 22, "label": "_hidden_attrs", "sortText": "371"}, {"detail": "bound method DataFrame._indexed_same(other) -> bool", "kind": 2, "label": "_indexed_same", "sortText": "372"}, {"detail": "Index", "documentation": {"kind": "plaintext", "value": "Immutable sequence used for indexing and alignment.\n\nThe basic object storing axis labels for all pandas objects.\n\n.. versionchanged:: 2.0.0\n\n Index can hold all numpy numeric dtypes (except float16). Previously only\n int64/uint64/float64 dtypes were accepted.\n\nParameters\n----------\ndata : array-like (1-dimensional)\ndtype : str, numpy.dtype, or ExtensionDtype, optional\n Data type for the output Index. If not specified, this will be\n inferred from `data`.\n See the :ref:`user guide ` for more usages.\ncopy : bool, default False\n Copy input data.\nname : object\n Name to be stored in the index.\ntupleize_cols : bool (default: True)\n When True, attempt to create a MultiIndex if possible.\n\nSee Also\n--------\nRangeIndex : Index implementing a monotonic integer range.\nCategoricalIndex : Index of :class:`Categorical` s.\nMultiIndex : A multi-level, or hierarchical Index.\nIntervalIndex : An Index of :class:`Interval` s.\nDatetimeIndex : Index of datetime64 data.\nTimedeltaIndex : Index of timedelta64 data.\nPeriodIndex : Index of Period data.\n\nNotes\n-----\nAn Index instance can **only** contain hashable objects.\nAn Index instance *can not* hold numpy float16 dtype.\n\nExamples\n--------\n>>> pd.Index([1, 2, 3])\nIndex([1, 2, 3], dtype='int64')\n\n>>> pd.Index(list('abc'))\nIndex(['a', 'b', 'c'], dtype='object')\n\n>>> pd.Index([1, 2, 3], dtype=\"uint8\")\nIndex([1, 2, 3], dtype='uint8')\n"}, "kind": 22, "label": "_info_axis", "sortText": "373"}, {"detail": "Literal[\"columns\", \"index\"]", "kind": 12, "label": "_info_axis_name", "sortText": "374"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "_info_axis_number", "sortText": "375"}, {"detail": "bound method DataFrame._info_repr() -> bool", "documentation": {"kind": "plaintext", "value": "True if the repr should show the info view.\n"}, "kind": 2, "label": "_info_repr", "sortText": "376"}, {"detail": "bound method type[DataFrame]._init_mgr(mgr: ArrayManager | SingleArrayManager | BlockManager | SingleBlockManager, axes: dict[Literal[\"index\", \"columns\"], ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements], dtype: dtype[Any] | ExtensionDtype | None = None, copy: bool = False) -> ArrayManager | SingleArrayManager | BlockManager | SingleBlockManager", "documentation": {"kind": "plaintext", "value": "passed a manager and a axes dict\n"}, "kind": 2, "label": "_init_mgr", "sortText": "377"}, {"detail": "bound method DataFrame._inplace_method(other, op) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Wrap arithmetic method to operate inplace.\n"}, "kind": 2, "label": "_inplace_method", "sortText": "378"}, {"detail": "list[str]", "documentation": {"kind": "plaintext", "value": "Built-in mutable sequence.\n\nIf no argument is given, the constructor creates a new empty list.\nThe argument must be an iterable if specified.\n"}, "kind": 22, "label": "_internal_names", "sortText": "379"}, {"detail": "set[str]", "documentation": {"kind": "plaintext", "value": "Build an unordered collection of unique elements.\n"}, "kind": 22, "label": "_internal_names_set", "sortText": "380"}, {"detail": "ReferenceType[NDFrame] | str | None", "kind": 22, "label": "_is_copy", "sortText": "381"}, {"detail": "bool", "documentation": {"kind": "plaintext", "value": "Returns True when the argument is true, False otherwise.\nThe builtins True and False are the only two instances of the class bool.\nThe class bool is a subclass of the class int, and cannot be subclassed.\n"}, "kind": 22, "label": "_is_homogeneous_type", "sortText": "382"}, {"detail": "bound method DataFrame._is_label_or_level_reference(key: Hashable, axis: int = 0) -> bool", "documentation": {"kind": "plaintext", "value": "Test whether a key is a label or level reference for a given axis.\n\nTo be considered either a label or a level reference, `key` must be a\nstring that:\n - (axis=0): Matches a column label or an index level\n - (axis=1): Matches an index label or a column level\n\nParameters\n----------\nkey : Hashable\n Potential label or level name\naxis : int, default 0\n Axis that levels are associated with (0 for index, 1 for columns)\n\nReturns\n-------\nbool\n"}, "kind": 2, "label": "_is_label_or_level_reference", "sortText": "383"}, {"detail": "bound method DataFrame._is_label_reference(key: Hashable, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> bool", "documentation": {"kind": "plaintext", "value": "Test whether a key is a label reference for a given axis.\n\nTo be considered a label reference, `key` must be a string that:\n - (axis=0): Matches a column label\n - (axis=1): Matches an index label\n\nParameters\n----------\nkey : Hashable\n Potential label name, i.e. Index entry.\naxis : int, default 0\n Axis perpendicular to the axis that labels are associated with\n (0 means search for column labels, 1 means search for index labels)\n\nReturns\n-------\nis_label: bool\n"}, "kind": 2, "label": "_is_label_reference", "sortText": "384"}, {"detail": "bound method DataFrame._is_level_reference(key: Hashable, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> bool", "documentation": {"kind": "plaintext", "value": "Test whether a key is a level reference for a given axis.\n\nTo be considered a level reference, `key` must be a string that:\n - (axis=0): Matches the name of an index level and does NOT match\n a column label.\n - (axis=1): Matches the name of a column level and does NOT match\n an index label.\n\nParameters\n----------\nkey : Hashable\n Potential level name for the given axis\naxis : int, default 0\n Axis that levels are associated with (0 for index, 1 for columns)\n\nReturns\n-------\nis_level : bool\n"}, "kind": 2, "label": "_is_level_reference", "sortText": "385"}, {"detail": "bool", "documentation": {"kind": "plaintext", "value": "Returns True when the argument is true, False otherwise.\nThe builtins True and False are the only two instances of the class bool.\nThe class bool is a subclass of the class int, and cannot be subclassed.\n"}, "kind": 22, "label": "_is_mixed_type", "sortText": "386"}, {"detail": "bool", "documentation": {"kind": "plaintext", "value": "Returns True when the argument is true, False otherwise.\nThe builtins True and False are the only two instances of the class bool.\nThe class bool is a subclass of the class int, and cannot be subclassed.\n"}, "kind": 22, "label": "_is_view", "sortText": "387"}, {"detail": "bound method DataFrame._is_view_after_cow_rules() -> Unknown", "kind": 2, "label": "_is_view_after_cow_rules", "sortText": "388"}, {"detail": "bound method DataFrame._iset_item(loc: int, value: Series, inplace: bool = True) -> None", "kind": 2, "label": "_iset_item", "sortText": "389"}, {"detail": "bound method DataFrame._iset_item_mgr(loc: int | slice[Any, Any, Any] | ndarray[_AnyShape, dtype[Any]], value, inplace: bool = False, refs: BlockValuesRefs | None = None) -> None", "kind": 2, "label": "_iset_item_mgr", "sortText": "390"}, {"detail": "bound method DataFrame._iset_not_inplace(key, value) -> Unknown", "kind": 2, "label": "_iset_not_inplace", "sortText": "391"}, {"detail": "dict[Hashable, Series]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "_item_cache", "sortText": "392"}, {"detail": "bound method DataFrame._iter_column_arrays() -> Iterator[ExtensionArray | ndarray[_AnyShape, dtype[Any]]]", "documentation": {"kind": "plaintext", "value": "Iterate over the arrays of all columns in order.\nThis returns the values as stored in the Block (ndarray or ExtensionArray).\n\nWarning! The returned array is a view but doesn't handle Copy-on-Write,\nso this should be used with caution (for read-only purposes).\n"}, "kind": 2, "label": "_iter_column_arrays", "sortText": "393"}, {"detail": "bound method DataFrame._ixs(i: int, axis: int = 0) -> Series", "documentation": {"kind": "plaintext", "value": "Parameters\n----------\ni : int\naxis : int\n\nReturns\n-------\nSeries\n"}, "kind": 2, "label": "_ixs", "sortText": "394"}, {"detail": "bound method DataFrame._logical_func(name: str, func, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, bool_only: bool = False, skipna: bool = True, **kwargs) -> Series | bool", "kind": 2, "label": "_logical_func", "sortText": "395"}, {"detail": "(other, op) -> Unknown", "kind": 3, "label": "_logical_method", "sortText": "396"}, {"detail": "bound method DataFrame._maybe_align_series_as_frame(series: Series, axis: int) -> Unknown", "documentation": {"kind": "plaintext", "value": "If the Series operand is not EA-dtype, we can broadcast to 2D and operate\nblockwise.\n"}, "kind": 2, "label": "_maybe_align_series_as_frame", "sortText": "397"}, {"detail": "bound method DataFrame._maybe_cache_changed(item, value: Series, inplace: bool) -> None", "documentation": {"kind": "plaintext", "value": "The object has called back to us saying maybe it has changed.\n"}, "kind": 2, "label": "_maybe_cache_changed", "sortText": "398"}, {"detail": "bound method DataFrame._maybe_update_cacher(clear: bool = False, verify_is_copy: bool = True, inplace: bool = False) -> None", "documentation": {"kind": "plaintext", "value": "See if we need to update our parent cacher if clear, then clear our\ncache.\n\nParameters\n----------\nclear : bool, default False\n Clear the item cache.\nverify_is_copy : bool, default True\n Provide is_copy checks.\n"}, "kind": 2, "label": "_maybe_update_cacher", "sortText": "399"}, {"detail": "list[str]", "documentation": {"kind": "plaintext", "value": "Built-in mutable sequence.\n\nIf no argument is given, the constructor creates a new empty list.\nThe argument must be an iterable if specified.\n"}, "kind": 22, "label": "_metadata", "sortText": "400"}, {"detail": "BlockManager | ArrayManager", "kind": 22, "label": "_mgr", "sortText": "401"}, {"detail": "bound method DataFrame._min_count_stat_function(name: str, func, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None | _NoDefault = ..., skipna: bool = True, numeric_only: bool = False, min_count: int = 0, **kwargs) -> Unknown", "kind": 2, "label": "_min_count_stat_function", "sortText": "402"}, {"detail": "bound method DataFrame._needs_reindex_multi(axes, method, level: Hashable) -> bool", "documentation": {"kind": "plaintext", "value": "Check if we do need a multi reindex.\n"}, "kind": 2, "label": "_needs_reindex_multi", "sortText": "403"}, {"detail": "bound method DataFrame._pad_or_backfill(method: Literal[\"ffill\", \"bfill\", \"pad\", \"backfill\"], *, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = None, inplace: bool = False, limit: None | int = None, limit_area: Literal[\"inside\", \"outside\"] | None = None, downcast: dict[Unknown, Unknown] | None = None) -> Unknown", "kind": 2, "label": "_pad_or_backfill", "sortText": "404"}, {"detail": "bound method DataFrame._protect_consolidate(f) -> Unknown", "documentation": {"kind": "plaintext", "value": "Consolidate _mgr -- if the blocks have changed, then clear the\ncache\n"}, "kind": 2, "label": "_protect_consolidate", "sortText": "405"}, {"detail": "bound method DataFrame._reduce(op, name: str, *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, skipna: bool = True, numeric_only: bool = False, filter_type=None, **kwds) -> Unknown", "kind": 2, "label": "_reduce", "sortText": "406"}, {"detail": "bound method DataFrame._reduce_axis1(name: str, func, skipna: bool) -> Series", "documentation": {"kind": "plaintext", "value": "Special case for _reduce to try to avoid a potentially-expensive transpose.\n\nApply the reduction block-wise along axis=1 and then reduce the resulting\n1D arrays.\n"}, "kind": 2, "label": "_reduce_axis1", "sortText": "407"}, {"detail": "bound method DataFrame._reindex_axes(axes, level: Hashable, limit: int | None, tolerance, method, fill_value: str | float | Period | ... omitted 6 union elements, copy: bool | None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Perform the reindex for all the axes.\n"}, "kind": 2, "label": "_reindex_axes", "sortText": "408"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_reindex_indexer", "sortText": "409"}, {"detail": "bound method DataFrame._reindex_multi(axes: dict[str, Index], copy: bool, fill_value) -> DataFrame", "documentation": {"kind": "plaintext", "value": "We are guaranteed non-Nones in the axes.\n"}, "kind": 2, "label": "_reindex_multi", "sortText": "410"}, {"detail": "bound method DataFrame._reindex_with_indexers(reindexers, fill_value=None, copy: bool | None = False, allow_dups: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "allow_dups indicates an internal call here\n"}, "kind": 2, "label": "_reindex_with_indexers", "sortText": "411"}, {"detail": "bound method DataFrame._rename(mapper: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = None, *, index: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = None, columns: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, copy: bool | None = None, inplace: bool = False, level: Hashable = None, errors: str = \"ignore\") -> DataFrame | None", "kind": 2, "label": "_rename", "sortText": "412"}, {"detail": "bound method DataFrame._replace_columnwise(mapping: dict[Hashable, tuple[Any, Any]], inplace: bool, regex) -> Unknown", "documentation": {"kind": "plaintext", "value": "Dispatch to Series.replace column-wise.\n\nParameters\n----------\nmapping : dict\n of the form {col: (target, value)}\ninplace : bool\nregex : bool or same types as `to_replace` in DataFrame.replace\n\nReturns\n-------\nDataFrame or None\n"}, "kind": 2, "label": "_replace_columnwise", "sortText": "413"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_replace_single", "sortText": "414"}, {"detail": "bound method DataFrame._repr_data_resource_() -> Unknown", "documentation": {"kind": "plaintext", "value": "Not a real Jupyter special repr method, but we use the same\nnaming convention.\n"}, "kind": 2, "label": "_repr_data_resource_", "sortText": "415"}, {"detail": "bound method DataFrame._repr_fits_horizontal_() -> bool", "documentation": {"kind": "plaintext", "value": "Check if full repr fits in horizontal boundaries imposed by the display\noptions width and max_columns.\n"}, "kind": 2, "label": "_repr_fits_horizontal_", "sortText": "416"}, {"detail": "bound method DataFrame._repr_fits_vertical_() -> bool", "documentation": {"kind": "plaintext", "value": "Check length against max_rows.\n"}, "kind": 2, "label": "_repr_fits_vertical_", "sortText": "417"}, {"detail": "bound method DataFrame._repr_html_() -> str | None", "documentation": {"kind": "plaintext", "value": "Return a html representation for a particular DataFrame.\n\nMainly for IPython notebook.\n"}, "kind": 2, "label": "_repr_html_", "sortText": "418"}, {"detail": "bound method DataFrame._repr_latex_() -> Unknown", "documentation": {"kind": "plaintext", "value": "Returns a LaTeX representation for a particular object.\nMainly for use with nbconvert (jupyter notebook conversion to pdf).\n"}, "kind": 2, "label": "_repr_latex_", "sortText": "419"}, {"detail": "bound method DataFrame._reset_cache(key: str | None = None) -> None", "documentation": {"kind": "plaintext", "value": "Reset cached properties. If ``key`` is passed, only clears that key.\n"}, "kind": 2, "label": "_reset_cache", "sortText": "420"}, {"detail": "bound method DataFrame._reset_cacher() -> None", "kind": 2, "label": "_reset_cacher", "sortText": "421"}, {"detail": "bound method DataFrame._sanitize_column(value) -> tuple[ExtensionArray | ndarray[_AnyShape, dtype[Any]], BlockValuesRefs | None]", "documentation": {"kind": "plaintext", "value": "Ensures new columns (which go into the BlockManager as new blocks) are\nalways copied (or a reference is being tracked to them under CoW)\nand converted into an array.\n\nParameters\n----------\nvalue : scalar, Series, or array-like\n\nReturns\n-------\ntuple of numpy.ndarray or ExtensionArray and optional BlockValuesRefs\n"}, "kind": 2, "label": "_sanitize_column", "sortText": "422"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_series", "sortText": "423"}, {"detail": "bound method DataFrame._set_axis(axis: int, labels: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | Series | list[Unknown]) -> None", "documentation": {"kind": "plaintext", "value": "This is called from the cython code when we set the `index` attribute\ndirectly, e.g. `series.index = [1, 2, 3]`.\n"}, "kind": 2, "label": "_set_axis", "sortText": "424"}, {"detail": "bound method DataFrame._set_axis_name(name, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, inplace: bool = False, copy: bool | None = True) -> Unknown", "documentation": {"kind": "plaintext", "value": "Set the name(s) of the axis.\n\nParameters\n----------\nname : str or list of str\n Name(s) to set.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to set the label. The value 0 or 'index' specifies index,\n and the value 1 or 'columns' specifies columns.\ninplace : bool, default False\n If `True`, do operation inplace and return None.\ncopy:\n Whether to make a copy of the result.\n\nReturns\n-------\nSeries, DataFrame, or None\n The same type as the caller or `None` if `inplace` is `True`.\n\nSee Also\n--------\nDataFrame.rename : Alter the axis labels of :class:`DataFrame`.\nSeries.rename : Alter the index labels or set the index name\n of :class:`Series`.\nIndex.rename : Set the name of :class:`Index` or :class:`MultiIndex`.\n\nExamples\n--------\n>>> df = pd.DataFrame({\"num_legs\": [4, 4, 2]},\n... [\"dog\", \"cat\", \"monkey\"])\n>>> df\n num_legs\ndog 4\ncat 4\nmonkey 2\n>>> df._set_axis_name(\"animal\")\n num_legs\nanimal\ndog 4\ncat 4\nmonkey 2\n>>> df.index = pd.MultiIndex.from_product(\n... [[\"mammal\"], ['dog', 'cat', 'monkey']])\n>>> df._set_axis_name([\"type\", \"name\"])\n num_legs\ntype name\nmammal dog 4\n cat 4\n monkey 2\n"}, "kind": 2, "label": "_set_axis_name", "sortText": "425"}, {"detail": "bound method DataFrame._set_axis_nocheck(labels, axis: int | Literal[\"index\", \"columns\", \"rows\"], inplace: bool, copy: bool | None) -> Unknown", "kind": 2, "label": "_set_axis_nocheck", "sortText": "426"}, {"detail": "bound method DataFrame._set_is_copy(ref: NDFrame, copy: bool = True) -> None", "kind": 2, "label": "_set_is_copy", "sortText": "427"}, {"detail": "bound method DataFrame._set_item(key, value) -> None", "documentation": {"kind": "plaintext", "value": "Add series to DataFrame in specified column.\n\nIf series is a numpy-array (not a Series/TimeSeries), it must be the\nsame length as the DataFrames index or an error will be thrown.\n\nSeries/TimeSeries will be conformed to the DataFrames index to\nensure homogeneity.\n"}, "kind": 2, "label": "_set_item", "sortText": "428"}, {"detail": "bound method DataFrame._set_item_frame_value(key, value: DataFrame) -> None", "kind": 2, "label": "_set_item_frame_value", "sortText": "429"}, {"detail": "bound method DataFrame._set_item_mgr(key, value: ExtensionArray | ndarray[_AnyShape, dtype[Any]], refs: BlockValuesRefs | None = None) -> None", "kind": 2, "label": "_set_item_mgr", "sortText": "430"}, {"detail": "bound method DataFrame._set_value(index: Hashable | Sequence[Hashable], col, value: str | float | Period | ... omitted 5 union elements, takeable: bool = False) -> None", "documentation": {"kind": "plaintext", "value": "Put single value at passed column and index.\n\nParameters\n----------\nindex : Label\n row label\ncol : Label\n column label\nvalue : scalar\ntakeable : bool, default False\n Sets whether or not index/col interpreted as indexers\n"}, "kind": 2, "label": "_set_value", "sortText": "431"}, {"detail": "bound method DataFrame._setitem_array(key, value) -> Unknown", "kind": 2, "label": "_setitem_array", "sortText": "432"}, {"detail": "bound method DataFrame._setitem_frame(key, value) -> Unknown", "kind": 2, "label": "_setitem_frame", "sortText": "433"}, {"detail": "bound method DataFrame._setitem_slice(key: slice[Any, Any, Any], value) -> None", "kind": 2, "label": "_setitem_slice", "sortText": "434"}, {"detail": "bound method DataFrame._shift_with_freq(periods: int, axis: int, freq) -> DataFrame", "kind": 2, "label": "_shift_with_freq", "sortText": "435"}, {"detail": "bound method DataFrame._should_reindex_frame_op(right, op, axis: int, fill_value, level) -> bool", "documentation": {"kind": "plaintext", "value": "Check if this is an operation between DataFrames that will need to reindex.\n"}, "kind": 2, "label": "_should_reindex_frame_op", "sortText": "436"}, {"detail": "bound method DataFrame._slice(slobj: slice[Any, Any, Any], axis: int = 0) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Construct a slice of this container.\n\nSlicing with this method is *always* positional.\n"}, "kind": 2, "label": "_slice", "sortText": "437"}, {"detail": "bound method DataFrame._stat_function(name: str, func, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "_stat_function", "sortText": "438"}, {"detail": "bound method DataFrame._stat_function_ddof(name: str, func, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None | _NoDefault = ..., skipna: bool = True, ddof: int = 1, numeric_only: bool = False, **kwargs) -> Series | float", "kind": 2, "label": "_stat_function_ddof", "sortText": "439"}, {"detail": "bound method DataFrame._take_with_is_copy(indices, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Internal version of the `take` method that sets the `_is_copy`\nattribute to keep track of the parent dataframe (using in indexing\nfor the SettingWithCopyWarning).\n\nFor Series this does the same as the public take (it never sets `_is_copy`).\n\nSee the docstring of `take` for full explanation of the parameters.\n"}, "kind": 2, "label": "_take_with_is_copy", "sortText": "440"}, {"detail": "bound method DataFrame._to_dict_of_blocks() -> Unknown", "documentation": {"kind": "plaintext", "value": "Return a dict of dtype -> Constructor Types that\neach is a homogeneous dtype.\n\nInternal ONLY - only works for BlockManager\n"}, "kind": 2, "label": "_to_dict_of_blocks", "sortText": "441"}, {"detail": "bound method DataFrame._to_latex_via_styler(buf=None, *, hide: dict[Unknown, Unknown] | list[dict[Unknown, Unknown]] | None = None, relabel_index: dict[Unknown, Unknown] | list[dict[Unknown, Unknown]] | None = None, format: dict[Unknown, Unknown] | list[dict[Unknown, Unknown]] | None = None, format_index: dict[Unknown, Unknown] | list[dict[Unknown, Unknown]] | None = None, render_kwargs: dict[Unknown, Unknown] | None = None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Render object to a LaTeX tabular, longtable, or nested table.\n\nUses the ``Styler`` implementation with the following, ordered, method chaining:\n\n.. code-block:: python\n styler = Styler(DataFrame)\n styler.hide(**hide)\n styler.relabel_index(**relabel_index)\n styler.format(**format)\n styler.format_index(**format_index)\n styler.to_latex(buf=buf, **render_kwargs)\n\nParameters\n----------\nbuf : str, Path or StringIO-like, optional, default None\n Buffer to write to. If None, the output is returned as a string.\nhide : dict, list of dict\n Keyword args to pass to the method call of ``Styler.hide``. If a list will\n call the method numerous times.\nrelabel_index : dict, list of dict\n Keyword args to pass to the method of ``Styler.relabel_index``. If a list\n will call the method numerous times.\nformat : dict, list of dict\n Keyword args to pass to the method call of ``Styler.format``. If a list will\n call the method numerous times.\nformat_index : dict, list of dict\n Keyword args to pass to the method call of ``Styler.format_index``. If a\n list will call the method numerous times.\nrender_kwargs : dict\n Keyword args to pass to the method call of ``Styler.to_latex``.\n\nReturns\n-------\nstr or None\n If buf is None, returns the result as a string. Otherwise returns None.\n"}, "kind": 2, "label": "_to_latex_via_styler", "sortText": "442"}, {"detail": "str", "documentation": {"kind": "plaintext", "value": "str(object='') -> str\nstr(bytes_or_buffer[, encoding[, errors]]) -> str\n\nCreate a new string object from the given object. If encoding or\nerrors is specified, then the object must expose a data buffer\nthat will be decoded using the given encoding and error handler.\nOtherwise, returns the result of object.__str__() (if defined)\nor repr(object).\nencoding defaults to 'utf-8'.\nerrors defaults to 'strict'.\n"}, "kind": 22, "label": "_typ", "sortText": "443"}, {"detail": "bound method DataFrame._update_inplace(result, verify_is_copy: bool = True) -> None", "documentation": {"kind": "plaintext", "value": "Replace self internals with result.\n\nParameters\n----------\nresult : same type as self\nverify_is_copy : bool, default True\n Provide is_copy checks.\n"}, "kind": 2, "label": "_update_inplace", "sortText": "444"}, {"detail": "bound method type[DataFrame]._validate_dtype(dtype) -> dtype[Any] | ExtensionDtype | None", "documentation": {"kind": "plaintext", "value": "validate the passed dtype\n"}, "kind": 2, "label": "_validate_dtype", "sortText": "445"}, {"detail": "ndarray[_AnyShape, dtype[Any]] | DatetimeArray | TimedeltaArray | PeriodArray", "kind": 22, "label": "_values", "sortText": "446"}, {"detail": "bound method DataFrame._where(cond, other=..., inplace: bool = False, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, level=None, warn: bool = True) -> Unknown", "documentation": {"kind": "plaintext", "value": "Equivalent to public method `where`, except that `other` is not\napplied as a function even if callable. Used in __setitem__.\n"}, "kind": 2, "label": "_where", "sortText": "447"}]}} +{"suite": "pandas", "label": "edit dataframe then complete (edit+completion)", "method": "textDocument/completion", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py", "line": 17, "character": 39, "iteration": 1, "result": {"isIncomplete": true, "items": [{"detail": "DataFrame", "documentation": {"kind": "plaintext", "value": "Two-dimensional, size-mutable, potentially heterogeneous tabular data.\n\nData structure also contains labeled axes (rows and columns).\nArithmetic operations align on both row and column labels. Can be\nthought of as a dict-like container for Series objects. The primary\npandas data structure.\n\nParameters\n----------\ndata : ndarray (structured or homogeneous), Iterable, dict, or DataFrame\n Dict can contain Series, arrays, constants, dataclass or list-like objects. If\n data is a dict, column order follows insertion-order. If a dict contains Series\n which have an index defined, it is aligned by its index. This alignment also\n occurs if data is a Series or a DataFrame itself. Alignment is done on\n Series/DataFrame inputs.\n\n If data is a list of dicts, column order follows insertion-order.\n\nindex : Index or array-like\n Index to use for resulting frame. Will default to RangeIndex if\n no indexing information part of input data and no index provided.\ncolumns : Index or array-like\n Column labels to use for resulting frame when data does not have them,\n defaulting to RangeIndex(0, 1, 2, ..., n). If data contains column labels,\n will perform column selection instead.\ndtype : dtype, default None\n Data type to force. Only a single dtype is allowed. If None, infer.\ncopy : bool or None, default None\n Copy data from inputs.\n For dict data, the default of None behaves like ``copy=True``. For DataFrame\n or 2d ndarray input, the default of None behaves like ``copy=False``.\n If data is a dict containing one or more Series (possibly of different dtypes),\n ``copy=False`` will ensure that these inputs are not copied.\n\n .. versionchanged:: 1.3.0\n\nSee Also\n--------\nDataFrame.from_records : Constructor from tuples, also record arrays.\nDataFrame.from_dict : From dicts of Series, arrays, or dicts.\nread_csv : Read a comma-separated values (csv) file into DataFrame.\nread_table : Read general delimited file into DataFrame.\nread_clipboard : Read text from clipboard into DataFrame.\n\nNotes\n-----\nPlease reference the :ref:`User Guide ` for more information.\n\nExamples\n--------\nConstructing DataFrame from a dictionary.\n\n>>> d = {'col1': [1, 2], 'col2': [3, 4]}\n>>> df = pd.DataFrame(data=d)\n>>> df\n col1 col2\n0 1 3\n1 2 4\n\nNotice that the inferred dtype is int64.\n\n>>> df.dtypes\ncol1 int64\ncol2 int64\ndtype: object\n\nTo enforce a single dtype:\n\n>>> df = pd.DataFrame(data=d, dtype=np.int8)\n>>> df.dtypes\ncol1 int8\ncol2 int8\ndtype: object\n\nConstructing DataFrame from a dictionary including Series:\n\n>>> d = {'col1': [0, 1, 2, 3], 'col2': pd.Series([2, 3], index=[2, 3])}\n>>> pd.DataFrame(data=d, index=[0, 1, 2, 3])\n col1 col2\n0 0 NaN\n1 1 NaN\n2 2 2.0\n3 3 3.0\n\nConstructing DataFrame from numpy ndarray:\n\n>>> df2 = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]),\n... columns=['a', 'b', 'c'])\n>>> df2\n a b c\n0 1 2 3\n1 4 5 6\n2 7 8 9\n\nConstructing DataFrame from a numpy ndarray that has labeled columns:\n\n>>> data = np.array([(1, 2, 3), (4, 5, 6), (7, 8, 9)],\n... dtype=[(\"a\", \"i4\"), (\"b\", \"i4\"), (\"c\", \"i4\")])\n>>> df3 = pd.DataFrame(data, columns=['c', 'a'])\n...\n>>> df3\n c a\n0 3 1\n1 6 4\n2 9 7\n\nConstructing DataFrame from dataclass:\n\n>>> from dataclasses import make_dataclass\n>>> Point = make_dataclass(\"Point\", [(\"x\", int), (\"y\", int)])\n>>> pd.DataFrame([Point(0, 0), Point(0, 3), Point(2, 3)])\n x y\n0 0 0\n1 0 3\n2 2 3\n\nConstructing DataFrame from Series/DataFrame:\n\n>>> ser = pd.Series([1, 2, 3], index=[\"a\", \"b\", \"c\"])\n>>> df = pd.DataFrame(data=ser, index=[\"a\", \"c\"])\n>>> df\n 0\na 1\nc 3\n\n>>> df1 = pd.DataFrame([1, 2, 3], index=[\"a\", \"b\", \"c\"], columns=[\"x\"])\n>>> df2 = pd.DataFrame(data=df1, index=[\"a\", \"c\"])\n>>> df2\n x\na 1\nc 3\n"}, "kind": 22, "label": "T", "sortText": " 0"}, {"detail": "bound method DataFrame.abs() -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return a Series/DataFrame with absolute numeric value of each element.\n\nThis function only applies to elements that are all numeric.\n\nReturns\n-------\nabs\n Series/DataFrame containing the absolute value of each element.\n\nSee Also\n--------\nnumpy.absolute : Calculate the absolute value element-wise.\n\nNotes\n-----\nFor ``complex`` inputs, ``1.2 + 1j``, the absolute value is\n:math:`\\sqrt{ a^2 + b^2 }`.\n\nExamples\n--------\nAbsolute numeric values in a Series.\n\n>>> s = pd.Series([-1.10, 2, -3.33, 4])\n>>> s.abs()\n0 1.10\n1 2.00\n2 3.33\n3 4.00\ndtype: float64\n\nAbsolute numeric values in a Series with complex numbers.\n\n>>> s = pd.Series([1.2 + 1j])\n>>> s.abs()\n0 1.56205\ndtype: float64\n\nAbsolute numeric values in a Series with a Timedelta element.\n\n>>> s = pd.Series([pd.Timedelta('1 days')])\n>>> s.abs()\n0 1 days\ndtype: timedelta64[ns]\n\nSelect rows with data closest to certain value using argsort (from\n`StackOverflow `__).\n\n>>> df = pd.DataFrame({\n... 'a': [4, 5, 6, 7],\n... 'b': [10, 20, 30, 40],\n... 'c': [100, 50, -30, -50]\n... })\n>>> df\n a b c\n0 4 10 100\n1 5 20 50\n2 6 30 -30\n3 7 40 -50\n>>> df.loc[(df.c - 43).abs().argsort()]\n a b c\n1 5 20 50\n0 4 10 100\n2 6 30 -30\n3 7 40 -50\n"}, "kind": 2, "label": "abs", "sortText": " 1"}, {"detail": "bound method DataFrame.add(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "add", "sortText": " 2"}, {"detail": "bound method DataFrame.add_prefix(prefix: str, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Prefix labels with string `prefix`.\n\nFor Series, the row labels are prefixed.\nFor DataFrame, the column labels are prefixed.\n\nParameters\n----------\nprefix : str\n The string to add before each label.\naxis : {0 or 'index', 1 or 'columns', None}, default None\n Axis to add prefix on\n\n .. versionadded:: 2.0.0\n\nReturns\n-------\nSeries or DataFrame\n New Series or DataFrame with updated labels.\n\nSee Also\n--------\nSeries.add_suffix: Suffix row labels with string `suffix`.\nDataFrame.add_suffix: Suffix column labels with string `suffix`.\n\nExamples\n--------\n>>> s = pd.Series([1, 2, 3, 4])\n>>> s\n0 1\n1 2\n2 3\n3 4\ndtype: int64\n\n>>> s.add_prefix('item_')\nitem_0 1\nitem_1 2\nitem_2 3\nitem_3 4\ndtype: int64\n\n>>> df = pd.DataFrame({'A': [1, 2, 3, 4], 'B': [3, 4, 5, 6]})\n>>> df\n A B\n0 1 3\n1 2 4\n2 3 5\n3 4 6\n\n>>> df.add_prefix('col_')\n col_A col_B\n0 1 3\n1 2 4\n2 3 5\n3 4 6\n"}, "kind": 2, "label": "add_prefix", "sortText": " 3"}, {"detail": "bound method DataFrame.add_suffix(suffix: str, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Suffix labels with string `suffix`.\n\nFor Series, the row labels are suffixed.\nFor DataFrame, the column labels are suffixed.\n\nParameters\n----------\nsuffix : str\n The string to add after each label.\naxis : {0 or 'index', 1 or 'columns', None}, default None\n Axis to add suffix on\n\n .. versionadded:: 2.0.0\n\nReturns\n-------\nSeries or DataFrame\n New Series or DataFrame with updated labels.\n\nSee Also\n--------\nSeries.add_prefix: Prefix row labels with string `prefix`.\nDataFrame.add_prefix: Prefix column labels with string `prefix`.\n\nExamples\n--------\n>>> s = pd.Series([1, 2, 3, 4])\n>>> s\n0 1\n1 2\n2 3\n3 4\ndtype: int64\n\n>>> s.add_suffix('_item')\n0_item 1\n1_item 2\n2_item 3\n3_item 4\ndtype: int64\n\n>>> df = pd.DataFrame({'A': [1, 2, 3, 4], 'B': [3, 4, 5, 6]})\n>>> df\n A B\n0 1 3\n1 2 4\n2 3 5\n3 4 6\n\n>>> df.add_suffix('_col')\n A_col B_col\n0 1 3\n1 2 4\n2 3 5\n3 4 6\n"}, "kind": 2, "label": "add_suffix", "sortText": " 4"}, {"detail": "(func=None, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, *args, **kwargs) -> Unknown", "kind": 2, "label": "agg", "sortText": " 5"}, {"detail": "bound method DataFrame.aggregate(func=None, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, *args, **kwargs) -> Unknown", "kind": 2, "label": "aggregate", "sortText": " 6"}, {"detail": "bound method DataFrame.align[NDFrameT](other: NDFrameT, join: Literal[\"outer\", \"inner\", \"left\", \"right\"] = \"outer\", axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, level: Hashable = None, copy: bool | None = None, fill_value: Hashable = None, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None | _NoDefault = ..., limit: int | None | _NoDefault = ..., fill_axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., broadcast_axis: int | Literal[\"index\", \"columns\", \"rows\"] | None | _NoDefault = ...) -> tuple[DataFrame, NDFrameT]", "documentation": {"kind": "plaintext", "value": "Align two objects on their axes with the specified join method.\n\nJoin method is specified for each axis Index.\n\nParameters\n----------\nother : DataFrame or Series\njoin : {{'outer', 'inner', 'left', 'right'}}, default 'outer'\n Type of alignment to be performed.\n\n * left: use only keys from left frame, preserve key order.\n * right: use only keys from right frame, preserve key order.\n * outer: use union of keys from both frames, sort keys lexicographically.\n * inner: use intersection of keys from both frames,\n preserve the order of the left keys.\n\naxis : allowed axis of the other object, default None\n Align on index (0), columns (1), or both (None).\nlevel : int or level name, default None\n Broadcast across a level, matching Index values on the\n passed MultiIndex level.\ncopy : bool, default True\n Always returns new objects. If copy=False and no reindexing is\n required then original objects are returned.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\nfill_value : scalar, default np.nan\n Value to use for missing values. Defaults to NaN, but can be any\n \"compatible\" value.\nmethod : {{'backfill', 'bfill', 'pad', 'ffill', None}}, default None\n Method to use for filling holes in reindexed Series:\n\n - pad / ffill: propagate last valid observation forward to next valid.\n - backfill / bfill: use NEXT valid observation to fill gap.\n\n .. deprecated:: 2.1\n\nlimit : int, default None\n If method is specified, this is the maximum number of consecutive\n NaN values to forward/backward fill. In other words, if there is\n a gap with more than this number of consecutive NaNs, it will only\n be partially filled. If method is not specified, this is the\n maximum number of entries along the entire axis where NaNs will be\n filled. Must be greater than 0 if not None.\n\n .. deprecated:: 2.1\n\nfill_axis : {axes_single_arg}, default 0\n Filling axis, method and limit.\n\n .. deprecated:: 2.1\n\nbroadcast_axis : {axes_single_arg}, default None\n Broadcast values along this axis, if aligning two objects of\n different dimensions.\n\n .. deprecated:: 2.1\n\nReturns\n-------\ntuple of ({klass}, type of other)\n Aligned objects.\n\nExamples\n--------\n>>> df = pd.DataFrame(\n... [[1, 2, 3, 4], [6, 7, 8, 9]], columns=[\"D\", \"B\", \"E\", \"A\"], index=[1, 2]\n... )\n>>> other = pd.DataFrame(\n... [[10, 20, 30, 40], [60, 70, 80, 90], [600, 700, 800, 900]],\n... columns=[\"A\", \"B\", \"C\", \"D\"],\n... index=[2, 3, 4],\n... )\n>>> df\n D B E A\n1 1 2 3 4\n2 6 7 8 9\n>>> other\n A B C D\n2 10 20 30 40\n3 60 70 80 90\n4 600 700 800 900\n\nAlign on columns:\n\n>>> left, right = df.align(other, join=\"outer\", axis=1)\n>>> left\n A B C D E\n1 4 2 NaN 1 3\n2 9 7 NaN 6 8\n>>> right\n A B C D E\n2 10 20 30 40 NaN\n3 60 70 80 90 NaN\n4 600 700 800 900 NaN\n\nWe can also align on the index:\n\n>>> left, right = df.align(other, join=\"outer\", axis=0)\n>>> left\n D B E A\n1 1.0 2.0 3.0 4.0\n2 6.0 7.0 8.0 9.0\n3 NaN NaN NaN NaN\n4 NaN NaN NaN NaN\n>>> right\n A B C D\n1 NaN NaN NaN NaN\n2 10.0 20.0 30.0 40.0\n3 60.0 70.0 80.0 90.0\n4 600.0 700.0 800.0 900.0\n\nFinally, the default `axis=None` will align on both index and columns:\n\n>>> left, right = df.align(other, join=\"outer\", axis=None)\n>>> left\n A B C D E\n1 4.0 2.0 NaN 1.0 3.0\n2 9.0 7.0 NaN 6.0 8.0\n3 NaN NaN NaN NaN NaN\n4 NaN NaN NaN NaN NaN\n>>> right\n A B C D E\n1 NaN NaN NaN NaN NaN\n2 10.0 20.0 30.0 40.0 NaN\n3 60.0 70.0 80.0 90.0 NaN\n4 600.0 700.0 800.0 900.0 NaN\n"}, "kind": 2, "label": "align", "sortText": " 7"}, {"detail": "bound method DataFrame.all(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, bool_only: bool = False, skipna: bool = True, **kwargs) -> Series | bool", "kind": 2, "label": "all", "sortText": " 8"}, {"detail": "bound method DataFrame.any(*, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, bool_only: bool = False, skipna: bool = True, **kwargs) -> Series | bool", "kind": 2, "label": "any", "sortText": " 9"}, {"detail": "bound method DataFrame.apply(func: ((...) -> Unknown) | str | list[((...) -> Unknown) | str] | MutableMapping[Hashable, ((...) -> Unknown) | str | list[((...) -> Unknown) | str]], axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, raw: bool = False, result_type: Literal[\"expand\", \"reduce\", \"broadcast\"] | None = None, args=..., by_row: Literal[False, \"compat\"] = \"compat\", engine: Literal[\"python\", \"numba\"] = \"python\", engine_kwargs: dict[str, bool] | None = None, **kwargs) -> Unknown", "documentation": {"kind": "plaintext", "value": "Apply a function along an axis of the DataFrame.\n\nObjects passed to the function are Series objects whose index is\neither the DataFrame's index (``axis=0``) or the DataFrame's columns\n(``axis=1``). By default (``result_type=None``), the final return type\nis inferred from the return type of the applied function. Otherwise,\nit depends on the `result_type` argument.\n\nParameters\n----------\nfunc : function\n Function to apply to each column or row.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Axis along which the function is applied:\n\n * 0 or 'index': apply function to each column.\n * 1 or 'columns': apply function to each row.\n\nraw : bool, default False\n Determines if row or column is passed as a Series or ndarray object:\n\n * ``False`` : passes each row or column as a Series to the\n function.\n * ``True`` : the passed function will receive ndarray objects\n instead.\n If you are just applying a NumPy reduction function this will\n achieve much better performance.\n\nresult_type : {'expand', 'reduce', 'broadcast', None}, default None\n These only act when ``axis=1`` (columns):\n\n * 'expand' : list-like results will be turned into columns.\n * 'reduce' : returns a Series if possible rather than expanding\n list-like results. This is the opposite of 'expand'.\n * 'broadcast' : results will be broadcast to the original shape\n of the DataFrame, the original index and columns will be\n retained.\n\n The default behaviour (None) depends on the return value of the\n applied function: list-like results will be returned as a Series\n of those. However if the apply function returns a Series these\n are expanded to columns.\nargs : tuple\n Positional arguments to pass to `func` in addition to the\n array/series.\nby_row : False or \"compat\", default \"compat\"\n Only has an effect when ``func`` is a listlike or dictlike of funcs\n and the func isn't a string.\n If \"compat\", will if possible first translate the func into pandas\n methods (e.g. ``Series().apply(np.sum)`` will be translated to\n ``Series().sum()``). If that doesn't work, will try call to apply again with\n ``by_row=True`` and if that fails, will call apply again with\n ``by_row=False`` (backward compatible).\n If False, the funcs will be passed the whole Series at once.\n\n .. versionadded:: 2.1.0\n\nengine : {'python', 'numba'}, default 'python'\n Choose between the python (default) engine or the numba engine in apply.\n\n The numba engine will attempt to JIT compile the passed function,\n which may result in speedups for large DataFrames.\n It also supports the following engine_kwargs :\n\n - nopython (compile the function in nopython mode)\n - nogil (release the GIL inside the JIT compiled function)\n - parallel (try to apply the function in parallel over the DataFrame)\n\n Note: Due to limitations within numba/how pandas interfaces with numba,\n you should only use this if raw=True\n\n Note: The numba compiler only supports a subset of\n valid Python/numpy operations.\n\n Please read more about the `supported python features\n `_\n and `supported numpy features\n `_\n in numba to learn what you can or cannot use in the passed function.\n\n .. versionadded:: 2.2.0\n\nengine_kwargs : dict\n Pass keyword arguments to the engine.\n This is currently only used by the numba engine,\n see the documentation for the engine argument for more information.\n**kwargs\n Additional keyword arguments to pass as keywords arguments to\n `func`.\n\nReturns\n-------\nSeries or DataFrame\n Result of applying ``func`` along the given axis of the\n DataFrame.\n\nSee Also\n--------\nDataFrame.map: For elementwise operations.\nDataFrame.aggregate: Only perform aggregating type operations.\nDataFrame.transform: Only perform transforming type operations.\n\nNotes\n-----\nFunctions that mutate the passed object can produce unexpected\nbehavior or errors and are not supported. See :ref:`gotchas.udf-mutation`\nfor more details.\n\nExamples\n--------\n>>> df = pd.DataFrame([[4, 9]] * 3, columns=['A', 'B'])\n>>> df\n A B\n0 4 9\n1 4 9\n2 4 9\n\nUsing a numpy universal function (in this case the same as\n``np.sqrt(df)``):\n\n>>> df.apply(np.sqrt)\n A B\n0 2.0 3.0\n1 2.0 3.0\n2 2.0 3.0\n\nUsing a reducing function on either axis\n\n>>> df.apply(np.sum, axis=0)\nA 12\nB 27\ndtype: int64\n\n>>> df.apply(np.sum, axis=1)\n0 13\n1 13\n2 13\ndtype: int64\n\nReturning a list-like will result in a Series\n\n>>> df.apply(lambda x: [1, 2], axis=1)\n0 [1, 2]\n1 [1, 2]\n2 [1, 2]\ndtype: object\n\nPassing ``result_type='expand'`` will expand list-like results\nto columns of a Dataframe\n\n>>> df.apply(lambda x: [1, 2], axis=1, result_type='expand')\n 0 1\n0 1 2\n1 1 2\n2 1 2\n\nReturning a Series inside the function is similar to passing\n``result_type='expand'``. The resulting column names\nwill be the Series index.\n\n>>> df.apply(lambda x: pd.Series([1, 2], index=['foo', 'bar']), axis=1)\n foo bar\n0 1 2\n1 1 2\n2 1 2\n\nPassing ``result_type='broadcast'`` will ensure the same shape\nresult, whether list-like or scalar is returned by the function,\nand broadcast it along the axis. The resulting column names will\nbe the originals.\n\n>>> df.apply(lambda x: [1, 2], axis=1, result_type='broadcast')\n A B\n0 1 2\n1 1 2\n2 1 2\n"}, "kind": 2, "label": "apply", "sortText": " 10"}, {"detail": "bound method DataFrame.applymap(func: (Any, /) -> Any, na_action: Literal[\"ignore\"] | None = None, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Apply a function to a Dataframe elementwise.\n\n.. deprecated:: 2.1.0\n\n DataFrame.applymap has been deprecated. Use DataFrame.map instead.\n\nThis method applies a function that accepts and returns a scalar\nto every element of a DataFrame.\n\nParameters\n----------\nfunc : callable\n Python function, returns a single value from a single value.\nna_action : {None, 'ignore'}, default None\n If 'ignore', propagate NaN values, without passing them to func.\n**kwargs\n Additional keyword arguments to pass as keywords arguments to\n `func`.\n\nReturns\n-------\nDataFrame\n Transformed DataFrame.\n\nSee Also\n--------\nDataFrame.apply : Apply a function along input axis of DataFrame.\nDataFrame.map : Apply a function along input axis of DataFrame.\nDataFrame.replace: Replace values given in `to_replace` with `value`.\n\nExamples\n--------\n>>> df = pd.DataFrame([[1, 2.12], [3.356, 4.567]])\n>>> df\n 0 1\n0 1.000 2.120\n1 3.356 4.567\n\n>>> df.map(lambda x: len(str(x)))\n 0 1\n0 3 4\n1 5 5\n"}, "kind": 2, "label": "applymap", "sortText": " 11"}, {"detail": "bound method DataFrame.asfreq(freq: str | BaseOffset, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None = None, how: Literal[\"start\", \"end\"] | None = None, normalize: bool = False, fill_value: Hashable = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Convert time series to specified frequency.\n\nReturns the original data conformed to a new index with the specified\nfrequency.\n\nIf the index of this {klass} is a :class:`~pandas.PeriodIndex`, the new index\nis the result of transforming the original index with\n:meth:`PeriodIndex.asfreq ` (so the original index\nwill map one-to-one to the new index).\n\nOtherwise, the new index will be equivalent to ``pd.date_range(start, end,\nfreq=freq)`` where ``start`` and ``end`` are, respectively, the first and\nlast entries in the original index (see :func:`pandas.date_range`). The\nvalues corresponding to any timesteps in the new index which were not present\nin the original index will be null (``NaN``), unless a method for filling\nsuch unknowns is provided (see the ``method`` parameter below).\n\nThe :meth:`resample` method is more appropriate if an operation on each group of\ntimesteps (such as an aggregate) is necessary to represent the data at the new\nfrequency.\n\nParameters\n----------\nfreq : DateOffset or str\n Frequency DateOffset or string.\nmethod : {{'backfill'/'bfill', 'pad'/'ffill'}}, default None\n Method to use for filling holes in reindexed Series (note this\n does not fill NaNs that already were present):\n\n * 'pad' / 'ffill': propagate last valid observation forward to next\n valid\n * 'backfill' / 'bfill': use NEXT valid observation to fill.\nhow : {{'start', 'end'}}, default end\n For PeriodIndex only (see PeriodIndex.asfreq).\nnormalize : bool, default False\n Whether to reset output index to midnight.\nfill_value : scalar, optional\n Value to use for missing values, applied during upsampling (note\n this does not fill NaNs that already were present).\n\nReturns\n-------\n{klass}\n {klass} object reindexed to the specified frequency.\n\nSee Also\n--------\nreindex : Conform DataFrame to new index with optional filling logic.\n\nNotes\n-----\nTo learn more about the frequency strings, please see `this link\n`__.\n\nExamples\n--------\nStart by creating a series with 4 one minute timestamps.\n\n>>> index = pd.date_range('1/1/2000', periods=4, freq='min')\n>>> series = pd.Series([0.0, None, 2.0, 3.0], index=index)\n>>> df = pd.DataFrame({{'s': series}})\n>>> df\n s\n2000-01-01 00:00:00 0.0\n2000-01-01 00:01:00 NaN\n2000-01-01 00:02:00 2.0\n2000-01-01 00:03:00 3.0\n\nUpsample the series into 30 second bins.\n\n>>> df.asfreq(freq='30s')\n s\n2000-01-01 00:00:00 0.0\n2000-01-01 00:00:30 NaN\n2000-01-01 00:01:00 NaN\n2000-01-01 00:01:30 NaN\n2000-01-01 00:02:00 2.0\n2000-01-01 00:02:30 NaN\n2000-01-01 00:03:00 3.0\n\nUpsample again, providing a ``fill value``.\n\n>>> df.asfreq(freq='30s', fill_value=9.0)\n s\n2000-01-01 00:00:00 0.0\n2000-01-01 00:00:30 9.0\n2000-01-01 00:01:00 NaN\n2000-01-01 00:01:30 9.0\n2000-01-01 00:02:00 2.0\n2000-01-01 00:02:30 9.0\n2000-01-01 00:03:00 3.0\n\nUpsample again, providing a ``method``.\n\n>>> df.asfreq(freq='30s', method='bfill')\n s\n2000-01-01 00:00:00 0.0\n2000-01-01 00:00:30 NaN\n2000-01-01 00:01:00 NaN\n2000-01-01 00:01:30 2.0\n2000-01-01 00:02:00 2.0\n2000-01-01 00:02:30 3.0\n2000-01-01 00:03:00 3.0\n"}, "kind": 2, "label": "asfreq", "sortText": " 12"}, {"detail": "bound method DataFrame.asof(where, subset=None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Return the last row(s) without any NaNs before `where`.\n\nThe last row (for each element in `where`, if list) without any\nNaN is taken.\nIn case of a :class:`~pandas.DataFrame`, the last row without NaN\nconsidering only the subset of columns (if not `None`)\n\nIf there is no good value, NaN is returned for a Series or\na Series of NaN values for a DataFrame\n\nParameters\n----------\nwhere : date or array-like of dates\n Date(s) before which the last row(s) are returned.\nsubset : str or array-like of str, default `None`\n For DataFrame, if not `None`, only use these columns to\n check for NaNs.\n\nReturns\n-------\nscalar, Series, or DataFrame\n\n The return can be:\n\n * scalar : when `self` is a Series and `where` is a scalar\n * Series: when `self` is a Series and `where` is an array-like,\n or when `self` is a DataFrame and `where` is a scalar\n * DataFrame : when `self` is a DataFrame and `where` is an\n array-like\n\nSee Also\n--------\nmerge_asof : Perform an asof merge. Similar to left join.\n\nNotes\n-----\nDates are assumed to be sorted. Raises if this is not the case.\n\nExamples\n--------\nA Series and a scalar `where`.\n\n>>> s = pd.Series([1, 2, np.nan, 4], index=[10, 20, 30, 40])\n>>> s\n10 1.0\n20 2.0\n30 NaN\n40 4.0\ndtype: float64\n\n>>> s.asof(20)\n2.0\n\nFor a sequence `where`, a Series is returned. The first value is\nNaN, because the first element of `where` is before the first\nindex value.\n\n>>> s.asof([5, 20])\n5 NaN\n20 2.0\ndtype: float64\n\nMissing values are not considered. The following is ``2.0``, not\nNaN, even though NaN is at the index location for ``30``.\n\n>>> s.asof(30)\n2.0\n\nTake all columns into consideration\n\n>>> df = pd.DataFrame({'a': [10., 20., 30., 40., 50.],\n... 'b': [None, None, None, None, 500]},\n... index=pd.DatetimeIndex(['2018-02-27 09:01:00',\n... '2018-02-27 09:02:00',\n... '2018-02-27 09:03:00',\n... '2018-02-27 09:04:00',\n... '2018-02-27 09:05:00']))\n>>> df.asof(pd.DatetimeIndex(['2018-02-27 09:03:30',\n... '2018-02-27 09:04:30']))\n a b\n2018-02-27 09:03:30 NaN NaN\n2018-02-27 09:04:30 NaN NaN\n\nTake a single column into consideration\n\n>>> df.asof(pd.DatetimeIndex(['2018-02-27 09:03:30',\n... '2018-02-27 09:04:30']),\n... subset=['a'])\n a b\n2018-02-27 09:03:30 30.0 NaN\n2018-02-27 09:04:30 40.0 NaN\n"}, "kind": 2, "label": "asof", "sortText": " 13"}, {"detail": "bound method DataFrame.assign(**kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Assign new columns to a DataFrame.\n\nReturns a new object with all original columns in addition to new ones.\nExisting columns that are re-assigned will be overwritten.\n\nParameters\n----------\n**kwargs : dict of {str: callable or Series}\n The column names are keywords. If the values are\n callable, they are computed on the DataFrame and\n assigned to the new columns. The callable must not\n change input DataFrame (though pandas doesn't check it).\n If the values are not callable, (e.g. a Series, scalar, or array),\n they are simply assigned.\n\nReturns\n-------\nDataFrame\n A new DataFrame with the new columns in addition to\n all the existing columns.\n\nNotes\n-----\nAssigning multiple columns within the same ``assign`` is possible.\nLater items in '\\*\\*kwargs' may refer to newly created or modified\ncolumns in 'df'; items are computed and assigned into 'df' in order.\n\nExamples\n--------\n>>> df = pd.DataFrame({'temp_c': [17.0, 25.0]},\n... index=['Portland', 'Berkeley'])\n>>> df\n temp_c\nPortland 17.0\nBerkeley 25.0\n\nWhere the value is a callable, evaluated on `df`:\n\n>>> df.assign(temp_f=lambda x: x.temp_c * 9 / 5 + 32)\n temp_c temp_f\nPortland 17.0 62.6\nBerkeley 25.0 77.0\n\nAlternatively, the same behavior can be achieved by directly\nreferencing an existing Series or sequence:\n\n>>> df.assign(temp_f=df['temp_c'] * 9 / 5 + 32)\n temp_c temp_f\nPortland 17.0 62.6\nBerkeley 25.0 77.0\n\nYou can create multiple columns within the same assign where one\nof the columns depends on another one defined within the same assign:\n\n>>> df.assign(temp_f=lambda x: x['temp_c'] * 9 / 5 + 32,\n... temp_k=lambda x: (x['temp_f'] + 459.67) * 5 / 9)\n temp_c temp_f temp_k\nPortland 17.0 62.6 290.15\nBerkeley 25.0 77.0 298.15\n"}, "kind": 2, "label": "assign", "sortText": " 14"}, {"detail": "bound method DataFrame.astype(dtype, copy: bool | None = None, errors: Literal[\"ignore\", \"raise\"] = \"raise\") -> DataFrame", "documentation": {"kind": "plaintext", "value": "Cast a pandas object to a specified dtype ``dtype``.\n\nParameters\n----------\ndtype : str, data type, Series or Mapping of column name -> data type\n Use a str, numpy.dtype, pandas.ExtensionDtype or Python type to\n cast entire pandas object to the same type. Alternatively, use a\n mapping, e.g. {col: dtype, ...}, where col is a column label and dtype is\n a numpy.dtype or Python type to cast one or more of the DataFrame's\n columns to column-specific types.\ncopy : bool, default True\n Return a copy when ``copy=True`` (be very careful setting\n ``copy=False`` as changes to values then may propagate to other\n pandas objects).\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\nerrors : {'raise', 'ignore'}, default 'raise'\n Control raising of exceptions on invalid data for provided dtype.\n\n - ``raise`` : allow exceptions to be raised\n - ``ignore`` : suppress exceptions. On error return original object.\n\nReturns\n-------\nsame type as caller\n\nSee Also\n--------\nto_datetime : Convert argument to datetime.\nto_timedelta : Convert argument to timedelta.\nto_numeric : Convert argument to a numeric type.\nnumpy.ndarray.astype : Cast a numpy array to a specified type.\n\nNotes\n-----\n.. versionchanged:: 2.0.0\n\n Using ``astype`` to convert from timezone-naive dtype to\n timezone-aware dtype will raise an exception.\n Use :meth:`Series.dt.tz_localize` instead.\n\nExamples\n--------\nCreate a DataFrame:\n\n>>> d = {'col1': [1, 2], 'col2': [3, 4]}\n>>> df = pd.DataFrame(data=d)\n>>> df.dtypes\ncol1 int64\ncol2 int64\ndtype: object\n\nCast all columns to int32:\n\n>>> df.astype('int32').dtypes\ncol1 int32\ncol2 int32\ndtype: object\n\nCast col1 to int32 using a dictionary:\n\n>>> df.astype({'col1': 'int32'}).dtypes\ncol1 int32\ncol2 int64\ndtype: object\n\nCreate a series:\n\n>>> ser = pd.Series([1, 2], dtype='int32')\n>>> ser\n0 1\n1 2\ndtype: int32\n>>> ser.astype('int64')\n0 1\n1 2\ndtype: int64\n\nConvert to categorical type:\n\n>>> ser.astype('category')\n0 1\n1 2\ndtype: category\nCategories (2, int32): [1, 2]\n\nConvert to ordered categorical type with custom ordering:\n\n>>> from pandas.api.types import CategoricalDtype\n>>> cat_dtype = CategoricalDtype(\n... categories=[2, 1], ordered=True)\n>>> ser.astype(cat_dtype)\n0 1\n1 2\ndtype: category\nCategories (2, int64): [2 < 1]\n\nCreate a series of dates:\n\n>>> ser_date = pd.Series(pd.date_range('20200101', periods=3))\n>>> ser_date\n0 2020-01-01\n1 2020-01-02\n2 2020-01-03\ndtype: datetime64[ns]\n"}, "kind": 2, "label": "astype", "sortText": " 15"}, {"detail": "_AtIndexer", "kind": 22, "label": "at", "sortText": " 16"}, {"detail": "bound method DataFrame.at_time(time, asof: bool = False, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Select values at particular time of day (e.g., 9:30AM).\n\nParameters\n----------\ntime : datetime.time or str\n The values to select.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n For `Series` this parameter is unused and defaults to 0.\n\nReturns\n-------\nSeries or DataFrame\n\nRaises\n------\nTypeError\n If the index is not a :class:`DatetimeIndex`\n\nSee Also\n--------\nbetween_time : Select values between particular times of the day.\nfirst : Select initial periods of time series based on a date offset.\nlast : Select final periods of time series based on a date offset.\nDatetimeIndex.indexer_at_time : Get just the index locations for\n values at particular time of the day.\n\nExamples\n--------\n>>> i = pd.date_range('2018-04-09', periods=4, freq='12h')\n>>> ts = pd.DataFrame({'A': [1, 2, 3, 4]}, index=i)\n>>> ts\n A\n2018-04-09 00:00:00 1\n2018-04-09 12:00:00 2\n2018-04-10 00:00:00 3\n2018-04-10 12:00:00 4\n\n>>> ts.at_time('12:00')\n A\n2018-04-09 12:00:00 2\n2018-04-10 12:00:00 4\n"}, "kind": 2, "label": "at_time", "sortText": " 17"}, {"detail": "dict[Hashable, Any]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "attrs", "sortText": " 18"}, {"detail": "list[Index]", "documentation": {"kind": "plaintext", "value": "Built-in mutable sequence.\n\nIf no argument is given, the constructor creates a new empty list.\nThe argument must be an iterable if specified.\n"}, "kind": 22, "label": "axes", "sortText": " 19"}, {"detail": "bound method DataFrame.backfill(*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = None, inplace: bool = False, limit: None | int = None, downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame | None", "documentation": {"kind": "plaintext", "value": "Fill NA/NaN values by using the next valid observation to fill the gap.\n\n.. deprecated:: 2.0\n\n {klass}.backfill is deprecated. Use {klass}.bfill instead.\n\nReturns\n-------\n{klass} or None\n Object with missing values filled or None if ``inplace=True``.\n\nExamples\n--------\nPlease see examples for :meth:`DataFrame.bfill` or :meth:`Series.bfill`.\n"}, "kind": 2, "label": "backfill", "sortText": " 20"}, {"detail": "bound method DataFrame.between_time(start_time, end_time, inclusive: Literal[\"left\", \"right\", \"both\", \"neither\"] = \"both\", axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Select values between particular times of the day (e.g., 9:00-9:30 AM).\n\nBy setting ``start_time`` to be later than ``end_time``,\nyou can get the times that are *not* between the two times.\n\nParameters\n----------\nstart_time : datetime.time or str\n Initial time as a time filter limit.\nend_time : datetime.time or str\n End time as a time filter limit.\ninclusive : {\"both\", \"neither\", \"left\", \"right\"}, default \"both\"\n Include boundaries; whether to set each bound as closed or open.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Determine range time on index or columns value.\n For `Series` this parameter is unused and defaults to 0.\n\nReturns\n-------\nSeries or DataFrame\n Data from the original object filtered to the specified dates range.\n\nRaises\n------\nTypeError\n If the index is not a :class:`DatetimeIndex`\n\nSee Also\n--------\nat_time : Select values at a particular time of the day.\nfirst : Select initial periods of time series based on a date offset.\nlast : Select final periods of time series based on a date offset.\nDatetimeIndex.indexer_between_time : Get just the index locations for\n values between particular times of the day.\n\nExamples\n--------\n>>> i = pd.date_range('2018-04-09', periods=4, freq='1D20min')\n>>> ts = pd.DataFrame({'A': [1, 2, 3, 4]}, index=i)\n>>> ts\n A\n2018-04-09 00:00:00 1\n2018-04-10 00:20:00 2\n2018-04-11 00:40:00 3\n2018-04-12 01:00:00 4\n\n>>> ts.between_time('0:15', '0:45')\n A\n2018-04-10 00:20:00 2\n2018-04-11 00:40:00 3\n\nYou get the times that are *not* between two times by setting\n``start_time`` later than ``end_time``:\n\n>>> ts.between_time('0:45', '0:15')\n A\n2018-04-09 00:00:00 1\n2018-04-12 01:00:00 4\n"}, "kind": 2, "label": "between_time", "sortText": " 21"}, {"detail": "Overload[(*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: Literal[False] = ..., limit: None | int = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame, (*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: Literal[True], limit: None | int = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> None, (*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: bool = ..., limit: None | int = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Fill NA/NaN values by using the next valid observation to fill the gap.\n\nParameters\n----------\naxis : {axes_single_arg}\n Axis along which to fill missing values. For `Series`\n this parameter is unused and defaults to 0.\ninplace : bool, default False\n If True, fill in-place. Note: this will modify any\n other views on this object (e.g., a no-copy slice for a column in a\n DataFrame).\nlimit : int, default None\n If method is specified, this is the maximum number of consecutive\n NaN values to forward/backward fill. In other words, if there is\n a gap with more than this number of consecutive NaNs, it will only\n be partially filled. If method is not specified, this is the\n maximum number of entries along the entire axis where NaNs will be\n filled. Must be greater than 0 if not None.\nlimit_area : {{`None`, 'inside', 'outside'}}, default None\n If limit is specified, consecutive NaNs will be filled with this\n restriction.\n\n * ``None``: No fill restriction.\n * 'inside': Only fill NaNs surrounded by valid values\n (interpolate).\n * 'outside': Only fill NaNs outside valid values (extrapolate).\n\n .. versionadded:: 2.2.0\n\ndowncast : dict, default is None\n A dict of item->dtype of what to downcast if possible,\n or the string 'infer' which will try to downcast to an appropriate\n equal type (e.g. float64 to int64 if possible).\n\n .. deprecated:: 2.2.0\n\nReturns\n-------\n{klass} or None\n Object with missing values filled or None if ``inplace=True``.\n\nExamples\n--------\nFor Series:\n\n>>> s = pd.Series([1, None, None, 2])\n>>> s.bfill()\n0 1.0\n1 2.0\n2 2.0\n3 2.0\ndtype: float64\n>>> s.bfill(limit=1)\n0 1.0\n1 NaN\n2 2.0\n3 2.0\ndtype: float64\n\nWith DataFrame:\n\n>>> df = pd.DataFrame({{'A': [1, None, None, 4], 'B': [None, 5, None, 7]}})\n>>> df\n A B\n0 1.0 NaN\n1 NaN 5.0\n2 NaN NaN\n3 4.0 7.0\n>>> df.bfill()\n A B\n0 1.0 5.0\n1 4.0 5.0\n2 4.0 7.0\n3 4.0 7.0\n>>> df.bfill(limit=1)\n A B\n0 1.0 5.0\n1 NaN 5.0\n2 4.0 7.0\n3 4.0 7.0\n"}, "kind": 2, "label": "bfill", "sortText": " 22"}, {"detail": "bound method DataFrame.bool() -> bool", "documentation": {"kind": "plaintext", "value": "Return the bool of a single element Series or DataFrame.\n\n.. deprecated:: 2.1.0\n\n bool is deprecated and will be removed in future version of pandas.\n For ``Series`` use ``pandas.Series.item``.\n\nThis must be a boolean scalar value, either True or False. It will raise a\nValueError if the Series or DataFrame does not have exactly 1 element, or that\nelement is not boolean (integer values 0 and 1 will also raise an exception).\n\nReturns\n-------\nbool\n The value in the Series or DataFrame.\n\nSee Also\n--------\nSeries.astype : Change the data type of a Series, including to boolean.\nDataFrame.astype : Change the data type of a DataFrame, including to boolean.\nnumpy.bool_ : NumPy boolean data type, used by pandas for boolean values.\n\nExamples\n--------\nThe method will only work for single element objects with a boolean value:\n\n>>> pd.Series([True]).bool() # doctest: +SKIP\nTrue\n>>> pd.Series([False]).bool() # doctest: +SKIP\nFalse\n\n>>> pd.DataFrame({'col': [True]}).bool() # doctest: +SKIP\nTrue\n>>> pd.DataFrame({'col': [False]}).bool() # doctest: +SKIP\nFalse\n\nThis is an alternative method and will only work\nfor single element objects with a boolean value:\n\n>>> pd.Series([True]).item() # doctest: +SKIP\nTrue\n>>> pd.Series([False]).item() # doctest: +SKIP\nFalse\n"}, "kind": 2, "label": "bool", "sortText": " 23"}, {"detail": "(column=None, by=None, ax=None, fontsize: int | None = None, rot: int = 0, grid: bool = True, figsize: tuple[float, float] | None = None, layout=None, return_type=None, backend=None, **kwargs) -> Unknown", "kind": 2, "label": "boxplot", "sortText": " 24"}, {"detail": "Overload[(lower=..., upper=..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: Literal[False] = ..., **kwargs) -> DataFrame, (lower=..., upper=..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: Literal[True], **kwargs) -> None, (lower=..., upper=..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: bool = ..., **kwargs) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Trim values at input threshold(s).\n\nAssigns values outside boundary to boundary values. Thresholds\ncan be singular values or array like, and in the latter case\nthe clipping is performed element-wise in the specified axis.\n\nParameters\n----------\nlower : float or array-like, default None\n Minimum threshold value. All values below this\n threshold will be set to it. A missing\n threshold (e.g `NA`) will not clip the value.\nupper : float or array-like, default None\n Maximum threshold value. All values above this\n threshold will be set to it. A missing\n threshold (e.g `NA`) will not clip the value.\naxis : {{0 or 'index', 1 or 'columns', None}}, default None\n Align object with lower and upper along the given axis.\n For `Series` this parameter is unused and defaults to `None`.\ninplace : bool, default False\n Whether to perform the operation in place on the data.\n*args, **kwargs\n Additional keywords have no effect but might be accepted\n for compatibility with numpy.\n\nReturns\n-------\nSeries or DataFrame or None\n Same type as calling object with the values outside the\n clip boundaries replaced or None if ``inplace=True``.\n\nSee Also\n--------\nSeries.clip : Trim values at input threshold in series.\nDataFrame.clip : Trim values at input threshold in dataframe.\nnumpy.clip : Clip (limit) the values in an array.\n\nExamples\n--------\n>>> data = {'col_0': [9, -3, 0, -1, 5], 'col_1': [-2, -7, 6, 8, -5]}\n>>> df = pd.DataFrame(data)\n>>> df\n col_0 col_1\n0 9 -2\n1 -3 -7\n2 0 6\n3 -1 8\n4 5 -5\n\nClips per column using lower and upper thresholds:\n\n>>> df.clip(-4, 6)\n col_0 col_1\n0 6 -2\n1 -3 -4\n2 0 6\n3 -1 6\n4 5 -4\n\nClips using specific lower and upper thresholds per column:\n\n>>> df.clip([-2, -1], [4, 5])\n col_0 col_1\n0 4 -1\n1 -2 -1\n2 0 5\n3 -1 5\n4 4 -1\n\nClips using specific lower and upper thresholds per column element:\n\n>>> t = pd.Series([2, -4, -1, 6, 3])\n>>> t\n0 2\n1 -4\n2 -1\n3 6\n4 3\ndtype: int64\n\n>>> df.clip(t, t + 4, axis=0)\n col_0 col_1\n0 6 2\n1 -3 -4\n2 0 3\n3 6 8\n4 5 3\n\nClips using specific lower threshold per column element, with missing values:\n\n>>> t = pd.Series([2, -4, np.nan, 6, 3])\n>>> t\n0 2.0\n1 -4.0\n2 NaN\n3 6.0\n4 3.0\ndtype: float64\n\n>>> df.clip(t, axis=0)\ncol_0 col_1\n0 9 2\n1 -3 -4\n2 0 6\n3 6 8\n4 5 3\n"}, "kind": 2, "label": "clip", "sortText": " 25"}, {"detail": "Index", "documentation": {"kind": "plaintext", "value": "Immutable sequence used for indexing and alignment.\n\nThe basic object storing axis labels for all pandas objects.\n\n.. versionchanged:: 2.0.0\n\n Index can hold all numpy numeric dtypes (except float16). Previously only\n int64/uint64/float64 dtypes were accepted.\n\nParameters\n----------\ndata : array-like (1-dimensional)\ndtype : str, numpy.dtype, or ExtensionDtype, optional\n Data type for the output Index. If not specified, this will be\n inferred from `data`.\n See the :ref:`user guide ` for more usages.\ncopy : bool, default False\n Copy input data.\nname : object\n Name to be stored in the index.\ntupleize_cols : bool (default: True)\n When True, attempt to create a MultiIndex if possible.\n\nSee Also\n--------\nRangeIndex : Index implementing a monotonic integer range.\nCategoricalIndex : Index of :class:`Categorical` s.\nMultiIndex : A multi-level, or hierarchical Index.\nIntervalIndex : An Index of :class:`Interval` s.\nDatetimeIndex : Index of datetime64 data.\nTimedeltaIndex : Index of timedelta64 data.\nPeriodIndex : Index of Period data.\n\nNotes\n-----\nAn Index instance can **only** contain hashable objects.\nAn Index instance *can not* hold numpy float16 dtype.\n\nExamples\n--------\n>>> pd.Index([1, 2, 3])\nIndex([1, 2, 3], dtype='int64')\n\n>>> pd.Index(list('abc'))\nIndex(['a', 'b', 'c'], dtype='object')\n\n>>> pd.Index([1, 2, 3], dtype=\"uint8\")\nIndex([1, 2, 3], dtype='uint8')\n"}, "kind": 22, "label": "columns", "sortText": " 26"}, {"detail": "bound method DataFrame.combine(other: DataFrame, func: (Series, Series, /) -> Series | Hashable, fill_value=None, overwrite: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Perform column-wise combine with another DataFrame.\n\nCombines a DataFrame with `other` DataFrame using `func`\nto element-wise combine columns. The row and column indexes of the\nresulting DataFrame will be the union of the two.\n\nParameters\n----------\nother : DataFrame\n The DataFrame to merge column-wise.\nfunc : function\n Function that takes two series as inputs and return a Series or a\n scalar. Used to merge the two dataframes column by columns.\nfill_value : scalar value, default None\n The value to fill NaNs with prior to passing any column to the\n merge func.\noverwrite : bool, default True\n If True, columns in `self` that do not exist in `other` will be\n overwritten with NaNs.\n\nReturns\n-------\nDataFrame\n Combination of the provided DataFrames.\n\nSee Also\n--------\nDataFrame.combine_first : Combine two DataFrame objects and default to\n non-null values in frame calling the method.\n\nExamples\n--------\nCombine using a simple function that chooses the smaller column.\n\n>>> df1 = pd.DataFrame({'A': [0, 0], 'B': [4, 4]})\n>>> df2 = pd.DataFrame({'A': [1, 1], 'B': [3, 3]})\n>>> take_smaller = lambda s1, s2: s1 if s1.sum() < s2.sum() else s2\n>>> df1.combine(df2, take_smaller)\n A B\n0 0 3\n1 0 3\n\nExample using a true element-wise combine function.\n\n>>> df1 = pd.DataFrame({'A': [5, 0], 'B': [2, 4]})\n>>> df2 = pd.DataFrame({'A': [1, 1], 'B': [3, 3]})\n>>> df1.combine(df2, np.minimum)\n A B\n0 1 2\n1 0 3\n\nUsing `fill_value` fills Nones prior to passing the column to the\nmerge function.\n\n>>> df1 = pd.DataFrame({'A': [0, 0], 'B': [None, 4]})\n>>> df2 = pd.DataFrame({'A': [1, 1], 'B': [3, 3]})\n>>> df1.combine(df2, take_smaller, fill_value=-5)\n A B\n0 0 -5.0\n1 0 4.0\n\nHowever, if the same element in both dataframes is None, that None\nis preserved\n\n>>> df1 = pd.DataFrame({'A': [0, 0], 'B': [None, 4]})\n>>> df2 = pd.DataFrame({'A': [1, 1], 'B': [None, 3]})\n>>> df1.combine(df2, take_smaller, fill_value=-5)\n A B\n0 0 -5.0\n1 0 3.0\n\nExample that demonstrates the use of `overwrite` and behavior when\nthe axis differ between the dataframes.\n\n>>> df1 = pd.DataFrame({'A': [0, 0], 'B': [4, 4]})\n>>> df2 = pd.DataFrame({'B': [3, 3], 'C': [-10, 1], }, index=[1, 2])\n>>> df1.combine(df2, take_smaller)\n A B C\n0 NaN NaN NaN\n1 NaN 3.0 -10.0\n2 NaN 3.0 1.0\n\n>>> df1.combine(df2, take_smaller, overwrite=False)\n A B C\n0 0.0 NaN NaN\n1 0.0 3.0 -10.0\n2 NaN 3.0 1.0\n\nDemonstrating the preference of the passed in dataframe.\n\n>>> df2 = pd.DataFrame({'B': [3, 3], 'C': [1, 1], }, index=[1, 2])\n>>> df2.combine(df1, take_smaller)\n A B C\n0 0.0 NaN NaN\n1 0.0 3.0 NaN\n2 NaN 3.0 NaN\n\n>>> df2.combine(df1, take_smaller, overwrite=False)\n A B C\n0 0.0 NaN NaN\n1 0.0 3.0 1.0\n2 NaN 3.0 1.0\n"}, "kind": 2, "label": "combine", "sortText": " 27"}, {"detail": "bound method DataFrame.combine_first(other: DataFrame) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Update null elements with value in the same location in `other`.\n\nCombine two DataFrame objects by filling null values in one DataFrame\nwith non-null values from other DataFrame. The row and column indexes\nof the resulting DataFrame will be the union of the two. The resulting\ndataframe contains the 'first' dataframe values and overrides the\nsecond one values where both first.loc[index, col] and\nsecond.loc[index, col] are not missing values, upon calling\nfirst.combine_first(second).\n\nParameters\n----------\nother : DataFrame\n Provided DataFrame to use to fill null values.\n\nReturns\n-------\nDataFrame\n The result of combining the provided DataFrame with the other object.\n\nSee Also\n--------\nDataFrame.combine : Perform series-wise operation on two DataFrames\n using a given function.\n\nExamples\n--------\n>>> df1 = pd.DataFrame({'A': [None, 0], 'B': [None, 4]})\n>>> df2 = pd.DataFrame({'A': [1, 1], 'B': [3, 3]})\n>>> df1.combine_first(df2)\n A B\n0 1.0 3.0\n1 0.0 4.0\n\nNull values still persist if the location of that null value\ndoes not exist in `other`\n\n>>> df1 = pd.DataFrame({'A': [None, 0], 'B': [4, None]})\n>>> df2 = pd.DataFrame({'B': [3, 3], 'C': [1, 1]}, index=[1, 2])\n>>> df1.combine_first(df2)\n A B C\n0 NaN 4.0 NaN\n1 0.0 3.0 1.0\n2 NaN 3.0 1.0\n"}, "kind": 2, "label": "combine_first", "sortText": " 28"}, {"detail": "bound method DataFrame.compare(other: DataFrame, align_axis: int | Literal[\"index\", \"columns\", \"rows\"] = 1, keep_shape: bool = False, keep_equal: bool = False, result_names: tuple[str | None, str | None] = ...) -> DataFrame", "kind": 2, "label": "compare", "sortText": " 29"}, {"detail": "bound method DataFrame.convert_dtypes(infer_objects: bool = True, convert_string: bool = True, convert_integer: bool = True, convert_boolean: bool = True, convert_floating: bool = True, dtype_backend: Literal[\"pyarrow\", \"numpy_nullable\"] = \"numpy_nullable\") -> DataFrame", "documentation": {"kind": "plaintext", "value": "Convert columns to the best possible dtypes using dtypes supporting ``pd.NA``.\n\nParameters\n----------\ninfer_objects : bool, default True\n Whether object dtypes should be converted to the best possible types.\nconvert_string : bool, default True\n Whether object dtypes should be converted to ``StringDtype()``.\nconvert_integer : bool, default True\n Whether, if possible, conversion can be done to integer extension types.\nconvert_boolean : bool, defaults True\n Whether object dtypes should be converted to ``BooleanDtypes()``.\nconvert_floating : bool, defaults True\n Whether, if possible, conversion can be done to floating extension types.\n If `convert_integer` is also True, preference will be give to integer\n dtypes if the floats can be faithfully casted to integers.\ndtype_backend : {'numpy_nullable', 'pyarrow'}, default 'numpy_nullable'\n Back-end data type applied to the resultant :class:`DataFrame`\n (still experimental). Behaviour is as follows:\n\n * ``\"numpy_nullable\"``: returns nullable-dtype-backed :class:`DataFrame`\n (default).\n * ``\"pyarrow\"``: returns pyarrow-backed nullable :class:`ArrowDtype`\n DataFrame.\n\n .. versionadded:: 2.0\n\nReturns\n-------\nSeries or DataFrame\n Copy of input object with new dtype.\n\nSee Also\n--------\ninfer_objects : Infer dtypes of objects.\nto_datetime : Convert argument to datetime.\nto_timedelta : Convert argument to timedelta.\nto_numeric : Convert argument to a numeric type.\n\nNotes\n-----\nBy default, ``convert_dtypes`` will attempt to convert a Series (or each\nSeries in a DataFrame) to dtypes that support ``pd.NA``. By using the options\n``convert_string``, ``convert_integer``, ``convert_boolean`` and\n``convert_floating``, it is possible to turn off individual conversions\nto ``StringDtype``, the integer extension types, ``BooleanDtype``\nor floating extension types, respectively.\n\nFor object-dtyped columns, if ``infer_objects`` is ``True``, use the inference\nrules as during normal Series/DataFrame construction. Then, if possible,\nconvert to ``StringDtype``, ``BooleanDtype`` or an appropriate integer\nor floating extension type, otherwise leave as ``object``.\n\nIf the dtype is integer, convert to an appropriate integer extension type.\n\nIf the dtype is numeric, and consists of all integers, convert to an\nappropriate integer extension type. Otherwise, convert to an\nappropriate floating extension type.\n\nIn the future, as new dtypes are added that support ``pd.NA``, the results\nof this method will change to support those new dtypes.\n\nExamples\n--------\n>>> df = pd.DataFrame(\n... {\n... \"a\": pd.Series([1, 2, 3], dtype=np.dtype(\"int32\")),\n... \"b\": pd.Series([\"x\", \"y\", \"z\"], dtype=np.dtype(\"O\")),\n... \"c\": pd.Series([True, False, np.nan], dtype=np.dtype(\"O\")),\n... \"d\": pd.Series([\"h\", \"i\", np.nan], dtype=np.dtype(\"O\")),\n... \"e\": pd.Series([10, np.nan, 20], dtype=np.dtype(\"float\")),\n... \"f\": pd.Series([np.nan, 100.5, 200], dtype=np.dtype(\"float\")),\n... }\n... )\n\nStart with a DataFrame with default dtypes.\n\n>>> df\n a b c d e f\n0 1 x True h 10.0 NaN\n1 2 y False i NaN 100.5\n2 3 z NaN NaN 20.0 200.0\n\n>>> df.dtypes\na int32\nb object\nc object\nd object\ne float64\nf float64\ndtype: object\n\nConvert the DataFrame to use best possible dtypes.\n\n>>> dfn = df.convert_dtypes()\n>>> dfn\n a b c d e f\n0 1 x True h 10 \n1 2 y False i 100.5\n2 3 z 20 200.0\n\n>>> dfn.dtypes\na Int32\nb string[python]\nc boolean\nd string[python]\ne Int64\nf Float64\ndtype: object\n\nStart with a Series of strings and missing data represented by ``np.nan``.\n\n>>> s = pd.Series([\"a\", \"b\", np.nan])\n>>> s\n0 a\n1 b\n2 NaN\ndtype: object\n\nObtain a Series with dtype ``StringDtype``.\n\n>>> s.convert_dtypes()\n0 a\n1 b\n2 \ndtype: string\n"}, "kind": 2, "label": "convert_dtypes", "sortText": " 30"}, {"detail": "bound method DataFrame.copy(deep: bool | None = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Make a copy of this object's indices and data.\n\nWhen ``deep=True`` (default), a new object will be created with a\ncopy of the calling object's data and indices. Modifications to\nthe data or indices of the copy will not be reflected in the\noriginal object (see notes below).\n\nWhen ``deep=False``, a new object will be created without copying\nthe calling object's data or index (only references to the data\nand index are copied). Any changes to the data of the original\nwill be reflected in the shallow copy (and vice versa).\n\n.. note::\n The ``deep=False`` behaviour as described above will change\n in pandas 3.0. `Copy-on-Write\n `__\n will be enabled by default, which means that the \"shallow\" copy\n is that is returned with ``deep=False`` will still avoid making\n an eager copy, but changes to the data of the original will *no*\n longer be reflected in the shallow copy (or vice versa). Instead,\n it makes use of a lazy (deferred) copy mechanism that will copy\n the data only when any changes to the original or shallow copy is\n made.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nParameters\n----------\ndeep : bool, default True\n Make a deep copy, including a copy of the data and the indices.\n With ``deep=False`` neither the indices nor the data are copied.\n\nReturns\n-------\nSeries or DataFrame\n Object type matches caller.\n\nNotes\n-----\nWhen ``deep=True``, data is copied but actual Python objects\nwill not be copied recursively, only the reference to the object.\nThis is in contrast to `copy.deepcopy` in the Standard Library,\nwhich recursively copies object data (see examples below).\n\nWhile ``Index`` objects are copied when ``deep=True``, the underlying\nnumpy array is not copied for performance reasons. Since ``Index`` is\nimmutable, the underlying data can be safely shared and a copy\nis not needed.\n\nSince pandas is not thread safe, see the\n:ref:`gotchas ` when copying in a threading\nenvironment.\n\nWhen ``copy_on_write`` in pandas config is set to ``True``, the\n``copy_on_write`` config takes effect even when ``deep=False``.\nThis means that any changes to the copied data would make a new copy\nof the data upon write (and vice versa). Changes made to either the\noriginal or copied variable would not be reflected in the counterpart.\nSee :ref:`Copy_on_Write ` for more information.\n\nExamples\n--------\n>>> s = pd.Series([1, 2], index=[\"a\", \"b\"])\n>>> s\na 1\nb 2\ndtype: int64\n\n>>> s_copy = s.copy()\n>>> s_copy\na 1\nb 2\ndtype: int64\n\n**Shallow copy versus default (deep) copy:**\n\n>>> s = pd.Series([1, 2], index=[\"a\", \"b\"])\n>>> deep = s.copy()\n>>> shallow = s.copy(deep=False)\n\nShallow copy shares data and index with original.\n\n>>> s is shallow\nFalse\n>>> s.values is shallow.values and s.index is shallow.index\nTrue\n\nDeep copy has own copy of data and index.\n\n>>> s is deep\nFalse\n>>> s.values is deep.values or s.index is deep.index\nFalse\n\nUpdates to the data shared by shallow copy and original is reflected\nin both (NOTE: this will no longer be true for pandas >= 3.0);\ndeep copy remains unchanged.\n\n>>> s.iloc[0] = 3\n>>> shallow.iloc[1] = 4\n>>> s\na 3\nb 4\ndtype: int64\n>>> shallow\na 3\nb 4\ndtype: int64\n>>> deep\na 1\nb 2\ndtype: int64\n\nNote that when copying an object containing Python objects, a deep copy\nwill copy the data, but will not do so recursively. Updating a nested\ndata object will be reflected in the deep copy.\n\n>>> s = pd.Series([[1, 2], [3, 4]])\n>>> deep = s.copy()\n>>> s[0][0] = 10\n>>> s\n0 [10, 2]\n1 [3, 4]\ndtype: object\n>>> deep\n0 [10, 2]\n1 [3, 4]\ndtype: object\n\n**Copy-on-Write is set to true**, the shallow copy is not modified\nwhen the original data is changed:\n\n>>> with pd.option_context(\"mode.copy_on_write\", True):\n... s = pd.Series([1, 2], index=[\"a\", \"b\"])\n... copy = s.copy(deep=False)\n... s.iloc[0] = 100\n... s\na 100\nb 2\ndtype: int64\n>>> copy\na 1\nb 2\ndtype: int64\n"}, "kind": 2, "label": "copy", "sortText": " 31"}, {"detail": "bound method DataFrame.corr(method: Literal[\"pearson\", \"kendall\", \"spearman\"] | ((ndarray[_AnyShape, dtype[Any]], ndarray[_AnyShape, dtype[Any]], /) -> float) = \"pearson\", min_periods: int = 1, numeric_only: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Compute pairwise correlation of columns, excluding NA/null values.\n\nParameters\n----------\nmethod : {'pearson', 'kendall', 'spearman'} or callable\n Method of correlation:\n\n * pearson : standard correlation coefficient\n * kendall : Kendall Tau correlation coefficient\n * spearman : Spearman rank correlation\n * callable: callable with input two 1d ndarrays\n and returning a float. Note that the returned matrix from corr\n will have 1 along the diagonals and will be symmetric\n regardless of the callable's behavior.\nmin_periods : int, optional\n Minimum number of observations required per pair of columns\n to have a valid result. Currently only available for Pearson\n and Spearman correlation.\nnumeric_only : bool, default False\n Include only `float`, `int` or `boolean` data.\n\n .. versionadded:: 1.5.0\n\n .. versionchanged:: 2.0.0\n The default value of ``numeric_only`` is now ``False``.\n\nReturns\n-------\nDataFrame\n Correlation matrix.\n\nSee Also\n--------\nDataFrame.corrwith : Compute pairwise correlation with another\n DataFrame or Series.\nSeries.corr : Compute the correlation between two Series.\n\nNotes\n-----\nPearson, Kendall and Spearman correlation are currently computed using pairwise complete observations.\n\n* `Pearson correlation coefficient `_\n* `Kendall rank correlation coefficient `_\n* `Spearman's rank correlation coefficient `_\n\nExamples\n--------\n>>> def histogram_intersection(a, b):\n... v = np.minimum(a, b).sum().round(decimals=1)\n... return v\n>>> df = pd.DataFrame([(.2, .3), (.0, .6), (.6, .0), (.2, .1)],\n... columns=['dogs', 'cats'])\n>>> df.corr(method=histogram_intersection)\n dogs cats\ndogs 1.0 0.3\ncats 0.3 1.0\n\n>>> df = pd.DataFrame([(1, 1), (2, np.nan), (np.nan, 3), (4, 4)],\n... columns=['dogs', 'cats'])\n>>> df.corr(min_periods=3)\n dogs cats\ndogs 1.0 NaN\ncats NaN 1.0\n"}, "kind": 2, "label": "corr", "sortText": " 32"}, {"detail": "bound method DataFrame.corrwith(other: DataFrame | Series, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, drop: bool = False, method: Literal[\"pearson\", \"kendall\", \"spearman\"] | ((ndarray[_AnyShape, dtype[Any]], ndarray[_AnyShape, dtype[Any]], /) -> float) = \"pearson\", numeric_only: bool = False) -> Series", "documentation": {"kind": "plaintext", "value": "Compute pairwise correlation.\n\nPairwise correlation is computed between rows or columns of\nDataFrame with rows or columns of Series or DataFrame. DataFrames\nare first aligned along both axes before computing the\ncorrelations.\n\nParameters\n----------\nother : DataFrame, Series\n Object with which to compute correlations.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to use. 0 or 'index' to compute row-wise, 1 or 'columns' for\n column-wise.\ndrop : bool, default False\n Drop missing indices from result.\nmethod : {'pearson', 'kendall', 'spearman'} or callable\n Method of correlation:\n\n * pearson : standard correlation coefficient\n * kendall : Kendall Tau correlation coefficient\n * spearman : Spearman rank correlation\n * callable: callable with input two 1d ndarrays\n and returning a float.\n\nnumeric_only : bool, default False\n Include only `float`, `int` or `boolean` data.\n\n .. versionadded:: 1.5.0\n\n .. versionchanged:: 2.0.0\n The default value of ``numeric_only`` is now ``False``.\n\nReturns\n-------\nSeries\n Pairwise correlations.\n\nSee Also\n--------\nDataFrame.corr : Compute pairwise correlation of columns.\n\nExamples\n--------\n>>> index = [\"a\", \"b\", \"c\", \"d\", \"e\"]\n>>> columns = [\"one\", \"two\", \"three\", \"four\"]\n>>> df1 = pd.DataFrame(np.arange(20).reshape(5, 4), index=index, columns=columns)\n>>> df2 = pd.DataFrame(np.arange(16).reshape(4, 4), index=index[:4], columns=columns)\n>>> df1.corrwith(df2)\none 1.0\ntwo 1.0\nthree 1.0\nfour 1.0\ndtype: float64\n\n>>> df2.corrwith(df1, axis=1)\na 1.0\nb 1.0\nc 1.0\nd 1.0\ne NaN\ndtype: float64\n"}, "kind": 2, "label": "corrwith", "sortText": " 33"}, {"detail": "bound method DataFrame.count(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, numeric_only: bool = False) -> Unknown", "documentation": {"kind": "plaintext", "value": "Count non-NA cells for each column or row.\n\nThe values `None`, `NaN`, `NaT`, ``pandas.NA`` are considered NA.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n If 0 or 'index' counts are generated for each column.\n If 1 or 'columns' counts are generated for each row.\nnumeric_only : bool, default False\n Include only `float`, `int` or `boolean` data.\n\nReturns\n-------\nSeries\n For each column/row the number of non-NA/null entries.\n\nSee Also\n--------\nSeries.count: Number of non-NA elements in a Series.\nDataFrame.value_counts: Count unique combinations of columns.\nDataFrame.shape: Number of DataFrame rows and columns (including NA\n elements).\nDataFrame.isna: Boolean same-sized DataFrame showing places of NA\n elements.\n\nExamples\n--------\nConstructing DataFrame from a dictionary:\n\n>>> df = pd.DataFrame({\"Person\":\n... [\"John\", \"Myla\", \"Lewis\", \"John\", \"Myla\"],\n... \"Age\": [24., np.nan, 21., 33, 26],\n... \"Single\": [False, True, True, True, False]})\n>>> df\n Person Age Single\n0 John 24.0 False\n1 Myla NaN True\n2 Lewis 21.0 True\n3 John 33.0 True\n4 Myla 26.0 False\n\nNotice the uncounted NA values:\n\n>>> df.count()\nPerson 5\nAge 4\nSingle 5\ndtype: int64\n\nCounts for each **row**:\n\n>>> df.count(axis='columns')\n0 3\n1 2\n2 3\n3 3\n4 3\ndtype: int64\n"}, "kind": 2, "label": "count", "sortText": " 34"}, {"detail": "bound method DataFrame.cov(min_periods: int | None = None, ddof: int | None = 1, numeric_only: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Compute pairwise covariance of columns, excluding NA/null values.\n\nCompute the pairwise covariance among the series of a DataFrame.\nThe returned data frame is the `covariance matrix\n`__ of the columns\nof the DataFrame.\n\nBoth NA and null values are automatically excluded from the\ncalculation. (See the note below about bias from missing values.)\nA threshold can be set for the minimum number of\nobservations for each value created. Comparisons with observations\nbelow this threshold will be returned as ``NaN``.\n\nThis method is generally used for the analysis of time series data to\nunderstand the relationship between different measures\nacross time.\n\nParameters\n----------\nmin_periods : int, optional\n Minimum number of observations required per pair of columns\n to have a valid result.\n\nddof : int, default 1\n Delta degrees of freedom. The divisor used in calculations\n is ``N - ddof``, where ``N`` represents the number of elements.\n This argument is applicable only when no ``nan`` is in the dataframe.\n\nnumeric_only : bool, default False\n Include only `float`, `int` or `boolean` data.\n\n .. versionadded:: 1.5.0\n\n .. versionchanged:: 2.0.0\n The default value of ``numeric_only`` is now ``False``.\n\nReturns\n-------\nDataFrame\n The covariance matrix of the series of the DataFrame.\n\nSee Also\n--------\nSeries.cov : Compute covariance with another Series.\ncore.window.ewm.ExponentialMovingWindow.cov : Exponential weighted sample\n covariance.\ncore.window.expanding.Expanding.cov : Expanding sample covariance.\ncore.window.rolling.Rolling.cov : Rolling sample covariance.\n\nNotes\n-----\nReturns the covariance matrix of the DataFrame's time series.\nThe covariance is normalized by N-ddof.\n\nFor DataFrames that have Series that are missing data (assuming that\ndata is `missing at random\n`__)\nthe returned covariance matrix will be an unbiased estimate\nof the variance and covariance between the member Series.\n\nHowever, for many applications this estimate may not be acceptable\nbecause the estimate covariance matrix is not guaranteed to be positive\nsemi-definite. This could lead to estimate correlations having\nabsolute values which are greater than one, and/or a non-invertible\ncovariance matrix. See `Estimation of covariance matrices\n`__ for more details.\n\nExamples\n--------\n>>> df = pd.DataFrame([(1, 2), (0, 3), (2, 0), (1, 1)],\n... columns=['dogs', 'cats'])\n>>> df.cov()\n dogs cats\ndogs 0.666667 -1.000000\ncats -1.000000 1.666667\n\n>>> np.random.seed(42)\n>>> df = pd.DataFrame(np.random.randn(1000, 5),\n... columns=['a', 'b', 'c', 'd', 'e'])\n>>> df.cov()\n a b c d e\na 0.998438 -0.020161 0.059277 -0.008943 0.014144\nb -0.020161 1.059352 -0.008543 -0.024738 0.009826\nc 0.059277 -0.008543 1.010670 -0.001486 -0.000271\nd -0.008943 -0.024738 -0.001486 0.921297 -0.013692\ne 0.014144 0.009826 -0.000271 -0.013692 0.977795\n\n**Minimum number of periods**\n\nThis method also supports an optional ``min_periods`` keyword\nthat specifies the required minimum number of non-NA observations for\neach column pair in order to have a valid result:\n\n>>> np.random.seed(42)\n>>> df = pd.DataFrame(np.random.randn(20, 3),\n... columns=['a', 'b', 'c'])\n>>> df.loc[df.index[:5], 'a'] = np.nan\n>>> df.loc[df.index[5:10], 'b'] = np.nan\n>>> df.cov(min_periods=12)\n a b c\na 0.316741 NaN -0.150812\nb NaN 1.248003 0.191417\nc -0.150812 0.191417 0.895202\n"}, "kind": 2, "label": "cov", "sortText": " 35"}, {"detail": "bound method DataFrame.cummax(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, skipna: bool = True, *args, **kwargs) -> Unknown", "kind": 2, "label": "cummax", "sortText": " 36"}, {"detail": "bound method DataFrame.cummin(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, skipna: bool = True, *args, **kwargs) -> Unknown", "kind": 2, "label": "cummin", "sortText": " 37"}, {"detail": "bound method DataFrame.cumprod(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, skipna: bool = True, *args, **kwargs) -> Unknown", "kind": 2, "label": "cumprod", "sortText": " 38"}, {"detail": "bound method DataFrame.cumsum(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, skipna: bool = True, *args, **kwargs) -> Unknown", "kind": 2, "label": "cumsum", "sortText": " 39"}, {"detail": "bound method DataFrame.describe(percentiles=None, include=None, exclude=None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Generate descriptive statistics.\n\nDescriptive statistics include those that summarize the central\ntendency, dispersion and shape of a\ndataset's distribution, excluding ``NaN`` values.\n\nAnalyzes both numeric and object series, as well\nas ``DataFrame`` column sets of mixed data types. The output\nwill vary depending on what is provided. Refer to the notes\nbelow for more detail.\n\nParameters\n----------\npercentiles : list-like of numbers, optional\n The percentiles to include in the output. All should\n fall between 0 and 1. The default is\n ``[.25, .5, .75]``, which returns the 25th, 50th, and\n 75th percentiles.\ninclude : 'all', list-like of dtypes or None (default), optional\n A white list of data types to include in the result. Ignored\n for ``Series``. Here are the options:\n\n - 'all' : All columns of the input will be included in the output.\n - A list-like of dtypes : Limits the results to the\n provided data types.\n To limit the result to numeric types submit\n ``numpy.number``. To limit it instead to object columns submit\n the ``numpy.object`` data type. Strings\n can also be used in the style of\n ``select_dtypes`` (e.g. ``df.describe(include=['O'])``). To\n select pandas categorical columns, use ``'category'``\n - None (default) : The result will include all numeric columns.\nexclude : list-like of dtypes or None (default), optional,\n A black list of data types to omit from the result. Ignored\n for ``Series``. Here are the options:\n\n - A list-like of dtypes : Excludes the provided data types\n from the result. To exclude numeric types submit\n ``numpy.number``. To exclude object columns submit the data\n type ``numpy.object``. Strings can also be used in the style of\n ``select_dtypes`` (e.g. ``df.describe(exclude=['O'])``). To\n exclude pandas categorical columns, use ``'category'``\n - None (default) : The result will exclude nothing.\n\nReturns\n-------\nSeries or DataFrame\n Summary statistics of the Series or Dataframe provided.\n\nSee Also\n--------\nDataFrame.count: Count number of non-NA/null observations.\nDataFrame.max: Maximum of the values in the object.\nDataFrame.min: Minimum of the values in the object.\nDataFrame.mean: Mean of the values.\nDataFrame.std: Standard deviation of the observations.\nDataFrame.select_dtypes: Subset of a DataFrame including/excluding\n columns based on their dtype.\n\nNotes\n-----\nFor numeric data, the result's index will include ``count``,\n``mean``, ``std``, ``min``, ``max`` as well as lower, ``50`` and\nupper percentiles. By default the lower percentile is ``25`` and the\nupper percentile is ``75``. The ``50`` percentile is the\nsame as the median.\n\nFor object data (e.g. strings or timestamps), the result's index\nwill include ``count``, ``unique``, ``top``, and ``freq``. The ``top``\nis the most common value. The ``freq`` is the most common value's\nfrequency. Timestamps also include the ``first`` and ``last`` items.\n\nIf multiple object values have the highest count, then the\n``count`` and ``top`` results will be arbitrarily chosen from\namong those with the highest count.\n\nFor mixed data types provided via a ``DataFrame``, the default is to\nreturn only an analysis of numeric columns. If the dataframe consists\nonly of object and categorical data without any numeric columns, the\ndefault is to return an analysis of both the object and categorical\ncolumns. If ``include='all'`` is provided as an option, the result\nwill include a union of attributes of each type.\n\nThe `include` and `exclude` parameters can be used to limit\nwhich columns in a ``DataFrame`` are analyzed for the output.\nThe parameters are ignored when analyzing a ``Series``.\n\nExamples\n--------\nDescribing a numeric ``Series``.\n\n>>> s = pd.Series([1, 2, 3])\n>>> s.describe()\ncount 3.0\nmean 2.0\nstd 1.0\nmin 1.0\n25% 1.5\n50% 2.0\n75% 2.5\nmax 3.0\ndtype: float64\n\nDescribing a categorical ``Series``.\n\n>>> s = pd.Series(['a', 'a', 'b', 'c'])\n>>> s.describe()\ncount 4\nunique 3\ntop a\nfreq 2\ndtype: object\n\nDescribing a timestamp ``Series``.\n\n>>> s = pd.Series([\n... np.datetime64(\"2000-01-01\"),\n... np.datetime64(\"2010-01-01\"),\n... np.datetime64(\"2010-01-01\")\n... ])\n>>> s.describe()\ncount 3\nmean 2006-09-01 08:00:00\nmin 2000-01-01 00:00:00\n25% 2004-12-31 12:00:00\n50% 2010-01-01 00:00:00\n75% 2010-01-01 00:00:00\nmax 2010-01-01 00:00:00\ndtype: object\n\nDescribing a ``DataFrame``. By default only numeric fields\nare returned.\n\n>>> df = pd.DataFrame({'categorical': pd.Categorical(['d', 'e', 'f']),\n... 'numeric': [1, 2, 3],\n... 'object': ['a', 'b', 'c']\n... })\n>>> df.describe()\n numeric\ncount 3.0\nmean 2.0\nstd 1.0\nmin 1.0\n25% 1.5\n50% 2.0\n75% 2.5\nmax 3.0\n\nDescribing all columns of a ``DataFrame`` regardless of data type.\n\n>>> df.describe(include='all') # doctest: +SKIP\n categorical numeric object\ncount 3 3.0 3\nunique 3 NaN 3\ntop f NaN a\nfreq 1 NaN 1\nmean NaN 2.0 NaN\nstd NaN 1.0 NaN\nmin NaN 1.0 NaN\n25% NaN 1.5 NaN\n50% NaN 2.0 NaN\n75% NaN 2.5 NaN\nmax NaN 3.0 NaN\n\nDescribing a column from a ``DataFrame`` by accessing it as\nan attribute.\n\n>>> df.numeric.describe()\ncount 3.0\nmean 2.0\nstd 1.0\nmin 1.0\n25% 1.5\n50% 2.0\n75% 2.5\nmax 3.0\nName: numeric, dtype: float64\n\nIncluding only numeric columns in a ``DataFrame`` description.\n\n>>> df.describe(include=[np.number])\n numeric\ncount 3.0\nmean 2.0\nstd 1.0\nmin 1.0\n25% 1.5\n50% 2.0\n75% 2.5\nmax 3.0\n\nIncluding only string columns in a ``DataFrame`` description.\n\n>>> df.describe(include=[object]) # doctest: +SKIP\n object\ncount 3\nunique 3\ntop a\nfreq 1\n\nIncluding only categorical columns from a ``DataFrame`` description.\n\n>>> df.describe(include=['category'])\n categorical\ncount 3\nunique 3\ntop d\nfreq 1\n\nExcluding numeric columns from a ``DataFrame`` description.\n\n>>> df.describe(exclude=[np.number]) # doctest: +SKIP\n categorical object\ncount 3 3\nunique 3 3\ntop f a\nfreq 1 1\n\nExcluding object columns from a ``DataFrame`` description.\n\n>>> df.describe(exclude=[object]) # doctest: +SKIP\n categorical numeric\ncount 3 3.0\nunique 3 NaN\ntop f NaN\nfreq 1 NaN\nmean NaN 2.0\nstd NaN 1.0\nmin NaN 1.0\n25% NaN 1.5\n50% NaN 2.0\n75% NaN 2.5\nmax NaN 3.0\n"}, "kind": 2, "label": "describe", "sortText": " 40"}, {"detail": "bound method DataFrame.diff(periods: int = 1, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> DataFrame", "kind": 2, "label": "diff", "sortText": " 41"}, {"detail": "(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "div", "sortText": " 42"}, {"detail": "(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "divide", "sortText": " 43"}, {"detail": "Overload[(other: Series) -> Series, (other: DataFrame | Index | ExtensionArray | ndarray[_AnyShape, dtype[Any]]) -> DataFrame]", "documentation": {"kind": "plaintext", "value": "Compute the matrix multiplication between the DataFrame and other.\n\nThis method computes the matrix product between the DataFrame and the\nvalues of an other Series, DataFrame or a numpy array.\n\nIt can also be called using ``self @ other``.\n\nParameters\n----------\nother : Series, DataFrame or array-like\n The other object to compute the matrix product with.\n\nReturns\n-------\nSeries or DataFrame\n If other is a Series, return the matrix product between self and\n other as a Series. If other is a DataFrame or a numpy.array, return\n the matrix product of self and other in a DataFrame of a np.array.\n\nSee Also\n--------\nSeries.dot: Similar method for Series.\n\nNotes\n-----\nThe dimensions of DataFrame and other must be compatible in order to\ncompute the matrix multiplication. In addition, the column names of\nDataFrame and the index of other must contain the same values, as they\nwill be aligned prior to the multiplication.\n\nThe dot method for Series computes the inner product, instead of the\nmatrix product here.\n\nExamples\n--------\nHere we multiply a DataFrame with a Series.\n\n>>> df = pd.DataFrame([[0, 1, -2, -1], [1, 1, 1, 1]])\n>>> s = pd.Series([1, 1, 2, 1])\n>>> df.dot(s)\n0 -4\n1 5\ndtype: int64\n\nHere we multiply a DataFrame with another DataFrame.\n\n>>> other = pd.DataFrame([[0, 1], [1, 2], [-1, -1], [2, 0]])\n>>> df.dot(other)\n 0 1\n0 1 4\n1 2 2\n\nNote that the dot method give the same result as @\n\n>>> df @ other\n 0 1\n0 1 4\n1 2 2\n\nThe dot method works also if other is an np.array.\n\n>>> arr = np.array([[0, 1], [1, 2], [-1, -1], [2, 0]])\n>>> df.dot(arr)\n 0 1\n0 1 4\n1 2 2\n\nNote how shuffling of the objects does not change the result.\n\n>>> s2 = s.reindex([1, 0, 2, 3])\n>>> df.dot(s2)\n0 -4\n1 5\ndtype: int64\n"}, "kind": 2, "label": "dot", "sortText": " 44"}, {"detail": "Overload[(labels: Hashable | Sequence[Hashable] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., index: Hashable | Sequence[Hashable] = ..., columns: Hashable | Sequence[Hashable] = ..., level: Hashable = ..., inplace: Literal[True], errors: Literal[\"ignore\", \"raise\"] = ...) -> None, (labels: Hashable | Sequence[Hashable] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., index: Hashable | Sequence[Hashable] = ..., columns: Hashable | Sequence[Hashable] = ..., level: Hashable = ..., inplace: Literal[False] = ..., errors: Literal[\"ignore\", \"raise\"] = ...) -> DataFrame, (labels: Hashable | Sequence[Hashable] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., index: Hashable | Sequence[Hashable] = ..., columns: Hashable | Sequence[Hashable] = ..., level: Hashable = ..., inplace: bool = ..., errors: Literal[\"ignore\", \"raise\"] = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Drop specified labels from rows or columns.\n\nRemove rows or columns by specifying label names and corresponding\naxis, or by directly specifying index or column names. When using a\nmulti-index, labels on different levels can be removed by specifying\nthe level. See the :ref:`user guide `\nfor more information about the now unused levels.\n\nParameters\n----------\nlabels : single label or list-like\n Index or column labels to drop. A tuple will be used as a single\n label and not treated as a list-like.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Whether to drop labels from the index (0 or 'index') or\n columns (1 or 'columns').\nindex : single label or list-like\n Alternative to specifying axis (``labels, axis=0``\n is equivalent to ``index=labels``).\ncolumns : single label or list-like\n Alternative to specifying axis (``labels, axis=1``\n is equivalent to ``columns=labels``).\nlevel : int or level name, optional\n For MultiIndex, level from which the labels will be removed.\ninplace : bool, default False\n If False, return a copy. Otherwise, do operation\n in place and return None.\nerrors : {'ignore', 'raise'}, default 'raise'\n If 'ignore', suppress error and only existing labels are\n dropped.\n\nReturns\n-------\nDataFrame or None\n Returns DataFrame or None DataFrame with the specified\n index or column labels removed or None if inplace=True.\n\nRaises\n------\nKeyError\n If any of the labels is not found in the selected axis.\n\nSee Also\n--------\nDataFrame.loc : Label-location based indexer for selection by label.\nDataFrame.dropna : Return DataFrame with labels on given axis omitted\n where (all or any) data are missing.\nDataFrame.drop_duplicates : Return DataFrame with duplicate rows\n removed, optionally only considering certain columns.\nSeries.drop : Return Series with specified index labels removed.\n\nExamples\n--------\n>>> df = pd.DataFrame(np.arange(12).reshape(3, 4),\n... columns=['A', 'B', 'C', 'D'])\n>>> df\n A B C D\n0 0 1 2 3\n1 4 5 6 7\n2 8 9 10 11\n\nDrop columns\n\n>>> df.drop(['B', 'C'], axis=1)\n A D\n0 0 3\n1 4 7\n2 8 11\n\n>>> df.drop(columns=['B', 'C'])\n A D\n0 0 3\n1 4 7\n2 8 11\n\nDrop a row by index\n\n>>> df.drop([0, 1])\n A B C D\n2 8 9 10 11\n\nDrop columns and/or rows of MultiIndex DataFrame\n\n>>> midx = pd.MultiIndex(levels=[['llama', 'cow', 'falcon'],\n... ['speed', 'weight', 'length']],\n... codes=[[0, 0, 0, 1, 1, 1, 2, 2, 2],\n... [0, 1, 2, 0, 1, 2, 0, 1, 2]])\n>>> df = pd.DataFrame(index=midx, columns=['big', 'small'],\n... data=[[45, 30], [200, 100], [1.5, 1], [30, 20],\n... [250, 150], [1.5, 0.8], [320, 250],\n... [1, 0.8], [0.3, 0.2]])\n>>> df\n big small\nllama speed 45.0 30.0\n weight 200.0 100.0\n length 1.5 1.0\ncow speed 30.0 20.0\n weight 250.0 150.0\n length 1.5 0.8\nfalcon speed 320.0 250.0\n weight 1.0 0.8\n length 0.3 0.2\n\nDrop a specific index combination from the MultiIndex\nDataFrame, i.e., drop the combination ``'falcon'`` and\n``'weight'``, which deletes only the corresponding row\n\n>>> df.drop(index=('falcon', 'weight'))\n big small\nllama speed 45.0 30.0\n weight 200.0 100.0\n length 1.5 1.0\ncow speed 30.0 20.0\n weight 250.0 150.0\n length 1.5 0.8\nfalcon speed 320.0 250.0\n length 0.3 0.2\n\n>>> df.drop(index='cow', columns='small')\n big\nllama speed 45.0\n weight 200.0\n length 1.5\nfalcon speed 320.0\n weight 1.0\n length 0.3\n\n>>> df.drop(index='length', level=1)\n big small\nllama speed 45.0 30.0\n weight 200.0 100.0\ncow speed 30.0 20.0\n weight 250.0 150.0\nfalcon speed 320.0 250.0\n weight 1.0 0.8\n"}, "kind": 2, "label": "drop", "sortText": " 45"}, {"detail": "Overload[(subset: Hashable | Sequence[Hashable] = ..., *, keep: Literal[\"first\", \"last\", False] = ..., inplace: Literal[True], ignore_index: bool = ...) -> None, (subset: Hashable | Sequence[Hashable] = ..., *, keep: Literal[\"first\", \"last\", False] = ..., inplace: Literal[False] = ..., ignore_index: bool = ...) -> DataFrame, (subset: Hashable | Sequence[Hashable] = ..., *, keep: Literal[\"first\", \"last\", False] = ..., inplace: bool = ..., ignore_index: bool = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Return DataFrame with duplicate rows removed.\n\nConsidering certain columns is optional. Indexes, including time indexes\nare ignored.\n\nParameters\n----------\nsubset : column label or sequence of labels, optional\n Only consider certain columns for identifying duplicates, by\n default use all of the columns.\nkeep : {'first', 'last', ``False``}, default 'first'\n Determines which duplicates (if any) to keep.\n\n - 'first' : Drop duplicates except for the first occurrence.\n - 'last' : Drop duplicates except for the last occurrence.\n - ``False`` : Drop all duplicates.\n\ninplace : bool, default ``False``\n Whether to modify the DataFrame rather than creating a new one.\nignore_index : bool, default ``False``\n If ``True``, the resulting axis will be labeled 0, 1, \u2026, n - 1.\n\nReturns\n-------\nDataFrame or None\n DataFrame with duplicates removed or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.value_counts: Count unique combinations of columns.\n\nExamples\n--------\nConsider dataset containing ramen rating.\n\n>>> df = pd.DataFrame({\n... 'brand': ['Yum Yum', 'Yum Yum', 'Indomie', 'Indomie', 'Indomie'],\n... 'style': ['cup', 'cup', 'cup', 'pack', 'pack'],\n... 'rating': [4, 4, 3.5, 15, 5]\n... })\n>>> df\n brand style rating\n0 Yum Yum cup 4.0\n1 Yum Yum cup 4.0\n2 Indomie cup 3.5\n3 Indomie pack 15.0\n4 Indomie pack 5.0\n\nBy default, it removes duplicate rows based on all columns.\n\n>>> df.drop_duplicates()\n brand style rating\n0 Yum Yum cup 4.0\n2 Indomie cup 3.5\n3 Indomie pack 15.0\n4 Indomie pack 5.0\n\nTo remove duplicates on specific column(s), use ``subset``.\n\n>>> df.drop_duplicates(subset=['brand'])\n brand style rating\n0 Yum Yum cup 4.0\n2 Indomie cup 3.5\n\nTo remove duplicates and keep last occurrences, use ``keep``.\n\n>>> df.drop_duplicates(subset=['brand', 'style'], keep='last')\n brand style rating\n1 Yum Yum cup 4.0\n2 Indomie cup 3.5\n4 Indomie pack 5.0\n"}, "kind": 2, "label": "drop_duplicates", "sortText": " 46"}, {"detail": "bound method DataFrame.droplevel(level: Hashable | Sequence[Hashable], axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return {klass} with requested index / column level(s) removed.\n\nParameters\n----------\nlevel : int, str, or list-like\n If a string is given, must be the name of a level\n If list-like, elements must be names or positional indexes\n of levels.\n\naxis : {{0 or 'index', 1 or 'columns'}}, default 0\n Axis along which the level(s) is removed:\n\n * 0 or 'index': remove level(s) in column.\n * 1 or 'columns': remove level(s) in row.\n\n For `Series` this parameter is unused and defaults to 0.\n\nReturns\n-------\n{klass}\n {klass} with requested index / column level(s) removed.\n\nExamples\n--------\n>>> df = pd.DataFrame([\n... [1, 2, 3, 4],\n... [5, 6, 7, 8],\n... [9, 10, 11, 12]\n... ]).set_index([0, 1]).rename_axis(['a', 'b'])\n\n>>> df.columns = pd.MultiIndex.from_tuples([\n... ('c', 'e'), ('d', 'f')\n... ], names=['level_1', 'level_2'])\n\n>>> df\nlevel_1 c d\nlevel_2 e f\na b\n1 2 3 4\n5 6 7 8\n9 10 11 12\n\n>>> df.droplevel('a')\nlevel_1 c d\nlevel_2 e f\nb\n2 3 4\n6 7 8\n10 11 12\n\n>>> df.droplevel('level_2', axis=1)\nlevel_1 c d\na b\n1 2 3 4\n5 6 7 8\n9 10 11 12\n"}, "kind": 2, "label": "droplevel", "sortText": " 47"}, {"detail": "Overload[(*, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., how: Literal[\"any\", \"all\"] | _NoDefault = ..., thresh: int | _NoDefault = ..., subset: Hashable | Sequence[Hashable] = ..., inplace: Literal[False] = ..., ignore_index: bool = ...) -> DataFrame, (*, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., how: Literal[\"any\", \"all\"] | _NoDefault = ..., thresh: int | _NoDefault = ..., subset: Hashable | Sequence[Hashable] = ..., inplace: Literal[True], ignore_index: bool = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Remove missing values.\n\nSee the :ref:`User Guide ` for more on which values are\nconsidered missing, and how to work with missing data.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Determine if rows or columns which contain missing values are\n removed.\n\n * 0, or 'index' : Drop rows which contain missing values.\n * 1, or 'columns' : Drop columns which contain missing value.\n\n Only a single axis is allowed.\n\nhow : {'any', 'all'}, default 'any'\n Determine if row or column is removed from DataFrame, when we have\n at least one NA or all NA.\n\n * 'any' : If any NA values are present, drop that row or column.\n * 'all' : If all values are NA, drop that row or column.\n\nthresh : int, optional\n Require that many non-NA values. Cannot be combined with how.\nsubset : column label or sequence of labels, optional\n Labels along other axis to consider, e.g. if you are dropping rows\n these would be a list of columns to include.\ninplace : bool, default False\n Whether to modify the DataFrame rather than creating a new one.\nignore_index : bool, default ``False``\n If ``True``, the resulting axis will be labeled 0, 1, \u2026, n - 1.\n\n .. versionadded:: 2.0.0\n\nReturns\n-------\nDataFrame or None\n DataFrame with NA entries dropped from it or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.isna: Indicate missing values.\nDataFrame.notna : Indicate existing (non-missing) values.\nDataFrame.fillna : Replace missing values.\nSeries.dropna : Drop missing values.\nIndex.dropna : Drop missing indices.\n\nExamples\n--------\n>>> df = pd.DataFrame({\"name\": ['Alfred', 'Batman', 'Catwoman'],\n... \"toy\": [np.nan, 'Batmobile', 'Bullwhip'],\n... \"born\": [pd.NaT, pd.Timestamp(\"1940-04-25\"),\n... pd.NaT]})\n>>> df\n name toy born\n0 Alfred NaN NaT\n1 Batman Batmobile 1940-04-25\n2 Catwoman Bullwhip NaT\n\nDrop the rows where at least one element is missing.\n\n>>> df.dropna()\n name toy born\n1 Batman Batmobile 1940-04-25\n\nDrop the columns where at least one element is missing.\n\n>>> df.dropna(axis='columns')\n name\n0 Alfred\n1 Batman\n2 Catwoman\n\nDrop the rows where all elements are missing.\n\n>>> df.dropna(how='all')\n name toy born\n0 Alfred NaN NaT\n1 Batman Batmobile 1940-04-25\n2 Catwoman Bullwhip NaT\n\nKeep only the rows with at least 2 non-NA values.\n\n>>> df.dropna(thresh=2)\n name toy born\n1 Batman Batmobile 1940-04-25\n2 Catwoman Bullwhip NaT\n\nDefine in which columns to look for missing values.\n\n>>> df.dropna(subset=['name', 'toy'])\n name toy born\n1 Batman Batmobile 1940-04-25\n2 Catwoman Bullwhip NaT\n"}, "kind": 2, "label": "dropna", "sortText": " 48"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "dtype", "sortText": " 49"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "dtypes", "sortText": " 50"}, {"detail": "bound method DataFrame.duplicated(subset: Hashable | Sequence[Hashable] = None, keep: Literal[\"first\", \"last\", False] = \"first\") -> Series", "documentation": {"kind": "plaintext", "value": "Return boolean Series denoting duplicate rows.\n\nConsidering certain columns is optional.\n\nParameters\n----------\nsubset : column label or sequence of labels, optional\n Only consider certain columns for identifying duplicates, by\n default use all of the columns.\nkeep : {'first', 'last', False}, default 'first'\n Determines which duplicates (if any) to mark.\n\n - ``first`` : Mark duplicates as ``True`` except for the first occurrence.\n - ``last`` : Mark duplicates as ``True`` except for the last occurrence.\n - False : Mark all duplicates as ``True``.\n\nReturns\n-------\nSeries\n Boolean series for each duplicated rows.\n\nSee Also\n--------\nIndex.duplicated : Equivalent method on index.\nSeries.duplicated : Equivalent method on Series.\nSeries.drop_duplicates : Remove duplicate values from Series.\nDataFrame.drop_duplicates : Remove duplicate values from DataFrame.\n\nExamples\n--------\nConsider dataset containing ramen rating.\n\n>>> df = pd.DataFrame({\n... 'brand': ['Yum Yum', 'Yum Yum', 'Indomie', 'Indomie', 'Indomie'],\n... 'style': ['cup', 'cup', 'cup', 'pack', 'pack'],\n... 'rating': [4, 4, 3.5, 15, 5]\n... })\n>>> df\n brand style rating\n0 Yum Yum cup 4.0\n1 Yum Yum cup 4.0\n2 Indomie cup 3.5\n3 Indomie pack 15.0\n4 Indomie pack 5.0\n\nBy default, for each set of duplicated values, the first occurrence\nis set on False and all others on True.\n\n>>> df.duplicated()\n0 False\n1 True\n2 False\n3 False\n4 False\ndtype: bool\n\nBy using 'last', the last occurrence of each set of duplicated values\nis set on False and all others on True.\n\n>>> df.duplicated(keep='last')\n0 True\n1 False\n2 False\n3 False\n4 False\ndtype: bool\n\nBy setting ``keep`` on False, all duplicates are True.\n\n>>> df.duplicated(keep=False)\n0 True\n1 True\n2 False\n3 False\n4 False\ndtype: bool\n\nTo find duplicates on specific column(s), use ``subset``.\n\n>>> df.duplicated(subset=['brand'])\n0 False\n1 True\n2 False\n3 True\n4 True\ndtype: bool\n"}, "kind": 2, "label": "duplicated", "sortText": " 51"}, {"detail": "bool", "documentation": {"kind": "plaintext", "value": "Returns True when the argument is true, False otherwise.\nThe builtins True and False are the only two instances of the class bool.\nThe class bool is a subclass of the class int, and cannot be subclassed.\n"}, "kind": 22, "label": "empty", "sortText": " 52"}, {"detail": "bound method DataFrame.eq(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "eq", "sortText": " 53"}, {"detail": "bound method DataFrame.equals(other: object) -> bool", "documentation": {"kind": "plaintext", "value": "Test whether two objects contain the same elements.\n\nThis function allows two Series or DataFrames to be compared against\neach other to see if they have the same shape and elements. NaNs in\nthe same location are considered equal.\n\nThe row/column index do not need to have the same type, as long\nas the values are considered equal. Corresponding columns and\nindex must be of the same dtype.\n\nParameters\n----------\nother : Series or DataFrame\n The other Series or DataFrame to be compared with the first.\n\nReturns\n-------\nbool\n True if all elements are the same in both objects, False\n otherwise.\n\nSee Also\n--------\nSeries.eq : Compare two Series objects of the same length\n and return a Series where each element is True if the element\n in each Series is equal, False otherwise.\nDataFrame.eq : Compare two DataFrame objects of the same shape and\n return a DataFrame where each element is True if the respective\n element in each DataFrame is equal, False otherwise.\ntesting.assert_series_equal : Raises an AssertionError if left and\n right are not equal. Provides an easy interface to ignore\n inequality in dtypes, indexes and precision among others.\ntesting.assert_frame_equal : Like assert_series_equal, but targets\n DataFrames.\nnumpy.array_equal : Return True if two arrays have the same shape\n and elements, False otherwise.\n\nExamples\n--------\n>>> df = pd.DataFrame({1: [10], 2: [20]})\n>>> df\n 1 2\n0 10 20\n\nDataFrames df and exactly_equal have the same types and values for\ntheir elements and column labels, which will return True.\n\n>>> exactly_equal = pd.DataFrame({1: [10], 2: [20]})\n>>> exactly_equal\n 1 2\n0 10 20\n>>> df.equals(exactly_equal)\nTrue\n\nDataFrames df and different_column_type have the same element\ntypes and values, but have different types for the column labels,\nwhich will still return True.\n\n>>> different_column_type = pd.DataFrame({1.0: [10], 2.0: [20]})\n>>> different_column_type\n 1.0 2.0\n0 10 20\n>>> df.equals(different_column_type)\nTrue\n\nDataFrames df and different_data_type have different types for the\nsame values for their elements, and will return False even though\ntheir column labels are the same values and types.\n\n>>> different_data_type = pd.DataFrame({1: [10.0], 2: [20.0]})\n>>> different_data_type\n 1 2\n0 10.0 20.0\n>>> df.equals(different_data_type)\nFalse\n"}, "kind": 2, "label": "equals", "sortText": " 54"}, {"detail": "Overload[(expr: str, *, inplace: Literal[False] = ..., **kwargs) -> Any, (expr: str, *, inplace: Literal[True], **kwargs) -> None]", "documentation": {"kind": "plaintext", "value": "Evaluate a string describing operations on DataFrame columns.\n\nOperates on columns only, not specific rows or elements. This allows\n`eval` to run arbitrary code, which can make you vulnerable to code\ninjection if you pass user input to this function.\n\nParameters\n----------\nexpr : str\n The expression string to evaluate.\ninplace : bool, default False\n If the expression contains an assignment, whether to perform the\n operation inplace and mutate the existing DataFrame. Otherwise,\n a new DataFrame is returned.\n**kwargs\n See the documentation for :func:`eval` for complete details\n on the keyword arguments accepted by\n :meth:`~pandas.DataFrame.query`.\n\nReturns\n-------\nndarray, scalar, pandas object, or None\n The result of the evaluation or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.query : Evaluates a boolean expression to query the columns\n of a frame.\nDataFrame.assign : Can evaluate an expression or function to create new\n values for a column.\neval : Evaluate a Python expression as a string using various\n backends.\n\nNotes\n-----\nFor more details see the API documentation for :func:`~eval`.\nFor detailed examples see :ref:`enhancing performance with eval\n`.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': range(1, 6), 'B': range(10, 0, -2)})\n>>> df\n A B\n0 1 10\n1 2 8\n2 3 6\n3 4 4\n4 5 2\n>>> df.eval('A + B')\n0 11\n1 10\n2 9\n3 8\n4 7\ndtype: int64\n\nAssignment is allowed though by default the original DataFrame is not\nmodified.\n\n>>> df.eval('C = A + B')\n A B C\n0 1 10 11\n1 2 8 10\n2 3 6 9\n3 4 4 8\n4 5 2 7\n>>> df\n A B\n0 1 10\n1 2 8\n2 3 6\n3 4 4\n4 5 2\n\nMultiple columns can be assigned to using multi-line expressions:\n\n>>> df.eval(\n... '''\n... C = A + B\n... D = A - B\n... '''\n... )\n A B C D\n0 1 10 11 -9\n1 2 8 10 -6\n2 3 6 9 -3\n3 4 4 8 0\n4 5 2 7 3\n"}, "kind": 2, "label": "eval", "sortText": " 55"}, {"detail": "bound method DataFrame.ewm(com: float | None = None, span: float | None = None, halflife: float | timedelta | timedelta64[Any] | ... omitted 3 union elements = None, alpha: float | None = None, min_periods: int | None = 0, adjust: bool = True, ignore_na: bool = False, axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., times: ndarray[_AnyShape, dtype[Any]] | DataFrame | Series | None = None, method: Literal[\"single\", \"table\"] = \"single\") -> ExponentialMovingWindow", "kind": 2, "label": "ewm", "sortText": " 56"}, {"detail": "bound method DataFrame.expanding(min_periods: int = 1, axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., method: Literal[\"single\", \"table\"] = \"single\") -> Expanding", "kind": 2, "label": "expanding", "sortText": " 57"}, {"detail": "bound method DataFrame.explode(column: Hashable | Sequence[Hashable], ignore_index: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Transform each element of a list-like to a row, replicating index values.\n\nParameters\n----------\ncolumn : IndexLabel\n Column(s) to explode.\n For multiple columns, specify a non-empty list with each element\n be str or tuple, and all specified columns their list-like data\n on same row of the frame must have matching length.\n\n .. versionadded:: 1.3.0\n Multi-column explode\n\nignore_index : bool, default False\n If True, the resulting index will be labeled 0, 1, \u2026, n - 1.\n\nReturns\n-------\nDataFrame\n Exploded lists to rows of the subset columns;\n index will be duplicated for these rows.\n\nRaises\n------\nValueError :\n * If columns of the frame are not unique.\n * If specified columns to explode is empty list.\n * If specified columns to explode have not matching count of\n elements rowwise in the frame.\n\nSee Also\n--------\nDataFrame.unstack : Pivot a level of the (necessarily hierarchical)\n index labels.\nDataFrame.melt : Unpivot a DataFrame from wide format to long format.\nSeries.explode : Explode a DataFrame from list-like columns to long format.\n\nNotes\n-----\nThis routine will explode list-likes including lists, tuples, sets,\nSeries, and np.ndarray. The result dtype of the subset rows will\nbe object. Scalars will be returned unchanged, and empty list-likes will\nresult in a np.nan for that row. In addition, the ordering of rows in the\noutput will be non-deterministic when exploding sets.\n\nReference :ref:`the user guide ` for more examples.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [[0, 1, 2], 'foo', [], [3, 4]],\n... 'B': 1,\n... 'C': [['a', 'b', 'c'], np.nan, [], ['d', 'e']]})\n>>> df\n A B C\n0 [0, 1, 2] 1 [a, b, c]\n1 foo 1 NaN\n2 [] 1 []\n3 [3, 4] 1 [d, e]\n\nSingle-column explode.\n\n>>> df.explode('A')\n A B C\n0 0 1 [a, b, c]\n0 1 1 [a, b, c]\n0 2 1 [a, b, c]\n1 foo 1 NaN\n2 NaN 1 []\n3 3 1 [d, e]\n3 4 1 [d, e]\n\nMulti-column explode.\n\n>>> df.explode(list('AC'))\n A B C\n0 0 1 a\n0 1 1 b\n0 2 1 c\n1 foo 1 NaN\n2 NaN 1 NaN\n3 3 1 d\n3 4 1 e\n"}, "kind": 2, "label": "explode", "sortText": " 58"}, {"detail": "Overload[(*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: Literal[False] = ..., limit: None | int = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame, (*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: Literal[True], limit: None | int = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> None, (*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: bool = ..., limit: None | int = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Fill NA/NaN values by propagating the last valid observation to next valid.\n\nParameters\n----------\naxis : {axes_single_arg}\n Axis along which to fill missing values. For `Series`\n this parameter is unused and defaults to 0.\ninplace : bool, default False\n If True, fill in-place. Note: this will modify any\n other views on this object (e.g., a no-copy slice for a column in a\n DataFrame).\nlimit : int, default None\n If method is specified, this is the maximum number of consecutive\n NaN values to forward/backward fill. In other words, if there is\n a gap with more than this number of consecutive NaNs, it will only\n be partially filled. If method is not specified, this is the\n maximum number of entries along the entire axis where NaNs will be\n filled. Must be greater than 0 if not None.\nlimit_area : {{`None`, 'inside', 'outside'}}, default None\n If limit is specified, consecutive NaNs will be filled with this\n restriction.\n\n * ``None``: No fill restriction.\n * 'inside': Only fill NaNs surrounded by valid values\n (interpolate).\n * 'outside': Only fill NaNs outside valid values (extrapolate).\n\n .. versionadded:: 2.2.0\n\ndowncast : dict, default is None\n A dict of item->dtype of what to downcast if possible,\n or the string 'infer' which will try to downcast to an appropriate\n equal type (e.g. float64 to int64 if possible).\n\n .. deprecated:: 2.2.0\n\nReturns\n-------\n{klass} or None\n Object with missing values filled or None if ``inplace=True``.\n\nExamples\n--------\n>>> df = pd.DataFrame([[np.nan, 2, np.nan, 0],\n... [3, 4, np.nan, 1],\n... [np.nan, np.nan, np.nan, np.nan],\n... [np.nan, 3, np.nan, 4]],\n... columns=list(\"ABCD\"))\n>>> df\n A B C D\n0 NaN 2.0 NaN 0.0\n1 3.0 4.0 NaN 1.0\n2 NaN NaN NaN NaN\n3 NaN 3.0 NaN 4.0\n\n>>> df.ffill()\n A B C D\n0 NaN 2.0 NaN 0.0\n1 3.0 4.0 NaN 1.0\n2 3.0 4.0 NaN 1.0\n3 3.0 3.0 NaN 4.0\n\n>>> ser = pd.Series([1, np.nan, 2, 3])\n>>> ser.ffill()\n0 1.0\n1 1.0\n2 2.0\n3 3.0\ndtype: float64\n"}, "kind": 2, "label": "ffill", "sortText": " 59"}, {"detail": "Overload[(value: Hashable | Mapping[Unknown, Unknown] | Series | DataFrame = ..., *, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: Literal[False] = ..., limit: int | None = ..., downcast: dict[Unknown, Unknown] | None = ...) -> DataFrame, (value: Hashable | Mapping[Unknown, Unknown] | Series | DataFrame = ..., *, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: Literal[True], limit: int | None = ..., downcast: dict[Unknown, Unknown] | None = ...) -> None, (value: Hashable | Mapping[Unknown, Unknown] | Series | DataFrame = ..., *, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: bool = ..., limit: int | None = ..., downcast: dict[Unknown, Unknown] | None = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Fill NA/NaN values using the specified method.\n\nParameters\n----------\nvalue : scalar, dict, Series, or DataFrame\n Value to use to fill holes (e.g. 0), alternately a\n dict/Series/DataFrame of values specifying which value to use for\n each index (for a Series) or column (for a DataFrame). Values not\n in the dict/Series/DataFrame will not be filled. This value cannot\n be a list.\nmethod : {{'backfill', 'bfill', 'ffill', None}}, default None\n Method to use for filling holes in reindexed Series:\n\n * ffill: propagate last valid observation forward to next valid.\n * backfill / bfill: use next valid observation to fill gap.\n\n .. deprecated:: 2.1.0\n Use ffill or bfill instead.\n\naxis : {axes_single_arg}\n Axis along which to fill missing values. For `Series`\n this parameter is unused and defaults to 0.\ninplace : bool, default False\n If True, fill in-place. Note: this will modify any\n other views on this object (e.g., a no-copy slice for a column in a\n DataFrame).\nlimit : int, default None\n If method is specified, this is the maximum number of consecutive\n NaN values to forward/backward fill. In other words, if there is\n a gap with more than this number of consecutive NaNs, it will only\n be partially filled. If method is not specified, this is the\n maximum number of entries along the entire axis where NaNs will be\n filled. Must be greater than 0 if not None.\ndowncast : dict, default is None\n A dict of item->dtype of what to downcast if possible,\n or the string 'infer' which will try to downcast to an appropriate\n equal type (e.g. float64 to int64 if possible).\n\n .. deprecated:: 2.2.0\n\nReturns\n-------\n{klass} or None\n Object with missing values filled or None if ``inplace=True``.\n\nSee Also\n--------\nffill : Fill values by propagating the last valid observation to next valid.\nbfill : Fill values by using the next valid observation to fill the gap.\ninterpolate : Fill NaN values using interpolation.\nreindex : Conform object to new index.\nasfreq : Convert TimeSeries to specified frequency.\n\nExamples\n--------\n>>> df = pd.DataFrame([[np.nan, 2, np.nan, 0],\n... [3, 4, np.nan, 1],\n... [np.nan, np.nan, np.nan, np.nan],\n... [np.nan, 3, np.nan, 4]],\n... columns=list(\"ABCD\"))\n>>> df\n A B C D\n0 NaN 2.0 NaN 0.0\n1 3.0 4.0 NaN 1.0\n2 NaN NaN NaN NaN\n3 NaN 3.0 NaN 4.0\n\nReplace all NaN elements with 0s.\n\n>>> df.fillna(0)\n A B C D\n0 0.0 2.0 0.0 0.0\n1 3.0 4.0 0.0 1.0\n2 0.0 0.0 0.0 0.0\n3 0.0 3.0 0.0 4.0\n\nReplace all NaN elements in column 'A', 'B', 'C', and 'D', with 0, 1,\n2, and 3 respectively.\n\n>>> values = {{\"A\": 0, \"B\": 1, \"C\": 2, \"D\": 3}}\n>>> df.fillna(value=values)\n A B C D\n0 0.0 2.0 2.0 0.0\n1 3.0 4.0 2.0 1.0\n2 0.0 1.0 2.0 3.0\n3 0.0 3.0 2.0 4.0\n\nOnly replace the first NaN element.\n\n>>> df.fillna(value=values, limit=1)\n A B C D\n0 0.0 2.0 2.0 0.0\n1 3.0 4.0 NaN 1.0\n2 NaN 1.0 NaN 3.0\n3 NaN 3.0 NaN 4.0\n\nWhen filling using a DataFrame, replacement happens along\nthe same column names and same indices\n\n>>> df2 = pd.DataFrame(np.zeros((4, 4)), columns=list(\"ABCE\"))\n>>> df.fillna(df2)\n A B C D\n0 0.0 2.0 0.0 0.0\n1 3.0 4.0 0.0 1.0\n2 0.0 0.0 0.0 NaN\n3 0.0 3.0 0.0 4.0\n\nNote that column D is not affected since it is not present in df2.\n"}, "kind": 2, "label": "fillna", "sortText": " 60"}, {"detail": "bound method DataFrame.filter(items=None, like: str | None = None, regex: str | None = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Subset the dataframe rows or columns according to the specified index labels.\n\nNote that this routine does not filter a dataframe on its\ncontents. The filter is applied to the labels of the index.\n\nParameters\n----------\nitems : list-like\n Keep labels from axis which are in items.\nlike : str\n Keep labels from axis for which \"like in label == True\".\nregex : str (regular expression)\n Keep labels from axis for which re.search(regex, label) == True.\naxis : {0 or 'index', 1 or 'columns', None}, default None\n The axis to filter on, expressed either as an index (int)\n or axis name (str). By default this is the info axis, 'columns' for\n DataFrame. For `Series` this parameter is unused and defaults to `None`.\n\nReturns\n-------\nsame type as input object\n\nSee Also\n--------\nDataFrame.loc : Access a group of rows and columns\n by label(s) or a boolean array.\n\nNotes\n-----\nThe ``items``, ``like``, and ``regex`` parameters are\nenforced to be mutually exclusive.\n\n``axis`` defaults to the info axis that is used when indexing\nwith ``[]``.\n\nExamples\n--------\n>>> df = pd.DataFrame(np.array(([1, 2, 3], [4, 5, 6])),\n... index=['mouse', 'rabbit'],\n... columns=['one', 'two', 'three'])\n>>> df\n one two three\nmouse 1 2 3\nrabbit 4 5 6\n\n>>> # select columns by name\n>>> df.filter(items=['one', 'three'])\n one three\nmouse 1 3\nrabbit 4 6\n\n>>> # select columns by regular expression\n>>> df.filter(regex='e$', axis=1)\n one three\nmouse 1 3\nrabbit 4 6\n\n>>> # select rows containing 'bbi'\n>>> df.filter(like='bbi', axis=0)\n one two three\nrabbit 4 5 6\n"}, "kind": 2, "label": "filter", "sortText": " 61"}, {"detail": "bound method DataFrame.first(offset) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Select initial periods of time series data based on a date offset.\n\n.. deprecated:: 2.1\n :meth:`.first` is deprecated and will be removed in a future version.\n Please create a mask and filter using `.loc` instead.\n\nFor a DataFrame with a sorted DatetimeIndex, this function can\nselect the first few rows based on a date offset.\n\nParameters\n----------\noffset : str, DateOffset or dateutil.relativedelta\n The offset length of the data that will be selected. For instance,\n '1ME' will display all the rows having their index within the first month.\n\nReturns\n-------\nSeries or DataFrame\n A subset of the caller.\n\nRaises\n------\nTypeError\n If the index is not a :class:`DatetimeIndex`\n\nSee Also\n--------\nlast : Select final periods of time series based on a date offset.\nat_time : Select values at a particular time of the day.\nbetween_time : Select values between particular times of the day.\n\nExamples\n--------\n>>> i = pd.date_range('2018-04-09', periods=4, freq='2D')\n>>> ts = pd.DataFrame({'A': [1, 2, 3, 4]}, index=i)\n>>> ts\n A\n2018-04-09 1\n2018-04-11 2\n2018-04-13 3\n2018-04-15 4\n\nGet the rows for the first 3 days:\n\n>>> ts.first('3D')\n A\n2018-04-09 1\n2018-04-11 2\n\nNotice the data for 3 first calendar days were returned, not the first\n3 days observed in the dataset, and therefore data for 2018-04-13 was\nnot returned.\n"}, "kind": 2, "label": "first", "sortText": " 62"}, {"detail": "bound method DataFrame.first_valid_index() -> Hashable", "documentation": {"kind": "plaintext", "value": "Return index for {position} non-NA value or None, if no non-NA value is found.\n\nReturns\n-------\ntype of index\n\nExamples\n--------\nFor Series:\n\n>>> s = pd.Series([None, 3, 4])\n>>> s.first_valid_index()\n1\n>>> s.last_valid_index()\n2\n\n>>> s = pd.Series([None, None])\n>>> print(s.first_valid_index())\nNone\n>>> print(s.last_valid_index())\nNone\n\nIf all elements in Series are NA/null, returns None.\n\n>>> s = pd.Series()\n>>> print(s.first_valid_index())\nNone\n>>> print(s.last_valid_index())\nNone\n\nIf Series is empty, returns None.\n\nFor DataFrame:\n\n>>> df = pd.DataFrame({{'A': [None, None, 2], 'B': [None, 3, 4]}})\n>>> df\n A B\n0 NaN NaN\n1 NaN 3.0\n2 2.0 4.0\n>>> df.first_valid_index()\n1\n>>> df.last_valid_index()\n2\n\n>>> df = pd.DataFrame({{'A': [None, None, None], 'B': [None, None, None]}})\n>>> df\n A B\n0 None None\n1 None None\n2 None None\n>>> print(df.first_valid_index())\nNone\n>>> print(df.last_valid_index())\nNone\n\nIf all elements in DataFrame are NA/null, returns None.\n\n>>> df = pd.DataFrame()\n>>> df\nEmpty DataFrame\nColumns: []\nIndex: []\n>>> print(df.first_valid_index())\nNone\n>>> print(df.last_valid_index())\nNone\n\nIf DataFrame is empty, returns None.\n"}, "kind": 2, "label": "first_valid_index", "sortText": " 63"}, {"detail": "Flags", "documentation": {"kind": "plaintext", "value": "Flags that apply to pandas objects.\n\nParameters\n----------\nobj : Series or DataFrame\n The object these flags are associated with.\nallows_duplicate_labels : bool, default True\n Whether to allow duplicate labels in this object. By default,\n duplicate labels are permitted. Setting this to ``False`` will\n cause an :class:`errors.DuplicateLabelError` to be raised when\n `index` (or columns for DataFrame) is not unique, or any\n subsequent operation on introduces duplicates.\n See :ref:`duplicates.disallow` for more.\n\n .. warning::\n\n This is an experimental feature. Currently, many methods fail to\n propagate the ``allows_duplicate_labels`` value. In future versions\n it is expected that every method taking or returning one or more\n DataFrame or Series objects will propagate ``allows_duplicate_labels``.\n\nExamples\n--------\nAttributes can be set in two ways:\n\n>>> df = pd.DataFrame()\n>>> df.flags\n\n>>> df.flags.allows_duplicate_labels = False\n>>> df.flags\n\n\n>>> df.flags['allows_duplicate_labels'] = True\n>>> df.flags\n\n"}, "kind": 22, "label": "flags", "sortText": " 64"}, {"detail": "bound method DataFrame.floordiv(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "floordiv", "sortText": " 65"}, {"detail": "bound method type[DataFrame].from_dict(data: dict[Unknown, Unknown], orient: Literal[\"columns\", \"index\", \"tight\"] = \"columns\", dtype: ExtensionDtype | str | dtype[Any] | type | None = None, columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Construct DataFrame from dict of array-like or dicts.\n\nCreates DataFrame object from dictionary by columns or by index\nallowing dtype specification.\n\nParameters\n----------\ndata : dict\n Of the form {field : array-like} or {field : dict}.\norient : {'columns', 'index', 'tight'}, default 'columns'\n The \"orientation\" of the data. If the keys of the passed dict\n should be the columns of the resulting DataFrame, pass 'columns'\n (default). Otherwise if the keys should be rows, pass 'index'.\n If 'tight', assume a dict with keys ['index', 'columns', 'data',\n 'index_names', 'column_names'].\n\n .. versionadded:: 1.4.0\n 'tight' as an allowed value for the ``orient`` argument\n\ndtype : dtype, default None\n Data type to force after DataFrame construction, otherwise infer.\ncolumns : list, default None\n Column labels to use when ``orient='index'``. Raises a ValueError\n if used with ``orient='columns'`` or ``orient='tight'``.\n\nReturns\n-------\nDataFrame\n\nSee Also\n--------\nDataFrame.from_records : DataFrame from structured ndarray, sequence\n of tuples or dicts, or DataFrame.\nDataFrame : DataFrame object creation using constructor.\nDataFrame.to_dict : Convert the DataFrame to a dictionary.\n\nExamples\n--------\nBy default the keys of the dict become the DataFrame columns:\n\n>>> data = {'col_1': [3, 2, 1, 0], 'col_2': ['a', 'b', 'c', 'd']}\n>>> pd.DataFrame.from_dict(data)\n col_1 col_2\n0 3 a\n1 2 b\n2 1 c\n3 0 d\n\nSpecify ``orient='index'`` to create the DataFrame using dictionary\nkeys as rows:\n\n>>> data = {'row_1': [3, 2, 1, 0], 'row_2': ['a', 'b', 'c', 'd']}\n>>> pd.DataFrame.from_dict(data, orient='index')\n 0 1 2 3\nrow_1 3 2 1 0\nrow_2 a b c d\n\nWhen using the 'index' orientation, the column names can be\nspecified manually:\n\n>>> pd.DataFrame.from_dict(data, orient='index',\n... columns=['A', 'B', 'C', 'D'])\n A B C D\nrow_1 3 2 1 0\nrow_2 a b c d\n\nSpecify ``orient='tight'`` to create the DataFrame using a 'tight'\nformat:\n\n>>> data = {'index': [('a', 'b'), ('a', 'c')],\n... 'columns': [('x', 1), ('y', 2)],\n... 'data': [[1, 3], [2, 4]],\n... 'index_names': ['n1', 'n2'],\n... 'column_names': ['z1', 'z2']}\n>>> pd.DataFrame.from_dict(data, orient='tight')\nz1 x y\nz2 1 2\nn1 n2\na b 1 3\n c 2 4\n"}, "kind": 2, "label": "from_dict", "sortText": " 66"}, {"detail": "bound method type[DataFrame].from_records(data, index=None, exclude=None, columns=None, coerce_float: bool = False, nrows: int | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Convert structured or record ndarray to DataFrame.\n\nCreates a DataFrame object from a structured ndarray, sequence of\ntuples or dicts, or DataFrame.\n\nParameters\n----------\ndata : structured ndarray, sequence of tuples or dicts, or DataFrame\n Structured input data.\n\n .. deprecated:: 2.1.0\n Passing a DataFrame is deprecated.\nindex : str, list of fields, array-like\n Field of array to use as the index, alternately a specific set of\n input labels to use.\nexclude : sequence, default None\n Columns or fields to exclude.\ncolumns : sequence, default None\n Column names to use. If the passed data do not have names\n associated with them, this argument provides names for the\n columns. Otherwise this argument indicates the order of the columns\n in the result (any names not found in the data will become all-NA\n columns).\ncoerce_float : bool, default False\n Attempt to convert values of non-string, non-numeric objects (like\n decimal.Decimal) to floating point, useful for SQL result sets.\nnrows : int, default None\n Number of rows to read if data is an iterator.\n\nReturns\n-------\nDataFrame\n\nSee Also\n--------\nDataFrame.from_dict : DataFrame from dict of array-like or dicts.\nDataFrame : DataFrame object creation using constructor.\n\nExamples\n--------\nData can be provided as a structured ndarray:\n\n>>> data = np.array([(3, 'a'), (2, 'b'), (1, 'c'), (0, 'd')],\n... dtype=[('col_1', 'i4'), ('col_2', 'U1')])\n>>> pd.DataFrame.from_records(data)\n col_1 col_2\n0 3 a\n1 2 b\n2 1 c\n3 0 d\n\nData can be provided as a list of dicts:\n\n>>> data = [{'col_1': 3, 'col_2': 'a'},\n... {'col_1': 2, 'col_2': 'b'},\n... {'col_1': 1, 'col_2': 'c'},\n... {'col_1': 0, 'col_2': 'd'}]\n>>> pd.DataFrame.from_records(data)\n col_1 col_2\n0 3 a\n1 2 b\n2 1 c\n3 0 d\n\nData can be provided as a list of tuples with corresponding columns:\n\n>>> data = [(3, 'a'), (2, 'b'), (1, 'c'), (0, 'd')]\n>>> pd.DataFrame.from_records(data, columns=['col_1', 'col_2'])\n col_1 col_2\n0 3 a\n1 2 b\n2 1 c\n3 0 d\n"}, "kind": 2, "label": "from_records", "sortText": " 67"}, {"detail": "bound method DataFrame.ge(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "ge", "sortText": " 68"}, {"detail": "bound method DataFrame.get(key, default=None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Get item from object for given key (ex: DataFrame column).\n\nReturns default value if not found.\n\nParameters\n----------\nkey : object\n\nReturns\n-------\nsame type as items contained in object\n\nExamples\n--------\n>>> df = pd.DataFrame(\n... [\n... [24.3, 75.7, \"high\"],\n... [31, 87.8, \"high\"],\n... [22, 71.6, \"medium\"],\n... [35, 95, \"medium\"],\n... ],\n... columns=[\"temp_celsius\", \"temp_fahrenheit\", \"windspeed\"],\n... index=pd.date_range(start=\"2014-02-12\", end=\"2014-02-15\", freq=\"D\"),\n... )\n\n>>> df\n temp_celsius temp_fahrenheit windspeed\n2014-02-12 24.3 75.7 high\n2014-02-13 31.0 87.8 high\n2014-02-14 22.0 71.6 medium\n2014-02-15 35.0 95.0 medium\n\n>>> df.get([\"temp_celsius\", \"windspeed\"])\n temp_celsius windspeed\n2014-02-12 24.3 high\n2014-02-13 31.0 high\n2014-02-14 22.0 medium\n2014-02-15 35.0 medium\n\n>>> ser = df['windspeed']\n>>> ser.get('2014-02-13')\n'high'\n\nIf the key isn't found, the default value will be used.\n\n>>> df.get([\"temp_celsius\", \"temp_kelvin\"], default=\"default_value\")\n'default_value'\n\n>>> ser.get('2014-02-10', '[unknown]')\n'[unknown]'\n"}, "kind": 2, "label": "get", "sortText": " 69"}, {"detail": "bound method DataFrame.groupby(by=None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., level: Hashable | Sequence[Hashable] = None, as_index: bool = True, sort: bool = True, group_keys: bool = True, observed: bool | _NoDefault = ..., dropna: bool = True) -> DataFrameGroupBy", "kind": 2, "label": "groupby", "sortText": " 70"}, {"detail": "bound method DataFrame.gt(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "gt", "sortText": " 71"}, {"detail": "bound method DataFrame.head(n: int = 5) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the first `n` rows.\n\nThis function returns the first `n` rows for the object based\non position. It is useful for quickly testing if your object\nhas the right type of data in it.\n\nFor negative values of `n`, this function returns all rows except\nthe last `|n|` rows, equivalent to ``df[:n]``.\n\nIf n is larger than the number of rows, this function returns all rows.\n\nParameters\n----------\nn : int, default 5\n Number of rows to select.\n\nReturns\n-------\nsame type as caller\n The first `n` rows of the caller object.\n\nSee Also\n--------\nDataFrame.tail: Returns the last `n` rows.\n\nExamples\n--------\n>>> df = pd.DataFrame({'animal': ['alligator', 'bee', 'falcon', 'lion',\n... 'monkey', 'parrot', 'shark', 'whale', 'zebra']})\n>>> df\n animal\n0 alligator\n1 bee\n2 falcon\n3 lion\n4 monkey\n5 parrot\n6 shark\n7 whale\n8 zebra\n\nViewing the first 5 lines\n\n>>> df.head()\n animal\n0 alligator\n1 bee\n2 falcon\n3 lion\n4 monkey\n\nViewing the first `n` lines (three in this case)\n\n>>> df.head(3)\n animal\n0 alligator\n1 bee\n2 falcon\n\nFor negative values of `n`\n\n>>> df.head(-3)\n animal\n0 alligator\n1 bee\n2 falcon\n3 lion\n4 monkey\n5 parrot\n"}, "kind": 2, "label": "head", "sortText": " 72"}, {"detail": "(column: Hashable | Sequence[Hashable] = None, by=None, grid: bool = True, xlabelsize: int | None = None, xrot: float | None = None, ylabelsize: int | None = None, yrot: float | None = None, ax=None, sharex: bool = False, sharey: bool = False, figsize: tuple[int, int] | None = None, layout: tuple[int, int] | None = None, bins: int | Sequence[int] = 10, backend: str | None = None, legend: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "hist", "sortText": " 73"}, {"detail": "_iAtIndexer", "kind": 22, "label": "iat", "sortText": " 74"}, {"detail": "bound method DataFrame.idxmax(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, skipna: bool = True, numeric_only: bool = False) -> Series", "kind": 2, "label": "idxmax", "sortText": " 75"}, {"detail": "bound method DataFrame.idxmin(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, skipna: bool = True, numeric_only: bool = False) -> Series", "kind": 2, "label": "idxmin", "sortText": " 76"}, {"detail": "_iLocIndexer", "kind": 22, "label": "iloc", "sortText": " 77"}, {"detail": "Index", "documentation": {"kind": "plaintext", "value": "Immutable sequence used for indexing and alignment.\n\nThe basic object storing axis labels for all pandas objects.\n\n.. versionchanged:: 2.0.0\n\n Index can hold all numpy numeric dtypes (except float16). Previously only\n int64/uint64/float64 dtypes were accepted.\n\nParameters\n----------\ndata : array-like (1-dimensional)\ndtype : str, numpy.dtype, or ExtensionDtype, optional\n Data type for the output Index. If not specified, this will be\n inferred from `data`.\n See the :ref:`user guide ` for more usages.\ncopy : bool, default False\n Copy input data.\nname : object\n Name to be stored in the index.\ntupleize_cols : bool (default: True)\n When True, attempt to create a MultiIndex if possible.\n\nSee Also\n--------\nRangeIndex : Index implementing a monotonic integer range.\nCategoricalIndex : Index of :class:`Categorical` s.\nMultiIndex : A multi-level, or hierarchical Index.\nIntervalIndex : An Index of :class:`Interval` s.\nDatetimeIndex : Index of datetime64 data.\nTimedeltaIndex : Index of timedelta64 data.\nPeriodIndex : Index of Period data.\n\nNotes\n-----\nAn Index instance can **only** contain hashable objects.\nAn Index instance *can not* hold numpy float16 dtype.\n\nExamples\n--------\n>>> pd.Index([1, 2, 3])\nIndex([1, 2, 3], dtype='int64')\n\n>>> pd.Index(list('abc'))\nIndex(['a', 'b', 'c'], dtype='object')\n\n>>> pd.Index([1, 2, 3], dtype=\"uint8\")\nIndex([1, 2, 3], dtype='uint8')\n"}, "kind": 22, "label": "index", "sortText": " 78"}, {"detail": "bound method DataFrame.infer_objects(copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Attempt to infer better dtypes for object columns.\n\nAttempts soft conversion of object-dtyped\ncolumns, leaving non-object and unconvertible\ncolumns unchanged. The inference rules are the\nsame as during normal Series/DataFrame construction.\n\nParameters\n----------\ncopy : bool, default True\n Whether to make a copy for non-object or non-inferable columns\n or Series.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\nsame type as input object\n\nSee Also\n--------\nto_datetime : Convert argument to datetime.\nto_timedelta : Convert argument to timedelta.\nto_numeric : Convert argument to numeric type.\nconvert_dtypes : Convert argument to best possible dtype.\n\nExamples\n--------\n>>> df = pd.DataFrame({\"A\": [\"a\", 1, 2, 3]})\n>>> df = df.iloc[1:]\n>>> df\n A\n1 1\n2 2\n3 3\n\n>>> df.dtypes\nA object\ndtype: object\n\n>>> df.infer_objects().dtypes\nA int64\ndtype: object\n"}, "kind": 2, "label": "infer_objects", "sortText": " 79"}, {"detail": "bound method DataFrame.info(verbose: bool | None = None, buf: WriteBuffer[str] | None = None, max_cols: int | None = None, memory_usage: bool | str | None = None, show_counts: bool | None = None) -> None", "kind": 2, "label": "info", "sortText": " 80"}, {"detail": "bound method DataFrame.insert(loc: int, column: Hashable, value: str | float | Period | ... omitted 9 union elements, allow_duplicates: bool | _NoDefault = ...) -> None", "documentation": {"kind": "plaintext", "value": "Insert column into DataFrame at specified location.\n\nRaises a ValueError if `column` is already contained in the DataFrame,\nunless `allow_duplicates` is set to True.\n\nParameters\n----------\nloc : int\n Insertion index. Must verify 0 <= loc <= len(columns).\ncolumn : str, number, or hashable object\n Label of the inserted column.\nvalue : Scalar, Series, or array-like\n Content of the inserted column.\nallow_duplicates : bool, optional, default lib.no_default\n Allow duplicate column labels to be created.\n\nSee Also\n--------\nIndex.insert : Insert new item by index.\n\nExamples\n--------\n>>> df = pd.DataFrame({'col1': [1, 2], 'col2': [3, 4]})\n>>> df\n col1 col2\n0 1 3\n1 2 4\n>>> df.insert(1, \"newcol\", [99, 99])\n>>> df\n col1 newcol col2\n0 1 99 3\n1 2 99 4\n>>> df.insert(0, \"col1\", [100, 100], allow_duplicates=True)\n>>> df\n col1 col1 newcol col2\n0 100 1 99 3\n1 100 2 99 4\n\nNotice that pandas uses index alignment in case of `value` from type `Series`:\n\n>>> df.insert(0, \"col0\", pd.Series([5, 6], index=[1, 2]))\n>>> df\n col0 col1 col1 newcol col2\n0 NaN 100 1 99 3\n1 5.0 100 2 99 4\n"}, "kind": 2, "label": "insert", "sortText": " 81"}, {"detail": "Overload[(method: Literal[\"linear\", \"time\", \"index\", \"values\", \"nearest\", ... omitted 13 literals] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., limit: int | None = ..., inplace: Literal[False] = ..., limit_direction: Literal[\"forward\", \"backward\", \"both\"] | None = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: Literal[\"infer\"] | None | _NoDefault = ..., **kwargs) -> DataFrame, (method: Literal[\"linear\", \"time\", \"index\", \"values\", \"nearest\", ... omitted 13 literals] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., limit: int | None = ..., inplace: Literal[True], limit_direction: Literal[\"forward\", \"backward\", \"both\"] | None = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: Literal[\"infer\"] | None | _NoDefault = ..., **kwargs) -> None, (method: Literal[\"linear\", \"time\", \"index\", \"values\", \"nearest\", ... omitted 13 literals] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., limit: int | None = ..., inplace: bool = ..., limit_direction: Literal[\"forward\", \"backward\", \"both\"] | None = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: Literal[\"infer\"] | None | _NoDefault = ..., **kwargs) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Fill NaN values using an interpolation method.\n\nPlease note that only ``method='linear'`` is supported for\nDataFrame/Series with a MultiIndex.\n\nParameters\n----------\nmethod : str, default 'linear'\n Interpolation technique to use. One of:\n\n * 'linear': Ignore the index and treat the values as equally\n spaced. This is the only method supported on MultiIndexes.\n * 'time': Works on daily and higher resolution data to interpolate\n given length of interval.\n * 'index', 'values': use the actual numerical values of the index.\n * 'pad': Fill in NaNs using existing values.\n * 'nearest', 'zero', 'slinear', 'quadratic', 'cubic',\n 'barycentric', 'polynomial': Passed to\n `scipy.interpolate.interp1d`, whereas 'spline' is passed to\n `scipy.interpolate.UnivariateSpline`. These methods use the numerical\n values of the index. Both 'polynomial' and 'spline' require that\n you also specify an `order` (int), e.g.\n ``df.interpolate(method='polynomial', order=5)``. Note that,\n `slinear` method in Pandas refers to the Scipy first order `spline`\n instead of Pandas first order `spline`.\n * 'krogh', 'piecewise_polynomial', 'spline', 'pchip', 'akima',\n 'cubicspline': Wrappers around the SciPy interpolation methods of\n similar names. See `Notes`.\n * 'from_derivatives': Refers to\n `scipy.interpolate.BPoly.from_derivatives`.\n\naxis : {{0 or 'index', 1 or 'columns', None}}, default None\n Axis to interpolate along. For `Series` this parameter is unused\n and defaults to 0.\nlimit : int, optional\n Maximum number of consecutive NaNs to fill. Must be greater than\n 0.\ninplace : bool, default False\n Update the data in place if possible.\nlimit_direction : {{'forward', 'backward', 'both'}}, Optional\n Consecutive NaNs will be filled in this direction.\n\n If limit is specified:\n * If 'method' is 'pad' or 'ffill', 'limit_direction' must be 'forward'.\n * If 'method' is 'backfill' or 'bfill', 'limit_direction' must be\n 'backwards'.\n\n If 'limit' is not specified:\n * If 'method' is 'backfill' or 'bfill', the default is 'backward'\n * else the default is 'forward'\n\n raises ValueError if `limit_direction` is 'forward' or 'both' and\n method is 'backfill' or 'bfill'.\n raises ValueError if `limit_direction` is 'backward' or 'both' and\n method is 'pad' or 'ffill'.\n\nlimit_area : {{`None`, 'inside', 'outside'}}, default None\n If limit is specified, consecutive NaNs will be filled with this\n restriction.\n\n * ``None``: No fill restriction.\n * 'inside': Only fill NaNs surrounded by valid values\n (interpolate).\n * 'outside': Only fill NaNs outside valid values (extrapolate).\n\ndowncast : optional, 'infer' or None, defaults to None\n Downcast dtypes if possible.\n\n .. deprecated:: 2.1.0\n\n``**kwargs`` : optional\n Keyword arguments to pass on to the interpolating function.\n\nReturns\n-------\nSeries or DataFrame or None\n Returns the same object type as the caller, interpolated at\n some or all ``NaN`` values or None if ``inplace=True``.\n\nSee Also\n--------\nfillna : Fill missing values using different methods.\nscipy.interpolate.Akima1DInterpolator : Piecewise cubic polynomials\n (Akima interpolator).\nscipy.interpolate.BPoly.from_derivatives : Piecewise polynomial in the\n Bernstein basis.\nscipy.interpolate.interp1d : Interpolate a 1-D function.\nscipy.interpolate.KroghInterpolator : Interpolate polynomial (Krogh\n interpolator).\nscipy.interpolate.PchipInterpolator : PCHIP 1-d monotonic cubic\n interpolation.\nscipy.interpolate.CubicSpline : Cubic spline data interpolator.\n\nNotes\n-----\nThe 'krogh', 'piecewise_polynomial', 'spline', 'pchip' and 'akima'\nmethods are wrappers around the respective SciPy implementations of\nsimilar names. These use the actual numerical values of the index.\nFor more information on their behavior, see the\n`SciPy documentation\n`__.\n\nExamples\n--------\nFilling in ``NaN`` in a :class:`~pandas.Series` via linear\ninterpolation.\n\n>>> s = pd.Series([0, 1, np.nan, 3])\n>>> s\n0 0.0\n1 1.0\n2 NaN\n3 3.0\ndtype: float64\n>>> s.interpolate()\n0 0.0\n1 1.0\n2 2.0\n3 3.0\ndtype: float64\n\nFilling in ``NaN`` in a Series via polynomial interpolation or splines:\nBoth 'polynomial' and 'spline' methods require that you also specify\nan ``order`` (int).\n\n>>> s = pd.Series([0, 2, np.nan, 8])\n>>> s.interpolate(method='polynomial', order=2)\n0 0.000000\n1 2.000000\n2 4.666667\n3 8.000000\ndtype: float64\n\nFill the DataFrame forward (that is, going down) along each column\nusing linear interpolation.\n\nNote how the last entry in column 'a' is interpolated differently,\nbecause there is no entry after it to use for interpolation.\nNote how the first entry in column 'b' remains ``NaN``, because there\nis no entry before it to use for interpolation.\n\n>>> df = pd.DataFrame([(0.0, np.nan, -1.0, 1.0),\n... (np.nan, 2.0, np.nan, np.nan),\n... (2.0, 3.0, np.nan, 9.0),\n... (np.nan, 4.0, -4.0, 16.0)],\n... columns=list('abcd'))\n>>> df\n a b c d\n0 0.0 NaN -1.0 1.0\n1 NaN 2.0 NaN NaN\n2 2.0 3.0 NaN 9.0\n3 NaN 4.0 -4.0 16.0\n>>> df.interpolate(method='linear', limit_direction='forward', axis=0)\n a b c d\n0 0.0 NaN -1.0 1.0\n1 1.0 2.0 -2.0 5.0\n2 2.0 3.0 -3.0 9.0\n3 2.0 4.0 -4.0 16.0\n\nUsing polynomial interpolation.\n\n>>> df['d'].interpolate(method='polynomial', order=2)\n0 1.0\n1 4.0\n2 9.0\n3 16.0\nName: d, dtype: float64\n"}, "kind": 2, "label": "interpolate", "sortText": " 82"}, {"detail": "bound method DataFrame.isetitem(loc, value) -> None", "documentation": {"kind": "plaintext", "value": "Set the given value in the column with position `loc`.\n\nThis is a positional analogue to ``__setitem__``.\n\nParameters\n----------\nloc : int or sequence of ints\n Index position for the column.\nvalue : scalar or arraylike\n Value(s) for the column.\n\nNotes\n-----\n``frame.isetitem(loc, value)`` is an in-place method as it will\nmodify the DataFrame in place (not returning a new object). In contrast to\n``frame.iloc[:, i] = value`` which will try to update the existing values in\nplace, ``frame.isetitem(loc, value)`` will not update the values of the column\nitself in place, it will instead insert a new array.\n\nIn cases where ``frame.columns`` is unique, this is equivalent to\n``frame[frame.columns[i]] = value``.\n"}, "kind": 2, "label": "isetitem", "sortText": " 83"}, {"detail": "bound method DataFrame.isin(values: Series | DataFrame | Sequence[Unknown] | Mapping[Unknown, Unknown]) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Whether each element in the DataFrame is contained in values.\n\nParameters\n----------\nvalues : iterable, Series, DataFrame or dict\n The result will only be true at a location if all the\n labels match. If `values` is a Series, that's the index. If\n `values` is a dict, the keys must be the column names,\n which must match. If `values` is a DataFrame,\n then both the index and column labels must match.\n\nReturns\n-------\nDataFrame\n DataFrame of booleans showing whether each element in the DataFrame\n is contained in values.\n\nSee Also\n--------\nDataFrame.eq: Equality test for DataFrame.\nSeries.isin: Equivalent method on Series.\nSeries.str.contains: Test if pattern or regex is contained within a\n string of a Series or Index.\n\nExamples\n--------\n>>> df = pd.DataFrame({'num_legs': [2, 4], 'num_wings': [2, 0]},\n... index=['falcon', 'dog'])\n>>> df\n num_legs num_wings\nfalcon 2 2\ndog 4 0\n\nWhen ``values`` is a list check whether every value in the DataFrame\nis present in the list (which animals have 0 or 2 legs or wings)\n\n>>> df.isin([0, 2])\n num_legs num_wings\nfalcon True True\ndog False True\n\nTo check if ``values`` is *not* in the DataFrame, use the ``~`` operator:\n\n>>> ~df.isin([0, 2])\n num_legs num_wings\nfalcon False False\ndog True False\n\nWhen ``values`` is a dict, we can pass values to check for each\ncolumn separately:\n\n>>> df.isin({'num_wings': [0, 3]})\n num_legs num_wings\nfalcon False False\ndog False True\n\nWhen ``values`` is a Series or DataFrame the index and column must\nmatch. Note that 'falcon' does not match based on the number of legs\nin other.\n\n>>> other = pd.DataFrame({'num_legs': [8, 3], 'num_wings': [0, 2]},\n... index=['spider', 'falcon'])\n>>> df.isin(other)\n num_legs num_wings\nfalcon False True\ndog False False\n"}, "kind": 2, "label": "isin", "sortText": " 84"}, {"detail": "bound method DataFrame.isna() -> DataFrame", "kind": 2, "label": "isna", "sortText": " 85"}, {"detail": "bound method DataFrame.isnull() -> DataFrame", "documentation": {"kind": "plaintext", "value": "DataFrame.isnull is an alias for DataFrame.isna.\n"}, "kind": 2, "label": "isnull", "sortText": " 86"}, {"detail": "bound method DataFrame.items() -> Iterable[tuple[Hashable, Series]]", "kind": 2, "label": "items", "sortText": " 87"}, {"detail": "bound method DataFrame.iterrows() -> Iterable[tuple[Hashable, Series]]", "documentation": {"kind": "plaintext", "value": "Iterate over DataFrame rows as (index, Series) pairs.\n\nYields\n------\nindex : label or tuple of label\n The index of the row. A tuple for a `MultiIndex`.\ndata : Series\n The data of the row as a Series.\n\nSee Also\n--------\nDataFrame.itertuples : Iterate over DataFrame rows as namedtuples of the values.\nDataFrame.items : Iterate over (column name, Series) pairs.\n\nNotes\n-----\n1. Because ``iterrows`` returns a Series for each row,\n it does **not** preserve dtypes across the rows (dtypes are\n preserved across columns for DataFrames).\n\n To preserve dtypes while iterating over the rows, it is better\n to use :meth:`itertuples` which returns namedtuples of the values\n and which is generally faster than ``iterrows``.\n\n2. You should **never modify** something you are iterating over.\n This is not guaranteed to work in all cases. Depending on the\n data types, the iterator returns a copy and not a view, and writing\n to it will have no effect.\n\nExamples\n--------\n\n>>> df = pd.DataFrame([[1, 1.5]], columns=['int', 'float'])\n>>> row = next(df.iterrows())[1]\n>>> row\nint 1.0\nfloat 1.5\nName: 0, dtype: float64\n>>> print(row['int'].dtype)\nfloat64\n>>> print(df['int'].dtype)\nint64\n"}, "kind": 2, "label": "iterrows", "sortText": " 88"}, {"detail": "bound method DataFrame.itertuples(index: bool = True, name: str | None = \"Pandas\") -> Iterable[tuple[Any, ...]]", "documentation": {"kind": "plaintext", "value": "Iterate over DataFrame rows as namedtuples.\n\nParameters\n----------\nindex : bool, default True\n If True, return the index as the first element of the tuple.\nname : str or None, default \"Pandas\"\n The name of the returned namedtuples or None to return regular\n tuples.\n\nReturns\n-------\niterator\n An object to iterate over namedtuples for each row in the\n DataFrame with the first field possibly being the index and\n following fields being the column values.\n\nSee Also\n--------\nDataFrame.iterrows : Iterate over DataFrame rows as (index, Series)\n pairs.\nDataFrame.items : Iterate over (column name, Series) pairs.\n\nNotes\n-----\nThe column names will be renamed to positional names if they are\ninvalid Python identifiers, repeated, or start with an underscore.\n\nExamples\n--------\n>>> df = pd.DataFrame({'num_legs': [4, 2], 'num_wings': [0, 2]},\n... index=['dog', 'hawk'])\n>>> df\n num_legs num_wings\ndog 4 0\nhawk 2 2\n>>> for row in df.itertuples():\n... print(row)\n...\nPandas(Index='dog', num_legs=4, num_wings=0)\nPandas(Index='hawk', num_legs=2, num_wings=2)\n\nBy setting the `index` parameter to False we can remove the index\nas the first element of the tuple:\n\n>>> for row in df.itertuples(index=False):\n... print(row)\n...\nPandas(num_legs=4, num_wings=0)\nPandas(num_legs=2, num_wings=2)\n\nWith the `name` parameter set we set a custom name for the yielded\nnamedtuples:\n\n>>> for row in df.itertuples(name='Animal'):\n... print(row)\n...\nAnimal(Index='dog', num_legs=4, num_wings=0)\nAnimal(Index='hawk', num_legs=2, num_wings=2)\n"}, "kind": 2, "label": "itertuples", "sortText": " 89"}, {"detail": "bound method DataFrame.join(other: DataFrame | Series | Iterable[DataFrame | Series], on: Hashable | Sequence[Hashable] = None, how: Literal[\"left\", \"right\", \"inner\", \"outer\", \"cross\"] = \"left\", lsuffix: str = \"\", rsuffix: str = \"\", sort: bool = False, validate: Literal[\"one_to_one\", \"1:1\", \"one_to_many\", \"1:m\", \"many_to_one\", ... omitted 3 literals] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Join columns of another DataFrame.\n\nJoin columns with `other` DataFrame either on index or on a key\ncolumn. Efficiently join multiple DataFrame objects by index at once by\npassing a list.\n\nParameters\n----------\nother : DataFrame, Series, or a list containing any combination of them\n Index should be similar to one of the columns in this one. If a\n Series is passed, its name attribute must be set, and that will be\n used as the column name in the resulting joined DataFrame.\non : str, list of str, or array-like, optional\n Column or index level name(s) in the caller to join on the index\n in `other`, otherwise joins index-on-index. If multiple\n values given, the `other` DataFrame must have a MultiIndex. Can\n pass an array as the join key if it is not already contained in\n the calling DataFrame. Like an Excel VLOOKUP operation.\nhow : {'left', 'right', 'outer', 'inner', 'cross'}, default 'left'\n How to handle the operation of the two objects.\n\n * left: use calling frame's index (or column if on is specified)\n * right: use `other`'s index.\n * outer: form union of calling frame's index (or column if on is\n specified) with `other`'s index, and sort it lexicographically.\n * inner: form intersection of calling frame's index (or column if\n on is specified) with `other`'s index, preserving the order\n of the calling's one.\n * cross: creates the cartesian product from both frames, preserves the order\n of the left keys.\nlsuffix : str, default ''\n Suffix to use from left frame's overlapping columns.\nrsuffix : str, default ''\n Suffix to use from right frame's overlapping columns.\nsort : bool, default False\n Order result DataFrame lexicographically by the join key. If False,\n the order of the join key depends on the join type (how keyword).\nvalidate : str, optional\n If specified, checks if join is of specified type.\n\n * \"one_to_one\" or \"1:1\": check if join keys are unique in both left\n and right datasets.\n * \"one_to_many\" or \"1:m\": check if join keys are unique in left dataset.\n * \"many_to_one\" or \"m:1\": check if join keys are unique in right dataset.\n * \"many_to_many\" or \"m:m\": allowed, but does not result in checks.\n\n .. versionadded:: 1.5.0\n\nReturns\n-------\nDataFrame\n A dataframe containing columns from both the caller and `other`.\n\nSee Also\n--------\nDataFrame.merge : For column(s)-on-column(s) operations.\n\nNotes\n-----\nParameters `on`, `lsuffix`, and `rsuffix` are not supported when\npassing a list of `DataFrame` objects.\n\nExamples\n--------\n>>> df = pd.DataFrame({'key': ['K0', 'K1', 'K2', 'K3', 'K4', 'K5'],\n... 'A': ['A0', 'A1', 'A2', 'A3', 'A4', 'A5']})\n\n>>> df\n key A\n0 K0 A0\n1 K1 A1\n2 K2 A2\n3 K3 A3\n4 K4 A4\n5 K5 A5\n\n>>> other = pd.DataFrame({'key': ['K0', 'K1', 'K2'],\n... 'B': ['B0', 'B1', 'B2']})\n\n>>> other\n key B\n0 K0 B0\n1 K1 B1\n2 K2 B2\n\nJoin DataFrames using their indexes.\n\n>>> df.join(other, lsuffix='_caller', rsuffix='_other')\n key_caller A key_other B\n0 K0 A0 K0 B0\n1 K1 A1 K1 B1\n2 K2 A2 K2 B2\n3 K3 A3 NaN NaN\n4 K4 A4 NaN NaN\n5 K5 A5 NaN NaN\n\nIf we want to join using the key columns, we need to set key to be\nthe index in both `df` and `other`. The joined DataFrame will have\nkey as its index.\n\n>>> df.set_index('key').join(other.set_index('key'))\n A B\nkey\nK0 A0 B0\nK1 A1 B1\nK2 A2 B2\nK3 A3 NaN\nK4 A4 NaN\nK5 A5 NaN\n\nAnother option to join using the key columns is to use the `on`\nparameter. DataFrame.join always uses `other`'s index but we can use\nany column in `df`. This method preserves the original DataFrame's\nindex in the result.\n\n>>> df.join(other.set_index('key'), on='key')\n key A B\n0 K0 A0 B0\n1 K1 A1 B1\n2 K2 A2 B2\n3 K3 A3 NaN\n4 K4 A4 NaN\n5 K5 A5 NaN\n\nUsing non-unique key values shows how they are matched.\n\n>>> df = pd.DataFrame({'key': ['K0', 'K1', 'K1', 'K3', 'K0', 'K1'],\n... 'A': ['A0', 'A1', 'A2', 'A3', 'A4', 'A5']})\n\n>>> df\n key A\n0 K0 A0\n1 K1 A1\n2 K1 A2\n3 K3 A3\n4 K0 A4\n5 K1 A5\n\n>>> df.join(other.set_index('key'), on='key', validate='m:1')\n key A B\n0 K0 A0 B0\n1 K1 A1 B1\n2 K1 A2 B1\n3 K3 A3 NaN\n4 K0 A4 B0\n5 K1 A5 B1\n"}, "kind": 2, "label": "join", "sortText": " 90"}, {"detail": "bound method DataFrame.keys() -> Index", "documentation": {"kind": "plaintext", "value": "Get the 'info axis' (see Indexing for more).\n\nThis is index for Series, columns for DataFrame.\n\nReturns\n-------\nIndex\n Info axis.\n\nExamples\n--------\n>>> d = pd.DataFrame(data={'A': [1, 2, 3], 'B': [0, 4, 8]},\n... index=['a', 'b', 'c'])\n>>> d\n A B\na 1 0\nb 2 4\nc 3 8\n>>> d.keys()\nIndex(['A', 'B'], dtype='object')\n"}, "kind": 2, "label": "keys", "sortText": " 91"}, {"detail": "bound method DataFrame.kurt(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "kurt", "sortText": " 92"}, {"detail": "(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "kurtosis", "sortText": " 93"}, {"detail": "bound method DataFrame.last(offset) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Select final periods of time series data based on a date offset.\n\n.. deprecated:: 2.1\n :meth:`.last` is deprecated and will be removed in a future version.\n Please create a mask and filter using `.loc` instead.\n\nFor a DataFrame with a sorted DatetimeIndex, this function\nselects the last few rows based on a date offset.\n\nParameters\n----------\noffset : str, DateOffset, dateutil.relativedelta\n The offset length of the data that will be selected. For instance,\n '3D' will display all the rows having their index within the last 3 days.\n\nReturns\n-------\nSeries or DataFrame\n A subset of the caller.\n\nRaises\n------\nTypeError\n If the index is not a :class:`DatetimeIndex`\n\nSee Also\n--------\nfirst : Select initial periods of time series based on a date offset.\nat_time : Select values at a particular time of the day.\nbetween_time : Select values between particular times of the day.\n\nNotes\n-----\n.. deprecated:: 2.1.0\n Please create a mask and filter using `.loc` instead\n\nExamples\n--------\n>>> i = pd.date_range('2018-04-09', periods=4, freq='2D')\n>>> ts = pd.DataFrame({'A': [1, 2, 3, 4]}, index=i)\n>>> ts\n A\n2018-04-09 1\n2018-04-11 2\n2018-04-13 3\n2018-04-15 4\n\nGet the rows for the last 3 days:\n\n>>> ts.last('3D') # doctest: +SKIP\n A\n2018-04-13 3\n2018-04-15 4\n\nNotice the data for 3 last calendar days were returned, not the last\n3 observed days in the dataset, and therefore data for 2018-04-11 was\nnot returned.\n"}, "kind": 2, "label": "last", "sortText": " 94"}, {"detail": "bound method DataFrame.last_valid_index() -> Hashable", "kind": 2, "label": "last_valid_index", "sortText": " 95"}, {"detail": "bound method DataFrame.le(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "le", "sortText": " 96"}, {"detail": "_LocIndexer", "kind": 22, "label": "loc", "sortText": " 97"}, {"detail": "bound method DataFrame.lt(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "lt", "sortText": " 98"}, {"detail": "bound method DataFrame.map(func: (Any, /) -> Any, na_action: str | None = None, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Apply a function to a Dataframe elementwise.\n\n.. versionadded:: 2.1.0\n\n DataFrame.applymap was deprecated and renamed to DataFrame.map.\n\nThis method applies a function that accepts and returns a scalar\nto every element of a DataFrame.\n\nParameters\n----------\nfunc : callable\n Python function, returns a single value from a single value.\nna_action : {None, 'ignore'}, default None\n If 'ignore', propagate NaN values, without passing them to func.\n**kwargs\n Additional keyword arguments to pass as keywords arguments to\n `func`.\n\nReturns\n-------\nDataFrame\n Transformed DataFrame.\n\nSee Also\n--------\nDataFrame.apply : Apply a function along input axis of DataFrame.\nDataFrame.replace: Replace values given in `to_replace` with `value`.\nSeries.map : Apply a function elementwise on a Series.\n\nExamples\n--------\n>>> df = pd.DataFrame([[1, 2.12], [3.356, 4.567]])\n>>> df\n 0 1\n0 1.000 2.120\n1 3.356 4.567\n\n>>> df.map(lambda x: len(str(x)))\n 0 1\n0 3 4\n1 5 5\n\nLike Series.map, NA values can be ignored:\n\n>>> df_copy = df.copy()\n>>> df_copy.iloc[0, 0] = pd.NA\n>>> df_copy.map(lambda x: len(str(x)), na_action='ignore')\n 0 1\n0 NaN 4\n1 5.0 5\n\nIt is also possible to use `map` with functions that are not\n`lambda` functions:\n\n>>> df.map(round, ndigits=1)\n 0 1\n0 1.0 2.1\n1 3.4 4.6\n\nNote that a vectorized version of `func` often exists, which will\nbe much faster. You could square each number elementwise.\n\n>>> df.map(lambda x: x**2)\n 0 1\n0 1.000000 4.494400\n1 11.262736 20.857489\n\nBut it's better to avoid map in that case.\n\n>>> df ** 2\n 0 1\n0 1.000000 4.494400\n1 11.262736 20.857489\n"}, "kind": 2, "label": "map", "sortText": " 99"}, {"detail": "Overload[(cond, other=..., *, inplace: Literal[False] = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> DataFrame, (cond, other=..., *, inplace: Literal[True], axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> None, (cond, other=..., *, inplace: bool = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> DataFrame | None]", "kind": 2, "label": "mask", "sortText": "100"}, {"detail": "bound method DataFrame.max(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "max", "sortText": "101"}, {"detail": "bound method DataFrame.mean(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "mean", "sortText": "102"}, {"detail": "bound method DataFrame.median(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "median", "sortText": "103"}, {"detail": "bound method DataFrame.melt(id_vars=None, value_vars=None, var_name=None, value_name: Hashable = \"value\", col_level: Hashable = None, ignore_index: bool = True) -> DataFrame", "kind": 2, "label": "melt", "sortText": "104"}, {"detail": "bound method DataFrame.memory_usage(index: bool = True, deep: bool = False) -> Series", "documentation": {"kind": "plaintext", "value": "Return the memory usage of each column in bytes.\n\nThe memory usage can optionally include the contribution of\nthe index and elements of `object` dtype.\n\nThis value is displayed in `DataFrame.info` by default. This can be\nsuppressed by setting ``pandas.options.display.memory_usage`` to False.\n\nParameters\n----------\nindex : bool, default True\n Specifies whether to include the memory usage of the DataFrame's\n index in returned Series. If ``index=True``, the memory usage of\n the index is the first item in the output.\ndeep : bool, default False\n If True, introspect the data deeply by interrogating\n `object` dtypes for system-level memory consumption, and include\n it in the returned values.\n\nReturns\n-------\nSeries\n A Series whose index is the original column names and whose values\n is the memory usage of each column in bytes.\n\nSee Also\n--------\nnumpy.ndarray.nbytes : Total bytes consumed by the elements of an\n ndarray.\nSeries.memory_usage : Bytes consumed by a Series.\nCategorical : Memory-efficient array for string values with\n many repeated values.\nDataFrame.info : Concise summary of a DataFrame.\n\nNotes\n-----\nSee the :ref:`Frequently Asked Questions ` for more\ndetails.\n\nExamples\n--------\n>>> dtypes = ['int64', 'float64', 'complex128', 'object', 'bool']\n>>> data = dict([(t, np.ones(shape=5000, dtype=int).astype(t))\n... for t in dtypes])\n>>> df = pd.DataFrame(data)\n>>> df.head()\n int64 float64 complex128 object bool\n0 1 1.0 1.0+0.0j 1 True\n1 1 1.0 1.0+0.0j 1 True\n2 1 1.0 1.0+0.0j 1 True\n3 1 1.0 1.0+0.0j 1 True\n4 1 1.0 1.0+0.0j 1 True\n\n>>> df.memory_usage()\nIndex 128\nint64 40000\nfloat64 40000\ncomplex128 80000\nobject 40000\nbool 5000\ndtype: int64\n\n>>> df.memory_usage(index=False)\nint64 40000\nfloat64 40000\ncomplex128 80000\nobject 40000\nbool 5000\ndtype: int64\n\nThe memory footprint of `object` dtype columns is ignored by default:\n\n>>> df.memory_usage(deep=True)\nIndex 128\nint64 40000\nfloat64 40000\ncomplex128 80000\nobject 180000\nbool 5000\ndtype: int64\n\nUse a Categorical for efficient storage of an object-dtype column with\nmany repeated values.\n\n>>> df['object'].astype('category').memory_usage(deep=True)\n5244\n"}, "kind": 2, "label": "memory_usage", "sortText": "105"}, {"detail": "bound method DataFrame.merge(right: DataFrame | Series, how: Literal[\"left\", \"right\", \"inner\", \"outer\", \"cross\"] = \"inner\", on: Hashable | Sequence[Hashable] | ExtensionArray | ... omitted 3 union elements = None, left_on: Hashable | Sequence[Hashable] | ExtensionArray | ... omitted 3 union elements = None, right_on: Hashable | Sequence[Hashable] | ExtensionArray | ... omitted 3 union elements = None, left_index: bool = False, right_index: bool = False, sort: bool = False, suffixes: tuple[str | None, str | None] = ..., copy: bool | None = None, indicator: str | bool = False, validate: Literal[\"one_to_one\", \"1:1\", \"one_to_many\", \"1:m\", \"many_to_one\", ... omitted 3 literals] | None = None) -> DataFrame", "kind": 2, "label": "merge", "sortText": "106"}, {"detail": "bound method DataFrame.min(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "min", "sortText": "107"}, {"detail": "bound method DataFrame.mod(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "mod", "sortText": "108"}, {"detail": "bound method DataFrame.mode(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, numeric_only: bool = False, dropna: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Get the mode(s) of each element along the selected axis.\n\nThe mode of a set of values is the value that appears most often.\nIt can be multiple values.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to iterate over while searching for the mode:\n\n * 0 or 'index' : get mode of each column\n * 1 or 'columns' : get mode of each row.\n\nnumeric_only : bool, default False\n If True, only apply to numeric columns.\ndropna : bool, default True\n Don't consider counts of NaN/NaT.\n\nReturns\n-------\nDataFrame\n The modes of each column or row.\n\nSee Also\n--------\nSeries.mode : Return the highest frequency value in a Series.\nSeries.value_counts : Return the counts of values in a Series.\n\nExamples\n--------\n>>> df = pd.DataFrame([('bird', 2, 2),\n... ('mammal', 4, np.nan),\n... ('arthropod', 8, 0),\n... ('bird', 2, np.nan)],\n... index=('falcon', 'horse', 'spider', 'ostrich'),\n... columns=('species', 'legs', 'wings'))\n>>> df\n species legs wings\nfalcon bird 2 2.0\nhorse mammal 4 NaN\nspider arthropod 8 0.0\nostrich bird 2 NaN\n\nBy default, missing values are not considered, and the mode of wings\nare both 0 and 2. Because the resulting DataFrame has two rows,\nthe second row of ``species`` and ``legs`` contains ``NaN``.\n\n>>> df.mode()\n species legs wings\n0 bird 2.0 0.0\n1 NaN NaN 2.0\n\nSetting ``dropna=False`` ``NaN`` values are considered and they can be\nthe mode (like for wings).\n\n>>> df.mode(dropna=False)\n species legs wings\n0 bird 2 NaN\n\nSetting ``numeric_only=True``, only the mode of numeric columns is\ncomputed, and columns of other types are ignored.\n\n>>> df.mode(numeric_only=True)\n legs wings\n0 2.0 0.0\n1 NaN 2.0\n\nTo compute the mode over columns and not rows, use the axis parameter:\n\n>>> df.mode(axis='columns', numeric_only=True)\n 0 1\nfalcon 2.0 NaN\nhorse 4.0 NaN\nspider 0.0 8.0\nostrich 2.0 NaN\n"}, "kind": 2, "label": "mode", "sortText": "109"}, {"detail": "bound method DataFrame.mul(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "mul", "sortText": "110"}, {"detail": "(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "multiply", "sortText": "111"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "name", "sortText": "112"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "ndim", "sortText": "113"}, {"detail": "bound method DataFrame.ne(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "ne", "sortText": "114"}, {"detail": "bound method DataFrame.nlargest(n: int, columns: Hashable | Sequence[Hashable], keep: Literal[\"first\", \"last\", \"all\"] = \"first\") -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the first `n` rows ordered by `columns` in descending order.\n\nReturn the first `n` rows with the largest values in `columns`, in\ndescending order. The columns that are not specified are returned as\nwell, but not used for ordering.\n\nThis method is equivalent to\n``df.sort_values(columns, ascending=False).head(n)``, but more\nperformant.\n\nParameters\n----------\nn : int\n Number of rows to return.\ncolumns : label or list of labels\n Column label(s) to order by.\nkeep : {'first', 'last', 'all'}, default 'first'\n Where there are duplicate values:\n\n - ``first`` : prioritize the first occurrence(s)\n - ``last`` : prioritize the last occurrence(s)\n - ``all`` : keep all the ties of the smallest item even if it means\n selecting more than ``n`` items.\n\nReturns\n-------\nDataFrame\n The first `n` rows ordered by the given columns in descending\n order.\n\nSee Also\n--------\nDataFrame.nsmallest : Return the first `n` rows ordered by `columns` in\n ascending order.\nDataFrame.sort_values : Sort DataFrame by the values.\nDataFrame.head : Return the first `n` rows without re-ordering.\n\nNotes\n-----\nThis function cannot be used with all column types. For example, when\nspecifying columns with `object` or `category` dtypes, ``TypeError`` is\nraised.\n\nExamples\n--------\n>>> df = pd.DataFrame({'population': [59000000, 65000000, 434000,\n... 434000, 434000, 337000, 11300,\n... 11300, 11300],\n... 'GDP': [1937894, 2583560 , 12011, 4520, 12128,\n... 17036, 182, 38, 311],\n... 'alpha-2': [\"IT\", \"FR\", \"MT\", \"MV\", \"BN\",\n... \"IS\", \"NR\", \"TV\", \"AI\"]},\n... index=[\"Italy\", \"France\", \"Malta\",\n... \"Maldives\", \"Brunei\", \"Iceland\",\n... \"Nauru\", \"Tuvalu\", \"Anguilla\"])\n>>> df\n population GDP alpha-2\nItaly 59000000 1937894 IT\nFrance 65000000 2583560 FR\nMalta 434000 12011 MT\nMaldives 434000 4520 MV\nBrunei 434000 12128 BN\nIceland 337000 17036 IS\nNauru 11300 182 NR\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\n\nIn the following example, we will use ``nlargest`` to select the three\nrows having the largest values in column \"population\".\n\n>>> df.nlargest(3, 'population')\n population GDP alpha-2\nFrance 65000000 2583560 FR\nItaly 59000000 1937894 IT\nMalta 434000 12011 MT\n\nWhen using ``keep='last'``, ties are resolved in reverse order:\n\n>>> df.nlargest(3, 'population', keep='last')\n population GDP alpha-2\nFrance 65000000 2583560 FR\nItaly 59000000 1937894 IT\nBrunei 434000 12128 BN\n\nWhen using ``keep='all'``, the number of element kept can go beyond ``n``\nif there are duplicate values for the smallest element, all the\nties are kept:\n\n>>> df.nlargest(3, 'population', keep='all')\n population GDP alpha-2\nFrance 65000000 2583560 FR\nItaly 59000000 1937894 IT\nMalta 434000 12011 MT\nMaldives 434000 4520 MV\nBrunei 434000 12128 BN\n\nHowever, ``nlargest`` does not keep ``n`` distinct largest elements:\n\n>>> df.nlargest(5, 'population', keep='all')\n population GDP alpha-2\nFrance 65000000 2583560 FR\nItaly 59000000 1937894 IT\nMalta 434000 12011 MT\nMaldives 434000 4520 MV\nBrunei 434000 12128 BN\n\nTo order by the largest values in column \"population\" and then \"GDP\",\nwe can specify multiple columns like in the next example.\n\n>>> df.nlargest(3, ['population', 'GDP'])\n population GDP alpha-2\nFrance 65000000 2583560 FR\nItaly 59000000 1937894 IT\nBrunei 434000 12128 BN\n"}, "kind": 2, "label": "nlargest", "sortText": "115"}, {"detail": "bound method DataFrame.notna() -> DataFrame", "kind": 2, "label": "notna", "sortText": "116"}, {"detail": "bound method DataFrame.notnull() -> DataFrame", "documentation": {"kind": "plaintext", "value": "DataFrame.notnull is an alias for DataFrame.notna.\n"}, "kind": 2, "label": "notnull", "sortText": "117"}, {"detail": "bound method DataFrame.nsmallest(n: int, columns: Hashable | Sequence[Hashable], keep: Literal[\"first\", \"last\", \"all\"] = \"first\") -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the first `n` rows ordered by `columns` in ascending order.\n\nReturn the first `n` rows with the smallest values in `columns`, in\nascending order. The columns that are not specified are returned as\nwell, but not used for ordering.\n\nThis method is equivalent to\n``df.sort_values(columns, ascending=True).head(n)``, but more\nperformant.\n\nParameters\n----------\nn : int\n Number of items to retrieve.\ncolumns : list or str\n Column name or names to order by.\nkeep : {'first', 'last', 'all'}, default 'first'\n Where there are duplicate values:\n\n - ``first`` : take the first occurrence.\n - ``last`` : take the last occurrence.\n - ``all`` : keep all the ties of the largest item even if it means\n selecting more than ``n`` items.\n\nReturns\n-------\nDataFrame\n\nSee Also\n--------\nDataFrame.nlargest : Return the first `n` rows ordered by `columns` in\n descending order.\nDataFrame.sort_values : Sort DataFrame by the values.\nDataFrame.head : Return the first `n` rows without re-ordering.\n\nExamples\n--------\n>>> df = pd.DataFrame({'population': [59000000, 65000000, 434000,\n... 434000, 434000, 337000, 337000,\n... 11300, 11300],\n... 'GDP': [1937894, 2583560 , 12011, 4520, 12128,\n... 17036, 182, 38, 311],\n... 'alpha-2': [\"IT\", \"FR\", \"MT\", \"MV\", \"BN\",\n... \"IS\", \"NR\", \"TV\", \"AI\"]},\n... index=[\"Italy\", \"France\", \"Malta\",\n... \"Maldives\", \"Brunei\", \"Iceland\",\n... \"Nauru\", \"Tuvalu\", \"Anguilla\"])\n>>> df\n population GDP alpha-2\nItaly 59000000 1937894 IT\nFrance 65000000 2583560 FR\nMalta 434000 12011 MT\nMaldives 434000 4520 MV\nBrunei 434000 12128 BN\nIceland 337000 17036 IS\nNauru 337000 182 NR\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\n\nIn the following example, we will use ``nsmallest`` to select the\nthree rows having the smallest values in column \"population\".\n\n>>> df.nsmallest(3, 'population')\n population GDP alpha-2\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\nIceland 337000 17036 IS\n\nWhen using ``keep='last'``, ties are resolved in reverse order:\n\n>>> df.nsmallest(3, 'population', keep='last')\n population GDP alpha-2\nAnguilla 11300 311 AI\nTuvalu 11300 38 TV\nNauru 337000 182 NR\n\nWhen using ``keep='all'``, the number of element kept can go beyond ``n``\nif there are duplicate values for the largest element, all the\nties are kept.\n\n>>> df.nsmallest(3, 'population', keep='all')\n population GDP alpha-2\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\nIceland 337000 17036 IS\nNauru 337000 182 NR\n\nHowever, ``nsmallest`` does not keep ``n`` distinct\nsmallest elements:\n\n>>> df.nsmallest(4, 'population', keep='all')\n population GDP alpha-2\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\nIceland 337000 17036 IS\nNauru 337000 182 NR\n\nTo order by the smallest values in column \"population\" and then \"GDP\", we can\nspecify multiple columns like in the next example.\n\n>>> df.nsmallest(3, ['population', 'GDP'])\n population GDP alpha-2\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\nNauru 337000 182 NR\n"}, "kind": 2, "label": "nsmallest", "sortText": "118"}, {"detail": "bound method DataFrame.nunique(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, dropna: bool = True) -> Series", "documentation": {"kind": "plaintext", "value": "Count number of distinct elements in specified axis.\n\nReturn Series with number of distinct elements. Can ignore NaN\nvalues.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to use. 0 or 'index' for row-wise, 1 or 'columns' for\n column-wise.\ndropna : bool, default True\n Don't include NaN in the counts.\n\nReturns\n-------\nSeries\n\nSee Also\n--------\nSeries.nunique: Method nunique for Series.\nDataFrame.count: Count non-NA cells for each column or row.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [4, 5, 6], 'B': [4, 1, 1]})\n>>> df.nunique()\nA 3\nB 2\ndtype: int64\n\n>>> df.nunique(axis=1)\n0 1\n1 2\n2 2\ndtype: int64\n"}, "kind": 2, "label": "nunique", "sortText": "119"}, {"detail": "bound method DataFrame.pad(*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = None, inplace: bool = False, limit: None | int = None, downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame | None", "documentation": {"kind": "plaintext", "value": "Fill NA/NaN values by propagating the last valid observation to next valid.\n\n.. deprecated:: 2.0\n\n {klass}.pad is deprecated. Use {klass}.ffill instead.\n\nReturns\n-------\n{klass} or None\n Object with missing values filled or None if ``inplace=True``.\n\nExamples\n--------\nPlease see examples for :meth:`DataFrame.ffill` or :meth:`Series.ffill`.\n"}, "kind": 2, "label": "pad", "sortText": "120"}, {"detail": "bound method DataFrame.pct_change(periods: int = 1, fill_method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None | _NoDefault = ..., limit: int | None | _NoDefault = ..., freq=None, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Fractional change between the current and a prior element.\n\nComputes the fractional change from the immediately previous row by\ndefault. This is useful in comparing the fraction of change in a time\nseries of elements.\n\n.. note::\n\n Despite the name of this method, it calculates fractional change\n (also known as per unit change or relative change) and not\n percentage change. If you need the percentage change, multiply\n these values by 100.\n\nParameters\n----------\nperiods : int, default 1\n Periods to shift for forming percent change.\nfill_method : {'backfill', 'bfill', 'pad', 'ffill', None}, default 'pad'\n How to handle NAs **before** computing percent changes.\n\n .. deprecated:: 2.1\n All options of `fill_method` are deprecated except `fill_method=None`.\n\nlimit : int, default None\n The number of consecutive NAs to fill before stopping.\n\n .. deprecated:: 2.1\n\nfreq : DateOffset, timedelta, or str, optional\n Increment to use from time series API (e.g. 'ME' or BDay()).\n**kwargs\n Additional keyword arguments are passed into\n `DataFrame.shift` or `Series.shift`.\n\nReturns\n-------\nSeries or DataFrame\n The same type as the calling object.\n\nSee Also\n--------\nSeries.diff : Compute the difference of two elements in a Series.\nDataFrame.diff : Compute the difference of two elements in a DataFrame.\nSeries.shift : Shift the index by some number of periods.\nDataFrame.shift : Shift the index by some number of periods.\n\nExamples\n--------\n**Series**\n\n>>> s = pd.Series([90, 91, 85])\n>>> s\n0 90\n1 91\n2 85\ndtype: int64\n\n>>> s.pct_change()\n0 NaN\n1 0.011111\n2 -0.065934\ndtype: float64\n\n>>> s.pct_change(periods=2)\n0 NaN\n1 NaN\n2 -0.055556\ndtype: float64\n\nSee the percentage change in a Series where filling NAs with last\nvalid observation forward to next valid.\n\n>>> s = pd.Series([90, 91, None, 85])\n>>> s\n0 90.0\n1 91.0\n2 NaN\n3 85.0\ndtype: float64\n\n>>> s.ffill().pct_change()\n0 NaN\n1 0.011111\n2 0.000000\n3 -0.065934\ndtype: float64\n\n**DataFrame**\n\nPercentage change in French franc, Deutsche Mark, and Italian lira from\n1980-01-01 to 1980-03-01.\n\n>>> df = pd.DataFrame({\n... 'FR': [4.0405, 4.0963, 4.3149],\n... 'GR': [1.7246, 1.7482, 1.8519],\n... 'IT': [804.74, 810.01, 860.13]},\n... index=['1980-01-01', '1980-02-01', '1980-03-01'])\n>>> df\n FR GR IT\n1980-01-01 4.0405 1.7246 804.74\n1980-02-01 4.0963 1.7482 810.01\n1980-03-01 4.3149 1.8519 860.13\n\n>>> df.pct_change()\n FR GR IT\n1980-01-01 NaN NaN NaN\n1980-02-01 0.013810 0.013684 0.006549\n1980-03-01 0.053365 0.059318 0.061876\n\nPercentage of change in GOOG and APPL stock volume. Shows computing\nthe percentage change between columns.\n\n>>> df = pd.DataFrame({\n... '2016': [1769950, 30586265],\n... '2015': [1500923, 40912316],\n... '2014': [1371819, 41403351]},\n... index=['GOOG', 'APPL'])\n>>> df\n 2016 2015 2014\nGOOG 1769950 1500923 1371819\nAPPL 30586265 40912316 41403351\n\n>>> df.pct_change(axis='columns', periods=-1)\n 2016 2015 2014\nGOOG 0.179241 0.094112 NaN\nAPPL -0.252395 -0.011860 NaN\n"}, "kind": 2, "label": "pct_change", "sortText": "121"}, {"detail": "bound method DataFrame.pipe[T](func: ((...) -> T) | tuple[(...) -> T, str], *args, **kwargs) -> T", "documentation": {"kind": "plaintext", "value": "Apply chainable functions that expect Series or DataFrames.\n\nParameters\n----------\nfunc : function\n Function to apply to the {klass}.\n ``args``, and ``kwargs`` are passed into ``func``.\n Alternatively a ``(callable, data_keyword)`` tuple where\n ``data_keyword`` is a string indicating the keyword of\n ``callable`` that expects the {klass}.\n*args : iterable, optional\n Positional arguments passed into ``func``.\n**kwargs : mapping, optional\n A dictionary of keyword arguments passed into ``func``.\n\nReturns\n-------\nthe return type of ``func``.\n\nSee Also\n--------\nDataFrame.apply : Apply a function along input axis of DataFrame.\nDataFrame.map : Apply a function elementwise on a whole DataFrame.\nSeries.map : Apply a mapping correspondence on a\n :class:`~pandas.Series`.\n\nNotes\n-----\nUse ``.pipe`` when chaining together functions that expect\nSeries, DataFrames or GroupBy objects.\n\nExamples\n--------\nConstructing a income DataFrame from a dictionary.\n\n>>> data = [[8000, 1000], [9500, np.nan], [5000, 2000]]\n>>> df = pd.DataFrame(data, columns=['Salary', 'Others'])\n>>> df\n Salary Others\n0 8000 1000.0\n1 9500 NaN\n2 5000 2000.0\n\nFunctions that perform tax reductions on an income DataFrame.\n\n>>> def subtract_federal_tax(df):\n... return df * 0.9\n>>> def subtract_state_tax(df, rate):\n... return df * (1 - rate)\n>>> def subtract_national_insurance(df, rate, rate_increase):\n... new_rate = rate + rate_increase\n... return df * (1 - new_rate)\n\nInstead of writing\n\n>>> subtract_national_insurance(\n... subtract_state_tax(subtract_federal_tax(df), rate=0.12),\n... rate=0.05,\n... rate_increase=0.02) # doctest: +SKIP\n\nYou can write\n\n>>> (\n... df.pipe(subtract_federal_tax)\n... .pipe(subtract_state_tax, rate=0.12)\n... .pipe(subtract_national_insurance, rate=0.05, rate_increase=0.02)\n... )\n Salary Others\n0 5892.48 736.56\n1 6997.32 NaN\n2 3682.80 1473.12\n\nIf you have a function that takes the data as (say) the second\nargument, pass a tuple indicating which keyword expects the\ndata. For example, suppose ``national_insurance`` takes its data as ``df``\nin the second argument:\n\n>>> def subtract_national_insurance(rate, df, rate_increase):\n... new_rate = rate + rate_increase\n... return df * (1 - new_rate)\n>>> (\n... df.pipe(subtract_federal_tax)\n... .pipe(subtract_state_tax, rate=0.12)\n... .pipe(\n... (subtract_national_insurance, 'df'),\n... rate=0.05,\n... rate_increase=0.02\n... )\n... )\n Salary Others\n0 5892.48 736.56\n1 6997.32 NaN\n2 3682.80 1473.12\n"}, "kind": 2, "label": "pipe", "sortText": "122"}, {"detail": "bound method DataFrame.pivot(*, columns, index=..., values=...) -> DataFrame", "kind": 2, "label": "pivot", "sortText": "123"}, {"detail": "bound method DataFrame.pivot_table(values=None, index=None, columns=None, aggfunc: ((...) -> Unknown) | str | list[((...) -> Unknown) | str] | MutableMapping[Hashable, ((...) -> Unknown) | str | list[((...) -> Unknown) | str]] = \"mean\", fill_value=None, margins: bool = False, dropna: bool = True, margins_name: Hashable = \"All\", observed: bool | _NoDefault = ..., sort: bool = True) -> DataFrame", "kind": 2, "label": "pivot_table", "sortText": "124"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "plot", "sortText": "125"}, {"detail": "bound method DataFrame.pop(item: Hashable) -> Series", "documentation": {"kind": "plaintext", "value": "Return item and drop from frame. Raise KeyError if not found.\n\nParameters\n----------\nitem : label\n Label of column to be popped.\n\nReturns\n-------\nSeries\n\nExamples\n--------\n>>> df = pd.DataFrame([('falcon', 'bird', 389.0),\n... ('parrot', 'bird', 24.0),\n... ('lion', 'mammal', 80.5),\n... ('monkey', 'mammal', np.nan)],\n... columns=('name', 'class', 'max_speed'))\n>>> df\n name class max_speed\n0 falcon bird 389.0\n1 parrot bird 24.0\n2 lion mammal 80.5\n3 monkey mammal NaN\n\n>>> df.pop('class')\n0 bird\n1 bird\n2 mammal\n3 mammal\nName: class, dtype: object\n\n>>> df\n name max_speed\n0 falcon 389.0\n1 parrot 24.0\n2 lion 80.5\n3 monkey NaN\n"}, "kind": 2, "label": "pop", "sortText": "126"}, {"detail": "bound method DataFrame.pow(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "pow", "sortText": "127"}, {"detail": "bound method DataFrame.prod(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, min_count: int = 0, **kwargs) -> Unknown", "kind": 2, "label": "prod", "sortText": "128"}, {"detail": "(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, min_count: int = 0, **kwargs) -> Unknown", "kind": 2, "label": "product", "sortText": "129"}, {"detail": "Overload[(q: float = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., numeric_only: bool = ..., interpolation: Literal[\"linear\", \"lower\", \"higher\", \"midpoint\", \"nearest\"] = ..., method: Literal[\"single\", \"table\"] = ...) -> Series, (q: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | Series | Sequence[float], axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., numeric_only: bool = ..., interpolation: Literal[\"linear\", \"lower\", \"higher\", \"midpoint\", \"nearest\"] = ..., method: Literal[\"single\", \"table\"] = ...) -> Series | DataFrame, (q: float | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | ... omitted 3 union elements = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., numeric_only: bool = ..., interpolation: Literal[\"linear\", \"lower\", \"higher\", \"midpoint\", \"nearest\"] = ..., method: Literal[\"single\", \"table\"] = ...) -> Series | DataFrame]", "documentation": {"kind": "plaintext", "value": "Return values at the given quantile over requested axis.\n\nParameters\n----------\nq : float or array-like, default 0.5 (50% quantile)\n Value between 0 <= q <= 1, the quantile(s) to compute.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Equals 0 or 'index' for row-wise, 1 or 'columns' for column-wise.\nnumeric_only : bool, default False\n Include only `float`, `int` or `boolean` data.\n\n .. versionchanged:: 2.0.0\n The default value of ``numeric_only`` is now ``False``.\n\ninterpolation : {'linear', 'lower', 'higher', 'midpoint', 'nearest'}\n This optional parameter specifies the interpolation method to use,\n when the desired quantile lies between two data points `i` and `j`:\n\n * linear: `i + (j - i) * fraction`, where `fraction` is the\n fractional part of the index surrounded by `i` and `j`.\n * lower: `i`.\n * higher: `j`.\n * nearest: `i` or `j` whichever is nearest.\n * midpoint: (`i` + `j`) / 2.\nmethod : {'single', 'table'}, default 'single'\n Whether to compute quantiles per-column ('single') or over all columns\n ('table'). When 'table', the only allowed interpolation methods are\n 'nearest', 'lower', and 'higher'.\n\nReturns\n-------\nSeries or DataFrame\n\n If ``q`` is an array, a DataFrame will be returned where the\n index is ``q``, the columns are the columns of self, and the\n values are the quantiles.\n If ``q`` is a float, a Series will be returned where the\n index is the columns of self and the values are the quantiles.\n\nSee Also\n--------\ncore.window.rolling.Rolling.quantile: Rolling quantile.\nnumpy.percentile: Numpy function to compute the percentile.\n\nExamples\n--------\n>>> df = pd.DataFrame(np.array([[1, 1], [2, 10], [3, 100], [4, 100]]),\n... columns=['a', 'b'])\n>>> df.quantile(.1)\na 1.3\nb 3.7\nName: 0.1, dtype: float64\n>>> df.quantile([.1, .5])\n a b\n0.1 1.3 3.7\n0.5 2.5 55.0\n\nSpecifying `method='table'` will compute the quantile over all columns.\n\n>>> df.quantile(.1, method=\"table\", interpolation=\"nearest\")\na 1\nb 1\nName: 0.1, dtype: int64\n>>> df.quantile([.1, .5], method=\"table\", interpolation=\"nearest\")\n a b\n0.1 1 1\n0.5 3 100\n\nSpecifying `numeric_only=False` will also compute the quantile of\ndatetime and timedelta data.\n\n>>> df = pd.DataFrame({'A': [1, 2],\n... 'B': [pd.Timestamp('2010'),\n... pd.Timestamp('2011')],\n... 'C': [pd.Timedelta('1 days'),\n... pd.Timedelta('2 days')]})\n>>> df.quantile(0.5, numeric_only=False)\nA 1.5\nB 2010-07-02 12:00:00\nC 1 days 12:00:00\nName: 0.5, dtype: object\n"}, "kind": 2, "label": "quantile", "sortText": "130"}, {"detail": "Overload[(expr: str, *, inplace: Literal[False] = ..., **kwargs) -> DataFrame, (expr: str, *, inplace: Literal[True], **kwargs) -> None, (expr: str, *, inplace: bool = ..., **kwargs) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Query the columns of a DataFrame with a boolean expression.\n\nParameters\n----------\nexpr : str\n The query string to evaluate.\n\n You can refer to variables\n in the environment by prefixing them with an '@' character like\n ``@a + b``.\n\n You can refer to column names that are not valid Python variable names\n by surrounding them in backticks. Thus, column names containing spaces\n or punctuations (besides underscores) or starting with digits must be\n surrounded by backticks. (For example, a column named \"Area (cm^2)\" would\n be referenced as ```Area (cm^2)```). Column names which are Python keywords\n (like \"list\", \"for\", \"import\", etc) cannot be used.\n\n For example, if one of your columns is called ``a a`` and you want\n to sum it with ``b``, your query should be ```a a` + b``.\n\ninplace : bool\n Whether to modify the DataFrame rather than creating a new one.\n**kwargs\n See the documentation for :func:`eval` for complete details\n on the keyword arguments accepted by :meth:`DataFrame.query`.\n\nReturns\n-------\nDataFrame or None\n DataFrame resulting from the provided query expression or\n None if ``inplace=True``.\n\nSee Also\n--------\neval : Evaluate a string describing operations on\n DataFrame columns.\nDataFrame.eval : Evaluate a string describing operations on\n DataFrame columns.\n\nNotes\n-----\nThe result of the evaluation of this expression is first passed to\n:attr:`DataFrame.loc` and if that fails because of a\nmultidimensional key (e.g., a DataFrame) then the result will be passed\nto :meth:`DataFrame.__getitem__`.\n\nThis method uses the top-level :func:`eval` function to\nevaluate the passed query.\n\nThe :meth:`~pandas.DataFrame.query` method uses a slightly\nmodified Python syntax by default. For example, the ``&`` and ``|``\n(bitwise) operators have the precedence of their boolean cousins,\n:keyword:`and` and :keyword:`or`. This *is* syntactically valid Python,\nhowever the semantics are different.\n\nYou can change the semantics of the expression by passing the keyword\nargument ``parser='python'``. This enforces the same semantics as\nevaluation in Python space. Likewise, you can pass ``engine='python'``\nto evaluate an expression using Python itself as a backend. This is not\nrecommended as it is inefficient compared to using ``numexpr`` as the\nengine.\n\nThe :attr:`DataFrame.index` and\n:attr:`DataFrame.columns` attributes of the\n:class:`~pandas.DataFrame` instance are placed in the query namespace\nby default, which allows you to treat both the index and columns of the\nframe as a column in the frame.\nThe identifier ``index`` is used for the frame index; you can also\nuse the name of the index to identify it in a query. Please note that\nPython keywords may not be used as identifiers.\n\nFor further details and examples see the ``query`` documentation in\n:ref:`indexing `.\n\n*Backtick quoted variables*\n\nBacktick quoted variables are parsed as literal Python code and\nare converted internally to a Python valid identifier.\nThis can lead to the following problems.\n\nDuring parsing a number of disallowed characters inside the backtick\nquoted string are replaced by strings that are allowed as a Python identifier.\nThese characters include all operators in Python, the space character, the\nquestion mark, the exclamation mark, the dollar sign, and the euro sign.\nFor other characters that fall outside the ASCII range (U+0001..U+007F)\nand those that are not further specified in PEP 3131,\nthe query parser will raise an error.\nThis excludes whitespace different than the space character,\nbut also the hashtag (as it is used for comments) and the backtick\nitself (backtick can also not be escaped).\n\nIn a special case, quotes that make a pair around a backtick can\nconfuse the parser.\nFor example, ```it's` > `that's``` will raise an error,\nas it forms a quoted string (``'s > `that'``) with a backtick inside.\n\nSee also the Python documentation about lexical analysis\n(https://docs.python.org/3/reference/lexical_analysis.html)\nin combination with the source code in :mod:`pandas.core.computation.parsing`.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': range(1, 6),\n... 'B': range(10, 0, -2),\n... 'C C': range(10, 5, -1)})\n>>> df\n A B C C\n0 1 10 10\n1 2 8 9\n2 3 6 8\n3 4 4 7\n4 5 2 6\n>>> df.query('A > B')\n A B C C\n4 5 2 6\n\nThe previous expression is equivalent to\n\n>>> df[df.A > df.B]\n A B C C\n4 5 2 6\n\nFor columns with spaces in their name, you can use backtick quoting.\n\n>>> df.query('B == `C C`')\n A B C C\n0 1 10 10\n\nThe previous expression is equivalent to\n\n>>> df[df.B == df['C C']]\n A B C C\n0 1 10 10\n"}, "kind": 2, "label": "query", "sortText": "131"}, {"detail": "bound method DataFrame.radd(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "radd", "sortText": "132"}, {"detail": "bound method DataFrame.rank(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, method: Literal[\"average\", \"min\", \"max\", \"first\", \"dense\"] = \"average\", numeric_only: bool = False, na_option: Literal[\"keep\", \"top\", \"bottom\"] = \"keep\", ascending: bool = True, pct: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Compute numerical data ranks (1 through n) along axis.\n\nBy default, equal values are assigned a rank that is the average of the\nranks of those values.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Index to direct ranking.\n For `Series` this parameter is unused and defaults to 0.\nmethod : {'average', 'min', 'max', 'first', 'dense'}, default 'average'\n How to rank the group of records that have the same value (i.e. ties):\n\n * average: average rank of the group\n * min: lowest rank in the group\n * max: highest rank in the group\n * first: ranks assigned in order they appear in the array\n * dense: like 'min', but rank always increases by 1 between groups.\n\nnumeric_only : bool, default False\n For DataFrame objects, rank only numeric columns if set to True.\n\n .. versionchanged:: 2.0.0\n The default value of ``numeric_only`` is now ``False``.\n\nna_option : {'keep', 'top', 'bottom'}, default 'keep'\n How to rank NaN values:\n\n * keep: assign NaN rank to NaN values\n * top: assign lowest rank to NaN values\n * bottom: assign highest rank to NaN values\n\nascending : bool, default True\n Whether or not the elements should be ranked in ascending order.\npct : bool, default False\n Whether or not to display the returned rankings in percentile\n form.\n\nReturns\n-------\nsame type as caller\n Return a Series or DataFrame with data ranks as values.\n\nSee Also\n--------\ncore.groupby.DataFrameGroupBy.rank : Rank of values within each group.\ncore.groupby.SeriesGroupBy.rank : Rank of values within each group.\n\nExamples\n--------\n>>> df = pd.DataFrame(data={'Animal': ['cat', 'penguin', 'dog',\n... 'spider', 'snake'],\n... 'Number_legs': [4, 2, 4, 8, np.nan]})\n>>> df\n Animal Number_legs\n0 cat 4.0\n1 penguin 2.0\n2 dog 4.0\n3 spider 8.0\n4 snake NaN\n\nTies are assigned the mean of the ranks (by default) for the group.\n\n>>> s = pd.Series(range(5), index=list(\"abcde\"))\n>>> s[\"d\"] = s[\"b\"]\n>>> s.rank()\na 1.0\nb 2.5\nc 4.0\nd 2.5\ne 5.0\ndtype: float64\n\nThe following example shows how the method behaves with the above\nparameters:\n\n* default_rank: this is the default behaviour obtained without using\n any parameter.\n* max_rank: setting ``method = 'max'`` the records that have the\n same values are ranked using the highest rank (e.g.: since 'cat'\n and 'dog' are both in the 2nd and 3rd position, rank 3 is assigned.)\n* NA_bottom: choosing ``na_option = 'bottom'``, if there are records\n with NaN values they are placed at the bottom of the ranking.\n* pct_rank: when setting ``pct = True``, the ranking is expressed as\n percentile rank.\n\n>>> df['default_rank'] = df['Number_legs'].rank()\n>>> df['max_rank'] = df['Number_legs'].rank(method='max')\n>>> df['NA_bottom'] = df['Number_legs'].rank(na_option='bottom')\n>>> df['pct_rank'] = df['Number_legs'].rank(pct=True)\n>>> df\n Animal Number_legs default_rank max_rank NA_bottom pct_rank\n0 cat 4.0 2.5 3.0 2.5 0.625\n1 penguin 2.0 1.0 1.0 1.0 0.250\n2 dog 4.0 2.5 3.0 2.5 0.625\n3 spider 8.0 4.0 4.0 4.0 1.000\n4 snake NaN NaN NaN 5.0 NaN\n"}, "kind": 2, "label": "rank", "sortText": "133"}, {"detail": "(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rdiv", "sortText": "134"}, {"detail": "bound method DataFrame.reindex(labels=None, *, index=None, columns=None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\", \"nearest\"] | None = None, copy: bool | None = None, level: Hashable = None, fill_value: str | float | Period | ... omitted 6 union elements = ..., limit: int | None = None, tolerance=None) -> DataFrame", "kind": 2, "label": "reindex", "sortText": "135"}, {"detail": "bound method DataFrame.reindex_like(other, method: Literal[\"backfill\", \"bfill\", \"pad\", \"ffill\", \"nearest\"] | None = None, copy: bool | None = None, limit: int | None = None, tolerance=None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return an object with matching indices as other object.\n\nConform the object to the same index on all axes. Optional\nfilling logic, placing NaN in locations having no value\nin the previous index. A new object is produced unless the\nnew index is equivalent to the current one and copy=False.\n\nParameters\n----------\nother : Object of the same data type\n Its row and column indices are used to define the new indices\n of this object.\nmethod : {None, 'backfill'/'bfill', 'pad'/'ffill', 'nearest'}\n Method to use for filling holes in reindexed DataFrame.\n Please note: this is only applicable to DataFrames/Series with a\n monotonically increasing/decreasing index.\n\n * None (default): don't fill gaps\n * pad / ffill: propagate last valid observation forward to next\n valid\n * backfill / bfill: use next valid observation to fill gap\n * nearest: use nearest valid observations to fill gap.\n\ncopy : bool, default True\n Return a new object, even if the passed indexes are the same.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\nlimit : int, default None\n Maximum number of consecutive labels to fill for inexact matches.\ntolerance : optional\n Maximum distance between original and new labels for inexact\n matches. The values of the index at the matching locations must\n satisfy the equation ``abs(index[indexer] - target) <= tolerance``.\n\n Tolerance may be a scalar value, which applies the same tolerance\n to all values, or list-like, which applies variable tolerance per\n element. List-like includes list, tuple, array, Series, and must be\n the same size as the index and its dtype must exactly match the\n index's type.\n\nReturns\n-------\nSeries or DataFrame\n Same type as caller, but with changed indices on each axis.\n\nSee Also\n--------\nDataFrame.set_index : Set row labels.\nDataFrame.reset_index : Remove row labels or move them to new columns.\nDataFrame.reindex : Change to new indices or expand indices.\n\nNotes\n-----\nSame as calling\n``.reindex(index=other.index, columns=other.columns,...)``.\n\nExamples\n--------\n>>> df1 = pd.DataFrame([[24.3, 75.7, 'high'],\n... [31, 87.8, 'high'],\n... [22, 71.6, 'medium'],\n... [35, 95, 'medium']],\n... columns=['temp_celsius', 'temp_fahrenheit',\n... 'windspeed'],\n... index=pd.date_range(start='2014-02-12',\n... end='2014-02-15', freq='D'))\n\n>>> df1\n temp_celsius temp_fahrenheit windspeed\n2014-02-12 24.3 75.7 high\n2014-02-13 31.0 87.8 high\n2014-02-14 22.0 71.6 medium\n2014-02-15 35.0 95.0 medium\n\n>>> df2 = pd.DataFrame([[28, 'low'],\n... [30, 'low'],\n... [35.1, 'medium']],\n... columns=['temp_celsius', 'windspeed'],\n... index=pd.DatetimeIndex(['2014-02-12', '2014-02-13',\n... '2014-02-15']))\n\n>>> df2\n temp_celsius windspeed\n2014-02-12 28.0 low\n2014-02-13 30.0 low\n2014-02-15 35.1 medium\n\n>>> df2.reindex_like(df1)\n temp_celsius temp_fahrenheit windspeed\n2014-02-12 28.0 NaN low\n2014-02-13 30.0 NaN low\n2014-02-14 NaN NaN NaN\n2014-02-15 35.1 NaN medium\n"}, "kind": 2, "label": "reindex_like", "sortText": "136"}, {"detail": "Overload[(mapper: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., *, index: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., columns: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., copy: bool | None = ..., inplace: Literal[True], level: Hashable = ..., errors: Literal[\"ignore\", \"raise\"] = ...) -> None, (mapper: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., *, index: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., columns: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., copy: bool | None = ..., inplace: Literal[False] = ..., level: Hashable = ..., errors: Literal[\"ignore\", \"raise\"] = ...) -> DataFrame, (mapper: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., *, index: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., columns: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., copy: bool | None = ..., inplace: bool = ..., level: Hashable = ..., errors: Literal[\"ignore\", \"raise\"] = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Rename columns or index labels.\n\nFunction / dict values must be unique (1-to-1). Labels not contained in\na dict / Series will be left as-is. Extra labels listed don't throw an\nerror.\n\nSee the :ref:`user guide ` for more.\n\nParameters\n----------\nmapper : dict-like or function\n Dict-like or function transformations to apply to\n that axis' values. Use either ``mapper`` and ``axis`` to\n specify the axis to target with ``mapper``, or ``index`` and\n ``columns``.\nindex : dict-like or function\n Alternative to specifying axis (``mapper, axis=0``\n is equivalent to ``index=mapper``).\ncolumns : dict-like or function\n Alternative to specifying axis (``mapper, axis=1``\n is equivalent to ``columns=mapper``).\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Axis to target with ``mapper``. Can be either the axis name\n ('index', 'columns') or number (0, 1). The default is 'index'.\ncopy : bool, default True\n Also copy underlying data.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\ninplace : bool, default False\n Whether to modify the DataFrame rather than creating a new one.\n If True then value of copy is ignored.\nlevel : int or level name, default None\n In case of a MultiIndex, only rename labels in the specified\n level.\nerrors : {'ignore', 'raise'}, default 'ignore'\n If 'raise', raise a `KeyError` when a dict-like `mapper`, `index`,\n or `columns` contains labels that are not present in the Index\n being transformed.\n If 'ignore', existing keys will be renamed and extra keys will be\n ignored.\n\nReturns\n-------\nDataFrame or None\n DataFrame with the renamed axis labels or None if ``inplace=True``.\n\nRaises\n------\nKeyError\n If any of the labels is not found in the selected axis and\n \"errors='raise'\".\n\nSee Also\n--------\nDataFrame.rename_axis : Set the name of the axis.\n\nExamples\n--------\n``DataFrame.rename`` supports two calling conventions\n\n* ``(index=index_mapper, columns=columns_mapper, ...)``\n* ``(mapper, axis={'index', 'columns'}, ...)``\n\nWe *highly* recommend using keyword arguments to clarify your\nintent.\n\nRename columns using a mapping:\n\n>>> df = pd.DataFrame({\"A\": [1, 2, 3], \"B\": [4, 5, 6]})\n>>> df.rename(columns={\"A\": \"a\", \"B\": \"c\"})\n a c\n0 1 4\n1 2 5\n2 3 6\n\nRename index using a mapping:\n\n>>> df.rename(index={0: \"x\", 1: \"y\", 2: \"z\"})\n A B\nx 1 4\ny 2 5\nz 3 6\n\nCast index labels to a different type:\n\n>>> df.index\nRangeIndex(start=0, stop=3, step=1)\n>>> df.rename(index=str).index\nIndex(['0', '1', '2'], dtype='object')\n\n>>> df.rename(columns={\"A\": \"a\", \"B\": \"b\", \"C\": \"c\"}, errors=\"raise\")\nTraceback (most recent call last):\nKeyError: ['C'] not found in axis\n\nUsing axis-style parameters:\n\n>>> df.rename(str.lower, axis='columns')\n a b\n0 1 4\n1 2 5\n2 3 6\n\n>>> df.rename({1: 2, 2: 4}, axis='index')\n A B\n0 1 4\n2 2 5\n4 3 6\n"}, "kind": 2, "label": "rename", "sortText": "137"}, {"detail": "Overload[(mapper: Hashable | Sequence[Hashable] = ..., *, index=..., columns=..., axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., copy: bool | None = ..., inplace: Literal[False] = ...) -> DataFrame, (mapper: Hashable | Sequence[Hashable] = ..., *, index=..., columns=..., axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., copy: bool | None = ..., inplace: Literal[True]) -> None, (mapper: Hashable | Sequence[Hashable] = ..., *, index=..., columns=..., axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., copy: bool | None = ..., inplace: bool = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Set the name of the axis for the index or columns.\n\nParameters\n----------\nmapper : scalar, list-like, optional\n Value to set the axis name attribute.\nindex, columns : scalar, list-like, dict-like or function, optional\n A scalar, list-like, dict-like or functions transformations to\n apply to that axis' values.\n Note that the ``columns`` parameter is not allowed if the\n object is a Series. This parameter only apply for DataFrame\n type objects.\n\n Use either ``mapper`` and ``axis`` to\n specify the axis to target with ``mapper``, or ``index``\n and/or ``columns``.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to rename. For `Series` this parameter is unused and defaults to 0.\ncopy : bool, default None\n Also copy underlying data.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\ninplace : bool, default False\n Modifies the object directly, instead of creating a new Series\n or DataFrame.\n\nReturns\n-------\nSeries, DataFrame, or None\n The same type as the caller or None if ``inplace=True``.\n\nSee Also\n--------\nSeries.rename : Alter Series index labels or name.\nDataFrame.rename : Alter DataFrame index labels or name.\nIndex.rename : Set new names on index.\n\nNotes\n-----\n``DataFrame.rename_axis`` supports two calling conventions\n\n* ``(index=index_mapper, columns=columns_mapper, ...)``\n* ``(mapper, axis={'index', 'columns'}, ...)``\n\nThe first calling convention will only modify the names of\nthe index and/or the names of the Index object that is the columns.\nIn this case, the parameter ``copy`` is ignored.\n\nThe second calling convention will modify the names of the\ncorresponding index if mapper is a list or a scalar.\nHowever, if mapper is dict-like or a function, it will use the\ndeprecated behavior of modifying the axis *labels*.\n\nWe *highly* recommend using keyword arguments to clarify your\nintent.\n\nExamples\n--------\n**Series**\n\n>>> s = pd.Series([\"dog\", \"cat\", \"monkey\"])\n>>> s\n0 dog\n1 cat\n2 monkey\ndtype: object\n>>> s.rename_axis(\"animal\")\nanimal\n0 dog\n1 cat\n2 monkey\ndtype: object\n\n**DataFrame**\n\n>>> df = pd.DataFrame({\"num_legs\": [4, 4, 2],\n... \"num_arms\": [0, 0, 2]},\n... [\"dog\", \"cat\", \"monkey\"])\n>>> df\n num_legs num_arms\ndog 4 0\ncat 4 0\nmonkey 2 2\n>>> df = df.rename_axis(\"animal\")\n>>> df\n num_legs num_arms\nanimal\ndog 4 0\ncat 4 0\nmonkey 2 2\n>>> df = df.rename_axis(\"limbs\", axis=\"columns\")\n>>> df\nlimbs num_legs num_arms\nanimal\ndog 4 0\ncat 4 0\nmonkey 2 2\n\n**MultiIndex**\n\n>>> df.index = pd.MultiIndex.from_product([['mammal'],\n... ['dog', 'cat', 'monkey']],\n... names=['type', 'name'])\n>>> df\nlimbs num_legs num_arms\ntype name\nmammal dog 4 0\n cat 4 0\n monkey 2 2\n\n>>> df.rename_axis(index={'type': 'class'})\nlimbs num_legs num_arms\nclass name\nmammal dog 4 0\n cat 4 0\n monkey 2 2\n\n>>> df.rename_axis(columns=str.upper)\nLIMBS num_legs num_arms\ntype name\nmammal dog 4 0\n cat 4 0\n monkey 2 2\n"}, "kind": 2, "label": "rename_axis", "sortText": "138"}, {"detail": "bound method DataFrame.reorder_levels(order: Sequence[int | str], axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Rearrange index levels using input order. May not drop or duplicate levels.\n\nParameters\n----------\norder : list of int or list of str\n List representing new level order. Reference level by number\n (position) or by key (label).\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Where to reorder levels.\n\nReturns\n-------\nDataFrame\n\nExamples\n--------\n>>> data = {\n... \"class\": [\"Mammals\", \"Mammals\", \"Reptiles\"],\n... \"diet\": [\"Omnivore\", \"Carnivore\", \"Carnivore\"],\n... \"species\": [\"Humans\", \"Dogs\", \"Snakes\"],\n... }\n>>> df = pd.DataFrame(data, columns=[\"class\", \"diet\", \"species\"])\n>>> df = df.set_index([\"class\", \"diet\"])\n>>> df\n species\nclass diet\nMammals Omnivore Humans\n Carnivore Dogs\nReptiles Carnivore Snakes\n\nLet's reorder the levels of the index:\n\n>>> df.reorder_levels([\"diet\", \"class\"])\n species\ndiet class\nOmnivore Mammals Humans\nCarnivore Mammals Dogs\n Reptiles Snakes\n"}, "kind": 2, "label": "reorder_levels", "sortText": "139"}, {"detail": "Overload[(to_replace=..., value=..., *, inplace: Literal[False] = ..., limit: int | None = ..., regex: bool = ..., method: Literal[\"pad\", \"ffill\", \"bfill\"] | _NoDefault = ...) -> DataFrame, (to_replace=..., value=..., *, inplace: Literal[True], limit: int | None = ..., regex: bool = ..., method: Literal[\"pad\", \"ffill\", \"bfill\"] | _NoDefault = ...) -> None, (to_replace=..., value=..., *, inplace: bool = ..., limit: int | None = ..., regex: bool = ..., method: Literal[\"pad\", \"ffill\", \"bfill\"] | _NoDefault = ...) -> DataFrame | None]", "kind": 2, "label": "replace", "sortText": "140"}, {"detail": "bound method DataFrame.resample(rule, axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., closed: Literal[\"right\", \"left\"] | None = None, label: Literal[\"right\", \"left\"] | None = None, convention: Literal[\"start\", \"end\", \"s\", \"e\"] = \"start\", kind: Literal[\"timestamp\", \"period\"] | None | _NoDefault = ..., on: Hashable = None, level: Hashable = None, origin: str | date | datetime64[Any] | signedinteger[_64Bit] | float = \"start_day\", offset: timedelta | timedelta64[Any] | signedinteger[_64Bit] | ... omitted 3 union elements = None, group_keys: bool = False) -> Resampler", "documentation": {"kind": "plaintext", "value": "Resample time-series data.\n\nConvenience method for frequency conversion and resampling of time series.\nThe object must have a datetime-like index (`DatetimeIndex`, `PeriodIndex`,\nor `TimedeltaIndex`), or the caller must pass the label of a datetime-like\nseries/index to the ``on``/``level`` keyword parameter.\n\nParameters\n----------\nrule : DateOffset, Timedelta or str\n The offset string or object representing target conversion.\naxis : {{0 or 'index', 1 or 'columns'}}, default 0\n Which axis to use for up- or down-sampling. For `Series` this parameter\n is unused and defaults to 0. Must be\n `DatetimeIndex`, `TimedeltaIndex` or `PeriodIndex`.\n\n .. deprecated:: 2.0.0\n Use frame.T.resample(...) instead.\nclosed : {{'right', 'left'}}, default None\n Which side of bin interval is closed. The default is 'left'\n for all frequency offsets except for 'ME', 'YE', 'QE', 'BME',\n 'BA', 'BQE', and 'W' which all have a default of 'right'.\nlabel : {{'right', 'left'}}, default None\n Which bin edge label to label bucket with. The default is 'left'\n for all frequency offsets except for 'ME', 'YE', 'QE', 'BME',\n 'BA', 'BQE', and 'W' which all have a default of 'right'.\nconvention : {{'start', 'end', 's', 'e'}}, default 'start'\n For `PeriodIndex` only, controls whether to use the start or\n end of `rule`.\n\nkind : {{'timestamp', 'period'}}, optional, default None\n Pass 'timestamp' to convert the resulting index to a\n `DateTimeIndex` or 'period' to convert it to a `PeriodIndex`.\n By default the input representation is retained.\n\n .. deprecated:: 2.2.0\n Convert index to desired type explicitly instead.\n\non : str, optional\n For a DataFrame, column to use instead of index for resampling.\n Column must be datetime-like.\nlevel : str or int, optional\n For a MultiIndex, level (name or number) to use for\n resampling. `level` must be datetime-like.\norigin : Timestamp or str, default 'start_day'\n The timestamp on which to adjust the grouping. The timezone of origin\n must match the timezone of the index.\n If string, must be one of the following:\n\n - 'epoch': `origin` is 1970-01-01\n - 'start': `origin` is the first value of the timeseries\n - 'start_day': `origin` is the first day at midnight of the timeseries\n\n - 'end': `origin` is the last value of the timeseries\n - 'end_day': `origin` is the ceiling midnight of the last day\n\n .. versionadded:: 1.3.0\n\n .. note::\n\n Only takes effect for Tick-frequencies (i.e. fixed frequencies like\n days, hours, and minutes, rather than months or quarters).\noffset : Timedelta or str, default is None\n An offset timedelta added to the origin.\n\ngroup_keys : bool, default False\n Whether to include the group keys in the result index when using\n ``.apply()`` on the resampled object.\n\n .. versionadded:: 1.5.0\n\n Not specifying ``group_keys`` will retain values-dependent behavior\n from pandas 1.4 and earlier (see :ref:`pandas 1.5.0 Release notes\n ` for examples).\n\n .. versionchanged:: 2.0.0\n\n ``group_keys`` now defaults to ``False``.\n\nReturns\n-------\npandas.api.typing.Resampler\n :class:`~pandas.core.Resampler` object.\n\nSee Also\n--------\nSeries.resample : Resample a Series.\nDataFrame.resample : Resample a DataFrame.\ngroupby : Group {klass} by mapping, function, label, or list of labels.\nasfreq : Reindex a {klass} with the given frequency without grouping.\n\nNotes\n-----\nSee the `user guide\n`__\nfor more.\n\nTo learn more about the offset strings, please see `this link\n`__.\n\nExamples\n--------\nStart by creating a series with 9 one minute timestamps.\n\n>>> index = pd.date_range('1/1/2000', periods=9, freq='min')\n>>> series = pd.Series(range(9), index=index)\n>>> series\n2000-01-01 00:00:00 0\n2000-01-01 00:01:00 1\n2000-01-01 00:02:00 2\n2000-01-01 00:03:00 3\n2000-01-01 00:04:00 4\n2000-01-01 00:05:00 5\n2000-01-01 00:06:00 6\n2000-01-01 00:07:00 7\n2000-01-01 00:08:00 8\nFreq: min, dtype: int64\n\nDownsample the series into 3 minute bins and sum the values\nof the timestamps falling into a bin.\n\n>>> series.resample('3min').sum()\n2000-01-01 00:00:00 3\n2000-01-01 00:03:00 12\n2000-01-01 00:06:00 21\nFreq: 3min, dtype: int64\n\nDownsample the series into 3 minute bins as above, but label each\nbin using the right edge instead of the left. Please note that the\nvalue in the bucket used as the label is not included in the bucket,\nwhich it labels. For example, in the original series the\nbucket ``2000-01-01 00:03:00`` contains the value 3, but the summed\nvalue in the resampled bucket with the label ``2000-01-01 00:03:00``\ndoes not include 3 (if it did, the summed value would be 6, not 3).\n\n>>> series.resample('3min', label='right').sum()\n2000-01-01 00:03:00 3\n2000-01-01 00:06:00 12\n2000-01-01 00:09:00 21\nFreq: 3min, dtype: int64\n\nTo include this value close the right side of the bin interval,\nas shown below.\n\n>>> series.resample('3min', label='right', closed='right').sum()\n2000-01-01 00:00:00 0\n2000-01-01 00:03:00 6\n2000-01-01 00:06:00 15\n2000-01-01 00:09:00 15\nFreq: 3min, dtype: int64\n\nUpsample the series into 30 second bins.\n\n>>> series.resample('30s').asfreq()[0:5] # Select first 5 rows\n2000-01-01 00:00:00 0.0\n2000-01-01 00:00:30 NaN\n2000-01-01 00:01:00 1.0\n2000-01-01 00:01:30 NaN\n2000-01-01 00:02:00 2.0\nFreq: 30s, dtype: float64\n\nUpsample the series into 30 second bins and fill the ``NaN``\nvalues using the ``ffill`` method.\n\n>>> series.resample('30s').ffill()[0:5]\n2000-01-01 00:00:00 0\n2000-01-01 00:00:30 0\n2000-01-01 00:01:00 1\n2000-01-01 00:01:30 1\n2000-01-01 00:02:00 2\nFreq: 30s, dtype: int64\n\nUpsample the series into 30 second bins and fill the\n``NaN`` values using the ``bfill`` method.\n\n>>> series.resample('30s').bfill()[0:5]\n2000-01-01 00:00:00 0\n2000-01-01 00:00:30 1\n2000-01-01 00:01:00 1\n2000-01-01 00:01:30 2\n2000-01-01 00:02:00 2\nFreq: 30s, dtype: int64\n\nPass a custom function via ``apply``\n\n>>> def custom_resampler(arraylike):\n... return np.sum(arraylike) + 5\n...\n>>> series.resample('3min').apply(custom_resampler)\n2000-01-01 00:00:00 8\n2000-01-01 00:03:00 17\n2000-01-01 00:06:00 26\nFreq: 3min, dtype: int64\n\nFor a Series with a PeriodIndex, the keyword `convention` can be\nused to control whether to use the start or end of `rule`.\n\nResample a year by quarter using 'start' `convention`. Values are\nassigned to the first quarter of the period.\n\n>>> s = pd.Series(\n... [1, 2], index=pd.period_range(\"2012-01-01\", freq=\"Y\", periods=2)\n... )\n>>> s\n2012 1\n2013 2\nFreq: Y-DEC, dtype: int64\n>>> s.resample(\"Q\", convention=\"start\").asfreq()\n2012Q1 1.0\n2012Q2 NaN\n2012Q3 NaN\n2012Q4 NaN\n2013Q1 2.0\n2013Q2 NaN\n2013Q3 NaN\n2013Q4 NaN\nFreq: Q-DEC, dtype: float64\n\nResample quarters by month using 'end' `convention`. Values are\nassigned to the last month of the period.\n\n>>> q = pd.Series(\n... [1, 2, 3, 4], index=pd.period_range(\"2018-01-01\", freq=\"Q\", periods=4)\n... )\n>>> q\n2018Q1 1\n2018Q2 2\n2018Q3 3\n2018Q4 4\nFreq: Q-DEC, dtype: int64\n>>> q.resample(\"M\", convention=\"end\").asfreq()\n2018-03 1.0\n2018-04 NaN\n2018-05 NaN\n2018-06 2.0\n2018-07 NaN\n2018-08 NaN\n2018-09 3.0\n2018-10 NaN\n2018-11 NaN\n2018-12 4.0\nFreq: M, dtype: float64\n\nFor DataFrame objects, the keyword `on` can be used to specify the\ncolumn instead of the index for resampling.\n\n>>> d = {{'price': [10, 11, 9, 13, 14, 18, 17, 19],\n... 'volume': [50, 60, 40, 100, 50, 100, 40, 50]}}\n>>> df = pd.DataFrame(d)\n>>> df['week_starting'] = pd.date_range('01/01/2018',\n... periods=8,\n... freq='W')\n>>> df\n price volume week_starting\n0 10 50 2018-01-07\n1 11 60 2018-01-14\n2 9 40 2018-01-21\n3 13 100 2018-01-28\n4 14 50 2018-02-04\n5 18 100 2018-02-11\n6 17 40 2018-02-18\n7 19 50 2018-02-25\n>>> df.resample('ME', on='week_starting').mean()\n price volume\nweek_starting\n2018-01-31 10.75 62.5\n2018-02-28 17.00 60.0\n\nFor a DataFrame with MultiIndex, the keyword `level` can be used to\nspecify on which level the resampling needs to take place.\n\n>>> days = pd.date_range('1/1/2000', periods=4, freq='D')\n>>> d2 = {{'price': [10, 11, 9, 13, 14, 18, 17, 19],\n... 'volume': [50, 60, 40, 100, 50, 100, 40, 50]}}\n>>> df2 = pd.DataFrame(\n... d2,\n... index=pd.MultiIndex.from_product(\n... [days, ['morning', 'afternoon']]\n... )\n... )\n>>> df2\n price volume\n2000-01-01 morning 10 50\n afternoon 11 60\n2000-01-02 morning 9 40\n afternoon 13 100\n2000-01-03 morning 14 50\n afternoon 18 100\n2000-01-04 morning 17 40\n afternoon 19 50\n>>> df2.resample('D', level=0).sum()\n price volume\n2000-01-01 21 110\n2000-01-02 22 140\n2000-01-03 32 150\n2000-01-04 36 90\n\nIf you want to adjust the start of the bins based on a fixed timestamp:\n\n>>> start, end = '2000-10-01 23:30:00', '2000-10-02 00:30:00'\n>>> rng = pd.date_range(start, end, freq='7min')\n>>> ts = pd.Series(np.arange(len(rng)) * 3, index=rng)\n>>> ts\n2000-10-01 23:30:00 0\n2000-10-01 23:37:00 3\n2000-10-01 23:44:00 6\n2000-10-01 23:51:00 9\n2000-10-01 23:58:00 12\n2000-10-02 00:05:00 15\n2000-10-02 00:12:00 18\n2000-10-02 00:19:00 21\n2000-10-02 00:26:00 24\nFreq: 7min, dtype: int64\n\n>>> ts.resample('17min').sum()\n2000-10-01 23:14:00 0\n2000-10-01 23:31:00 9\n2000-10-01 23:48:00 21\n2000-10-02 00:05:00 54\n2000-10-02 00:22:00 24\nFreq: 17min, dtype: int64\n\n>>> ts.resample('17min', origin='epoch').sum()\n2000-10-01 23:18:00 0\n2000-10-01 23:35:00 18\n2000-10-01 23:52:00 27\n2000-10-02 00:09:00 39\n2000-10-02 00:26:00 24\nFreq: 17min, dtype: int64\n\n>>> ts.resample('17min', origin='2000-01-01').sum()\n2000-10-01 23:24:00 3\n2000-10-01 23:41:00 15\n2000-10-01 23:58:00 45\n2000-10-02 00:15:00 45\nFreq: 17min, dtype: int64\n\nIf you want to adjust the start of the bins with an `offset` Timedelta, the two\nfollowing lines are equivalent:\n\n>>> ts.resample('17min', origin='start').sum()\n2000-10-01 23:30:00 9\n2000-10-01 23:47:00 21\n2000-10-02 00:04:00 54\n2000-10-02 00:21:00 24\nFreq: 17min, dtype: int64\n\n>>> ts.resample('17min', offset='23h30min').sum()\n2000-10-01 23:30:00 9\n2000-10-01 23:47:00 21\n2000-10-02 00:04:00 54\n2000-10-02 00:21:00 24\nFreq: 17min, dtype: int64\n\nIf you want to take the largest Timestamp as the end of the bins:\n\n>>> ts.resample('17min', origin='end').sum()\n2000-10-01 23:35:00 0\n2000-10-01 23:52:00 18\n2000-10-02 00:09:00 27\n2000-10-02 00:26:00 63\nFreq: 17min, dtype: int64\n\nIn contrast with the `start_day`, you can use `end_day` to take the ceiling\nmidnight of the largest Timestamp as the end of the bins and drop the bins\nnot containing data:\n\n>>> ts.resample('17min', origin='end_day').sum()\n2000-10-01 23:38:00 3\n2000-10-01 23:55:00 15\n2000-10-02 00:12:00 45\n2000-10-02 00:29:00 45\nFreq: 17min, dtype: int64\n"}, "kind": 2, "label": "resample", "sortText": "141"}, {"detail": "Overload[(level: Hashable | Sequence[Hashable] = ..., *, drop: bool = ..., inplace: Literal[False] = ..., col_level: Hashable = ..., col_fill: Hashable = ..., allow_duplicates: bool | _NoDefault = ..., names: Hashable | Sequence[Hashable] = None) -> DataFrame, (level: Hashable | Sequence[Hashable] = ..., *, drop: bool = ..., inplace: Literal[True], col_level: Hashable = ..., col_fill: Hashable = ..., allow_duplicates: bool | _NoDefault = ..., names: Hashable | Sequence[Hashable] = None) -> None, (level: Hashable | Sequence[Hashable] = ..., *, drop: bool = ..., inplace: bool = ..., col_level: Hashable = ..., col_fill: Hashable = ..., allow_duplicates: bool | _NoDefault = ..., names: Hashable | Sequence[Hashable] = None) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Reset the index, or a level of it.\n\nReset the index of the DataFrame, and use the default one instead.\nIf the DataFrame has a MultiIndex, this method can remove one or more\nlevels.\n\nParameters\n----------\nlevel : int, str, tuple, or list, default None\n Only remove the given levels from the index. Removes all levels by\n default.\ndrop : bool, default False\n Do not try to insert index into dataframe columns. This resets\n the index to the default integer index.\ninplace : bool, default False\n Whether to modify the DataFrame rather than creating a new one.\ncol_level : int or str, default 0\n If the columns have multiple levels, determines which level the\n labels are inserted into. By default it is inserted into the first\n level.\ncol_fill : object, default ''\n If the columns have multiple levels, determines how the other\n levels are named. If None then the index name is repeated.\nallow_duplicates : bool, optional, default lib.no_default\n Allow duplicate column labels to be created.\n\n .. versionadded:: 1.5.0\n\nnames : int, str or 1-dimensional list, default None\n Using the given string, rename the DataFrame column which contains the\n index data. If the DataFrame has a MultiIndex, this has to be a list or\n tuple with length equal to the number of levels.\n\n .. versionadded:: 1.5.0\n\nReturns\n-------\nDataFrame or None\n DataFrame with the new index or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.set_index : Opposite of reset_index.\nDataFrame.reindex : Change to new indices or expand indices.\nDataFrame.reindex_like : Change to same indices as other DataFrame.\n\nExamples\n--------\n>>> df = pd.DataFrame([('bird', 389.0),\n... ('bird', 24.0),\n... ('mammal', 80.5),\n... ('mammal', np.nan)],\n... index=['falcon', 'parrot', 'lion', 'monkey'],\n... columns=('class', 'max_speed'))\n>>> df\n class max_speed\nfalcon bird 389.0\nparrot bird 24.0\nlion mammal 80.5\nmonkey mammal NaN\n\nWhen we reset the index, the old index is added as a column, and a\nnew sequential index is used:\n\n>>> df.reset_index()\n index class max_speed\n0 falcon bird 389.0\n1 parrot bird 24.0\n2 lion mammal 80.5\n3 monkey mammal NaN\n\nWe can use the `drop` parameter to avoid the old index being added as\na column:\n\n>>> df.reset_index(drop=True)\n class max_speed\n0 bird 389.0\n1 bird 24.0\n2 mammal 80.5\n3 mammal NaN\n\nYou can also use `reset_index` with `MultiIndex`.\n\n>>> index = pd.MultiIndex.from_tuples([('bird', 'falcon'),\n... ('bird', 'parrot'),\n... ('mammal', 'lion'),\n... ('mammal', 'monkey')],\n... names=['class', 'name'])\n>>> columns = pd.MultiIndex.from_tuples([('speed', 'max'),\n... ('species', 'type')])\n>>> df = pd.DataFrame([(389.0, 'fly'),\n... (24.0, 'fly'),\n... (80.5, 'run'),\n... (np.nan, 'jump')],\n... index=index,\n... columns=columns)\n>>> df\n speed species\n max type\nclass name\nbird falcon 389.0 fly\n parrot 24.0 fly\nmammal lion 80.5 run\n monkey NaN jump\n\nUsing the `names` parameter, choose a name for the index column:\n\n>>> df.reset_index(names=['classes', 'names'])\n classes names speed species\n max type\n0 bird falcon 389.0 fly\n1 bird parrot 24.0 fly\n2 mammal lion 80.5 run\n3 mammal monkey NaN jump\n\nIf the index has multiple levels, we can reset a subset of them:\n\n>>> df.reset_index(level='class')\n class speed species\n max type\nname\nfalcon bird 389.0 fly\nparrot bird 24.0 fly\nlion mammal 80.5 run\nmonkey mammal NaN jump\n\nIf we are not dropping the index, by default, it is placed in the top\nlevel. We can place it in another level:\n\n>>> df.reset_index(level='class', col_level=1)\n speed species\n class max type\nname\nfalcon bird 389.0 fly\nparrot bird 24.0 fly\nlion mammal 80.5 run\nmonkey mammal NaN jump\n\nWhen the index is inserted under another level, we can specify under\nwhich one with the parameter `col_fill`:\n\n>>> df.reset_index(level='class', col_level=1, col_fill='species')\n species speed species\n class max type\nname\nfalcon bird 389.0 fly\nparrot bird 24.0 fly\nlion mammal 80.5 run\nmonkey mammal NaN jump\n\nIf we specify a nonexistent level for `col_fill`, it is created:\n\n>>> df.reset_index(level='class', col_level=1, col_fill='genus')\n genus speed species\n class max type\nname\nfalcon bird 389.0 fly\nparrot bird 24.0 fly\nlion mammal 80.5 run\nmonkey mammal NaN jump\n"}, "kind": 2, "label": "reset_index", "sortText": "142"}, {"detail": "bound method DataFrame.rfloordiv(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rfloordiv", "sortText": "143"}, {"detail": "bound method DataFrame.rmod(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rmod", "sortText": "144"}, {"detail": "bound method DataFrame.rmul(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rmul", "sortText": "145"}, {"detail": "bound method DataFrame.rolling(window: int | timedelta | str | BaseOffset | BaseIndexer, min_periods: int | None = None, center: bool = False, win_type: str | None = None, on: str | None = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., closed: Literal[\"left\", \"right\", \"both\", \"neither\"] | None = None, step: int | None = None, method: str = \"single\") -> Window | Rolling", "kind": 2, "label": "rolling", "sortText": "146"}, {"detail": "bound method DataFrame.round(decimals: int | dict[Hashable | Sequence[Hashable], int] | Series = 0, *args, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Round a DataFrame to a variable number of decimal places.\n\nParameters\n----------\ndecimals : int, dict, Series\n Number of decimal places to round each column to. If an int is\n given, round each column to the same number of places.\n Otherwise dict and Series round to variable numbers of places.\n Column names should be in the keys if `decimals` is a\n dict-like, or in the index if `decimals` is a Series. Any\n columns not included in `decimals` will be left as is. Elements\n of `decimals` which are not columns of the input will be\n ignored.\n*args\n Additional keywords have no effect but might be accepted for\n compatibility with numpy.\n**kwargs\n Additional keywords have no effect but might be accepted for\n compatibility with numpy.\n\nReturns\n-------\nDataFrame\n A DataFrame with the affected columns rounded to the specified\n number of decimal places.\n\nSee Also\n--------\nnumpy.around : Round a numpy array to the given number of decimals.\nSeries.round : Round a Series to the given number of decimals.\n\nExamples\n--------\n>>> df = pd.DataFrame([(.21, .32), (.01, .67), (.66, .03), (.21, .18)],\n... columns=['dogs', 'cats'])\n>>> df\n dogs cats\n0 0.21 0.32\n1 0.01 0.67\n2 0.66 0.03\n3 0.21 0.18\n\nBy providing an integer each column is rounded to the same number\nof decimal places\n\n>>> df.round(1)\n dogs cats\n0 0.2 0.3\n1 0.0 0.7\n2 0.7 0.0\n3 0.2 0.2\n\nWith a dict, the number of places for specific columns can be\nspecified with the column names as key and the number of decimal\nplaces as value\n\n>>> df.round({'dogs': 1, 'cats': 0})\n dogs cats\n0 0.2 0.0\n1 0.0 1.0\n2 0.7 0.0\n3 0.2 0.0\n\nUsing a Series, the number of places for specific columns can be\nspecified with the column names as index and the number of\ndecimal places as value\n\n>>> decimals = pd.Series([0, 1], index=['cats', 'dogs'])\n>>> df.round(decimals)\n dogs cats\n0 0.2 0.0\n1 0.0 1.0\n2 0.7 0.0\n3 0.2 0.0\n"}, "kind": 2, "label": "round", "sortText": "147"}, {"detail": "bound method DataFrame.rpow(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rpow", "sortText": "148"}, {"detail": "bound method DataFrame.rsub(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rsub", "sortText": "149"}, {"detail": "bound method DataFrame.rtruediv(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rtruediv", "sortText": "150"}, {"detail": "bound method DataFrame.sample(n: int | None = None, frac: float | None = None, replace: bool = False, weights=None, random_state: int | ndarray[_AnyShape, dtype[Any]] | Generator | ... omitted 3 union elements = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, ignore_index: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return a random sample of items from an axis of object.\n\nYou can use `random_state` for reproducibility.\n\nParameters\n----------\nn : int, optional\n Number of items from axis to return. Cannot be used with `frac`.\n Default = 1 if `frac` = None.\nfrac : float, optional\n Fraction of axis items to return. Cannot be used with `n`.\nreplace : bool, default False\n Allow or disallow sampling of the same row more than once.\nweights : str or ndarray-like, optional\n Default 'None' results in equal probability weighting.\n If passed a Series, will align with target object on index. Index\n values in weights not found in sampled object will be ignored and\n index values in sampled object not in weights will be assigned\n weights of zero.\n If called on a DataFrame, will accept the name of a column\n when axis = 0.\n Unless weights are a Series, weights must be same length as axis\n being sampled.\n If weights do not sum to 1, they will be normalized to sum to 1.\n Missing values in the weights column will be treated as zero.\n Infinite values not allowed.\nrandom_state : int, array-like, BitGenerator, np.random.RandomState, np.random.Generator, optional\n If int, array-like, or BitGenerator, seed for random number generator.\n If np.random.RandomState or np.random.Generator, use as given.\n\n .. versionchanged:: 1.4.0\n\n np.random.Generator objects now accepted\n\naxis : {0 or 'index', 1 or 'columns', None}, default None\n Axis to sample. Accepts axis number or name. Default is stat axis\n for given data type. For `Series` this parameter is unused and defaults to `None`.\nignore_index : bool, default False\n If True, the resulting index will be labeled 0, 1, \u2026, n - 1.\n\n .. versionadded:: 1.3.0\n\nReturns\n-------\nSeries or DataFrame\n A new object of same type as caller containing `n` items randomly\n sampled from the caller object.\n\nSee Also\n--------\nDataFrameGroupBy.sample: Generates random samples from each group of a\n DataFrame object.\nSeriesGroupBy.sample: Generates random samples from each group of a\n Series object.\nnumpy.random.choice: Generates a random sample from a given 1-D numpy\n array.\n\nNotes\n-----\nIf `frac` > 1, `replacement` should be set to `True`.\n\nExamples\n--------\n>>> df = pd.DataFrame({'num_legs': [2, 4, 8, 0],\n... 'num_wings': [2, 0, 0, 0],\n... 'num_specimen_seen': [10, 2, 1, 8]},\n... index=['falcon', 'dog', 'spider', 'fish'])\n>>> df\n num_legs num_wings num_specimen_seen\nfalcon 2 2 10\ndog 4 0 2\nspider 8 0 1\nfish 0 0 8\n\nExtract 3 random elements from the ``Series`` ``df['num_legs']``:\nNote that we use `random_state` to ensure the reproducibility of\nthe examples.\n\n>>> df['num_legs'].sample(n=3, random_state=1)\nfish 0\nspider 8\nfalcon 2\nName: num_legs, dtype: int64\n\nA random 50% sample of the ``DataFrame`` with replacement:\n\n>>> df.sample(frac=0.5, replace=True, random_state=1)\n num_legs num_wings num_specimen_seen\ndog 4 0 2\nfish 0 0 8\n\nAn upsample sample of the ``DataFrame`` with replacement:\nNote that `replace` parameter has to be `True` for `frac` parameter > 1.\n\n>>> df.sample(frac=2, replace=True, random_state=1)\n num_legs num_wings num_specimen_seen\ndog 4 0 2\nfish 0 0 8\nfalcon 2 2 10\nfalcon 2 2 10\nfish 0 0 8\ndog 4 0 2\nfish 0 0 8\ndog 4 0 2\n\nUsing a DataFrame column as weights. Rows with larger value in the\n`num_specimen_seen` column are more likely to be sampled.\n\n>>> df.sample(n=2, weights='num_specimen_seen', random_state=1)\n num_legs num_wings num_specimen_seen\nfalcon 2 2 10\nfish 0 0 8\n"}, "kind": 2, "label": "sample", "sortText": "151"}, {"detail": "bound method DataFrame.select_dtypes(include=None, exclude=None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return a subset of the DataFrame's columns based on the column dtypes.\n\nParameters\n----------\ninclude, exclude : scalar or list-like\n A selection of dtypes or strings to be included/excluded. At least\n one of these parameters must be supplied.\n\nReturns\n-------\nDataFrame\n The subset of the frame including the dtypes in ``include`` and\n excluding the dtypes in ``exclude``.\n\nRaises\n------\nValueError\n * If both of ``include`` and ``exclude`` are empty\n * If ``include`` and ``exclude`` have overlapping elements\n * If any kind of string dtype is passed in.\n\nSee Also\n--------\nDataFrame.dtypes: Return Series with the data type of each column.\n\nNotes\n-----\n* To select all *numeric* types, use ``np.number`` or ``'number'``\n* To select strings you must use the ``object`` dtype, but note that\n this will return *all* object dtype columns. With\n ``pd.options.future.infer_string`` enabled, using ``\"str\"`` will\n work to select all string columns.\n* See the `numpy dtype hierarchy\n `__\n* To select datetimes, use ``np.datetime64``, ``'datetime'`` or\n ``'datetime64'``\n* To select timedeltas, use ``np.timedelta64``, ``'timedelta'`` or\n ``'timedelta64'``\n* To select Pandas categorical dtypes, use ``'category'``\n* To select Pandas datetimetz dtypes, use ``'datetimetz'``\n or ``'datetime64[ns, tz]'``\n\nExamples\n--------\n>>> df = pd.DataFrame({'a': [1, 2] * 3,\n... 'b': [True, False] * 3,\n... 'c': [1.0, 2.0] * 3})\n>>> df\n a b c\n0 1 True 1.0\n1 2 False 2.0\n2 1 True 1.0\n3 2 False 2.0\n4 1 True 1.0\n5 2 False 2.0\n\n>>> df.select_dtypes(include='bool')\n b\n0 True\n1 False\n2 True\n3 False\n4 True\n5 False\n\n>>> df.select_dtypes(include=['float64'])\n c\n0 1.0\n1 2.0\n2 1.0\n3 2.0\n4 1.0\n5 2.0\n\n>>> df.select_dtypes(exclude=['int64'])\n b c\n0 True 1.0\n1 False 2.0\n2 True 1.0\n3 False 2.0\n4 True 1.0\n5 False 2.0\n"}, "kind": 2, "label": "select_dtypes", "sortText": "152"}, {"detail": "bound method DataFrame.sem(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, ddof: int = 1, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "sem", "sortText": "153"}, {"detail": "bound method DataFrame.set_axis(labels, *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, copy: bool | None = None) -> DataFrame", "kind": 2, "label": "set_axis", "sortText": "154"}, {"detail": "bound method DataFrame.set_flags(*, copy: bool = False, allows_duplicate_labels: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return a new object with updated flags.\n\nParameters\n----------\ncopy : bool, default False\n Specify if a copy of the object should be made.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\nallows_duplicate_labels : bool, optional\n Whether the returned object allows duplicate labels.\n\nReturns\n-------\nSeries or DataFrame\n The same type as the caller.\n\nSee Also\n--------\nDataFrame.attrs : Global metadata applying to this dataset.\nDataFrame.flags : Global flags applying to this object.\n\nNotes\n-----\nThis method returns a new object that's a view on the same data\nas the input. Mutating the input or the output values will be reflected\nin the other.\n\nThis method is intended to be used in method chains.\n\n\"Flags\" differ from \"metadata\". Flags reflect properties of the\npandas object (the Series or DataFrame). Metadata refer to properties\nof the dataset, and should be stored in :attr:`DataFrame.attrs`.\n\nExamples\n--------\n>>> df = pd.DataFrame({\"A\": [1, 2]})\n>>> df.flags.allows_duplicate_labels\nTrue\n>>> df2 = df.set_flags(allows_duplicate_labels=False)\n>>> df2.flags.allows_duplicate_labels\nFalse\n"}, "kind": 2, "label": "set_flags", "sortText": "155"}, {"detail": "Overload[(keys, *, drop: bool = ..., append: bool = ..., inplace: Literal[False] = ..., verify_integrity: bool = ...) -> DataFrame, (keys, *, drop: bool = ..., append: bool = ..., inplace: Literal[True], verify_integrity: bool = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Set the DataFrame index using existing columns.\n\nSet the DataFrame index (row labels) using one or more existing\ncolumns or arrays (of the correct length). The index can replace the\nexisting index or expand on it.\n\nParameters\n----------\nkeys : label or array-like or list of labels/arrays\n This parameter can be either a single column key, a single array of\n the same length as the calling DataFrame, or a list containing an\n arbitrary combination of column keys and arrays. Here, \"array\"\n encompasses :class:`Series`, :class:`Index`, ``np.ndarray``, and\n instances of :class:`~collections.abc.Iterator`.\ndrop : bool, default True\n Delete columns to be used as the new index.\nappend : bool, default False\n Whether to append columns to existing index.\ninplace : bool, default False\n Whether to modify the DataFrame rather than creating a new one.\nverify_integrity : bool, default False\n Check the new index for duplicates. Otherwise defer the check until\n necessary. Setting to False will improve the performance of this\n method.\n\nReturns\n-------\nDataFrame or None\n Changed row labels or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.reset_index : Opposite of set_index.\nDataFrame.reindex : Change to new indices or expand indices.\nDataFrame.reindex_like : Change to same indices as other DataFrame.\n\nExamples\n--------\n>>> df = pd.DataFrame({'month': [1, 4, 7, 10],\n... 'year': [2012, 2014, 2013, 2014],\n... 'sale': [55, 40, 84, 31]})\n>>> df\n month year sale\n0 1 2012 55\n1 4 2014 40\n2 7 2013 84\n3 10 2014 31\n\nSet the index to become the 'month' column:\n\n>>> df.set_index('month')\n year sale\nmonth\n1 2012 55\n4 2014 40\n7 2013 84\n10 2014 31\n\nCreate a MultiIndex using columns 'year' and 'month':\n\n>>> df.set_index(['year', 'month'])\n sale\nyear month\n2012 1 55\n2014 4 40\n2013 7 84\n2014 10 31\n\nCreate a MultiIndex using an Index and a column:\n\n>>> df.set_index([pd.Index([1, 2, 3, 4]), 'year'])\n month sale\n year\n1 2012 1 55\n2 2014 4 40\n3 2013 7 84\n4 2014 10 31\n\nCreate a MultiIndex using two Series:\n\n>>> s = pd.Series([1, 2, 3, 4])\n>>> df.set_index([s, s**2])\n month year sale\n1 1 1 2012 55\n2 4 4 2014 40\n3 9 7 2013 84\n4 16 10 2014 31\n"}, "kind": 2, "label": "set_index", "sortText": "156"}, {"detail": "tuple[int, int]", "documentation": {"kind": "plaintext", "value": "Built-in immutable sequence.\n\nIf no argument is given, the constructor returns an empty tuple.\nIf iterable is specified the tuple is initialized from iterable's items.\n\nIf the argument is a tuple, the return value is the same object.\n"}, "kind": 22, "label": "shape", "sortText": "157"}, {"detail": "bound method DataFrame.shift(periods: int | Sequence[int] = 1, freq: str | BaseOffset | None = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, fill_value: Hashable = ..., suffix: str | None = None) -> DataFrame", "kind": 2, "label": "shift", "sortText": "158"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "size", "sortText": "159"}, {"detail": "bound method DataFrame.skew(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "skew", "sortText": "160"}, {"detail": "Overload[(*, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., level: Hashable | Sequence[Hashable] = ..., ascending: bool | Sequence[bool] = ..., inplace: Literal[True], kind: Literal[\"quicksort\", \"mergesort\", \"heapsort\", \"stable\"] = ..., na_position: Literal[\"first\", \"last\"] = ..., sort_remaining: bool = ..., ignore_index: bool = ..., key: ((Index, /) -> Index | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Series) | None = ...) -> None, (*, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., level: Hashable | Sequence[Hashable] = ..., ascending: bool | Sequence[bool] = ..., inplace: Literal[False] = ..., kind: Literal[\"quicksort\", \"mergesort\", \"heapsort\", \"stable\"] = ..., na_position: Literal[\"first\", \"last\"] = ..., sort_remaining: bool = ..., ignore_index: bool = ..., key: ((Index, /) -> Index | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Series) | None = ...) -> DataFrame, (*, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., level: Hashable | Sequence[Hashable] = ..., ascending: bool | Sequence[bool] = ..., inplace: bool = ..., kind: Literal[\"quicksort\", \"mergesort\", \"heapsort\", \"stable\"] = ..., na_position: Literal[\"first\", \"last\"] = ..., sort_remaining: bool = ..., ignore_index: bool = ..., key: ((Index, /) -> Index | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Series) | None = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Sort object by labels (along an axis).\n\nReturns a new DataFrame sorted by label if `inplace` argument is\n``False``, otherwise updates the original DataFrame and returns None.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis along which to sort. The value 0 identifies the rows,\n and 1 identifies the columns.\nlevel : int or level name or list of ints or list of level names\n If not None, sort on values in specified index level(s).\nascending : bool or list-like of bools, default True\n Sort ascending vs. descending. When the index is a MultiIndex the\n sort direction can be controlled for each level individually.\ninplace : bool, default False\n Whether to modify the DataFrame rather than creating a new one.\nkind : {'quicksort', 'mergesort', 'heapsort', 'stable'}, default 'quicksort'\n Choice of sorting algorithm. See also :func:`numpy.sort` for more\n information. `mergesort` and `stable` are the only stable algorithms. For\n DataFrames, this option is only applied when sorting on a single\n column or label.\nna_position : {'first', 'last'}, default 'last'\n Puts NaNs at the beginning if `first`; `last` puts NaNs at the end.\n Not implemented for MultiIndex.\nsort_remaining : bool, default True\n If True and sorting by level and index is multilevel, sort by other\n levels too (in order) after sorting by specified level.\nignore_index : bool, default False\n If True, the resulting axis will be labeled 0, 1, \u2026, n - 1.\nkey : callable, optional\n If not None, apply the key function to the index values\n before sorting. This is similar to the `key` argument in the\n builtin :meth:`sorted` function, with the notable difference that\n this `key` function should be *vectorized*. It should expect an\n ``Index`` and return an ``Index`` of the same shape. For MultiIndex\n inputs, the key is applied *per level*.\n\nReturns\n-------\nDataFrame or None\n The original DataFrame sorted by the labels or None if ``inplace=True``.\n\nSee Also\n--------\nSeries.sort_index : Sort Series by the index.\nDataFrame.sort_values : Sort DataFrame by the value.\nSeries.sort_values : Sort Series by the value.\n\nExamples\n--------\n>>> df = pd.DataFrame([1, 2, 3, 4, 5], index=[100, 29, 234, 1, 150],\n... columns=['A'])\n>>> df.sort_index()\n A\n1 4\n29 2\n100 1\n150 5\n234 3\n\nBy default, it sorts in ascending order, to sort in descending order,\nuse ``ascending=False``\n\n>>> df.sort_index(ascending=False)\n A\n234 3\n150 5\n100 1\n29 2\n1 4\n\nA key function can be specified which is applied to the index before\nsorting. For a ``MultiIndex`` this is applied to each level separately.\n\n>>> df = pd.DataFrame({\"a\": [1, 2, 3, 4]}, index=['A', 'b', 'C', 'd'])\n>>> df.sort_index(key=lambda x: x.str.lower())\n a\nA 1\nb 2\nC 3\nd 4\n"}, "kind": 2, "label": "sort_index", "sortText": "161"}, {"detail": "Overload[(by: Hashable | Sequence[Hashable], *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., ascending=..., inplace: Literal[False] = ..., kind: Literal[\"quicksort\", \"mergesort\", \"heapsort\", \"stable\"] = ..., na_position: Literal[\"first\", \"last\"] = ..., ignore_index: bool = ..., key: ((Series, /) -> Series | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index) | None = ...) -> DataFrame, (by: Hashable | Sequence[Hashable], *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., ascending=..., inplace: Literal[True], kind: Literal[\"quicksort\", \"mergesort\", \"heapsort\", \"stable\"] = ..., na_position: str = ..., ignore_index: bool = ..., key: ((Series, /) -> Series | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index) | None = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Sort by the values along either axis.\n\nParameters\n----------\nby : str or list of str\n Name or list of names to sort by.\n\n - if `axis` is 0 or `'index'` then `by` may contain index\n levels and/or column labels.\n - if `axis` is 1 or `'columns'` then `by` may contain column\n levels and/or index labels.\naxis : \"{0 or 'index', 1 or 'columns'}\", default 0\n Axis to be sorted.\nascending : bool or list of bool, default True\n Sort ascending vs. descending. Specify list for multiple sort\n orders. If this is a list of bools, must match the length of\n the by.\ninplace : bool, default False\n If True, perform operation in-place.\nkind : {'quicksort', 'mergesort', 'heapsort', 'stable'}, default 'quicksort'\n Choice of sorting algorithm. See also :func:`numpy.sort` for more\n information. `mergesort` and `stable` are the only stable algorithms. For\n DataFrames, this option is only applied when sorting on a single\n column or label.\nna_position : {'first', 'last'}, default 'last'\n Puts NaNs at the beginning if `first`; `last` puts NaNs at the\n end.\nignore_index : bool, default False\n If True, the resulting axis will be labeled 0, 1, \u2026, n - 1.\nkey : callable, optional\n Apply the key function to the values\n before sorting. This is similar to the `key` argument in the\n builtin :meth:`sorted` function, with the notable difference that\n this `key` function should be *vectorized*. It should expect a\n ``Series`` and return a Series with the same shape as the input.\n It will be applied to each column in `by` independently.\n\nReturns\n-------\nDataFrame or None\n DataFrame with sorted values or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.sort_index : Sort a DataFrame by the index.\nSeries.sort_values : Similar method for a Series.\n\nExamples\n--------\n>>> df = pd.DataFrame({\n... 'col1': ['A', 'A', 'B', np.nan, 'D', 'C'],\n... 'col2': [2, 1, 9, 8, 7, 4],\n... 'col3': [0, 1, 9, 4, 2, 3],\n... 'col4': ['a', 'B', 'c', 'D', 'e', 'F']\n... })\n>>> df\n col1 col2 col3 col4\n0 A 2 0 a\n1 A 1 1 B\n2 B 9 9 c\n3 NaN 8 4 D\n4 D 7 2 e\n5 C 4 3 F\n\nSort by col1\n\n>>> df.sort_values(by=['col1'])\n col1 col2 col3 col4\n0 A 2 0 a\n1 A 1 1 B\n2 B 9 9 c\n5 C 4 3 F\n4 D 7 2 e\n3 NaN 8 4 D\n\nSort by multiple columns\n\n>>> df.sort_values(by=['col1', 'col2'])\n col1 col2 col3 col4\n1 A 1 1 B\n0 A 2 0 a\n2 B 9 9 c\n5 C 4 3 F\n4 D 7 2 e\n3 NaN 8 4 D\n\nSort Descending\n\n>>> df.sort_values(by='col1', ascending=False)\n col1 col2 col3 col4\n4 D 7 2 e\n5 C 4 3 F\n2 B 9 9 c\n0 A 2 0 a\n1 A 1 1 B\n3 NaN 8 4 D\n\nPutting NAs first\n\n>>> df.sort_values(by='col1', ascending=False, na_position='first')\n col1 col2 col3 col4\n3 NaN 8 4 D\n4 D 7 2 e\n5 C 4 3 F\n2 B 9 9 c\n0 A 2 0 a\n1 A 1 1 B\n\nSorting with a key function\n\n>>> df.sort_values(by='col4', key=lambda col: col.str.lower())\n col1 col2 col3 col4\n0 A 2 0 a\n1 A 1 1 B\n2 B 9 9 c\n3 NaN 8 4 D\n4 D 7 2 e\n5 C 4 3 F\n\nNatural sort with the key argument,\nusing the `natsort ` package.\n\n>>> df = pd.DataFrame({\n... \"time\": ['0hr', '128hr', '72hr', '48hr', '96hr'],\n... \"value\": [10, 20, 30, 40, 50]\n... })\n>>> df\n time value\n0 0hr 10\n1 128hr 20\n2 72hr 30\n3 48hr 40\n4 96hr 50\n>>> from natsort import index_natsorted\n>>> df.sort_values(\n... by=\"time\",\n... key=lambda x: np.argsort(index_natsorted(df[\"time\"]))\n... )\n time value\n0 0hr 10\n3 48hr 40\n2 72hr 30\n4 96hr 50\n1 128hr 20\n"}, "kind": 2, "label": "sort_values", "sortText": "162"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "sparse", "sortText": "163"}, {"detail": "bound method DataFrame.squeeze(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Squeeze 1 dimensional axis objects into scalars.\n\nSeries or DataFrames with a single element are squeezed to a scalar.\nDataFrames with a single column or a single row are squeezed to a\nSeries. Otherwise the object is unchanged.\n\nThis method is most useful when you don't know if your\nobject is a Series or DataFrame, but you do know it has just a single\ncolumn. In that case you can safely call `squeeze` to ensure you have a\nSeries.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns', None}, default None\n A specific axis to squeeze. By default, all length-1 axes are\n squeezed. For `Series` this parameter is unused and defaults to `None`.\n\nReturns\n-------\nDataFrame, Series, or scalar\n The projection after squeezing `axis` or all the axes.\n\nSee Also\n--------\nSeries.iloc : Integer-location based indexing for selecting scalars.\nDataFrame.iloc : Integer-location based indexing for selecting Series.\nSeries.to_frame : Inverse of DataFrame.squeeze for a\n single-column DataFrame.\n\nExamples\n--------\n>>> primes = pd.Series([2, 3, 5, 7])\n\nSlicing might produce a Series with a single value:\n\n>>> even_primes = primes[primes % 2 == 0]\n>>> even_primes\n0 2\ndtype: int64\n\n>>> even_primes.squeeze()\n2\n\nSqueezing objects with more than one value in every axis does nothing:\n\n>>> odd_primes = primes[primes % 2 == 1]\n>>> odd_primes\n1 3\n2 5\n3 7\ndtype: int64\n\n>>> odd_primes.squeeze()\n1 3\n2 5\n3 7\ndtype: int64\n\nSqueezing is even more effective when used with DataFrames.\n\n>>> df = pd.DataFrame([[1, 2], [3, 4]], columns=['a', 'b'])\n>>> df\n a b\n0 1 2\n1 3 4\n\nSlicing a single column will produce a DataFrame with the columns\nhaving only one value:\n\n>>> df_a = df[['a']]\n>>> df_a\n a\n0 1\n1 3\n\nSo the columns can be squeezed down, resulting in a Series:\n\n>>> df_a.squeeze('columns')\n0 1\n1 3\nName: a, dtype: int64\n\nSlicing a single row from a single column will produce a single\nscalar DataFrame:\n\n>>> df_0a = df.loc[df.index < 1, ['a']]\n>>> df_0a\n a\n0 1\n\nSqueezing the rows produces a single scalar Series:\n\n>>> df_0a.squeeze('rows')\na 1\nName: 0, dtype: int64\n\nSqueezing all axes will project directly into a scalar:\n\n>>> df_0a.squeeze()\n1\n"}, "kind": 2, "label": "squeeze", "sortText": "164"}, {"detail": "bound method DataFrame.stack(level: Hashable | Sequence[Hashable] = -1, dropna: bool | _NoDefault = ..., sort: bool | _NoDefault = ..., future_stack: bool = False) -> Unknown", "documentation": {"kind": "plaintext", "value": "Stack the prescribed level(s) from columns to index.\n\nReturn a reshaped DataFrame or Series having a multi-level\nindex with one or more new inner-most levels compared to the current\nDataFrame. The new inner-most levels are created by pivoting the\ncolumns of the current dataframe:\n\n - if the columns have a single level, the output is a Series;\n - if the columns have multiple levels, the new index\n level(s) is (are) taken from the prescribed level(s) and\n the output is a DataFrame.\n\nParameters\n----------\nlevel : int, str, list, default -1\n Level(s) to stack from the column axis onto the index\n axis, defined as one index or label, or a list of indices\n or labels.\ndropna : bool, default True\n Whether to drop rows in the resulting Frame/Series with\n missing values. Stacking a column level onto the index\n axis can create combinations of index and column values\n that are missing from the original dataframe. See Examples\n section.\nsort : bool, default True\n Whether to sort the levels of the resulting MultiIndex.\nfuture_stack : bool, default False\n Whether to use the new implementation that will replace the current\n implementation in pandas 3.0. When True, dropna and sort have no impact\n on the result and must remain unspecified. See :ref:`pandas 2.1.0 Release\n notes ` for more details.\n\nReturns\n-------\nDataFrame or Series\n Stacked dataframe or series.\n\nSee Also\n--------\nDataFrame.unstack : Unstack prescribed level(s) from index axis\n onto column axis.\nDataFrame.pivot : Reshape dataframe from long format to wide\n format.\nDataFrame.pivot_table : Create a spreadsheet-style pivot table\n as a DataFrame.\n\nNotes\n-----\nThe function is named by analogy with a collection of books\nbeing reorganized from being side by side on a horizontal\nposition (the columns of the dataframe) to being stacked\nvertically on top of each other (in the index of the\ndataframe).\n\nReference :ref:`the user guide ` for more examples.\n\nExamples\n--------\n**Single level columns**\n\n>>> df_single_level_cols = pd.DataFrame([[0, 1], [2, 3]],\n... index=['cat', 'dog'],\n... columns=['weight', 'height'])\n\nStacking a dataframe with a single level column axis returns a Series:\n\n>>> df_single_level_cols\n weight height\ncat 0 1\ndog 2 3\n>>> df_single_level_cols.stack(future_stack=True)\ncat weight 0\n height 1\ndog weight 2\n height 3\ndtype: int64\n\n**Multi level columns: simple case**\n\n>>> multicol1 = pd.MultiIndex.from_tuples([('weight', 'kg'),\n... ('weight', 'pounds')])\n>>> df_multi_level_cols1 = pd.DataFrame([[1, 2], [2, 4]],\n... index=['cat', 'dog'],\n... columns=multicol1)\n\nStacking a dataframe with a multi-level column axis:\n\n>>> df_multi_level_cols1\n weight\n kg pounds\ncat 1 2\ndog 2 4\n>>> df_multi_level_cols1.stack(future_stack=True)\n weight\ncat kg 1\n pounds 2\ndog kg 2\n pounds 4\n\n**Missing values**\n\n>>> multicol2 = pd.MultiIndex.from_tuples([('weight', 'kg'),\n... ('height', 'm')])\n>>> df_multi_level_cols2 = pd.DataFrame([[1.0, 2.0], [3.0, 4.0]],\n... index=['cat', 'dog'],\n... columns=multicol2)\n\nIt is common to have missing values when stacking a dataframe\nwith multi-level columns, as the stacked dataframe typically\nhas more values than the original dataframe. Missing values\nare filled with NaNs:\n\n>>> df_multi_level_cols2\n weight height\n kg m\ncat 1.0 2.0\ndog 3.0 4.0\n>>> df_multi_level_cols2.stack(future_stack=True)\n weight height\ncat kg 1.0 NaN\n m NaN 2.0\ndog kg 3.0 NaN\n m NaN 4.0\n\n**Prescribing the level(s) to be stacked**\n\nThe first parameter controls which level or levels are stacked:\n\n>>> df_multi_level_cols2.stack(0, future_stack=True)\n kg m\ncat weight 1.0 NaN\n height NaN 2.0\ndog weight 3.0 NaN\n height NaN 4.0\n>>> df_multi_level_cols2.stack([0, 1], future_stack=True)\ncat weight kg 1.0\n height m 2.0\ndog weight kg 3.0\n height m 4.0\ndtype: float64\n"}, "kind": 2, "label": "stack", "sortText": "165"}, {"detail": "bound method DataFrame.std(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, ddof: int = 1, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "std", "sortText": "166"}, {"detail": "Styler", "documentation": {"kind": "plaintext", "value": "Helps style a DataFrame or Series according to the data with HTML and CSS.\n\nParameters\n----------\ndata : Series or DataFrame\n Data to be styled - either a Series or DataFrame.\nprecision : int, optional\n Precision to round floats to. If not given defaults to\n ``pandas.options.styler.format.precision``.\n\n .. versionchanged:: 1.4.0\ntable_styles : list-like, default None\n List of {selector: (attr, value)} dicts; see Notes.\nuuid : str, default None\n A unique identifier to avoid CSS collisions; generated automatically.\ncaption : str, tuple, default None\n String caption to attach to the table. Tuple only used for LaTeX dual captions.\ntable_attributes : str, default None\n Items that show up in the opening ```` tag\n in addition to automatic (by default) id.\ncell_ids : bool, default True\n If True, each cell will have an ``id`` attribute in their HTML tag.\n The ``id`` takes the form ``T__row_col``\n where ```` is the unique identifier, ```` is the row\n number and ```` is the column number.\nna_rep : str, optional\n Representation for missing values.\n If ``na_rep`` is None, no special formatting is applied, and falls back to\n ``pandas.options.styler.format.na_rep``.\n\nuuid_len : int, default 5\n If ``uuid`` is not specified, the length of the ``uuid`` to randomly generate\n expressed in hex characters, in range [0, 32].\ndecimal : str, optional\n Character used as decimal separator for floats, complex and integers. If not\n given uses ``pandas.options.styler.format.decimal``.\n\n .. versionadded:: 1.3.0\n\nthousands : str, optional, default None\n Character used as thousands separator for floats, complex and integers. If not\n given uses ``pandas.options.styler.format.thousands``.\n\n .. versionadded:: 1.3.0\n\nescape : str, optional\n Use 'html' to replace the characters ``&``, ``<``, ``>``, ``'``, and ``\"``\n in cell display string with HTML-safe sequences.\n Use 'latex' to replace the characters ``&``, ``%``, ``$``, ``#``, ``_``,\n ``{``, ``}``, ``~``, ``^``, and ``\\`` in the cell display string with\n LaTeX-safe sequences. Use 'latex-math' to replace the characters\n the same way as in 'latex' mode, except for math substrings,\n which either are surrounded by two characters ``$`` or start with\n the character ``\\(`` and end with ``\\)``.\n If not given uses ``pandas.options.styler.format.escape``.\n\n .. versionadded:: 1.3.0\nformatter : str, callable, dict, optional\n Object to define how values are displayed. See ``Styler.format``. If not given\n uses ``pandas.options.styler.format.formatter``.\n\n .. versionadded:: 1.4.0\n\nAttributes\n----------\nenv : Jinja2 jinja2.Environment\ntemplate_html : Jinja2 Template\ntemplate_html_table : Jinja2 Template\ntemplate_html_style : Jinja2 Template\ntemplate_latex : Jinja2 Template\nloader : Jinja2 Loader\n\nSee Also\n--------\nDataFrame.style : Return a Styler object containing methods for building\n a styled HTML representation for the DataFrame.\n\nNotes\n-----\nMost styling will be done by passing style functions into\n``Styler.apply`` or ``Styler.map``. Style functions should\nreturn values with strings containing CSS ``'attr: value'`` that will\nbe applied to the indicated cells.\n\nIf using in the Jupyter notebook, Styler has defined a ``_repr_html_``\nto automatically render itself. Otherwise call Styler.to_html to get\nthe generated HTML.\n\nCSS classes are attached to the generated HTML\n\n* Index and Column names include ``index_name`` and ``level``\n where `k` is its level in a MultiIndex\n* Index label cells include\n\n * ``row_heading``\n * ``row`` where `n` is the numeric position of the row\n * ``level`` where `k` is the level in a MultiIndex\n\n* Column label cells include\n * ``col_heading``\n * ``col`` where `n` is the numeric position of the column\n * ``level`` where `k` is the level in a MultiIndex\n\n* Blank cells include ``blank``\n* Data cells include ``data``\n* Trimmed cells include ``col_trim`` or ``row_trim``.\n\nAny, or all, or these classes can be renamed by using the ``css_class_names``\nargument in ``Styler.set_table_classes``, giving a value such as\n*{\"row\": \"MY_ROW_CLASS\", \"col_trim\": \"\", \"row_trim\": \"\"}*.\n\nExamples\n--------\n>>> df = pd.DataFrame([[1.0, 2.0, 3.0], [4, 5, 6]], index=['a', 'b'],\n... columns=['A', 'B', 'C'])\n>>> pd.io.formats.style.Styler(df, precision=2,\n... caption=\"My table\") # doctest: +SKIP\n\nPlease see:\n`Table Visualization <../../user_guide/style.ipynb>`_ for more examples.\n"}, "kind": 22, "label": "style", "sortText": "167"}, {"detail": "bound method DataFrame.sub(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "sub", "sortText": "168"}, {"detail": "(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "subtract", "sortText": "169"}, {"detail": "bound method DataFrame.sum(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, min_count: int = 0, **kwargs) -> Unknown", "kind": 2, "label": "sum", "sortText": "170"}, {"detail": "bound method DataFrame.swapaxes(axis1: int | Literal[\"index\", \"columns\", \"rows\"], axis2: int | Literal[\"index\", \"columns\", \"rows\"], copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Interchange axes and swap values axes appropriately.\n\n.. deprecated:: 2.1.0\n ``swapaxes`` is deprecated and will be removed.\n Please use ``transpose`` instead.\n\nReturns\n-------\nsame as input\n\nExamples\n--------\nPlease see examples for :meth:`DataFrame.transpose`.\n"}, "kind": 2, "label": "swapaxes", "sortText": "171"}, {"detail": "bound method DataFrame.swaplevel(i: int | Literal[\"index\", \"columns\", \"rows\"] = -2, j: int | Literal[\"index\", \"columns\", \"rows\"] = -1, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> DataFrame", "kind": 2, "label": "swaplevel", "sortText": "172"}, {"detail": "bound method DataFrame.tail(n: int = 5) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the last `n` rows.\n\nThis function returns last `n` rows from the object based on\nposition. It is useful for quickly verifying data, for example,\nafter sorting or appending rows.\n\nFor negative values of `n`, this function returns all rows except\nthe first `|n|` rows, equivalent to ``df[|n|:]``.\n\nIf n is larger than the number of rows, this function returns all rows.\n\nParameters\n----------\nn : int, default 5\n Number of rows to select.\n\nReturns\n-------\ntype of caller\n The last `n` rows of the caller object.\n\nSee Also\n--------\nDataFrame.head : The first `n` rows of the caller object.\n\nExamples\n--------\n>>> df = pd.DataFrame({'animal': ['alligator', 'bee', 'falcon', 'lion',\n... 'monkey', 'parrot', 'shark', 'whale', 'zebra']})\n>>> df\n animal\n0 alligator\n1 bee\n2 falcon\n3 lion\n4 monkey\n5 parrot\n6 shark\n7 whale\n8 zebra\n\nViewing the last 5 lines\n\n>>> df.tail()\n animal\n4 monkey\n5 parrot\n6 shark\n7 whale\n8 zebra\n\nViewing the last `n` lines (three in this case)\n\n>>> df.tail(3)\n animal\n6 shark\n7 whale\n8 zebra\n\nFor negative values of `n`\n\n>>> df.tail(-3)\n animal\n3 lion\n4 monkey\n5 parrot\n6 shark\n7 whale\n8 zebra\n"}, "kind": 2, "label": "tail", "sortText": "173"}, {"detail": "bound method DataFrame.take(indices, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the elements in the given *positional* indices along an axis.\n\nThis means that we are not indexing according to actual values in\nthe index attribute of the object. We are indexing according to the\nactual position of the element in the object.\n\nParameters\n----------\nindices : array-like\n An array of ints indicating which positions to take.\naxis : {0 or 'index', 1 or 'columns', None}, default 0\n The axis on which to select elements. ``0`` means that we are\n selecting rows, ``1`` means that we are selecting columns.\n For `Series` this parameter is unused and defaults to 0.\n**kwargs\n For compatibility with :meth:`numpy.take`. Has no effect on the\n output.\n\nReturns\n-------\nsame type as caller\n An array-like containing the elements taken from the object.\n\nSee Also\n--------\nDataFrame.loc : Select a subset of a DataFrame by labels.\nDataFrame.iloc : Select a subset of a DataFrame by positions.\nnumpy.take : Take elements from an array along an axis.\n\nExamples\n--------\n>>> df = pd.DataFrame([('falcon', 'bird', 389.0),\n... ('parrot', 'bird', 24.0),\n... ('lion', 'mammal', 80.5),\n... ('monkey', 'mammal', np.nan)],\n... columns=['name', 'class', 'max_speed'],\n... index=[0, 2, 3, 1])\n>>> df\n name class max_speed\n0 falcon bird 389.0\n2 parrot bird 24.0\n3 lion mammal 80.5\n1 monkey mammal NaN\n\nTake elements at positions 0 and 3 along the axis 0 (default).\n\nNote how the actual indices selected (0 and 1) do not correspond to\nour selected indices 0 and 3. That's because we are selecting the 0th\nand 3rd rows, not rows whose indices equal 0 and 3.\n\n>>> df.take([0, 3])\n name class max_speed\n0 falcon bird 389.0\n1 monkey mammal NaN\n\nTake elements at indices 1 and 2 along the axis 1 (column selection).\n\n>>> df.take([1, 2], axis=1)\n class max_speed\n0 bird 389.0\n2 bird 24.0\n3 mammal 80.5\n1 mammal NaN\n\nWe may take elements using negative integers for positive indices,\nstarting from the end of the object, just like with Python lists.\n\n>>> df.take([-1, -2])\n name class max_speed\n1 monkey mammal NaN\n3 lion mammal 80.5\n"}, "kind": 2, "label": "take", "sortText": "174"}, {"detail": "bound method DataFrame.to_clipboard(excel: bool = True, sep: str | None = None, **kwargs) -> None", "documentation": {"kind": "plaintext", "value": "Copy object to the system clipboard.\n\nWrite a text representation of object to the system clipboard.\nThis can be pasted into Excel, for example.\n\nParameters\n----------\nexcel : bool, default True\n Produce output in a csv format for easy pasting into excel.\n\n - True, use the provided separator for csv pasting.\n - False, write a string representation of the object to the clipboard.\n\nsep : str, default ``'\\t'``\n Field delimiter.\n**kwargs\n These parameters will be passed to DataFrame.to_csv.\n\nSee Also\n--------\nDataFrame.to_csv : Write a DataFrame to a comma-separated values\n (csv) file.\nread_clipboard : Read text from clipboard and pass to read_csv.\n\nNotes\n-----\nRequirements for your platform.\n\n - Linux : `xclip`, or `xsel` (with `PyQt4` modules)\n - Windows : none\n - macOS : none\n\nThis method uses the processes developed for the package `pyperclip`. A\nsolution to render any output string format is given in the examples.\n\nExamples\n--------\nCopy the contents of a DataFrame to the clipboard.\n\n>>> df = pd.DataFrame([[1, 2, 3], [4, 5, 6]], columns=['A', 'B', 'C'])\n\n>>> df.to_clipboard(sep=',') # doctest: +SKIP\n... # Wrote the following to the system clipboard:\n... # ,A,B,C\n... # 0,1,2,3\n... # 1,4,5,6\n\nWe can omit the index by passing the keyword `index` and setting\nit to false.\n\n>>> df.to_clipboard(sep=',', index=False) # doctest: +SKIP\n... # Wrote the following to the system clipboard:\n... # A,B,C\n... # 1,2,3\n... # 4,5,6\n\nUsing the original `pyperclip` package for any string output format.\n\n.. code-block:: python\n\n import pyperclip\n html = df.style.to_html()\n pyperclip.copy(html)\n"}, "kind": 2, "label": "to_clipboard", "sortText": "175"}, {"detail": "Overload[(path_or_buf: None = ..., sep: str = ..., na_rep: str = ..., float_format: str | ((...) -> Unknown) | None = ..., columns: Sequence[Hashable] | None = ..., header: bool | list[str] = ..., index: bool = ..., index_label: Hashable | Sequence[Hashable] = ..., mode: str = ..., encoding: str | None = ..., compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = ..., quoting: int | None = ..., quotechar: str = ..., lineterminator: str | None = ..., chunksize: int | None = ..., date_format: str | None = ..., doublequote: bool = ..., escapechar: str | None = ..., decimal: str = ..., errors: Literal[\"strict\", \"ignore\", \"replace\", \"surrogateescape\", \"xmlcharrefreplace\", \"backslashreplace\", \"namereplace\"] = ..., storage_options: dict[str, Any] | None = ...) -> str, (path_or_buf: str | PathLike[str] | WriteBuffer[bytes] | WriteBuffer[str], sep: str = ..., na_rep: str = ..., float_format: str | ((...) -> Unknown) | None = ..., columns: Sequence[Hashable] | None = ..., header: bool | list[str] = ..., index: bool = ..., index_label: Hashable | Sequence[Hashable] = ..., mode: str = ..., encoding: str | None = ..., compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = ..., quoting: int | None = ..., quotechar: str = ..., lineterminator: str | None = ..., chunksize: int | None = ..., date_format: str | None = ..., doublequote: bool = ..., escapechar: str | None = ..., decimal: str = ..., errors: Literal[\"strict\", \"ignore\", \"replace\", \"surrogateescape\", \"xmlcharrefreplace\", \"backslashreplace\", \"namereplace\"] = ..., storage_options: dict[str, Any] | None = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Write object to a comma-separated values (csv) file.\n\nParameters\n----------\npath_or_buf : str, path object, file-like object, or None, default None\n String, path object (implementing os.PathLike[str]), or file-like\n object implementing a write() function. If None, the result is\n returned as a string. If a non-binary file object is passed, it should\n be opened with `newline=''`, disabling universal newlines. If a binary\n file object is passed, `mode` might need to contain a `'b'`.\nsep : str, default ','\n String of length 1. Field delimiter for the output file.\nna_rep : str, default ''\n Missing data representation.\nfloat_format : str, Callable, default None\n Format string for floating point numbers. If a Callable is given, it takes\n precedence over other numeric formatting parameters, like decimal.\ncolumns : sequence, optional\n Columns to write.\nheader : bool or list of str, default True\n Write out the column names. If a list of strings is given it is\n assumed to be aliases for the column names.\nindex : bool, default True\n Write row names (index).\nindex_label : str or sequence, or False, default None\n Column label for index column(s) if desired. If None is given, and\n `header` and `index` are True, then the index names are used. A\n sequence should be given if the object uses MultiIndex. If\n False do not print fields for index names. Use index_label=False\n for easier importing in R.\nmode : {{'w', 'x', 'a'}}, default 'w'\n Forwarded to either `open(mode=)` or `fsspec.open(mode=)` to control\n the file opening. Typical values include:\n\n - 'w', truncate the file first.\n - 'x', exclusive creation, failing if the file already exists.\n - 'a', append to the end of file if it exists.\n\nencoding : str, optional\n A string representing the encoding to use in the output file,\n defaults to 'utf-8'. `encoding` is not supported if `path_or_buf`\n is a non-binary file object.\n{compression_options}\n\n May be a dict with key 'method' as compression mode\n and other entries as additional compression options if\n compression mode is 'zip'.\n\n Passing compression options as keys in dict is\n supported for compression modes 'gzip', 'bz2', 'zstd', and 'zip'.\nquoting : optional constant from csv module\n Defaults to csv.QUOTE_MINIMAL. If you have set a `float_format`\n then floats are converted to strings and thus csv.QUOTE_NONNUMERIC\n will treat them as non-numeric.\nquotechar : str, default '\\\"'\n String of length 1. Character used to quote fields.\nlineterminator : str, optional\n The newline character or character sequence to use in the output\n file. Defaults to `os.linesep`, which depends on the OS in which\n this method is called ('\\\\n' for linux, '\\\\r\\\\n' for Windows, i.e.).\n\n .. versionchanged:: 1.5.0\n\n Previously was line_terminator, changed for consistency with\n read_csv and the standard library 'csv' module.\n\nchunksize : int or None\n Rows to write at a time.\ndate_format : str, default None\n Format string for datetime objects.\ndoublequote : bool, default True\n Control quoting of `quotechar` inside a field.\nescapechar : str, default None\n String of length 1. Character used to escape `sep` and `quotechar`\n when appropriate.\ndecimal : str, default '.'\n Character recognized as decimal separator. E.g. use ',' for\n European data.\nerrors : str, default 'strict'\n Specifies how encoding and decoding errors are to be handled.\n See the errors argument for :func:`open` for a full list\n of options.\n\n{storage_options}\n\nReturns\n-------\nNone or str\n If path_or_buf is None, returns the resulting csv format as a\n string. Otherwise returns None.\n\nSee Also\n--------\nread_csv : Load a CSV file into a DataFrame.\nto_excel : Write DataFrame to an Excel file.\n\nExamples\n--------\nCreate 'out.csv' containing 'df' without indices\n\n>>> df = pd.DataFrame({{'name': ['Raphael', 'Donatello'],\n... 'mask': ['red', 'purple'],\n... 'weapon': ['sai', 'bo staff']}})\n>>> df.to_csv('out.csv', index=False) # doctest: +SKIP\n\nCreate 'out.zip' containing 'out.csv'\n\n>>> df.to_csv(index=False)\n'name,mask,weapon\\nRaphael,red,sai\\nDonatello,purple,bo staff\\n'\n>>> compression_opts = dict(method='zip',\n... archive_name='out.csv') # doctest: +SKIP\n>>> df.to_csv('out.zip', index=False,\n... compression=compression_opts) # doctest: +SKIP\n\nTo write a csv file to a new folder or nested folder you will first\nneed to create it using either Pathlib or os:\n\n>>> from pathlib import Path # doctest: +SKIP\n>>> filepath = Path('folder/subfolder/out.csv') # doctest: +SKIP\n>>> filepath.parent.mkdir(parents=True, exist_ok=True) # doctest: +SKIP\n>>> df.to_csv(filepath) # doctest: +SKIP\n\n>>> import os # doctest: +SKIP\n>>> os.makedirs('folder/subfolder', exist_ok=True) # doctest: +SKIP\n>>> df.to_csv('folder/subfolder/out.csv') # doctest: +SKIP\n"}, "kind": 2, "label": "to_csv", "sortText": "176"}, {"detail": "Overload[[MutableMappingT](orient: Literal[\"dict\", \"list\", \"series\", \"split\", \"tight\", \"index\"] = ..., *, into: type[MutableMappingT] | MutableMappingT, index: bool = ...) -> MutableMappingT, [MutableMappingT](orient: Literal[\"records\"], *, into: type[MutableMappingT] | MutableMappingT, index: bool = ...) -> list[MutableMappingT], (orient: Literal[\"dict\", \"list\", \"series\", \"split\", \"tight\", \"index\"] = ..., *, into: type[dict[Unknown, Unknown]] = ..., index: bool = ...) -> dict[Unknown, Unknown], (orient: Literal[\"records\"], *, into: type[dict[Unknown, Unknown]] = ..., index: bool = ...) -> list[dict[Unknown, Unknown]]]", "documentation": {"kind": "plaintext", "value": "Convert the DataFrame to a dictionary.\n\nThe type of the key-value pairs can be customized with the parameters\n(see below).\n\nParameters\n----------\norient : str {'dict', 'list', 'series', 'split', 'tight', 'records', 'index'}\n Determines the type of the values of the dictionary.\n\n - 'dict' (default) : dict like {column -> {index -> value}}\n - 'list' : dict like {column -> [values]}\n - 'series' : dict like {column -> Series(values)}\n - 'split' : dict like\n {'index' -> [index], 'columns' -> [columns], 'data' -> [values]}\n - 'tight' : dict like\n {'index' -> [index], 'columns' -> [columns], 'data' -> [values],\n 'index_names' -> [index.names], 'column_names' -> [column.names]}\n - 'records' : list like\n [{column -> value}, ... , {column -> value}]\n - 'index' : dict like {index -> {column -> value}}\n\n .. versionadded:: 1.4.0\n 'tight' as an allowed value for the ``orient`` argument\n\ninto : class, default dict\n The collections.abc.MutableMapping subclass used for all Mappings\n in the return value. Can be the actual class or an empty\n instance of the mapping type you want. If you want a\n collections.defaultdict, you must pass it initialized.\n\nindex : bool, default True\n Whether to include the index item (and index_names item if `orient`\n is 'tight') in the returned dictionary. Can only be ``False``\n when `orient` is 'split' or 'tight'.\n\n .. versionadded:: 2.0.0\n\nReturns\n-------\ndict, list or collections.abc.MutableMapping\n Return a collections.abc.MutableMapping object representing the\n DataFrame. The resulting transformation depends on the `orient`\n parameter.\n\nSee Also\n--------\nDataFrame.from_dict: Create a DataFrame from a dictionary.\nDataFrame.to_json: Convert a DataFrame to JSON format.\n\nExamples\n--------\n>>> df = pd.DataFrame({'col1': [1, 2],\n... 'col2': [0.5, 0.75]},\n... index=['row1', 'row2'])\n>>> df\n col1 col2\nrow1 1 0.50\nrow2 2 0.75\n>>> df.to_dict()\n{'col1': {'row1': 1, 'row2': 2}, 'col2': {'row1': 0.5, 'row2': 0.75}}\n\nYou can specify the return orientation.\n\n>>> df.to_dict('series')\n{'col1': row1 1\n row2 2\nName: col1, dtype: int64,\n'col2': row1 0.50\n row2 0.75\nName: col2, dtype: float64}\n\n>>> df.to_dict('split')\n{'index': ['row1', 'row2'], 'columns': ['col1', 'col2'],\n 'data': [[1, 0.5], [2, 0.75]]}\n\n>>> df.to_dict('records')\n[{'col1': 1, 'col2': 0.5}, {'col1': 2, 'col2': 0.75}]\n\n>>> df.to_dict('index')\n{'row1': {'col1': 1, 'col2': 0.5}, 'row2': {'col1': 2, 'col2': 0.75}}\n\n>>> df.to_dict('tight')\n{'index': ['row1', 'row2'], 'columns': ['col1', 'col2'],\n 'data': [[1, 0.5], [2, 0.75]], 'index_names': [None], 'column_names': [None]}\n\nYou can also specify the mapping type.\n\n>>> from collections import OrderedDict, defaultdict\n>>> df.to_dict(into=OrderedDict)\nOrderedDict([('col1', OrderedDict([('row1', 1), ('row2', 2)])),\n ('col2', OrderedDict([('row1', 0.5), ('row2', 0.75)]))])\n\nIf you want a `defaultdict`, you need to initialize it:\n\n>>> dd = defaultdict(list)\n>>> df.to_dict('records', into=dd)\n[defaultdict(, {'col1': 1, 'col2': 0.5}),\n defaultdict(, {'col1': 2, 'col2': 0.75})]\n"}, "kind": 2, "label": "to_dict", "sortText": "177"}, {"detail": "bound method DataFrame.to_excel(excel_writer: str | PathLike[str] | WriteExcelBuffer, sheet_name: str = \"Sheet1\", na_rep: str = \"\", float_format: str | None = None, columns: Sequence[Hashable] | None = None, header: Sequence[Hashable] | bool = True, index: bool = True, index_label: Hashable | Sequence[Hashable] = None, startrow: int = 0, startcol: int = 0, engine: Literal[\"openpyxl\", \"xlsxwriter\"] | None = None, merge_cells: bool = True, inf_rep: str = \"inf\", freeze_panes: tuple[int, int] | None = None, storage_options: dict[str, Any] | None = None, engine_kwargs: dict[str, Any] | None = None) -> None", "documentation": {"kind": "plaintext", "value": "Write {klass} to an Excel sheet.\n\nTo write a single {klass} to an Excel .xlsx file it is only necessary to\nspecify a target file name. To write to multiple sheets it is necessary to\ncreate an `ExcelWriter` object with a target file name, and specify a sheet\nin the file to write to.\n\nMultiple sheets may be written to by specifying unique `sheet_name`.\nWith all data written to the file it is necessary to save the changes.\nNote that creating an `ExcelWriter` object with a file name that already\nexists will result in the contents of the existing file being erased.\n\nParameters\n----------\nexcel_writer : path-like, file-like, or ExcelWriter object\n File path or existing ExcelWriter.\nsheet_name : str, default 'Sheet1'\n Name of sheet which will contain DataFrame.\nna_rep : str, default ''\n Missing data representation.\nfloat_format : str, optional\n Format string for floating point numbers. For example\n ``float_format=\"%.2f\"`` will format 0.1234 to 0.12.\ncolumns : sequence or list of str, optional\n Columns to write.\nheader : bool or list of str, default True\n Write out the column names. If a list of string is given it is\n assumed to be aliases for the column names.\nindex : bool, default True\n Write row names (index).\nindex_label : str or sequence, optional\n Column label for index column(s) if desired. If not specified, and\n `header` and `index` are True, then the index names are used. A\n sequence should be given if the DataFrame uses MultiIndex.\nstartrow : int, default 0\n Upper left cell row to dump data frame.\nstartcol : int, default 0\n Upper left cell column to dump data frame.\nengine : str, optional\n Write engine to use, 'openpyxl' or 'xlsxwriter'. You can also set this\n via the options ``io.excel.xlsx.writer`` or\n ``io.excel.xlsm.writer``.\n\nmerge_cells : bool, default True\n Write MultiIndex and Hierarchical Rows as merged cells.\ninf_rep : str, default 'inf'\n Representation for infinity (there is no native representation for\n infinity in Excel).\nfreeze_panes : tuple of int (length 2), optional\n Specifies the one-based bottommost row and rightmost column that\n is to be frozen.\n{storage_options}\n\n .. versionadded:: {storage_options_versionadded}\nengine_kwargs : dict, optional\n Arbitrary keyword arguments passed to excel engine.\n\nSee Also\n--------\nto_csv : Write DataFrame to a comma-separated values (csv) file.\nExcelWriter : Class for writing DataFrame objects into excel sheets.\nread_excel : Read an Excel file into a pandas DataFrame.\nread_csv : Read a comma-separated values (csv) file into DataFrame.\nio.formats.style.Styler.to_excel : Add styles to Excel sheet.\n\nNotes\n-----\nFor compatibility with :meth:`~DataFrame.to_csv`,\nto_excel serializes lists and dicts to strings before writing.\n\nOnce a workbook has been saved it is not possible to write further\ndata without rewriting the whole workbook.\n\nExamples\n--------\n\nCreate, write to and save a workbook:\n\n>>> df1 = pd.DataFrame([['a', 'b'], ['c', 'd']],\n... index=['row 1', 'row 2'],\n... columns=['col 1', 'col 2'])\n>>> df1.to_excel(\"output.xlsx\") # doctest: +SKIP\n\nTo specify the sheet name:\n\n>>> df1.to_excel(\"output.xlsx\",\n... sheet_name='Sheet_name_1') # doctest: +SKIP\n\nIf you wish to write to more than one sheet in the workbook, it is\nnecessary to specify an ExcelWriter object:\n\n>>> df2 = df1.copy()\n>>> with pd.ExcelWriter('output.xlsx') as writer: # doctest: +SKIP\n... df1.to_excel(writer, sheet_name='Sheet_name_1')\n... df2.to_excel(writer, sheet_name='Sheet_name_2')\n\nExcelWriter can also be used to append to an existing Excel file:\n\n>>> with pd.ExcelWriter('output.xlsx',\n... mode='a') as writer: # doctest: +SKIP\n... df1.to_excel(writer, sheet_name='Sheet_name_3')\n\nTo set the library that is used to write the Excel file,\nyou can pass the `engine` keyword (the default engine is\nautomatically chosen depending on the file extension):\n\n>>> df1.to_excel('output1.xlsx', engine='xlsxwriter') # doctest: +SKIP\n"}, "kind": 2, "label": "to_excel", "sortText": "178"}, {"detail": "bound method DataFrame.to_feather(path: str | PathLike[str] | WriteBuffer[bytes], **kwargs) -> None", "documentation": {"kind": "plaintext", "value": "Write a DataFrame to the binary Feather format.\n\nParameters\n----------\npath : str, path object, file-like object\n String, path object (implementing ``os.PathLike[str]``), or file-like\n object implementing a binary ``write()`` function. If a string or a path,\n it will be used as Root Directory path when writing a partitioned dataset.\n**kwargs :\n Additional keywords passed to :func:`pyarrow.feather.write_feather`.\n This includes the `compression`, `compression_level`, `chunksize`\n and `version` keywords.\n\nNotes\n-----\nThis function writes the dataframe as a `feather file\n`_. Requires a default\nindex. For saving the DataFrame with your custom index use a method that\nsupports custom indices e.g. `to_parquet`.\n\nExamples\n--------\n>>> df = pd.DataFrame([[1, 2, 3], [4, 5, 6]])\n>>> df.to_feather(\"file.feather\") # doctest: +SKIP\n"}, "kind": 2, "label": "to_feather", "sortText": "179"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "to_frame", "sortText": "180"}, {"detail": "bound method DataFrame.to_gbq(destination_table: str, project_id: str | None = None, chunksize: int | None = None, reauth: bool = False, if_exists: Literal[\"fail\", \"replace\", \"append\"] = \"fail\", auth_local_webserver: bool = True, table_schema: list[dict[str, str]] | None = None, location: str | None = None, progress_bar: bool = True, credentials=None) -> None", "documentation": {"kind": "plaintext", "value": "Write a DataFrame to a Google BigQuery table.\n\n.. deprecated:: 2.2.0\n\n Please use ``pandas_gbq.to_gbq`` instead.\n\nThis function requires the `pandas-gbq package\n`__.\n\nSee the `How to authenticate with Google BigQuery\n`__\nguide for authentication instructions.\n\nParameters\n----------\ndestination_table : str\n Name of table to be written, in the form ``dataset.tablename``.\nproject_id : str, optional\n Google BigQuery Account project ID. Optional when available from\n the environment.\nchunksize : int, optional\n Number of rows to be inserted in each chunk from the dataframe.\n Set to ``None`` to load the whole dataframe at once.\nreauth : bool, default False\n Force Google BigQuery to re-authenticate the user. This is useful\n if multiple accounts are used.\nif_exists : str, default 'fail'\n Behavior when the destination table exists. Value can be one of:\n\n ``'fail'``\n If table exists raise pandas_gbq.gbq.TableCreationError.\n ``'replace'``\n If table exists, drop it, recreate it, and insert data.\n ``'append'``\n If table exists, insert data. Create if does not exist.\nauth_local_webserver : bool, default True\n Use the `local webserver flow`_ instead of the `console flow`_\n when getting user credentials.\n\n .. _local webserver flow:\n https://google-auth-oauthlib.readthedocs.io/en/latest/reference/google_auth_oauthlib.flow.html#google_auth_oauthlib.flow.InstalledAppFlow.run_local_server\n .. _console flow:\n https://google-auth-oauthlib.readthedocs.io/en/latest/reference/google_auth_oauthlib.flow.html#google_auth_oauthlib.flow.InstalledAppFlow.run_console\n\n *New in version 0.2.0 of pandas-gbq*.\n\n .. versionchanged:: 1.5.0\n Default value is changed to ``True``. Google has deprecated the\n ``auth_local_webserver = False`` `\"out of band\" (copy-paste)\n flow\n `_.\ntable_schema : list of dicts, optional\n List of BigQuery table fields to which according DataFrame\n columns conform to, e.g. ``[{'name': 'col1', 'type':\n 'STRING'},...]``. If schema is not provided, it will be\n generated according to dtypes of DataFrame columns. See\n BigQuery API documentation on available names of a field.\n\n *New in version 0.3.1 of pandas-gbq*.\nlocation : str, optional\n Location where the load job should run. See the `BigQuery locations\n documentation\n `__ for a\n list of available locations. The location must match that of the\n target dataset.\n\n *New in version 0.5.0 of pandas-gbq*.\nprogress_bar : bool, default True\n Use the library `tqdm` to show the progress bar for the upload,\n chunk by chunk.\n\n *New in version 0.5.0 of pandas-gbq*.\ncredentials : google.auth.credentials.Credentials, optional\n Credentials for accessing Google APIs. Use this parameter to\n override default credentials, such as to use Compute Engine\n :class:`google.auth.compute_engine.Credentials` or Service\n Account :class:`google.oauth2.service_account.Credentials`\n directly.\n\n *New in version 0.8.0 of pandas-gbq*.\n\nSee Also\n--------\npandas_gbq.to_gbq : This function in the pandas-gbq library.\nread_gbq : Read a DataFrame from Google BigQuery.\n\nExamples\n--------\nExample taken from `Google BigQuery documentation\n`_\n\n>>> project_id = \"my-project\"\n>>> table_id = 'my_dataset.my_table'\n>>> df = pd.DataFrame({\n... \"my_string\": [\"a\", \"b\", \"c\"],\n... \"my_int64\": [1, 2, 3],\n... \"my_float64\": [4.0, 5.0, 6.0],\n... \"my_bool1\": [True, False, True],\n... \"my_bool2\": [False, True, False],\n... \"my_dates\": pd.date_range(\"now\", periods=3),\n... }\n... )\n\n>>> df.to_gbq(table_id, project_id=project_id) # doctest: +SKIP\n"}, "kind": 2, "label": "to_gbq", "sortText": "181"}, {"detail": "bound method DataFrame.to_hdf(path_or_buf: str | PathLike[str], key: str, mode: Literal[\"a\", \"w\", \"r+\"] = \"a\", complevel: int | None = None, complib: Literal[\"zlib\", \"lzo\", \"bzip2\", \"blosc\"] | None = None, append: bool = False, format: Literal[\"fixed\", \"table\"] | None = None, index: bool = True, min_itemsize: int | dict[str, int] | None = None, nan_rep=None, dropna: bool | None = None, data_columns: Literal[True] | list[str] | None = None, errors: Literal[\"strict\", \"ignore\", \"replace\", \"surrogateescape\", \"xmlcharrefreplace\", \"backslashreplace\", \"namereplace\"] = \"strict\", encoding: str = \"UTF-8\") -> None", "documentation": {"kind": "plaintext", "value": "Write the contained data to an HDF5 file using HDFStore.\n\nHierarchical Data Format (HDF) is self-describing, allowing an\napplication to interpret the structure and contents of a file with\nno outside information. One HDF file can hold a mix of related objects\nwhich can be accessed as a group or as individual objects.\n\nIn order to add another DataFrame or Series to an existing HDF file\nplease use append mode and a different a key.\n\n.. warning::\n\n One can store a subclass of ``DataFrame`` or ``Series`` to HDF5,\n but the type of the subclass is lost upon storing.\n\nFor more information see the :ref:`user guide `.\n\nParameters\n----------\npath_or_buf : str or pandas.HDFStore\n File path or HDFStore object.\nkey : str\n Identifier for the group in the store.\nmode : {'a', 'w', 'r+'}, default 'a'\n Mode to open file:\n\n - 'w': write, a new file is created (an existing file with\n the same name would be deleted).\n - 'a': append, an existing file is opened for reading and\n writing, and if the file does not exist it is created.\n - 'r+': similar to 'a', but the file must already exist.\ncomplevel : {0-9}, default None\n Specifies a compression level for data.\n A value of 0 or None disables compression.\ncomplib : {'zlib', 'lzo', 'bzip2', 'blosc'}, default 'zlib'\n Specifies the compression library to be used.\n These additional compressors for Blosc are supported\n (default if no compressor specified: 'blosc:blosclz'):\n {'blosc:blosclz', 'blosc:lz4', 'blosc:lz4hc', 'blosc:snappy',\n 'blosc:zlib', 'blosc:zstd'}.\n Specifying a compression library which is not available issues\n a ValueError.\nappend : bool, default False\n For Table formats, append the input data to the existing.\nformat : {'fixed', 'table', None}, default 'fixed'\n Possible values:\n\n - 'fixed': Fixed format. Fast writing/reading. Not-appendable,\n nor searchable.\n - 'table': Table format. Write as a PyTables Table structure\n which may perform worse but allow more flexible operations\n like searching / selecting subsets of the data.\n - If None, pd.get_option('io.hdf.default_format') is checked,\n followed by fallback to \"fixed\".\nindex : bool, default True\n Write DataFrame index as a column.\nmin_itemsize : dict or int, optional\n Map column names to minimum string sizes for columns.\nnan_rep : Any, optional\n How to represent null values as str.\n Not allowed with append=True.\ndropna : bool, default False, optional\n Remove missing values.\ndata_columns : list of columns or True, optional\n List of columns to create as indexed data columns for on-disk\n queries, or True to use all columns. By default only the axes\n of the object are indexed. See\n :ref:`Query via data columns`. for\n more information.\n Applicable only to format='table'.\nerrors : str, default 'strict'\n Specifies how encoding and decoding errors are to be handled.\n See the errors argument for :func:`open` for a full list\n of options.\nencoding : str, default \"UTF-8\"\n\nSee Also\n--------\nread_hdf : Read from HDF file.\nDataFrame.to_orc : Write a DataFrame to the binary orc format.\nDataFrame.to_parquet : Write a DataFrame to the binary parquet format.\nDataFrame.to_sql : Write to a SQL table.\nDataFrame.to_feather : Write out feather-format for DataFrames.\nDataFrame.to_csv : Write out to a csv file.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]},\n... index=['a', 'b', 'c']) # doctest: +SKIP\n>>> df.to_hdf('data.h5', key='df', mode='w') # doctest: +SKIP\n\nWe can add another object to the same file:\n\n>>> s = pd.Series([1, 2, 3, 4]) # doctest: +SKIP\n>>> s.to_hdf('data.h5', key='s') # doctest: +SKIP\n\nReading from HDF file:\n\n>>> pd.read_hdf('data.h5', 'df') # doctest: +SKIP\nA B\na 1 4\nb 2 5\nc 3 6\n>>> pd.read_hdf('data.h5', 's') # doctest: +SKIP\n0 1\n1 2\n2 3\n3 4\ndtype: int64\n"}, "kind": 2, "label": "to_hdf", "sortText": "182"}, {"detail": "Overload[(buf: str | PathLike[str] | WriteBuffer[str], columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = ..., col_space: Sequence[str | int] | int | Mapping[Hashable, str | int] | None = ..., header: bool = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., justify: str | None = ..., max_rows: int | None = ..., max_cols: int | None = ..., show_dimensions: bool | str = ..., decimal: str = ..., bold_rows: bool = ..., classes: str | list[Unknown] | tuple[Unknown, ...] | None = ..., escape: bool = ..., notebook: bool = ..., border: int | None = ..., table_id: str | None = ..., render_links: bool = ..., encoding: str | None = ...) -> None, (buf: None = ..., columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = ..., col_space: Sequence[str | int] | int | Mapping[Hashable, str | int] | None = ..., header: bool = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., justify: str | None = ..., max_rows: int | None = ..., max_cols: int | None = ..., show_dimensions: bool | str = ..., decimal: str = ..., bold_rows: bool = ..., classes: str | list[Unknown] | tuple[Unknown, ...] | None = ..., escape: bool = ..., notebook: bool = ..., border: int | None = ..., table_id: str | None = ..., render_links: bool = ..., encoding: str | None = ...) -> str]", "documentation": {"kind": "plaintext", "value": "Render a DataFrame as an HTML table.\n%(shared_params)s\nbold_rows : bool, default True\n Make the row labels bold in the output.\nclasses : str or list or tuple, default None\n CSS class(es) to apply to the resulting html table.\nescape : bool, default True\n Convert the characters <, >, and & to HTML-safe sequences.\nnotebook : {True, False}, default False\n Whether the generated HTML is for IPython Notebook.\nborder : int\n A ``border=border`` attribute is included in the opening\n `
` tag. Default ``pd.options.display.html.border``.\ntable_id : str, optional\n A css id is included in the opening `
` tag if specified.\nrender_links : bool, default False\n Convert URLs to HTML links.\nencoding : str, default \"utf-8\"\n Set character encoding.\n%(returns)s\nSee Also\n--------\nto_string : Convert DataFrame to a string.\n\nExamples\n--------\n>>> df = pd.DataFrame(data={'col1': [1, 2], 'col2': [4, 3]})\n>>> html_string = '''
\n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n...
col1col2
014
123
'''\n>>> assert html_string == df.to_html()\n"}, "kind": 2, "label": "to_html", "sortText": "183"}, {"detail": "bound method DataFrame.to_json(path_or_buf: str | PathLike[str] | WriteBuffer[bytes] | WriteBuffer[str] | None = None, orient: Literal[\"split\", \"records\", \"index\", \"table\", \"columns\", \"values\"] | None = None, date_format: str | None = None, double_precision: int = 10, force_ascii: bool = True, date_unit: Literal[\"s\", \"ms\", \"us\", \"ns\"] = \"ms\", default_handler: ((Any, /) -> str | float | list[Unknown] | dict[Unknown, Unknown] | None) | None = None, lines: bool = False, compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = \"infer\", index: bool | None = None, indent: int | None = None, storage_options: dict[str, Any] | None = None, mode: Literal[\"a\", \"w\"] = \"w\") -> str | None", "documentation": {"kind": "plaintext", "value": "Convert the object to a JSON string.\n\nNote NaN's and None will be converted to null and datetime objects\nwill be converted to UNIX timestamps.\n\nParameters\n----------\npath_or_buf : str, path object, file-like object, or None, default None\n String, path object (implementing os.PathLike[str]), or file-like\n object implementing a write() function. If None, the result is\n returned as a string.\norient : str\n Indication of expected JSON string format.\n\n * Series:\n\n - default is 'index'\n - allowed values are: {{'split', 'records', 'index', 'table'}}.\n\n * DataFrame:\n\n - default is 'columns'\n - allowed values are: {{'split', 'records', 'index', 'columns',\n 'values', 'table'}}.\n\n * The format of the JSON string:\n\n - 'split' : dict like {{'index' -> [index], 'columns' -> [columns],\n 'data' -> [values]}}\n - 'records' : list like [{{column -> value}}, ... , {{column -> value}}]\n - 'index' : dict like {{index -> {{column -> value}}}}\n - 'columns' : dict like {{column -> {{index -> value}}}}\n - 'values' : just the values array\n - 'table' : dict like {{'schema': {{schema}}, 'data': {{data}}}}\n\n Describing the data, where data component is like ``orient='records'``.\n\ndate_format : {{None, 'epoch', 'iso'}}\n Type of date conversion. 'epoch' = epoch milliseconds,\n 'iso' = ISO8601. The default depends on the `orient`. For\n ``orient='table'``, the default is 'iso'. For all other orients,\n the default is 'epoch'.\ndouble_precision : int, default 10\n The number of decimal places to use when encoding\n floating point values. The possible maximal value is 15.\n Passing double_precision greater than 15 will raise a ValueError.\nforce_ascii : bool, default True\n Force encoded string to be ASCII.\ndate_unit : str, default 'ms' (milliseconds)\n The time unit to encode to, governs timestamp and ISO8601\n precision. One of 's', 'ms', 'us', 'ns' for second, millisecond,\n microsecond, and nanosecond respectively.\ndefault_handler : callable, default None\n Handler to call if object cannot otherwise be converted to a\n suitable format for JSON. Should receive a single argument which is\n the object to convert and return a serialisable object.\nlines : bool, default False\n If 'orient' is 'records' write out line-delimited json format. Will\n throw ValueError if incorrect 'orient' since others are not\n list-like.\n{compression_options}\n\n .. versionchanged:: 1.4.0 Zstandard support.\n\nindex : bool or None, default None\n The index is only used when 'orient' is 'split', 'index', 'column',\n or 'table'. Of these, 'index' and 'column' do not support\n `index=False`.\n\nindent : int, optional\n Length of whitespace used to indent each record.\n\n{storage_options}\n\nmode : str, default 'w' (writing)\n Specify the IO mode for output when supplying a path_or_buf.\n Accepted args are 'w' (writing) and 'a' (append) only.\n mode='a' is only supported when lines is True and orient is 'records'.\n\nReturns\n-------\nNone or str\n If path_or_buf is None, returns the resulting json format as a\n string. Otherwise returns None.\n\nSee Also\n--------\nread_json : Convert a JSON string to pandas object.\n\nNotes\n-----\nThe behavior of ``indent=0`` varies from the stdlib, which does not\nindent the output but does insert newlines. Currently, ``indent=0``\nand the default ``indent=None`` are equivalent in pandas, though this\nmay change in a future release.\n\n``orient='table'`` contains a 'pandas_version' field under 'schema'.\nThis stores the version of `pandas` used in the latest revision of the\nschema.\n\nExamples\n--------\n>>> from json import loads, dumps\n>>> df = pd.DataFrame(\n... [[\"a\", \"b\"], [\"c\", \"d\"]],\n... index=[\"row 1\", \"row 2\"],\n... columns=[\"col 1\", \"col 2\"],\n... )\n\n>>> result = df.to_json(orient=\"split\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n{{\n \"columns\": [\n \"col 1\",\n \"col 2\"\n ],\n \"index\": [\n \"row 1\",\n \"row 2\"\n ],\n \"data\": [\n [\n \"a\",\n \"b\"\n ],\n [\n \"c\",\n \"d\"\n ]\n ]\n}}\n\nEncoding/decoding a Dataframe using ``'records'`` formatted JSON.\nNote that index labels are not preserved with this encoding.\n\n>>> result = df.to_json(orient=\"records\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n[\n {{\n \"col 1\": \"a\",\n \"col 2\": \"b\"\n }},\n {{\n \"col 1\": \"c\",\n \"col 2\": \"d\"\n }}\n]\n\nEncoding/decoding a Dataframe using ``'index'`` formatted JSON:\n\n>>> result = df.to_json(orient=\"index\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n{{\n \"row 1\": {{\n \"col 1\": \"a\",\n \"col 2\": \"b\"\n }},\n \"row 2\": {{\n \"col 1\": \"c\",\n \"col 2\": \"d\"\n }}\n}}\n\nEncoding/decoding a Dataframe using ``'columns'`` formatted JSON:\n\n>>> result = df.to_json(orient=\"columns\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n{{\n \"col 1\": {{\n \"row 1\": \"a\",\n \"row 2\": \"c\"\n }},\n \"col 2\": {{\n \"row 1\": \"b\",\n \"row 2\": \"d\"\n }}\n}}\n\nEncoding/decoding a Dataframe using ``'values'`` formatted JSON:\n\n>>> result = df.to_json(orient=\"values\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n[\n [\n \"a\",\n \"b\"\n ],\n [\n \"c\",\n \"d\"\n ]\n]\n\nEncoding with Table Schema:\n\n>>> result = df.to_json(orient=\"table\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n{{\n \"schema\": {{\n \"fields\": [\n {{\n \"name\": \"index\",\n \"type\": \"string\"\n }},\n {{\n \"name\": \"col 1\",\n \"type\": \"string\"\n }},\n {{\n \"name\": \"col 2\",\n \"type\": \"string\"\n }}\n ],\n \"primaryKey\": [\n \"index\"\n ],\n \"pandas_version\": \"1.4.0\"\n }},\n \"data\": [\n {{\n \"index\": \"row 1\",\n \"col 1\": \"a\",\n \"col 2\": \"b\"\n }},\n {{\n \"index\": \"row 2\",\n \"col 1\": \"c\",\n \"col 2\": \"d\"\n }}\n ]\n}}\n"}, "kind": 2, "label": "to_json", "sortText": "184"}, {"detail": "Overload[(buf: None = ..., columns: Sequence[Hashable] | None = ..., header: bool | SequenceNotStr[str] = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., bold_rows: bool = ..., column_format: str | None = ..., longtable: bool | None = ..., escape: bool | None = ..., encoding: str | None = ..., decimal: str = ..., multicolumn: bool | None = ..., multicolumn_format: str | None = ..., multirow: bool | None = ..., caption: str | tuple[str, str] | None = ..., label: str | None = ..., position: str | None = ...) -> str, (buf: str | PathLike[str] | WriteBuffer[str], columns: Sequence[Hashable] | None = ..., header: bool | SequenceNotStr[str] = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., bold_rows: bool = ..., column_format: str | None = ..., longtable: bool | None = ..., escape: bool | None = ..., encoding: str | None = ..., decimal: str = ..., multicolumn: bool | None = ..., multicolumn_format: str | None = ..., multirow: bool | None = ..., caption: str | tuple[str, str] | None = ..., label: str | None = ..., position: str | None = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Render object to a LaTeX tabular, longtable, or nested table.\n\nRequires ``\\usepackage{{booktabs}}``. The output can be copy/pasted\ninto a main LaTeX document or read from an external file\nwith ``\\input{{table.tex}}``.\n\n.. versionchanged:: 2.0.0\n Refactored to use the Styler implementation via jinja2 templating.\n\nParameters\n----------\nbuf : str, Path or StringIO-like, optional, default None\n Buffer to write to. If None, the output is returned as a string.\ncolumns : list of label, optional\n The subset of columns to write. Writes all columns by default.\nheader : bool or list of str, default True\n Write out the column names. If a list of strings is given,\n it is assumed to be aliases for the column names.\nindex : bool, default True\n Write row names (index).\nna_rep : str, default 'NaN'\n Missing data representation.\nformatters : list of functions or dict of {{str: function}}, optional\n Formatter functions to apply to columns' elements by position or\n name. The result of each function must be a unicode string.\n List must be of length equal to the number of columns.\nfloat_format : one-parameter function or str, optional, default None\n Formatter for floating point numbers. For example\n ``float_format=\"%.2f\"`` and ``float_format=\"{{:0.2f}}\".format`` will\n both result in 0.1234 being formatted as 0.12.\nsparsify : bool, optional\n Set to False for a DataFrame with a hierarchical index to print\n every multiindex key at each row. By default, the value will be\n read from the config module.\nindex_names : bool, default True\n Prints the names of the indexes.\nbold_rows : bool, default False\n Make the row labels bold in the output.\ncolumn_format : str, optional\n The columns format as specified in `LaTeX table format\n `__ e.g. 'rcl' for 3\n columns. By default, 'l' will be used for all columns except\n columns of numbers, which default to 'r'.\nlongtable : bool, optional\n Use a longtable environment instead of tabular. Requires\n adding a \\usepackage{{longtable}} to your LaTeX preamble.\n By default, the value will be read from the pandas config\n module, and set to `True` if the option ``styler.latex.environment`` is\n `\"longtable\"`.\n\n .. versionchanged:: 2.0.0\n The pandas option affecting this argument has changed.\nescape : bool, optional\n By default, the value will be read from the pandas config\n module and set to `True` if the option ``styler.format.escape`` is\n `\"latex\"`. When set to False prevents from escaping latex special\n characters in column names.\n\n .. versionchanged:: 2.0.0\n The pandas option affecting this argument has changed, as has the\n default value to `False`.\nencoding : str, optional\n A string representing the encoding to use in the output file,\n defaults to 'utf-8'.\ndecimal : str, default '.'\n Character recognized as decimal separator, e.g. ',' in Europe.\nmulticolumn : bool, default True\n Use \\multicolumn to enhance MultiIndex columns.\n The default will be read from the config module, and is set\n as the option ``styler.sparse.columns``.\n\n .. versionchanged:: 2.0.0\n The pandas option affecting this argument has changed.\nmulticolumn_format : str, default 'r'\n The alignment for multicolumns, similar to `column_format`\n The default will be read from the config module, and is set as the option\n ``styler.latex.multicol_align``.\n\n .. versionchanged:: 2.0.0\n The pandas option affecting this argument has changed, as has the\n default value to \"r\".\nmultirow : bool, default True\n Use \\multirow to enhance MultiIndex rows. Requires adding a\n \\usepackage{{multirow}} to your LaTeX preamble. Will print\n centered labels (instead of top-aligned) across the contained\n rows, separating groups via clines. The default will be read\n from the pandas config module, and is set as the option\n ``styler.sparse.index``.\n\n .. versionchanged:: 2.0.0\n The pandas option affecting this argument has changed, as has the\n default value to `True`.\ncaption : str or tuple, optional\n Tuple (full_caption, short_caption),\n which results in ``\\caption[short_caption]{{full_caption}}``;\n if a single string is passed, no short caption will be set.\nlabel : str, optional\n The LaTeX label to be placed inside ``\\label{{}}`` in the output.\n This is used with ``\\ref{{}}`` in the main ``.tex`` file.\n\nposition : str, optional\n The LaTeX positional argument for tables, to be placed after\n ``\\begin{{}}`` in the output.\n\nReturns\n-------\nstr or None\n If buf is None, returns the result as a string. Otherwise returns None.\n\nSee Also\n--------\nio.formats.style.Styler.to_latex : Render a DataFrame to LaTeX\n with conditional formatting.\nDataFrame.to_string : Render a DataFrame to a console-friendly\n tabular output.\nDataFrame.to_html : Render a DataFrame as an HTML table.\n\nNotes\n-----\nAs of v2.0.0 this method has changed to use the Styler implementation as\npart of :meth:`.Styler.to_latex` via ``jinja2`` templating. This means\nthat ``jinja2`` is a requirement, and needs to be installed, for this method\nto function. It is advised that users switch to using Styler, since that\nimplementation is more frequently updated and contains much more\nflexibility with the output.\n\nExamples\n--------\nConvert a general DataFrame to LaTeX with formatting:\n\n>>> df = pd.DataFrame(dict(name=['Raphael', 'Donatello'],\n... age=[26, 45],\n... height=[181.23, 177.65]))\n>>> print(df.to_latex(index=False,\n... formatters={\"name\": str.upper},\n... float_format=\"{:.1f}\".format,\n... )) # doctest: +SKIP\n\\begin{tabular}{lrr}\n\\toprule\nname & age & height \\\\\n\\midrule\nRAPHAEL & 26 & 181.2 \\\\\nDONATELLO & 45 & 177.7 \\\\\n\\bottomrule\n\\end{tabular}\n"}, "kind": 2, "label": "to_latex", "sortText": "185"}, {"detail": "bound method DataFrame.to_markdown(buf: str | PathLike[str] | WriteBuffer[str] | None = None, mode: str = \"wt\", index: bool = True, storage_options: dict[str, Any] | None = None, **kwargs) -> str | None", "kind": 2, "label": "to_markdown", "sortText": "186"}, {"detail": "bound method DataFrame.to_numpy(dtype: DTypeLike | None = None, copy: bool = False, na_value: object = ...) -> ndarray[_AnyShape, dtype[Any]]", "documentation": {"kind": "plaintext", "value": "Convert the DataFrame to a NumPy array.\n\nBy default, the dtype of the returned array will be the common NumPy\ndtype of all types in the DataFrame. For example, if the dtypes are\n``float16`` and ``float32``, the results dtype will be ``float32``.\nThis may require copying data and coercing values, which may be\nexpensive.\n\nParameters\n----------\ndtype : str or numpy.dtype, optional\n The dtype to pass to :meth:`numpy.asarray`.\ncopy : bool, default False\n Whether to ensure that the returned value is not a view on\n another array. Note that ``copy=False`` does not *ensure* that\n ``to_numpy()`` is no-copy. Rather, ``copy=True`` ensure that\n a copy is made, even if not strictly necessary.\nna_value : Any, optional\n The value to use for missing values. The default value depends\n on `dtype` and the dtypes of the DataFrame columns.\n\nReturns\n-------\nnumpy.ndarray\n\nSee Also\n--------\nSeries.to_numpy : Similar method for Series.\n\nExamples\n--------\n>>> pd.DataFrame({\"A\": [1, 2], \"B\": [3, 4]}).to_numpy()\narray([[1, 3],\n [2, 4]])\n\nWith heterogeneous data, the lowest common type will have to\nbe used.\n\n>>> df = pd.DataFrame({\"A\": [1, 2], \"B\": [3.0, 4.5]})\n>>> df.to_numpy()\narray([[1. , 3. ],\n [2. , 4.5]])\n\nFor a mix of numeric and non-numeric types, the output array will\nhave object dtype.\n\n>>> df['C'] = pd.date_range('2000', periods=2)\n>>> df.to_numpy()\narray([[1, 3.0, Timestamp('2000-01-01 00:00:00')],\n [2, 4.5, Timestamp('2000-01-02 00:00:00')]], dtype=object)\n"}, "kind": 2, "label": "to_numpy", "sortText": "187"}, {"detail": "bound method DataFrame.to_orc(path: str | PathLike[str] | WriteBuffer[bytes] | None = None, *, engine: Literal[\"pyarrow\"] = \"pyarrow\", index: bool | None = None, engine_kwargs: dict[str, Any] | None = None) -> bytes | None", "documentation": {"kind": "plaintext", "value": "Write a DataFrame to the ORC format.\n\n.. versionadded:: 1.5.0\n\nParameters\n----------\npath : str, file-like object or None, default None\n If a string, it will be used as Root Directory path\n when writing a partitioned dataset. By file-like object,\n we refer to objects with a write() method, such as a file handle\n (e.g. via builtin open function). If path is None,\n a bytes object is returned.\nengine : {'pyarrow'}, default 'pyarrow'\n ORC library to use.\nindex : bool, optional\n If ``True``, include the dataframe's index(es) in the file output.\n If ``False``, they will not be written to the file.\n If ``None``, similar to ``infer`` the dataframe's index(es)\n will be saved. However, instead of being saved as values,\n the RangeIndex will be stored as a range in the metadata so it\n doesn't require much space and is faster. Other indexes will\n be included as columns in the file output.\nengine_kwargs : dict[str, Any] or None, default None\n Additional keyword arguments passed to :func:`pyarrow.orc.write_table`.\n\nReturns\n-------\nbytes if no path argument is provided else None\n\nRaises\n------\nNotImplementedError\n Dtype of one or more columns is category, unsigned integers, interval,\n period or sparse.\nValueError\n engine is not pyarrow.\n\nSee Also\n--------\nread_orc : Read a ORC file.\nDataFrame.to_parquet : Write a parquet file.\nDataFrame.to_csv : Write a csv file.\nDataFrame.to_sql : Write to a sql table.\nDataFrame.to_hdf : Write to hdf.\n\nNotes\n-----\n* Before using this function you should read the :ref:`user guide about\n ORC ` and :ref:`install optional dependencies `.\n* This function requires `pyarrow `_\n library.\n* For supported dtypes please refer to `supported ORC features in Arrow\n `__.\n* Currently timezones in datetime columns are not preserved when a\n dataframe is converted into ORC files.\n\nExamples\n--------\n>>> df = pd.DataFrame(data={'col1': [1, 2], 'col2': [4, 3]})\n>>> df.to_orc('df.orc') # doctest: +SKIP\n>>> pd.read_orc('df.orc') # doctest: +SKIP\n col1 col2\n0 1 4\n1 2 3\n\nIf you want to get a buffer to the orc content you can write it to io.BytesIO\n\n>>> import io\n>>> b = io.BytesIO(df.to_orc()) # doctest: +SKIP\n>>> b.seek(0) # doctest: +SKIP\n0\n>>> content = b.read() # doctest: +SKIP\n"}, "kind": 2, "label": "to_orc", "sortText": "188"}, {"detail": "Overload[(path: None = ..., engine: Literal[\"auto\", \"pyarrow\", \"fastparquet\"] = ..., compression: str | None = ..., index: bool | None = ..., partition_cols: list[str] | None = ..., storage_options: dict[str, Any] | None = ..., **kwargs) -> bytes, (path: str | PathLike[str] | WriteBuffer[bytes], engine: Literal[\"auto\", \"pyarrow\", \"fastparquet\"] = ..., compression: str | None = ..., index: bool | None = ..., partition_cols: list[str] | None = ..., storage_options: dict[str, Any] | None = ..., **kwargs) -> None]", "documentation": {"kind": "plaintext", "value": "Write a DataFrame to the binary parquet format.\n\nThis function writes the dataframe as a `parquet file\n`_. You can choose different parquet\nbackends, and have the option of compression. See\n:ref:`the user guide ` for more details.\n\nParameters\n----------\npath : str, path object, file-like object, or None, default None\n String, path object (implementing ``os.PathLike[str]``), or file-like\n object implementing a binary ``write()`` function. If None, the result is\n returned as bytes. If a string or path, it will be used as Root Directory\n path when writing a partitioned dataset.\nengine : {{'auto', 'pyarrow', 'fastparquet'}}, default 'auto'\n Parquet library to use. If 'auto', then the option\n ``io.parquet.engine`` is used. The default ``io.parquet.engine``\n behavior is to try 'pyarrow', falling back to 'fastparquet' if\n 'pyarrow' is unavailable.\ncompression : str or None, default 'snappy'\n Name of the compression to use. Use ``None`` for no compression.\n Supported options: 'snappy', 'gzip', 'brotli', 'lz4', 'zstd'.\nindex : bool, default None\n If ``True``, include the dataframe's index(es) in the file output.\n If ``False``, they will not be written to the file.\n If ``None``, similar to ``True`` the dataframe's index(es)\n will be saved. However, instead of being saved as values,\n the RangeIndex will be stored as a range in the metadata so it\n doesn't require much space and is faster. Other indexes will\n be included as columns in the file output.\npartition_cols : list, optional, default None\n Column names by which to partition the dataset.\n Columns are partitioned in the order they are given.\n Must be None if path is not a string.\n{storage_options}\n\n**kwargs\n Additional arguments passed to the parquet library. See\n :ref:`pandas io ` for more details.\n\nReturns\n-------\nbytes if no path argument is provided else None\n\nSee Also\n--------\nread_parquet : Read a parquet file.\nDataFrame.to_orc : Write an orc file.\nDataFrame.to_csv : Write a csv file.\nDataFrame.to_sql : Write to a sql table.\nDataFrame.to_hdf : Write to hdf.\n\nNotes\n-----\nThis function requires either the `fastparquet\n`_ or `pyarrow\n`_ library.\n\nExamples\n--------\n>>> df = pd.DataFrame(data={{'col1': [1, 2], 'col2': [3, 4]}})\n>>> df.to_parquet('df.parquet.gzip',\n... compression='gzip') # doctest: +SKIP\n>>> pd.read_parquet('df.parquet.gzip') # doctest: +SKIP\n col1 col2\n0 1 3\n1 2 4\n\nIf you want to get a buffer to the parquet content you can use a io.BytesIO\nobject, as long as you don't use partition_cols, which creates multiple files.\n\n>>> import io\n>>> f = io.BytesIO()\n>>> df.to_parquet(f)\n>>> f.seek(0)\n0\n>>> content = f.read()\n"}, "kind": 2, "label": "to_parquet", "sortText": "189"}, {"detail": "bound method DataFrame.to_period(freq: str | BaseOffset | None = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Convert DataFrame from DatetimeIndex to PeriodIndex.\n\nConvert DataFrame from DatetimeIndex to PeriodIndex with desired\nfrequency (inferred from index if not passed).\n\nParameters\n----------\nfreq : str, default\n Frequency of the PeriodIndex.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to convert (the index by default).\ncopy : bool, default True\n If False then underlying input data is not copied.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\nDataFrame\n The DataFrame has a PeriodIndex.\n\nExamples\n--------\n>>> idx = pd.to_datetime(\n... [\n... \"2001-03-31 00:00:00\",\n... \"2002-05-31 00:00:00\",\n... \"2003-08-31 00:00:00\",\n... ]\n... )\n\n>>> idx\nDatetimeIndex(['2001-03-31', '2002-05-31', '2003-08-31'],\ndtype='datetime64[ns]', freq=None)\n\n>>> idx.to_period(\"M\")\nPeriodIndex(['2001-03', '2002-05', '2003-08'], dtype='period[M]')\n\nFor the yearly frequency\n\n>>> idx.to_period(\"Y\")\nPeriodIndex(['2001', '2002', '2003'], dtype='period[Y-DEC]')\n"}, "kind": 2, "label": "to_period", "sortText": "190"}, {"detail": "bound method DataFrame.to_pickle(path: str | PathLike[str] | WriteBuffer[bytes], compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = \"infer\", protocol: int = 5, storage_options: dict[str, Any] | None = None) -> None", "documentation": {"kind": "plaintext", "value": "Pickle (serialize) object to file.\n\nParameters\n----------\npath : str, path object, or file-like object\n String, path object (implementing ``os.PathLike[str]``), or file-like\n object implementing a binary ``write()`` function. File path where\n the pickled object will be stored.\n{compression_options}\nprotocol : int\n Int which indicates which protocol should be used by the pickler,\n default HIGHEST_PROTOCOL (see [1]_ paragraph 12.1.2). The possible\n values are 0, 1, 2, 3, 4, 5. A negative value for the protocol\n parameter is equivalent to setting its value to HIGHEST_PROTOCOL.\n\n .. [1] https://docs.python.org/3/library/pickle.html.\n\n{storage_options}\n\nSee Also\n--------\nread_pickle : Load pickled pandas object (or any object) from file.\nDataFrame.to_hdf : Write DataFrame to an HDF5 file.\nDataFrame.to_sql : Write DataFrame to a SQL database.\nDataFrame.to_parquet : Write a DataFrame to the binary parquet format.\n\nExamples\n--------\n>>> original_df = pd.DataFrame({{\"foo\": range(5), \"bar\": range(5, 10)}}) # doctest: +SKIP\n>>> original_df # doctest: +SKIP\n foo bar\n0 0 5\n1 1 6\n2 2 7\n3 3 8\n4 4 9\n>>> original_df.to_pickle(\"./dummy.pkl\") # doctest: +SKIP\n\n>>> unpickled_df = pd.read_pickle(\"./dummy.pkl\") # doctest: +SKIP\n>>> unpickled_df # doctest: +SKIP\n foo bar\n0 0 5\n1 1 6\n2 2 7\n3 3 8\n4 4 9\n"}, "kind": 2, "label": "to_pickle", "sortText": "191"}, {"detail": "bound method DataFrame.to_records(index: bool = True, column_dtypes=None, index_dtypes=None) -> recarray[_AnyShape, dtype[Any]]", "documentation": {"kind": "plaintext", "value": "Convert DataFrame to a NumPy record array.\n\nIndex will be included as the first field of the record array if\nrequested.\n\nParameters\n----------\nindex : bool, default True\n Include index in resulting record array, stored in 'index'\n field or using the index label, if set.\ncolumn_dtypes : str, type, dict, default None\n If a string or type, the data type to store all columns. If\n a dictionary, a mapping of column names and indices (zero-indexed)\n to specific data types.\nindex_dtypes : str, type, dict, default None\n If a string or type, the data type to store all index levels. If\n a dictionary, a mapping of index level names and indices\n (zero-indexed) to specific data types.\n\n This mapping is applied only if `index=True`.\n\nReturns\n-------\nnumpy.rec.recarray\n NumPy ndarray with the DataFrame labels as fields and each row\n of the DataFrame as entries.\n\nSee Also\n--------\nDataFrame.from_records: Convert structured or record ndarray\n to DataFrame.\nnumpy.rec.recarray: An ndarray that allows field access using\n attributes, analogous to typed columns in a\n spreadsheet.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [1, 2], 'B': [0.5, 0.75]},\n... index=['a', 'b'])\n>>> df\n A B\na 1 0.50\nb 2 0.75\n>>> df.to_records()\nrec.array([('a', 1, 0.5 ), ('b', 2, 0.75)],\n dtype=[('index', 'O'), ('A', '>> df.index = df.index.rename(\"I\")\n>>> df.to_records()\nrec.array([('a', 1, 0.5 ), ('b', 2, 0.75)],\n dtype=[('I', 'O'), ('A', '>> df.to_records(index=False)\nrec.array([(1, 0.5 ), (2, 0.75)],\n dtype=[('A', '>> df.to_records(column_dtypes={\"A\": \"int32\"})\nrec.array([('a', 1, 0.5 ), ('b', 2, 0.75)],\n dtype=[('I', 'O'), ('A', '>> df.to_records(index_dtypes=\">> index_dtypes = f\">> df.to_records(index_dtypes=index_dtypes)\nrec.array([(b'a', 1, 0.5 ), (b'b', 2, 0.75)],\n dtype=[('I', 'S1'), ('A', ' Unknown) | None = None) -> int | None", "documentation": {"kind": "plaintext", "value": "Write records stored in a DataFrame to a SQL database.\n\nDatabases supported by SQLAlchemy [1]_ are supported. Tables can be\nnewly created, appended to, or overwritten.\n\nParameters\n----------\nname : str\n Name of SQL table.\ncon : sqlalchemy.engine.(Engine or Connection) or sqlite3.Connection\n Using SQLAlchemy makes it possible to use any DB supported by that\n library. Legacy support is provided for sqlite3.Connection objects. The user\n is responsible for engine disposal and connection closure for the SQLAlchemy\n connectable. See `here `_.\n If passing a sqlalchemy.engine.Connection which is already in a transaction,\n the transaction will not be committed. If passing a sqlite3.Connection,\n it will not be possible to roll back the record insertion.\n\nschema : str, optional\n Specify the schema (if database flavor supports this). If None, use\n default schema.\nif_exists : {'fail', 'replace', 'append'}, default 'fail'\n How to behave if the table already exists.\n\n * fail: Raise a ValueError.\n * replace: Drop the table before inserting new values.\n * append: Insert new values to the existing table.\n\nindex : bool, default True\n Write DataFrame index as a column. Uses `index_label` as the column\n name in the table. Creates a table index for this column.\nindex_label : str or sequence, default None\n Column label for index column(s). If None is given (default) and\n `index` is True, then the index names are used.\n A sequence should be given if the DataFrame uses MultiIndex.\nchunksize : int, optional\n Specify the number of rows in each batch to be written at a time.\n By default, all rows will be written at once.\ndtype : dict or scalar, optional\n Specifying the datatype for columns. If a dictionary is used, the\n keys should be the column names and the values should be the\n SQLAlchemy types or strings for the sqlite3 legacy mode. If a\n scalar is provided, it will be applied to all columns.\nmethod : {None, 'multi', callable}, optional\n Controls the SQL insertion clause used:\n\n * None : Uses standard SQL ``INSERT`` clause (one per row).\n * 'multi': Pass multiple values in a single ``INSERT`` clause.\n * callable with signature ``(pd_table, conn, keys, data_iter)``.\n\n Details and a sample callable implementation can be found in the\n section :ref:`insert method `.\n\nReturns\n-------\nNone or int\n Number of rows affected by to_sql. None is returned if the callable\n passed into ``method`` does not return an integer number of rows.\n\n The number of returned rows affected is the sum of the ``rowcount``\n attribute of ``sqlite3.Cursor`` or SQLAlchemy connectable which may not\n reflect the exact number of written rows as stipulated in the\n `sqlite3 `__ or\n `SQLAlchemy `__.\n\n .. versionadded:: 1.4.0\n\nRaises\n------\nValueError\n When the table already exists and `if_exists` is 'fail' (the\n default).\n\nSee Also\n--------\nread_sql : Read a DataFrame from a table.\n\nNotes\n-----\nTimezone aware datetime columns will be written as\n``Timestamp with timezone`` type with SQLAlchemy if supported by the\ndatabase. Otherwise, the datetimes will be stored as timezone unaware\ntimestamps local to the original timezone.\n\nNot all datastores support ``method=\"multi\"``. Oracle, for example,\ndoes not support multi-value insert.\n\nReferences\n----------\n.. [1] https://docs.sqlalchemy.org\n.. [2] https://www.python.org/dev/peps/pep-0249/\n\nExamples\n--------\nCreate an in-memory SQLite database.\n\n>>> from sqlalchemy import create_engine\n>>> engine = create_engine('sqlite://', echo=False)\n\nCreate a table from scratch with 3 rows.\n\n>>> df = pd.DataFrame({'name' : ['User 1', 'User 2', 'User 3']})\n>>> df\n name\n0 User 1\n1 User 2\n2 User 3\n\n>>> df.to_sql(name='users', con=engine)\n3\n>>> from sqlalchemy import text\n>>> with engine.connect() as conn:\n... conn.execute(text(\"SELECT * FROM users\")).fetchall()\n[(0, 'User 1'), (1, 'User 2'), (2, 'User 3')]\n\nAn `sqlalchemy.engine.Connection` can also be passed to `con`:\n\n>>> with engine.begin() as connection:\n... df1 = pd.DataFrame({'name' : ['User 4', 'User 5']})\n... df1.to_sql(name='users', con=connection, if_exists='append')\n2\n\nThis is allowed to support operations that require that the same\nDBAPI connection is used for the entire operation.\n\n>>> df2 = pd.DataFrame({'name' : ['User 6', 'User 7']})\n>>> df2.to_sql(name='users', con=engine, if_exists='append')\n2\n>>> with engine.connect() as conn:\n... conn.execute(text(\"SELECT * FROM users\")).fetchall()\n[(0, 'User 1'), (1, 'User 2'), (2, 'User 3'),\n (0, 'User 4'), (1, 'User 5'), (0, 'User 6'),\n (1, 'User 7')]\n\nOverwrite the table with just ``df2``.\n\n>>> df2.to_sql(name='users', con=engine, if_exists='replace',\n... index_label='id')\n2\n>>> with engine.connect() as conn:\n... conn.execute(text(\"SELECT * FROM users\")).fetchall()\n[(0, 'User 6'), (1, 'User 7')]\n\nUse ``method`` to define a callable insertion method to do nothing\nif there's a primary key conflict on a table in a PostgreSQL database.\n\n>>> from sqlalchemy.dialects.postgresql import insert\n>>> def insert_on_conflict_nothing(table, conn, keys, data_iter):\n... # \"a\" is the primary key in \"conflict_table\"\n... data = [dict(zip(keys, row)) for row in data_iter]\n... stmt = insert(table.table).values(data).on_conflict_do_nothing(index_elements=[\"a\"])\n... result = conn.execute(stmt)\n... return result.rowcount\n>>> df_conflict.to_sql(name=\"conflict_table\", con=conn, if_exists=\"append\", method=insert_on_conflict_nothing) # doctest: +SKIP\n0\n\nFor MySQL, a callable to update columns ``b`` and ``c`` if there's a conflict\non a primary key.\n\n>>> from sqlalchemy.dialects.mysql import insert\n>>> def insert_on_conflict_update(table, conn, keys, data_iter):\n... # update columns \"b\" and \"c\" on primary key conflict\n... data = [dict(zip(keys, row)) for row in data_iter]\n... stmt = (\n... insert(table.table)\n... .values(data)\n... )\n... stmt = stmt.on_duplicate_key_update(b=stmt.inserted.b, c=stmt.inserted.c)\n... result = conn.execute(stmt)\n... return result.rowcount\n>>> df_conflict.to_sql(name=\"conflict_table\", con=conn, if_exists=\"append\", method=insert_on_conflict_update) # doctest: +SKIP\n2\n\nSpecify the dtype (especially useful for integers with missing values).\nNotice that while pandas is forced to store the data as floating point,\nthe database supports nullable integers. When fetching the data with\nPython, we get back integer scalars.\n\n>>> df = pd.DataFrame({\"A\": [1, None, 2]})\n>>> df\n A\n0 1.0\n1 NaN\n2 2.0\n\n>>> from sqlalchemy.types import Integer\n>>> df.to_sql(name='integers', con=engine, index=False,\n... dtype={\"A\": Integer()})\n3\n\n>>> with engine.connect() as conn:\n... conn.execute(text(\"SELECT * FROM integers\")).fetchall()\n[(1,), (None,), (2,)]\n"}, "kind": 2, "label": "to_sql", "sortText": "193"}, {"detail": "bound method DataFrame.to_stata(path: str | PathLike[str] | WriteBuffer[bytes], *, convert_dates: dict[Hashable, str] | None = None, write_index: bool = True, byteorder: Literal[\">\", \"<\", \"little\", \"big\"] | None = None, time_stamp: datetime | None = None, data_label: str | None = None, variable_labels: dict[Hashable, str] | None = None, version: int | None = 114, convert_strl: Sequence[Hashable] | None = None, compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = \"infer\", storage_options: dict[str, Any] | None = None, value_labels: dict[Hashable, dict[float, str]] | None = None) -> None", "documentation": {"kind": "plaintext", "value": "Export DataFrame object to Stata dta format.\n\nWrites the DataFrame to a Stata dataset file.\n\"dta\" files contain a Stata dataset.\n\nParameters\n----------\npath : str, path object, or buffer\n String, path object (implementing ``os.PathLike[str]``), or file-like\n object implementing a binary ``write()`` function.\n\nconvert_dates : dict\n Dictionary mapping columns containing datetime types to stata\n internal format to use when writing the dates. Options are 'tc',\n 'td', 'tm', 'tw', 'th', 'tq', 'ty'. Column can be either an integer\n or a name. Datetime columns that do not have a conversion type\n specified will be converted to 'tc'. Raises NotImplementedError if\n a datetime column has timezone information.\nwrite_index : bool\n Write the index to Stata dataset.\nbyteorder : str\n Can be \">\", \"<\", \"little\", or \"big\". default is `sys.byteorder`.\ntime_stamp : datetime\n A datetime to use as file creation date. Default is the current\n time.\ndata_label : str, optional\n A label for the data set. Must be 80 characters or smaller.\nvariable_labels : dict\n Dictionary containing columns as keys and variable labels as\n values. Each label must be 80 characters or smaller.\nversion : {{114, 117, 118, 119, None}}, default 114\n Version to use in the output dta file. Set to None to let pandas\n decide between 118 or 119 formats depending on the number of\n columns in the frame. Version 114 can be read by Stata 10 and\n later. Version 117 can be read by Stata 13 or later. Version 118\n is supported in Stata 14 and later. Version 119 is supported in\n Stata 15 and later. Version 114 limits string variables to 244\n characters or fewer while versions 117 and later allow strings\n with lengths up to 2,000,000 characters. Versions 118 and 119\n support Unicode characters, and version 119 supports more than\n 32,767 variables.\n\n Version 119 should usually only be used when the number of\n variables exceeds the capacity of dta format 118. Exporting\n smaller datasets in format 119 may have unintended consequences,\n and, as of November 2020, Stata SE cannot read version 119 files.\n\nconvert_strl : list, optional\n List of column names to convert to string columns to Stata StrL\n format. Only available if version is 117. Storing strings in the\n StrL format can produce smaller dta files if strings have more than\n 8 characters and values are repeated.\n{compression_options}\n\n .. versionchanged:: 1.4.0 Zstandard support.\n\n{storage_options}\n\nvalue_labels : dict of dicts\n Dictionary containing columns as keys and dictionaries of column value\n to labels as values. Labels for a single variable must be 32,000\n characters or smaller.\n\n .. versionadded:: 1.4.0\n\nRaises\n------\nNotImplementedError\n * If datetimes contain timezone information\n * Column dtype is not representable in Stata\nValueError\n * Columns listed in convert_dates are neither datetime64[ns]\n or datetime.datetime\n * Column listed in convert_dates is not in DataFrame\n * Categorical label contains more than 32,000 characters\n\nSee Also\n--------\nread_stata : Import Stata data files.\nio.stata.StataWriter : Low-level writer for Stata data files.\nio.stata.StataWriter117 : Low-level writer for version 117 files.\n\nExamples\n--------\n>>> df = pd.DataFrame({{'animal': ['falcon', 'parrot', 'falcon',\n... 'parrot'],\n... 'speed': [350, 18, 361, 15]}})\n>>> df.to_stata('animals.dta') # doctest: +SKIP\n"}, "kind": 2, "label": "to_stata", "sortText": "194"}, {"detail": "Overload[(buf: None = ..., columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = ..., col_space: int | list[int] | dict[Hashable, int] | None = ..., header: bool | SequenceNotStr[str] = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., justify: str | None = ..., max_rows: int | None = ..., max_cols: int | None = ..., show_dimensions: bool = ..., decimal: str = ..., line_width: int | None = ..., min_rows: int | None = ..., max_colwidth: int | None = ..., encoding: str | None = ...) -> str, (buf: str | PathLike[str] | WriteBuffer[str], columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = ..., col_space: int | list[int] | dict[Hashable, int] | None = ..., header: bool | SequenceNotStr[str] = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., justify: str | None = ..., max_rows: int | None = ..., max_cols: int | None = ..., show_dimensions: bool = ..., decimal: str = ..., line_width: int | None = ..., min_rows: int | None = ..., max_colwidth: int | None = ..., encoding: str | None = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Render a DataFrame to a console-friendly tabular output.\n%(shared_params)s\nline_width : int, optional\n Width to wrap a line in characters.\nmin_rows : int, optional\n The number of rows to display in the console in a truncated repr\n (when number of rows is above `max_rows`).\nmax_colwidth : int, optional\n Max width to truncate each column in characters. By default, no limit.\nencoding : str, default \"utf-8\"\n Set character encoding.\n%(returns)s\nSee Also\n--------\nto_html : Convert DataFrame to HTML.\n\nExamples\n--------\n>>> d = {'col1': [1, 2, 3], 'col2': [4, 5, 6]}\n>>> df = pd.DataFrame(d)\n>>> print(df.to_string())\n col1 col2\n0 1 4\n1 2 5\n2 3 6\n"}, "kind": 2, "label": "to_string", "sortText": "195"}, {"detail": "bound method DataFrame.to_timestamp(freq: str | BaseOffset | None = None, how: Literal[\"s\", \"e\", \"start\", \"end\"] = \"start\", axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Cast to DatetimeIndex of timestamps, at *beginning* of period.\n\nParameters\n----------\nfreq : str, default frequency of PeriodIndex\n Desired frequency.\nhow : {'s', 'e', 'start', 'end'}\n Convention for converting period to timestamp; start of period\n vs. end.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to convert (the index by default).\ncopy : bool, default True\n If False then underlying input data is not copied.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\nDataFrame\n The DataFrame has a DatetimeIndex.\n\nExamples\n--------\n>>> idx = pd.PeriodIndex(['2023', '2024'], freq='Y')\n>>> d = {'col1': [1, 2], 'col2': [3, 4]}\n>>> df1 = pd.DataFrame(data=d, index=idx)\n>>> df1\n col1 col2\n2023 1 3\n2024 2 4\n\nThe resulting timestamps will be at the beginning of the year in this case\n\n>>> df1 = df1.to_timestamp()\n>>> df1\n col1 col2\n2023-01-01 1 3\n2024-01-01 2 4\n>>> df1.index\nDatetimeIndex(['2023-01-01', '2024-01-01'], dtype='datetime64[ns]', freq=None)\n\nUsing `freq` which is the offset that the Timestamps will have\n\n>>> df2 = pd.DataFrame(data=d, index=idx)\n>>> df2 = df2.to_timestamp(freq='M')\n>>> df2\n col1 col2\n2023-01-31 1 3\n2024-01-31 2 4\n>>> df2.index\nDatetimeIndex(['2023-01-31', '2024-01-31'], dtype='datetime64[ns]', freq=None)\n"}, "kind": 2, "label": "to_timestamp", "sortText": "196"}, {"detail": "bound method DataFrame.to_xarray() -> Unknown", "documentation": {"kind": "plaintext", "value": "Return an xarray object from the pandas object.\n\nReturns\n-------\nxarray.DataArray or xarray.Dataset\n Data in the pandas structure converted to Dataset if the object is\n a DataFrame, or a DataArray if the object is a Series.\n\nSee Also\n--------\nDataFrame.to_hdf : Write DataFrame to an HDF5 file.\nDataFrame.to_parquet : Write a DataFrame to the binary parquet format.\n\nNotes\n-----\nSee the `xarray docs `__\n\nExamples\n--------\n>>> df = pd.DataFrame([('falcon', 'bird', 389.0, 2),\n... ('parrot', 'bird', 24.0, 2),\n... ('lion', 'mammal', 80.5, 4),\n... ('monkey', 'mammal', np.nan, 4)],\n... columns=['name', 'class', 'max_speed',\n... 'num_legs'])\n>>> df\n name class max_speed num_legs\n0 falcon bird 389.0 2\n1 parrot bird 24.0 2\n2 lion mammal 80.5 4\n3 monkey mammal NaN 4\n\n>>> df.to_xarray() # doctest: +SKIP\n\nDimensions: (index: 4)\nCoordinates:\n * index (index) int64 32B 0 1 2 3\nData variables:\n name (index) object 32B 'falcon' 'parrot' 'lion' 'monkey'\n class (index) object 32B 'bird' 'bird' 'mammal' 'mammal'\n max_speed (index) float64 32B 389.0 24.0 80.5 nan\n num_legs (index) int64 32B 2 2 4 4\n\n>>> df['max_speed'].to_xarray() # doctest: +SKIP\n\narray([389. , 24. , 80.5, nan])\nCoordinates:\n * index (index) int64 0 1 2 3\n\n>>> dates = pd.to_datetime(['2018-01-01', '2018-01-01',\n... '2018-01-02', '2018-01-02'])\n>>> df_multiindex = pd.DataFrame({'date': dates,\n... 'animal': ['falcon', 'parrot',\n... 'falcon', 'parrot'],\n... 'speed': [350, 18, 361, 15]})\n>>> df_multiindex = df_multiindex.set_index(['date', 'animal'])\n\n>>> df_multiindex\n speed\ndate animal\n2018-01-01 falcon 350\n parrot 18\n2018-01-02 falcon 361\n parrot 15\n\n>>> df_multiindex.to_xarray() # doctest: +SKIP\n\nDimensions: (date: 2, animal: 2)\nCoordinates:\n * date (date) datetime64[ns] 2018-01-01 2018-01-02\n * animal (animal) object 'falcon' 'parrot'\nData variables:\n speed (date, animal) int64 350 18 361 15\n"}, "kind": 2, "label": "to_xarray", "sortText": "197"}, {"detail": "Overload[(path_or_buffer: None = ..., *, index: bool = ..., root_name: str | None = ..., row_name: str | None = ..., na_rep: str | None = ..., attr_cols: list[str] | None = ..., elem_cols: list[str] | None = ..., namespaces: dict[str | None, str] | None = ..., prefix: str | None = ..., encoding: str = ..., xml_declaration: bool | None = ..., pretty_print: bool | None = ..., parser: Literal[\"lxml\", \"etree\"] | None = ..., stylesheet: str | PathLike[str] | ReadBuffer[str] | ReadBuffer[bytes] | None = ..., compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = ..., storage_options: dict[str, Any] | None = ...) -> str, (path_or_buffer: str | PathLike[str] | WriteBuffer[bytes] | WriteBuffer[str], *, index: bool = ..., root_name: str | None = ..., row_name: str | None = ..., na_rep: str | None = ..., attr_cols: list[str] | None = ..., elem_cols: list[str] | None = ..., namespaces: dict[str | None, str] | None = ..., prefix: str | None = ..., encoding: str = ..., xml_declaration: bool | None = ..., pretty_print: bool | None = ..., parser: Literal[\"lxml\", \"etree\"] | None = ..., stylesheet: str | PathLike[str] | ReadBuffer[str] | ReadBuffer[bytes] | None = ..., compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = ..., storage_options: dict[str, Any] | None = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Render a DataFrame to an XML document.\n\n.. versionadded:: 1.3.0\n\nParameters\n----------\npath_or_buffer : str, path object, file-like object, or None, default None\n String, path object (implementing ``os.PathLike[str]``), or file-like\n object implementing a ``write()`` function. If None, the result is returned\n as a string.\nindex : bool, default True\n Whether to include index in XML document.\nroot_name : str, default 'data'\n The name of root element in XML document.\nrow_name : str, default 'row'\n The name of row element in XML document.\nna_rep : str, optional\n Missing data representation.\nattr_cols : list-like, optional\n List of columns to write as attributes in row element.\n Hierarchical columns will be flattened with underscore\n delimiting the different levels.\nelem_cols : list-like, optional\n List of columns to write as children in row element. By default,\n all columns output as children of row element. Hierarchical\n columns will be flattened with underscore delimiting the\n different levels.\nnamespaces : dict, optional\n All namespaces to be defined in root element. Keys of dict\n should be prefix names and values of dict corresponding URIs.\n Default namespaces should be given empty string key. For\n example, ::\n\n namespaces = {{\"\": \"https://example.com\"}}\n\nprefix : str, optional\n Namespace prefix to be used for every element and/or attribute\n in document. This should be one of the keys in ``namespaces``\n dict.\nencoding : str, default 'utf-8'\n Encoding of the resulting document.\nxml_declaration : bool, default True\n Whether to include the XML declaration at start of document.\npretty_print : bool, default True\n Whether output should be pretty printed with indentation and\n line breaks.\nparser : {{'lxml','etree'}}, default 'lxml'\n Parser module to use for building of tree. Only 'lxml' and\n 'etree' are supported. With 'lxml', the ability to use XSLT\n stylesheet is supported.\nstylesheet : str, path object or file-like object, optional\n A URL, file-like object, or a raw string containing an XSLT\n script used to transform the raw XML output. Script should use\n layout of elements and attributes from original output. This\n argument requires ``lxml`` to be installed. Only XSLT 1.0\n scripts and not later versions is currently supported.\n{compression_options}\n\n .. versionchanged:: 1.4.0 Zstandard support.\n\n{storage_options}\n\nReturns\n-------\nNone or str\n If ``io`` is None, returns the resulting XML format as a\n string. Otherwise returns None.\n\nSee Also\n--------\nto_json : Convert the pandas object to a JSON string.\nto_html : Convert DataFrame to a html.\n\nExamples\n--------\n>>> df = pd.DataFrame({{'shape': ['square', 'circle', 'triangle'],\n... 'degrees': [360, 360, 180],\n... 'sides': [4, np.nan, 3]}})\n\n>>> df.to_xml() # doctest: +SKIP\n\n\n \n 0\n square\n 360\n 4.0\n \n \n 1\n circle\n 360\n \n \n \n 2\n triangle\n 180\n 3.0\n \n\n\n>>> df.to_xml(attr_cols=[\n... 'index', 'shape', 'degrees', 'sides'\n... ]) # doctest: +SKIP\n\n\n \n \n \n\n\n>>> df.to_xml(namespaces={{\"doc\": \"https://example.com\"}},\n... prefix=\"doc\") # doctest: +SKIP\n\n\n \n 0\n square\n 360\n 4.0\n \n \n 1\n circle\n 360\n \n \n \n 2\n triangle\n 180\n 3.0\n \n\n"}, "kind": 2, "label": "to_xml", "sortText": "198"}, {"detail": "bound method DataFrame.transform(func: ((...) -> Unknown) | str | list[((...) -> Unknown) | str] | MutableMapping[Hashable, ((...) -> Unknown) | str | list[((...) -> Unknown) | str]], axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, *args, **kwargs) -> DataFrame", "kind": 2, "label": "transform", "sortText": "199"}, {"detail": "bound method DataFrame.transpose(*args, copy: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Transpose index and columns.\n\nReflect the DataFrame over its main diagonal by writing rows as columns\nand vice-versa. The property :attr:`.T` is an accessor to the method\n:meth:`transpose`.\n\nParameters\n----------\n*args : tuple, optional\n Accepted for compatibility with NumPy.\ncopy : bool, default False\n Whether to copy the data after transposing, even for DataFrames\n with a single dtype.\n\n Note that a copy is always required for mixed dtype DataFrames,\n or for DataFrames with any extension types.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\nDataFrame\n The transposed DataFrame.\n\nSee Also\n--------\nnumpy.transpose : Permute the dimensions of a given array.\n\nNotes\n-----\nTransposing a DataFrame with mixed dtypes will result in a homogeneous\nDataFrame with the `object` dtype. In such a case, a copy of the data\nis always made.\n\nExamples\n--------\n**Square DataFrame with homogeneous dtype**\n\n>>> d1 = {'col1': [1, 2], 'col2': [3, 4]}\n>>> df1 = pd.DataFrame(data=d1)\n>>> df1\n col1 col2\n0 1 3\n1 2 4\n\n>>> df1_transposed = df1.T # or df1.transpose()\n>>> df1_transposed\n 0 1\ncol1 1 2\ncol2 3 4\n\nWhen the dtype is homogeneous in the original DataFrame, we get a\ntransposed DataFrame with the same dtype:\n\n>>> df1.dtypes\ncol1 int64\ncol2 int64\ndtype: object\n>>> df1_transposed.dtypes\n0 int64\n1 int64\ndtype: object\n\n**Non-square DataFrame with mixed dtypes**\n\n>>> d2 = {'name': ['Alice', 'Bob'],\n... 'score': [9.5, 8],\n... 'employed': [False, True],\n... 'kids': [0, 0]}\n>>> df2 = pd.DataFrame(data=d2)\n>>> df2\n name score employed kids\n0 Alice 9.5 False 0\n1 Bob 8.0 True 0\n\n>>> df2_transposed = df2.T # or df2.transpose()\n>>> df2_transposed\n 0 1\nname Alice Bob\nscore 9.5 8.0\nemployed False True\nkids 0 0\n\nWhen the DataFrame has mixed dtypes, we get a transposed DataFrame with\nthe `object` dtype:\n\n>>> df2.dtypes\nname object\nscore float64\nemployed bool\nkids int64\ndtype: object\n>>> df2_transposed.dtypes\n0 object\n1 object\ndtype: object\n"}, "kind": 2, "label": "transpose", "sortText": "200"}, {"detail": "bound method DataFrame.truediv(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "truediv", "sortText": "201"}, {"detail": "bound method DataFrame.truncate(before=None, after=None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Truncate a Series or DataFrame before and after some index value.\n\nThis is a useful shorthand for boolean indexing based on index\nvalues above or below certain thresholds.\n\nParameters\n----------\nbefore : date, str, int\n Truncate all rows before this index value.\nafter : date, str, int\n Truncate all rows after this index value.\naxis : {0 or 'index', 1 or 'columns'}, optional\n Axis to truncate. Truncates the index (rows) by default.\n For `Series` this parameter is unused and defaults to 0.\ncopy : bool, default is True,\n Return a copy of the truncated section.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\ntype of caller\n The truncated Series or DataFrame.\n\nSee Also\n--------\nDataFrame.loc : Select a subset of a DataFrame by label.\nDataFrame.iloc : Select a subset of a DataFrame by position.\n\nNotes\n-----\nIf the index being truncated contains only datetime values,\n`before` and `after` may be specified as strings instead of\nTimestamps.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': ['a', 'b', 'c', 'd', 'e'],\n... 'B': ['f', 'g', 'h', 'i', 'j'],\n... 'C': ['k', 'l', 'm', 'n', 'o']},\n... index=[1, 2, 3, 4, 5])\n>>> df\n A B C\n1 a f k\n2 b g l\n3 c h m\n4 d i n\n5 e j o\n\n>>> df.truncate(before=2, after=4)\n A B C\n2 b g l\n3 c h m\n4 d i n\n\nThe columns of a DataFrame can be truncated.\n\n>>> df.truncate(before=\"A\", after=\"B\", axis=\"columns\")\n A B\n1 a f\n2 b g\n3 c h\n4 d i\n5 e j\n\nFor Series, only rows can be truncated.\n\n>>> df['A'].truncate(before=2, after=4)\n2 b\n3 c\n4 d\nName: A, dtype: object\n\nThe index values in ``truncate`` can be datetimes or string\ndates.\n\n>>> dates = pd.date_range('2016-01-01', '2016-02-01', freq='s')\n>>> df = pd.DataFrame(index=dates, data={'A': 1})\n>>> df.tail()\n A\n2016-01-31 23:59:56 1\n2016-01-31 23:59:57 1\n2016-01-31 23:59:58 1\n2016-01-31 23:59:59 1\n2016-02-01 00:00:00 1\n\n>>> df.truncate(before=pd.Timestamp('2016-01-05'),\n... after=pd.Timestamp('2016-01-10')).tail()\n A\n2016-01-09 23:59:56 1\n2016-01-09 23:59:57 1\n2016-01-09 23:59:58 1\n2016-01-09 23:59:59 1\n2016-01-10 00:00:00 1\n\nBecause the index is a DatetimeIndex containing only dates, we can\nspecify `before` and `after` as strings. They will be coerced to\nTimestamps before truncation.\n\n>>> df.truncate('2016-01-05', '2016-01-10').tail()\n A\n2016-01-09 23:59:56 1\n2016-01-09 23:59:57 1\n2016-01-09 23:59:58 1\n2016-01-09 23:59:59 1\n2016-01-10 00:00:00 1\n\nNote that ``truncate`` assumes a 0 value for any unspecified time\ncomponent (midnight). This differs from partial string slicing, which\nreturns any partially matching dates.\n\n>>> df.loc['2016-01-05':'2016-01-10', :].tail()\n A\n2016-01-10 23:59:55 1\n2016-01-10 23:59:56 1\n2016-01-10 23:59:57 1\n2016-01-10 23:59:58 1\n2016-01-10 23:59:59 1\n"}, "kind": 2, "label": "truncate", "sortText": "202"}, {"detail": "bound method DataFrame.tz_convert(tz, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, level=None, copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Convert tz-aware axis to target time zone.\n\nParameters\n----------\ntz : str or tzinfo object or None\n Target time zone. Passing ``None`` will convert to\n UTC and remove the timezone information.\naxis : {{0 or 'index', 1 or 'columns'}}, default 0\n The axis to convert\nlevel : int, str, default None\n If axis is a MultiIndex, convert a specific level. Otherwise\n must be None.\ncopy : bool, default True\n Also make a copy of the underlying data.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\n{klass}\n Object with time zone converted axis.\n\nRaises\n------\nTypeError\n If the axis is tz-naive.\n\nExamples\n--------\nChange to another time zone:\n\n>>> s = pd.Series(\n... [1],\n... index=pd.DatetimeIndex(['2018-09-15 01:30:00+02:00']),\n... )\n>>> s.tz_convert('Asia/Shanghai')\n2018-09-15 07:30:00+08:00 1\ndtype: int64\n\nPass None to convert to UTC and get a tz-naive index:\n\n>>> s = pd.Series([1],\n... index=pd.DatetimeIndex(['2018-09-15 01:30:00+02:00']))\n>>> s.tz_convert(None)\n2018-09-14 23:30:00 1\ndtype: int64\n"}, "kind": 2, "label": "tz_convert", "sortText": "203"}, {"detail": "bound method DataFrame.tz_localize(tz, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, level=None, copy: builtins.bool | None = None, ambiguous: Literal[\"infer\", \"NaT\", \"raise\"] | ndarray[_AnyShape, dtype[numpy.bool[builtins.bool]]] = \"raise\", nonexistent: Literal[\"shift_forward\", \"shift_backward\", \"NaT\", \"raise\"] | timedelta = \"raise\") -> DataFrame", "documentation": {"kind": "plaintext", "value": "Localize tz-naive index of a Series or DataFrame to target time zone.\n\nThis operation localizes the Index. To localize the values in a\ntimezone-naive Series, use :meth:`Series.dt.tz_localize`.\n\nParameters\n----------\ntz : str or tzinfo or None\n Time zone to localize. Passing ``None`` will remove the\n time zone information and preserve local time.\naxis : {{0 or 'index', 1 or 'columns'}}, default 0\n The axis to localize\nlevel : int, str, default None\n If axis ia a MultiIndex, localize a specific level. Otherwise\n must be None.\ncopy : bool, default True\n Also make a copy of the underlying data.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\nambiguous : 'infer', bool-ndarray, 'NaT', default 'raise'\n When clocks moved backward due to DST, ambiguous times may arise.\n For example in Central European Time (UTC+01), when going from\n 03:00 DST to 02:00 non-DST, 02:30:00 local time occurs both at\n 00:30:00 UTC and at 01:30:00 UTC. In such a situation, the\n `ambiguous` parameter dictates how ambiguous times should be\n handled.\n\n - 'infer' will attempt to infer fall dst-transition hours based on\n order\n - bool-ndarray where True signifies a DST time, False designates\n a non-DST time (note that this flag is only applicable for\n ambiguous times)\n - 'NaT' will return NaT where there are ambiguous times\n - 'raise' will raise an AmbiguousTimeError if there are ambiguous\n times.\nnonexistent : str, default 'raise'\n A nonexistent time does not exist in a particular timezone\n where clocks moved forward due to DST. Valid values are:\n\n - 'shift_forward' will shift the nonexistent time forward to the\n closest existing time\n - 'shift_backward' will shift the nonexistent time backward to the\n closest existing time\n - 'NaT' will return NaT where there are nonexistent times\n - timedelta objects will shift nonexistent times by the timedelta\n - 'raise' will raise an NonExistentTimeError if there are\n nonexistent times.\n\nReturns\n-------\n{klass}\n Same type as the input.\n\nRaises\n------\nTypeError\n If the TimeSeries is tz-aware and tz is not None.\n\nExamples\n--------\nLocalize local times:\n\n>>> s = pd.Series(\n... [1],\n... index=pd.DatetimeIndex(['2018-09-15 01:30:00']),\n... )\n>>> s.tz_localize('CET')\n2018-09-15 01:30:00+02:00 1\ndtype: int64\n\nPass None to convert to tz-naive index and preserve local time:\n\n>>> s = pd.Series([1],\n... index=pd.DatetimeIndex(['2018-09-15 01:30:00+02:00']))\n>>> s.tz_localize(None)\n2018-09-15 01:30:00 1\ndtype: int64\n\nBe careful with DST changes. When there is sequential data, pandas\ncan infer the DST time:\n\n>>> s = pd.Series(range(7),\n... index=pd.DatetimeIndex(['2018-10-28 01:30:00',\n... '2018-10-28 02:00:00',\n... '2018-10-28 02:30:00',\n... '2018-10-28 02:00:00',\n... '2018-10-28 02:30:00',\n... '2018-10-28 03:00:00',\n... '2018-10-28 03:30:00']))\n>>> s.tz_localize('CET', ambiguous='infer')\n2018-10-28 01:30:00+02:00 0\n2018-10-28 02:00:00+02:00 1\n2018-10-28 02:30:00+02:00 2\n2018-10-28 02:00:00+01:00 3\n2018-10-28 02:30:00+01:00 4\n2018-10-28 03:00:00+01:00 5\n2018-10-28 03:30:00+01:00 6\ndtype: int64\n\nIn some cases, inferring the DST is impossible. In such cases, you can\npass an ndarray to the ambiguous parameter to set the DST explicitly\n\n>>> s = pd.Series(range(3),\n... index=pd.DatetimeIndex(['2018-10-28 01:20:00',\n... '2018-10-28 02:36:00',\n... '2018-10-28 03:46:00']))\n>>> s.tz_localize('CET', ambiguous=np.array([True, True, False]))\n2018-10-28 01:20:00+02:00 0\n2018-10-28 02:36:00+02:00 1\n2018-10-28 03:46:00+01:00 2\ndtype: int64\n\nIf the DST transition causes nonexistent times, you can shift these\ndates forward or backward with a timedelta object or `'shift_forward'`\nor `'shift_backward'`.\n\n>>> s = pd.Series(range(2),\n... index=pd.DatetimeIndex(['2015-03-29 02:30:00',\n... '2015-03-29 03:30:00']))\n>>> s.tz_localize('Europe/Warsaw', nonexistent='shift_forward')\n2015-03-29 03:00:00+02:00 0\n2015-03-29 03:30:00+02:00 1\ndtype: int64\n>>> s.tz_localize('Europe/Warsaw', nonexistent='shift_backward')\n2015-03-29 01:59:59.999999999+01:00 0\n2015-03-29 03:30:00+02:00 1\ndtype: int64\n>>> s.tz_localize('Europe/Warsaw', nonexistent=pd.Timedelta('1h'))\n2015-03-29 03:30:00+02:00 0\n2015-03-29 03:30:00+02:00 1\ndtype: int64\n"}, "kind": 2, "label": "tz_localize", "sortText": "204"}, {"detail": "bound method DataFrame.unstack(level: Hashable | Sequence[Hashable] = -1, fill_value=None, sort: bool = True) -> Unknown", "documentation": {"kind": "plaintext", "value": "Pivot a level of the (necessarily hierarchical) index labels.\n\nReturns a DataFrame having a new level of column labels whose inner-most level\nconsists of the pivoted index labels.\n\nIf the index is not a MultiIndex, the output will be a Series\n(the analogue of stack when the columns are not a MultiIndex).\n\nParameters\n----------\nlevel : int, str, or list of these, default -1 (last level)\n Level(s) of index to unstack, can pass level name.\nfill_value : int, str or dict\n Replace NaN with this value if the unstack produces missing values.\nsort : bool, default True\n Sort the level(s) in the resulting MultiIndex columns.\n\nReturns\n-------\nSeries or DataFrame\n\nSee Also\n--------\nDataFrame.pivot : Pivot a table based on column values.\nDataFrame.stack : Pivot a level of the column labels (inverse operation\n from `unstack`).\n\nNotes\n-----\nReference :ref:`the user guide ` for more examples.\n\nExamples\n--------\n>>> index = pd.MultiIndex.from_tuples([('one', 'a'), ('one', 'b'),\n... ('two', 'a'), ('two', 'b')])\n>>> s = pd.Series(np.arange(1.0, 5.0), index=index)\n>>> s\none a 1.0\n b 2.0\ntwo a 3.0\n b 4.0\ndtype: float64\n\n>>> s.unstack(level=-1)\n a b\none 1.0 2.0\ntwo 3.0 4.0\n\n>>> s.unstack(level=0)\n one two\na 1.0 3.0\nb 2.0 4.0\n\n>>> df = s.unstack(level=0)\n>>> df.unstack()\none a 1.0\n b 2.0\ntwo a 3.0\n b 4.0\ndtype: float64\n"}, "kind": 2, "label": "unstack", "sortText": "205"}, {"detail": "bound method DataFrame.update(other, join: Literal[\"left\"] = \"left\", overwrite: bool = True, filter_func=None, errors: Literal[\"ignore\", \"raise\"] = \"ignore\") -> None", "documentation": {"kind": "plaintext", "value": "Modify in place using non-NA values from another DataFrame.\n\nAligns on indices. There is no return value.\n\nParameters\n----------\nother : DataFrame, or object coercible into a DataFrame\n Should have at least one matching index/column label\n with the original DataFrame. If a Series is passed,\n its name attribute must be set, and that will be\n used as the column name to align with the original DataFrame.\njoin : {'left'}, default 'left'\n Only left join is implemented, keeping the index and columns of the\n original object.\noverwrite : bool, default True\n How to handle non-NA values for overlapping keys:\n\n * True: overwrite original DataFrame's values\n with values from `other`.\n * False: only update values that are NA in\n the original DataFrame.\n\nfilter_func : callable(1d-array) -> bool 1d-array, optional\n Can choose to replace values other than NA. Return True for values\n that should be updated.\nerrors : {'raise', 'ignore'}, default 'ignore'\n If 'raise', will raise a ValueError if the DataFrame and `other`\n both contain non-NA data in the same place.\n\nReturns\n-------\nNone\n This method directly changes calling object.\n\nRaises\n------\nValueError\n * When `errors='raise'` and there's overlapping non-NA data.\n * When `errors` is not either `'ignore'` or `'raise'`\nNotImplementedError\n * If `join != 'left'`\n\nSee Also\n--------\ndict.update : Similar method for dictionaries.\nDataFrame.merge : For column(s)-on-column(s) operations.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [1, 2, 3],\n... 'B': [400, 500, 600]})\n>>> new_df = pd.DataFrame({'B': [4, 5, 6],\n... 'C': [7, 8, 9]})\n>>> df.update(new_df)\n>>> df\n A B\n0 1 4\n1 2 5\n2 3 6\n\nThe DataFrame's length does not increase as a result of the update,\nonly values at matching index/column labels are updated.\n\n>>> df = pd.DataFrame({'A': ['a', 'b', 'c'],\n... 'B': ['x', 'y', 'z']})\n>>> new_df = pd.DataFrame({'B': ['d', 'e', 'f', 'g', 'h', 'i']})\n>>> df.update(new_df)\n>>> df\n A B\n0 a d\n1 b e\n2 c f\n\n>>> df = pd.DataFrame({'A': ['a', 'b', 'c'],\n... 'B': ['x', 'y', 'z']})\n>>> new_df = pd.DataFrame({'B': ['d', 'f']}, index=[0, 2])\n>>> df.update(new_df)\n>>> df\n A B\n0 a d\n1 b y\n2 c f\n\nFor Series, its name attribute must be set.\n\n>>> df = pd.DataFrame({'A': ['a', 'b', 'c'],\n... 'B': ['x', 'y', 'z']})\n>>> new_column = pd.Series(['d', 'e', 'f'], name='B')\n>>> df.update(new_column)\n>>> df\n A B\n0 a d\n1 b e\n2 c f\n\nIf `other` contains NaNs the corresponding values are not updated\nin the original dataframe.\n\n>>> df = pd.DataFrame({'A': [1, 2, 3],\n... 'B': [400., 500., 600.]})\n>>> new_df = pd.DataFrame({'B': [4, np.nan, 6]})\n>>> df.update(new_df)\n>>> df\n A B\n0 1 4.0\n1 2 500.0\n2 3 6.0\n"}, "kind": 2, "label": "update", "sortText": "206"}, {"detail": "bound method DataFrame.value_counts(subset: Hashable | Sequence[Hashable] = None, normalize: bool = False, sort: bool = True, ascending: bool = False, dropna: bool = True) -> Series", "documentation": {"kind": "plaintext", "value": "Return a Series containing the frequency of each distinct row in the Dataframe.\n\nParameters\n----------\nsubset : label or list of labels, optional\n Columns to use when counting unique combinations.\nnormalize : bool, default False\n Return proportions rather than frequencies.\nsort : bool, default True\n Sort by frequencies when True. Sort by DataFrame column values when False.\nascending : bool, default False\n Sort in ascending order.\ndropna : bool, default True\n Don't include counts of rows that contain NA values.\n\n .. versionadded:: 1.3.0\n\nReturns\n-------\nSeries\n\nSee Also\n--------\nSeries.value_counts: Equivalent method on Series.\n\nNotes\n-----\nThe returned Series will have a MultiIndex with one level per input\ncolumn but an Index (non-multi) for a single label. By default, rows\nthat contain any NA values are omitted from the result. By default,\nthe resulting Series will be in descending order so that the first\nelement is the most frequently-occurring row.\n\nExamples\n--------\n>>> df = pd.DataFrame({'num_legs': [2, 4, 4, 6],\n... 'num_wings': [2, 0, 0, 0]},\n... index=['falcon', 'dog', 'cat', 'ant'])\n>>> df\n num_legs num_wings\nfalcon 2 2\ndog 4 0\ncat 4 0\nant 6 0\n\n>>> df.value_counts()\nnum_legs num_wings\n4 0 2\n2 2 1\n6 0 1\nName: count, dtype: int64\n\n>>> df.value_counts(sort=False)\nnum_legs num_wings\n2 2 1\n4 0 2\n6 0 1\nName: count, dtype: int64\n\n>>> df.value_counts(ascending=True)\nnum_legs num_wings\n2 2 1\n6 0 1\n4 0 2\nName: count, dtype: int64\n\n>>> df.value_counts(normalize=True)\nnum_legs num_wings\n4 0 0.50\n2 2 0.25\n6 0 0.25\nName: proportion, dtype: float64\n\nWith `dropna` set to `False` we can also count rows with NA values.\n\n>>> df = pd.DataFrame({'first_name': ['John', 'Anne', 'John', 'Beth'],\n... 'middle_name': ['Smith', pd.NA, pd.NA, 'Louise']})\n>>> df\n first_name middle_name\n0 John Smith\n1 Anne \n2 John \n3 Beth Louise\n\n>>> df.value_counts()\nfirst_name middle_name\nBeth Louise 1\nJohn Smith 1\nName: count, dtype: int64\n\n>>> df.value_counts(dropna=False)\nfirst_name middle_name\nAnne NaN 1\nBeth Louise 1\nJohn Smith 1\n NaN 1\nName: count, dtype: int64\n\n>>> df.value_counts(\"first_name\")\nfirst_name\nJohn 2\nAnne 1\nBeth 1\nName: count, dtype: int64\n"}, "kind": 2, "label": "value_counts", "sortText": "207"}, {"detail": "ndarray[_AnyShape, dtype[Any]]", "kind": 22, "label": "values", "sortText": "208"}, {"detail": "bound method DataFrame.var(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, ddof: int = 1, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "var", "sortText": "209"}, {"detail": "Overload[(cond, other=..., *, inplace: Literal[False] = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> DataFrame, (cond, other=..., *, inplace: Literal[True], axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> None, (cond, other=..., *, inplace: bool = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Replace values where the condition is {cond_rev}.\n\nParameters\n----------\ncond : bool {klass}, array-like, or callable\n Where `cond` is {cond}, keep the original value. Where\n {cond_rev}, replace with corresponding value from `other`.\n If `cond` is callable, it is computed on the {klass} and\n should return boolean {klass} or array. The callable must\n not change input {klass} (though pandas doesn't check it).\nother : scalar, {klass}, or callable\n Entries where `cond` is {cond_rev} are replaced with\n corresponding value from `other`.\n If other is callable, it is computed on the {klass} and\n should return scalar or {klass}. The callable must not\n change input {klass} (though pandas doesn't check it).\n If not specified, entries will be filled with the corresponding\n NULL value (``np.nan`` for numpy dtypes, ``pd.NA`` for extension\n dtypes).\ninplace : bool, default False\n Whether to perform the operation in place on the data.\naxis : int, default None\n Alignment axis if needed. For `Series` this parameter is\n unused and defaults to 0.\nlevel : int, default None\n Alignment level if needed.\n\nReturns\n-------\nSame type as caller or None if ``inplace=True``.\n\nSee Also\n--------\n:func:`DataFrame.{name_other}` : Return an object of same shape as\n self.\n\nNotes\n-----\nThe {name} method is an application of the if-then idiom. For each\nelement in the calling DataFrame, if ``cond`` is ``{cond}`` the\nelement is used; otherwise the corresponding element from the DataFrame\n``other`` is used. If the axis of ``other`` does not align with axis of\n``cond`` {klass}, the misaligned index positions will be filled with\n{cond_rev}.\n\nThe signature for :func:`DataFrame.where` differs from\n:func:`numpy.where`. Roughly ``df1.where(m, df2)`` is equivalent to\n``np.where(m, df1, df2)``.\n\nFor further details and examples see the ``{name}`` documentation in\n:ref:`indexing `.\n\nThe dtype of the object takes precedence. The fill value is casted to\nthe object's dtype, if this can be done losslessly.\n\nExamples\n--------\n>>> s = pd.Series(range(5))\n>>> s.where(s > 0)\n0 NaN\n1 1.0\n2 2.0\n3 3.0\n4 4.0\ndtype: float64\n>>> s.mask(s > 0)\n0 0.0\n1 NaN\n2 NaN\n3 NaN\n4 NaN\ndtype: float64\n\n>>> s = pd.Series(range(5))\n>>> t = pd.Series([True, False])\n>>> s.where(t, 99)\n0 0\n1 99\n2 99\n3 99\n4 99\ndtype: int64\n>>> s.mask(t, 99)\n0 99\n1 1\n2 99\n3 99\n4 99\ndtype: int64\n\n>>> s.where(s > 1, 10)\n0 10\n1 10\n2 2\n3 3\n4 4\ndtype: int64\n>>> s.mask(s > 1, 10)\n0 0\n1 1\n2 10\n3 10\n4 10\ndtype: int64\n\n>>> df = pd.DataFrame(np.arange(10).reshape(-1, 2), columns=['A', 'B'])\n>>> df\n A B\n0 0 1\n1 2 3\n2 4 5\n3 6 7\n4 8 9\n>>> m = df % 3 == 0\n>>> df.where(m, -df)\n A B\n0 0 -1\n1 -2 3\n2 -4 -5\n3 6 -7\n4 -8 9\n>>> df.where(m, -df) == np.where(m, df, -df)\n A B\n0 True True\n1 True True\n2 True True\n3 True True\n4 True True\n>>> df.where(m, -df) == df.mask(~m, -df)\n A B\n0 True True\n1 True True\n2 True True\n3 True True\n4 True True\n"}, "kind": 2, "label": "where", "sortText": "210"}, {"detail": "bound method DataFrame.xs(key: Hashable | Sequence[Hashable], axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, level: Hashable | Sequence[Hashable] = None, drop_level: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return cross-section from the Series/DataFrame.\n\nThis method takes a `key` argument to select data at a particular\nlevel of a MultiIndex.\n\nParameters\n----------\nkey : label or tuple of label\n Label contained in the index, or partially in a MultiIndex.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Axis to retrieve cross-section on.\nlevel : object, defaults to first n levels (n=1 or len(key))\n In case of a key partially contained in a MultiIndex, indicate\n which levels are used. Levels can be referred by label or position.\ndrop_level : bool, default True\n If False, returns object with same levels as self.\n\nReturns\n-------\nSeries or DataFrame\n Cross-section from the original Series or DataFrame\n corresponding to the selected index levels.\n\nSee Also\n--------\nDataFrame.loc : Access a group of rows and columns\n by label(s) or a boolean array.\nDataFrame.iloc : Purely integer-location based indexing\n for selection by position.\n\nNotes\n-----\n`xs` can not be used to set values.\n\nMultiIndex Slicers is a generic way to get/set values on\nany level or levels.\nIt is a superset of `xs` functionality, see\n:ref:`MultiIndex Slicers `.\n\nExamples\n--------\n>>> d = {'num_legs': [4, 4, 2, 2],\n... 'num_wings': [0, 0, 2, 2],\n... 'class': ['mammal', 'mammal', 'mammal', 'bird'],\n... 'animal': ['cat', 'dog', 'bat', 'penguin'],\n... 'locomotion': ['walks', 'walks', 'flies', 'walks']}\n>>> df = pd.DataFrame(data=d)\n>>> df = df.set_index(['class', 'animal', 'locomotion'])\n>>> df\n num_legs num_wings\nclass animal locomotion\nmammal cat walks 4 0\n dog walks 4 0\n bat flies 2 2\nbird penguin walks 2 2\n\nGet values at specified index\n\n>>> df.xs('mammal')\n num_legs num_wings\nanimal locomotion\ncat walks 4 0\ndog walks 4 0\nbat flies 2 2\n\nGet values at several indexes\n\n>>> df.xs(('mammal', 'dog', 'walks'))\nnum_legs 4\nnum_wings 0\nName: (mammal, dog, walks), dtype: int64\n\nGet values at specified index and level\n\n>>> df.xs('cat', level=1)\n num_legs num_wings\nclass locomotion\nmammal walks 4 0\n\nGet values at several indexes and levels\n\n>>> df.xs(('bird', 'walks'),\n... level=[0, 'locomotion'])\n num_legs num_wings\nanimal\npenguin 2 2\n\nGet values at specified column and axis\n\n>>> df.xs('num_wings', axis=1)\nclass animal locomotion\nmammal cat walks 0\n dog walks 0\n bat flies 2\nbird penguin walks 2\nName: num_wings, dtype: int64\n"}, "kind": 2, "label": "xs", "sortText": "211"}, {"detail": "bound method DataFrame.__abs__() -> DataFrame", "kind": 2, "label": "__abs__", "sortText": "212"}, {"detail": "bound method DataFrame.__add__(other) -> Unknown", "documentation": {"kind": "plaintext", "value": "Get Addition of DataFrame and other, column-wise.\n\nEquivalent to ``DataFrame.add(other)``.\n\nParameters\n----------\nother : scalar, sequence, Series, dict or DataFrame\n Object to be added to the DataFrame.\n\nReturns\n-------\nDataFrame\n The result of adding ``other`` to DataFrame.\n\nSee Also\n--------\nDataFrame.add : Add a DataFrame and another object, with option for index-\n or column-oriented addition.\n\nExamples\n--------\n>>> df = pd.DataFrame({'height': [1.5, 2.6], 'weight': [500, 800]},\n... index=['elk', 'moose'])\n>>> df\n height weight\nelk 1.5 500\nmoose 2.6 800\n\nAdding a scalar affects all rows and columns.\n\n>>> df[['height', 'weight']] + 1.5\n height weight\nelk 3.0 501.5\nmoose 4.1 801.5\n\nEach element of a list is added to a column of the DataFrame, in order.\n\n>>> df[['height', 'weight']] + [0.5, 1.5]\n height weight\nelk 2.0 501.5\nmoose 3.1 801.5\n\nKeys of a dictionary are aligned to the DataFrame, based on column names;\neach value in the dictionary is added to the corresponding column.\n\n>>> df[['height', 'weight']] + {'height': 0.5, 'weight': 1.5}\n height weight\nelk 2.0 501.5\nmoose 3.1 801.5\n\nWhen `other` is a :class:`Series`, the index of `other` is aligned with the\ncolumns of the DataFrame.\n\n>>> s1 = pd.Series([0.5, 1.5], index=['weight', 'height'])\n>>> df[['height', 'weight']] + s1\n height weight\nelk 3.0 500.5\nmoose 4.1 800.5\n\nEven when the index of `other` is the same as the index of the DataFrame,\nthe :class:`Series` will not be reoriented. If index-wise alignment is desired,\n:meth:`DataFrame.add` should be used with `axis='index'`.\n\n>>> s2 = pd.Series([0.5, 1.5], index=['elk', 'moose'])\n>>> df[['height', 'weight']] + s2\n elk height moose weight\nelk NaN NaN NaN NaN\nmoose NaN NaN NaN NaN\n\n>>> df[['height', 'weight']].add(s2, axis='index')\n height weight\nelk 2.0 500.5\nmoose 4.1 801.5\n\nWhen `other` is a :class:`DataFrame`, both columns names and the\nindex are aligned.\n\n>>> other = pd.DataFrame({'height': [0.2, 0.4, 0.6]},\n... index=['elk', 'moose', 'deer'])\n>>> df[['height', 'weight']] + other\n height weight\ndeer NaN NaN\nelk 1.7 NaN\nmoose 3.0 NaN\n"}, "kind": 2, "label": "__add__", "sortText": "213"}, {"detail": "bound method DataFrame.__and__(other) -> Unknown", "kind": 2, "label": "__and__", "sortText": "214"}, {"detail": "dict[str, Any]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "__annotations__", "sortText": "215"}, {"detail": "bound method DataFrame.__array__(dtype: DTypeLike | None = None, copy: bool | None = None) -> ndarray[_AnyShape, dtype[Any]]", "kind": 2, "label": "__array__", "sortText": "216"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "__array_priority__", "sortText": "217"}, {"detail": "bound method DataFrame.__array_ufunc__(ufunc: ufunc, method: str, *inputs: Any, **kwargs: Any) -> Unknown", "kind": 2, "label": "__array_ufunc__", "sortText": "218"}, {"detail": "bound method DataFrame.__arrow_c_stream__(requested_schema=None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Export the pandas DataFrame as an Arrow C stream PyCapsule.\n\nThis relies on pyarrow to convert the pandas DataFrame to the Arrow\nformat (and follows the default behaviour of ``pyarrow.Table.from_pandas``\nin its handling of the index, i.e. store the index as a column except\nfor RangeIndex).\nThis conversion is not necessarily zero-copy.\n\nParameters\n----------\nrequested_schema : PyCapsule, default None\n The schema to which the dataframe should be casted, passed as a\n PyCapsule containing a C ArrowSchema representation of the\n requested schema.\n\nReturns\n-------\nPyCapsule\n"}, "kind": 2, "label": "__arrow_c_stream__", "sortText": "219"}, {"detail": "() -> Never", "kind": 2, "label": "__bool__", "sortText": "220"}, {"detail": "type[DataFrame]", "documentation": {"kind": "plaintext", "value": "Two-dimensional, size-mutable, potentially heterogeneous tabular data.\n\nData structure also contains labeled axes (rows and columns).\nArithmetic operations align on both row and column labels. Can be\nthought of as a dict-like container for Series objects. The primary\npandas data structure.\n\nParameters\n----------\ndata : ndarray (structured or homogeneous), Iterable, dict, or DataFrame\n Dict can contain Series, arrays, constants, dataclass or list-like objects. If\n data is a dict, column order follows insertion-order. If a dict contains Series\n which have an index defined, it is aligned by its index. This alignment also\n occurs if data is a Series or a DataFrame itself. Alignment is done on\n Series/DataFrame inputs.\n\n If data is a list of dicts, column order follows insertion-order.\n\nindex : Index or array-like\n Index to use for resulting frame. Will default to RangeIndex if\n no indexing information part of input data and no index provided.\ncolumns : Index or array-like\n Column labels to use for resulting frame when data does not have them,\n defaulting to RangeIndex(0, 1, 2, ..., n). If data contains column labels,\n will perform column selection instead.\ndtype : dtype, default None\n Data type to force. Only a single dtype is allowed. If None, infer.\ncopy : bool or None, default None\n Copy data from inputs.\n For dict data, the default of None behaves like ``copy=True``. For DataFrame\n or 2d ndarray input, the default of None behaves like ``copy=False``.\n If data is a dict containing one or more Series (possibly of different dtypes),\n ``copy=False`` will ensure that these inputs are not copied.\n\n .. versionchanged:: 1.3.0\n\nSee Also\n--------\nDataFrame.from_records : Constructor from tuples, also record arrays.\nDataFrame.from_dict : From dicts of Series, arrays, or dicts.\nread_csv : Read a comma-separated values (csv) file into DataFrame.\nread_table : Read general delimited file into DataFrame.\nread_clipboard : Read text from clipboard into DataFrame.\n\nNotes\n-----\nPlease reference the :ref:`User Guide ` for more information.\n\nExamples\n--------\nConstructing DataFrame from a dictionary.\n\n>>> d = {'col1': [1, 2], 'col2': [3, 4]}\n>>> df = pd.DataFrame(data=d)\n>>> df\n col1 col2\n0 1 3\n1 2 4\n\nNotice that the inferred dtype is int64.\n\n>>> df.dtypes\ncol1 int64\ncol2 int64\ndtype: object\n\nTo enforce a single dtype:\n\n>>> df = pd.DataFrame(data=d, dtype=np.int8)\n>>> df.dtypes\ncol1 int8\ncol2 int8\ndtype: object\n\nConstructing DataFrame from a dictionary including Series:\n\n>>> d = {'col1': [0, 1, 2, 3], 'col2': pd.Series([2, 3], index=[2, 3])}\n>>> pd.DataFrame(data=d, index=[0, 1, 2, 3])\n col1 col2\n0 0 NaN\n1 1 NaN\n2 2 2.0\n3 3 3.0\n\nConstructing DataFrame from numpy ndarray:\n\n>>> df2 = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]),\n... columns=['a', 'b', 'c'])\n>>> df2\n a b c\n0 1 2 3\n1 4 5 6\n2 7 8 9\n\nConstructing DataFrame from a numpy ndarray that has labeled columns:\n\n>>> data = np.array([(1, 2, 3), (4, 5, 6), (7, 8, 9)],\n... dtype=[(\"a\", \"i4\"), (\"b\", \"i4\"), (\"c\", \"i4\")])\n>>> df3 = pd.DataFrame(data, columns=['c', 'a'])\n...\n>>> df3\n c a\n0 3 1\n1 6 4\n2 9 7\n\nConstructing DataFrame from dataclass:\n\n>>> from dataclasses import make_dataclass\n>>> Point = make_dataclass(\"Point\", [(\"x\", int), (\"y\", int)])\n>>> pd.DataFrame([Point(0, 0), Point(0, 3), Point(2, 3)])\n x y\n0 0 0\n1 0 3\n2 2 3\n\nConstructing DataFrame from Series/DataFrame:\n\n>>> ser = pd.Series([1, 2, 3], index=[\"a\", \"b\", \"c\"])\n>>> df = pd.DataFrame(data=ser, index=[\"a\", \"c\"])\n>>> df\n 0\na 1\nc 3\n\n>>> df1 = pd.DataFrame([1, 2, 3], index=[\"a\", \"b\", \"c\"], columns=[\"x\"])\n>>> df2 = pd.DataFrame(data=df1, index=[\"a\", \"c\"])\n>>> df2\n x\na 1\nc 3\n"}, "kind": 7, "label": "__class__", "sortText": "221"}, {"detail": "bound method DataFrame.__contains__(key) -> bool", "documentation": {"kind": "plaintext", "value": "True if the key is in the info axis\n"}, "kind": 2, "label": "__contains__", "sortText": "222"}, {"detail": "bound method DataFrame.__copy__(deep: bool = True) -> DataFrame", "kind": 2, "label": "__copy__", "sortText": "223"}, {"detail": "bound method DataFrame.__dataframe__(nan_as_null: bool = False, allow_copy: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the dataframe interchange object implementing the interchange protocol.\n\nParameters\n----------\nnan_as_null : bool, default False\n `nan_as_null` is DEPRECATED and has no effect. Please avoid using\n it; it will be removed in a future release.\nallow_copy : bool, default True\n Whether to allow memory copying when exporting. If set to False\n it would cause non-zero-copy exports to fail.\n\nReturns\n-------\nDataFrame interchange object\n The object which consuming library can use to ingress the dataframe.\n\nNotes\n-----\nDetails on the interchange protocol:\nhttps://data-apis.org/dataframe-protocol/latest/index.html\n\nExamples\n--------\n>>> df_not_necessarily_pandas = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})\n>>> interchange_object = df_not_necessarily_pandas.__dataframe__()\n>>> interchange_object.column_names()\nIndex(['A', 'B'], dtype='object')\n>>> df_pandas = (pd.api.interchange.from_dataframe\n... (interchange_object.select_columns_by_name(['A'])))\n>>> df_pandas\n A\n0 1\n1 2\n\nThese methods (``column_names``, ``select_columns_by_name``) should work\nfor any dataframe library which implements the interchange protocol.\n"}, "kind": 2, "label": "__dataframe__", "sortText": "224"}, {"detail": "bound method DataFrame.__dataframe_consortium_standard__(*, api_version: str | None = None) -> Any", "documentation": {"kind": "plaintext", "value": "Provide entry point to the Consortium DataFrame Standard API.\n\nThis is developed and maintained outside of pandas.\nPlease report any issues to https://github.com/data-apis/dataframe-api-compat.\n"}, "kind": 2, "label": "__dataframe_consortium_standard__", "sortText": "225"}, {"detail": "bound method DataFrame.__deepcopy__(memo=None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Parameters\n----------\nmemo, default None\n Standard signature. Unused\n"}, "kind": 2, "label": "__deepcopy__", "sortText": "226"}, {"detail": "bound method DataFrame.__delattr__(name: str, /) -> None", "kind": 2, "label": "__delattr__", "sortText": "227"}, {"detail": "bound method DataFrame.__delitem__(key) -> None", "documentation": {"kind": "plaintext", "value": "Delete item\n"}, "kind": 2, "label": "__delitem__", "sortText": "228"}, {"detail": "dict[str, Any]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "__dict__", "sortText": "229"}, {"detail": "bound method DataFrame.__dir__() -> list[str]", "documentation": {"kind": "plaintext", "value": "Provide method name lookup and completion.\n\nNotes\n-----\nOnly provide 'public' methods.\n"}, "kind": 2, "label": "__dir__", "sortText": "230"}, {"detail": "bound method DataFrame.__divmod__(other) -> tuple[DataFrame, DataFrame]", "kind": 2, "label": "__divmod__", "sortText": "231"}, {"detail": "str | None", "kind": 22, "label": "__doc__", "sortText": "232"}, {"detail": "bound method DataFrame.__eq__(other) -> Unknown", "kind": 2, "label": "__eq__", "sortText": "233"}, {"detail": "bound method DataFrame.__finalize__(other, method: str | None = None, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Propagate metadata from other to self.\n\nParameters\n----------\nother : the object from which to get the attributes that we are going\n to propagate\nmethod : str, optional\n A passed method name providing context on where ``__finalize__``\n was called.\n\n .. warning::\n\n The value passed as `method` are not currently considered\n stable across pandas releases.\n"}, "kind": 2, "label": "__finalize__", "sortText": "234"}, {"detail": "bound method DataFrame.__floordiv__(other) -> Unknown", "kind": 2, "label": "__floordiv__", "sortText": "235"}, {"detail": "bound method DataFrame.__format__(format_spec: str, /) -> str", "kind": 2, "label": "__format__", "sortText": "236"}, {"detail": "bound method DataFrame.__ge__(other) -> Unknown", "kind": 2, "label": "__ge__", "sortText": "237"}, {"detail": "bound method DataFrame.__getattr__(name: str) -> Unknown", "documentation": {"kind": "plaintext", "value": "After regular attribute access, try looking up the name\nThis allows simpler access to columns for interactive use.\n"}, "kind": 2, "label": "__getattr__", "sortText": "238"}, {"detail": "bound method DataFrame.__getattribute__(name: str, /) -> Any", "kind": 2, "label": "__getattribute__", "sortText": "239"}, {"detail": "bound method DataFrame.__getitem__(key) -> Unknown", "kind": 2, "label": "__getitem__", "sortText": "240"}, {"detail": "bound method DataFrame.__getstate__() -> dict[str, Any]", "kind": 2, "label": "__getstate__", "sortText": "241"}, {"detail": "bound method DataFrame.__gt__(other) -> Unknown", "kind": 2, "label": "__gt__", "sortText": "242"}, {"detail": "None", "documentation": {"kind": "plaintext", "value": "The type of the None singleton.\n"}, "kind": 22, "label": "__hash__", "sortText": "243"}, {"detail": "bound method DataFrame.__iadd__(other) -> DataFrame", "kind": 2, "label": "__iadd__", "sortText": "244"}, {"detail": "bound method DataFrame.__iand__(other) -> DataFrame", "kind": 2, "label": "__iand__", "sortText": "245"}, {"detail": "bound method DataFrame.__ifloordiv__(other) -> DataFrame", "kind": 2, "label": "__ifloordiv__", "sortText": "246"}, {"detail": "bound method DataFrame.__imod__(other) -> DataFrame", "kind": 2, "label": "__imod__", "sortText": "247"}, {"detail": "bound method DataFrame.__imul__(other) -> DataFrame", "kind": 2, "label": "__imul__", "sortText": "248"}, {"detail": "bound method DataFrame.__init__(data=None, index: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = None, columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = None, dtype: ExtensionDtype | str | dtype[Any] | type | None = None, copy: bool | None = None) -> None", "kind": 2, "label": "__init__", "sortText": "249"}, {"detail": "bound method type[DataFrame].__init_subclass__() -> None", "kind": 2, "label": "__init_subclass__", "sortText": "250"}, {"detail": "bound method DataFrame.__invert__() -> DataFrame", "kind": 2, "label": "__invert__", "sortText": "251"}, {"detail": "bound method DataFrame.__ior__(other) -> DataFrame", "kind": 2, "label": "__ior__", "sortText": "252"}, {"detail": "bound method DataFrame.__ipow__(other) -> DataFrame", "kind": 2, "label": "__ipow__", "sortText": "253"}, {"detail": "bound method DataFrame.__isub__(other) -> DataFrame", "kind": 2, "label": "__isub__", "sortText": "254"}, {"detail": "bound method DataFrame.__iter__() -> Iterator[Unknown]", "documentation": {"kind": "plaintext", "value": "Iterate over info axis.\n\nReturns\n-------\niterator\n Info axis as iterator.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})\n>>> for x in df:\n... print(x)\nA\nB\n"}, "kind": 2, "label": "__iter__", "sortText": "255"}, {"detail": "bound method DataFrame.__itruediv__(other) -> DataFrame", "kind": 2, "label": "__itruediv__", "sortText": "256"}, {"detail": "bound method DataFrame.__ixor__(other) -> DataFrame", "kind": 2, "label": "__ixor__", "sortText": "257"}, {"detail": "bound method DataFrame.__le__(other) -> Unknown", "kind": 2, "label": "__le__", "sortText": "258"}, {"detail": "bound method DataFrame.__len__() -> int", "documentation": {"kind": "plaintext", "value": "Returns length of info axis, but here we use the index.\n"}, "kind": 2, "label": "__len__", "sortText": "259"}, {"detail": "bound method DataFrame.__lt__(other) -> Unknown", "kind": 2, "label": "__lt__", "sortText": "260"}, {"detail": "Overload[(other: Series) -> Series, (other: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | Series | DataFrame) -> DataFrame | Series]", "documentation": {"kind": "plaintext", "value": "Matrix multiplication using binary `@` operator.\n"}, "kind": 2, "label": "__matmul__", "sortText": "261"}, {"detail": "bound method DataFrame.__mod__(other) -> Unknown", "kind": 2, "label": "__mod__", "sortText": "262"}, {"detail": "str", "documentation": {"kind": "plaintext", "value": "str(object='') -> str\nstr(bytes_or_buffer[, encoding[, errors]]) -> str\n\nCreate a new string object from the given object. If encoding or\nerrors is specified, then the object must expose a data buffer\nthat will be decoded using the given encoding and error handler.\nOtherwise, returns the result of object.__str__() (if defined)\nor repr(object).\nencoding defaults to 'utf-8'.\nerrors defaults to 'strict'.\n"}, "kind": 22, "label": "__module__", "sortText": "263"}, {"detail": "bound method DataFrame.__mul__(other) -> Unknown", "kind": 2, "label": "__mul__", "sortText": "264"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "__name__", "sortText": "265"}, {"detail": "bound method DataFrame.__ne__(other) -> Unknown", "kind": 2, "label": "__ne__", "sortText": "266"}, {"detail": "bound method DataFrame.__neg__() -> DataFrame", "kind": 2, "label": "__neg__", "sortText": "267"}, {"detail": "def __new__[Self](cls) -> Self", "kind": 3, "label": "__new__", "sortText": "268"}, {"detail": "bound method DataFrame.__nonzero__() -> Never", "kind": 2, "label": "__nonzero__", "sortText": "269"}, {"detail": "bound method DataFrame.__or__(other) -> Unknown", "kind": 2, "label": "__or__", "sortText": "270"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "__pandas_priority__", "sortText": "271"}, {"detail": "bound method DataFrame.__pos__() -> DataFrame", "kind": 2, "label": "__pos__", "sortText": "272"}, {"detail": "bound method DataFrame.__pow__(other) -> Unknown", "kind": 2, "label": "__pow__", "sortText": "273"}, {"detail": "bound method DataFrame.__radd__(other) -> Unknown", "kind": 2, "label": "__radd__", "sortText": "274"}, {"detail": "bound method DataFrame.__rand__(other) -> Unknown", "kind": 2, "label": "__rand__", "sortText": "275"}, {"detail": "bound method DataFrame.__rdivmod__(other) -> tuple[DataFrame, DataFrame]", "kind": 2, "label": "__rdivmod__", "sortText": "276"}, {"detail": "bound method DataFrame.__reduce__() -> str | tuple[Any, ...]", "kind": 2, "label": "__reduce__", "sortText": "277"}, {"detail": "bound method DataFrame.__reduce_ex__(protocol: SupportsIndex, /) -> str | tuple[Any, ...]", "kind": 2, "label": "__reduce_ex__", "sortText": "278"}, {"detail": "bound method DataFrame.__repr__() -> str", "documentation": {"kind": "plaintext", "value": "Return a string representation for a particular DataFrame.\n"}, "kind": 2, "label": "__repr__", "sortText": "279"}, {"detail": "bound method DataFrame.__rfloordiv__(other) -> Unknown", "kind": 2, "label": "__rfloordiv__", "sortText": "280"}, {"detail": "bound method DataFrame.__rmatmul__(other) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Matrix multiplication using binary `@` operator.\n"}, "kind": 2, "label": "__rmatmul__", "sortText": "281"}, {"detail": "bound method DataFrame.__rmod__(other) -> Unknown", "kind": 2, "label": "__rmod__", "sortText": "282"}, {"detail": "bound method DataFrame.__rmul__(other) -> Unknown", "kind": 2, "label": "__rmul__", "sortText": "283"}, {"detail": "bound method DataFrame.__ror__(other) -> Unknown", "kind": 2, "label": "__ror__", "sortText": "284"}, {"detail": "bound method DataFrame.__round__(decimals: int = 0) -> DataFrame", "kind": 2, "label": "__round__", "sortText": "285"}, {"detail": "bound method DataFrame.__rpow__(other) -> Unknown", "kind": 2, "label": "__rpow__", "sortText": "286"}, {"detail": "bound method DataFrame.__rsub__(other) -> Unknown", "kind": 2, "label": "__rsub__", "sortText": "287"}, {"detail": "bound method DataFrame.__rtruediv__(other) -> Unknown", "kind": 2, "label": "__rtruediv__", "sortText": "288"}, {"detail": "bound method DataFrame.__rxor__(other) -> Unknown", "kind": 2, "label": "__rxor__", "sortText": "289"}, {"detail": "bound method DataFrame.__setattr__(name: str, value) -> None", "documentation": {"kind": "plaintext", "value": "After regular attribute access, try setting the name\nThis allows simpler access to columns for interactive use.\n"}, "kind": 2, "label": "__setattr__", "sortText": "290"}, {"detail": "bound method DataFrame.__setitem__(key, value) -> None", "kind": 2, "label": "__setitem__", "sortText": "291"}, {"detail": "bound method DataFrame.__setstate__(state) -> None", "kind": 2, "label": "__setstate__", "sortText": "292"}, {"detail": "bound method DataFrame.__sizeof__() -> int", "documentation": {"kind": "plaintext", "value": "Generates the total memory usage for an object that returns\neither a value or Series of values\n"}, "kind": 2, "label": "__sizeof__", "sortText": "293"}, {"detail": "bound method DataFrame.__str__() -> str", "kind": 2, "label": "__str__", "sortText": "294"}, {"detail": "bound method DataFrame.__sub__(other) -> Unknown", "kind": 2, "label": "__sub__", "sortText": "295"}, {"detail": "bound method type[DataFrame].__subclasshook__(subclass: type, /) -> bool", "kind": 2, "label": "__subclasshook__", "sortText": "296"}, {"detail": "bound method DataFrame.__truediv__(other) -> Unknown", "kind": 2, "label": "__truediv__", "sortText": "297"}, {"detail": "bound method DataFrame.__xor__(other) -> Unknown", "kind": 2, "label": "__xor__", "sortText": "298"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "_AXIS_LEN", "sortText": "299"}, {"detail": "list[Literal[\"index\", \"columns\"]]", "documentation": {"kind": "plaintext", "value": "Built-in mutable sequence.\n\nIf no argument is given, the constructor creates a new empty list.\nThe argument must be an iterable if specified.\n"}, "kind": 22, "label": "_AXIS_ORDERS", "sortText": "300"}, {"detail": "dict[int | Literal[\"index\", \"columns\", \"rows\"], int]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "_AXIS_TO_AXIS_NUMBER", "sortText": "301"}, {"detail": "tuple[type[Series], type[Index], type[ExtensionArray], type[ndarray[_AnyShape, dtype[Any]]]]", "documentation": {"kind": "plaintext", "value": "Built-in immutable sequence.\n\nIf no argument is given, the constructor returns an empty tuple.\nIf iterable is specified the tuple is initialized from iterable's items.\n\nIf the argument is a tuple, the return value is the same object.\n"}, "kind": 22, "label": "_HANDLED_TYPES", "sortText": "302"}, {"detail": "set[str]", "documentation": {"kind": "plaintext", "value": "Build an unordered collection of unique elements.\n"}, "kind": 22, "label": "_accessors", "sortText": "303"}, {"detail": "bound method DataFrame._accum_func(name: str, func, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, skipna: bool = True, *args, **kwargs) -> Unknown", "kind": 2, "label": "_accum_func", "sortText": "304"}, {"detail": "str", "documentation": {"kind": "plaintext", "value": "str(object='') -> str\nstr(bytes_or_buffer[, encoding[, errors]]) -> str\n\nCreate a new string object from the given object. If encoding or\nerrors is specified, then the object must expose a data buffer\nthat will be decoded using the given encoding and error handler.\nOtherwise, returns the result of object.__str__() (if defined)\nor repr(object).\nencoding defaults to 'utf-8'.\nerrors defaults to 'strict'.\n"}, "kind": 22, "label": "_agg_examples_doc", "sortText": "305"}, {"detail": "str", "documentation": {"kind": "plaintext", "value": "str(object='') -> str\nstr(bytes_or_buffer[, encoding[, errors]]) -> str\n\nCreate a new string object from the given object. If encoding or\nerrors is specified, then the object must expose a data buffer\nthat will be decoded using the given encoding and error handler.\nOtherwise, returns the result of object.__str__() (if defined)\nor repr(object).\nencoding defaults to 'utf-8'.\nerrors defaults to 'strict'.\n"}, "kind": 22, "label": "_agg_see_also_doc", "sortText": "306"}, {"detail": "bound method DataFrame._align_for_op(other, axis: int, flex: bool | None = False, level: Hashable = None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Convert rhs to meet lhs dims if input is list, tuple or np.ndarray.\n\nParameters\n----------\nleft : DataFrame\nright : Any\naxis : int\nflex : bool or None, default False\n Whether this is a flex op, in which case we reindex.\n None indicates not to check for alignment.\nlevel : int or level name, default None\n\nReturns\n-------\nleft : DataFrame\nright : Any\n"}, "kind": 2, "label": "_align_for_op", "sortText": "307"}, {"detail": "bound method DataFrame._align_frame(other: DataFrame, join: Literal[\"outer\", \"inner\", \"left\", \"right\"] = \"outer\", axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, level=None, copy: bool | None = None, fill_value=None, method=None, limit: int | None = None, fill_axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> tuple[DataFrame, DataFrame, Index | None]", "kind": 2, "label": "_align_frame", "sortText": "308"}, {"detail": "bound method DataFrame._align_series(other: Series, join: Literal[\"outer\", \"inner\", \"left\", \"right\"] = \"outer\", axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, level=None, copy: bool | None = None, fill_value=None, method=None, limit: int | None = None, fill_axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> tuple[DataFrame, Series, Index | None]", "kind": 2, "label": "_align_series", "sortText": "309"}, {"detail": "bound method DataFrame._append(other, ignore_index: bool = False, verify_integrity: bool = False, sort: bool = False) -> DataFrame", "kind": 2, "label": "_append", "sortText": "310"}, {"detail": "bound method DataFrame._arith_method(other, op) -> Unknown", "kind": 2, "label": "_arith_method", "sortText": "311"}, {"detail": "bound method DataFrame._arith_method_with_reindex(right: DataFrame, op) -> DataFrame", "documentation": {"kind": "plaintext", "value": "For DataFrame-with-DataFrame operations that require reindexing,\noperate only on shared columns, then reindex.\n\nParameters\n----------\nright : DataFrame\nop : binary operator\n\nReturns\n-------\nDataFrame\n"}, "kind": 2, "label": "_arith_method_with_reindex", "sortText": "312"}, {"detail": "bound method DataFrame._as_manager(typ: str, copy: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Private helper function to create a DataFrame with specific manager.\n\nParameters\n----------\ntyp : {\"block\", \"array\"}\ncopy : bool, default True\n Only controls whether the conversion from Block->ArrayManager\n copies the 1D arrays (to ensure proper/contiguous memory layout).\n\nReturns\n-------\nDataFrame\n New DataFrame using specified manager type. Is not guaranteed\n to be a copy or not.\n"}, "kind": 2, "label": "_as_manager", "sortText": "313"}, {"detail": "dict[Hashable, Any]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "_attrs", "sortText": "314"}, {"detail": "bound method DataFrame._box_col_values(values: SingleDataManager, loc: int) -> Series", "documentation": {"kind": "plaintext", "value": "Provide boxed values for a column.\n"}, "kind": 2, "label": "_box_col_values", "sortText": "315"}, {"detail": "dict[str, Any]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "_cache", "sortText": "316"}, {"detail": "bool", "documentation": {"kind": "plaintext", "value": "Returns True when the argument is true, False otherwise.\nThe builtins True and False are the only two instances of the class bool.\nThe class bool is a subclass of the class int, and cannot be subclassed.\n"}, "kind": 22, "label": "_can_fast_transpose", "sortText": "317"}, {"detail": "bound method DataFrame._check_inplace_and_allows_duplicate_labels(inplace: bool) -> Unknown", "kind": 2, "label": "_check_inplace_and_allows_duplicate_labels", "sortText": "318"}, {"detail": "bound method DataFrame._check_is_chained_assignment_possible() -> bool", "documentation": {"kind": "plaintext", "value": "Check if we are a view, have a cacher, and are of mixed type.\nIf so, then force a setitem_copy check.\n\nShould be called just near setting a value\n\nWill return a boolean if it we are a view and are cached, but a\nsingle-dtype meaning that the cacher should be updated following\nsetting.\n"}, "kind": 2, "label": "_check_is_chained_assignment_possible", "sortText": "319"}, {"detail": "bound method DataFrame._check_label_or_level_ambiguity(key: Hashable, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> None", "documentation": {"kind": "plaintext", "value": "Check whether `key` is ambiguous.\n\nBy ambiguous, we mean that it matches both a level of the input\n`axis` and a label of the other axis.\n\nParameters\n----------\nkey : Hashable\n Label or level name.\naxis : int, default 0\n Axis that levels are associated with (0 for index, 1 for columns).\n\nRaises\n------\nValueError: `key` is ambiguous\n"}, "kind": 2, "label": "_check_label_or_level_ambiguity", "sortText": "320"}, {"detail": "bound method DataFrame._check_setitem_copy(t: str = \"setting\", force: bool = False) -> Unknown", "documentation": {"kind": "plaintext", "value": "Parameters\n----------\nt : str, the type of setting error\nforce : bool, default False\n If True, then force showing an error.\n\nvalidate if we are doing a setitem on a chained copy.\n\nIt is technically possible to figure out that we are setting on\na copy even WITH a multi-dtyped pandas object. In other words, some\nblocks may be views while other are not. Currently _is_view will ALWAYS\nreturn False for multi-blocks to avoid having to handle this case.\n\ndf = DataFrame(np.arange(0,9), columns=['count'])\ndf['group'] = 'b'\n\n# This technically need not raise SettingWithCopy if both are view\n# (which is not generally guaranteed but is usually True. However,\n# this is in general not a good practice and we recommend using .loc.\ndf.iloc[0:5]['group'] = 'a'\n"}, "kind": 2, "label": "_check_setitem_copy", "sortText": "321"}, {"detail": "bound method DataFrame._clear_item_cache() -> None", "kind": 2, "label": "_clear_item_cache", "sortText": "322"}, {"detail": "bound method DataFrame._clip_with_one_bound(threshold, method, axis, inplace) -> Unknown", "kind": 2, "label": "_clip_with_one_bound", "sortText": "323"}, {"detail": "bound method DataFrame._clip_with_scalar(lower, upper, inplace: bool = False) -> Unknown", "kind": 2, "label": "_clip_with_scalar", "sortText": "324"}, {"detail": "bound method DataFrame._cmp_method(other, op) -> Unknown", "kind": 2, "label": "_cmp_method", "sortText": "325"}, {"detail": "bound method DataFrame._combine_frame(other: DataFrame, func, fill_value=None) -> Unknown", "kind": 2, "label": "_combine_frame", "sortText": "326"}, {"detail": "bound method DataFrame._consolidate() -> Unknown", "documentation": {"kind": "plaintext", "value": "Compute NDFrame with \"consolidated\" internals (data of each dtype\ngrouped together in a single ndarray).\n\nReturns\n-------\nconsolidated : same type as caller\n"}, "kind": 2, "label": "_consolidate", "sortText": "327"}, {"detail": "bound method DataFrame._consolidate_inplace() -> None", "documentation": {"kind": "plaintext", "value": "Consolidate data in place and return None\n"}, "kind": 2, "label": "_consolidate_inplace", "sortText": "328"}, {"detail": "bound method DataFrame._construct_axes_dict(axes: Sequence[int | Literal[\"index\", \"columns\", \"rows\"]] | None = None, **kwargs) -> Unknown", "documentation": {"kind": "plaintext", "value": "Return an axes dictionary for myself.\n"}, "kind": 2, "label": "_construct_axes_dict", "sortText": "329"}, {"detail": "bound method DataFrame._construct_result(result) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Wrap the result of an arithmetic, comparison, or logical operation.\n\nParameters\n----------\nresult : DataFrame\n\nReturns\n-------\nDataFrame\n"}, "kind": 2, "label": "_construct_result", "sortText": "330"}, {"detail": "(...) -> DataFrame", "kind": 3, "label": "_constructor", "sortText": "331"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_constructor_expanddim", "sortText": "332"}, {"detail": "bound method DataFrame._constructor_from_mgr(mgr, axes) -> DataFrame", "kind": 2, "label": "_constructor_from_mgr", "sortText": "333"}, {"detail": "(...) -> Series", "kind": 3, "label": "_constructor_sliced", "sortText": "334"}, {"detail": "bound method DataFrame._constructor_sliced_from_mgr(mgr, axes) -> Series", "kind": 2, "label": "_constructor_sliced_from_mgr", "sortText": "335"}, {"detail": "bound method DataFrame._create_data_for_split_and_tight_to_dict(are_all_object_dtype_cols: bool, object_dtype_indices: list[int]) -> list[Unknown]", "documentation": {"kind": "plaintext", "value": "Simple helper method to create data for to ``to_dict(orient=\"split\")`` and\n``to_dict(orient=\"tight\")`` to create the main output data\n"}, "kind": 2, "label": "_create_data_for_split_and_tight_to_dict", "sortText": "336"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_data", "sortText": "337"}, {"detail": "bound method DataFrame._deprecate_downcast(downcast, method_name: str) -> Unknown", "kind": 2, "label": "_deprecate_downcast", "sortText": "338"}, {"detail": "bound method DataFrame._dir_additions() -> set[str]", "documentation": {"kind": "plaintext", "value": "add the string-like attributes from the info_axis.\nIf info_axis is a MultiIndex, its first level values are used.\n"}, "kind": 2, "label": "_dir_additions", "sortText": "339"}, {"detail": "bound method DataFrame._dir_deletions() -> set[str]", "documentation": {"kind": "plaintext", "value": "Delete unwanted __dir__ for this object.\n"}, "kind": 2, "label": "_dir_deletions", "sortText": "340"}, {"detail": "bound method DataFrame._dispatch_frame_op(right, func: (...) -> Unknown, axis: int | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Evaluate the frame operation func(left, right) by evaluating\ncolumn-by-column, dispatching to the Series implementation.\n\nParameters\n----------\nright : scalar, Series, or DataFrame\nfunc : arithmetic or comparison operator\naxis : {None, 0, 1}\n\nReturns\n-------\nDataFrame\n\nNotes\n-----\nCaller is responsible for setting np.errstate where relevant.\n"}, "kind": 2, "label": "_dispatch_frame_op", "sortText": "341"}, {"detail": "bound method DataFrame._drop_axis(labels, axis, level=None, errors: Literal[\"ignore\", \"raise\"] = \"raise\", only_slice: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Drop labels from specified axis. Used in the ``drop`` method\ninternally.\n\nParameters\n----------\nlabels : single label or list-like\naxis : int or axis name\nlevel : int or level name, default None\n For MultiIndex\nerrors : {'ignore', 'raise'}, default 'raise'\n If 'ignore', suppress error and existing labels are dropped.\nonly_slice : bool, default False\n Whether indexing along columns should be view-only.\n"}, "kind": 2, "label": "_drop_axis", "sortText": "342"}, {"detail": "bound method DataFrame._drop_labels_or_levels(keys, axis: int = 0) -> Unknown", "documentation": {"kind": "plaintext", "value": "Drop labels and/or levels for the given `axis`.\n\nFor each key in `keys`:\n - (axis=0): If key matches a column label then drop the column.\n Otherwise if key matches an index level then drop the level.\n - (axis=1): If key matches an index label then drop the row.\n Otherwise if key matches a column level then drop the level.\n\nParameters\n----------\nkeys : str or list of str\n labels or levels to drop\naxis : int, default 0\n Axis that levels are associated with (0 for index, 1 for columns)\n\nReturns\n-------\ndropped: DataFrame\n\nRaises\n------\nValueError\n if any `keys` match neither a label nor a level\n"}, "kind": 2, "label": "_drop_labels_or_levels", "sortText": "343"}, {"detail": "bound method DataFrame._ensure_valid_index(value) -> None", "documentation": {"kind": "plaintext", "value": "Ensure that if we don't have an index, that we can create one from the\npassed value.\n"}, "kind": 2, "label": "_ensure_valid_index", "sortText": "344"}, {"detail": "bound method DataFrame._find_valid_index(*, how: str) -> Hashable", "documentation": {"kind": "plaintext", "value": "Retrieves the index of the first valid value.\n\nParameters\n----------\nhow : {'first', 'last'}\n Use this parameter to change between the first or last valid index.\n\nReturns\n-------\nidx_first_valid : type of index\n"}, "kind": 2, "label": "_find_valid_index", "sortText": "345"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_flags", "sortText": "346"}, {"detail": "bound method DataFrame._flex_arith_method(other, op, *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> Unknown", "kind": 2, "label": "_flex_arith_method", "sortText": "347"}, {"detail": "bound method DataFrame._flex_cmp_method(other, op, *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> Unknown", "kind": 2, "label": "_flex_cmp_method", "sortText": "348"}, {"detail": "bound method type[DataFrame]._from_arrays(arrays, columns, index, dtype: ExtensionDtype | str | dtype[Any] | type | None = None, verify_integrity: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Create DataFrame from a list of arrays corresponding to the columns.\n\nParameters\n----------\narrays : list-like of arrays\n Each array in the list corresponds to one column, in order.\ncolumns : list-like, Index\n The column names for the resulting DataFrame.\nindex : list-like, Index\n The rows labels for the resulting DataFrame.\ndtype : dtype, optional\n Optional dtype to enforce for all arrays.\nverify_integrity : bool, default True\n Validate and homogenize all input. If set to False, it is assumed\n that all elements of `arrays` are actual arrays how they will be\n stored in a block (numpy ndarray or ExtensionArray), have the same\n length as and are aligned with the index, and that `columns` and\n `index` are ensured to be an Index object.\n\nReturns\n-------\nDataFrame\n"}, "kind": 2, "label": "_from_arrays", "sortText": "349"}, {"detail": "bound method type[DataFrame]._from_mgr(mgr: ArrayManager | SingleArrayManager | BlockManager | SingleBlockManager, axes: list[Index]) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Construct a new object of this type from a Manager object and axes.\n\nParameters\n----------\nmgr : Manager\n Must have the same ndim as cls.\naxes : list[Index]\n\nNotes\n-----\nThe axes must match mgr.axes, but are required for future-proofing\nin the event that axes are refactored out of the Manager objects.\n"}, "kind": 2, "label": "_from_mgr", "sortText": "350"}, {"detail": "bound method DataFrame._get_agg_axis(axis_num: int) -> Index", "documentation": {"kind": "plaintext", "value": "Let's be explicit about this.\n"}, "kind": 2, "label": "_get_agg_axis", "sortText": "351"}, {"detail": "bound method DataFrame._get_axis(axis: int | Literal[\"index\", \"columns\", \"rows\"]) -> Index", "kind": 2, "label": "_get_axis", "sortText": "352"}, {"detail": "bound method type[DataFrame]._get_axis_name(axis: int | Literal[\"index\", \"columns\", \"rows\"]) -> Literal[\"index\", \"columns\"]", "kind": 2, "label": "_get_axis_name", "sortText": "353"}, {"detail": "bound method type[DataFrame]._get_axis_number(axis: int | Literal[\"index\", \"columns\", \"rows\"]) -> int", "kind": 2, "label": "_get_axis_number", "sortText": "354"}, {"detail": "bound method DataFrame._get_axis_resolvers(axis: str) -> dict[str, Series | MultiIndex]", "kind": 2, "label": "_get_axis_resolvers", "sortText": "355"}, {"detail": "bound method type[DataFrame]._get_block_manager_axis(axis: int | Literal[\"index\", \"columns\", \"rows\"]) -> int", "documentation": {"kind": "plaintext", "value": "Map the axis to the block_manager axis.\n"}, "kind": 2, "label": "_get_block_manager_axis", "sortText": "356"}, {"detail": "bound method DataFrame._get_bool_data() -> Unknown", "kind": 2, "label": "_get_bool_data", "sortText": "357"}, {"detail": "bound method DataFrame._get_cleaned_column_resolvers() -> dict[Hashable, Series]", "documentation": {"kind": "plaintext", "value": "Return the special character free column resolvers of a dataframe.\n\nColumn names with special characters are 'cleaned up' so that they can\nbe referred to by backtick quoting.\nUsed in :meth:`DataFrame.eval`.\n"}, "kind": 2, "label": "_get_cleaned_column_resolvers", "sortText": "358"}, {"detail": "bound method DataFrame._get_column_array(i: int) -> ExtensionArray | ndarray[_AnyShape, dtype[Any]]", "documentation": {"kind": "plaintext", "value": "Get the values of the i'th column (ndarray or ExtensionArray, as stored\nin the Block)\n\nWarning! The returned array is a view but doesn't handle Copy-on-Write,\nso this should be used with caution (for read-only purposes).\n"}, "kind": 2, "label": "_get_column_array", "sortText": "359"}, {"detail": "bound method DataFrame._get_index_resolvers() -> dict[Hashable, Series | MultiIndex]", "kind": 2, "label": "_get_index_resolvers", "sortText": "360"}, {"detail": "bound method DataFrame._get_item_cache(item: Hashable) -> Series", "documentation": {"kind": "plaintext", "value": "Return the cached item, item represents a label indexer.\n"}, "kind": 2, "label": "_get_item_cache", "sortText": "361"}, {"detail": "bound method DataFrame._get_label_or_level_values(key: Hashable, axis: int = 0) -> ExtensionArray | ndarray[_AnyShape, dtype[Any]]", "documentation": {"kind": "plaintext", "value": "Return a 1-D array of values associated with `key`, a label or level\nfrom the given `axis`.\n\nRetrieval logic:\n - (axis=0): Return column values if `key` matches a column label.\n Otherwise return index level values if `key` matches an index\n level.\n - (axis=1): Return row values if `key` matches an index label.\n Otherwise return column level values if 'key' matches a column\n level\n\nParameters\n----------\nkey : Hashable\n Label or level name.\naxis : int, default 0\n Axis that levels are associated with (0 for index, 1 for columns)\n\nReturns\n-------\nnp.ndarray or ExtensionArray\n\nRaises\n------\nKeyError\n if `key` matches neither a label nor a level\nValueError\n if `key` matches multiple labels\n"}, "kind": 2, "label": "_get_label_or_level_values", "sortText": "362"}, {"detail": "bound method DataFrame._get_numeric_data() -> DataFrame", "kind": 2, "label": "_get_numeric_data", "sortText": "363"}, {"detail": "bound method DataFrame._get_value(index, col, takeable: bool = False) -> str | float | Period | ... omitted 5 union elements", "documentation": {"kind": "plaintext", "value": "Quickly retrieve single value at passed column and index.\n\nParameters\n----------\nindex : row label\ncol : column label\ntakeable : interpret the index/col as indexers, default False\n\nReturns\n-------\nscalar\n\nNotes\n-----\nAssumes that both `self.index._index_as_unique` and\n`self.columns._index_as_unique`; Caller is responsible for checking.\n"}, "kind": 2, "label": "_get_value", "sortText": "364"}, {"detail": "bound method DataFrame._get_values_for_csv(*, float_format: str | ((...) -> Unknown) | EngFormatter | None, date_format: str | None, decimal: str, na_rep: str, quoting) -> DataFrame", "kind": 2, "label": "_get_values_for_csv", "sortText": "365"}, {"detail": "bound method DataFrame._getitem_bool_array(key) -> Unknown", "kind": 2, "label": "_getitem_bool_array", "sortText": "366"}, {"detail": "bound method DataFrame._getitem_multilevel(key) -> Unknown", "kind": 2, "label": "_getitem_multilevel", "sortText": "367"}, {"detail": "bound method DataFrame._getitem_nocopy(key: list[Unknown]) -> Unknown", "documentation": {"kind": "plaintext", "value": "Behaves like __getitem__, but returns a view in cases where __getitem__\nwould make a copy.\n"}, "kind": 2, "label": "_getitem_nocopy", "sortText": "368"}, {"detail": "bound method DataFrame._getitem_slice(key: slice[Any, Any, Any]) -> DataFrame", "documentation": {"kind": "plaintext", "value": "__getitem__ for the case where the key is a slice object.\n"}, "kind": 2, "label": "_getitem_slice", "sortText": "369"}, {"detail": "bound method DataFrame._gotitem(key: Hashable | Sequence[Hashable], ndim: int, subset: DataFrame | Series | None = None) -> DataFrame | Series", "documentation": {"kind": "plaintext", "value": "Sub-classes to define. Return a sliced object.\n\nParameters\n----------\nkey : string / list of selections\nndim : {1, 2}\n requested ndim of result\nsubset : object, default None\n subset to act on\n"}, "kind": 2, "label": "_gotitem", "sortText": "370"}, {"detail": "frozenset[str]", "documentation": {"kind": "plaintext", "value": "Build an immutable unordered collection of unique elements.\n"}, "kind": 22, "label": "_hidden_attrs", "sortText": "371"}, {"detail": "bound method DataFrame._indexed_same(other) -> bool", "kind": 2, "label": "_indexed_same", "sortText": "372"}, {"detail": "Index", "documentation": {"kind": "plaintext", "value": "Immutable sequence used for indexing and alignment.\n\nThe basic object storing axis labels for all pandas objects.\n\n.. versionchanged:: 2.0.0\n\n Index can hold all numpy numeric dtypes (except float16). Previously only\n int64/uint64/float64 dtypes were accepted.\n\nParameters\n----------\ndata : array-like (1-dimensional)\ndtype : str, numpy.dtype, or ExtensionDtype, optional\n Data type for the output Index. If not specified, this will be\n inferred from `data`.\n See the :ref:`user guide ` for more usages.\ncopy : bool, default False\n Copy input data.\nname : object\n Name to be stored in the index.\ntupleize_cols : bool (default: True)\n When True, attempt to create a MultiIndex if possible.\n\nSee Also\n--------\nRangeIndex : Index implementing a monotonic integer range.\nCategoricalIndex : Index of :class:`Categorical` s.\nMultiIndex : A multi-level, or hierarchical Index.\nIntervalIndex : An Index of :class:`Interval` s.\nDatetimeIndex : Index of datetime64 data.\nTimedeltaIndex : Index of timedelta64 data.\nPeriodIndex : Index of Period data.\n\nNotes\n-----\nAn Index instance can **only** contain hashable objects.\nAn Index instance *can not* hold numpy float16 dtype.\n\nExamples\n--------\n>>> pd.Index([1, 2, 3])\nIndex([1, 2, 3], dtype='int64')\n\n>>> pd.Index(list('abc'))\nIndex(['a', 'b', 'c'], dtype='object')\n\n>>> pd.Index([1, 2, 3], dtype=\"uint8\")\nIndex([1, 2, 3], dtype='uint8')\n"}, "kind": 22, "label": "_info_axis", "sortText": "373"}, {"detail": "Literal[\"columns\", \"index\"]", "kind": 12, "label": "_info_axis_name", "sortText": "374"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "_info_axis_number", "sortText": "375"}, {"detail": "bound method DataFrame._info_repr() -> bool", "documentation": {"kind": "plaintext", "value": "True if the repr should show the info view.\n"}, "kind": 2, "label": "_info_repr", "sortText": "376"}, {"detail": "bound method type[DataFrame]._init_mgr(mgr: ArrayManager | SingleArrayManager | BlockManager | SingleBlockManager, axes: dict[Literal[\"index\", \"columns\"], ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements], dtype: dtype[Any] | ExtensionDtype | None = None, copy: bool = False) -> ArrayManager | SingleArrayManager | BlockManager | SingleBlockManager", "documentation": {"kind": "plaintext", "value": "passed a manager and a axes dict\n"}, "kind": 2, "label": "_init_mgr", "sortText": "377"}, {"detail": "bound method DataFrame._inplace_method(other, op) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Wrap arithmetic method to operate inplace.\n"}, "kind": 2, "label": "_inplace_method", "sortText": "378"}, {"detail": "list[str]", "documentation": {"kind": "plaintext", "value": "Built-in mutable sequence.\n\nIf no argument is given, the constructor creates a new empty list.\nThe argument must be an iterable if specified.\n"}, "kind": 22, "label": "_internal_names", "sortText": "379"}, {"detail": "set[str]", "documentation": {"kind": "plaintext", "value": "Build an unordered collection of unique elements.\n"}, "kind": 22, "label": "_internal_names_set", "sortText": "380"}, {"detail": "ReferenceType[NDFrame] | str | None", "kind": 22, "label": "_is_copy", "sortText": "381"}, {"detail": "bool", "documentation": {"kind": "plaintext", "value": "Returns True when the argument is true, False otherwise.\nThe builtins True and False are the only two instances of the class bool.\nThe class bool is a subclass of the class int, and cannot be subclassed.\n"}, "kind": 22, "label": "_is_homogeneous_type", "sortText": "382"}, {"detail": "bound method DataFrame._is_label_or_level_reference(key: Hashable, axis: int = 0) -> bool", "documentation": {"kind": "plaintext", "value": "Test whether a key is a label or level reference for a given axis.\n\nTo be considered either a label or a level reference, `key` must be a\nstring that:\n - (axis=0): Matches a column label or an index level\n - (axis=1): Matches an index label or a column level\n\nParameters\n----------\nkey : Hashable\n Potential label or level name\naxis : int, default 0\n Axis that levels are associated with (0 for index, 1 for columns)\n\nReturns\n-------\nbool\n"}, "kind": 2, "label": "_is_label_or_level_reference", "sortText": "383"}, {"detail": "bound method DataFrame._is_label_reference(key: Hashable, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> bool", "documentation": {"kind": "plaintext", "value": "Test whether a key is a label reference for a given axis.\n\nTo be considered a label reference, `key` must be a string that:\n - (axis=0): Matches a column label\n - (axis=1): Matches an index label\n\nParameters\n----------\nkey : Hashable\n Potential label name, i.e. Index entry.\naxis : int, default 0\n Axis perpendicular to the axis that labels are associated with\n (0 means search for column labels, 1 means search for index labels)\n\nReturns\n-------\nis_label: bool\n"}, "kind": 2, "label": "_is_label_reference", "sortText": "384"}, {"detail": "bound method DataFrame._is_level_reference(key: Hashable, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> bool", "documentation": {"kind": "plaintext", "value": "Test whether a key is a level reference for a given axis.\n\nTo be considered a level reference, `key` must be a string that:\n - (axis=0): Matches the name of an index level and does NOT match\n a column label.\n - (axis=1): Matches the name of a column level and does NOT match\n an index label.\n\nParameters\n----------\nkey : Hashable\n Potential level name for the given axis\naxis : int, default 0\n Axis that levels are associated with (0 for index, 1 for columns)\n\nReturns\n-------\nis_level : bool\n"}, "kind": 2, "label": "_is_level_reference", "sortText": "385"}, {"detail": "bool", "documentation": {"kind": "plaintext", "value": "Returns True when the argument is true, False otherwise.\nThe builtins True and False are the only two instances of the class bool.\nThe class bool is a subclass of the class int, and cannot be subclassed.\n"}, "kind": 22, "label": "_is_mixed_type", "sortText": "386"}, {"detail": "bool", "documentation": {"kind": "plaintext", "value": "Returns True when the argument is true, False otherwise.\nThe builtins True and False are the only two instances of the class bool.\nThe class bool is a subclass of the class int, and cannot be subclassed.\n"}, "kind": 22, "label": "_is_view", "sortText": "387"}, {"detail": "bound method DataFrame._is_view_after_cow_rules() -> Unknown", "kind": 2, "label": "_is_view_after_cow_rules", "sortText": "388"}, {"detail": "bound method DataFrame._iset_item(loc: int, value: Series, inplace: bool = True) -> None", "kind": 2, "label": "_iset_item", "sortText": "389"}, {"detail": "bound method DataFrame._iset_item_mgr(loc: int | slice[Any, Any, Any] | ndarray[_AnyShape, dtype[Any]], value, inplace: bool = False, refs: BlockValuesRefs | None = None) -> None", "kind": 2, "label": "_iset_item_mgr", "sortText": "390"}, {"detail": "bound method DataFrame._iset_not_inplace(key, value) -> Unknown", "kind": 2, "label": "_iset_not_inplace", "sortText": "391"}, {"detail": "dict[Hashable, Series]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "_item_cache", "sortText": "392"}, {"detail": "bound method DataFrame._iter_column_arrays() -> Iterator[ExtensionArray | ndarray[_AnyShape, dtype[Any]]]", "documentation": {"kind": "plaintext", "value": "Iterate over the arrays of all columns in order.\nThis returns the values as stored in the Block (ndarray or ExtensionArray).\n\nWarning! The returned array is a view but doesn't handle Copy-on-Write,\nso this should be used with caution (for read-only purposes).\n"}, "kind": 2, "label": "_iter_column_arrays", "sortText": "393"}, {"detail": "bound method DataFrame._ixs(i: int, axis: int = 0) -> Series", "documentation": {"kind": "plaintext", "value": "Parameters\n----------\ni : int\naxis : int\n\nReturns\n-------\nSeries\n"}, "kind": 2, "label": "_ixs", "sortText": "394"}, {"detail": "bound method DataFrame._logical_func(name: str, func, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, bool_only: bool = False, skipna: bool = True, **kwargs) -> Series | bool", "kind": 2, "label": "_logical_func", "sortText": "395"}, {"detail": "(other, op) -> Unknown", "kind": 2, "label": "_logical_method", "sortText": "396"}, {"detail": "bound method DataFrame._maybe_align_series_as_frame(series: Series, axis: int) -> Unknown", "documentation": {"kind": "plaintext", "value": "If the Series operand is not EA-dtype, we can broadcast to 2D and operate\nblockwise.\n"}, "kind": 2, "label": "_maybe_align_series_as_frame", "sortText": "397"}, {"detail": "bound method DataFrame._maybe_cache_changed(item, value: Series, inplace: bool) -> None", "documentation": {"kind": "plaintext", "value": "The object has called back to us saying maybe it has changed.\n"}, "kind": 2, "label": "_maybe_cache_changed", "sortText": "398"}, {"detail": "bound method DataFrame._maybe_update_cacher(clear: bool = False, verify_is_copy: bool = True, inplace: bool = False) -> None", "documentation": {"kind": "plaintext", "value": "See if we need to update our parent cacher if clear, then clear our\ncache.\n\nParameters\n----------\nclear : bool, default False\n Clear the item cache.\nverify_is_copy : bool, default True\n Provide is_copy checks.\n"}, "kind": 2, "label": "_maybe_update_cacher", "sortText": "399"}, {"detail": "list[str]", "documentation": {"kind": "plaintext", "value": "Built-in mutable sequence.\n\nIf no argument is given, the constructor creates a new empty list.\nThe argument must be an iterable if specified.\n"}, "kind": 22, "label": "_metadata", "sortText": "400"}, {"detail": "BlockManager | ArrayManager", "kind": 22, "label": "_mgr", "sortText": "401"}, {"detail": "bound method DataFrame._min_count_stat_function(name: str, func, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None | _NoDefault = ..., skipna: bool = True, numeric_only: bool = False, min_count: int = 0, **kwargs) -> Unknown", "kind": 2, "label": "_min_count_stat_function", "sortText": "402"}, {"detail": "bound method DataFrame._needs_reindex_multi(axes, method, level: Hashable) -> bool", "documentation": {"kind": "plaintext", "value": "Check if we do need a multi reindex.\n"}, "kind": 2, "label": "_needs_reindex_multi", "sortText": "403"}, {"detail": "bound method DataFrame._pad_or_backfill(method: Literal[\"ffill\", \"bfill\", \"pad\", \"backfill\"], *, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = None, inplace: bool = False, limit: None | int = None, limit_area: Literal[\"inside\", \"outside\"] | None = None, downcast: dict[Unknown, Unknown] | None = None) -> Unknown", "kind": 2, "label": "_pad_or_backfill", "sortText": "404"}, {"detail": "bound method DataFrame._protect_consolidate(f) -> Unknown", "documentation": {"kind": "plaintext", "value": "Consolidate _mgr -- if the blocks have changed, then clear the\ncache\n"}, "kind": 2, "label": "_protect_consolidate", "sortText": "405"}, {"detail": "bound method DataFrame._reduce(op, name: str, *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, skipna: bool = True, numeric_only: bool = False, filter_type=None, **kwds) -> Unknown", "kind": 2, "label": "_reduce", "sortText": "406"}, {"detail": "bound method DataFrame._reduce_axis1(name: str, func, skipna: bool) -> Series", "documentation": {"kind": "plaintext", "value": "Special case for _reduce to try to avoid a potentially-expensive transpose.\n\nApply the reduction block-wise along axis=1 and then reduce the resulting\n1D arrays.\n"}, "kind": 2, "label": "_reduce_axis1", "sortText": "407"}, {"detail": "bound method DataFrame._reindex_axes(axes, level: Hashable, limit: int | None, tolerance, method, fill_value: str | float | Period | ... omitted 6 union elements, copy: bool | None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Perform the reindex for all the axes.\n"}, "kind": 2, "label": "_reindex_axes", "sortText": "408"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_reindex_indexer", "sortText": "409"}, {"detail": "bound method DataFrame._reindex_multi(axes: dict[str, Index], copy: bool, fill_value) -> DataFrame", "documentation": {"kind": "plaintext", "value": "We are guaranteed non-Nones in the axes.\n"}, "kind": 2, "label": "_reindex_multi", "sortText": "410"}, {"detail": "bound method DataFrame._reindex_with_indexers(reindexers, fill_value=None, copy: bool | None = False, allow_dups: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "allow_dups indicates an internal call here\n"}, "kind": 2, "label": "_reindex_with_indexers", "sortText": "411"}, {"detail": "bound method DataFrame._rename(mapper: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = None, *, index: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = None, columns: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, copy: bool | None = None, inplace: bool = False, level: Hashable = None, errors: str = \"ignore\") -> DataFrame | None", "kind": 2, "label": "_rename", "sortText": "412"}, {"detail": "bound method DataFrame._replace_columnwise(mapping: dict[Hashable, tuple[Any, Any]], inplace: bool, regex) -> Unknown", "documentation": {"kind": "plaintext", "value": "Dispatch to Series.replace column-wise.\n\nParameters\n----------\nmapping : dict\n of the form {col: (target, value)}\ninplace : bool\nregex : bool or same types as `to_replace` in DataFrame.replace\n\nReturns\n-------\nDataFrame or None\n"}, "kind": 2, "label": "_replace_columnwise", "sortText": "413"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_replace_single", "sortText": "414"}, {"detail": "bound method DataFrame._repr_data_resource_() -> Unknown", "documentation": {"kind": "plaintext", "value": "Not a real Jupyter special repr method, but we use the same\nnaming convention.\n"}, "kind": 2, "label": "_repr_data_resource_", "sortText": "415"}, {"detail": "bound method DataFrame._repr_fits_horizontal_() -> bool", "documentation": {"kind": "plaintext", "value": "Check if full repr fits in horizontal boundaries imposed by the display\noptions width and max_columns.\n"}, "kind": 2, "label": "_repr_fits_horizontal_", "sortText": "416"}, {"detail": "bound method DataFrame._repr_fits_vertical_() -> bool", "documentation": {"kind": "plaintext", "value": "Check length against max_rows.\n"}, "kind": 2, "label": "_repr_fits_vertical_", "sortText": "417"}, {"detail": "bound method DataFrame._repr_html_() -> str | None", "documentation": {"kind": "plaintext", "value": "Return a html representation for a particular DataFrame.\n\nMainly for IPython notebook.\n"}, "kind": 2, "label": "_repr_html_", "sortText": "418"}, {"detail": "bound method DataFrame._repr_latex_() -> Unknown", "documentation": {"kind": "plaintext", "value": "Returns a LaTeX representation for a particular object.\nMainly for use with nbconvert (jupyter notebook conversion to pdf).\n"}, "kind": 2, "label": "_repr_latex_", "sortText": "419"}, {"detail": "bound method DataFrame._reset_cache(key: str | None = None) -> None", "documentation": {"kind": "plaintext", "value": "Reset cached properties. If ``key`` is passed, only clears that key.\n"}, "kind": 2, "label": "_reset_cache", "sortText": "420"}, {"detail": "bound method DataFrame._reset_cacher() -> None", "kind": 2, "label": "_reset_cacher", "sortText": "421"}, {"detail": "bound method DataFrame._sanitize_column(value) -> tuple[ExtensionArray | ndarray[_AnyShape, dtype[Any]], BlockValuesRefs | None]", "documentation": {"kind": "plaintext", "value": "Ensures new columns (which go into the BlockManager as new blocks) are\nalways copied (or a reference is being tracked to them under CoW)\nand converted into an array.\n\nParameters\n----------\nvalue : scalar, Series, or array-like\n\nReturns\n-------\ntuple of numpy.ndarray or ExtensionArray and optional BlockValuesRefs\n"}, "kind": 2, "label": "_sanitize_column", "sortText": "422"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_series", "sortText": "423"}, {"detail": "bound method DataFrame._set_axis(axis: int, labels: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | Series | list[Unknown]) -> None", "documentation": {"kind": "plaintext", "value": "This is called from the cython code when we set the `index` attribute\ndirectly, e.g. `series.index = [1, 2, 3]`.\n"}, "kind": 2, "label": "_set_axis", "sortText": "424"}, {"detail": "bound method DataFrame._set_axis_name(name, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, inplace: bool = False, copy: bool | None = True) -> Unknown", "documentation": {"kind": "plaintext", "value": "Set the name(s) of the axis.\n\nParameters\n----------\nname : str or list of str\n Name(s) to set.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to set the label. The value 0 or 'index' specifies index,\n and the value 1 or 'columns' specifies columns.\ninplace : bool, default False\n If `True`, do operation inplace and return None.\ncopy:\n Whether to make a copy of the result.\n\nReturns\n-------\nSeries, DataFrame, or None\n The same type as the caller or `None` if `inplace` is `True`.\n\nSee Also\n--------\nDataFrame.rename : Alter the axis labels of :class:`DataFrame`.\nSeries.rename : Alter the index labels or set the index name\n of :class:`Series`.\nIndex.rename : Set the name of :class:`Index` or :class:`MultiIndex`.\n\nExamples\n--------\n>>> df = pd.DataFrame({\"num_legs\": [4, 4, 2]},\n... [\"dog\", \"cat\", \"monkey\"])\n>>> df\n num_legs\ndog 4\ncat 4\nmonkey 2\n>>> df._set_axis_name(\"animal\")\n num_legs\nanimal\ndog 4\ncat 4\nmonkey 2\n>>> df.index = pd.MultiIndex.from_product(\n... [[\"mammal\"], ['dog', 'cat', 'monkey']])\n>>> df._set_axis_name([\"type\", \"name\"])\n num_legs\ntype name\nmammal dog 4\n cat 4\n monkey 2\n"}, "kind": 2, "label": "_set_axis_name", "sortText": "425"}, {"detail": "bound method DataFrame._set_axis_nocheck(labels, axis: int | Literal[\"index\", \"columns\", \"rows\"], inplace: bool, copy: bool | None) -> Unknown", "kind": 2, "label": "_set_axis_nocheck", "sortText": "426"}, {"detail": "bound method DataFrame._set_is_copy(ref: NDFrame, copy: bool = True) -> None", "kind": 2, "label": "_set_is_copy", "sortText": "427"}, {"detail": "bound method DataFrame._set_item(key, value) -> None", "documentation": {"kind": "plaintext", "value": "Add series to DataFrame in specified column.\n\nIf series is a numpy-array (not a Series/TimeSeries), it must be the\nsame length as the DataFrames index or an error will be thrown.\n\nSeries/TimeSeries will be conformed to the DataFrames index to\nensure homogeneity.\n"}, "kind": 2, "label": "_set_item", "sortText": "428"}, {"detail": "bound method DataFrame._set_item_frame_value(key, value: DataFrame) -> None", "kind": 2, "label": "_set_item_frame_value", "sortText": "429"}, {"detail": "bound method DataFrame._set_item_mgr(key, value: ExtensionArray | ndarray[_AnyShape, dtype[Any]], refs: BlockValuesRefs | None = None) -> None", "kind": 2, "label": "_set_item_mgr", "sortText": "430"}, {"detail": "bound method DataFrame._set_value(index: Hashable | Sequence[Hashable], col, value: str | float | Period | ... omitted 5 union elements, takeable: bool = False) -> None", "documentation": {"kind": "plaintext", "value": "Put single value at passed column and index.\n\nParameters\n----------\nindex : Label\n row label\ncol : Label\n column label\nvalue : scalar\ntakeable : bool, default False\n Sets whether or not index/col interpreted as indexers\n"}, "kind": 2, "label": "_set_value", "sortText": "431"}, {"detail": "bound method DataFrame._setitem_array(key, value) -> Unknown", "kind": 2, "label": "_setitem_array", "sortText": "432"}, {"detail": "bound method DataFrame._setitem_frame(key, value) -> Unknown", "kind": 2, "label": "_setitem_frame", "sortText": "433"}, {"detail": "bound method DataFrame._setitem_slice(key: slice[Any, Any, Any], value) -> None", "kind": 2, "label": "_setitem_slice", "sortText": "434"}, {"detail": "bound method DataFrame._shift_with_freq(periods: int, axis: int, freq) -> DataFrame", "kind": 2, "label": "_shift_with_freq", "sortText": "435"}, {"detail": "bound method DataFrame._should_reindex_frame_op(right, op, axis: int, fill_value, level) -> bool", "documentation": {"kind": "plaintext", "value": "Check if this is an operation between DataFrames that will need to reindex.\n"}, "kind": 2, "label": "_should_reindex_frame_op", "sortText": "436"}, {"detail": "bound method DataFrame._slice(slobj: slice[Any, Any, Any], axis: int = 0) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Construct a slice of this container.\n\nSlicing with this method is *always* positional.\n"}, "kind": 2, "label": "_slice", "sortText": "437"}, {"detail": "bound method DataFrame._stat_function(name: str, func, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "_stat_function", "sortText": "438"}, {"detail": "bound method DataFrame._stat_function_ddof(name: str, func, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None | _NoDefault = ..., skipna: bool = True, ddof: int = 1, numeric_only: bool = False, **kwargs) -> Series | float", "kind": 2, "label": "_stat_function_ddof", "sortText": "439"}, {"detail": "bound method DataFrame._take_with_is_copy(indices, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Internal version of the `take` method that sets the `_is_copy`\nattribute to keep track of the parent dataframe (using in indexing\nfor the SettingWithCopyWarning).\n\nFor Series this does the same as the public take (it never sets `_is_copy`).\n\nSee the docstring of `take` for full explanation of the parameters.\n"}, "kind": 2, "label": "_take_with_is_copy", "sortText": "440"}, {"detail": "bound method DataFrame._to_dict_of_blocks() -> Unknown", "documentation": {"kind": "plaintext", "value": "Return a dict of dtype -> Constructor Types that\neach is a homogeneous dtype.\n\nInternal ONLY - only works for BlockManager\n"}, "kind": 2, "label": "_to_dict_of_blocks", "sortText": "441"}, {"detail": "bound method DataFrame._to_latex_via_styler(buf=None, *, hide: dict[Unknown, Unknown] | list[dict[Unknown, Unknown]] | None = None, relabel_index: dict[Unknown, Unknown] | list[dict[Unknown, Unknown]] | None = None, format: dict[Unknown, Unknown] | list[dict[Unknown, Unknown]] | None = None, format_index: dict[Unknown, Unknown] | list[dict[Unknown, Unknown]] | None = None, render_kwargs: dict[Unknown, Unknown] | None = None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Render object to a LaTeX tabular, longtable, or nested table.\n\nUses the ``Styler`` implementation with the following, ordered, method chaining:\n\n.. code-block:: python\n styler = Styler(DataFrame)\n styler.hide(**hide)\n styler.relabel_index(**relabel_index)\n styler.format(**format)\n styler.format_index(**format_index)\n styler.to_latex(buf=buf, **render_kwargs)\n\nParameters\n----------\nbuf : str, Path or StringIO-like, optional, default None\n Buffer to write to. If None, the output is returned as a string.\nhide : dict, list of dict\n Keyword args to pass to the method call of ``Styler.hide``. If a list will\n call the method numerous times.\nrelabel_index : dict, list of dict\n Keyword args to pass to the method of ``Styler.relabel_index``. If a list\n will call the method numerous times.\nformat : dict, list of dict\n Keyword args to pass to the method call of ``Styler.format``. If a list will\n call the method numerous times.\nformat_index : dict, list of dict\n Keyword args to pass to the method call of ``Styler.format_index``. If a\n list will call the method numerous times.\nrender_kwargs : dict\n Keyword args to pass to the method call of ``Styler.to_latex``.\n\nReturns\n-------\nstr or None\n If buf is None, returns the result as a string. Otherwise returns None.\n"}, "kind": 2, "label": "_to_latex_via_styler", "sortText": "442"}, {"detail": "str", "documentation": {"kind": "plaintext", "value": "str(object='') -> str\nstr(bytes_or_buffer[, encoding[, errors]]) -> str\n\nCreate a new string object from the given object. If encoding or\nerrors is specified, then the object must expose a data buffer\nthat will be decoded using the given encoding and error handler.\nOtherwise, returns the result of object.__str__() (if defined)\nor repr(object).\nencoding defaults to 'utf-8'.\nerrors defaults to 'strict'.\n"}, "kind": 22, "label": "_typ", "sortText": "443"}, {"detail": "bound method DataFrame._update_inplace(result, verify_is_copy: bool = True) -> None", "documentation": {"kind": "plaintext", "value": "Replace self internals with result.\n\nParameters\n----------\nresult : same type as self\nverify_is_copy : bool, default True\n Provide is_copy checks.\n"}, "kind": 2, "label": "_update_inplace", "sortText": "444"}, {"detail": "bound method type[DataFrame]._validate_dtype(dtype) -> dtype[Any] | ExtensionDtype | None", "documentation": {"kind": "plaintext", "value": "validate the passed dtype\n"}, "kind": 2, "label": "_validate_dtype", "sortText": "445"}, {"detail": "ndarray[_AnyShape, dtype[Any]] | DatetimeArray | TimedeltaArray | PeriodArray", "kind": 22, "label": "_values", "sortText": "446"}, {"detail": "bound method DataFrame._where(cond, other=..., inplace: bool = False, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, level=None, warn: bool = True) -> Unknown", "documentation": {"kind": "plaintext", "value": "Equivalent to public method `where`, except that `other` is not\napplied as a function even if callable. Used in __setitem__.\n"}, "kind": 2, "label": "_where", "sortText": "447"}]}} +{"suite": "pandas", "label": "edit dataframe then complete (edit+completion)", "method": "textDocument/completion", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py", "line": 17, "character": 39, "iteration": 2, "result": {"isIncomplete": true, "items": [{"detail": "DataFrame", "documentation": {"kind": "plaintext", "value": "Two-dimensional, size-mutable, potentially heterogeneous tabular data.\n\nData structure also contains labeled axes (rows and columns).\nArithmetic operations align on both row and column labels. Can be\nthought of as a dict-like container for Series objects. The primary\npandas data structure.\n\nParameters\n----------\ndata : ndarray (structured or homogeneous), Iterable, dict, or DataFrame\n Dict can contain Series, arrays, constants, dataclass or list-like objects. If\n data is a dict, column order follows insertion-order. If a dict contains Series\n which have an index defined, it is aligned by its index. This alignment also\n occurs if data is a Series or a DataFrame itself. Alignment is done on\n Series/DataFrame inputs.\n\n If data is a list of dicts, column order follows insertion-order.\n\nindex : Index or array-like\n Index to use for resulting frame. Will default to RangeIndex if\n no indexing information part of input data and no index provided.\ncolumns : Index or array-like\n Column labels to use for resulting frame when data does not have them,\n defaulting to RangeIndex(0, 1, 2, ..., n). If data contains column labels,\n will perform column selection instead.\ndtype : dtype, default None\n Data type to force. Only a single dtype is allowed. If None, infer.\ncopy : bool or None, default None\n Copy data from inputs.\n For dict data, the default of None behaves like ``copy=True``. For DataFrame\n or 2d ndarray input, the default of None behaves like ``copy=False``.\n If data is a dict containing one or more Series (possibly of different dtypes),\n ``copy=False`` will ensure that these inputs are not copied.\n\n .. versionchanged:: 1.3.0\n\nSee Also\n--------\nDataFrame.from_records : Constructor from tuples, also record arrays.\nDataFrame.from_dict : From dicts of Series, arrays, or dicts.\nread_csv : Read a comma-separated values (csv) file into DataFrame.\nread_table : Read general delimited file into DataFrame.\nread_clipboard : Read text from clipboard into DataFrame.\n\nNotes\n-----\nPlease reference the :ref:`User Guide ` for more information.\n\nExamples\n--------\nConstructing DataFrame from a dictionary.\n\n>>> d = {'col1': [1, 2], 'col2': [3, 4]}\n>>> df = pd.DataFrame(data=d)\n>>> df\n col1 col2\n0 1 3\n1 2 4\n\nNotice that the inferred dtype is int64.\n\n>>> df.dtypes\ncol1 int64\ncol2 int64\ndtype: object\n\nTo enforce a single dtype:\n\n>>> df = pd.DataFrame(data=d, dtype=np.int8)\n>>> df.dtypes\ncol1 int8\ncol2 int8\ndtype: object\n\nConstructing DataFrame from a dictionary including Series:\n\n>>> d = {'col1': [0, 1, 2, 3], 'col2': pd.Series([2, 3], index=[2, 3])}\n>>> pd.DataFrame(data=d, index=[0, 1, 2, 3])\n col1 col2\n0 0 NaN\n1 1 NaN\n2 2 2.0\n3 3 3.0\n\nConstructing DataFrame from numpy ndarray:\n\n>>> df2 = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]),\n... columns=['a', 'b', 'c'])\n>>> df2\n a b c\n0 1 2 3\n1 4 5 6\n2 7 8 9\n\nConstructing DataFrame from a numpy ndarray that has labeled columns:\n\n>>> data = np.array([(1, 2, 3), (4, 5, 6), (7, 8, 9)],\n... dtype=[(\"a\", \"i4\"), (\"b\", \"i4\"), (\"c\", \"i4\")])\n>>> df3 = pd.DataFrame(data, columns=['c', 'a'])\n...\n>>> df3\n c a\n0 3 1\n1 6 4\n2 9 7\n\nConstructing DataFrame from dataclass:\n\n>>> from dataclasses import make_dataclass\n>>> Point = make_dataclass(\"Point\", [(\"x\", int), (\"y\", int)])\n>>> pd.DataFrame([Point(0, 0), Point(0, 3), Point(2, 3)])\n x y\n0 0 0\n1 0 3\n2 2 3\n\nConstructing DataFrame from Series/DataFrame:\n\n>>> ser = pd.Series([1, 2, 3], index=[\"a\", \"b\", \"c\"])\n>>> df = pd.DataFrame(data=ser, index=[\"a\", \"c\"])\n>>> df\n 0\na 1\nc 3\n\n>>> df1 = pd.DataFrame([1, 2, 3], index=[\"a\", \"b\", \"c\"], columns=[\"x\"])\n>>> df2 = pd.DataFrame(data=df1, index=[\"a\", \"c\"])\n>>> df2\n x\na 1\nc 3\n"}, "kind": 22, "label": "T", "sortText": " 0"}, {"detail": "bound method DataFrame.abs() -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return a Series/DataFrame with absolute numeric value of each element.\n\nThis function only applies to elements that are all numeric.\n\nReturns\n-------\nabs\n Series/DataFrame containing the absolute value of each element.\n\nSee Also\n--------\nnumpy.absolute : Calculate the absolute value element-wise.\n\nNotes\n-----\nFor ``complex`` inputs, ``1.2 + 1j``, the absolute value is\n:math:`\\sqrt{ a^2 + b^2 }`.\n\nExamples\n--------\nAbsolute numeric values in a Series.\n\n>>> s = pd.Series([-1.10, 2, -3.33, 4])\n>>> s.abs()\n0 1.10\n1 2.00\n2 3.33\n3 4.00\ndtype: float64\n\nAbsolute numeric values in a Series with complex numbers.\n\n>>> s = pd.Series([1.2 + 1j])\n>>> s.abs()\n0 1.56205\ndtype: float64\n\nAbsolute numeric values in a Series with a Timedelta element.\n\n>>> s = pd.Series([pd.Timedelta('1 days')])\n>>> s.abs()\n0 1 days\ndtype: timedelta64[ns]\n\nSelect rows with data closest to certain value using argsort (from\n`StackOverflow `__).\n\n>>> df = pd.DataFrame({\n... 'a': [4, 5, 6, 7],\n... 'b': [10, 20, 30, 40],\n... 'c': [100, 50, -30, -50]\n... })\n>>> df\n a b c\n0 4 10 100\n1 5 20 50\n2 6 30 -30\n3 7 40 -50\n>>> df.loc[(df.c - 43).abs().argsort()]\n a b c\n1 5 20 50\n0 4 10 100\n2 6 30 -30\n3 7 40 -50\n"}, "kind": 2, "label": "abs", "sortText": " 1"}, {"detail": "bound method DataFrame.add(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "add", "sortText": " 2"}, {"detail": "bound method DataFrame.add_prefix(prefix: str, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Prefix labels with string `prefix`.\n\nFor Series, the row labels are prefixed.\nFor DataFrame, the column labels are prefixed.\n\nParameters\n----------\nprefix : str\n The string to add before each label.\naxis : {0 or 'index', 1 or 'columns', None}, default None\n Axis to add prefix on\n\n .. versionadded:: 2.0.0\n\nReturns\n-------\nSeries or DataFrame\n New Series or DataFrame with updated labels.\n\nSee Also\n--------\nSeries.add_suffix: Suffix row labels with string `suffix`.\nDataFrame.add_suffix: Suffix column labels with string `suffix`.\n\nExamples\n--------\n>>> s = pd.Series([1, 2, 3, 4])\n>>> s\n0 1\n1 2\n2 3\n3 4\ndtype: int64\n\n>>> s.add_prefix('item_')\nitem_0 1\nitem_1 2\nitem_2 3\nitem_3 4\ndtype: int64\n\n>>> df = pd.DataFrame({'A': [1, 2, 3, 4], 'B': [3, 4, 5, 6]})\n>>> df\n A B\n0 1 3\n1 2 4\n2 3 5\n3 4 6\n\n>>> df.add_prefix('col_')\n col_A col_B\n0 1 3\n1 2 4\n2 3 5\n3 4 6\n"}, "kind": 2, "label": "add_prefix", "sortText": " 3"}, {"detail": "bound method DataFrame.add_suffix(suffix: str, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Suffix labels with string `suffix`.\n\nFor Series, the row labels are suffixed.\nFor DataFrame, the column labels are suffixed.\n\nParameters\n----------\nsuffix : str\n The string to add after each label.\naxis : {0 or 'index', 1 or 'columns', None}, default None\n Axis to add suffix on\n\n .. versionadded:: 2.0.0\n\nReturns\n-------\nSeries or DataFrame\n New Series or DataFrame with updated labels.\n\nSee Also\n--------\nSeries.add_prefix: Prefix row labels with string `prefix`.\nDataFrame.add_prefix: Prefix column labels with string `prefix`.\n\nExamples\n--------\n>>> s = pd.Series([1, 2, 3, 4])\n>>> s\n0 1\n1 2\n2 3\n3 4\ndtype: int64\n\n>>> s.add_suffix('_item')\n0_item 1\n1_item 2\n2_item 3\n3_item 4\ndtype: int64\n\n>>> df = pd.DataFrame({'A': [1, 2, 3, 4], 'B': [3, 4, 5, 6]})\n>>> df\n A B\n0 1 3\n1 2 4\n2 3 5\n3 4 6\n\n>>> df.add_suffix('_col')\n A_col B_col\n0 1 3\n1 2 4\n2 3 5\n3 4 6\n"}, "kind": 2, "label": "add_suffix", "sortText": " 4"}, {"detail": "(func=None, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, *args, **kwargs) -> Unknown", "kind": 2, "label": "agg", "sortText": " 5"}, {"detail": "bound method DataFrame.aggregate(func=None, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, *args, **kwargs) -> Unknown", "kind": 2, "label": "aggregate", "sortText": " 6"}, {"detail": "bound method DataFrame.align[NDFrameT](other: NDFrameT, join: Literal[\"outer\", \"inner\", \"left\", \"right\"] = \"outer\", axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, level: Hashable = None, copy: bool | None = None, fill_value: Hashable = None, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None | _NoDefault = ..., limit: int | None | _NoDefault = ..., fill_axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., broadcast_axis: int | Literal[\"index\", \"columns\", \"rows\"] | None | _NoDefault = ...) -> tuple[DataFrame, NDFrameT]", "documentation": {"kind": "plaintext", "value": "Align two objects on their axes with the specified join method.\n\nJoin method is specified for each axis Index.\n\nParameters\n----------\nother : DataFrame or Series\njoin : {{'outer', 'inner', 'left', 'right'}}, default 'outer'\n Type of alignment to be performed.\n\n * left: use only keys from left frame, preserve key order.\n * right: use only keys from right frame, preserve key order.\n * outer: use union of keys from both frames, sort keys lexicographically.\n * inner: use intersection of keys from both frames,\n preserve the order of the left keys.\n\naxis : allowed axis of the other object, default None\n Align on index (0), columns (1), or both (None).\nlevel : int or level name, default None\n Broadcast across a level, matching Index values on the\n passed MultiIndex level.\ncopy : bool, default True\n Always returns new objects. If copy=False and no reindexing is\n required then original objects are returned.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\nfill_value : scalar, default np.nan\n Value to use for missing values. Defaults to NaN, but can be any\n \"compatible\" value.\nmethod : {{'backfill', 'bfill', 'pad', 'ffill', None}}, default None\n Method to use for filling holes in reindexed Series:\n\n - pad / ffill: propagate last valid observation forward to next valid.\n - backfill / bfill: use NEXT valid observation to fill gap.\n\n .. deprecated:: 2.1\n\nlimit : int, default None\n If method is specified, this is the maximum number of consecutive\n NaN values to forward/backward fill. In other words, if there is\n a gap with more than this number of consecutive NaNs, it will only\n be partially filled. If method is not specified, this is the\n maximum number of entries along the entire axis where NaNs will be\n filled. Must be greater than 0 if not None.\n\n .. deprecated:: 2.1\n\nfill_axis : {axes_single_arg}, default 0\n Filling axis, method and limit.\n\n .. deprecated:: 2.1\n\nbroadcast_axis : {axes_single_arg}, default None\n Broadcast values along this axis, if aligning two objects of\n different dimensions.\n\n .. deprecated:: 2.1\n\nReturns\n-------\ntuple of ({klass}, type of other)\n Aligned objects.\n\nExamples\n--------\n>>> df = pd.DataFrame(\n... [[1, 2, 3, 4], [6, 7, 8, 9]], columns=[\"D\", \"B\", \"E\", \"A\"], index=[1, 2]\n... )\n>>> other = pd.DataFrame(\n... [[10, 20, 30, 40], [60, 70, 80, 90], [600, 700, 800, 900]],\n... columns=[\"A\", \"B\", \"C\", \"D\"],\n... index=[2, 3, 4],\n... )\n>>> df\n D B E A\n1 1 2 3 4\n2 6 7 8 9\n>>> other\n A B C D\n2 10 20 30 40\n3 60 70 80 90\n4 600 700 800 900\n\nAlign on columns:\n\n>>> left, right = df.align(other, join=\"outer\", axis=1)\n>>> left\n A B C D E\n1 4 2 NaN 1 3\n2 9 7 NaN 6 8\n>>> right\n A B C D E\n2 10 20 30 40 NaN\n3 60 70 80 90 NaN\n4 600 700 800 900 NaN\n\nWe can also align on the index:\n\n>>> left, right = df.align(other, join=\"outer\", axis=0)\n>>> left\n D B E A\n1 1.0 2.0 3.0 4.0\n2 6.0 7.0 8.0 9.0\n3 NaN NaN NaN NaN\n4 NaN NaN NaN NaN\n>>> right\n A B C D\n1 NaN NaN NaN NaN\n2 10.0 20.0 30.0 40.0\n3 60.0 70.0 80.0 90.0\n4 600.0 700.0 800.0 900.0\n\nFinally, the default `axis=None` will align on both index and columns:\n\n>>> left, right = df.align(other, join=\"outer\", axis=None)\n>>> left\n A B C D E\n1 4.0 2.0 NaN 1.0 3.0\n2 9.0 7.0 NaN 6.0 8.0\n3 NaN NaN NaN NaN NaN\n4 NaN NaN NaN NaN NaN\n>>> right\n A B C D E\n1 NaN NaN NaN NaN NaN\n2 10.0 20.0 30.0 40.0 NaN\n3 60.0 70.0 80.0 90.0 NaN\n4 600.0 700.0 800.0 900.0 NaN\n"}, "kind": 2, "label": "align", "sortText": " 7"}, {"detail": "bound method DataFrame.all(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, bool_only: bool = False, skipna: bool = True, **kwargs) -> Series | bool", "kind": 2, "label": "all", "sortText": " 8"}, {"detail": "bound method DataFrame.any(*, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, bool_only: bool = False, skipna: bool = True, **kwargs) -> Series | bool", "kind": 2, "label": "any", "sortText": " 9"}, {"detail": "bound method DataFrame.apply(func: ((...) -> Unknown) | str | list[((...) -> Unknown) | str] | MutableMapping[Hashable, ((...) -> Unknown) | str | list[((...) -> Unknown) | str]], axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, raw: bool = False, result_type: Literal[\"expand\", \"reduce\", \"broadcast\"] | None = None, args=..., by_row: Literal[False, \"compat\"] = \"compat\", engine: Literal[\"python\", \"numba\"] = \"python\", engine_kwargs: dict[str, bool] | None = None, **kwargs) -> Unknown", "documentation": {"kind": "plaintext", "value": "Apply a function along an axis of the DataFrame.\n\nObjects passed to the function are Series objects whose index is\neither the DataFrame's index (``axis=0``) or the DataFrame's columns\n(``axis=1``). By default (``result_type=None``), the final return type\nis inferred from the return type of the applied function. Otherwise,\nit depends on the `result_type` argument.\n\nParameters\n----------\nfunc : function\n Function to apply to each column or row.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Axis along which the function is applied:\n\n * 0 or 'index': apply function to each column.\n * 1 or 'columns': apply function to each row.\n\nraw : bool, default False\n Determines if row or column is passed as a Series or ndarray object:\n\n * ``False`` : passes each row or column as a Series to the\n function.\n * ``True`` : the passed function will receive ndarray objects\n instead.\n If you are just applying a NumPy reduction function this will\n achieve much better performance.\n\nresult_type : {'expand', 'reduce', 'broadcast', None}, default None\n These only act when ``axis=1`` (columns):\n\n * 'expand' : list-like results will be turned into columns.\n * 'reduce' : returns a Series if possible rather than expanding\n list-like results. This is the opposite of 'expand'.\n * 'broadcast' : results will be broadcast to the original shape\n of the DataFrame, the original index and columns will be\n retained.\n\n The default behaviour (None) depends on the return value of the\n applied function: list-like results will be returned as a Series\n of those. However if the apply function returns a Series these\n are expanded to columns.\nargs : tuple\n Positional arguments to pass to `func` in addition to the\n array/series.\nby_row : False or \"compat\", default \"compat\"\n Only has an effect when ``func`` is a listlike or dictlike of funcs\n and the func isn't a string.\n If \"compat\", will if possible first translate the func into pandas\n methods (e.g. ``Series().apply(np.sum)`` will be translated to\n ``Series().sum()``). If that doesn't work, will try call to apply again with\n ``by_row=True`` and if that fails, will call apply again with\n ``by_row=False`` (backward compatible).\n If False, the funcs will be passed the whole Series at once.\n\n .. versionadded:: 2.1.0\n\nengine : {'python', 'numba'}, default 'python'\n Choose between the python (default) engine or the numba engine in apply.\n\n The numba engine will attempt to JIT compile the passed function,\n which may result in speedups for large DataFrames.\n It also supports the following engine_kwargs :\n\n - nopython (compile the function in nopython mode)\n - nogil (release the GIL inside the JIT compiled function)\n - parallel (try to apply the function in parallel over the DataFrame)\n\n Note: Due to limitations within numba/how pandas interfaces with numba,\n you should only use this if raw=True\n\n Note: The numba compiler only supports a subset of\n valid Python/numpy operations.\n\n Please read more about the `supported python features\n `_\n and `supported numpy features\n `_\n in numba to learn what you can or cannot use in the passed function.\n\n .. versionadded:: 2.2.0\n\nengine_kwargs : dict\n Pass keyword arguments to the engine.\n This is currently only used by the numba engine,\n see the documentation for the engine argument for more information.\n**kwargs\n Additional keyword arguments to pass as keywords arguments to\n `func`.\n\nReturns\n-------\nSeries or DataFrame\n Result of applying ``func`` along the given axis of the\n DataFrame.\n\nSee Also\n--------\nDataFrame.map: For elementwise operations.\nDataFrame.aggregate: Only perform aggregating type operations.\nDataFrame.transform: Only perform transforming type operations.\n\nNotes\n-----\nFunctions that mutate the passed object can produce unexpected\nbehavior or errors and are not supported. See :ref:`gotchas.udf-mutation`\nfor more details.\n\nExamples\n--------\n>>> df = pd.DataFrame([[4, 9]] * 3, columns=['A', 'B'])\n>>> df\n A B\n0 4 9\n1 4 9\n2 4 9\n\nUsing a numpy universal function (in this case the same as\n``np.sqrt(df)``):\n\n>>> df.apply(np.sqrt)\n A B\n0 2.0 3.0\n1 2.0 3.0\n2 2.0 3.0\n\nUsing a reducing function on either axis\n\n>>> df.apply(np.sum, axis=0)\nA 12\nB 27\ndtype: int64\n\n>>> df.apply(np.sum, axis=1)\n0 13\n1 13\n2 13\ndtype: int64\n\nReturning a list-like will result in a Series\n\n>>> df.apply(lambda x: [1, 2], axis=1)\n0 [1, 2]\n1 [1, 2]\n2 [1, 2]\ndtype: object\n\nPassing ``result_type='expand'`` will expand list-like results\nto columns of a Dataframe\n\n>>> df.apply(lambda x: [1, 2], axis=1, result_type='expand')\n 0 1\n0 1 2\n1 1 2\n2 1 2\n\nReturning a Series inside the function is similar to passing\n``result_type='expand'``. The resulting column names\nwill be the Series index.\n\n>>> df.apply(lambda x: pd.Series([1, 2], index=['foo', 'bar']), axis=1)\n foo bar\n0 1 2\n1 1 2\n2 1 2\n\nPassing ``result_type='broadcast'`` will ensure the same shape\nresult, whether list-like or scalar is returned by the function,\nand broadcast it along the axis. The resulting column names will\nbe the originals.\n\n>>> df.apply(lambda x: [1, 2], axis=1, result_type='broadcast')\n A B\n0 1 2\n1 1 2\n2 1 2\n"}, "kind": 2, "label": "apply", "sortText": " 10"}, {"detail": "bound method DataFrame.applymap(func: (Any, /) -> Any, na_action: Literal[\"ignore\"] | None = None, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Apply a function to a Dataframe elementwise.\n\n.. deprecated:: 2.1.0\n\n DataFrame.applymap has been deprecated. Use DataFrame.map instead.\n\nThis method applies a function that accepts and returns a scalar\nto every element of a DataFrame.\n\nParameters\n----------\nfunc : callable\n Python function, returns a single value from a single value.\nna_action : {None, 'ignore'}, default None\n If 'ignore', propagate NaN values, without passing them to func.\n**kwargs\n Additional keyword arguments to pass as keywords arguments to\n `func`.\n\nReturns\n-------\nDataFrame\n Transformed DataFrame.\n\nSee Also\n--------\nDataFrame.apply : Apply a function along input axis of DataFrame.\nDataFrame.map : Apply a function along input axis of DataFrame.\nDataFrame.replace: Replace values given in `to_replace` with `value`.\n\nExamples\n--------\n>>> df = pd.DataFrame([[1, 2.12], [3.356, 4.567]])\n>>> df\n 0 1\n0 1.000 2.120\n1 3.356 4.567\n\n>>> df.map(lambda x: len(str(x)))\n 0 1\n0 3 4\n1 5 5\n"}, "kind": 2, "label": "applymap", "sortText": " 11"}, {"detail": "bound method DataFrame.asfreq(freq: str | BaseOffset, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None = None, how: Literal[\"start\", \"end\"] | None = None, normalize: bool = False, fill_value: Hashable = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Convert time series to specified frequency.\n\nReturns the original data conformed to a new index with the specified\nfrequency.\n\nIf the index of this {klass} is a :class:`~pandas.PeriodIndex`, the new index\nis the result of transforming the original index with\n:meth:`PeriodIndex.asfreq ` (so the original index\nwill map one-to-one to the new index).\n\nOtherwise, the new index will be equivalent to ``pd.date_range(start, end,\nfreq=freq)`` where ``start`` and ``end`` are, respectively, the first and\nlast entries in the original index (see :func:`pandas.date_range`). The\nvalues corresponding to any timesteps in the new index which were not present\nin the original index will be null (``NaN``), unless a method for filling\nsuch unknowns is provided (see the ``method`` parameter below).\n\nThe :meth:`resample` method is more appropriate if an operation on each group of\ntimesteps (such as an aggregate) is necessary to represent the data at the new\nfrequency.\n\nParameters\n----------\nfreq : DateOffset or str\n Frequency DateOffset or string.\nmethod : {{'backfill'/'bfill', 'pad'/'ffill'}}, default None\n Method to use for filling holes in reindexed Series (note this\n does not fill NaNs that already were present):\n\n * 'pad' / 'ffill': propagate last valid observation forward to next\n valid\n * 'backfill' / 'bfill': use NEXT valid observation to fill.\nhow : {{'start', 'end'}}, default end\n For PeriodIndex only (see PeriodIndex.asfreq).\nnormalize : bool, default False\n Whether to reset output index to midnight.\nfill_value : scalar, optional\n Value to use for missing values, applied during upsampling (note\n this does not fill NaNs that already were present).\n\nReturns\n-------\n{klass}\n {klass} object reindexed to the specified frequency.\n\nSee Also\n--------\nreindex : Conform DataFrame to new index with optional filling logic.\n\nNotes\n-----\nTo learn more about the frequency strings, please see `this link\n`__.\n\nExamples\n--------\nStart by creating a series with 4 one minute timestamps.\n\n>>> index = pd.date_range('1/1/2000', periods=4, freq='min')\n>>> series = pd.Series([0.0, None, 2.0, 3.0], index=index)\n>>> df = pd.DataFrame({{'s': series}})\n>>> df\n s\n2000-01-01 00:00:00 0.0\n2000-01-01 00:01:00 NaN\n2000-01-01 00:02:00 2.0\n2000-01-01 00:03:00 3.0\n\nUpsample the series into 30 second bins.\n\n>>> df.asfreq(freq='30s')\n s\n2000-01-01 00:00:00 0.0\n2000-01-01 00:00:30 NaN\n2000-01-01 00:01:00 NaN\n2000-01-01 00:01:30 NaN\n2000-01-01 00:02:00 2.0\n2000-01-01 00:02:30 NaN\n2000-01-01 00:03:00 3.0\n\nUpsample again, providing a ``fill value``.\n\n>>> df.asfreq(freq='30s', fill_value=9.0)\n s\n2000-01-01 00:00:00 0.0\n2000-01-01 00:00:30 9.0\n2000-01-01 00:01:00 NaN\n2000-01-01 00:01:30 9.0\n2000-01-01 00:02:00 2.0\n2000-01-01 00:02:30 9.0\n2000-01-01 00:03:00 3.0\n\nUpsample again, providing a ``method``.\n\n>>> df.asfreq(freq='30s', method='bfill')\n s\n2000-01-01 00:00:00 0.0\n2000-01-01 00:00:30 NaN\n2000-01-01 00:01:00 NaN\n2000-01-01 00:01:30 2.0\n2000-01-01 00:02:00 2.0\n2000-01-01 00:02:30 3.0\n2000-01-01 00:03:00 3.0\n"}, "kind": 2, "label": "asfreq", "sortText": " 12"}, {"detail": "bound method DataFrame.asof(where, subset=None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Return the last row(s) without any NaNs before `where`.\n\nThe last row (for each element in `where`, if list) without any\nNaN is taken.\nIn case of a :class:`~pandas.DataFrame`, the last row without NaN\nconsidering only the subset of columns (if not `None`)\n\nIf there is no good value, NaN is returned for a Series or\na Series of NaN values for a DataFrame\n\nParameters\n----------\nwhere : date or array-like of dates\n Date(s) before which the last row(s) are returned.\nsubset : str or array-like of str, default `None`\n For DataFrame, if not `None`, only use these columns to\n check for NaNs.\n\nReturns\n-------\nscalar, Series, or DataFrame\n\n The return can be:\n\n * scalar : when `self` is a Series and `where` is a scalar\n * Series: when `self` is a Series and `where` is an array-like,\n or when `self` is a DataFrame and `where` is a scalar\n * DataFrame : when `self` is a DataFrame and `where` is an\n array-like\n\nSee Also\n--------\nmerge_asof : Perform an asof merge. Similar to left join.\n\nNotes\n-----\nDates are assumed to be sorted. Raises if this is not the case.\n\nExamples\n--------\nA Series and a scalar `where`.\n\n>>> s = pd.Series([1, 2, np.nan, 4], index=[10, 20, 30, 40])\n>>> s\n10 1.0\n20 2.0\n30 NaN\n40 4.0\ndtype: float64\n\n>>> s.asof(20)\n2.0\n\nFor a sequence `where`, a Series is returned. The first value is\nNaN, because the first element of `where` is before the first\nindex value.\n\n>>> s.asof([5, 20])\n5 NaN\n20 2.0\ndtype: float64\n\nMissing values are not considered. The following is ``2.0``, not\nNaN, even though NaN is at the index location for ``30``.\n\n>>> s.asof(30)\n2.0\n\nTake all columns into consideration\n\n>>> df = pd.DataFrame({'a': [10., 20., 30., 40., 50.],\n... 'b': [None, None, None, None, 500]},\n... index=pd.DatetimeIndex(['2018-02-27 09:01:00',\n... '2018-02-27 09:02:00',\n... '2018-02-27 09:03:00',\n... '2018-02-27 09:04:00',\n... '2018-02-27 09:05:00']))\n>>> df.asof(pd.DatetimeIndex(['2018-02-27 09:03:30',\n... '2018-02-27 09:04:30']))\n a b\n2018-02-27 09:03:30 NaN NaN\n2018-02-27 09:04:30 NaN NaN\n\nTake a single column into consideration\n\n>>> df.asof(pd.DatetimeIndex(['2018-02-27 09:03:30',\n... '2018-02-27 09:04:30']),\n... subset=['a'])\n a b\n2018-02-27 09:03:30 30.0 NaN\n2018-02-27 09:04:30 40.0 NaN\n"}, "kind": 2, "label": "asof", "sortText": " 13"}, {"detail": "bound method DataFrame.assign(**kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Assign new columns to a DataFrame.\n\nReturns a new object with all original columns in addition to new ones.\nExisting columns that are re-assigned will be overwritten.\n\nParameters\n----------\n**kwargs : dict of {str: callable or Series}\n The column names are keywords. If the values are\n callable, they are computed on the DataFrame and\n assigned to the new columns. The callable must not\n change input DataFrame (though pandas doesn't check it).\n If the values are not callable, (e.g. a Series, scalar, or array),\n they are simply assigned.\n\nReturns\n-------\nDataFrame\n A new DataFrame with the new columns in addition to\n all the existing columns.\n\nNotes\n-----\nAssigning multiple columns within the same ``assign`` is possible.\nLater items in '\\*\\*kwargs' may refer to newly created or modified\ncolumns in 'df'; items are computed and assigned into 'df' in order.\n\nExamples\n--------\n>>> df = pd.DataFrame({'temp_c': [17.0, 25.0]},\n... index=['Portland', 'Berkeley'])\n>>> df\n temp_c\nPortland 17.0\nBerkeley 25.0\n\nWhere the value is a callable, evaluated on `df`:\n\n>>> df.assign(temp_f=lambda x: x.temp_c * 9 / 5 + 32)\n temp_c temp_f\nPortland 17.0 62.6\nBerkeley 25.0 77.0\n\nAlternatively, the same behavior can be achieved by directly\nreferencing an existing Series or sequence:\n\n>>> df.assign(temp_f=df['temp_c'] * 9 / 5 + 32)\n temp_c temp_f\nPortland 17.0 62.6\nBerkeley 25.0 77.0\n\nYou can create multiple columns within the same assign where one\nof the columns depends on another one defined within the same assign:\n\n>>> df.assign(temp_f=lambda x: x['temp_c'] * 9 / 5 + 32,\n... temp_k=lambda x: (x['temp_f'] + 459.67) * 5 / 9)\n temp_c temp_f temp_k\nPortland 17.0 62.6 290.15\nBerkeley 25.0 77.0 298.15\n"}, "kind": 2, "label": "assign", "sortText": " 14"}, {"detail": "bound method DataFrame.astype(dtype, copy: bool | None = None, errors: Literal[\"ignore\", \"raise\"] = \"raise\") -> DataFrame", "documentation": {"kind": "plaintext", "value": "Cast a pandas object to a specified dtype ``dtype``.\n\nParameters\n----------\ndtype : str, data type, Series or Mapping of column name -> data type\n Use a str, numpy.dtype, pandas.ExtensionDtype or Python type to\n cast entire pandas object to the same type. Alternatively, use a\n mapping, e.g. {col: dtype, ...}, where col is a column label and dtype is\n a numpy.dtype or Python type to cast one or more of the DataFrame's\n columns to column-specific types.\ncopy : bool, default True\n Return a copy when ``copy=True`` (be very careful setting\n ``copy=False`` as changes to values then may propagate to other\n pandas objects).\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\nerrors : {'raise', 'ignore'}, default 'raise'\n Control raising of exceptions on invalid data for provided dtype.\n\n - ``raise`` : allow exceptions to be raised\n - ``ignore`` : suppress exceptions. On error return original object.\n\nReturns\n-------\nsame type as caller\n\nSee Also\n--------\nto_datetime : Convert argument to datetime.\nto_timedelta : Convert argument to timedelta.\nto_numeric : Convert argument to a numeric type.\nnumpy.ndarray.astype : Cast a numpy array to a specified type.\n\nNotes\n-----\n.. versionchanged:: 2.0.0\n\n Using ``astype`` to convert from timezone-naive dtype to\n timezone-aware dtype will raise an exception.\n Use :meth:`Series.dt.tz_localize` instead.\n\nExamples\n--------\nCreate a DataFrame:\n\n>>> d = {'col1': [1, 2], 'col2': [3, 4]}\n>>> df = pd.DataFrame(data=d)\n>>> df.dtypes\ncol1 int64\ncol2 int64\ndtype: object\n\nCast all columns to int32:\n\n>>> df.astype('int32').dtypes\ncol1 int32\ncol2 int32\ndtype: object\n\nCast col1 to int32 using a dictionary:\n\n>>> df.astype({'col1': 'int32'}).dtypes\ncol1 int32\ncol2 int64\ndtype: object\n\nCreate a series:\n\n>>> ser = pd.Series([1, 2], dtype='int32')\n>>> ser\n0 1\n1 2\ndtype: int32\n>>> ser.astype('int64')\n0 1\n1 2\ndtype: int64\n\nConvert to categorical type:\n\n>>> ser.astype('category')\n0 1\n1 2\ndtype: category\nCategories (2, int32): [1, 2]\n\nConvert to ordered categorical type with custom ordering:\n\n>>> from pandas.api.types import CategoricalDtype\n>>> cat_dtype = CategoricalDtype(\n... categories=[2, 1], ordered=True)\n>>> ser.astype(cat_dtype)\n0 1\n1 2\ndtype: category\nCategories (2, int64): [2 < 1]\n\nCreate a series of dates:\n\n>>> ser_date = pd.Series(pd.date_range('20200101', periods=3))\n>>> ser_date\n0 2020-01-01\n1 2020-01-02\n2 2020-01-03\ndtype: datetime64[ns]\n"}, "kind": 2, "label": "astype", "sortText": " 15"}, {"detail": "_AtIndexer", "kind": 22, "label": "at", "sortText": " 16"}, {"detail": "bound method DataFrame.at_time(time, asof: bool = False, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Select values at particular time of day (e.g., 9:30AM).\n\nParameters\n----------\ntime : datetime.time or str\n The values to select.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n For `Series` this parameter is unused and defaults to 0.\n\nReturns\n-------\nSeries or DataFrame\n\nRaises\n------\nTypeError\n If the index is not a :class:`DatetimeIndex`\n\nSee Also\n--------\nbetween_time : Select values between particular times of the day.\nfirst : Select initial periods of time series based on a date offset.\nlast : Select final periods of time series based on a date offset.\nDatetimeIndex.indexer_at_time : Get just the index locations for\n values at particular time of the day.\n\nExamples\n--------\n>>> i = pd.date_range('2018-04-09', periods=4, freq='12h')\n>>> ts = pd.DataFrame({'A': [1, 2, 3, 4]}, index=i)\n>>> ts\n A\n2018-04-09 00:00:00 1\n2018-04-09 12:00:00 2\n2018-04-10 00:00:00 3\n2018-04-10 12:00:00 4\n\n>>> ts.at_time('12:00')\n A\n2018-04-09 12:00:00 2\n2018-04-10 12:00:00 4\n"}, "kind": 2, "label": "at_time", "sortText": " 17"}, {"detail": "dict[Hashable, Any]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "attrs", "sortText": " 18"}, {"detail": "list[Index]", "documentation": {"kind": "plaintext", "value": "Built-in mutable sequence.\n\nIf no argument is given, the constructor creates a new empty list.\nThe argument must be an iterable if specified.\n"}, "kind": 22, "label": "axes", "sortText": " 19"}, {"detail": "bound method DataFrame.backfill(*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = None, inplace: bool = False, limit: None | int = None, downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame | None", "documentation": {"kind": "plaintext", "value": "Fill NA/NaN values by using the next valid observation to fill the gap.\n\n.. deprecated:: 2.0\n\n {klass}.backfill is deprecated. Use {klass}.bfill instead.\n\nReturns\n-------\n{klass} or None\n Object with missing values filled or None if ``inplace=True``.\n\nExamples\n--------\nPlease see examples for :meth:`DataFrame.bfill` or :meth:`Series.bfill`.\n"}, "kind": 2, "label": "backfill", "sortText": " 20"}, {"detail": "bound method DataFrame.between_time(start_time, end_time, inclusive: Literal[\"left\", \"right\", \"both\", \"neither\"] = \"both\", axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Select values between particular times of the day (e.g., 9:00-9:30 AM).\n\nBy setting ``start_time`` to be later than ``end_time``,\nyou can get the times that are *not* between the two times.\n\nParameters\n----------\nstart_time : datetime.time or str\n Initial time as a time filter limit.\nend_time : datetime.time or str\n End time as a time filter limit.\ninclusive : {\"both\", \"neither\", \"left\", \"right\"}, default \"both\"\n Include boundaries; whether to set each bound as closed or open.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Determine range time on index or columns value.\n For `Series` this parameter is unused and defaults to 0.\n\nReturns\n-------\nSeries or DataFrame\n Data from the original object filtered to the specified dates range.\n\nRaises\n------\nTypeError\n If the index is not a :class:`DatetimeIndex`\n\nSee Also\n--------\nat_time : Select values at a particular time of the day.\nfirst : Select initial periods of time series based on a date offset.\nlast : Select final periods of time series based on a date offset.\nDatetimeIndex.indexer_between_time : Get just the index locations for\n values between particular times of the day.\n\nExamples\n--------\n>>> i = pd.date_range('2018-04-09', periods=4, freq='1D20min')\n>>> ts = pd.DataFrame({'A': [1, 2, 3, 4]}, index=i)\n>>> ts\n A\n2018-04-09 00:00:00 1\n2018-04-10 00:20:00 2\n2018-04-11 00:40:00 3\n2018-04-12 01:00:00 4\n\n>>> ts.between_time('0:15', '0:45')\n A\n2018-04-10 00:20:00 2\n2018-04-11 00:40:00 3\n\nYou get the times that are *not* between two times by setting\n``start_time`` later than ``end_time``:\n\n>>> ts.between_time('0:45', '0:15')\n A\n2018-04-09 00:00:00 1\n2018-04-12 01:00:00 4\n"}, "kind": 2, "label": "between_time", "sortText": " 21"}, {"detail": "Overload[(*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: Literal[False] = ..., limit: None | int = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame, (*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: Literal[True], limit: None | int = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> None, (*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: bool = ..., limit: None | int = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Fill NA/NaN values by using the next valid observation to fill the gap.\n\nParameters\n----------\naxis : {axes_single_arg}\n Axis along which to fill missing values. For `Series`\n this parameter is unused and defaults to 0.\ninplace : bool, default False\n If True, fill in-place. Note: this will modify any\n other views on this object (e.g., a no-copy slice for a column in a\n DataFrame).\nlimit : int, default None\n If method is specified, this is the maximum number of consecutive\n NaN values to forward/backward fill. In other words, if there is\n a gap with more than this number of consecutive NaNs, it will only\n be partially filled. If method is not specified, this is the\n maximum number of entries along the entire axis where NaNs will be\n filled. Must be greater than 0 if not None.\nlimit_area : {{`None`, 'inside', 'outside'}}, default None\n If limit is specified, consecutive NaNs will be filled with this\n restriction.\n\n * ``None``: No fill restriction.\n * 'inside': Only fill NaNs surrounded by valid values\n (interpolate).\n * 'outside': Only fill NaNs outside valid values (extrapolate).\n\n .. versionadded:: 2.2.0\n\ndowncast : dict, default is None\n A dict of item->dtype of what to downcast if possible,\n or the string 'infer' which will try to downcast to an appropriate\n equal type (e.g. float64 to int64 if possible).\n\n .. deprecated:: 2.2.0\n\nReturns\n-------\n{klass} or None\n Object with missing values filled or None if ``inplace=True``.\n\nExamples\n--------\nFor Series:\n\n>>> s = pd.Series([1, None, None, 2])\n>>> s.bfill()\n0 1.0\n1 2.0\n2 2.0\n3 2.0\ndtype: float64\n>>> s.bfill(limit=1)\n0 1.0\n1 NaN\n2 2.0\n3 2.0\ndtype: float64\n\nWith DataFrame:\n\n>>> df = pd.DataFrame({{'A': [1, None, None, 4], 'B': [None, 5, None, 7]}})\n>>> df\n A B\n0 1.0 NaN\n1 NaN 5.0\n2 NaN NaN\n3 4.0 7.0\n>>> df.bfill()\n A B\n0 1.0 5.0\n1 4.0 5.0\n2 4.0 7.0\n3 4.0 7.0\n>>> df.bfill(limit=1)\n A B\n0 1.0 5.0\n1 NaN 5.0\n2 4.0 7.0\n3 4.0 7.0\n"}, "kind": 2, "label": "bfill", "sortText": " 22"}, {"detail": "bound method DataFrame.bool() -> bool", "documentation": {"kind": "plaintext", "value": "Return the bool of a single element Series or DataFrame.\n\n.. deprecated:: 2.1.0\n\n bool is deprecated and will be removed in future version of pandas.\n For ``Series`` use ``pandas.Series.item``.\n\nThis must be a boolean scalar value, either True or False. It will raise a\nValueError if the Series or DataFrame does not have exactly 1 element, or that\nelement is not boolean (integer values 0 and 1 will also raise an exception).\n\nReturns\n-------\nbool\n The value in the Series or DataFrame.\n\nSee Also\n--------\nSeries.astype : Change the data type of a Series, including to boolean.\nDataFrame.astype : Change the data type of a DataFrame, including to boolean.\nnumpy.bool_ : NumPy boolean data type, used by pandas for boolean values.\n\nExamples\n--------\nThe method will only work for single element objects with a boolean value:\n\n>>> pd.Series([True]).bool() # doctest: +SKIP\nTrue\n>>> pd.Series([False]).bool() # doctest: +SKIP\nFalse\n\n>>> pd.DataFrame({'col': [True]}).bool() # doctest: +SKIP\nTrue\n>>> pd.DataFrame({'col': [False]}).bool() # doctest: +SKIP\nFalse\n\nThis is an alternative method and will only work\nfor single element objects with a boolean value:\n\n>>> pd.Series([True]).item() # doctest: +SKIP\nTrue\n>>> pd.Series([False]).item() # doctest: +SKIP\nFalse\n"}, "kind": 2, "label": "bool", "sortText": " 23"}, {"detail": "(column=None, by=None, ax=None, fontsize: int | None = None, rot: int = 0, grid: bool = True, figsize: tuple[float, float] | None = None, layout=None, return_type=None, backend=None, **kwargs) -> Unknown", "kind": 2, "label": "boxplot", "sortText": " 24"}, {"detail": "Overload[(lower=..., upper=..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: Literal[False] = ..., **kwargs) -> DataFrame, (lower=..., upper=..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: Literal[True], **kwargs) -> None, (lower=..., upper=..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: bool = ..., **kwargs) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Trim values at input threshold(s).\n\nAssigns values outside boundary to boundary values. Thresholds\ncan be singular values or array like, and in the latter case\nthe clipping is performed element-wise in the specified axis.\n\nParameters\n----------\nlower : float or array-like, default None\n Minimum threshold value. All values below this\n threshold will be set to it. A missing\n threshold (e.g `NA`) will not clip the value.\nupper : float or array-like, default None\n Maximum threshold value. All values above this\n threshold will be set to it. A missing\n threshold (e.g `NA`) will not clip the value.\naxis : {{0 or 'index', 1 or 'columns', None}}, default None\n Align object with lower and upper along the given axis.\n For `Series` this parameter is unused and defaults to `None`.\ninplace : bool, default False\n Whether to perform the operation in place on the data.\n*args, **kwargs\n Additional keywords have no effect but might be accepted\n for compatibility with numpy.\n\nReturns\n-------\nSeries or DataFrame or None\n Same type as calling object with the values outside the\n clip boundaries replaced or None if ``inplace=True``.\n\nSee Also\n--------\nSeries.clip : Trim values at input threshold in series.\nDataFrame.clip : Trim values at input threshold in dataframe.\nnumpy.clip : Clip (limit) the values in an array.\n\nExamples\n--------\n>>> data = {'col_0': [9, -3, 0, -1, 5], 'col_1': [-2, -7, 6, 8, -5]}\n>>> df = pd.DataFrame(data)\n>>> df\n col_0 col_1\n0 9 -2\n1 -3 -7\n2 0 6\n3 -1 8\n4 5 -5\n\nClips per column using lower and upper thresholds:\n\n>>> df.clip(-4, 6)\n col_0 col_1\n0 6 -2\n1 -3 -4\n2 0 6\n3 -1 6\n4 5 -4\n\nClips using specific lower and upper thresholds per column:\n\n>>> df.clip([-2, -1], [4, 5])\n col_0 col_1\n0 4 -1\n1 -2 -1\n2 0 5\n3 -1 5\n4 4 -1\n\nClips using specific lower and upper thresholds per column element:\n\n>>> t = pd.Series([2, -4, -1, 6, 3])\n>>> t\n0 2\n1 -4\n2 -1\n3 6\n4 3\ndtype: int64\n\n>>> df.clip(t, t + 4, axis=0)\n col_0 col_1\n0 6 2\n1 -3 -4\n2 0 3\n3 6 8\n4 5 3\n\nClips using specific lower threshold per column element, with missing values:\n\n>>> t = pd.Series([2, -4, np.nan, 6, 3])\n>>> t\n0 2.0\n1 -4.0\n2 NaN\n3 6.0\n4 3.0\ndtype: float64\n\n>>> df.clip(t, axis=0)\ncol_0 col_1\n0 9 2\n1 -3 -4\n2 0 6\n3 6 8\n4 5 3\n"}, "kind": 2, "label": "clip", "sortText": " 25"}, {"detail": "Index", "documentation": {"kind": "plaintext", "value": "Immutable sequence used for indexing and alignment.\n\nThe basic object storing axis labels for all pandas objects.\n\n.. versionchanged:: 2.0.0\n\n Index can hold all numpy numeric dtypes (except float16). Previously only\n int64/uint64/float64 dtypes were accepted.\n\nParameters\n----------\ndata : array-like (1-dimensional)\ndtype : str, numpy.dtype, or ExtensionDtype, optional\n Data type for the output Index. If not specified, this will be\n inferred from `data`.\n See the :ref:`user guide ` for more usages.\ncopy : bool, default False\n Copy input data.\nname : object\n Name to be stored in the index.\ntupleize_cols : bool (default: True)\n When True, attempt to create a MultiIndex if possible.\n\nSee Also\n--------\nRangeIndex : Index implementing a monotonic integer range.\nCategoricalIndex : Index of :class:`Categorical` s.\nMultiIndex : A multi-level, or hierarchical Index.\nIntervalIndex : An Index of :class:`Interval` s.\nDatetimeIndex : Index of datetime64 data.\nTimedeltaIndex : Index of timedelta64 data.\nPeriodIndex : Index of Period data.\n\nNotes\n-----\nAn Index instance can **only** contain hashable objects.\nAn Index instance *can not* hold numpy float16 dtype.\n\nExamples\n--------\n>>> pd.Index([1, 2, 3])\nIndex([1, 2, 3], dtype='int64')\n\n>>> pd.Index(list('abc'))\nIndex(['a', 'b', 'c'], dtype='object')\n\n>>> pd.Index([1, 2, 3], dtype=\"uint8\")\nIndex([1, 2, 3], dtype='uint8')\n"}, "kind": 22, "label": "columns", "sortText": " 26"}, {"detail": "bound method DataFrame.combine(other: DataFrame, func: (Series, Series, /) -> Series | Hashable, fill_value=None, overwrite: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Perform column-wise combine with another DataFrame.\n\nCombines a DataFrame with `other` DataFrame using `func`\nto element-wise combine columns. The row and column indexes of the\nresulting DataFrame will be the union of the two.\n\nParameters\n----------\nother : DataFrame\n The DataFrame to merge column-wise.\nfunc : function\n Function that takes two series as inputs and return a Series or a\n scalar. Used to merge the two dataframes column by columns.\nfill_value : scalar value, default None\n The value to fill NaNs with prior to passing any column to the\n merge func.\noverwrite : bool, default True\n If True, columns in `self` that do not exist in `other` will be\n overwritten with NaNs.\n\nReturns\n-------\nDataFrame\n Combination of the provided DataFrames.\n\nSee Also\n--------\nDataFrame.combine_first : Combine two DataFrame objects and default to\n non-null values in frame calling the method.\n\nExamples\n--------\nCombine using a simple function that chooses the smaller column.\n\n>>> df1 = pd.DataFrame({'A': [0, 0], 'B': [4, 4]})\n>>> df2 = pd.DataFrame({'A': [1, 1], 'B': [3, 3]})\n>>> take_smaller = lambda s1, s2: s1 if s1.sum() < s2.sum() else s2\n>>> df1.combine(df2, take_smaller)\n A B\n0 0 3\n1 0 3\n\nExample using a true element-wise combine function.\n\n>>> df1 = pd.DataFrame({'A': [5, 0], 'B': [2, 4]})\n>>> df2 = pd.DataFrame({'A': [1, 1], 'B': [3, 3]})\n>>> df1.combine(df2, np.minimum)\n A B\n0 1 2\n1 0 3\n\nUsing `fill_value` fills Nones prior to passing the column to the\nmerge function.\n\n>>> df1 = pd.DataFrame({'A': [0, 0], 'B': [None, 4]})\n>>> df2 = pd.DataFrame({'A': [1, 1], 'B': [3, 3]})\n>>> df1.combine(df2, take_smaller, fill_value=-5)\n A B\n0 0 -5.0\n1 0 4.0\n\nHowever, if the same element in both dataframes is None, that None\nis preserved\n\n>>> df1 = pd.DataFrame({'A': [0, 0], 'B': [None, 4]})\n>>> df2 = pd.DataFrame({'A': [1, 1], 'B': [None, 3]})\n>>> df1.combine(df2, take_smaller, fill_value=-5)\n A B\n0 0 -5.0\n1 0 3.0\n\nExample that demonstrates the use of `overwrite` and behavior when\nthe axis differ between the dataframes.\n\n>>> df1 = pd.DataFrame({'A': [0, 0], 'B': [4, 4]})\n>>> df2 = pd.DataFrame({'B': [3, 3], 'C': [-10, 1], }, index=[1, 2])\n>>> df1.combine(df2, take_smaller)\n A B C\n0 NaN NaN NaN\n1 NaN 3.0 -10.0\n2 NaN 3.0 1.0\n\n>>> df1.combine(df2, take_smaller, overwrite=False)\n A B C\n0 0.0 NaN NaN\n1 0.0 3.0 -10.0\n2 NaN 3.0 1.0\n\nDemonstrating the preference of the passed in dataframe.\n\n>>> df2 = pd.DataFrame({'B': [3, 3], 'C': [1, 1], }, index=[1, 2])\n>>> df2.combine(df1, take_smaller)\n A B C\n0 0.0 NaN NaN\n1 0.0 3.0 NaN\n2 NaN 3.0 NaN\n\n>>> df2.combine(df1, take_smaller, overwrite=False)\n A B C\n0 0.0 NaN NaN\n1 0.0 3.0 1.0\n2 NaN 3.0 1.0\n"}, "kind": 2, "label": "combine", "sortText": " 27"}, {"detail": "bound method DataFrame.combine_first(other: DataFrame) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Update null elements with value in the same location in `other`.\n\nCombine two DataFrame objects by filling null values in one DataFrame\nwith non-null values from other DataFrame. The row and column indexes\nof the resulting DataFrame will be the union of the two. The resulting\ndataframe contains the 'first' dataframe values and overrides the\nsecond one values where both first.loc[index, col] and\nsecond.loc[index, col] are not missing values, upon calling\nfirst.combine_first(second).\n\nParameters\n----------\nother : DataFrame\n Provided DataFrame to use to fill null values.\n\nReturns\n-------\nDataFrame\n The result of combining the provided DataFrame with the other object.\n\nSee Also\n--------\nDataFrame.combine : Perform series-wise operation on two DataFrames\n using a given function.\n\nExamples\n--------\n>>> df1 = pd.DataFrame({'A': [None, 0], 'B': [None, 4]})\n>>> df2 = pd.DataFrame({'A': [1, 1], 'B': [3, 3]})\n>>> df1.combine_first(df2)\n A B\n0 1.0 3.0\n1 0.0 4.0\n\nNull values still persist if the location of that null value\ndoes not exist in `other`\n\n>>> df1 = pd.DataFrame({'A': [None, 0], 'B': [4, None]})\n>>> df2 = pd.DataFrame({'B': [3, 3], 'C': [1, 1]}, index=[1, 2])\n>>> df1.combine_first(df2)\n A B C\n0 NaN 4.0 NaN\n1 0.0 3.0 1.0\n2 NaN 3.0 1.0\n"}, "kind": 2, "label": "combine_first", "sortText": " 28"}, {"detail": "bound method DataFrame.compare(other: DataFrame, align_axis: int | Literal[\"index\", \"columns\", \"rows\"] = 1, keep_shape: bool = False, keep_equal: bool = False, result_names: tuple[str | None, str | None] = ...) -> DataFrame", "kind": 2, "label": "compare", "sortText": " 29"}, {"detail": "bound method DataFrame.convert_dtypes(infer_objects: bool = True, convert_string: bool = True, convert_integer: bool = True, convert_boolean: bool = True, convert_floating: bool = True, dtype_backend: Literal[\"pyarrow\", \"numpy_nullable\"] = \"numpy_nullable\") -> DataFrame", "documentation": {"kind": "plaintext", "value": "Convert columns to the best possible dtypes using dtypes supporting ``pd.NA``.\n\nParameters\n----------\ninfer_objects : bool, default True\n Whether object dtypes should be converted to the best possible types.\nconvert_string : bool, default True\n Whether object dtypes should be converted to ``StringDtype()``.\nconvert_integer : bool, default True\n Whether, if possible, conversion can be done to integer extension types.\nconvert_boolean : bool, defaults True\n Whether object dtypes should be converted to ``BooleanDtypes()``.\nconvert_floating : bool, defaults True\n Whether, if possible, conversion can be done to floating extension types.\n If `convert_integer` is also True, preference will be give to integer\n dtypes if the floats can be faithfully casted to integers.\ndtype_backend : {'numpy_nullable', 'pyarrow'}, default 'numpy_nullable'\n Back-end data type applied to the resultant :class:`DataFrame`\n (still experimental). Behaviour is as follows:\n\n * ``\"numpy_nullable\"``: returns nullable-dtype-backed :class:`DataFrame`\n (default).\n * ``\"pyarrow\"``: returns pyarrow-backed nullable :class:`ArrowDtype`\n DataFrame.\n\n .. versionadded:: 2.0\n\nReturns\n-------\nSeries or DataFrame\n Copy of input object with new dtype.\n\nSee Also\n--------\ninfer_objects : Infer dtypes of objects.\nto_datetime : Convert argument to datetime.\nto_timedelta : Convert argument to timedelta.\nto_numeric : Convert argument to a numeric type.\n\nNotes\n-----\nBy default, ``convert_dtypes`` will attempt to convert a Series (or each\nSeries in a DataFrame) to dtypes that support ``pd.NA``. By using the options\n``convert_string``, ``convert_integer``, ``convert_boolean`` and\n``convert_floating``, it is possible to turn off individual conversions\nto ``StringDtype``, the integer extension types, ``BooleanDtype``\nor floating extension types, respectively.\n\nFor object-dtyped columns, if ``infer_objects`` is ``True``, use the inference\nrules as during normal Series/DataFrame construction. Then, if possible,\nconvert to ``StringDtype``, ``BooleanDtype`` or an appropriate integer\nor floating extension type, otherwise leave as ``object``.\n\nIf the dtype is integer, convert to an appropriate integer extension type.\n\nIf the dtype is numeric, and consists of all integers, convert to an\nappropriate integer extension type. Otherwise, convert to an\nappropriate floating extension type.\n\nIn the future, as new dtypes are added that support ``pd.NA``, the results\nof this method will change to support those new dtypes.\n\nExamples\n--------\n>>> df = pd.DataFrame(\n... {\n... \"a\": pd.Series([1, 2, 3], dtype=np.dtype(\"int32\")),\n... \"b\": pd.Series([\"x\", \"y\", \"z\"], dtype=np.dtype(\"O\")),\n... \"c\": pd.Series([True, False, np.nan], dtype=np.dtype(\"O\")),\n... \"d\": pd.Series([\"h\", \"i\", np.nan], dtype=np.dtype(\"O\")),\n... \"e\": pd.Series([10, np.nan, 20], dtype=np.dtype(\"float\")),\n... \"f\": pd.Series([np.nan, 100.5, 200], dtype=np.dtype(\"float\")),\n... }\n... )\n\nStart with a DataFrame with default dtypes.\n\n>>> df\n a b c d e f\n0 1 x True h 10.0 NaN\n1 2 y False i NaN 100.5\n2 3 z NaN NaN 20.0 200.0\n\n>>> df.dtypes\na int32\nb object\nc object\nd object\ne float64\nf float64\ndtype: object\n\nConvert the DataFrame to use best possible dtypes.\n\n>>> dfn = df.convert_dtypes()\n>>> dfn\n a b c d e f\n0 1 x True h 10 \n1 2 y False i 100.5\n2 3 z 20 200.0\n\n>>> dfn.dtypes\na Int32\nb string[python]\nc boolean\nd string[python]\ne Int64\nf Float64\ndtype: object\n\nStart with a Series of strings and missing data represented by ``np.nan``.\n\n>>> s = pd.Series([\"a\", \"b\", np.nan])\n>>> s\n0 a\n1 b\n2 NaN\ndtype: object\n\nObtain a Series with dtype ``StringDtype``.\n\n>>> s.convert_dtypes()\n0 a\n1 b\n2 \ndtype: string\n"}, "kind": 2, "label": "convert_dtypes", "sortText": " 30"}, {"detail": "bound method DataFrame.copy(deep: bool | None = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Make a copy of this object's indices and data.\n\nWhen ``deep=True`` (default), a new object will be created with a\ncopy of the calling object's data and indices. Modifications to\nthe data or indices of the copy will not be reflected in the\noriginal object (see notes below).\n\nWhen ``deep=False``, a new object will be created without copying\nthe calling object's data or index (only references to the data\nand index are copied). Any changes to the data of the original\nwill be reflected in the shallow copy (and vice versa).\n\n.. note::\n The ``deep=False`` behaviour as described above will change\n in pandas 3.0. `Copy-on-Write\n `__\n will be enabled by default, which means that the \"shallow\" copy\n is that is returned with ``deep=False`` will still avoid making\n an eager copy, but changes to the data of the original will *no*\n longer be reflected in the shallow copy (or vice versa). Instead,\n it makes use of a lazy (deferred) copy mechanism that will copy\n the data only when any changes to the original or shallow copy is\n made.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nParameters\n----------\ndeep : bool, default True\n Make a deep copy, including a copy of the data and the indices.\n With ``deep=False`` neither the indices nor the data are copied.\n\nReturns\n-------\nSeries or DataFrame\n Object type matches caller.\n\nNotes\n-----\nWhen ``deep=True``, data is copied but actual Python objects\nwill not be copied recursively, only the reference to the object.\nThis is in contrast to `copy.deepcopy` in the Standard Library,\nwhich recursively copies object data (see examples below).\n\nWhile ``Index`` objects are copied when ``deep=True``, the underlying\nnumpy array is not copied for performance reasons. Since ``Index`` is\nimmutable, the underlying data can be safely shared and a copy\nis not needed.\n\nSince pandas is not thread safe, see the\n:ref:`gotchas ` when copying in a threading\nenvironment.\n\nWhen ``copy_on_write`` in pandas config is set to ``True``, the\n``copy_on_write`` config takes effect even when ``deep=False``.\nThis means that any changes to the copied data would make a new copy\nof the data upon write (and vice versa). Changes made to either the\noriginal or copied variable would not be reflected in the counterpart.\nSee :ref:`Copy_on_Write ` for more information.\n\nExamples\n--------\n>>> s = pd.Series([1, 2], index=[\"a\", \"b\"])\n>>> s\na 1\nb 2\ndtype: int64\n\n>>> s_copy = s.copy()\n>>> s_copy\na 1\nb 2\ndtype: int64\n\n**Shallow copy versus default (deep) copy:**\n\n>>> s = pd.Series([1, 2], index=[\"a\", \"b\"])\n>>> deep = s.copy()\n>>> shallow = s.copy(deep=False)\n\nShallow copy shares data and index with original.\n\n>>> s is shallow\nFalse\n>>> s.values is shallow.values and s.index is shallow.index\nTrue\n\nDeep copy has own copy of data and index.\n\n>>> s is deep\nFalse\n>>> s.values is deep.values or s.index is deep.index\nFalse\n\nUpdates to the data shared by shallow copy and original is reflected\nin both (NOTE: this will no longer be true for pandas >= 3.0);\ndeep copy remains unchanged.\n\n>>> s.iloc[0] = 3\n>>> shallow.iloc[1] = 4\n>>> s\na 3\nb 4\ndtype: int64\n>>> shallow\na 3\nb 4\ndtype: int64\n>>> deep\na 1\nb 2\ndtype: int64\n\nNote that when copying an object containing Python objects, a deep copy\nwill copy the data, but will not do so recursively. Updating a nested\ndata object will be reflected in the deep copy.\n\n>>> s = pd.Series([[1, 2], [3, 4]])\n>>> deep = s.copy()\n>>> s[0][0] = 10\n>>> s\n0 [10, 2]\n1 [3, 4]\ndtype: object\n>>> deep\n0 [10, 2]\n1 [3, 4]\ndtype: object\n\n**Copy-on-Write is set to true**, the shallow copy is not modified\nwhen the original data is changed:\n\n>>> with pd.option_context(\"mode.copy_on_write\", True):\n... s = pd.Series([1, 2], index=[\"a\", \"b\"])\n... copy = s.copy(deep=False)\n... s.iloc[0] = 100\n... s\na 100\nb 2\ndtype: int64\n>>> copy\na 1\nb 2\ndtype: int64\n"}, "kind": 2, "label": "copy", "sortText": " 31"}, {"detail": "bound method DataFrame.corr(method: Literal[\"pearson\", \"kendall\", \"spearman\"] | ((ndarray[_AnyShape, dtype[Any]], ndarray[_AnyShape, dtype[Any]], /) -> float) = \"pearson\", min_periods: int = 1, numeric_only: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Compute pairwise correlation of columns, excluding NA/null values.\n\nParameters\n----------\nmethod : {'pearson', 'kendall', 'spearman'} or callable\n Method of correlation:\n\n * pearson : standard correlation coefficient\n * kendall : Kendall Tau correlation coefficient\n * spearman : Spearman rank correlation\n * callable: callable with input two 1d ndarrays\n and returning a float. Note that the returned matrix from corr\n will have 1 along the diagonals and will be symmetric\n regardless of the callable's behavior.\nmin_periods : int, optional\n Minimum number of observations required per pair of columns\n to have a valid result. Currently only available for Pearson\n and Spearman correlation.\nnumeric_only : bool, default False\n Include only `float`, `int` or `boolean` data.\n\n .. versionadded:: 1.5.0\n\n .. versionchanged:: 2.0.0\n The default value of ``numeric_only`` is now ``False``.\n\nReturns\n-------\nDataFrame\n Correlation matrix.\n\nSee Also\n--------\nDataFrame.corrwith : Compute pairwise correlation with another\n DataFrame or Series.\nSeries.corr : Compute the correlation between two Series.\n\nNotes\n-----\nPearson, Kendall and Spearman correlation are currently computed using pairwise complete observations.\n\n* `Pearson correlation coefficient `_\n* `Kendall rank correlation coefficient `_\n* `Spearman's rank correlation coefficient `_\n\nExamples\n--------\n>>> def histogram_intersection(a, b):\n... v = np.minimum(a, b).sum().round(decimals=1)\n... return v\n>>> df = pd.DataFrame([(.2, .3), (.0, .6), (.6, .0), (.2, .1)],\n... columns=['dogs', 'cats'])\n>>> df.corr(method=histogram_intersection)\n dogs cats\ndogs 1.0 0.3\ncats 0.3 1.0\n\n>>> df = pd.DataFrame([(1, 1), (2, np.nan), (np.nan, 3), (4, 4)],\n... columns=['dogs', 'cats'])\n>>> df.corr(min_periods=3)\n dogs cats\ndogs 1.0 NaN\ncats NaN 1.0\n"}, "kind": 2, "label": "corr", "sortText": " 32"}, {"detail": "bound method DataFrame.corrwith(other: DataFrame | Series, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, drop: bool = False, method: Literal[\"pearson\", \"kendall\", \"spearman\"] | ((ndarray[_AnyShape, dtype[Any]], ndarray[_AnyShape, dtype[Any]], /) -> float) = \"pearson\", numeric_only: bool = False) -> Series", "documentation": {"kind": "plaintext", "value": "Compute pairwise correlation.\n\nPairwise correlation is computed between rows or columns of\nDataFrame with rows or columns of Series or DataFrame. DataFrames\nare first aligned along both axes before computing the\ncorrelations.\n\nParameters\n----------\nother : DataFrame, Series\n Object with which to compute correlations.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to use. 0 or 'index' to compute row-wise, 1 or 'columns' for\n column-wise.\ndrop : bool, default False\n Drop missing indices from result.\nmethod : {'pearson', 'kendall', 'spearman'} or callable\n Method of correlation:\n\n * pearson : standard correlation coefficient\n * kendall : Kendall Tau correlation coefficient\n * spearman : Spearman rank correlation\n * callable: callable with input two 1d ndarrays\n and returning a float.\n\nnumeric_only : bool, default False\n Include only `float`, `int` or `boolean` data.\n\n .. versionadded:: 1.5.0\n\n .. versionchanged:: 2.0.0\n The default value of ``numeric_only`` is now ``False``.\n\nReturns\n-------\nSeries\n Pairwise correlations.\n\nSee Also\n--------\nDataFrame.corr : Compute pairwise correlation of columns.\n\nExamples\n--------\n>>> index = [\"a\", \"b\", \"c\", \"d\", \"e\"]\n>>> columns = [\"one\", \"two\", \"three\", \"four\"]\n>>> df1 = pd.DataFrame(np.arange(20).reshape(5, 4), index=index, columns=columns)\n>>> df2 = pd.DataFrame(np.arange(16).reshape(4, 4), index=index[:4], columns=columns)\n>>> df1.corrwith(df2)\none 1.0\ntwo 1.0\nthree 1.0\nfour 1.0\ndtype: float64\n\n>>> df2.corrwith(df1, axis=1)\na 1.0\nb 1.0\nc 1.0\nd 1.0\ne NaN\ndtype: float64\n"}, "kind": 2, "label": "corrwith", "sortText": " 33"}, {"detail": "bound method DataFrame.count(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, numeric_only: bool = False) -> Unknown", "documentation": {"kind": "plaintext", "value": "Count non-NA cells for each column or row.\n\nThe values `None`, `NaN`, `NaT`, ``pandas.NA`` are considered NA.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n If 0 or 'index' counts are generated for each column.\n If 1 or 'columns' counts are generated for each row.\nnumeric_only : bool, default False\n Include only `float`, `int` or `boolean` data.\n\nReturns\n-------\nSeries\n For each column/row the number of non-NA/null entries.\n\nSee Also\n--------\nSeries.count: Number of non-NA elements in a Series.\nDataFrame.value_counts: Count unique combinations of columns.\nDataFrame.shape: Number of DataFrame rows and columns (including NA\n elements).\nDataFrame.isna: Boolean same-sized DataFrame showing places of NA\n elements.\n\nExamples\n--------\nConstructing DataFrame from a dictionary:\n\n>>> df = pd.DataFrame({\"Person\":\n... [\"John\", \"Myla\", \"Lewis\", \"John\", \"Myla\"],\n... \"Age\": [24., np.nan, 21., 33, 26],\n... \"Single\": [False, True, True, True, False]})\n>>> df\n Person Age Single\n0 John 24.0 False\n1 Myla NaN True\n2 Lewis 21.0 True\n3 John 33.0 True\n4 Myla 26.0 False\n\nNotice the uncounted NA values:\n\n>>> df.count()\nPerson 5\nAge 4\nSingle 5\ndtype: int64\n\nCounts for each **row**:\n\n>>> df.count(axis='columns')\n0 3\n1 2\n2 3\n3 3\n4 3\ndtype: int64\n"}, "kind": 2, "label": "count", "sortText": " 34"}, {"detail": "bound method DataFrame.cov(min_periods: int | None = None, ddof: int | None = 1, numeric_only: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Compute pairwise covariance of columns, excluding NA/null values.\n\nCompute the pairwise covariance among the series of a DataFrame.\nThe returned data frame is the `covariance matrix\n`__ of the columns\nof the DataFrame.\n\nBoth NA and null values are automatically excluded from the\ncalculation. (See the note below about bias from missing values.)\nA threshold can be set for the minimum number of\nobservations for each value created. Comparisons with observations\nbelow this threshold will be returned as ``NaN``.\n\nThis method is generally used for the analysis of time series data to\nunderstand the relationship between different measures\nacross time.\n\nParameters\n----------\nmin_periods : int, optional\n Minimum number of observations required per pair of columns\n to have a valid result.\n\nddof : int, default 1\n Delta degrees of freedom. The divisor used in calculations\n is ``N - ddof``, where ``N`` represents the number of elements.\n This argument is applicable only when no ``nan`` is in the dataframe.\n\nnumeric_only : bool, default False\n Include only `float`, `int` or `boolean` data.\n\n .. versionadded:: 1.5.0\n\n .. versionchanged:: 2.0.0\n The default value of ``numeric_only`` is now ``False``.\n\nReturns\n-------\nDataFrame\n The covariance matrix of the series of the DataFrame.\n\nSee Also\n--------\nSeries.cov : Compute covariance with another Series.\ncore.window.ewm.ExponentialMovingWindow.cov : Exponential weighted sample\n covariance.\ncore.window.expanding.Expanding.cov : Expanding sample covariance.\ncore.window.rolling.Rolling.cov : Rolling sample covariance.\n\nNotes\n-----\nReturns the covariance matrix of the DataFrame's time series.\nThe covariance is normalized by N-ddof.\n\nFor DataFrames that have Series that are missing data (assuming that\ndata is `missing at random\n`__)\nthe returned covariance matrix will be an unbiased estimate\nof the variance and covariance between the member Series.\n\nHowever, for many applications this estimate may not be acceptable\nbecause the estimate covariance matrix is not guaranteed to be positive\nsemi-definite. This could lead to estimate correlations having\nabsolute values which are greater than one, and/or a non-invertible\ncovariance matrix. See `Estimation of covariance matrices\n`__ for more details.\n\nExamples\n--------\n>>> df = pd.DataFrame([(1, 2), (0, 3), (2, 0), (1, 1)],\n... columns=['dogs', 'cats'])\n>>> df.cov()\n dogs cats\ndogs 0.666667 -1.000000\ncats -1.000000 1.666667\n\n>>> np.random.seed(42)\n>>> df = pd.DataFrame(np.random.randn(1000, 5),\n... columns=['a', 'b', 'c', 'd', 'e'])\n>>> df.cov()\n a b c d e\na 0.998438 -0.020161 0.059277 -0.008943 0.014144\nb -0.020161 1.059352 -0.008543 -0.024738 0.009826\nc 0.059277 -0.008543 1.010670 -0.001486 -0.000271\nd -0.008943 -0.024738 -0.001486 0.921297 -0.013692\ne 0.014144 0.009826 -0.000271 -0.013692 0.977795\n\n**Minimum number of periods**\n\nThis method also supports an optional ``min_periods`` keyword\nthat specifies the required minimum number of non-NA observations for\neach column pair in order to have a valid result:\n\n>>> np.random.seed(42)\n>>> df = pd.DataFrame(np.random.randn(20, 3),\n... columns=['a', 'b', 'c'])\n>>> df.loc[df.index[:5], 'a'] = np.nan\n>>> df.loc[df.index[5:10], 'b'] = np.nan\n>>> df.cov(min_periods=12)\n a b c\na 0.316741 NaN -0.150812\nb NaN 1.248003 0.191417\nc -0.150812 0.191417 0.895202\n"}, "kind": 2, "label": "cov", "sortText": " 35"}, {"detail": "bound method DataFrame.cummax(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, skipna: bool = True, *args, **kwargs) -> Unknown", "kind": 2, "label": "cummax", "sortText": " 36"}, {"detail": "bound method DataFrame.cummin(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, skipna: bool = True, *args, **kwargs) -> Unknown", "kind": 2, "label": "cummin", "sortText": " 37"}, {"detail": "bound method DataFrame.cumprod(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, skipna: bool = True, *args, **kwargs) -> Unknown", "kind": 2, "label": "cumprod", "sortText": " 38"}, {"detail": "bound method DataFrame.cumsum(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, skipna: bool = True, *args, **kwargs) -> Unknown", "kind": 2, "label": "cumsum", "sortText": " 39"}, {"detail": "bound method DataFrame.describe(percentiles=None, include=None, exclude=None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Generate descriptive statistics.\n\nDescriptive statistics include those that summarize the central\ntendency, dispersion and shape of a\ndataset's distribution, excluding ``NaN`` values.\n\nAnalyzes both numeric and object series, as well\nas ``DataFrame`` column sets of mixed data types. The output\nwill vary depending on what is provided. Refer to the notes\nbelow for more detail.\n\nParameters\n----------\npercentiles : list-like of numbers, optional\n The percentiles to include in the output. All should\n fall between 0 and 1. The default is\n ``[.25, .5, .75]``, which returns the 25th, 50th, and\n 75th percentiles.\ninclude : 'all', list-like of dtypes or None (default), optional\n A white list of data types to include in the result. Ignored\n for ``Series``. Here are the options:\n\n - 'all' : All columns of the input will be included in the output.\n - A list-like of dtypes : Limits the results to the\n provided data types.\n To limit the result to numeric types submit\n ``numpy.number``. To limit it instead to object columns submit\n the ``numpy.object`` data type. Strings\n can also be used in the style of\n ``select_dtypes`` (e.g. ``df.describe(include=['O'])``). To\n select pandas categorical columns, use ``'category'``\n - None (default) : The result will include all numeric columns.\nexclude : list-like of dtypes or None (default), optional,\n A black list of data types to omit from the result. Ignored\n for ``Series``. Here are the options:\n\n - A list-like of dtypes : Excludes the provided data types\n from the result. To exclude numeric types submit\n ``numpy.number``. To exclude object columns submit the data\n type ``numpy.object``. Strings can also be used in the style of\n ``select_dtypes`` (e.g. ``df.describe(exclude=['O'])``). To\n exclude pandas categorical columns, use ``'category'``\n - None (default) : The result will exclude nothing.\n\nReturns\n-------\nSeries or DataFrame\n Summary statistics of the Series or Dataframe provided.\n\nSee Also\n--------\nDataFrame.count: Count number of non-NA/null observations.\nDataFrame.max: Maximum of the values in the object.\nDataFrame.min: Minimum of the values in the object.\nDataFrame.mean: Mean of the values.\nDataFrame.std: Standard deviation of the observations.\nDataFrame.select_dtypes: Subset of a DataFrame including/excluding\n columns based on their dtype.\n\nNotes\n-----\nFor numeric data, the result's index will include ``count``,\n``mean``, ``std``, ``min``, ``max`` as well as lower, ``50`` and\nupper percentiles. By default the lower percentile is ``25`` and the\nupper percentile is ``75``. The ``50`` percentile is the\nsame as the median.\n\nFor object data (e.g. strings or timestamps), the result's index\nwill include ``count``, ``unique``, ``top``, and ``freq``. The ``top``\nis the most common value. The ``freq`` is the most common value's\nfrequency. Timestamps also include the ``first`` and ``last`` items.\n\nIf multiple object values have the highest count, then the\n``count`` and ``top`` results will be arbitrarily chosen from\namong those with the highest count.\n\nFor mixed data types provided via a ``DataFrame``, the default is to\nreturn only an analysis of numeric columns. If the dataframe consists\nonly of object and categorical data without any numeric columns, the\ndefault is to return an analysis of both the object and categorical\ncolumns. If ``include='all'`` is provided as an option, the result\nwill include a union of attributes of each type.\n\nThe `include` and `exclude` parameters can be used to limit\nwhich columns in a ``DataFrame`` are analyzed for the output.\nThe parameters are ignored when analyzing a ``Series``.\n\nExamples\n--------\nDescribing a numeric ``Series``.\n\n>>> s = pd.Series([1, 2, 3])\n>>> s.describe()\ncount 3.0\nmean 2.0\nstd 1.0\nmin 1.0\n25% 1.5\n50% 2.0\n75% 2.5\nmax 3.0\ndtype: float64\n\nDescribing a categorical ``Series``.\n\n>>> s = pd.Series(['a', 'a', 'b', 'c'])\n>>> s.describe()\ncount 4\nunique 3\ntop a\nfreq 2\ndtype: object\n\nDescribing a timestamp ``Series``.\n\n>>> s = pd.Series([\n... np.datetime64(\"2000-01-01\"),\n... np.datetime64(\"2010-01-01\"),\n... np.datetime64(\"2010-01-01\")\n... ])\n>>> s.describe()\ncount 3\nmean 2006-09-01 08:00:00\nmin 2000-01-01 00:00:00\n25% 2004-12-31 12:00:00\n50% 2010-01-01 00:00:00\n75% 2010-01-01 00:00:00\nmax 2010-01-01 00:00:00\ndtype: object\n\nDescribing a ``DataFrame``. By default only numeric fields\nare returned.\n\n>>> df = pd.DataFrame({'categorical': pd.Categorical(['d', 'e', 'f']),\n... 'numeric': [1, 2, 3],\n... 'object': ['a', 'b', 'c']\n... })\n>>> df.describe()\n numeric\ncount 3.0\nmean 2.0\nstd 1.0\nmin 1.0\n25% 1.5\n50% 2.0\n75% 2.5\nmax 3.0\n\nDescribing all columns of a ``DataFrame`` regardless of data type.\n\n>>> df.describe(include='all') # doctest: +SKIP\n categorical numeric object\ncount 3 3.0 3\nunique 3 NaN 3\ntop f NaN a\nfreq 1 NaN 1\nmean NaN 2.0 NaN\nstd NaN 1.0 NaN\nmin NaN 1.0 NaN\n25% NaN 1.5 NaN\n50% NaN 2.0 NaN\n75% NaN 2.5 NaN\nmax NaN 3.0 NaN\n\nDescribing a column from a ``DataFrame`` by accessing it as\nan attribute.\n\n>>> df.numeric.describe()\ncount 3.0\nmean 2.0\nstd 1.0\nmin 1.0\n25% 1.5\n50% 2.0\n75% 2.5\nmax 3.0\nName: numeric, dtype: float64\n\nIncluding only numeric columns in a ``DataFrame`` description.\n\n>>> df.describe(include=[np.number])\n numeric\ncount 3.0\nmean 2.0\nstd 1.0\nmin 1.0\n25% 1.5\n50% 2.0\n75% 2.5\nmax 3.0\n\nIncluding only string columns in a ``DataFrame`` description.\n\n>>> df.describe(include=[object]) # doctest: +SKIP\n object\ncount 3\nunique 3\ntop a\nfreq 1\n\nIncluding only categorical columns from a ``DataFrame`` description.\n\n>>> df.describe(include=['category'])\n categorical\ncount 3\nunique 3\ntop d\nfreq 1\n\nExcluding numeric columns from a ``DataFrame`` description.\n\n>>> df.describe(exclude=[np.number]) # doctest: +SKIP\n categorical object\ncount 3 3\nunique 3 3\ntop f a\nfreq 1 1\n\nExcluding object columns from a ``DataFrame`` description.\n\n>>> df.describe(exclude=[object]) # doctest: +SKIP\n categorical numeric\ncount 3 3.0\nunique 3 NaN\ntop f NaN\nfreq 1 NaN\nmean NaN 2.0\nstd NaN 1.0\nmin NaN 1.0\n25% NaN 1.5\n50% NaN 2.0\n75% NaN 2.5\nmax NaN 3.0\n"}, "kind": 2, "label": "describe", "sortText": " 40"}, {"detail": "bound method DataFrame.diff(periods: int = 1, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> DataFrame", "kind": 2, "label": "diff", "sortText": " 41"}, {"detail": "(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "div", "sortText": " 42"}, {"detail": "(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "divide", "sortText": " 43"}, {"detail": "Overload[(other: Series) -> Series, (other: DataFrame | Index | ExtensionArray | ndarray[_AnyShape, dtype[Any]]) -> DataFrame]", "documentation": {"kind": "plaintext", "value": "Compute the matrix multiplication between the DataFrame and other.\n\nThis method computes the matrix product between the DataFrame and the\nvalues of an other Series, DataFrame or a numpy array.\n\nIt can also be called using ``self @ other``.\n\nParameters\n----------\nother : Series, DataFrame or array-like\n The other object to compute the matrix product with.\n\nReturns\n-------\nSeries or DataFrame\n If other is a Series, return the matrix product between self and\n other as a Series. If other is a DataFrame or a numpy.array, return\n the matrix product of self and other in a DataFrame of a np.array.\n\nSee Also\n--------\nSeries.dot: Similar method for Series.\n\nNotes\n-----\nThe dimensions of DataFrame and other must be compatible in order to\ncompute the matrix multiplication. In addition, the column names of\nDataFrame and the index of other must contain the same values, as they\nwill be aligned prior to the multiplication.\n\nThe dot method for Series computes the inner product, instead of the\nmatrix product here.\n\nExamples\n--------\nHere we multiply a DataFrame with a Series.\n\n>>> df = pd.DataFrame([[0, 1, -2, -1], [1, 1, 1, 1]])\n>>> s = pd.Series([1, 1, 2, 1])\n>>> df.dot(s)\n0 -4\n1 5\ndtype: int64\n\nHere we multiply a DataFrame with another DataFrame.\n\n>>> other = pd.DataFrame([[0, 1], [1, 2], [-1, -1], [2, 0]])\n>>> df.dot(other)\n 0 1\n0 1 4\n1 2 2\n\nNote that the dot method give the same result as @\n\n>>> df @ other\n 0 1\n0 1 4\n1 2 2\n\nThe dot method works also if other is an np.array.\n\n>>> arr = np.array([[0, 1], [1, 2], [-1, -1], [2, 0]])\n>>> df.dot(arr)\n 0 1\n0 1 4\n1 2 2\n\nNote how shuffling of the objects does not change the result.\n\n>>> s2 = s.reindex([1, 0, 2, 3])\n>>> df.dot(s2)\n0 -4\n1 5\ndtype: int64\n"}, "kind": 2, "label": "dot", "sortText": " 44"}, {"detail": "Overload[(labels: Hashable | Sequence[Hashable] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., index: Hashable | Sequence[Hashable] = ..., columns: Hashable | Sequence[Hashable] = ..., level: Hashable = ..., inplace: Literal[True], errors: Literal[\"ignore\", \"raise\"] = ...) -> None, (labels: Hashable | Sequence[Hashable] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., index: Hashable | Sequence[Hashable] = ..., columns: Hashable | Sequence[Hashable] = ..., level: Hashable = ..., inplace: Literal[False] = ..., errors: Literal[\"ignore\", \"raise\"] = ...) -> DataFrame, (labels: Hashable | Sequence[Hashable] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., index: Hashable | Sequence[Hashable] = ..., columns: Hashable | Sequence[Hashable] = ..., level: Hashable = ..., inplace: bool = ..., errors: Literal[\"ignore\", \"raise\"] = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Drop specified labels from rows or columns.\n\nRemove rows or columns by specifying label names and corresponding\naxis, or by directly specifying index or column names. When using a\nmulti-index, labels on different levels can be removed by specifying\nthe level. See the :ref:`user guide `\nfor more information about the now unused levels.\n\nParameters\n----------\nlabels : single label or list-like\n Index or column labels to drop. A tuple will be used as a single\n label and not treated as a list-like.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Whether to drop labels from the index (0 or 'index') or\n columns (1 or 'columns').\nindex : single label or list-like\n Alternative to specifying axis (``labels, axis=0``\n is equivalent to ``index=labels``).\ncolumns : single label or list-like\n Alternative to specifying axis (``labels, axis=1``\n is equivalent to ``columns=labels``).\nlevel : int or level name, optional\n For MultiIndex, level from which the labels will be removed.\ninplace : bool, default False\n If False, return a copy. Otherwise, do operation\n in place and return None.\nerrors : {'ignore', 'raise'}, default 'raise'\n If 'ignore', suppress error and only existing labels are\n dropped.\n\nReturns\n-------\nDataFrame or None\n Returns DataFrame or None DataFrame with the specified\n index or column labels removed or None if inplace=True.\n\nRaises\n------\nKeyError\n If any of the labels is not found in the selected axis.\n\nSee Also\n--------\nDataFrame.loc : Label-location based indexer for selection by label.\nDataFrame.dropna : Return DataFrame with labels on given axis omitted\n where (all or any) data are missing.\nDataFrame.drop_duplicates : Return DataFrame with duplicate rows\n removed, optionally only considering certain columns.\nSeries.drop : Return Series with specified index labels removed.\n\nExamples\n--------\n>>> df = pd.DataFrame(np.arange(12).reshape(3, 4),\n... columns=['A', 'B', 'C', 'D'])\n>>> df\n A B C D\n0 0 1 2 3\n1 4 5 6 7\n2 8 9 10 11\n\nDrop columns\n\n>>> df.drop(['B', 'C'], axis=1)\n A D\n0 0 3\n1 4 7\n2 8 11\n\n>>> df.drop(columns=['B', 'C'])\n A D\n0 0 3\n1 4 7\n2 8 11\n\nDrop a row by index\n\n>>> df.drop([0, 1])\n A B C D\n2 8 9 10 11\n\nDrop columns and/or rows of MultiIndex DataFrame\n\n>>> midx = pd.MultiIndex(levels=[['llama', 'cow', 'falcon'],\n... ['speed', 'weight', 'length']],\n... codes=[[0, 0, 0, 1, 1, 1, 2, 2, 2],\n... [0, 1, 2, 0, 1, 2, 0, 1, 2]])\n>>> df = pd.DataFrame(index=midx, columns=['big', 'small'],\n... data=[[45, 30], [200, 100], [1.5, 1], [30, 20],\n... [250, 150], [1.5, 0.8], [320, 250],\n... [1, 0.8], [0.3, 0.2]])\n>>> df\n big small\nllama speed 45.0 30.0\n weight 200.0 100.0\n length 1.5 1.0\ncow speed 30.0 20.0\n weight 250.0 150.0\n length 1.5 0.8\nfalcon speed 320.0 250.0\n weight 1.0 0.8\n length 0.3 0.2\n\nDrop a specific index combination from the MultiIndex\nDataFrame, i.e., drop the combination ``'falcon'`` and\n``'weight'``, which deletes only the corresponding row\n\n>>> df.drop(index=('falcon', 'weight'))\n big small\nllama speed 45.0 30.0\n weight 200.0 100.0\n length 1.5 1.0\ncow speed 30.0 20.0\n weight 250.0 150.0\n length 1.5 0.8\nfalcon speed 320.0 250.0\n length 0.3 0.2\n\n>>> df.drop(index='cow', columns='small')\n big\nllama speed 45.0\n weight 200.0\n length 1.5\nfalcon speed 320.0\n weight 1.0\n length 0.3\n\n>>> df.drop(index='length', level=1)\n big small\nllama speed 45.0 30.0\n weight 200.0 100.0\ncow speed 30.0 20.0\n weight 250.0 150.0\nfalcon speed 320.0 250.0\n weight 1.0 0.8\n"}, "kind": 2, "label": "drop", "sortText": " 45"}, {"detail": "Overload[(subset: Hashable | Sequence[Hashable] = ..., *, keep: Literal[\"first\", \"last\", False] = ..., inplace: Literal[True], ignore_index: bool = ...) -> None, (subset: Hashable | Sequence[Hashable] = ..., *, keep: Literal[\"first\", \"last\", False] = ..., inplace: Literal[False] = ..., ignore_index: bool = ...) -> DataFrame, (subset: Hashable | Sequence[Hashable] = ..., *, keep: Literal[\"first\", \"last\", False] = ..., inplace: bool = ..., ignore_index: bool = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Return DataFrame with duplicate rows removed.\n\nConsidering certain columns is optional. Indexes, including time indexes\nare ignored.\n\nParameters\n----------\nsubset : column label or sequence of labels, optional\n Only consider certain columns for identifying duplicates, by\n default use all of the columns.\nkeep : {'first', 'last', ``False``}, default 'first'\n Determines which duplicates (if any) to keep.\n\n - 'first' : Drop duplicates except for the first occurrence.\n - 'last' : Drop duplicates except for the last occurrence.\n - ``False`` : Drop all duplicates.\n\ninplace : bool, default ``False``\n Whether to modify the DataFrame rather than creating a new one.\nignore_index : bool, default ``False``\n If ``True``, the resulting axis will be labeled 0, 1, \u2026, n - 1.\n\nReturns\n-------\nDataFrame or None\n DataFrame with duplicates removed or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.value_counts: Count unique combinations of columns.\n\nExamples\n--------\nConsider dataset containing ramen rating.\n\n>>> df = pd.DataFrame({\n... 'brand': ['Yum Yum', 'Yum Yum', 'Indomie', 'Indomie', 'Indomie'],\n... 'style': ['cup', 'cup', 'cup', 'pack', 'pack'],\n... 'rating': [4, 4, 3.5, 15, 5]\n... })\n>>> df\n brand style rating\n0 Yum Yum cup 4.0\n1 Yum Yum cup 4.0\n2 Indomie cup 3.5\n3 Indomie pack 15.0\n4 Indomie pack 5.0\n\nBy default, it removes duplicate rows based on all columns.\n\n>>> df.drop_duplicates()\n brand style rating\n0 Yum Yum cup 4.0\n2 Indomie cup 3.5\n3 Indomie pack 15.0\n4 Indomie pack 5.0\n\nTo remove duplicates on specific column(s), use ``subset``.\n\n>>> df.drop_duplicates(subset=['brand'])\n brand style rating\n0 Yum Yum cup 4.0\n2 Indomie cup 3.5\n\nTo remove duplicates and keep last occurrences, use ``keep``.\n\n>>> df.drop_duplicates(subset=['brand', 'style'], keep='last')\n brand style rating\n1 Yum Yum cup 4.0\n2 Indomie cup 3.5\n4 Indomie pack 5.0\n"}, "kind": 2, "label": "drop_duplicates", "sortText": " 46"}, {"detail": "bound method DataFrame.droplevel(level: Hashable | Sequence[Hashable], axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return {klass} with requested index / column level(s) removed.\n\nParameters\n----------\nlevel : int, str, or list-like\n If a string is given, must be the name of a level\n If list-like, elements must be names or positional indexes\n of levels.\n\naxis : {{0 or 'index', 1 or 'columns'}}, default 0\n Axis along which the level(s) is removed:\n\n * 0 or 'index': remove level(s) in column.\n * 1 or 'columns': remove level(s) in row.\n\n For `Series` this parameter is unused and defaults to 0.\n\nReturns\n-------\n{klass}\n {klass} with requested index / column level(s) removed.\n\nExamples\n--------\n>>> df = pd.DataFrame([\n... [1, 2, 3, 4],\n... [5, 6, 7, 8],\n... [9, 10, 11, 12]\n... ]).set_index([0, 1]).rename_axis(['a', 'b'])\n\n>>> df.columns = pd.MultiIndex.from_tuples([\n... ('c', 'e'), ('d', 'f')\n... ], names=['level_1', 'level_2'])\n\n>>> df\nlevel_1 c d\nlevel_2 e f\na b\n1 2 3 4\n5 6 7 8\n9 10 11 12\n\n>>> df.droplevel('a')\nlevel_1 c d\nlevel_2 e f\nb\n2 3 4\n6 7 8\n10 11 12\n\n>>> df.droplevel('level_2', axis=1)\nlevel_1 c d\na b\n1 2 3 4\n5 6 7 8\n9 10 11 12\n"}, "kind": 2, "label": "droplevel", "sortText": " 47"}, {"detail": "Overload[(*, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., how: Literal[\"any\", \"all\"] | _NoDefault = ..., thresh: int | _NoDefault = ..., subset: Hashable | Sequence[Hashable] = ..., inplace: Literal[False] = ..., ignore_index: bool = ...) -> DataFrame, (*, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., how: Literal[\"any\", \"all\"] | _NoDefault = ..., thresh: int | _NoDefault = ..., subset: Hashable | Sequence[Hashable] = ..., inplace: Literal[True], ignore_index: bool = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Remove missing values.\n\nSee the :ref:`User Guide ` for more on which values are\nconsidered missing, and how to work with missing data.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Determine if rows or columns which contain missing values are\n removed.\n\n * 0, or 'index' : Drop rows which contain missing values.\n * 1, or 'columns' : Drop columns which contain missing value.\n\n Only a single axis is allowed.\n\nhow : {'any', 'all'}, default 'any'\n Determine if row or column is removed from DataFrame, when we have\n at least one NA or all NA.\n\n * 'any' : If any NA values are present, drop that row or column.\n * 'all' : If all values are NA, drop that row or column.\n\nthresh : int, optional\n Require that many non-NA values. Cannot be combined with how.\nsubset : column label or sequence of labels, optional\n Labels along other axis to consider, e.g. if you are dropping rows\n these would be a list of columns to include.\ninplace : bool, default False\n Whether to modify the DataFrame rather than creating a new one.\nignore_index : bool, default ``False``\n If ``True``, the resulting axis will be labeled 0, 1, \u2026, n - 1.\n\n .. versionadded:: 2.0.0\n\nReturns\n-------\nDataFrame or None\n DataFrame with NA entries dropped from it or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.isna: Indicate missing values.\nDataFrame.notna : Indicate existing (non-missing) values.\nDataFrame.fillna : Replace missing values.\nSeries.dropna : Drop missing values.\nIndex.dropna : Drop missing indices.\n\nExamples\n--------\n>>> df = pd.DataFrame({\"name\": ['Alfred', 'Batman', 'Catwoman'],\n... \"toy\": [np.nan, 'Batmobile', 'Bullwhip'],\n... \"born\": [pd.NaT, pd.Timestamp(\"1940-04-25\"),\n... pd.NaT]})\n>>> df\n name toy born\n0 Alfred NaN NaT\n1 Batman Batmobile 1940-04-25\n2 Catwoman Bullwhip NaT\n\nDrop the rows where at least one element is missing.\n\n>>> df.dropna()\n name toy born\n1 Batman Batmobile 1940-04-25\n\nDrop the columns where at least one element is missing.\n\n>>> df.dropna(axis='columns')\n name\n0 Alfred\n1 Batman\n2 Catwoman\n\nDrop the rows where all elements are missing.\n\n>>> df.dropna(how='all')\n name toy born\n0 Alfred NaN NaT\n1 Batman Batmobile 1940-04-25\n2 Catwoman Bullwhip NaT\n\nKeep only the rows with at least 2 non-NA values.\n\n>>> df.dropna(thresh=2)\n name toy born\n1 Batman Batmobile 1940-04-25\n2 Catwoman Bullwhip NaT\n\nDefine in which columns to look for missing values.\n\n>>> df.dropna(subset=['name', 'toy'])\n name toy born\n1 Batman Batmobile 1940-04-25\n2 Catwoman Bullwhip NaT\n"}, "kind": 2, "label": "dropna", "sortText": " 48"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "dtype", "sortText": " 49"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "dtypes", "sortText": " 50"}, {"detail": "bound method DataFrame.duplicated(subset: Hashable | Sequence[Hashable] = None, keep: Literal[\"first\", \"last\", False] = \"first\") -> Series", "documentation": {"kind": "plaintext", "value": "Return boolean Series denoting duplicate rows.\n\nConsidering certain columns is optional.\n\nParameters\n----------\nsubset : column label or sequence of labels, optional\n Only consider certain columns for identifying duplicates, by\n default use all of the columns.\nkeep : {'first', 'last', False}, default 'first'\n Determines which duplicates (if any) to mark.\n\n - ``first`` : Mark duplicates as ``True`` except for the first occurrence.\n - ``last`` : Mark duplicates as ``True`` except for the last occurrence.\n - False : Mark all duplicates as ``True``.\n\nReturns\n-------\nSeries\n Boolean series for each duplicated rows.\n\nSee Also\n--------\nIndex.duplicated : Equivalent method on index.\nSeries.duplicated : Equivalent method on Series.\nSeries.drop_duplicates : Remove duplicate values from Series.\nDataFrame.drop_duplicates : Remove duplicate values from DataFrame.\n\nExamples\n--------\nConsider dataset containing ramen rating.\n\n>>> df = pd.DataFrame({\n... 'brand': ['Yum Yum', 'Yum Yum', 'Indomie', 'Indomie', 'Indomie'],\n... 'style': ['cup', 'cup', 'cup', 'pack', 'pack'],\n... 'rating': [4, 4, 3.5, 15, 5]\n... })\n>>> df\n brand style rating\n0 Yum Yum cup 4.0\n1 Yum Yum cup 4.0\n2 Indomie cup 3.5\n3 Indomie pack 15.0\n4 Indomie pack 5.0\n\nBy default, for each set of duplicated values, the first occurrence\nis set on False and all others on True.\n\n>>> df.duplicated()\n0 False\n1 True\n2 False\n3 False\n4 False\ndtype: bool\n\nBy using 'last', the last occurrence of each set of duplicated values\nis set on False and all others on True.\n\n>>> df.duplicated(keep='last')\n0 True\n1 False\n2 False\n3 False\n4 False\ndtype: bool\n\nBy setting ``keep`` on False, all duplicates are True.\n\n>>> df.duplicated(keep=False)\n0 True\n1 True\n2 False\n3 False\n4 False\ndtype: bool\n\nTo find duplicates on specific column(s), use ``subset``.\n\n>>> df.duplicated(subset=['brand'])\n0 False\n1 True\n2 False\n3 True\n4 True\ndtype: bool\n"}, "kind": 2, "label": "duplicated", "sortText": " 51"}, {"detail": "bool", "documentation": {"kind": "plaintext", "value": "Returns True when the argument is true, False otherwise.\nThe builtins True and False are the only two instances of the class bool.\nThe class bool is a subclass of the class int, and cannot be subclassed.\n"}, "kind": 22, "label": "empty", "sortText": " 52"}, {"detail": "bound method DataFrame.eq(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "eq", "sortText": " 53"}, {"detail": "bound method DataFrame.equals(other: object) -> bool", "documentation": {"kind": "plaintext", "value": "Test whether two objects contain the same elements.\n\nThis function allows two Series or DataFrames to be compared against\neach other to see if they have the same shape and elements. NaNs in\nthe same location are considered equal.\n\nThe row/column index do not need to have the same type, as long\nas the values are considered equal. Corresponding columns and\nindex must be of the same dtype.\n\nParameters\n----------\nother : Series or DataFrame\n The other Series or DataFrame to be compared with the first.\n\nReturns\n-------\nbool\n True if all elements are the same in both objects, False\n otherwise.\n\nSee Also\n--------\nSeries.eq : Compare two Series objects of the same length\n and return a Series where each element is True if the element\n in each Series is equal, False otherwise.\nDataFrame.eq : Compare two DataFrame objects of the same shape and\n return a DataFrame where each element is True if the respective\n element in each DataFrame is equal, False otherwise.\ntesting.assert_series_equal : Raises an AssertionError if left and\n right are not equal. Provides an easy interface to ignore\n inequality in dtypes, indexes and precision among others.\ntesting.assert_frame_equal : Like assert_series_equal, but targets\n DataFrames.\nnumpy.array_equal : Return True if two arrays have the same shape\n and elements, False otherwise.\n\nExamples\n--------\n>>> df = pd.DataFrame({1: [10], 2: [20]})\n>>> df\n 1 2\n0 10 20\n\nDataFrames df and exactly_equal have the same types and values for\ntheir elements and column labels, which will return True.\n\n>>> exactly_equal = pd.DataFrame({1: [10], 2: [20]})\n>>> exactly_equal\n 1 2\n0 10 20\n>>> df.equals(exactly_equal)\nTrue\n\nDataFrames df and different_column_type have the same element\ntypes and values, but have different types for the column labels,\nwhich will still return True.\n\n>>> different_column_type = pd.DataFrame({1.0: [10], 2.0: [20]})\n>>> different_column_type\n 1.0 2.0\n0 10 20\n>>> df.equals(different_column_type)\nTrue\n\nDataFrames df and different_data_type have different types for the\nsame values for their elements, and will return False even though\ntheir column labels are the same values and types.\n\n>>> different_data_type = pd.DataFrame({1: [10.0], 2: [20.0]})\n>>> different_data_type\n 1 2\n0 10.0 20.0\n>>> df.equals(different_data_type)\nFalse\n"}, "kind": 2, "label": "equals", "sortText": " 54"}, {"detail": "Overload[(expr: str, *, inplace: Literal[False] = ..., **kwargs) -> Any, (expr: str, *, inplace: Literal[True], **kwargs) -> None]", "documentation": {"kind": "plaintext", "value": "Evaluate a string describing operations on DataFrame columns.\n\nOperates on columns only, not specific rows or elements. This allows\n`eval` to run arbitrary code, which can make you vulnerable to code\ninjection if you pass user input to this function.\n\nParameters\n----------\nexpr : str\n The expression string to evaluate.\ninplace : bool, default False\n If the expression contains an assignment, whether to perform the\n operation inplace and mutate the existing DataFrame. Otherwise,\n a new DataFrame is returned.\n**kwargs\n See the documentation for :func:`eval` for complete details\n on the keyword arguments accepted by\n :meth:`~pandas.DataFrame.query`.\n\nReturns\n-------\nndarray, scalar, pandas object, or None\n The result of the evaluation or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.query : Evaluates a boolean expression to query the columns\n of a frame.\nDataFrame.assign : Can evaluate an expression or function to create new\n values for a column.\neval : Evaluate a Python expression as a string using various\n backends.\n\nNotes\n-----\nFor more details see the API documentation for :func:`~eval`.\nFor detailed examples see :ref:`enhancing performance with eval\n`.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': range(1, 6), 'B': range(10, 0, -2)})\n>>> df\n A B\n0 1 10\n1 2 8\n2 3 6\n3 4 4\n4 5 2\n>>> df.eval('A + B')\n0 11\n1 10\n2 9\n3 8\n4 7\ndtype: int64\n\nAssignment is allowed though by default the original DataFrame is not\nmodified.\n\n>>> df.eval('C = A + B')\n A B C\n0 1 10 11\n1 2 8 10\n2 3 6 9\n3 4 4 8\n4 5 2 7\n>>> df\n A B\n0 1 10\n1 2 8\n2 3 6\n3 4 4\n4 5 2\n\nMultiple columns can be assigned to using multi-line expressions:\n\n>>> df.eval(\n... '''\n... C = A + B\n... D = A - B\n... '''\n... )\n A B C D\n0 1 10 11 -9\n1 2 8 10 -6\n2 3 6 9 -3\n3 4 4 8 0\n4 5 2 7 3\n"}, "kind": 2, "label": "eval", "sortText": " 55"}, {"detail": "bound method DataFrame.ewm(com: float | None = None, span: float | None = None, halflife: float | timedelta | timedelta64[Any] | ... omitted 3 union elements = None, alpha: float | None = None, min_periods: int | None = 0, adjust: bool = True, ignore_na: bool = False, axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., times: ndarray[_AnyShape, dtype[Any]] | DataFrame | Series | None = None, method: Literal[\"single\", \"table\"] = \"single\") -> ExponentialMovingWindow", "kind": 2, "label": "ewm", "sortText": " 56"}, {"detail": "bound method DataFrame.expanding(min_periods: int = 1, axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., method: Literal[\"single\", \"table\"] = \"single\") -> Expanding", "kind": 2, "label": "expanding", "sortText": " 57"}, {"detail": "bound method DataFrame.explode(column: Hashable | Sequence[Hashable], ignore_index: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Transform each element of a list-like to a row, replicating index values.\n\nParameters\n----------\ncolumn : IndexLabel\n Column(s) to explode.\n For multiple columns, specify a non-empty list with each element\n be str or tuple, and all specified columns their list-like data\n on same row of the frame must have matching length.\n\n .. versionadded:: 1.3.0\n Multi-column explode\n\nignore_index : bool, default False\n If True, the resulting index will be labeled 0, 1, \u2026, n - 1.\n\nReturns\n-------\nDataFrame\n Exploded lists to rows of the subset columns;\n index will be duplicated for these rows.\n\nRaises\n------\nValueError :\n * If columns of the frame are not unique.\n * If specified columns to explode is empty list.\n * If specified columns to explode have not matching count of\n elements rowwise in the frame.\n\nSee Also\n--------\nDataFrame.unstack : Pivot a level of the (necessarily hierarchical)\n index labels.\nDataFrame.melt : Unpivot a DataFrame from wide format to long format.\nSeries.explode : Explode a DataFrame from list-like columns to long format.\n\nNotes\n-----\nThis routine will explode list-likes including lists, tuples, sets,\nSeries, and np.ndarray. The result dtype of the subset rows will\nbe object. Scalars will be returned unchanged, and empty list-likes will\nresult in a np.nan for that row. In addition, the ordering of rows in the\noutput will be non-deterministic when exploding sets.\n\nReference :ref:`the user guide ` for more examples.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [[0, 1, 2], 'foo', [], [3, 4]],\n... 'B': 1,\n... 'C': [['a', 'b', 'c'], np.nan, [], ['d', 'e']]})\n>>> df\n A B C\n0 [0, 1, 2] 1 [a, b, c]\n1 foo 1 NaN\n2 [] 1 []\n3 [3, 4] 1 [d, e]\n\nSingle-column explode.\n\n>>> df.explode('A')\n A B C\n0 0 1 [a, b, c]\n0 1 1 [a, b, c]\n0 2 1 [a, b, c]\n1 foo 1 NaN\n2 NaN 1 []\n3 3 1 [d, e]\n3 4 1 [d, e]\n\nMulti-column explode.\n\n>>> df.explode(list('AC'))\n A B C\n0 0 1 a\n0 1 1 b\n0 2 1 c\n1 foo 1 NaN\n2 NaN 1 NaN\n3 3 1 d\n3 4 1 e\n"}, "kind": 2, "label": "explode", "sortText": " 58"}, {"detail": "Overload[(*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: Literal[False] = ..., limit: None | int = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame, (*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: Literal[True], limit: None | int = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> None, (*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: bool = ..., limit: None | int = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Fill NA/NaN values by propagating the last valid observation to next valid.\n\nParameters\n----------\naxis : {axes_single_arg}\n Axis along which to fill missing values. For `Series`\n this parameter is unused and defaults to 0.\ninplace : bool, default False\n If True, fill in-place. Note: this will modify any\n other views on this object (e.g., a no-copy slice for a column in a\n DataFrame).\nlimit : int, default None\n If method is specified, this is the maximum number of consecutive\n NaN values to forward/backward fill. In other words, if there is\n a gap with more than this number of consecutive NaNs, it will only\n be partially filled. If method is not specified, this is the\n maximum number of entries along the entire axis where NaNs will be\n filled. Must be greater than 0 if not None.\nlimit_area : {{`None`, 'inside', 'outside'}}, default None\n If limit is specified, consecutive NaNs will be filled with this\n restriction.\n\n * ``None``: No fill restriction.\n * 'inside': Only fill NaNs surrounded by valid values\n (interpolate).\n * 'outside': Only fill NaNs outside valid values (extrapolate).\n\n .. versionadded:: 2.2.0\n\ndowncast : dict, default is None\n A dict of item->dtype of what to downcast if possible,\n or the string 'infer' which will try to downcast to an appropriate\n equal type (e.g. float64 to int64 if possible).\n\n .. deprecated:: 2.2.0\n\nReturns\n-------\n{klass} or None\n Object with missing values filled or None if ``inplace=True``.\n\nExamples\n--------\n>>> df = pd.DataFrame([[np.nan, 2, np.nan, 0],\n... [3, 4, np.nan, 1],\n... [np.nan, np.nan, np.nan, np.nan],\n... [np.nan, 3, np.nan, 4]],\n... columns=list(\"ABCD\"))\n>>> df\n A B C D\n0 NaN 2.0 NaN 0.0\n1 3.0 4.0 NaN 1.0\n2 NaN NaN NaN NaN\n3 NaN 3.0 NaN 4.0\n\n>>> df.ffill()\n A B C D\n0 NaN 2.0 NaN 0.0\n1 3.0 4.0 NaN 1.0\n2 3.0 4.0 NaN 1.0\n3 3.0 3.0 NaN 4.0\n\n>>> ser = pd.Series([1, np.nan, 2, 3])\n>>> ser.ffill()\n0 1.0\n1 1.0\n2 2.0\n3 3.0\ndtype: float64\n"}, "kind": 2, "label": "ffill", "sortText": " 59"}, {"detail": "Overload[(value: Hashable | Mapping[Unknown, Unknown] | Series | DataFrame = ..., *, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: Literal[False] = ..., limit: int | None = ..., downcast: dict[Unknown, Unknown] | None = ...) -> DataFrame, (value: Hashable | Mapping[Unknown, Unknown] | Series | DataFrame = ..., *, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: Literal[True], limit: int | None = ..., downcast: dict[Unknown, Unknown] | None = ...) -> None, (value: Hashable | Mapping[Unknown, Unknown] | Series | DataFrame = ..., *, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: bool = ..., limit: int | None = ..., downcast: dict[Unknown, Unknown] | None = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Fill NA/NaN values using the specified method.\n\nParameters\n----------\nvalue : scalar, dict, Series, or DataFrame\n Value to use to fill holes (e.g. 0), alternately a\n dict/Series/DataFrame of values specifying which value to use for\n each index (for a Series) or column (for a DataFrame). Values not\n in the dict/Series/DataFrame will not be filled. This value cannot\n be a list.\nmethod : {{'backfill', 'bfill', 'ffill', None}}, default None\n Method to use for filling holes in reindexed Series:\n\n * ffill: propagate last valid observation forward to next valid.\n * backfill / bfill: use next valid observation to fill gap.\n\n .. deprecated:: 2.1.0\n Use ffill or bfill instead.\n\naxis : {axes_single_arg}\n Axis along which to fill missing values. For `Series`\n this parameter is unused and defaults to 0.\ninplace : bool, default False\n If True, fill in-place. Note: this will modify any\n other views on this object (e.g., a no-copy slice for a column in a\n DataFrame).\nlimit : int, default None\n If method is specified, this is the maximum number of consecutive\n NaN values to forward/backward fill. In other words, if there is\n a gap with more than this number of consecutive NaNs, it will only\n be partially filled. If method is not specified, this is the\n maximum number of entries along the entire axis where NaNs will be\n filled. Must be greater than 0 if not None.\ndowncast : dict, default is None\n A dict of item->dtype of what to downcast if possible,\n or the string 'infer' which will try to downcast to an appropriate\n equal type (e.g. float64 to int64 if possible).\n\n .. deprecated:: 2.2.0\n\nReturns\n-------\n{klass} or None\n Object with missing values filled or None if ``inplace=True``.\n\nSee Also\n--------\nffill : Fill values by propagating the last valid observation to next valid.\nbfill : Fill values by using the next valid observation to fill the gap.\ninterpolate : Fill NaN values using interpolation.\nreindex : Conform object to new index.\nasfreq : Convert TimeSeries to specified frequency.\n\nExamples\n--------\n>>> df = pd.DataFrame([[np.nan, 2, np.nan, 0],\n... [3, 4, np.nan, 1],\n... [np.nan, np.nan, np.nan, np.nan],\n... [np.nan, 3, np.nan, 4]],\n... columns=list(\"ABCD\"))\n>>> df\n A B C D\n0 NaN 2.0 NaN 0.0\n1 3.0 4.0 NaN 1.0\n2 NaN NaN NaN NaN\n3 NaN 3.0 NaN 4.0\n\nReplace all NaN elements with 0s.\n\n>>> df.fillna(0)\n A B C D\n0 0.0 2.0 0.0 0.0\n1 3.0 4.0 0.0 1.0\n2 0.0 0.0 0.0 0.0\n3 0.0 3.0 0.0 4.0\n\nReplace all NaN elements in column 'A', 'B', 'C', and 'D', with 0, 1,\n2, and 3 respectively.\n\n>>> values = {{\"A\": 0, \"B\": 1, \"C\": 2, \"D\": 3}}\n>>> df.fillna(value=values)\n A B C D\n0 0.0 2.0 2.0 0.0\n1 3.0 4.0 2.0 1.0\n2 0.0 1.0 2.0 3.0\n3 0.0 3.0 2.0 4.0\n\nOnly replace the first NaN element.\n\n>>> df.fillna(value=values, limit=1)\n A B C D\n0 0.0 2.0 2.0 0.0\n1 3.0 4.0 NaN 1.0\n2 NaN 1.0 NaN 3.0\n3 NaN 3.0 NaN 4.0\n\nWhen filling using a DataFrame, replacement happens along\nthe same column names and same indices\n\n>>> df2 = pd.DataFrame(np.zeros((4, 4)), columns=list(\"ABCE\"))\n>>> df.fillna(df2)\n A B C D\n0 0.0 2.0 0.0 0.0\n1 3.0 4.0 0.0 1.0\n2 0.0 0.0 0.0 NaN\n3 0.0 3.0 0.0 4.0\n\nNote that column D is not affected since it is not present in df2.\n"}, "kind": 2, "label": "fillna", "sortText": " 60"}, {"detail": "bound method DataFrame.filter(items=None, like: str | None = None, regex: str | None = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Subset the dataframe rows or columns according to the specified index labels.\n\nNote that this routine does not filter a dataframe on its\ncontents. The filter is applied to the labels of the index.\n\nParameters\n----------\nitems : list-like\n Keep labels from axis which are in items.\nlike : str\n Keep labels from axis for which \"like in label == True\".\nregex : str (regular expression)\n Keep labels from axis for which re.search(regex, label) == True.\naxis : {0 or 'index', 1 or 'columns', None}, default None\n The axis to filter on, expressed either as an index (int)\n or axis name (str). By default this is the info axis, 'columns' for\n DataFrame. For `Series` this parameter is unused and defaults to `None`.\n\nReturns\n-------\nsame type as input object\n\nSee Also\n--------\nDataFrame.loc : Access a group of rows and columns\n by label(s) or a boolean array.\n\nNotes\n-----\nThe ``items``, ``like``, and ``regex`` parameters are\nenforced to be mutually exclusive.\n\n``axis`` defaults to the info axis that is used when indexing\nwith ``[]``.\n\nExamples\n--------\n>>> df = pd.DataFrame(np.array(([1, 2, 3], [4, 5, 6])),\n... index=['mouse', 'rabbit'],\n... columns=['one', 'two', 'three'])\n>>> df\n one two three\nmouse 1 2 3\nrabbit 4 5 6\n\n>>> # select columns by name\n>>> df.filter(items=['one', 'three'])\n one three\nmouse 1 3\nrabbit 4 6\n\n>>> # select columns by regular expression\n>>> df.filter(regex='e$', axis=1)\n one three\nmouse 1 3\nrabbit 4 6\n\n>>> # select rows containing 'bbi'\n>>> df.filter(like='bbi', axis=0)\n one two three\nrabbit 4 5 6\n"}, "kind": 2, "label": "filter", "sortText": " 61"}, {"detail": "bound method DataFrame.first(offset) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Select initial periods of time series data based on a date offset.\n\n.. deprecated:: 2.1\n :meth:`.first` is deprecated and will be removed in a future version.\n Please create a mask and filter using `.loc` instead.\n\nFor a DataFrame with a sorted DatetimeIndex, this function can\nselect the first few rows based on a date offset.\n\nParameters\n----------\noffset : str, DateOffset or dateutil.relativedelta\n The offset length of the data that will be selected. For instance,\n '1ME' will display all the rows having their index within the first month.\n\nReturns\n-------\nSeries or DataFrame\n A subset of the caller.\n\nRaises\n------\nTypeError\n If the index is not a :class:`DatetimeIndex`\n\nSee Also\n--------\nlast : Select final periods of time series based on a date offset.\nat_time : Select values at a particular time of the day.\nbetween_time : Select values between particular times of the day.\n\nExamples\n--------\n>>> i = pd.date_range('2018-04-09', periods=4, freq='2D')\n>>> ts = pd.DataFrame({'A': [1, 2, 3, 4]}, index=i)\n>>> ts\n A\n2018-04-09 1\n2018-04-11 2\n2018-04-13 3\n2018-04-15 4\n\nGet the rows for the first 3 days:\n\n>>> ts.first('3D')\n A\n2018-04-09 1\n2018-04-11 2\n\nNotice the data for 3 first calendar days were returned, not the first\n3 days observed in the dataset, and therefore data for 2018-04-13 was\nnot returned.\n"}, "kind": 2, "label": "first", "sortText": " 62"}, {"detail": "bound method DataFrame.first_valid_index() -> Hashable", "documentation": {"kind": "plaintext", "value": "Return index for {position} non-NA value or None, if no non-NA value is found.\n\nReturns\n-------\ntype of index\n\nExamples\n--------\nFor Series:\n\n>>> s = pd.Series([None, 3, 4])\n>>> s.first_valid_index()\n1\n>>> s.last_valid_index()\n2\n\n>>> s = pd.Series([None, None])\n>>> print(s.first_valid_index())\nNone\n>>> print(s.last_valid_index())\nNone\n\nIf all elements in Series are NA/null, returns None.\n\n>>> s = pd.Series()\n>>> print(s.first_valid_index())\nNone\n>>> print(s.last_valid_index())\nNone\n\nIf Series is empty, returns None.\n\nFor DataFrame:\n\n>>> df = pd.DataFrame({{'A': [None, None, 2], 'B': [None, 3, 4]}})\n>>> df\n A B\n0 NaN NaN\n1 NaN 3.0\n2 2.0 4.0\n>>> df.first_valid_index()\n1\n>>> df.last_valid_index()\n2\n\n>>> df = pd.DataFrame({{'A': [None, None, None], 'B': [None, None, None]}})\n>>> df\n A B\n0 None None\n1 None None\n2 None None\n>>> print(df.first_valid_index())\nNone\n>>> print(df.last_valid_index())\nNone\n\nIf all elements in DataFrame are NA/null, returns None.\n\n>>> df = pd.DataFrame()\n>>> df\nEmpty DataFrame\nColumns: []\nIndex: []\n>>> print(df.first_valid_index())\nNone\n>>> print(df.last_valid_index())\nNone\n\nIf DataFrame is empty, returns None.\n"}, "kind": 2, "label": "first_valid_index", "sortText": " 63"}, {"detail": "Flags", "documentation": {"kind": "plaintext", "value": "Flags that apply to pandas objects.\n\nParameters\n----------\nobj : Series or DataFrame\n The object these flags are associated with.\nallows_duplicate_labels : bool, default True\n Whether to allow duplicate labels in this object. By default,\n duplicate labels are permitted. Setting this to ``False`` will\n cause an :class:`errors.DuplicateLabelError` to be raised when\n `index` (or columns for DataFrame) is not unique, or any\n subsequent operation on introduces duplicates.\n See :ref:`duplicates.disallow` for more.\n\n .. warning::\n\n This is an experimental feature. Currently, many methods fail to\n propagate the ``allows_duplicate_labels`` value. In future versions\n it is expected that every method taking or returning one or more\n DataFrame or Series objects will propagate ``allows_duplicate_labels``.\n\nExamples\n--------\nAttributes can be set in two ways:\n\n>>> df = pd.DataFrame()\n>>> df.flags\n\n>>> df.flags.allows_duplicate_labels = False\n>>> df.flags\n\n\n>>> df.flags['allows_duplicate_labels'] = True\n>>> df.flags\n\n"}, "kind": 22, "label": "flags", "sortText": " 64"}, {"detail": "bound method DataFrame.floordiv(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "floordiv", "sortText": " 65"}, {"detail": "bound method type[DataFrame].from_dict(data: dict[Unknown, Unknown], orient: Literal[\"columns\", \"index\", \"tight\"] = \"columns\", dtype: ExtensionDtype | str | dtype[Any] | type | None = None, columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Construct DataFrame from dict of array-like or dicts.\n\nCreates DataFrame object from dictionary by columns or by index\nallowing dtype specification.\n\nParameters\n----------\ndata : dict\n Of the form {field : array-like} or {field : dict}.\norient : {'columns', 'index', 'tight'}, default 'columns'\n The \"orientation\" of the data. If the keys of the passed dict\n should be the columns of the resulting DataFrame, pass 'columns'\n (default). Otherwise if the keys should be rows, pass 'index'.\n If 'tight', assume a dict with keys ['index', 'columns', 'data',\n 'index_names', 'column_names'].\n\n .. versionadded:: 1.4.0\n 'tight' as an allowed value for the ``orient`` argument\n\ndtype : dtype, default None\n Data type to force after DataFrame construction, otherwise infer.\ncolumns : list, default None\n Column labels to use when ``orient='index'``. Raises a ValueError\n if used with ``orient='columns'`` or ``orient='tight'``.\n\nReturns\n-------\nDataFrame\n\nSee Also\n--------\nDataFrame.from_records : DataFrame from structured ndarray, sequence\n of tuples or dicts, or DataFrame.\nDataFrame : DataFrame object creation using constructor.\nDataFrame.to_dict : Convert the DataFrame to a dictionary.\n\nExamples\n--------\nBy default the keys of the dict become the DataFrame columns:\n\n>>> data = {'col_1': [3, 2, 1, 0], 'col_2': ['a', 'b', 'c', 'd']}\n>>> pd.DataFrame.from_dict(data)\n col_1 col_2\n0 3 a\n1 2 b\n2 1 c\n3 0 d\n\nSpecify ``orient='index'`` to create the DataFrame using dictionary\nkeys as rows:\n\n>>> data = {'row_1': [3, 2, 1, 0], 'row_2': ['a', 'b', 'c', 'd']}\n>>> pd.DataFrame.from_dict(data, orient='index')\n 0 1 2 3\nrow_1 3 2 1 0\nrow_2 a b c d\n\nWhen using the 'index' orientation, the column names can be\nspecified manually:\n\n>>> pd.DataFrame.from_dict(data, orient='index',\n... columns=['A', 'B', 'C', 'D'])\n A B C D\nrow_1 3 2 1 0\nrow_2 a b c d\n\nSpecify ``orient='tight'`` to create the DataFrame using a 'tight'\nformat:\n\n>>> data = {'index': [('a', 'b'), ('a', 'c')],\n... 'columns': [('x', 1), ('y', 2)],\n... 'data': [[1, 3], [2, 4]],\n... 'index_names': ['n1', 'n2'],\n... 'column_names': ['z1', 'z2']}\n>>> pd.DataFrame.from_dict(data, orient='tight')\nz1 x y\nz2 1 2\nn1 n2\na b 1 3\n c 2 4\n"}, "kind": 2, "label": "from_dict", "sortText": " 66"}, {"detail": "bound method type[DataFrame].from_records(data, index=None, exclude=None, columns=None, coerce_float: bool = False, nrows: int | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Convert structured or record ndarray to DataFrame.\n\nCreates a DataFrame object from a structured ndarray, sequence of\ntuples or dicts, or DataFrame.\n\nParameters\n----------\ndata : structured ndarray, sequence of tuples or dicts, or DataFrame\n Structured input data.\n\n .. deprecated:: 2.1.0\n Passing a DataFrame is deprecated.\nindex : str, list of fields, array-like\n Field of array to use as the index, alternately a specific set of\n input labels to use.\nexclude : sequence, default None\n Columns or fields to exclude.\ncolumns : sequence, default None\n Column names to use. If the passed data do not have names\n associated with them, this argument provides names for the\n columns. Otherwise this argument indicates the order of the columns\n in the result (any names not found in the data will become all-NA\n columns).\ncoerce_float : bool, default False\n Attempt to convert values of non-string, non-numeric objects (like\n decimal.Decimal) to floating point, useful for SQL result sets.\nnrows : int, default None\n Number of rows to read if data is an iterator.\n\nReturns\n-------\nDataFrame\n\nSee Also\n--------\nDataFrame.from_dict : DataFrame from dict of array-like or dicts.\nDataFrame : DataFrame object creation using constructor.\n\nExamples\n--------\nData can be provided as a structured ndarray:\n\n>>> data = np.array([(3, 'a'), (2, 'b'), (1, 'c'), (0, 'd')],\n... dtype=[('col_1', 'i4'), ('col_2', 'U1')])\n>>> pd.DataFrame.from_records(data)\n col_1 col_2\n0 3 a\n1 2 b\n2 1 c\n3 0 d\n\nData can be provided as a list of dicts:\n\n>>> data = [{'col_1': 3, 'col_2': 'a'},\n... {'col_1': 2, 'col_2': 'b'},\n... {'col_1': 1, 'col_2': 'c'},\n... {'col_1': 0, 'col_2': 'd'}]\n>>> pd.DataFrame.from_records(data)\n col_1 col_2\n0 3 a\n1 2 b\n2 1 c\n3 0 d\n\nData can be provided as a list of tuples with corresponding columns:\n\n>>> data = [(3, 'a'), (2, 'b'), (1, 'c'), (0, 'd')]\n>>> pd.DataFrame.from_records(data, columns=['col_1', 'col_2'])\n col_1 col_2\n0 3 a\n1 2 b\n2 1 c\n3 0 d\n"}, "kind": 2, "label": "from_records", "sortText": " 67"}, {"detail": "bound method DataFrame.ge(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "ge", "sortText": " 68"}, {"detail": "bound method DataFrame.get(key, default=None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Get item from object for given key (ex: DataFrame column).\n\nReturns default value if not found.\n\nParameters\n----------\nkey : object\n\nReturns\n-------\nsame type as items contained in object\n\nExamples\n--------\n>>> df = pd.DataFrame(\n... [\n... [24.3, 75.7, \"high\"],\n... [31, 87.8, \"high\"],\n... [22, 71.6, \"medium\"],\n... [35, 95, \"medium\"],\n... ],\n... columns=[\"temp_celsius\", \"temp_fahrenheit\", \"windspeed\"],\n... index=pd.date_range(start=\"2014-02-12\", end=\"2014-02-15\", freq=\"D\"),\n... )\n\n>>> df\n temp_celsius temp_fahrenheit windspeed\n2014-02-12 24.3 75.7 high\n2014-02-13 31.0 87.8 high\n2014-02-14 22.0 71.6 medium\n2014-02-15 35.0 95.0 medium\n\n>>> df.get([\"temp_celsius\", \"windspeed\"])\n temp_celsius windspeed\n2014-02-12 24.3 high\n2014-02-13 31.0 high\n2014-02-14 22.0 medium\n2014-02-15 35.0 medium\n\n>>> ser = df['windspeed']\n>>> ser.get('2014-02-13')\n'high'\n\nIf the key isn't found, the default value will be used.\n\n>>> df.get([\"temp_celsius\", \"temp_kelvin\"], default=\"default_value\")\n'default_value'\n\n>>> ser.get('2014-02-10', '[unknown]')\n'[unknown]'\n"}, "kind": 2, "label": "get", "sortText": " 69"}, {"detail": "bound method DataFrame.groupby(by=None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., level: Hashable | Sequence[Hashable] = None, as_index: bool = True, sort: bool = True, group_keys: bool = True, observed: bool | _NoDefault = ..., dropna: bool = True) -> DataFrameGroupBy", "kind": 2, "label": "groupby", "sortText": " 70"}, {"detail": "bound method DataFrame.gt(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "gt", "sortText": " 71"}, {"detail": "bound method DataFrame.head(n: int = 5) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the first `n` rows.\n\nThis function returns the first `n` rows for the object based\non position. It is useful for quickly testing if your object\nhas the right type of data in it.\n\nFor negative values of `n`, this function returns all rows except\nthe last `|n|` rows, equivalent to ``df[:n]``.\n\nIf n is larger than the number of rows, this function returns all rows.\n\nParameters\n----------\nn : int, default 5\n Number of rows to select.\n\nReturns\n-------\nsame type as caller\n The first `n` rows of the caller object.\n\nSee Also\n--------\nDataFrame.tail: Returns the last `n` rows.\n\nExamples\n--------\n>>> df = pd.DataFrame({'animal': ['alligator', 'bee', 'falcon', 'lion',\n... 'monkey', 'parrot', 'shark', 'whale', 'zebra']})\n>>> df\n animal\n0 alligator\n1 bee\n2 falcon\n3 lion\n4 monkey\n5 parrot\n6 shark\n7 whale\n8 zebra\n\nViewing the first 5 lines\n\n>>> df.head()\n animal\n0 alligator\n1 bee\n2 falcon\n3 lion\n4 monkey\n\nViewing the first `n` lines (three in this case)\n\n>>> df.head(3)\n animal\n0 alligator\n1 bee\n2 falcon\n\nFor negative values of `n`\n\n>>> df.head(-3)\n animal\n0 alligator\n1 bee\n2 falcon\n3 lion\n4 monkey\n5 parrot\n"}, "kind": 2, "label": "head", "sortText": " 72"}, {"detail": "(column: Hashable | Sequence[Hashable] = None, by=None, grid: bool = True, xlabelsize: int | None = None, xrot: float | None = None, ylabelsize: int | None = None, yrot: float | None = None, ax=None, sharex: bool = False, sharey: bool = False, figsize: tuple[int, int] | None = None, layout: tuple[int, int] | None = None, bins: int | Sequence[int] = 10, backend: str | None = None, legend: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "hist", "sortText": " 73"}, {"detail": "_iAtIndexer", "kind": 22, "label": "iat", "sortText": " 74"}, {"detail": "bound method DataFrame.idxmax(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, skipna: bool = True, numeric_only: bool = False) -> Series", "kind": 2, "label": "idxmax", "sortText": " 75"}, {"detail": "bound method DataFrame.idxmin(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, skipna: bool = True, numeric_only: bool = False) -> Series", "kind": 2, "label": "idxmin", "sortText": " 76"}, {"detail": "_iLocIndexer", "kind": 22, "label": "iloc", "sortText": " 77"}, {"detail": "Index", "documentation": {"kind": "plaintext", "value": "Immutable sequence used for indexing and alignment.\n\nThe basic object storing axis labels for all pandas objects.\n\n.. versionchanged:: 2.0.0\n\n Index can hold all numpy numeric dtypes (except float16). Previously only\n int64/uint64/float64 dtypes were accepted.\n\nParameters\n----------\ndata : array-like (1-dimensional)\ndtype : str, numpy.dtype, or ExtensionDtype, optional\n Data type for the output Index. If not specified, this will be\n inferred from `data`.\n See the :ref:`user guide ` for more usages.\ncopy : bool, default False\n Copy input data.\nname : object\n Name to be stored in the index.\ntupleize_cols : bool (default: True)\n When True, attempt to create a MultiIndex if possible.\n\nSee Also\n--------\nRangeIndex : Index implementing a monotonic integer range.\nCategoricalIndex : Index of :class:`Categorical` s.\nMultiIndex : A multi-level, or hierarchical Index.\nIntervalIndex : An Index of :class:`Interval` s.\nDatetimeIndex : Index of datetime64 data.\nTimedeltaIndex : Index of timedelta64 data.\nPeriodIndex : Index of Period data.\n\nNotes\n-----\nAn Index instance can **only** contain hashable objects.\nAn Index instance *can not* hold numpy float16 dtype.\n\nExamples\n--------\n>>> pd.Index([1, 2, 3])\nIndex([1, 2, 3], dtype='int64')\n\n>>> pd.Index(list('abc'))\nIndex(['a', 'b', 'c'], dtype='object')\n\n>>> pd.Index([1, 2, 3], dtype=\"uint8\")\nIndex([1, 2, 3], dtype='uint8')\n"}, "kind": 22, "label": "index", "sortText": " 78"}, {"detail": "bound method DataFrame.infer_objects(copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Attempt to infer better dtypes for object columns.\n\nAttempts soft conversion of object-dtyped\ncolumns, leaving non-object and unconvertible\ncolumns unchanged. The inference rules are the\nsame as during normal Series/DataFrame construction.\n\nParameters\n----------\ncopy : bool, default True\n Whether to make a copy for non-object or non-inferable columns\n or Series.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\nsame type as input object\n\nSee Also\n--------\nto_datetime : Convert argument to datetime.\nto_timedelta : Convert argument to timedelta.\nto_numeric : Convert argument to numeric type.\nconvert_dtypes : Convert argument to best possible dtype.\n\nExamples\n--------\n>>> df = pd.DataFrame({\"A\": [\"a\", 1, 2, 3]})\n>>> df = df.iloc[1:]\n>>> df\n A\n1 1\n2 2\n3 3\n\n>>> df.dtypes\nA object\ndtype: object\n\n>>> df.infer_objects().dtypes\nA int64\ndtype: object\n"}, "kind": 2, "label": "infer_objects", "sortText": " 79"}, {"detail": "bound method DataFrame.info(verbose: bool | None = None, buf: WriteBuffer[str] | None = None, max_cols: int | None = None, memory_usage: bool | str | None = None, show_counts: bool | None = None) -> None", "kind": 2, "label": "info", "sortText": " 80"}, {"detail": "bound method DataFrame.insert(loc: int, column: Hashable, value: str | float | Period | ... omitted 9 union elements, allow_duplicates: bool | _NoDefault = ...) -> None", "documentation": {"kind": "plaintext", "value": "Insert column into DataFrame at specified location.\n\nRaises a ValueError if `column` is already contained in the DataFrame,\nunless `allow_duplicates` is set to True.\n\nParameters\n----------\nloc : int\n Insertion index. Must verify 0 <= loc <= len(columns).\ncolumn : str, number, or hashable object\n Label of the inserted column.\nvalue : Scalar, Series, or array-like\n Content of the inserted column.\nallow_duplicates : bool, optional, default lib.no_default\n Allow duplicate column labels to be created.\n\nSee Also\n--------\nIndex.insert : Insert new item by index.\n\nExamples\n--------\n>>> df = pd.DataFrame({'col1': [1, 2], 'col2': [3, 4]})\n>>> df\n col1 col2\n0 1 3\n1 2 4\n>>> df.insert(1, \"newcol\", [99, 99])\n>>> df\n col1 newcol col2\n0 1 99 3\n1 2 99 4\n>>> df.insert(0, \"col1\", [100, 100], allow_duplicates=True)\n>>> df\n col1 col1 newcol col2\n0 100 1 99 3\n1 100 2 99 4\n\nNotice that pandas uses index alignment in case of `value` from type `Series`:\n\n>>> df.insert(0, \"col0\", pd.Series([5, 6], index=[1, 2]))\n>>> df\n col0 col1 col1 newcol col2\n0 NaN 100 1 99 3\n1 5.0 100 2 99 4\n"}, "kind": 2, "label": "insert", "sortText": " 81"}, {"detail": "Overload[(method: Literal[\"linear\", \"time\", \"index\", \"values\", \"nearest\", ... omitted 13 literals] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., limit: int | None = ..., inplace: Literal[False] = ..., limit_direction: Literal[\"forward\", \"backward\", \"both\"] | None = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: Literal[\"infer\"] | None | _NoDefault = ..., **kwargs) -> DataFrame, (method: Literal[\"linear\", \"time\", \"index\", \"values\", \"nearest\", ... omitted 13 literals] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., limit: int | None = ..., inplace: Literal[True], limit_direction: Literal[\"forward\", \"backward\", \"both\"] | None = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: Literal[\"infer\"] | None | _NoDefault = ..., **kwargs) -> None, (method: Literal[\"linear\", \"time\", \"index\", \"values\", \"nearest\", ... omitted 13 literals] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., limit: int | None = ..., inplace: bool = ..., limit_direction: Literal[\"forward\", \"backward\", \"both\"] | None = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: Literal[\"infer\"] | None | _NoDefault = ..., **kwargs) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Fill NaN values using an interpolation method.\n\nPlease note that only ``method='linear'`` is supported for\nDataFrame/Series with a MultiIndex.\n\nParameters\n----------\nmethod : str, default 'linear'\n Interpolation technique to use. One of:\n\n * 'linear': Ignore the index and treat the values as equally\n spaced. This is the only method supported on MultiIndexes.\n * 'time': Works on daily and higher resolution data to interpolate\n given length of interval.\n * 'index', 'values': use the actual numerical values of the index.\n * 'pad': Fill in NaNs using existing values.\n * 'nearest', 'zero', 'slinear', 'quadratic', 'cubic',\n 'barycentric', 'polynomial': Passed to\n `scipy.interpolate.interp1d`, whereas 'spline' is passed to\n `scipy.interpolate.UnivariateSpline`. These methods use the numerical\n values of the index. Both 'polynomial' and 'spline' require that\n you also specify an `order` (int), e.g.\n ``df.interpolate(method='polynomial', order=5)``. Note that,\n `slinear` method in Pandas refers to the Scipy first order `spline`\n instead of Pandas first order `spline`.\n * 'krogh', 'piecewise_polynomial', 'spline', 'pchip', 'akima',\n 'cubicspline': Wrappers around the SciPy interpolation methods of\n similar names. See `Notes`.\n * 'from_derivatives': Refers to\n `scipy.interpolate.BPoly.from_derivatives`.\n\naxis : {{0 or 'index', 1 or 'columns', None}}, default None\n Axis to interpolate along. For `Series` this parameter is unused\n and defaults to 0.\nlimit : int, optional\n Maximum number of consecutive NaNs to fill. Must be greater than\n 0.\ninplace : bool, default False\n Update the data in place if possible.\nlimit_direction : {{'forward', 'backward', 'both'}}, Optional\n Consecutive NaNs will be filled in this direction.\n\n If limit is specified:\n * If 'method' is 'pad' or 'ffill', 'limit_direction' must be 'forward'.\n * If 'method' is 'backfill' or 'bfill', 'limit_direction' must be\n 'backwards'.\n\n If 'limit' is not specified:\n * If 'method' is 'backfill' or 'bfill', the default is 'backward'\n * else the default is 'forward'\n\n raises ValueError if `limit_direction` is 'forward' or 'both' and\n method is 'backfill' or 'bfill'.\n raises ValueError if `limit_direction` is 'backward' or 'both' and\n method is 'pad' or 'ffill'.\n\nlimit_area : {{`None`, 'inside', 'outside'}}, default None\n If limit is specified, consecutive NaNs will be filled with this\n restriction.\n\n * ``None``: No fill restriction.\n * 'inside': Only fill NaNs surrounded by valid values\n (interpolate).\n * 'outside': Only fill NaNs outside valid values (extrapolate).\n\ndowncast : optional, 'infer' or None, defaults to None\n Downcast dtypes if possible.\n\n .. deprecated:: 2.1.0\n\n``**kwargs`` : optional\n Keyword arguments to pass on to the interpolating function.\n\nReturns\n-------\nSeries or DataFrame or None\n Returns the same object type as the caller, interpolated at\n some or all ``NaN`` values or None if ``inplace=True``.\n\nSee Also\n--------\nfillna : Fill missing values using different methods.\nscipy.interpolate.Akima1DInterpolator : Piecewise cubic polynomials\n (Akima interpolator).\nscipy.interpolate.BPoly.from_derivatives : Piecewise polynomial in the\n Bernstein basis.\nscipy.interpolate.interp1d : Interpolate a 1-D function.\nscipy.interpolate.KroghInterpolator : Interpolate polynomial (Krogh\n interpolator).\nscipy.interpolate.PchipInterpolator : PCHIP 1-d monotonic cubic\n interpolation.\nscipy.interpolate.CubicSpline : Cubic spline data interpolator.\n\nNotes\n-----\nThe 'krogh', 'piecewise_polynomial', 'spline', 'pchip' and 'akima'\nmethods are wrappers around the respective SciPy implementations of\nsimilar names. These use the actual numerical values of the index.\nFor more information on their behavior, see the\n`SciPy documentation\n`__.\n\nExamples\n--------\nFilling in ``NaN`` in a :class:`~pandas.Series` via linear\ninterpolation.\n\n>>> s = pd.Series([0, 1, np.nan, 3])\n>>> s\n0 0.0\n1 1.0\n2 NaN\n3 3.0\ndtype: float64\n>>> s.interpolate()\n0 0.0\n1 1.0\n2 2.0\n3 3.0\ndtype: float64\n\nFilling in ``NaN`` in a Series via polynomial interpolation or splines:\nBoth 'polynomial' and 'spline' methods require that you also specify\nan ``order`` (int).\n\n>>> s = pd.Series([0, 2, np.nan, 8])\n>>> s.interpolate(method='polynomial', order=2)\n0 0.000000\n1 2.000000\n2 4.666667\n3 8.000000\ndtype: float64\n\nFill the DataFrame forward (that is, going down) along each column\nusing linear interpolation.\n\nNote how the last entry in column 'a' is interpolated differently,\nbecause there is no entry after it to use for interpolation.\nNote how the first entry in column 'b' remains ``NaN``, because there\nis no entry before it to use for interpolation.\n\n>>> df = pd.DataFrame([(0.0, np.nan, -1.0, 1.0),\n... (np.nan, 2.0, np.nan, np.nan),\n... (2.0, 3.0, np.nan, 9.0),\n... (np.nan, 4.0, -4.0, 16.0)],\n... columns=list('abcd'))\n>>> df\n a b c d\n0 0.0 NaN -1.0 1.0\n1 NaN 2.0 NaN NaN\n2 2.0 3.0 NaN 9.0\n3 NaN 4.0 -4.0 16.0\n>>> df.interpolate(method='linear', limit_direction='forward', axis=0)\n a b c d\n0 0.0 NaN -1.0 1.0\n1 1.0 2.0 -2.0 5.0\n2 2.0 3.0 -3.0 9.0\n3 2.0 4.0 -4.0 16.0\n\nUsing polynomial interpolation.\n\n>>> df['d'].interpolate(method='polynomial', order=2)\n0 1.0\n1 4.0\n2 9.0\n3 16.0\nName: d, dtype: float64\n"}, "kind": 2, "label": "interpolate", "sortText": " 82"}, {"detail": "bound method DataFrame.isetitem(loc, value) -> None", "documentation": {"kind": "plaintext", "value": "Set the given value in the column with position `loc`.\n\nThis is a positional analogue to ``__setitem__``.\n\nParameters\n----------\nloc : int or sequence of ints\n Index position for the column.\nvalue : scalar or arraylike\n Value(s) for the column.\n\nNotes\n-----\n``frame.isetitem(loc, value)`` is an in-place method as it will\nmodify the DataFrame in place (not returning a new object). In contrast to\n``frame.iloc[:, i] = value`` which will try to update the existing values in\nplace, ``frame.isetitem(loc, value)`` will not update the values of the column\nitself in place, it will instead insert a new array.\n\nIn cases where ``frame.columns`` is unique, this is equivalent to\n``frame[frame.columns[i]] = value``.\n"}, "kind": 2, "label": "isetitem", "sortText": " 83"}, {"detail": "bound method DataFrame.isin(values: Series | DataFrame | Sequence[Unknown] | Mapping[Unknown, Unknown]) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Whether each element in the DataFrame is contained in values.\n\nParameters\n----------\nvalues : iterable, Series, DataFrame or dict\n The result will only be true at a location if all the\n labels match. If `values` is a Series, that's the index. If\n `values` is a dict, the keys must be the column names,\n which must match. If `values` is a DataFrame,\n then both the index and column labels must match.\n\nReturns\n-------\nDataFrame\n DataFrame of booleans showing whether each element in the DataFrame\n is contained in values.\n\nSee Also\n--------\nDataFrame.eq: Equality test for DataFrame.\nSeries.isin: Equivalent method on Series.\nSeries.str.contains: Test if pattern or regex is contained within a\n string of a Series or Index.\n\nExamples\n--------\n>>> df = pd.DataFrame({'num_legs': [2, 4], 'num_wings': [2, 0]},\n... index=['falcon', 'dog'])\n>>> df\n num_legs num_wings\nfalcon 2 2\ndog 4 0\n\nWhen ``values`` is a list check whether every value in the DataFrame\nis present in the list (which animals have 0 or 2 legs or wings)\n\n>>> df.isin([0, 2])\n num_legs num_wings\nfalcon True True\ndog False True\n\nTo check if ``values`` is *not* in the DataFrame, use the ``~`` operator:\n\n>>> ~df.isin([0, 2])\n num_legs num_wings\nfalcon False False\ndog True False\n\nWhen ``values`` is a dict, we can pass values to check for each\ncolumn separately:\n\n>>> df.isin({'num_wings': [0, 3]})\n num_legs num_wings\nfalcon False False\ndog False True\n\nWhen ``values`` is a Series or DataFrame the index and column must\nmatch. Note that 'falcon' does not match based on the number of legs\nin other.\n\n>>> other = pd.DataFrame({'num_legs': [8, 3], 'num_wings': [0, 2]},\n... index=['spider', 'falcon'])\n>>> df.isin(other)\n num_legs num_wings\nfalcon False True\ndog False False\n"}, "kind": 2, "label": "isin", "sortText": " 84"}, {"detail": "bound method DataFrame.isna() -> DataFrame", "kind": 2, "label": "isna", "sortText": " 85"}, {"detail": "bound method DataFrame.isnull() -> DataFrame", "documentation": {"kind": "plaintext", "value": "DataFrame.isnull is an alias for DataFrame.isna.\n"}, "kind": 2, "label": "isnull", "sortText": " 86"}, {"detail": "bound method DataFrame.items() -> Iterable[tuple[Hashable, Series]]", "kind": 2, "label": "items", "sortText": " 87"}, {"detail": "bound method DataFrame.iterrows() -> Iterable[tuple[Hashable, Series]]", "documentation": {"kind": "plaintext", "value": "Iterate over DataFrame rows as (index, Series) pairs.\n\nYields\n------\nindex : label or tuple of label\n The index of the row. A tuple for a `MultiIndex`.\ndata : Series\n The data of the row as a Series.\n\nSee Also\n--------\nDataFrame.itertuples : Iterate over DataFrame rows as namedtuples of the values.\nDataFrame.items : Iterate over (column name, Series) pairs.\n\nNotes\n-----\n1. Because ``iterrows`` returns a Series for each row,\n it does **not** preserve dtypes across the rows (dtypes are\n preserved across columns for DataFrames).\n\n To preserve dtypes while iterating over the rows, it is better\n to use :meth:`itertuples` which returns namedtuples of the values\n and which is generally faster than ``iterrows``.\n\n2. You should **never modify** something you are iterating over.\n This is not guaranteed to work in all cases. Depending on the\n data types, the iterator returns a copy and not a view, and writing\n to it will have no effect.\n\nExamples\n--------\n\n>>> df = pd.DataFrame([[1, 1.5]], columns=['int', 'float'])\n>>> row = next(df.iterrows())[1]\n>>> row\nint 1.0\nfloat 1.5\nName: 0, dtype: float64\n>>> print(row['int'].dtype)\nfloat64\n>>> print(df['int'].dtype)\nint64\n"}, "kind": 2, "label": "iterrows", "sortText": " 88"}, {"detail": "bound method DataFrame.itertuples(index: bool = True, name: str | None = \"Pandas\") -> Iterable[tuple[Any, ...]]", "documentation": {"kind": "plaintext", "value": "Iterate over DataFrame rows as namedtuples.\n\nParameters\n----------\nindex : bool, default True\n If True, return the index as the first element of the tuple.\nname : str or None, default \"Pandas\"\n The name of the returned namedtuples or None to return regular\n tuples.\n\nReturns\n-------\niterator\n An object to iterate over namedtuples for each row in the\n DataFrame with the first field possibly being the index and\n following fields being the column values.\n\nSee Also\n--------\nDataFrame.iterrows : Iterate over DataFrame rows as (index, Series)\n pairs.\nDataFrame.items : Iterate over (column name, Series) pairs.\n\nNotes\n-----\nThe column names will be renamed to positional names if they are\ninvalid Python identifiers, repeated, or start with an underscore.\n\nExamples\n--------\n>>> df = pd.DataFrame({'num_legs': [4, 2], 'num_wings': [0, 2]},\n... index=['dog', 'hawk'])\n>>> df\n num_legs num_wings\ndog 4 0\nhawk 2 2\n>>> for row in df.itertuples():\n... print(row)\n...\nPandas(Index='dog', num_legs=4, num_wings=0)\nPandas(Index='hawk', num_legs=2, num_wings=2)\n\nBy setting the `index` parameter to False we can remove the index\nas the first element of the tuple:\n\n>>> for row in df.itertuples(index=False):\n... print(row)\n...\nPandas(num_legs=4, num_wings=0)\nPandas(num_legs=2, num_wings=2)\n\nWith the `name` parameter set we set a custom name for the yielded\nnamedtuples:\n\n>>> for row in df.itertuples(name='Animal'):\n... print(row)\n...\nAnimal(Index='dog', num_legs=4, num_wings=0)\nAnimal(Index='hawk', num_legs=2, num_wings=2)\n"}, "kind": 2, "label": "itertuples", "sortText": " 89"}, {"detail": "bound method DataFrame.join(other: DataFrame | Series | Iterable[DataFrame | Series], on: Hashable | Sequence[Hashable] = None, how: Literal[\"left\", \"right\", \"inner\", \"outer\", \"cross\"] = \"left\", lsuffix: str = \"\", rsuffix: str = \"\", sort: bool = False, validate: Literal[\"one_to_one\", \"1:1\", \"one_to_many\", \"1:m\", \"many_to_one\", ... omitted 3 literals] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Join columns of another DataFrame.\n\nJoin columns with `other` DataFrame either on index or on a key\ncolumn. Efficiently join multiple DataFrame objects by index at once by\npassing a list.\n\nParameters\n----------\nother : DataFrame, Series, or a list containing any combination of them\n Index should be similar to one of the columns in this one. If a\n Series is passed, its name attribute must be set, and that will be\n used as the column name in the resulting joined DataFrame.\non : str, list of str, or array-like, optional\n Column or index level name(s) in the caller to join on the index\n in `other`, otherwise joins index-on-index. If multiple\n values given, the `other` DataFrame must have a MultiIndex. Can\n pass an array as the join key if it is not already contained in\n the calling DataFrame. Like an Excel VLOOKUP operation.\nhow : {'left', 'right', 'outer', 'inner', 'cross'}, default 'left'\n How to handle the operation of the two objects.\n\n * left: use calling frame's index (or column if on is specified)\n * right: use `other`'s index.\n * outer: form union of calling frame's index (or column if on is\n specified) with `other`'s index, and sort it lexicographically.\n * inner: form intersection of calling frame's index (or column if\n on is specified) with `other`'s index, preserving the order\n of the calling's one.\n * cross: creates the cartesian product from both frames, preserves the order\n of the left keys.\nlsuffix : str, default ''\n Suffix to use from left frame's overlapping columns.\nrsuffix : str, default ''\n Suffix to use from right frame's overlapping columns.\nsort : bool, default False\n Order result DataFrame lexicographically by the join key. If False,\n the order of the join key depends on the join type (how keyword).\nvalidate : str, optional\n If specified, checks if join is of specified type.\n\n * \"one_to_one\" or \"1:1\": check if join keys are unique in both left\n and right datasets.\n * \"one_to_many\" or \"1:m\": check if join keys are unique in left dataset.\n * \"many_to_one\" or \"m:1\": check if join keys are unique in right dataset.\n * \"many_to_many\" or \"m:m\": allowed, but does not result in checks.\n\n .. versionadded:: 1.5.0\n\nReturns\n-------\nDataFrame\n A dataframe containing columns from both the caller and `other`.\n\nSee Also\n--------\nDataFrame.merge : For column(s)-on-column(s) operations.\n\nNotes\n-----\nParameters `on`, `lsuffix`, and `rsuffix` are not supported when\npassing a list of `DataFrame` objects.\n\nExamples\n--------\n>>> df = pd.DataFrame({'key': ['K0', 'K1', 'K2', 'K3', 'K4', 'K5'],\n... 'A': ['A0', 'A1', 'A2', 'A3', 'A4', 'A5']})\n\n>>> df\n key A\n0 K0 A0\n1 K1 A1\n2 K2 A2\n3 K3 A3\n4 K4 A4\n5 K5 A5\n\n>>> other = pd.DataFrame({'key': ['K0', 'K1', 'K2'],\n... 'B': ['B0', 'B1', 'B2']})\n\n>>> other\n key B\n0 K0 B0\n1 K1 B1\n2 K2 B2\n\nJoin DataFrames using their indexes.\n\n>>> df.join(other, lsuffix='_caller', rsuffix='_other')\n key_caller A key_other B\n0 K0 A0 K0 B0\n1 K1 A1 K1 B1\n2 K2 A2 K2 B2\n3 K3 A3 NaN NaN\n4 K4 A4 NaN NaN\n5 K5 A5 NaN NaN\n\nIf we want to join using the key columns, we need to set key to be\nthe index in both `df` and `other`. The joined DataFrame will have\nkey as its index.\n\n>>> df.set_index('key').join(other.set_index('key'))\n A B\nkey\nK0 A0 B0\nK1 A1 B1\nK2 A2 B2\nK3 A3 NaN\nK4 A4 NaN\nK5 A5 NaN\n\nAnother option to join using the key columns is to use the `on`\nparameter. DataFrame.join always uses `other`'s index but we can use\nany column in `df`. This method preserves the original DataFrame's\nindex in the result.\n\n>>> df.join(other.set_index('key'), on='key')\n key A B\n0 K0 A0 B0\n1 K1 A1 B1\n2 K2 A2 B2\n3 K3 A3 NaN\n4 K4 A4 NaN\n5 K5 A5 NaN\n\nUsing non-unique key values shows how they are matched.\n\n>>> df = pd.DataFrame({'key': ['K0', 'K1', 'K1', 'K3', 'K0', 'K1'],\n... 'A': ['A0', 'A1', 'A2', 'A3', 'A4', 'A5']})\n\n>>> df\n key A\n0 K0 A0\n1 K1 A1\n2 K1 A2\n3 K3 A3\n4 K0 A4\n5 K1 A5\n\n>>> df.join(other.set_index('key'), on='key', validate='m:1')\n key A B\n0 K0 A0 B0\n1 K1 A1 B1\n2 K1 A2 B1\n3 K3 A3 NaN\n4 K0 A4 B0\n5 K1 A5 B1\n"}, "kind": 2, "label": "join", "sortText": " 90"}, {"detail": "bound method DataFrame.keys() -> Index", "documentation": {"kind": "plaintext", "value": "Get the 'info axis' (see Indexing for more).\n\nThis is index for Series, columns for DataFrame.\n\nReturns\n-------\nIndex\n Info axis.\n\nExamples\n--------\n>>> d = pd.DataFrame(data={'A': [1, 2, 3], 'B': [0, 4, 8]},\n... index=['a', 'b', 'c'])\n>>> d\n A B\na 1 0\nb 2 4\nc 3 8\n>>> d.keys()\nIndex(['A', 'B'], dtype='object')\n"}, "kind": 2, "label": "keys", "sortText": " 91"}, {"detail": "bound method DataFrame.kurt(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "kurt", "sortText": " 92"}, {"detail": "(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "kurtosis", "sortText": " 93"}, {"detail": "bound method DataFrame.last(offset) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Select final periods of time series data based on a date offset.\n\n.. deprecated:: 2.1\n :meth:`.last` is deprecated and will be removed in a future version.\n Please create a mask and filter using `.loc` instead.\n\nFor a DataFrame with a sorted DatetimeIndex, this function\nselects the last few rows based on a date offset.\n\nParameters\n----------\noffset : str, DateOffset, dateutil.relativedelta\n The offset length of the data that will be selected. For instance,\n '3D' will display all the rows having their index within the last 3 days.\n\nReturns\n-------\nSeries or DataFrame\n A subset of the caller.\n\nRaises\n------\nTypeError\n If the index is not a :class:`DatetimeIndex`\n\nSee Also\n--------\nfirst : Select initial periods of time series based on a date offset.\nat_time : Select values at a particular time of the day.\nbetween_time : Select values between particular times of the day.\n\nNotes\n-----\n.. deprecated:: 2.1.0\n Please create a mask and filter using `.loc` instead\n\nExamples\n--------\n>>> i = pd.date_range('2018-04-09', periods=4, freq='2D')\n>>> ts = pd.DataFrame({'A': [1, 2, 3, 4]}, index=i)\n>>> ts\n A\n2018-04-09 1\n2018-04-11 2\n2018-04-13 3\n2018-04-15 4\n\nGet the rows for the last 3 days:\n\n>>> ts.last('3D') # doctest: +SKIP\n A\n2018-04-13 3\n2018-04-15 4\n\nNotice the data for 3 last calendar days were returned, not the last\n3 observed days in the dataset, and therefore data for 2018-04-11 was\nnot returned.\n"}, "kind": 2, "label": "last", "sortText": " 94"}, {"detail": "bound method DataFrame.last_valid_index() -> Hashable", "kind": 2, "label": "last_valid_index", "sortText": " 95"}, {"detail": "bound method DataFrame.le(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "le", "sortText": " 96"}, {"detail": "_LocIndexer", "kind": 22, "label": "loc", "sortText": " 97"}, {"detail": "bound method DataFrame.lt(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "lt", "sortText": " 98"}, {"detail": "bound method DataFrame.map(func: (Any, /) -> Any, na_action: str | None = None, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Apply a function to a Dataframe elementwise.\n\n.. versionadded:: 2.1.0\n\n DataFrame.applymap was deprecated and renamed to DataFrame.map.\n\nThis method applies a function that accepts and returns a scalar\nto every element of a DataFrame.\n\nParameters\n----------\nfunc : callable\n Python function, returns a single value from a single value.\nna_action : {None, 'ignore'}, default None\n If 'ignore', propagate NaN values, without passing them to func.\n**kwargs\n Additional keyword arguments to pass as keywords arguments to\n `func`.\n\nReturns\n-------\nDataFrame\n Transformed DataFrame.\n\nSee Also\n--------\nDataFrame.apply : Apply a function along input axis of DataFrame.\nDataFrame.replace: Replace values given in `to_replace` with `value`.\nSeries.map : Apply a function elementwise on a Series.\n\nExamples\n--------\n>>> df = pd.DataFrame([[1, 2.12], [3.356, 4.567]])\n>>> df\n 0 1\n0 1.000 2.120\n1 3.356 4.567\n\n>>> df.map(lambda x: len(str(x)))\n 0 1\n0 3 4\n1 5 5\n\nLike Series.map, NA values can be ignored:\n\n>>> df_copy = df.copy()\n>>> df_copy.iloc[0, 0] = pd.NA\n>>> df_copy.map(lambda x: len(str(x)), na_action='ignore')\n 0 1\n0 NaN 4\n1 5.0 5\n\nIt is also possible to use `map` with functions that are not\n`lambda` functions:\n\n>>> df.map(round, ndigits=1)\n 0 1\n0 1.0 2.1\n1 3.4 4.6\n\nNote that a vectorized version of `func` often exists, which will\nbe much faster. You could square each number elementwise.\n\n>>> df.map(lambda x: x**2)\n 0 1\n0 1.000000 4.494400\n1 11.262736 20.857489\n\nBut it's better to avoid map in that case.\n\n>>> df ** 2\n 0 1\n0 1.000000 4.494400\n1 11.262736 20.857489\n"}, "kind": 2, "label": "map", "sortText": " 99"}, {"detail": "Overload[(cond, other=..., *, inplace: Literal[False] = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> DataFrame, (cond, other=..., *, inplace: Literal[True], axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> None, (cond, other=..., *, inplace: bool = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> DataFrame | None]", "kind": 2, "label": "mask", "sortText": "100"}, {"detail": "bound method DataFrame.max(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "max", "sortText": "101"}, {"detail": "bound method DataFrame.mean(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "mean", "sortText": "102"}, {"detail": "bound method DataFrame.median(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "median", "sortText": "103"}, {"detail": "bound method DataFrame.melt(id_vars=None, value_vars=None, var_name=None, value_name: Hashable = \"value\", col_level: Hashable = None, ignore_index: bool = True) -> DataFrame", "kind": 2, "label": "melt", "sortText": "104"}, {"detail": "bound method DataFrame.memory_usage(index: bool = True, deep: bool = False) -> Series", "documentation": {"kind": "plaintext", "value": "Return the memory usage of each column in bytes.\n\nThe memory usage can optionally include the contribution of\nthe index and elements of `object` dtype.\n\nThis value is displayed in `DataFrame.info` by default. This can be\nsuppressed by setting ``pandas.options.display.memory_usage`` to False.\n\nParameters\n----------\nindex : bool, default True\n Specifies whether to include the memory usage of the DataFrame's\n index in returned Series. If ``index=True``, the memory usage of\n the index is the first item in the output.\ndeep : bool, default False\n If True, introspect the data deeply by interrogating\n `object` dtypes for system-level memory consumption, and include\n it in the returned values.\n\nReturns\n-------\nSeries\n A Series whose index is the original column names and whose values\n is the memory usage of each column in bytes.\n\nSee Also\n--------\nnumpy.ndarray.nbytes : Total bytes consumed by the elements of an\n ndarray.\nSeries.memory_usage : Bytes consumed by a Series.\nCategorical : Memory-efficient array for string values with\n many repeated values.\nDataFrame.info : Concise summary of a DataFrame.\n\nNotes\n-----\nSee the :ref:`Frequently Asked Questions ` for more\ndetails.\n\nExamples\n--------\n>>> dtypes = ['int64', 'float64', 'complex128', 'object', 'bool']\n>>> data = dict([(t, np.ones(shape=5000, dtype=int).astype(t))\n... for t in dtypes])\n>>> df = pd.DataFrame(data)\n>>> df.head()\n int64 float64 complex128 object bool\n0 1 1.0 1.0+0.0j 1 True\n1 1 1.0 1.0+0.0j 1 True\n2 1 1.0 1.0+0.0j 1 True\n3 1 1.0 1.0+0.0j 1 True\n4 1 1.0 1.0+0.0j 1 True\n\n>>> df.memory_usage()\nIndex 128\nint64 40000\nfloat64 40000\ncomplex128 80000\nobject 40000\nbool 5000\ndtype: int64\n\n>>> df.memory_usage(index=False)\nint64 40000\nfloat64 40000\ncomplex128 80000\nobject 40000\nbool 5000\ndtype: int64\n\nThe memory footprint of `object` dtype columns is ignored by default:\n\n>>> df.memory_usage(deep=True)\nIndex 128\nint64 40000\nfloat64 40000\ncomplex128 80000\nobject 180000\nbool 5000\ndtype: int64\n\nUse a Categorical for efficient storage of an object-dtype column with\nmany repeated values.\n\n>>> df['object'].astype('category').memory_usage(deep=True)\n5244\n"}, "kind": 2, "label": "memory_usage", "sortText": "105"}, {"detail": "bound method DataFrame.merge(right: DataFrame | Series, how: Literal[\"left\", \"right\", \"inner\", \"outer\", \"cross\"] = \"inner\", on: Hashable | Sequence[Hashable] | ExtensionArray | ... omitted 3 union elements = None, left_on: Hashable | Sequence[Hashable] | ExtensionArray | ... omitted 3 union elements = None, right_on: Hashable | Sequence[Hashable] | ExtensionArray | ... omitted 3 union elements = None, left_index: bool = False, right_index: bool = False, sort: bool = False, suffixes: tuple[str | None, str | None] = ..., copy: bool | None = None, indicator: str | bool = False, validate: Literal[\"one_to_one\", \"1:1\", \"one_to_many\", \"1:m\", \"many_to_one\", ... omitted 3 literals] | None = None) -> DataFrame", "kind": 2, "label": "merge", "sortText": "106"}, {"detail": "bound method DataFrame.min(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "min", "sortText": "107"}, {"detail": "bound method DataFrame.mod(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "mod", "sortText": "108"}, {"detail": "bound method DataFrame.mode(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, numeric_only: bool = False, dropna: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Get the mode(s) of each element along the selected axis.\n\nThe mode of a set of values is the value that appears most often.\nIt can be multiple values.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to iterate over while searching for the mode:\n\n * 0 or 'index' : get mode of each column\n * 1 or 'columns' : get mode of each row.\n\nnumeric_only : bool, default False\n If True, only apply to numeric columns.\ndropna : bool, default True\n Don't consider counts of NaN/NaT.\n\nReturns\n-------\nDataFrame\n The modes of each column or row.\n\nSee Also\n--------\nSeries.mode : Return the highest frequency value in a Series.\nSeries.value_counts : Return the counts of values in a Series.\n\nExamples\n--------\n>>> df = pd.DataFrame([('bird', 2, 2),\n... ('mammal', 4, np.nan),\n... ('arthropod', 8, 0),\n... ('bird', 2, np.nan)],\n... index=('falcon', 'horse', 'spider', 'ostrich'),\n... columns=('species', 'legs', 'wings'))\n>>> df\n species legs wings\nfalcon bird 2 2.0\nhorse mammal 4 NaN\nspider arthropod 8 0.0\nostrich bird 2 NaN\n\nBy default, missing values are not considered, and the mode of wings\nare both 0 and 2. Because the resulting DataFrame has two rows,\nthe second row of ``species`` and ``legs`` contains ``NaN``.\n\n>>> df.mode()\n species legs wings\n0 bird 2.0 0.0\n1 NaN NaN 2.0\n\nSetting ``dropna=False`` ``NaN`` values are considered and they can be\nthe mode (like for wings).\n\n>>> df.mode(dropna=False)\n species legs wings\n0 bird 2 NaN\n\nSetting ``numeric_only=True``, only the mode of numeric columns is\ncomputed, and columns of other types are ignored.\n\n>>> df.mode(numeric_only=True)\n legs wings\n0 2.0 0.0\n1 NaN 2.0\n\nTo compute the mode over columns and not rows, use the axis parameter:\n\n>>> df.mode(axis='columns', numeric_only=True)\n 0 1\nfalcon 2.0 NaN\nhorse 4.0 NaN\nspider 0.0 8.0\nostrich 2.0 NaN\n"}, "kind": 2, "label": "mode", "sortText": "109"}, {"detail": "bound method DataFrame.mul(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "mul", "sortText": "110"}, {"detail": "(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "multiply", "sortText": "111"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "name", "sortText": "112"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "ndim", "sortText": "113"}, {"detail": "bound method DataFrame.ne(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "ne", "sortText": "114"}, {"detail": "bound method DataFrame.nlargest(n: int, columns: Hashable | Sequence[Hashable], keep: Literal[\"first\", \"last\", \"all\"] = \"first\") -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the first `n` rows ordered by `columns` in descending order.\n\nReturn the first `n` rows with the largest values in `columns`, in\ndescending order. The columns that are not specified are returned as\nwell, but not used for ordering.\n\nThis method is equivalent to\n``df.sort_values(columns, ascending=False).head(n)``, but more\nperformant.\n\nParameters\n----------\nn : int\n Number of rows to return.\ncolumns : label or list of labels\n Column label(s) to order by.\nkeep : {'first', 'last', 'all'}, default 'first'\n Where there are duplicate values:\n\n - ``first`` : prioritize the first occurrence(s)\n - ``last`` : prioritize the last occurrence(s)\n - ``all`` : keep all the ties of the smallest item even if it means\n selecting more than ``n`` items.\n\nReturns\n-------\nDataFrame\n The first `n` rows ordered by the given columns in descending\n order.\n\nSee Also\n--------\nDataFrame.nsmallest : Return the first `n` rows ordered by `columns` in\n ascending order.\nDataFrame.sort_values : Sort DataFrame by the values.\nDataFrame.head : Return the first `n` rows without re-ordering.\n\nNotes\n-----\nThis function cannot be used with all column types. For example, when\nspecifying columns with `object` or `category` dtypes, ``TypeError`` is\nraised.\n\nExamples\n--------\n>>> df = pd.DataFrame({'population': [59000000, 65000000, 434000,\n... 434000, 434000, 337000, 11300,\n... 11300, 11300],\n... 'GDP': [1937894, 2583560 , 12011, 4520, 12128,\n... 17036, 182, 38, 311],\n... 'alpha-2': [\"IT\", \"FR\", \"MT\", \"MV\", \"BN\",\n... \"IS\", \"NR\", \"TV\", \"AI\"]},\n... index=[\"Italy\", \"France\", \"Malta\",\n... \"Maldives\", \"Brunei\", \"Iceland\",\n... \"Nauru\", \"Tuvalu\", \"Anguilla\"])\n>>> df\n population GDP alpha-2\nItaly 59000000 1937894 IT\nFrance 65000000 2583560 FR\nMalta 434000 12011 MT\nMaldives 434000 4520 MV\nBrunei 434000 12128 BN\nIceland 337000 17036 IS\nNauru 11300 182 NR\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\n\nIn the following example, we will use ``nlargest`` to select the three\nrows having the largest values in column \"population\".\n\n>>> df.nlargest(3, 'population')\n population GDP alpha-2\nFrance 65000000 2583560 FR\nItaly 59000000 1937894 IT\nMalta 434000 12011 MT\n\nWhen using ``keep='last'``, ties are resolved in reverse order:\n\n>>> df.nlargest(3, 'population', keep='last')\n population GDP alpha-2\nFrance 65000000 2583560 FR\nItaly 59000000 1937894 IT\nBrunei 434000 12128 BN\n\nWhen using ``keep='all'``, the number of element kept can go beyond ``n``\nif there are duplicate values for the smallest element, all the\nties are kept:\n\n>>> df.nlargest(3, 'population', keep='all')\n population GDP alpha-2\nFrance 65000000 2583560 FR\nItaly 59000000 1937894 IT\nMalta 434000 12011 MT\nMaldives 434000 4520 MV\nBrunei 434000 12128 BN\n\nHowever, ``nlargest`` does not keep ``n`` distinct largest elements:\n\n>>> df.nlargest(5, 'population', keep='all')\n population GDP alpha-2\nFrance 65000000 2583560 FR\nItaly 59000000 1937894 IT\nMalta 434000 12011 MT\nMaldives 434000 4520 MV\nBrunei 434000 12128 BN\n\nTo order by the largest values in column \"population\" and then \"GDP\",\nwe can specify multiple columns like in the next example.\n\n>>> df.nlargest(3, ['population', 'GDP'])\n population GDP alpha-2\nFrance 65000000 2583560 FR\nItaly 59000000 1937894 IT\nBrunei 434000 12128 BN\n"}, "kind": 2, "label": "nlargest", "sortText": "115"}, {"detail": "bound method DataFrame.notna() -> DataFrame", "kind": 2, "label": "notna", "sortText": "116"}, {"detail": "bound method DataFrame.notnull() -> DataFrame", "documentation": {"kind": "plaintext", "value": "DataFrame.notnull is an alias for DataFrame.notna.\n"}, "kind": 2, "label": "notnull", "sortText": "117"}, {"detail": "bound method DataFrame.nsmallest(n: int, columns: Hashable | Sequence[Hashable], keep: Literal[\"first\", \"last\", \"all\"] = \"first\") -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the first `n` rows ordered by `columns` in ascending order.\n\nReturn the first `n` rows with the smallest values in `columns`, in\nascending order. The columns that are not specified are returned as\nwell, but not used for ordering.\n\nThis method is equivalent to\n``df.sort_values(columns, ascending=True).head(n)``, but more\nperformant.\n\nParameters\n----------\nn : int\n Number of items to retrieve.\ncolumns : list or str\n Column name or names to order by.\nkeep : {'first', 'last', 'all'}, default 'first'\n Where there are duplicate values:\n\n - ``first`` : take the first occurrence.\n - ``last`` : take the last occurrence.\n - ``all`` : keep all the ties of the largest item even if it means\n selecting more than ``n`` items.\n\nReturns\n-------\nDataFrame\n\nSee Also\n--------\nDataFrame.nlargest : Return the first `n` rows ordered by `columns` in\n descending order.\nDataFrame.sort_values : Sort DataFrame by the values.\nDataFrame.head : Return the first `n` rows without re-ordering.\n\nExamples\n--------\n>>> df = pd.DataFrame({'population': [59000000, 65000000, 434000,\n... 434000, 434000, 337000, 337000,\n... 11300, 11300],\n... 'GDP': [1937894, 2583560 , 12011, 4520, 12128,\n... 17036, 182, 38, 311],\n... 'alpha-2': [\"IT\", \"FR\", \"MT\", \"MV\", \"BN\",\n... \"IS\", \"NR\", \"TV\", \"AI\"]},\n... index=[\"Italy\", \"France\", \"Malta\",\n... \"Maldives\", \"Brunei\", \"Iceland\",\n... \"Nauru\", \"Tuvalu\", \"Anguilla\"])\n>>> df\n population GDP alpha-2\nItaly 59000000 1937894 IT\nFrance 65000000 2583560 FR\nMalta 434000 12011 MT\nMaldives 434000 4520 MV\nBrunei 434000 12128 BN\nIceland 337000 17036 IS\nNauru 337000 182 NR\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\n\nIn the following example, we will use ``nsmallest`` to select the\nthree rows having the smallest values in column \"population\".\n\n>>> df.nsmallest(3, 'population')\n population GDP alpha-2\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\nIceland 337000 17036 IS\n\nWhen using ``keep='last'``, ties are resolved in reverse order:\n\n>>> df.nsmallest(3, 'population', keep='last')\n population GDP alpha-2\nAnguilla 11300 311 AI\nTuvalu 11300 38 TV\nNauru 337000 182 NR\n\nWhen using ``keep='all'``, the number of element kept can go beyond ``n``\nif there are duplicate values for the largest element, all the\nties are kept.\n\n>>> df.nsmallest(3, 'population', keep='all')\n population GDP alpha-2\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\nIceland 337000 17036 IS\nNauru 337000 182 NR\n\nHowever, ``nsmallest`` does not keep ``n`` distinct\nsmallest elements:\n\n>>> df.nsmallest(4, 'population', keep='all')\n population GDP alpha-2\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\nIceland 337000 17036 IS\nNauru 337000 182 NR\n\nTo order by the smallest values in column \"population\" and then \"GDP\", we can\nspecify multiple columns like in the next example.\n\n>>> df.nsmallest(3, ['population', 'GDP'])\n population GDP alpha-2\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\nNauru 337000 182 NR\n"}, "kind": 2, "label": "nsmallest", "sortText": "118"}, {"detail": "bound method DataFrame.nunique(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, dropna: bool = True) -> Series", "documentation": {"kind": "plaintext", "value": "Count number of distinct elements in specified axis.\n\nReturn Series with number of distinct elements. Can ignore NaN\nvalues.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to use. 0 or 'index' for row-wise, 1 or 'columns' for\n column-wise.\ndropna : bool, default True\n Don't include NaN in the counts.\n\nReturns\n-------\nSeries\n\nSee Also\n--------\nSeries.nunique: Method nunique for Series.\nDataFrame.count: Count non-NA cells for each column or row.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [4, 5, 6], 'B': [4, 1, 1]})\n>>> df.nunique()\nA 3\nB 2\ndtype: int64\n\n>>> df.nunique(axis=1)\n0 1\n1 2\n2 2\ndtype: int64\n"}, "kind": 2, "label": "nunique", "sortText": "119"}, {"detail": "bound method DataFrame.pad(*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = None, inplace: bool = False, limit: None | int = None, downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame | None", "documentation": {"kind": "plaintext", "value": "Fill NA/NaN values by propagating the last valid observation to next valid.\n\n.. deprecated:: 2.0\n\n {klass}.pad is deprecated. Use {klass}.ffill instead.\n\nReturns\n-------\n{klass} or None\n Object with missing values filled or None if ``inplace=True``.\n\nExamples\n--------\nPlease see examples for :meth:`DataFrame.ffill` or :meth:`Series.ffill`.\n"}, "kind": 2, "label": "pad", "sortText": "120"}, {"detail": "bound method DataFrame.pct_change(periods: int = 1, fill_method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None | _NoDefault = ..., limit: int | None | _NoDefault = ..., freq=None, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Fractional change between the current and a prior element.\n\nComputes the fractional change from the immediately previous row by\ndefault. This is useful in comparing the fraction of change in a time\nseries of elements.\n\n.. note::\n\n Despite the name of this method, it calculates fractional change\n (also known as per unit change or relative change) and not\n percentage change. If you need the percentage change, multiply\n these values by 100.\n\nParameters\n----------\nperiods : int, default 1\n Periods to shift for forming percent change.\nfill_method : {'backfill', 'bfill', 'pad', 'ffill', None}, default 'pad'\n How to handle NAs **before** computing percent changes.\n\n .. deprecated:: 2.1\n All options of `fill_method` are deprecated except `fill_method=None`.\n\nlimit : int, default None\n The number of consecutive NAs to fill before stopping.\n\n .. deprecated:: 2.1\n\nfreq : DateOffset, timedelta, or str, optional\n Increment to use from time series API (e.g. 'ME' or BDay()).\n**kwargs\n Additional keyword arguments are passed into\n `DataFrame.shift` or `Series.shift`.\n\nReturns\n-------\nSeries or DataFrame\n The same type as the calling object.\n\nSee Also\n--------\nSeries.diff : Compute the difference of two elements in a Series.\nDataFrame.diff : Compute the difference of two elements in a DataFrame.\nSeries.shift : Shift the index by some number of periods.\nDataFrame.shift : Shift the index by some number of periods.\n\nExamples\n--------\n**Series**\n\n>>> s = pd.Series([90, 91, 85])\n>>> s\n0 90\n1 91\n2 85\ndtype: int64\n\n>>> s.pct_change()\n0 NaN\n1 0.011111\n2 -0.065934\ndtype: float64\n\n>>> s.pct_change(periods=2)\n0 NaN\n1 NaN\n2 -0.055556\ndtype: float64\n\nSee the percentage change in a Series where filling NAs with last\nvalid observation forward to next valid.\n\n>>> s = pd.Series([90, 91, None, 85])\n>>> s\n0 90.0\n1 91.0\n2 NaN\n3 85.0\ndtype: float64\n\n>>> s.ffill().pct_change()\n0 NaN\n1 0.011111\n2 0.000000\n3 -0.065934\ndtype: float64\n\n**DataFrame**\n\nPercentage change in French franc, Deutsche Mark, and Italian lira from\n1980-01-01 to 1980-03-01.\n\n>>> df = pd.DataFrame({\n... 'FR': [4.0405, 4.0963, 4.3149],\n... 'GR': [1.7246, 1.7482, 1.8519],\n... 'IT': [804.74, 810.01, 860.13]},\n... index=['1980-01-01', '1980-02-01', '1980-03-01'])\n>>> df\n FR GR IT\n1980-01-01 4.0405 1.7246 804.74\n1980-02-01 4.0963 1.7482 810.01\n1980-03-01 4.3149 1.8519 860.13\n\n>>> df.pct_change()\n FR GR IT\n1980-01-01 NaN NaN NaN\n1980-02-01 0.013810 0.013684 0.006549\n1980-03-01 0.053365 0.059318 0.061876\n\nPercentage of change in GOOG and APPL stock volume. Shows computing\nthe percentage change between columns.\n\n>>> df = pd.DataFrame({\n... '2016': [1769950, 30586265],\n... '2015': [1500923, 40912316],\n... '2014': [1371819, 41403351]},\n... index=['GOOG', 'APPL'])\n>>> df\n 2016 2015 2014\nGOOG 1769950 1500923 1371819\nAPPL 30586265 40912316 41403351\n\n>>> df.pct_change(axis='columns', periods=-1)\n 2016 2015 2014\nGOOG 0.179241 0.094112 NaN\nAPPL -0.252395 -0.011860 NaN\n"}, "kind": 2, "label": "pct_change", "sortText": "121"}, {"detail": "bound method DataFrame.pipe[T](func: ((...) -> T) | tuple[(...) -> T, str], *args, **kwargs) -> T", "documentation": {"kind": "plaintext", "value": "Apply chainable functions that expect Series or DataFrames.\n\nParameters\n----------\nfunc : function\n Function to apply to the {klass}.\n ``args``, and ``kwargs`` are passed into ``func``.\n Alternatively a ``(callable, data_keyword)`` tuple where\n ``data_keyword`` is a string indicating the keyword of\n ``callable`` that expects the {klass}.\n*args : iterable, optional\n Positional arguments passed into ``func``.\n**kwargs : mapping, optional\n A dictionary of keyword arguments passed into ``func``.\n\nReturns\n-------\nthe return type of ``func``.\n\nSee Also\n--------\nDataFrame.apply : Apply a function along input axis of DataFrame.\nDataFrame.map : Apply a function elementwise on a whole DataFrame.\nSeries.map : Apply a mapping correspondence on a\n :class:`~pandas.Series`.\n\nNotes\n-----\nUse ``.pipe`` when chaining together functions that expect\nSeries, DataFrames or GroupBy objects.\n\nExamples\n--------\nConstructing a income DataFrame from a dictionary.\n\n>>> data = [[8000, 1000], [9500, np.nan], [5000, 2000]]\n>>> df = pd.DataFrame(data, columns=['Salary', 'Others'])\n>>> df\n Salary Others\n0 8000 1000.0\n1 9500 NaN\n2 5000 2000.0\n\nFunctions that perform tax reductions on an income DataFrame.\n\n>>> def subtract_federal_tax(df):\n... return df * 0.9\n>>> def subtract_state_tax(df, rate):\n... return df * (1 - rate)\n>>> def subtract_national_insurance(df, rate, rate_increase):\n... new_rate = rate + rate_increase\n... return df * (1 - new_rate)\n\nInstead of writing\n\n>>> subtract_national_insurance(\n... subtract_state_tax(subtract_federal_tax(df), rate=0.12),\n... rate=0.05,\n... rate_increase=0.02) # doctest: +SKIP\n\nYou can write\n\n>>> (\n... df.pipe(subtract_federal_tax)\n... .pipe(subtract_state_tax, rate=0.12)\n... .pipe(subtract_national_insurance, rate=0.05, rate_increase=0.02)\n... )\n Salary Others\n0 5892.48 736.56\n1 6997.32 NaN\n2 3682.80 1473.12\n\nIf you have a function that takes the data as (say) the second\nargument, pass a tuple indicating which keyword expects the\ndata. For example, suppose ``national_insurance`` takes its data as ``df``\nin the second argument:\n\n>>> def subtract_national_insurance(rate, df, rate_increase):\n... new_rate = rate + rate_increase\n... return df * (1 - new_rate)\n>>> (\n... df.pipe(subtract_federal_tax)\n... .pipe(subtract_state_tax, rate=0.12)\n... .pipe(\n... (subtract_national_insurance, 'df'),\n... rate=0.05,\n... rate_increase=0.02\n... )\n... )\n Salary Others\n0 5892.48 736.56\n1 6997.32 NaN\n2 3682.80 1473.12\n"}, "kind": 2, "label": "pipe", "sortText": "122"}, {"detail": "bound method DataFrame.pivot(*, columns, index=..., values=...) -> DataFrame", "kind": 2, "label": "pivot", "sortText": "123"}, {"detail": "bound method DataFrame.pivot_table(values=None, index=None, columns=None, aggfunc: ((...) -> Unknown) | str | list[((...) -> Unknown) | str] | MutableMapping[Hashable, ((...) -> Unknown) | str | list[((...) -> Unknown) | str]] = \"mean\", fill_value=None, margins: bool = False, dropna: bool = True, margins_name: Hashable = \"All\", observed: bool | _NoDefault = ..., sort: bool = True) -> DataFrame", "kind": 2, "label": "pivot_table", "sortText": "124"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "plot", "sortText": "125"}, {"detail": "bound method DataFrame.pop(item: Hashable) -> Series", "documentation": {"kind": "plaintext", "value": "Return item and drop from frame. Raise KeyError if not found.\n\nParameters\n----------\nitem : label\n Label of column to be popped.\n\nReturns\n-------\nSeries\n\nExamples\n--------\n>>> df = pd.DataFrame([('falcon', 'bird', 389.0),\n... ('parrot', 'bird', 24.0),\n... ('lion', 'mammal', 80.5),\n... ('monkey', 'mammal', np.nan)],\n... columns=('name', 'class', 'max_speed'))\n>>> df\n name class max_speed\n0 falcon bird 389.0\n1 parrot bird 24.0\n2 lion mammal 80.5\n3 monkey mammal NaN\n\n>>> df.pop('class')\n0 bird\n1 bird\n2 mammal\n3 mammal\nName: class, dtype: object\n\n>>> df\n name max_speed\n0 falcon 389.0\n1 parrot 24.0\n2 lion 80.5\n3 monkey NaN\n"}, "kind": 2, "label": "pop", "sortText": "126"}, {"detail": "bound method DataFrame.pow(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "pow", "sortText": "127"}, {"detail": "bound method DataFrame.prod(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, min_count: int = 0, **kwargs) -> Unknown", "kind": 2, "label": "prod", "sortText": "128"}, {"detail": "(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, min_count: int = 0, **kwargs) -> Unknown", "kind": 2, "label": "product", "sortText": "129"}, {"detail": "Overload[(q: float = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., numeric_only: bool = ..., interpolation: Literal[\"linear\", \"lower\", \"higher\", \"midpoint\", \"nearest\"] = ..., method: Literal[\"single\", \"table\"] = ...) -> Series, (q: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | Series | Sequence[float], axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., numeric_only: bool = ..., interpolation: Literal[\"linear\", \"lower\", \"higher\", \"midpoint\", \"nearest\"] = ..., method: Literal[\"single\", \"table\"] = ...) -> Series | DataFrame, (q: float | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | ... omitted 3 union elements = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., numeric_only: bool = ..., interpolation: Literal[\"linear\", \"lower\", \"higher\", \"midpoint\", \"nearest\"] = ..., method: Literal[\"single\", \"table\"] = ...) -> Series | DataFrame]", "documentation": {"kind": "plaintext", "value": "Return values at the given quantile over requested axis.\n\nParameters\n----------\nq : float or array-like, default 0.5 (50% quantile)\n Value between 0 <= q <= 1, the quantile(s) to compute.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Equals 0 or 'index' for row-wise, 1 or 'columns' for column-wise.\nnumeric_only : bool, default False\n Include only `float`, `int` or `boolean` data.\n\n .. versionchanged:: 2.0.0\n The default value of ``numeric_only`` is now ``False``.\n\ninterpolation : {'linear', 'lower', 'higher', 'midpoint', 'nearest'}\n This optional parameter specifies the interpolation method to use,\n when the desired quantile lies between two data points `i` and `j`:\n\n * linear: `i + (j - i) * fraction`, where `fraction` is the\n fractional part of the index surrounded by `i` and `j`.\n * lower: `i`.\n * higher: `j`.\n * nearest: `i` or `j` whichever is nearest.\n * midpoint: (`i` + `j`) / 2.\nmethod : {'single', 'table'}, default 'single'\n Whether to compute quantiles per-column ('single') or over all columns\n ('table'). When 'table', the only allowed interpolation methods are\n 'nearest', 'lower', and 'higher'.\n\nReturns\n-------\nSeries or DataFrame\n\n If ``q`` is an array, a DataFrame will be returned where the\n index is ``q``, the columns are the columns of self, and the\n values are the quantiles.\n If ``q`` is a float, a Series will be returned where the\n index is the columns of self and the values are the quantiles.\n\nSee Also\n--------\ncore.window.rolling.Rolling.quantile: Rolling quantile.\nnumpy.percentile: Numpy function to compute the percentile.\n\nExamples\n--------\n>>> df = pd.DataFrame(np.array([[1, 1], [2, 10], [3, 100], [4, 100]]),\n... columns=['a', 'b'])\n>>> df.quantile(.1)\na 1.3\nb 3.7\nName: 0.1, dtype: float64\n>>> df.quantile([.1, .5])\n a b\n0.1 1.3 3.7\n0.5 2.5 55.0\n\nSpecifying `method='table'` will compute the quantile over all columns.\n\n>>> df.quantile(.1, method=\"table\", interpolation=\"nearest\")\na 1\nb 1\nName: 0.1, dtype: int64\n>>> df.quantile([.1, .5], method=\"table\", interpolation=\"nearest\")\n a b\n0.1 1 1\n0.5 3 100\n\nSpecifying `numeric_only=False` will also compute the quantile of\ndatetime and timedelta data.\n\n>>> df = pd.DataFrame({'A': [1, 2],\n... 'B': [pd.Timestamp('2010'),\n... pd.Timestamp('2011')],\n... 'C': [pd.Timedelta('1 days'),\n... pd.Timedelta('2 days')]})\n>>> df.quantile(0.5, numeric_only=False)\nA 1.5\nB 2010-07-02 12:00:00\nC 1 days 12:00:00\nName: 0.5, dtype: object\n"}, "kind": 2, "label": "quantile", "sortText": "130"}, {"detail": "Overload[(expr: str, *, inplace: Literal[False] = ..., **kwargs) -> DataFrame, (expr: str, *, inplace: Literal[True], **kwargs) -> None, (expr: str, *, inplace: bool = ..., **kwargs) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Query the columns of a DataFrame with a boolean expression.\n\nParameters\n----------\nexpr : str\n The query string to evaluate.\n\n You can refer to variables\n in the environment by prefixing them with an '@' character like\n ``@a + b``.\n\n You can refer to column names that are not valid Python variable names\n by surrounding them in backticks. Thus, column names containing spaces\n or punctuations (besides underscores) or starting with digits must be\n surrounded by backticks. (For example, a column named \"Area (cm^2)\" would\n be referenced as ```Area (cm^2)```). Column names which are Python keywords\n (like \"list\", \"for\", \"import\", etc) cannot be used.\n\n For example, if one of your columns is called ``a a`` and you want\n to sum it with ``b``, your query should be ```a a` + b``.\n\ninplace : bool\n Whether to modify the DataFrame rather than creating a new one.\n**kwargs\n See the documentation for :func:`eval` for complete details\n on the keyword arguments accepted by :meth:`DataFrame.query`.\n\nReturns\n-------\nDataFrame or None\n DataFrame resulting from the provided query expression or\n None if ``inplace=True``.\n\nSee Also\n--------\neval : Evaluate a string describing operations on\n DataFrame columns.\nDataFrame.eval : Evaluate a string describing operations on\n DataFrame columns.\n\nNotes\n-----\nThe result of the evaluation of this expression is first passed to\n:attr:`DataFrame.loc` and if that fails because of a\nmultidimensional key (e.g., a DataFrame) then the result will be passed\nto :meth:`DataFrame.__getitem__`.\n\nThis method uses the top-level :func:`eval` function to\nevaluate the passed query.\n\nThe :meth:`~pandas.DataFrame.query` method uses a slightly\nmodified Python syntax by default. For example, the ``&`` and ``|``\n(bitwise) operators have the precedence of their boolean cousins,\n:keyword:`and` and :keyword:`or`. This *is* syntactically valid Python,\nhowever the semantics are different.\n\nYou can change the semantics of the expression by passing the keyword\nargument ``parser='python'``. This enforces the same semantics as\nevaluation in Python space. Likewise, you can pass ``engine='python'``\nto evaluate an expression using Python itself as a backend. This is not\nrecommended as it is inefficient compared to using ``numexpr`` as the\nengine.\n\nThe :attr:`DataFrame.index` and\n:attr:`DataFrame.columns` attributes of the\n:class:`~pandas.DataFrame` instance are placed in the query namespace\nby default, which allows you to treat both the index and columns of the\nframe as a column in the frame.\nThe identifier ``index`` is used for the frame index; you can also\nuse the name of the index to identify it in a query. Please note that\nPython keywords may not be used as identifiers.\n\nFor further details and examples see the ``query`` documentation in\n:ref:`indexing `.\n\n*Backtick quoted variables*\n\nBacktick quoted variables are parsed as literal Python code and\nare converted internally to a Python valid identifier.\nThis can lead to the following problems.\n\nDuring parsing a number of disallowed characters inside the backtick\nquoted string are replaced by strings that are allowed as a Python identifier.\nThese characters include all operators in Python, the space character, the\nquestion mark, the exclamation mark, the dollar sign, and the euro sign.\nFor other characters that fall outside the ASCII range (U+0001..U+007F)\nand those that are not further specified in PEP 3131,\nthe query parser will raise an error.\nThis excludes whitespace different than the space character,\nbut also the hashtag (as it is used for comments) and the backtick\nitself (backtick can also not be escaped).\n\nIn a special case, quotes that make a pair around a backtick can\nconfuse the parser.\nFor example, ```it's` > `that's``` will raise an error,\nas it forms a quoted string (``'s > `that'``) with a backtick inside.\n\nSee also the Python documentation about lexical analysis\n(https://docs.python.org/3/reference/lexical_analysis.html)\nin combination with the source code in :mod:`pandas.core.computation.parsing`.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': range(1, 6),\n... 'B': range(10, 0, -2),\n... 'C C': range(10, 5, -1)})\n>>> df\n A B C C\n0 1 10 10\n1 2 8 9\n2 3 6 8\n3 4 4 7\n4 5 2 6\n>>> df.query('A > B')\n A B C C\n4 5 2 6\n\nThe previous expression is equivalent to\n\n>>> df[df.A > df.B]\n A B C C\n4 5 2 6\n\nFor columns with spaces in their name, you can use backtick quoting.\n\n>>> df.query('B == `C C`')\n A B C C\n0 1 10 10\n\nThe previous expression is equivalent to\n\n>>> df[df.B == df['C C']]\n A B C C\n0 1 10 10\n"}, "kind": 2, "label": "query", "sortText": "131"}, {"detail": "bound method DataFrame.radd(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "radd", "sortText": "132"}, {"detail": "bound method DataFrame.rank(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, method: Literal[\"average\", \"min\", \"max\", \"first\", \"dense\"] = \"average\", numeric_only: bool = False, na_option: Literal[\"keep\", \"top\", \"bottom\"] = \"keep\", ascending: bool = True, pct: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Compute numerical data ranks (1 through n) along axis.\n\nBy default, equal values are assigned a rank that is the average of the\nranks of those values.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Index to direct ranking.\n For `Series` this parameter is unused and defaults to 0.\nmethod : {'average', 'min', 'max', 'first', 'dense'}, default 'average'\n How to rank the group of records that have the same value (i.e. ties):\n\n * average: average rank of the group\n * min: lowest rank in the group\n * max: highest rank in the group\n * first: ranks assigned in order they appear in the array\n * dense: like 'min', but rank always increases by 1 between groups.\n\nnumeric_only : bool, default False\n For DataFrame objects, rank only numeric columns if set to True.\n\n .. versionchanged:: 2.0.0\n The default value of ``numeric_only`` is now ``False``.\n\nna_option : {'keep', 'top', 'bottom'}, default 'keep'\n How to rank NaN values:\n\n * keep: assign NaN rank to NaN values\n * top: assign lowest rank to NaN values\n * bottom: assign highest rank to NaN values\n\nascending : bool, default True\n Whether or not the elements should be ranked in ascending order.\npct : bool, default False\n Whether or not to display the returned rankings in percentile\n form.\n\nReturns\n-------\nsame type as caller\n Return a Series or DataFrame with data ranks as values.\n\nSee Also\n--------\ncore.groupby.DataFrameGroupBy.rank : Rank of values within each group.\ncore.groupby.SeriesGroupBy.rank : Rank of values within each group.\n\nExamples\n--------\n>>> df = pd.DataFrame(data={'Animal': ['cat', 'penguin', 'dog',\n... 'spider', 'snake'],\n... 'Number_legs': [4, 2, 4, 8, np.nan]})\n>>> df\n Animal Number_legs\n0 cat 4.0\n1 penguin 2.0\n2 dog 4.0\n3 spider 8.0\n4 snake NaN\n\nTies are assigned the mean of the ranks (by default) for the group.\n\n>>> s = pd.Series(range(5), index=list(\"abcde\"))\n>>> s[\"d\"] = s[\"b\"]\n>>> s.rank()\na 1.0\nb 2.5\nc 4.0\nd 2.5\ne 5.0\ndtype: float64\n\nThe following example shows how the method behaves with the above\nparameters:\n\n* default_rank: this is the default behaviour obtained without using\n any parameter.\n* max_rank: setting ``method = 'max'`` the records that have the\n same values are ranked using the highest rank (e.g.: since 'cat'\n and 'dog' are both in the 2nd and 3rd position, rank 3 is assigned.)\n* NA_bottom: choosing ``na_option = 'bottom'``, if there are records\n with NaN values they are placed at the bottom of the ranking.\n* pct_rank: when setting ``pct = True``, the ranking is expressed as\n percentile rank.\n\n>>> df['default_rank'] = df['Number_legs'].rank()\n>>> df['max_rank'] = df['Number_legs'].rank(method='max')\n>>> df['NA_bottom'] = df['Number_legs'].rank(na_option='bottom')\n>>> df['pct_rank'] = df['Number_legs'].rank(pct=True)\n>>> df\n Animal Number_legs default_rank max_rank NA_bottom pct_rank\n0 cat 4.0 2.5 3.0 2.5 0.625\n1 penguin 2.0 1.0 1.0 1.0 0.250\n2 dog 4.0 2.5 3.0 2.5 0.625\n3 spider 8.0 4.0 4.0 4.0 1.000\n4 snake NaN NaN NaN 5.0 NaN\n"}, "kind": 2, "label": "rank", "sortText": "133"}, {"detail": "(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rdiv", "sortText": "134"}, {"detail": "bound method DataFrame.reindex(labels=None, *, index=None, columns=None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\", \"nearest\"] | None = None, copy: bool | None = None, level: Hashable = None, fill_value: str | float | Period | ... omitted 6 union elements = ..., limit: int | None = None, tolerance=None) -> DataFrame", "kind": 2, "label": "reindex", "sortText": "135"}, {"detail": "bound method DataFrame.reindex_like(other, method: Literal[\"backfill\", \"bfill\", \"pad\", \"ffill\", \"nearest\"] | None = None, copy: bool | None = None, limit: int | None = None, tolerance=None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return an object with matching indices as other object.\n\nConform the object to the same index on all axes. Optional\nfilling logic, placing NaN in locations having no value\nin the previous index. A new object is produced unless the\nnew index is equivalent to the current one and copy=False.\n\nParameters\n----------\nother : Object of the same data type\n Its row and column indices are used to define the new indices\n of this object.\nmethod : {None, 'backfill'/'bfill', 'pad'/'ffill', 'nearest'}\n Method to use for filling holes in reindexed DataFrame.\n Please note: this is only applicable to DataFrames/Series with a\n monotonically increasing/decreasing index.\n\n * None (default): don't fill gaps\n * pad / ffill: propagate last valid observation forward to next\n valid\n * backfill / bfill: use next valid observation to fill gap\n * nearest: use nearest valid observations to fill gap.\n\ncopy : bool, default True\n Return a new object, even if the passed indexes are the same.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\nlimit : int, default None\n Maximum number of consecutive labels to fill for inexact matches.\ntolerance : optional\n Maximum distance between original and new labels for inexact\n matches. The values of the index at the matching locations must\n satisfy the equation ``abs(index[indexer] - target) <= tolerance``.\n\n Tolerance may be a scalar value, which applies the same tolerance\n to all values, or list-like, which applies variable tolerance per\n element. List-like includes list, tuple, array, Series, and must be\n the same size as the index and its dtype must exactly match the\n index's type.\n\nReturns\n-------\nSeries or DataFrame\n Same type as caller, but with changed indices on each axis.\n\nSee Also\n--------\nDataFrame.set_index : Set row labels.\nDataFrame.reset_index : Remove row labels or move them to new columns.\nDataFrame.reindex : Change to new indices or expand indices.\n\nNotes\n-----\nSame as calling\n``.reindex(index=other.index, columns=other.columns,...)``.\n\nExamples\n--------\n>>> df1 = pd.DataFrame([[24.3, 75.7, 'high'],\n... [31, 87.8, 'high'],\n... [22, 71.6, 'medium'],\n... [35, 95, 'medium']],\n... columns=['temp_celsius', 'temp_fahrenheit',\n... 'windspeed'],\n... index=pd.date_range(start='2014-02-12',\n... end='2014-02-15', freq='D'))\n\n>>> df1\n temp_celsius temp_fahrenheit windspeed\n2014-02-12 24.3 75.7 high\n2014-02-13 31.0 87.8 high\n2014-02-14 22.0 71.6 medium\n2014-02-15 35.0 95.0 medium\n\n>>> df2 = pd.DataFrame([[28, 'low'],\n... [30, 'low'],\n... [35.1, 'medium']],\n... columns=['temp_celsius', 'windspeed'],\n... index=pd.DatetimeIndex(['2014-02-12', '2014-02-13',\n... '2014-02-15']))\n\n>>> df2\n temp_celsius windspeed\n2014-02-12 28.0 low\n2014-02-13 30.0 low\n2014-02-15 35.1 medium\n\n>>> df2.reindex_like(df1)\n temp_celsius temp_fahrenheit windspeed\n2014-02-12 28.0 NaN low\n2014-02-13 30.0 NaN low\n2014-02-14 NaN NaN NaN\n2014-02-15 35.1 NaN medium\n"}, "kind": 2, "label": "reindex_like", "sortText": "136"}, {"detail": "Overload[(mapper: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., *, index: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., columns: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., copy: bool | None = ..., inplace: Literal[True], level: Hashable = ..., errors: Literal[\"ignore\", \"raise\"] = ...) -> None, (mapper: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., *, index: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., columns: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., copy: bool | None = ..., inplace: Literal[False] = ..., level: Hashable = ..., errors: Literal[\"ignore\", \"raise\"] = ...) -> DataFrame, (mapper: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., *, index: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., columns: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., copy: bool | None = ..., inplace: bool = ..., level: Hashable = ..., errors: Literal[\"ignore\", \"raise\"] = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Rename columns or index labels.\n\nFunction / dict values must be unique (1-to-1). Labels not contained in\na dict / Series will be left as-is. Extra labels listed don't throw an\nerror.\n\nSee the :ref:`user guide ` for more.\n\nParameters\n----------\nmapper : dict-like or function\n Dict-like or function transformations to apply to\n that axis' values. Use either ``mapper`` and ``axis`` to\n specify the axis to target with ``mapper``, or ``index`` and\n ``columns``.\nindex : dict-like or function\n Alternative to specifying axis (``mapper, axis=0``\n is equivalent to ``index=mapper``).\ncolumns : dict-like or function\n Alternative to specifying axis (``mapper, axis=1``\n is equivalent to ``columns=mapper``).\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Axis to target with ``mapper``. Can be either the axis name\n ('index', 'columns') or number (0, 1). The default is 'index'.\ncopy : bool, default True\n Also copy underlying data.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\ninplace : bool, default False\n Whether to modify the DataFrame rather than creating a new one.\n If True then value of copy is ignored.\nlevel : int or level name, default None\n In case of a MultiIndex, only rename labels in the specified\n level.\nerrors : {'ignore', 'raise'}, default 'ignore'\n If 'raise', raise a `KeyError` when a dict-like `mapper`, `index`,\n or `columns` contains labels that are not present in the Index\n being transformed.\n If 'ignore', existing keys will be renamed and extra keys will be\n ignored.\n\nReturns\n-------\nDataFrame or None\n DataFrame with the renamed axis labels or None if ``inplace=True``.\n\nRaises\n------\nKeyError\n If any of the labels is not found in the selected axis and\n \"errors='raise'\".\n\nSee Also\n--------\nDataFrame.rename_axis : Set the name of the axis.\n\nExamples\n--------\n``DataFrame.rename`` supports two calling conventions\n\n* ``(index=index_mapper, columns=columns_mapper, ...)``\n* ``(mapper, axis={'index', 'columns'}, ...)``\n\nWe *highly* recommend using keyword arguments to clarify your\nintent.\n\nRename columns using a mapping:\n\n>>> df = pd.DataFrame({\"A\": [1, 2, 3], \"B\": [4, 5, 6]})\n>>> df.rename(columns={\"A\": \"a\", \"B\": \"c\"})\n a c\n0 1 4\n1 2 5\n2 3 6\n\nRename index using a mapping:\n\n>>> df.rename(index={0: \"x\", 1: \"y\", 2: \"z\"})\n A B\nx 1 4\ny 2 5\nz 3 6\n\nCast index labels to a different type:\n\n>>> df.index\nRangeIndex(start=0, stop=3, step=1)\n>>> df.rename(index=str).index\nIndex(['0', '1', '2'], dtype='object')\n\n>>> df.rename(columns={\"A\": \"a\", \"B\": \"b\", \"C\": \"c\"}, errors=\"raise\")\nTraceback (most recent call last):\nKeyError: ['C'] not found in axis\n\nUsing axis-style parameters:\n\n>>> df.rename(str.lower, axis='columns')\n a b\n0 1 4\n1 2 5\n2 3 6\n\n>>> df.rename({1: 2, 2: 4}, axis='index')\n A B\n0 1 4\n2 2 5\n4 3 6\n"}, "kind": 2, "label": "rename", "sortText": "137"}, {"detail": "Overload[(mapper: Hashable | Sequence[Hashable] = ..., *, index=..., columns=..., axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., copy: bool | None = ..., inplace: Literal[False] = ...) -> DataFrame, (mapper: Hashable | Sequence[Hashable] = ..., *, index=..., columns=..., axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., copy: bool | None = ..., inplace: Literal[True]) -> None, (mapper: Hashable | Sequence[Hashable] = ..., *, index=..., columns=..., axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., copy: bool | None = ..., inplace: bool = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Set the name of the axis for the index or columns.\n\nParameters\n----------\nmapper : scalar, list-like, optional\n Value to set the axis name attribute.\nindex, columns : scalar, list-like, dict-like or function, optional\n A scalar, list-like, dict-like or functions transformations to\n apply to that axis' values.\n Note that the ``columns`` parameter is not allowed if the\n object is a Series. This parameter only apply for DataFrame\n type objects.\n\n Use either ``mapper`` and ``axis`` to\n specify the axis to target with ``mapper``, or ``index``\n and/or ``columns``.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to rename. For `Series` this parameter is unused and defaults to 0.\ncopy : bool, default None\n Also copy underlying data.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\ninplace : bool, default False\n Modifies the object directly, instead of creating a new Series\n or DataFrame.\n\nReturns\n-------\nSeries, DataFrame, or None\n The same type as the caller or None if ``inplace=True``.\n\nSee Also\n--------\nSeries.rename : Alter Series index labels or name.\nDataFrame.rename : Alter DataFrame index labels or name.\nIndex.rename : Set new names on index.\n\nNotes\n-----\n``DataFrame.rename_axis`` supports two calling conventions\n\n* ``(index=index_mapper, columns=columns_mapper, ...)``\n* ``(mapper, axis={'index', 'columns'}, ...)``\n\nThe first calling convention will only modify the names of\nthe index and/or the names of the Index object that is the columns.\nIn this case, the parameter ``copy`` is ignored.\n\nThe second calling convention will modify the names of the\ncorresponding index if mapper is a list or a scalar.\nHowever, if mapper is dict-like or a function, it will use the\ndeprecated behavior of modifying the axis *labels*.\n\nWe *highly* recommend using keyword arguments to clarify your\nintent.\n\nExamples\n--------\n**Series**\n\n>>> s = pd.Series([\"dog\", \"cat\", \"monkey\"])\n>>> s\n0 dog\n1 cat\n2 monkey\ndtype: object\n>>> s.rename_axis(\"animal\")\nanimal\n0 dog\n1 cat\n2 monkey\ndtype: object\n\n**DataFrame**\n\n>>> df = pd.DataFrame({\"num_legs\": [4, 4, 2],\n... \"num_arms\": [0, 0, 2]},\n... [\"dog\", \"cat\", \"monkey\"])\n>>> df\n num_legs num_arms\ndog 4 0\ncat 4 0\nmonkey 2 2\n>>> df = df.rename_axis(\"animal\")\n>>> df\n num_legs num_arms\nanimal\ndog 4 0\ncat 4 0\nmonkey 2 2\n>>> df = df.rename_axis(\"limbs\", axis=\"columns\")\n>>> df\nlimbs num_legs num_arms\nanimal\ndog 4 0\ncat 4 0\nmonkey 2 2\n\n**MultiIndex**\n\n>>> df.index = pd.MultiIndex.from_product([['mammal'],\n... ['dog', 'cat', 'monkey']],\n... names=['type', 'name'])\n>>> df\nlimbs num_legs num_arms\ntype name\nmammal dog 4 0\n cat 4 0\n monkey 2 2\n\n>>> df.rename_axis(index={'type': 'class'})\nlimbs num_legs num_arms\nclass name\nmammal dog 4 0\n cat 4 0\n monkey 2 2\n\n>>> df.rename_axis(columns=str.upper)\nLIMBS num_legs num_arms\ntype name\nmammal dog 4 0\n cat 4 0\n monkey 2 2\n"}, "kind": 2, "label": "rename_axis", "sortText": "138"}, {"detail": "bound method DataFrame.reorder_levels(order: Sequence[int | str], axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Rearrange index levels using input order. May not drop or duplicate levels.\n\nParameters\n----------\norder : list of int or list of str\n List representing new level order. Reference level by number\n (position) or by key (label).\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Where to reorder levels.\n\nReturns\n-------\nDataFrame\n\nExamples\n--------\n>>> data = {\n... \"class\": [\"Mammals\", \"Mammals\", \"Reptiles\"],\n... \"diet\": [\"Omnivore\", \"Carnivore\", \"Carnivore\"],\n... \"species\": [\"Humans\", \"Dogs\", \"Snakes\"],\n... }\n>>> df = pd.DataFrame(data, columns=[\"class\", \"diet\", \"species\"])\n>>> df = df.set_index([\"class\", \"diet\"])\n>>> df\n species\nclass diet\nMammals Omnivore Humans\n Carnivore Dogs\nReptiles Carnivore Snakes\n\nLet's reorder the levels of the index:\n\n>>> df.reorder_levels([\"diet\", \"class\"])\n species\ndiet class\nOmnivore Mammals Humans\nCarnivore Mammals Dogs\n Reptiles Snakes\n"}, "kind": 2, "label": "reorder_levels", "sortText": "139"}, {"detail": "Overload[(to_replace=..., value=..., *, inplace: Literal[False] = ..., limit: int | None = ..., regex: bool = ..., method: Literal[\"pad\", \"ffill\", \"bfill\"] | _NoDefault = ...) -> DataFrame, (to_replace=..., value=..., *, inplace: Literal[True], limit: int | None = ..., regex: bool = ..., method: Literal[\"pad\", \"ffill\", \"bfill\"] | _NoDefault = ...) -> None, (to_replace=..., value=..., *, inplace: bool = ..., limit: int | None = ..., regex: bool = ..., method: Literal[\"pad\", \"ffill\", \"bfill\"] | _NoDefault = ...) -> DataFrame | None]", "kind": 2, "label": "replace", "sortText": "140"}, {"detail": "bound method DataFrame.resample(rule, axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., closed: Literal[\"right\", \"left\"] | None = None, label: Literal[\"right\", \"left\"] | None = None, convention: Literal[\"start\", \"end\", \"s\", \"e\"] = \"start\", kind: Literal[\"timestamp\", \"period\"] | None | _NoDefault = ..., on: Hashable = None, level: Hashable = None, origin: str | date | datetime64[Any] | signedinteger[_64Bit] | float = \"start_day\", offset: timedelta | timedelta64[Any] | signedinteger[_64Bit] | ... omitted 3 union elements = None, group_keys: bool = False) -> Resampler", "documentation": {"kind": "plaintext", "value": "Resample time-series data.\n\nConvenience method for frequency conversion and resampling of time series.\nThe object must have a datetime-like index (`DatetimeIndex`, `PeriodIndex`,\nor `TimedeltaIndex`), or the caller must pass the label of a datetime-like\nseries/index to the ``on``/``level`` keyword parameter.\n\nParameters\n----------\nrule : DateOffset, Timedelta or str\n The offset string or object representing target conversion.\naxis : {{0 or 'index', 1 or 'columns'}}, default 0\n Which axis to use for up- or down-sampling. For `Series` this parameter\n is unused and defaults to 0. Must be\n `DatetimeIndex`, `TimedeltaIndex` or `PeriodIndex`.\n\n .. deprecated:: 2.0.0\n Use frame.T.resample(...) instead.\nclosed : {{'right', 'left'}}, default None\n Which side of bin interval is closed. The default is 'left'\n for all frequency offsets except for 'ME', 'YE', 'QE', 'BME',\n 'BA', 'BQE', and 'W' which all have a default of 'right'.\nlabel : {{'right', 'left'}}, default None\n Which bin edge label to label bucket with. The default is 'left'\n for all frequency offsets except for 'ME', 'YE', 'QE', 'BME',\n 'BA', 'BQE', and 'W' which all have a default of 'right'.\nconvention : {{'start', 'end', 's', 'e'}}, default 'start'\n For `PeriodIndex` only, controls whether to use the start or\n end of `rule`.\n\nkind : {{'timestamp', 'period'}}, optional, default None\n Pass 'timestamp' to convert the resulting index to a\n `DateTimeIndex` or 'period' to convert it to a `PeriodIndex`.\n By default the input representation is retained.\n\n .. deprecated:: 2.2.0\n Convert index to desired type explicitly instead.\n\non : str, optional\n For a DataFrame, column to use instead of index for resampling.\n Column must be datetime-like.\nlevel : str or int, optional\n For a MultiIndex, level (name or number) to use for\n resampling. `level` must be datetime-like.\norigin : Timestamp or str, default 'start_day'\n The timestamp on which to adjust the grouping. The timezone of origin\n must match the timezone of the index.\n If string, must be one of the following:\n\n - 'epoch': `origin` is 1970-01-01\n - 'start': `origin` is the first value of the timeseries\n - 'start_day': `origin` is the first day at midnight of the timeseries\n\n - 'end': `origin` is the last value of the timeseries\n - 'end_day': `origin` is the ceiling midnight of the last day\n\n .. versionadded:: 1.3.0\n\n .. note::\n\n Only takes effect for Tick-frequencies (i.e. fixed frequencies like\n days, hours, and minutes, rather than months or quarters).\noffset : Timedelta or str, default is None\n An offset timedelta added to the origin.\n\ngroup_keys : bool, default False\n Whether to include the group keys in the result index when using\n ``.apply()`` on the resampled object.\n\n .. versionadded:: 1.5.0\n\n Not specifying ``group_keys`` will retain values-dependent behavior\n from pandas 1.4 and earlier (see :ref:`pandas 1.5.0 Release notes\n ` for examples).\n\n .. versionchanged:: 2.0.0\n\n ``group_keys`` now defaults to ``False``.\n\nReturns\n-------\npandas.api.typing.Resampler\n :class:`~pandas.core.Resampler` object.\n\nSee Also\n--------\nSeries.resample : Resample a Series.\nDataFrame.resample : Resample a DataFrame.\ngroupby : Group {klass} by mapping, function, label, or list of labels.\nasfreq : Reindex a {klass} with the given frequency without grouping.\n\nNotes\n-----\nSee the `user guide\n`__\nfor more.\n\nTo learn more about the offset strings, please see `this link\n`__.\n\nExamples\n--------\nStart by creating a series with 9 one minute timestamps.\n\n>>> index = pd.date_range('1/1/2000', periods=9, freq='min')\n>>> series = pd.Series(range(9), index=index)\n>>> series\n2000-01-01 00:00:00 0\n2000-01-01 00:01:00 1\n2000-01-01 00:02:00 2\n2000-01-01 00:03:00 3\n2000-01-01 00:04:00 4\n2000-01-01 00:05:00 5\n2000-01-01 00:06:00 6\n2000-01-01 00:07:00 7\n2000-01-01 00:08:00 8\nFreq: min, dtype: int64\n\nDownsample the series into 3 minute bins and sum the values\nof the timestamps falling into a bin.\n\n>>> series.resample('3min').sum()\n2000-01-01 00:00:00 3\n2000-01-01 00:03:00 12\n2000-01-01 00:06:00 21\nFreq: 3min, dtype: int64\n\nDownsample the series into 3 minute bins as above, but label each\nbin using the right edge instead of the left. Please note that the\nvalue in the bucket used as the label is not included in the bucket,\nwhich it labels. For example, in the original series the\nbucket ``2000-01-01 00:03:00`` contains the value 3, but the summed\nvalue in the resampled bucket with the label ``2000-01-01 00:03:00``\ndoes not include 3 (if it did, the summed value would be 6, not 3).\n\n>>> series.resample('3min', label='right').sum()\n2000-01-01 00:03:00 3\n2000-01-01 00:06:00 12\n2000-01-01 00:09:00 21\nFreq: 3min, dtype: int64\n\nTo include this value close the right side of the bin interval,\nas shown below.\n\n>>> series.resample('3min', label='right', closed='right').sum()\n2000-01-01 00:00:00 0\n2000-01-01 00:03:00 6\n2000-01-01 00:06:00 15\n2000-01-01 00:09:00 15\nFreq: 3min, dtype: int64\n\nUpsample the series into 30 second bins.\n\n>>> series.resample('30s').asfreq()[0:5] # Select first 5 rows\n2000-01-01 00:00:00 0.0\n2000-01-01 00:00:30 NaN\n2000-01-01 00:01:00 1.0\n2000-01-01 00:01:30 NaN\n2000-01-01 00:02:00 2.0\nFreq: 30s, dtype: float64\n\nUpsample the series into 30 second bins and fill the ``NaN``\nvalues using the ``ffill`` method.\n\n>>> series.resample('30s').ffill()[0:5]\n2000-01-01 00:00:00 0\n2000-01-01 00:00:30 0\n2000-01-01 00:01:00 1\n2000-01-01 00:01:30 1\n2000-01-01 00:02:00 2\nFreq: 30s, dtype: int64\n\nUpsample the series into 30 second bins and fill the\n``NaN`` values using the ``bfill`` method.\n\n>>> series.resample('30s').bfill()[0:5]\n2000-01-01 00:00:00 0\n2000-01-01 00:00:30 1\n2000-01-01 00:01:00 1\n2000-01-01 00:01:30 2\n2000-01-01 00:02:00 2\nFreq: 30s, dtype: int64\n\nPass a custom function via ``apply``\n\n>>> def custom_resampler(arraylike):\n... return np.sum(arraylike) + 5\n...\n>>> series.resample('3min').apply(custom_resampler)\n2000-01-01 00:00:00 8\n2000-01-01 00:03:00 17\n2000-01-01 00:06:00 26\nFreq: 3min, dtype: int64\n\nFor a Series with a PeriodIndex, the keyword `convention` can be\nused to control whether to use the start or end of `rule`.\n\nResample a year by quarter using 'start' `convention`. Values are\nassigned to the first quarter of the period.\n\n>>> s = pd.Series(\n... [1, 2], index=pd.period_range(\"2012-01-01\", freq=\"Y\", periods=2)\n... )\n>>> s\n2012 1\n2013 2\nFreq: Y-DEC, dtype: int64\n>>> s.resample(\"Q\", convention=\"start\").asfreq()\n2012Q1 1.0\n2012Q2 NaN\n2012Q3 NaN\n2012Q4 NaN\n2013Q1 2.0\n2013Q2 NaN\n2013Q3 NaN\n2013Q4 NaN\nFreq: Q-DEC, dtype: float64\n\nResample quarters by month using 'end' `convention`. Values are\nassigned to the last month of the period.\n\n>>> q = pd.Series(\n... [1, 2, 3, 4], index=pd.period_range(\"2018-01-01\", freq=\"Q\", periods=4)\n... )\n>>> q\n2018Q1 1\n2018Q2 2\n2018Q3 3\n2018Q4 4\nFreq: Q-DEC, dtype: int64\n>>> q.resample(\"M\", convention=\"end\").asfreq()\n2018-03 1.0\n2018-04 NaN\n2018-05 NaN\n2018-06 2.0\n2018-07 NaN\n2018-08 NaN\n2018-09 3.0\n2018-10 NaN\n2018-11 NaN\n2018-12 4.0\nFreq: M, dtype: float64\n\nFor DataFrame objects, the keyword `on` can be used to specify the\ncolumn instead of the index for resampling.\n\n>>> d = {{'price': [10, 11, 9, 13, 14, 18, 17, 19],\n... 'volume': [50, 60, 40, 100, 50, 100, 40, 50]}}\n>>> df = pd.DataFrame(d)\n>>> df['week_starting'] = pd.date_range('01/01/2018',\n... periods=8,\n... freq='W')\n>>> df\n price volume week_starting\n0 10 50 2018-01-07\n1 11 60 2018-01-14\n2 9 40 2018-01-21\n3 13 100 2018-01-28\n4 14 50 2018-02-04\n5 18 100 2018-02-11\n6 17 40 2018-02-18\n7 19 50 2018-02-25\n>>> df.resample('ME', on='week_starting').mean()\n price volume\nweek_starting\n2018-01-31 10.75 62.5\n2018-02-28 17.00 60.0\n\nFor a DataFrame with MultiIndex, the keyword `level` can be used to\nspecify on which level the resampling needs to take place.\n\n>>> days = pd.date_range('1/1/2000', periods=4, freq='D')\n>>> d2 = {{'price': [10, 11, 9, 13, 14, 18, 17, 19],\n... 'volume': [50, 60, 40, 100, 50, 100, 40, 50]}}\n>>> df2 = pd.DataFrame(\n... d2,\n... index=pd.MultiIndex.from_product(\n... [days, ['morning', 'afternoon']]\n... )\n... )\n>>> df2\n price volume\n2000-01-01 morning 10 50\n afternoon 11 60\n2000-01-02 morning 9 40\n afternoon 13 100\n2000-01-03 morning 14 50\n afternoon 18 100\n2000-01-04 morning 17 40\n afternoon 19 50\n>>> df2.resample('D', level=0).sum()\n price volume\n2000-01-01 21 110\n2000-01-02 22 140\n2000-01-03 32 150\n2000-01-04 36 90\n\nIf you want to adjust the start of the bins based on a fixed timestamp:\n\n>>> start, end = '2000-10-01 23:30:00', '2000-10-02 00:30:00'\n>>> rng = pd.date_range(start, end, freq='7min')\n>>> ts = pd.Series(np.arange(len(rng)) * 3, index=rng)\n>>> ts\n2000-10-01 23:30:00 0\n2000-10-01 23:37:00 3\n2000-10-01 23:44:00 6\n2000-10-01 23:51:00 9\n2000-10-01 23:58:00 12\n2000-10-02 00:05:00 15\n2000-10-02 00:12:00 18\n2000-10-02 00:19:00 21\n2000-10-02 00:26:00 24\nFreq: 7min, dtype: int64\n\n>>> ts.resample('17min').sum()\n2000-10-01 23:14:00 0\n2000-10-01 23:31:00 9\n2000-10-01 23:48:00 21\n2000-10-02 00:05:00 54\n2000-10-02 00:22:00 24\nFreq: 17min, dtype: int64\n\n>>> ts.resample('17min', origin='epoch').sum()\n2000-10-01 23:18:00 0\n2000-10-01 23:35:00 18\n2000-10-01 23:52:00 27\n2000-10-02 00:09:00 39\n2000-10-02 00:26:00 24\nFreq: 17min, dtype: int64\n\n>>> ts.resample('17min', origin='2000-01-01').sum()\n2000-10-01 23:24:00 3\n2000-10-01 23:41:00 15\n2000-10-01 23:58:00 45\n2000-10-02 00:15:00 45\nFreq: 17min, dtype: int64\n\nIf you want to adjust the start of the bins with an `offset` Timedelta, the two\nfollowing lines are equivalent:\n\n>>> ts.resample('17min', origin='start').sum()\n2000-10-01 23:30:00 9\n2000-10-01 23:47:00 21\n2000-10-02 00:04:00 54\n2000-10-02 00:21:00 24\nFreq: 17min, dtype: int64\n\n>>> ts.resample('17min', offset='23h30min').sum()\n2000-10-01 23:30:00 9\n2000-10-01 23:47:00 21\n2000-10-02 00:04:00 54\n2000-10-02 00:21:00 24\nFreq: 17min, dtype: int64\n\nIf you want to take the largest Timestamp as the end of the bins:\n\n>>> ts.resample('17min', origin='end').sum()\n2000-10-01 23:35:00 0\n2000-10-01 23:52:00 18\n2000-10-02 00:09:00 27\n2000-10-02 00:26:00 63\nFreq: 17min, dtype: int64\n\nIn contrast with the `start_day`, you can use `end_day` to take the ceiling\nmidnight of the largest Timestamp as the end of the bins and drop the bins\nnot containing data:\n\n>>> ts.resample('17min', origin='end_day').sum()\n2000-10-01 23:38:00 3\n2000-10-01 23:55:00 15\n2000-10-02 00:12:00 45\n2000-10-02 00:29:00 45\nFreq: 17min, dtype: int64\n"}, "kind": 2, "label": "resample", "sortText": "141"}, {"detail": "Overload[(level: Hashable | Sequence[Hashable] = ..., *, drop: bool = ..., inplace: Literal[False] = ..., col_level: Hashable = ..., col_fill: Hashable = ..., allow_duplicates: bool | _NoDefault = ..., names: Hashable | Sequence[Hashable] = None) -> DataFrame, (level: Hashable | Sequence[Hashable] = ..., *, drop: bool = ..., inplace: Literal[True], col_level: Hashable = ..., col_fill: Hashable = ..., allow_duplicates: bool | _NoDefault = ..., names: Hashable | Sequence[Hashable] = None) -> None, (level: Hashable | Sequence[Hashable] = ..., *, drop: bool = ..., inplace: bool = ..., col_level: Hashable = ..., col_fill: Hashable = ..., allow_duplicates: bool | _NoDefault = ..., names: Hashable | Sequence[Hashable] = None) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Reset the index, or a level of it.\n\nReset the index of the DataFrame, and use the default one instead.\nIf the DataFrame has a MultiIndex, this method can remove one or more\nlevels.\n\nParameters\n----------\nlevel : int, str, tuple, or list, default None\n Only remove the given levels from the index. Removes all levels by\n default.\ndrop : bool, default False\n Do not try to insert index into dataframe columns. This resets\n the index to the default integer index.\ninplace : bool, default False\n Whether to modify the DataFrame rather than creating a new one.\ncol_level : int or str, default 0\n If the columns have multiple levels, determines which level the\n labels are inserted into. By default it is inserted into the first\n level.\ncol_fill : object, default ''\n If the columns have multiple levels, determines how the other\n levels are named. If None then the index name is repeated.\nallow_duplicates : bool, optional, default lib.no_default\n Allow duplicate column labels to be created.\n\n .. versionadded:: 1.5.0\n\nnames : int, str or 1-dimensional list, default None\n Using the given string, rename the DataFrame column which contains the\n index data. If the DataFrame has a MultiIndex, this has to be a list or\n tuple with length equal to the number of levels.\n\n .. versionadded:: 1.5.0\n\nReturns\n-------\nDataFrame or None\n DataFrame with the new index or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.set_index : Opposite of reset_index.\nDataFrame.reindex : Change to new indices or expand indices.\nDataFrame.reindex_like : Change to same indices as other DataFrame.\n\nExamples\n--------\n>>> df = pd.DataFrame([('bird', 389.0),\n... ('bird', 24.0),\n... ('mammal', 80.5),\n... ('mammal', np.nan)],\n... index=['falcon', 'parrot', 'lion', 'monkey'],\n... columns=('class', 'max_speed'))\n>>> df\n class max_speed\nfalcon bird 389.0\nparrot bird 24.0\nlion mammal 80.5\nmonkey mammal NaN\n\nWhen we reset the index, the old index is added as a column, and a\nnew sequential index is used:\n\n>>> df.reset_index()\n index class max_speed\n0 falcon bird 389.0\n1 parrot bird 24.0\n2 lion mammal 80.5\n3 monkey mammal NaN\n\nWe can use the `drop` parameter to avoid the old index being added as\na column:\n\n>>> df.reset_index(drop=True)\n class max_speed\n0 bird 389.0\n1 bird 24.0\n2 mammal 80.5\n3 mammal NaN\n\nYou can also use `reset_index` with `MultiIndex`.\n\n>>> index = pd.MultiIndex.from_tuples([('bird', 'falcon'),\n... ('bird', 'parrot'),\n... ('mammal', 'lion'),\n... ('mammal', 'monkey')],\n... names=['class', 'name'])\n>>> columns = pd.MultiIndex.from_tuples([('speed', 'max'),\n... ('species', 'type')])\n>>> df = pd.DataFrame([(389.0, 'fly'),\n... (24.0, 'fly'),\n... (80.5, 'run'),\n... (np.nan, 'jump')],\n... index=index,\n... columns=columns)\n>>> df\n speed species\n max type\nclass name\nbird falcon 389.0 fly\n parrot 24.0 fly\nmammal lion 80.5 run\n monkey NaN jump\n\nUsing the `names` parameter, choose a name for the index column:\n\n>>> df.reset_index(names=['classes', 'names'])\n classes names speed species\n max type\n0 bird falcon 389.0 fly\n1 bird parrot 24.0 fly\n2 mammal lion 80.5 run\n3 mammal monkey NaN jump\n\nIf the index has multiple levels, we can reset a subset of them:\n\n>>> df.reset_index(level='class')\n class speed species\n max type\nname\nfalcon bird 389.0 fly\nparrot bird 24.0 fly\nlion mammal 80.5 run\nmonkey mammal NaN jump\n\nIf we are not dropping the index, by default, it is placed in the top\nlevel. We can place it in another level:\n\n>>> df.reset_index(level='class', col_level=1)\n speed species\n class max type\nname\nfalcon bird 389.0 fly\nparrot bird 24.0 fly\nlion mammal 80.5 run\nmonkey mammal NaN jump\n\nWhen the index is inserted under another level, we can specify under\nwhich one with the parameter `col_fill`:\n\n>>> df.reset_index(level='class', col_level=1, col_fill='species')\n species speed species\n class max type\nname\nfalcon bird 389.0 fly\nparrot bird 24.0 fly\nlion mammal 80.5 run\nmonkey mammal NaN jump\n\nIf we specify a nonexistent level for `col_fill`, it is created:\n\n>>> df.reset_index(level='class', col_level=1, col_fill='genus')\n genus speed species\n class max type\nname\nfalcon bird 389.0 fly\nparrot bird 24.0 fly\nlion mammal 80.5 run\nmonkey mammal NaN jump\n"}, "kind": 2, "label": "reset_index", "sortText": "142"}, {"detail": "bound method DataFrame.rfloordiv(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rfloordiv", "sortText": "143"}, {"detail": "bound method DataFrame.rmod(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rmod", "sortText": "144"}, {"detail": "bound method DataFrame.rmul(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rmul", "sortText": "145"}, {"detail": "bound method DataFrame.rolling(window: int | timedelta | str | BaseOffset | BaseIndexer, min_periods: int | None = None, center: bool = False, win_type: str | None = None, on: str | None = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., closed: Literal[\"left\", \"right\", \"both\", \"neither\"] | None = None, step: int | None = None, method: str = \"single\") -> Window | Rolling", "kind": 2, "label": "rolling", "sortText": "146"}, {"detail": "bound method DataFrame.round(decimals: int | dict[Hashable | Sequence[Hashable], int] | Series = 0, *args, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Round a DataFrame to a variable number of decimal places.\n\nParameters\n----------\ndecimals : int, dict, Series\n Number of decimal places to round each column to. If an int is\n given, round each column to the same number of places.\n Otherwise dict and Series round to variable numbers of places.\n Column names should be in the keys if `decimals` is a\n dict-like, or in the index if `decimals` is a Series. Any\n columns not included in `decimals` will be left as is. Elements\n of `decimals` which are not columns of the input will be\n ignored.\n*args\n Additional keywords have no effect but might be accepted for\n compatibility with numpy.\n**kwargs\n Additional keywords have no effect but might be accepted for\n compatibility with numpy.\n\nReturns\n-------\nDataFrame\n A DataFrame with the affected columns rounded to the specified\n number of decimal places.\n\nSee Also\n--------\nnumpy.around : Round a numpy array to the given number of decimals.\nSeries.round : Round a Series to the given number of decimals.\n\nExamples\n--------\n>>> df = pd.DataFrame([(.21, .32), (.01, .67), (.66, .03), (.21, .18)],\n... columns=['dogs', 'cats'])\n>>> df\n dogs cats\n0 0.21 0.32\n1 0.01 0.67\n2 0.66 0.03\n3 0.21 0.18\n\nBy providing an integer each column is rounded to the same number\nof decimal places\n\n>>> df.round(1)\n dogs cats\n0 0.2 0.3\n1 0.0 0.7\n2 0.7 0.0\n3 0.2 0.2\n\nWith a dict, the number of places for specific columns can be\nspecified with the column names as key and the number of decimal\nplaces as value\n\n>>> df.round({'dogs': 1, 'cats': 0})\n dogs cats\n0 0.2 0.0\n1 0.0 1.0\n2 0.7 0.0\n3 0.2 0.0\n\nUsing a Series, the number of places for specific columns can be\nspecified with the column names as index and the number of\ndecimal places as value\n\n>>> decimals = pd.Series([0, 1], index=['cats', 'dogs'])\n>>> df.round(decimals)\n dogs cats\n0 0.2 0.0\n1 0.0 1.0\n2 0.7 0.0\n3 0.2 0.0\n"}, "kind": 2, "label": "round", "sortText": "147"}, {"detail": "bound method DataFrame.rpow(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rpow", "sortText": "148"}, {"detail": "bound method DataFrame.rsub(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rsub", "sortText": "149"}, {"detail": "bound method DataFrame.rtruediv(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rtruediv", "sortText": "150"}, {"detail": "bound method DataFrame.sample(n: int | None = None, frac: float | None = None, replace: bool = False, weights=None, random_state: int | ndarray[_AnyShape, dtype[Any]] | Generator | ... omitted 3 union elements = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, ignore_index: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return a random sample of items from an axis of object.\n\nYou can use `random_state` for reproducibility.\n\nParameters\n----------\nn : int, optional\n Number of items from axis to return. Cannot be used with `frac`.\n Default = 1 if `frac` = None.\nfrac : float, optional\n Fraction of axis items to return. Cannot be used with `n`.\nreplace : bool, default False\n Allow or disallow sampling of the same row more than once.\nweights : str or ndarray-like, optional\n Default 'None' results in equal probability weighting.\n If passed a Series, will align with target object on index. Index\n values in weights not found in sampled object will be ignored and\n index values in sampled object not in weights will be assigned\n weights of zero.\n If called on a DataFrame, will accept the name of a column\n when axis = 0.\n Unless weights are a Series, weights must be same length as axis\n being sampled.\n If weights do not sum to 1, they will be normalized to sum to 1.\n Missing values in the weights column will be treated as zero.\n Infinite values not allowed.\nrandom_state : int, array-like, BitGenerator, np.random.RandomState, np.random.Generator, optional\n If int, array-like, or BitGenerator, seed for random number generator.\n If np.random.RandomState or np.random.Generator, use as given.\n\n .. versionchanged:: 1.4.0\n\n np.random.Generator objects now accepted\n\naxis : {0 or 'index', 1 or 'columns', None}, default None\n Axis to sample. Accepts axis number or name. Default is stat axis\n for given data type. For `Series` this parameter is unused and defaults to `None`.\nignore_index : bool, default False\n If True, the resulting index will be labeled 0, 1, \u2026, n - 1.\n\n .. versionadded:: 1.3.0\n\nReturns\n-------\nSeries or DataFrame\n A new object of same type as caller containing `n` items randomly\n sampled from the caller object.\n\nSee Also\n--------\nDataFrameGroupBy.sample: Generates random samples from each group of a\n DataFrame object.\nSeriesGroupBy.sample: Generates random samples from each group of a\n Series object.\nnumpy.random.choice: Generates a random sample from a given 1-D numpy\n array.\n\nNotes\n-----\nIf `frac` > 1, `replacement` should be set to `True`.\n\nExamples\n--------\n>>> df = pd.DataFrame({'num_legs': [2, 4, 8, 0],\n... 'num_wings': [2, 0, 0, 0],\n... 'num_specimen_seen': [10, 2, 1, 8]},\n... index=['falcon', 'dog', 'spider', 'fish'])\n>>> df\n num_legs num_wings num_specimen_seen\nfalcon 2 2 10\ndog 4 0 2\nspider 8 0 1\nfish 0 0 8\n\nExtract 3 random elements from the ``Series`` ``df['num_legs']``:\nNote that we use `random_state` to ensure the reproducibility of\nthe examples.\n\n>>> df['num_legs'].sample(n=3, random_state=1)\nfish 0\nspider 8\nfalcon 2\nName: num_legs, dtype: int64\n\nA random 50% sample of the ``DataFrame`` with replacement:\n\n>>> df.sample(frac=0.5, replace=True, random_state=1)\n num_legs num_wings num_specimen_seen\ndog 4 0 2\nfish 0 0 8\n\nAn upsample sample of the ``DataFrame`` with replacement:\nNote that `replace` parameter has to be `True` for `frac` parameter > 1.\n\n>>> df.sample(frac=2, replace=True, random_state=1)\n num_legs num_wings num_specimen_seen\ndog 4 0 2\nfish 0 0 8\nfalcon 2 2 10\nfalcon 2 2 10\nfish 0 0 8\ndog 4 0 2\nfish 0 0 8\ndog 4 0 2\n\nUsing a DataFrame column as weights. Rows with larger value in the\n`num_specimen_seen` column are more likely to be sampled.\n\n>>> df.sample(n=2, weights='num_specimen_seen', random_state=1)\n num_legs num_wings num_specimen_seen\nfalcon 2 2 10\nfish 0 0 8\n"}, "kind": 2, "label": "sample", "sortText": "151"}, {"detail": "bound method DataFrame.select_dtypes(include=None, exclude=None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return a subset of the DataFrame's columns based on the column dtypes.\n\nParameters\n----------\ninclude, exclude : scalar or list-like\n A selection of dtypes or strings to be included/excluded. At least\n one of these parameters must be supplied.\n\nReturns\n-------\nDataFrame\n The subset of the frame including the dtypes in ``include`` and\n excluding the dtypes in ``exclude``.\n\nRaises\n------\nValueError\n * If both of ``include`` and ``exclude`` are empty\n * If ``include`` and ``exclude`` have overlapping elements\n * If any kind of string dtype is passed in.\n\nSee Also\n--------\nDataFrame.dtypes: Return Series with the data type of each column.\n\nNotes\n-----\n* To select all *numeric* types, use ``np.number`` or ``'number'``\n* To select strings you must use the ``object`` dtype, but note that\n this will return *all* object dtype columns. With\n ``pd.options.future.infer_string`` enabled, using ``\"str\"`` will\n work to select all string columns.\n* See the `numpy dtype hierarchy\n `__\n* To select datetimes, use ``np.datetime64``, ``'datetime'`` or\n ``'datetime64'``\n* To select timedeltas, use ``np.timedelta64``, ``'timedelta'`` or\n ``'timedelta64'``\n* To select Pandas categorical dtypes, use ``'category'``\n* To select Pandas datetimetz dtypes, use ``'datetimetz'``\n or ``'datetime64[ns, tz]'``\n\nExamples\n--------\n>>> df = pd.DataFrame({'a': [1, 2] * 3,\n... 'b': [True, False] * 3,\n... 'c': [1.0, 2.0] * 3})\n>>> df\n a b c\n0 1 True 1.0\n1 2 False 2.0\n2 1 True 1.0\n3 2 False 2.0\n4 1 True 1.0\n5 2 False 2.0\n\n>>> df.select_dtypes(include='bool')\n b\n0 True\n1 False\n2 True\n3 False\n4 True\n5 False\n\n>>> df.select_dtypes(include=['float64'])\n c\n0 1.0\n1 2.0\n2 1.0\n3 2.0\n4 1.0\n5 2.0\n\n>>> df.select_dtypes(exclude=['int64'])\n b c\n0 True 1.0\n1 False 2.0\n2 True 1.0\n3 False 2.0\n4 True 1.0\n5 False 2.0\n"}, "kind": 2, "label": "select_dtypes", "sortText": "152"}, {"detail": "bound method DataFrame.sem(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, ddof: int = 1, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "sem", "sortText": "153"}, {"detail": "bound method DataFrame.set_axis(labels, *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, copy: bool | None = None) -> DataFrame", "kind": 2, "label": "set_axis", "sortText": "154"}, {"detail": "bound method DataFrame.set_flags(*, copy: bool = False, allows_duplicate_labels: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return a new object with updated flags.\n\nParameters\n----------\ncopy : bool, default False\n Specify if a copy of the object should be made.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\nallows_duplicate_labels : bool, optional\n Whether the returned object allows duplicate labels.\n\nReturns\n-------\nSeries or DataFrame\n The same type as the caller.\n\nSee Also\n--------\nDataFrame.attrs : Global metadata applying to this dataset.\nDataFrame.flags : Global flags applying to this object.\n\nNotes\n-----\nThis method returns a new object that's a view on the same data\nas the input. Mutating the input or the output values will be reflected\nin the other.\n\nThis method is intended to be used in method chains.\n\n\"Flags\" differ from \"metadata\". Flags reflect properties of the\npandas object (the Series or DataFrame). Metadata refer to properties\nof the dataset, and should be stored in :attr:`DataFrame.attrs`.\n\nExamples\n--------\n>>> df = pd.DataFrame({\"A\": [1, 2]})\n>>> df.flags.allows_duplicate_labels\nTrue\n>>> df2 = df.set_flags(allows_duplicate_labels=False)\n>>> df2.flags.allows_duplicate_labels\nFalse\n"}, "kind": 2, "label": "set_flags", "sortText": "155"}, {"detail": "Overload[(keys, *, drop: bool = ..., append: bool = ..., inplace: Literal[False] = ..., verify_integrity: bool = ...) -> DataFrame, (keys, *, drop: bool = ..., append: bool = ..., inplace: Literal[True], verify_integrity: bool = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Set the DataFrame index using existing columns.\n\nSet the DataFrame index (row labels) using one or more existing\ncolumns or arrays (of the correct length). The index can replace the\nexisting index or expand on it.\n\nParameters\n----------\nkeys : label or array-like or list of labels/arrays\n This parameter can be either a single column key, a single array of\n the same length as the calling DataFrame, or a list containing an\n arbitrary combination of column keys and arrays. Here, \"array\"\n encompasses :class:`Series`, :class:`Index`, ``np.ndarray``, and\n instances of :class:`~collections.abc.Iterator`.\ndrop : bool, default True\n Delete columns to be used as the new index.\nappend : bool, default False\n Whether to append columns to existing index.\ninplace : bool, default False\n Whether to modify the DataFrame rather than creating a new one.\nverify_integrity : bool, default False\n Check the new index for duplicates. Otherwise defer the check until\n necessary. Setting to False will improve the performance of this\n method.\n\nReturns\n-------\nDataFrame or None\n Changed row labels or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.reset_index : Opposite of set_index.\nDataFrame.reindex : Change to new indices or expand indices.\nDataFrame.reindex_like : Change to same indices as other DataFrame.\n\nExamples\n--------\n>>> df = pd.DataFrame({'month': [1, 4, 7, 10],\n... 'year': [2012, 2014, 2013, 2014],\n... 'sale': [55, 40, 84, 31]})\n>>> df\n month year sale\n0 1 2012 55\n1 4 2014 40\n2 7 2013 84\n3 10 2014 31\n\nSet the index to become the 'month' column:\n\n>>> df.set_index('month')\n year sale\nmonth\n1 2012 55\n4 2014 40\n7 2013 84\n10 2014 31\n\nCreate a MultiIndex using columns 'year' and 'month':\n\n>>> df.set_index(['year', 'month'])\n sale\nyear month\n2012 1 55\n2014 4 40\n2013 7 84\n2014 10 31\n\nCreate a MultiIndex using an Index and a column:\n\n>>> df.set_index([pd.Index([1, 2, 3, 4]), 'year'])\n month sale\n year\n1 2012 1 55\n2 2014 4 40\n3 2013 7 84\n4 2014 10 31\n\nCreate a MultiIndex using two Series:\n\n>>> s = pd.Series([1, 2, 3, 4])\n>>> df.set_index([s, s**2])\n month year sale\n1 1 1 2012 55\n2 4 4 2014 40\n3 9 7 2013 84\n4 16 10 2014 31\n"}, "kind": 2, "label": "set_index", "sortText": "156"}, {"detail": "tuple[int, int]", "documentation": {"kind": "plaintext", "value": "Built-in immutable sequence.\n\nIf no argument is given, the constructor returns an empty tuple.\nIf iterable is specified the tuple is initialized from iterable's items.\n\nIf the argument is a tuple, the return value is the same object.\n"}, "kind": 22, "label": "shape", "sortText": "157"}, {"detail": "bound method DataFrame.shift(periods: int | Sequence[int] = 1, freq: str | BaseOffset | None = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, fill_value: Hashable = ..., suffix: str | None = None) -> DataFrame", "kind": 2, "label": "shift", "sortText": "158"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "size", "sortText": "159"}, {"detail": "bound method DataFrame.skew(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "skew", "sortText": "160"}, {"detail": "Overload[(*, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., level: Hashable | Sequence[Hashable] = ..., ascending: bool | Sequence[bool] = ..., inplace: Literal[True], kind: Literal[\"quicksort\", \"mergesort\", \"heapsort\", \"stable\"] = ..., na_position: Literal[\"first\", \"last\"] = ..., sort_remaining: bool = ..., ignore_index: bool = ..., key: ((Index, /) -> Index | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Series) | None = ...) -> None, (*, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., level: Hashable | Sequence[Hashable] = ..., ascending: bool | Sequence[bool] = ..., inplace: Literal[False] = ..., kind: Literal[\"quicksort\", \"mergesort\", \"heapsort\", \"stable\"] = ..., na_position: Literal[\"first\", \"last\"] = ..., sort_remaining: bool = ..., ignore_index: bool = ..., key: ((Index, /) -> Index | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Series) | None = ...) -> DataFrame, (*, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., level: Hashable | Sequence[Hashable] = ..., ascending: bool | Sequence[bool] = ..., inplace: bool = ..., kind: Literal[\"quicksort\", \"mergesort\", \"heapsort\", \"stable\"] = ..., na_position: Literal[\"first\", \"last\"] = ..., sort_remaining: bool = ..., ignore_index: bool = ..., key: ((Index, /) -> Index | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Series) | None = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Sort object by labels (along an axis).\n\nReturns a new DataFrame sorted by label if `inplace` argument is\n``False``, otherwise updates the original DataFrame and returns None.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis along which to sort. The value 0 identifies the rows,\n and 1 identifies the columns.\nlevel : int or level name or list of ints or list of level names\n If not None, sort on values in specified index level(s).\nascending : bool or list-like of bools, default True\n Sort ascending vs. descending. When the index is a MultiIndex the\n sort direction can be controlled for each level individually.\ninplace : bool, default False\n Whether to modify the DataFrame rather than creating a new one.\nkind : {'quicksort', 'mergesort', 'heapsort', 'stable'}, default 'quicksort'\n Choice of sorting algorithm. See also :func:`numpy.sort` for more\n information. `mergesort` and `stable` are the only stable algorithms. For\n DataFrames, this option is only applied when sorting on a single\n column or label.\nna_position : {'first', 'last'}, default 'last'\n Puts NaNs at the beginning if `first`; `last` puts NaNs at the end.\n Not implemented for MultiIndex.\nsort_remaining : bool, default True\n If True and sorting by level and index is multilevel, sort by other\n levels too (in order) after sorting by specified level.\nignore_index : bool, default False\n If True, the resulting axis will be labeled 0, 1, \u2026, n - 1.\nkey : callable, optional\n If not None, apply the key function to the index values\n before sorting. This is similar to the `key` argument in the\n builtin :meth:`sorted` function, with the notable difference that\n this `key` function should be *vectorized*. It should expect an\n ``Index`` and return an ``Index`` of the same shape. For MultiIndex\n inputs, the key is applied *per level*.\n\nReturns\n-------\nDataFrame or None\n The original DataFrame sorted by the labels or None if ``inplace=True``.\n\nSee Also\n--------\nSeries.sort_index : Sort Series by the index.\nDataFrame.sort_values : Sort DataFrame by the value.\nSeries.sort_values : Sort Series by the value.\n\nExamples\n--------\n>>> df = pd.DataFrame([1, 2, 3, 4, 5], index=[100, 29, 234, 1, 150],\n... columns=['A'])\n>>> df.sort_index()\n A\n1 4\n29 2\n100 1\n150 5\n234 3\n\nBy default, it sorts in ascending order, to sort in descending order,\nuse ``ascending=False``\n\n>>> df.sort_index(ascending=False)\n A\n234 3\n150 5\n100 1\n29 2\n1 4\n\nA key function can be specified which is applied to the index before\nsorting. For a ``MultiIndex`` this is applied to each level separately.\n\n>>> df = pd.DataFrame({\"a\": [1, 2, 3, 4]}, index=['A', 'b', 'C', 'd'])\n>>> df.sort_index(key=lambda x: x.str.lower())\n a\nA 1\nb 2\nC 3\nd 4\n"}, "kind": 2, "label": "sort_index", "sortText": "161"}, {"detail": "Overload[(by: Hashable | Sequence[Hashable], *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., ascending=..., inplace: Literal[False] = ..., kind: Literal[\"quicksort\", \"mergesort\", \"heapsort\", \"stable\"] = ..., na_position: Literal[\"first\", \"last\"] = ..., ignore_index: bool = ..., key: ((Series, /) -> Series | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index) | None = ...) -> DataFrame, (by: Hashable | Sequence[Hashable], *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., ascending=..., inplace: Literal[True], kind: Literal[\"quicksort\", \"mergesort\", \"heapsort\", \"stable\"] = ..., na_position: str = ..., ignore_index: bool = ..., key: ((Series, /) -> Series | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index) | None = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Sort by the values along either axis.\n\nParameters\n----------\nby : str or list of str\n Name or list of names to sort by.\n\n - if `axis` is 0 or `'index'` then `by` may contain index\n levels and/or column labels.\n - if `axis` is 1 or `'columns'` then `by` may contain column\n levels and/or index labels.\naxis : \"{0 or 'index', 1 or 'columns'}\", default 0\n Axis to be sorted.\nascending : bool or list of bool, default True\n Sort ascending vs. descending. Specify list for multiple sort\n orders. If this is a list of bools, must match the length of\n the by.\ninplace : bool, default False\n If True, perform operation in-place.\nkind : {'quicksort', 'mergesort', 'heapsort', 'stable'}, default 'quicksort'\n Choice of sorting algorithm. See also :func:`numpy.sort` for more\n information. `mergesort` and `stable` are the only stable algorithms. For\n DataFrames, this option is only applied when sorting on a single\n column or label.\nna_position : {'first', 'last'}, default 'last'\n Puts NaNs at the beginning if `first`; `last` puts NaNs at the\n end.\nignore_index : bool, default False\n If True, the resulting axis will be labeled 0, 1, \u2026, n - 1.\nkey : callable, optional\n Apply the key function to the values\n before sorting. This is similar to the `key` argument in the\n builtin :meth:`sorted` function, with the notable difference that\n this `key` function should be *vectorized*. It should expect a\n ``Series`` and return a Series with the same shape as the input.\n It will be applied to each column in `by` independently.\n\nReturns\n-------\nDataFrame or None\n DataFrame with sorted values or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.sort_index : Sort a DataFrame by the index.\nSeries.sort_values : Similar method for a Series.\n\nExamples\n--------\n>>> df = pd.DataFrame({\n... 'col1': ['A', 'A', 'B', np.nan, 'D', 'C'],\n... 'col2': [2, 1, 9, 8, 7, 4],\n... 'col3': [0, 1, 9, 4, 2, 3],\n... 'col4': ['a', 'B', 'c', 'D', 'e', 'F']\n... })\n>>> df\n col1 col2 col3 col4\n0 A 2 0 a\n1 A 1 1 B\n2 B 9 9 c\n3 NaN 8 4 D\n4 D 7 2 e\n5 C 4 3 F\n\nSort by col1\n\n>>> df.sort_values(by=['col1'])\n col1 col2 col3 col4\n0 A 2 0 a\n1 A 1 1 B\n2 B 9 9 c\n5 C 4 3 F\n4 D 7 2 e\n3 NaN 8 4 D\n\nSort by multiple columns\n\n>>> df.sort_values(by=['col1', 'col2'])\n col1 col2 col3 col4\n1 A 1 1 B\n0 A 2 0 a\n2 B 9 9 c\n5 C 4 3 F\n4 D 7 2 e\n3 NaN 8 4 D\n\nSort Descending\n\n>>> df.sort_values(by='col1', ascending=False)\n col1 col2 col3 col4\n4 D 7 2 e\n5 C 4 3 F\n2 B 9 9 c\n0 A 2 0 a\n1 A 1 1 B\n3 NaN 8 4 D\n\nPutting NAs first\n\n>>> df.sort_values(by='col1', ascending=False, na_position='first')\n col1 col2 col3 col4\n3 NaN 8 4 D\n4 D 7 2 e\n5 C 4 3 F\n2 B 9 9 c\n0 A 2 0 a\n1 A 1 1 B\n\nSorting with a key function\n\n>>> df.sort_values(by='col4', key=lambda col: col.str.lower())\n col1 col2 col3 col4\n0 A 2 0 a\n1 A 1 1 B\n2 B 9 9 c\n3 NaN 8 4 D\n4 D 7 2 e\n5 C 4 3 F\n\nNatural sort with the key argument,\nusing the `natsort ` package.\n\n>>> df = pd.DataFrame({\n... \"time\": ['0hr', '128hr', '72hr', '48hr', '96hr'],\n... \"value\": [10, 20, 30, 40, 50]\n... })\n>>> df\n time value\n0 0hr 10\n1 128hr 20\n2 72hr 30\n3 48hr 40\n4 96hr 50\n>>> from natsort import index_natsorted\n>>> df.sort_values(\n... by=\"time\",\n... key=lambda x: np.argsort(index_natsorted(df[\"time\"]))\n... )\n time value\n0 0hr 10\n3 48hr 40\n2 72hr 30\n4 96hr 50\n1 128hr 20\n"}, "kind": 2, "label": "sort_values", "sortText": "162"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "sparse", "sortText": "163"}, {"detail": "bound method DataFrame.squeeze(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Squeeze 1 dimensional axis objects into scalars.\n\nSeries or DataFrames with a single element are squeezed to a scalar.\nDataFrames with a single column or a single row are squeezed to a\nSeries. Otherwise the object is unchanged.\n\nThis method is most useful when you don't know if your\nobject is a Series or DataFrame, but you do know it has just a single\ncolumn. In that case you can safely call `squeeze` to ensure you have a\nSeries.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns', None}, default None\n A specific axis to squeeze. By default, all length-1 axes are\n squeezed. For `Series` this parameter is unused and defaults to `None`.\n\nReturns\n-------\nDataFrame, Series, or scalar\n The projection after squeezing `axis` or all the axes.\n\nSee Also\n--------\nSeries.iloc : Integer-location based indexing for selecting scalars.\nDataFrame.iloc : Integer-location based indexing for selecting Series.\nSeries.to_frame : Inverse of DataFrame.squeeze for a\n single-column DataFrame.\n\nExamples\n--------\n>>> primes = pd.Series([2, 3, 5, 7])\n\nSlicing might produce a Series with a single value:\n\n>>> even_primes = primes[primes % 2 == 0]\n>>> even_primes\n0 2\ndtype: int64\n\n>>> even_primes.squeeze()\n2\n\nSqueezing objects with more than one value in every axis does nothing:\n\n>>> odd_primes = primes[primes % 2 == 1]\n>>> odd_primes\n1 3\n2 5\n3 7\ndtype: int64\n\n>>> odd_primes.squeeze()\n1 3\n2 5\n3 7\ndtype: int64\n\nSqueezing is even more effective when used with DataFrames.\n\n>>> df = pd.DataFrame([[1, 2], [3, 4]], columns=['a', 'b'])\n>>> df\n a b\n0 1 2\n1 3 4\n\nSlicing a single column will produce a DataFrame with the columns\nhaving only one value:\n\n>>> df_a = df[['a']]\n>>> df_a\n a\n0 1\n1 3\n\nSo the columns can be squeezed down, resulting in a Series:\n\n>>> df_a.squeeze('columns')\n0 1\n1 3\nName: a, dtype: int64\n\nSlicing a single row from a single column will produce a single\nscalar DataFrame:\n\n>>> df_0a = df.loc[df.index < 1, ['a']]\n>>> df_0a\n a\n0 1\n\nSqueezing the rows produces a single scalar Series:\n\n>>> df_0a.squeeze('rows')\na 1\nName: 0, dtype: int64\n\nSqueezing all axes will project directly into a scalar:\n\n>>> df_0a.squeeze()\n1\n"}, "kind": 2, "label": "squeeze", "sortText": "164"}, {"detail": "bound method DataFrame.stack(level: Hashable | Sequence[Hashable] = -1, dropna: bool | _NoDefault = ..., sort: bool | _NoDefault = ..., future_stack: bool = False) -> Unknown", "documentation": {"kind": "plaintext", "value": "Stack the prescribed level(s) from columns to index.\n\nReturn a reshaped DataFrame or Series having a multi-level\nindex with one or more new inner-most levels compared to the current\nDataFrame. The new inner-most levels are created by pivoting the\ncolumns of the current dataframe:\n\n - if the columns have a single level, the output is a Series;\n - if the columns have multiple levels, the new index\n level(s) is (are) taken from the prescribed level(s) and\n the output is a DataFrame.\n\nParameters\n----------\nlevel : int, str, list, default -1\n Level(s) to stack from the column axis onto the index\n axis, defined as one index or label, or a list of indices\n or labels.\ndropna : bool, default True\n Whether to drop rows in the resulting Frame/Series with\n missing values. Stacking a column level onto the index\n axis can create combinations of index and column values\n that are missing from the original dataframe. See Examples\n section.\nsort : bool, default True\n Whether to sort the levels of the resulting MultiIndex.\nfuture_stack : bool, default False\n Whether to use the new implementation that will replace the current\n implementation in pandas 3.0. When True, dropna and sort have no impact\n on the result and must remain unspecified. See :ref:`pandas 2.1.0 Release\n notes ` for more details.\n\nReturns\n-------\nDataFrame or Series\n Stacked dataframe or series.\n\nSee Also\n--------\nDataFrame.unstack : Unstack prescribed level(s) from index axis\n onto column axis.\nDataFrame.pivot : Reshape dataframe from long format to wide\n format.\nDataFrame.pivot_table : Create a spreadsheet-style pivot table\n as a DataFrame.\n\nNotes\n-----\nThe function is named by analogy with a collection of books\nbeing reorganized from being side by side on a horizontal\nposition (the columns of the dataframe) to being stacked\nvertically on top of each other (in the index of the\ndataframe).\n\nReference :ref:`the user guide ` for more examples.\n\nExamples\n--------\n**Single level columns**\n\n>>> df_single_level_cols = pd.DataFrame([[0, 1], [2, 3]],\n... index=['cat', 'dog'],\n... columns=['weight', 'height'])\n\nStacking a dataframe with a single level column axis returns a Series:\n\n>>> df_single_level_cols\n weight height\ncat 0 1\ndog 2 3\n>>> df_single_level_cols.stack(future_stack=True)\ncat weight 0\n height 1\ndog weight 2\n height 3\ndtype: int64\n\n**Multi level columns: simple case**\n\n>>> multicol1 = pd.MultiIndex.from_tuples([('weight', 'kg'),\n... ('weight', 'pounds')])\n>>> df_multi_level_cols1 = pd.DataFrame([[1, 2], [2, 4]],\n... index=['cat', 'dog'],\n... columns=multicol1)\n\nStacking a dataframe with a multi-level column axis:\n\n>>> df_multi_level_cols1\n weight\n kg pounds\ncat 1 2\ndog 2 4\n>>> df_multi_level_cols1.stack(future_stack=True)\n weight\ncat kg 1\n pounds 2\ndog kg 2\n pounds 4\n\n**Missing values**\n\n>>> multicol2 = pd.MultiIndex.from_tuples([('weight', 'kg'),\n... ('height', 'm')])\n>>> df_multi_level_cols2 = pd.DataFrame([[1.0, 2.0], [3.0, 4.0]],\n... index=['cat', 'dog'],\n... columns=multicol2)\n\nIt is common to have missing values when stacking a dataframe\nwith multi-level columns, as the stacked dataframe typically\nhas more values than the original dataframe. Missing values\nare filled with NaNs:\n\n>>> df_multi_level_cols2\n weight height\n kg m\ncat 1.0 2.0\ndog 3.0 4.0\n>>> df_multi_level_cols2.stack(future_stack=True)\n weight height\ncat kg 1.0 NaN\n m NaN 2.0\ndog kg 3.0 NaN\n m NaN 4.0\n\n**Prescribing the level(s) to be stacked**\n\nThe first parameter controls which level or levels are stacked:\n\n>>> df_multi_level_cols2.stack(0, future_stack=True)\n kg m\ncat weight 1.0 NaN\n height NaN 2.0\ndog weight 3.0 NaN\n height NaN 4.0\n>>> df_multi_level_cols2.stack([0, 1], future_stack=True)\ncat weight kg 1.0\n height m 2.0\ndog weight kg 3.0\n height m 4.0\ndtype: float64\n"}, "kind": 2, "label": "stack", "sortText": "165"}, {"detail": "bound method DataFrame.std(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, ddof: int = 1, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "std", "sortText": "166"}, {"detail": "Styler", "documentation": {"kind": "plaintext", "value": "Helps style a DataFrame or Series according to the data with HTML and CSS.\n\nParameters\n----------\ndata : Series or DataFrame\n Data to be styled - either a Series or DataFrame.\nprecision : int, optional\n Precision to round floats to. If not given defaults to\n ``pandas.options.styler.format.precision``.\n\n .. versionchanged:: 1.4.0\ntable_styles : list-like, default None\n List of {selector: (attr, value)} dicts; see Notes.\nuuid : str, default None\n A unique identifier to avoid CSS collisions; generated automatically.\ncaption : str, tuple, default None\n String caption to attach to the table. Tuple only used for LaTeX dual captions.\ntable_attributes : str, default None\n Items that show up in the opening ```` tag\n in addition to automatic (by default) id.\ncell_ids : bool, default True\n If True, each cell will have an ``id`` attribute in their HTML tag.\n The ``id`` takes the form ``T__row_col``\n where ```` is the unique identifier, ```` is the row\n number and ```` is the column number.\nna_rep : str, optional\n Representation for missing values.\n If ``na_rep`` is None, no special formatting is applied, and falls back to\n ``pandas.options.styler.format.na_rep``.\n\nuuid_len : int, default 5\n If ``uuid`` is not specified, the length of the ``uuid`` to randomly generate\n expressed in hex characters, in range [0, 32].\ndecimal : str, optional\n Character used as decimal separator for floats, complex and integers. If not\n given uses ``pandas.options.styler.format.decimal``.\n\n .. versionadded:: 1.3.0\n\nthousands : str, optional, default None\n Character used as thousands separator for floats, complex and integers. If not\n given uses ``pandas.options.styler.format.thousands``.\n\n .. versionadded:: 1.3.0\n\nescape : str, optional\n Use 'html' to replace the characters ``&``, ``<``, ``>``, ``'``, and ``\"``\n in cell display string with HTML-safe sequences.\n Use 'latex' to replace the characters ``&``, ``%``, ``$``, ``#``, ``_``,\n ``{``, ``}``, ``~``, ``^``, and ``\\`` in the cell display string with\n LaTeX-safe sequences. Use 'latex-math' to replace the characters\n the same way as in 'latex' mode, except for math substrings,\n which either are surrounded by two characters ``$`` or start with\n the character ``\\(`` and end with ``\\)``.\n If not given uses ``pandas.options.styler.format.escape``.\n\n .. versionadded:: 1.3.0\nformatter : str, callable, dict, optional\n Object to define how values are displayed. See ``Styler.format``. If not given\n uses ``pandas.options.styler.format.formatter``.\n\n .. versionadded:: 1.4.0\n\nAttributes\n----------\nenv : Jinja2 jinja2.Environment\ntemplate_html : Jinja2 Template\ntemplate_html_table : Jinja2 Template\ntemplate_html_style : Jinja2 Template\ntemplate_latex : Jinja2 Template\nloader : Jinja2 Loader\n\nSee Also\n--------\nDataFrame.style : Return a Styler object containing methods for building\n a styled HTML representation for the DataFrame.\n\nNotes\n-----\nMost styling will be done by passing style functions into\n``Styler.apply`` or ``Styler.map``. Style functions should\nreturn values with strings containing CSS ``'attr: value'`` that will\nbe applied to the indicated cells.\n\nIf using in the Jupyter notebook, Styler has defined a ``_repr_html_``\nto automatically render itself. Otherwise call Styler.to_html to get\nthe generated HTML.\n\nCSS classes are attached to the generated HTML\n\n* Index and Column names include ``index_name`` and ``level``\n where `k` is its level in a MultiIndex\n* Index label cells include\n\n * ``row_heading``\n * ``row`` where `n` is the numeric position of the row\n * ``level`` where `k` is the level in a MultiIndex\n\n* Column label cells include\n * ``col_heading``\n * ``col`` where `n` is the numeric position of the column\n * ``level`` where `k` is the level in a MultiIndex\n\n* Blank cells include ``blank``\n* Data cells include ``data``\n* Trimmed cells include ``col_trim`` or ``row_trim``.\n\nAny, or all, or these classes can be renamed by using the ``css_class_names``\nargument in ``Styler.set_table_classes``, giving a value such as\n*{\"row\": \"MY_ROW_CLASS\", \"col_trim\": \"\", \"row_trim\": \"\"}*.\n\nExamples\n--------\n>>> df = pd.DataFrame([[1.0, 2.0, 3.0], [4, 5, 6]], index=['a', 'b'],\n... columns=['A', 'B', 'C'])\n>>> pd.io.formats.style.Styler(df, precision=2,\n... caption=\"My table\") # doctest: +SKIP\n\nPlease see:\n`Table Visualization <../../user_guide/style.ipynb>`_ for more examples.\n"}, "kind": 22, "label": "style", "sortText": "167"}, {"detail": "bound method DataFrame.sub(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "sub", "sortText": "168"}, {"detail": "(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "subtract", "sortText": "169"}, {"detail": "bound method DataFrame.sum(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, min_count: int = 0, **kwargs) -> Unknown", "kind": 2, "label": "sum", "sortText": "170"}, {"detail": "bound method DataFrame.swapaxes(axis1: int | Literal[\"index\", \"columns\", \"rows\"], axis2: int | Literal[\"index\", \"columns\", \"rows\"], copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Interchange axes and swap values axes appropriately.\n\n.. deprecated:: 2.1.0\n ``swapaxes`` is deprecated and will be removed.\n Please use ``transpose`` instead.\n\nReturns\n-------\nsame as input\n\nExamples\n--------\nPlease see examples for :meth:`DataFrame.transpose`.\n"}, "kind": 2, "label": "swapaxes", "sortText": "171"}, {"detail": "bound method DataFrame.swaplevel(i: int | Literal[\"index\", \"columns\", \"rows\"] = -2, j: int | Literal[\"index\", \"columns\", \"rows\"] = -1, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> DataFrame", "kind": 2, "label": "swaplevel", "sortText": "172"}, {"detail": "bound method DataFrame.tail(n: int = 5) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the last `n` rows.\n\nThis function returns last `n` rows from the object based on\nposition. It is useful for quickly verifying data, for example,\nafter sorting or appending rows.\n\nFor negative values of `n`, this function returns all rows except\nthe first `|n|` rows, equivalent to ``df[|n|:]``.\n\nIf n is larger than the number of rows, this function returns all rows.\n\nParameters\n----------\nn : int, default 5\n Number of rows to select.\n\nReturns\n-------\ntype of caller\n The last `n` rows of the caller object.\n\nSee Also\n--------\nDataFrame.head : The first `n` rows of the caller object.\n\nExamples\n--------\n>>> df = pd.DataFrame({'animal': ['alligator', 'bee', 'falcon', 'lion',\n... 'monkey', 'parrot', 'shark', 'whale', 'zebra']})\n>>> df\n animal\n0 alligator\n1 bee\n2 falcon\n3 lion\n4 monkey\n5 parrot\n6 shark\n7 whale\n8 zebra\n\nViewing the last 5 lines\n\n>>> df.tail()\n animal\n4 monkey\n5 parrot\n6 shark\n7 whale\n8 zebra\n\nViewing the last `n` lines (three in this case)\n\n>>> df.tail(3)\n animal\n6 shark\n7 whale\n8 zebra\n\nFor negative values of `n`\n\n>>> df.tail(-3)\n animal\n3 lion\n4 monkey\n5 parrot\n6 shark\n7 whale\n8 zebra\n"}, "kind": 2, "label": "tail", "sortText": "173"}, {"detail": "bound method DataFrame.take(indices, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the elements in the given *positional* indices along an axis.\n\nThis means that we are not indexing according to actual values in\nthe index attribute of the object. We are indexing according to the\nactual position of the element in the object.\n\nParameters\n----------\nindices : array-like\n An array of ints indicating which positions to take.\naxis : {0 or 'index', 1 or 'columns', None}, default 0\n The axis on which to select elements. ``0`` means that we are\n selecting rows, ``1`` means that we are selecting columns.\n For `Series` this parameter is unused and defaults to 0.\n**kwargs\n For compatibility with :meth:`numpy.take`. Has no effect on the\n output.\n\nReturns\n-------\nsame type as caller\n An array-like containing the elements taken from the object.\n\nSee Also\n--------\nDataFrame.loc : Select a subset of a DataFrame by labels.\nDataFrame.iloc : Select a subset of a DataFrame by positions.\nnumpy.take : Take elements from an array along an axis.\n\nExamples\n--------\n>>> df = pd.DataFrame([('falcon', 'bird', 389.0),\n... ('parrot', 'bird', 24.0),\n... ('lion', 'mammal', 80.5),\n... ('monkey', 'mammal', np.nan)],\n... columns=['name', 'class', 'max_speed'],\n... index=[0, 2, 3, 1])\n>>> df\n name class max_speed\n0 falcon bird 389.0\n2 parrot bird 24.0\n3 lion mammal 80.5\n1 monkey mammal NaN\n\nTake elements at positions 0 and 3 along the axis 0 (default).\n\nNote how the actual indices selected (0 and 1) do not correspond to\nour selected indices 0 and 3. That's because we are selecting the 0th\nand 3rd rows, not rows whose indices equal 0 and 3.\n\n>>> df.take([0, 3])\n name class max_speed\n0 falcon bird 389.0\n1 monkey mammal NaN\n\nTake elements at indices 1 and 2 along the axis 1 (column selection).\n\n>>> df.take([1, 2], axis=1)\n class max_speed\n0 bird 389.0\n2 bird 24.0\n3 mammal 80.5\n1 mammal NaN\n\nWe may take elements using negative integers for positive indices,\nstarting from the end of the object, just like with Python lists.\n\n>>> df.take([-1, -2])\n name class max_speed\n1 monkey mammal NaN\n3 lion mammal 80.5\n"}, "kind": 2, "label": "take", "sortText": "174"}, {"detail": "bound method DataFrame.to_clipboard(excel: bool = True, sep: str | None = None, **kwargs) -> None", "documentation": {"kind": "plaintext", "value": "Copy object to the system clipboard.\n\nWrite a text representation of object to the system clipboard.\nThis can be pasted into Excel, for example.\n\nParameters\n----------\nexcel : bool, default True\n Produce output in a csv format for easy pasting into excel.\n\n - True, use the provided separator for csv pasting.\n - False, write a string representation of the object to the clipboard.\n\nsep : str, default ``'\\t'``\n Field delimiter.\n**kwargs\n These parameters will be passed to DataFrame.to_csv.\n\nSee Also\n--------\nDataFrame.to_csv : Write a DataFrame to a comma-separated values\n (csv) file.\nread_clipboard : Read text from clipboard and pass to read_csv.\n\nNotes\n-----\nRequirements for your platform.\n\n - Linux : `xclip`, or `xsel` (with `PyQt4` modules)\n - Windows : none\n - macOS : none\n\nThis method uses the processes developed for the package `pyperclip`. A\nsolution to render any output string format is given in the examples.\n\nExamples\n--------\nCopy the contents of a DataFrame to the clipboard.\n\n>>> df = pd.DataFrame([[1, 2, 3], [4, 5, 6]], columns=['A', 'B', 'C'])\n\n>>> df.to_clipboard(sep=',') # doctest: +SKIP\n... # Wrote the following to the system clipboard:\n... # ,A,B,C\n... # 0,1,2,3\n... # 1,4,5,6\n\nWe can omit the index by passing the keyword `index` and setting\nit to false.\n\n>>> df.to_clipboard(sep=',', index=False) # doctest: +SKIP\n... # Wrote the following to the system clipboard:\n... # A,B,C\n... # 1,2,3\n... # 4,5,6\n\nUsing the original `pyperclip` package for any string output format.\n\n.. code-block:: python\n\n import pyperclip\n html = df.style.to_html()\n pyperclip.copy(html)\n"}, "kind": 2, "label": "to_clipboard", "sortText": "175"}, {"detail": "Overload[(path_or_buf: None = ..., sep: str = ..., na_rep: str = ..., float_format: str | ((...) -> Unknown) | None = ..., columns: Sequence[Hashable] | None = ..., header: bool | list[str] = ..., index: bool = ..., index_label: Hashable | Sequence[Hashable] = ..., mode: str = ..., encoding: str | None = ..., compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = ..., quoting: int | None = ..., quotechar: str = ..., lineterminator: str | None = ..., chunksize: int | None = ..., date_format: str | None = ..., doublequote: bool = ..., escapechar: str | None = ..., decimal: str = ..., errors: Literal[\"strict\", \"ignore\", \"replace\", \"surrogateescape\", \"xmlcharrefreplace\", \"backslashreplace\", \"namereplace\"] = ..., storage_options: dict[str, Any] | None = ...) -> str, (path_or_buf: str | PathLike[str] | WriteBuffer[bytes] | WriteBuffer[str], sep: str = ..., na_rep: str = ..., float_format: str | ((...) -> Unknown) | None = ..., columns: Sequence[Hashable] | None = ..., header: bool | list[str] = ..., index: bool = ..., index_label: Hashable | Sequence[Hashable] = ..., mode: str = ..., encoding: str | None = ..., compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = ..., quoting: int | None = ..., quotechar: str = ..., lineterminator: str | None = ..., chunksize: int | None = ..., date_format: str | None = ..., doublequote: bool = ..., escapechar: str | None = ..., decimal: str = ..., errors: Literal[\"strict\", \"ignore\", \"replace\", \"surrogateescape\", \"xmlcharrefreplace\", \"backslashreplace\", \"namereplace\"] = ..., storage_options: dict[str, Any] | None = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Write object to a comma-separated values (csv) file.\n\nParameters\n----------\npath_or_buf : str, path object, file-like object, or None, default None\n String, path object (implementing os.PathLike[str]), or file-like\n object implementing a write() function. If None, the result is\n returned as a string. If a non-binary file object is passed, it should\n be opened with `newline=''`, disabling universal newlines. If a binary\n file object is passed, `mode` might need to contain a `'b'`.\nsep : str, default ','\n String of length 1. Field delimiter for the output file.\nna_rep : str, default ''\n Missing data representation.\nfloat_format : str, Callable, default None\n Format string for floating point numbers. If a Callable is given, it takes\n precedence over other numeric formatting parameters, like decimal.\ncolumns : sequence, optional\n Columns to write.\nheader : bool or list of str, default True\n Write out the column names. If a list of strings is given it is\n assumed to be aliases for the column names.\nindex : bool, default True\n Write row names (index).\nindex_label : str or sequence, or False, default None\n Column label for index column(s) if desired. If None is given, and\n `header` and `index` are True, then the index names are used. A\n sequence should be given if the object uses MultiIndex. If\n False do not print fields for index names. Use index_label=False\n for easier importing in R.\nmode : {{'w', 'x', 'a'}}, default 'w'\n Forwarded to either `open(mode=)` or `fsspec.open(mode=)` to control\n the file opening. Typical values include:\n\n - 'w', truncate the file first.\n - 'x', exclusive creation, failing if the file already exists.\n - 'a', append to the end of file if it exists.\n\nencoding : str, optional\n A string representing the encoding to use in the output file,\n defaults to 'utf-8'. `encoding` is not supported if `path_or_buf`\n is a non-binary file object.\n{compression_options}\n\n May be a dict with key 'method' as compression mode\n and other entries as additional compression options if\n compression mode is 'zip'.\n\n Passing compression options as keys in dict is\n supported for compression modes 'gzip', 'bz2', 'zstd', and 'zip'.\nquoting : optional constant from csv module\n Defaults to csv.QUOTE_MINIMAL. If you have set a `float_format`\n then floats are converted to strings and thus csv.QUOTE_NONNUMERIC\n will treat them as non-numeric.\nquotechar : str, default '\\\"'\n String of length 1. Character used to quote fields.\nlineterminator : str, optional\n The newline character or character sequence to use in the output\n file. Defaults to `os.linesep`, which depends on the OS in which\n this method is called ('\\\\n' for linux, '\\\\r\\\\n' for Windows, i.e.).\n\n .. versionchanged:: 1.5.0\n\n Previously was line_terminator, changed for consistency with\n read_csv and the standard library 'csv' module.\n\nchunksize : int or None\n Rows to write at a time.\ndate_format : str, default None\n Format string for datetime objects.\ndoublequote : bool, default True\n Control quoting of `quotechar` inside a field.\nescapechar : str, default None\n String of length 1. Character used to escape `sep` and `quotechar`\n when appropriate.\ndecimal : str, default '.'\n Character recognized as decimal separator. E.g. use ',' for\n European data.\nerrors : str, default 'strict'\n Specifies how encoding and decoding errors are to be handled.\n See the errors argument for :func:`open` for a full list\n of options.\n\n{storage_options}\n\nReturns\n-------\nNone or str\n If path_or_buf is None, returns the resulting csv format as a\n string. Otherwise returns None.\n\nSee Also\n--------\nread_csv : Load a CSV file into a DataFrame.\nto_excel : Write DataFrame to an Excel file.\n\nExamples\n--------\nCreate 'out.csv' containing 'df' without indices\n\n>>> df = pd.DataFrame({{'name': ['Raphael', 'Donatello'],\n... 'mask': ['red', 'purple'],\n... 'weapon': ['sai', 'bo staff']}})\n>>> df.to_csv('out.csv', index=False) # doctest: +SKIP\n\nCreate 'out.zip' containing 'out.csv'\n\n>>> df.to_csv(index=False)\n'name,mask,weapon\\nRaphael,red,sai\\nDonatello,purple,bo staff\\n'\n>>> compression_opts = dict(method='zip',\n... archive_name='out.csv') # doctest: +SKIP\n>>> df.to_csv('out.zip', index=False,\n... compression=compression_opts) # doctest: +SKIP\n\nTo write a csv file to a new folder or nested folder you will first\nneed to create it using either Pathlib or os:\n\n>>> from pathlib import Path # doctest: +SKIP\n>>> filepath = Path('folder/subfolder/out.csv') # doctest: +SKIP\n>>> filepath.parent.mkdir(parents=True, exist_ok=True) # doctest: +SKIP\n>>> df.to_csv(filepath) # doctest: +SKIP\n\n>>> import os # doctest: +SKIP\n>>> os.makedirs('folder/subfolder', exist_ok=True) # doctest: +SKIP\n>>> df.to_csv('folder/subfolder/out.csv') # doctest: +SKIP\n"}, "kind": 2, "label": "to_csv", "sortText": "176"}, {"detail": "Overload[[MutableMappingT](orient: Literal[\"dict\", \"list\", \"series\", \"split\", \"tight\", \"index\"] = ..., *, into: type[MutableMappingT] | MutableMappingT, index: bool = ...) -> MutableMappingT, [MutableMappingT](orient: Literal[\"records\"], *, into: type[MutableMappingT] | MutableMappingT, index: bool = ...) -> list[MutableMappingT], (orient: Literal[\"dict\", \"list\", \"series\", \"split\", \"tight\", \"index\"] = ..., *, into: type[dict[Unknown, Unknown]] = ..., index: bool = ...) -> dict[Unknown, Unknown], (orient: Literal[\"records\"], *, into: type[dict[Unknown, Unknown]] = ..., index: bool = ...) -> list[dict[Unknown, Unknown]]]", "documentation": {"kind": "plaintext", "value": "Convert the DataFrame to a dictionary.\n\nThe type of the key-value pairs can be customized with the parameters\n(see below).\n\nParameters\n----------\norient : str {'dict', 'list', 'series', 'split', 'tight', 'records', 'index'}\n Determines the type of the values of the dictionary.\n\n - 'dict' (default) : dict like {column -> {index -> value}}\n - 'list' : dict like {column -> [values]}\n - 'series' : dict like {column -> Series(values)}\n - 'split' : dict like\n {'index' -> [index], 'columns' -> [columns], 'data' -> [values]}\n - 'tight' : dict like\n {'index' -> [index], 'columns' -> [columns], 'data' -> [values],\n 'index_names' -> [index.names], 'column_names' -> [column.names]}\n - 'records' : list like\n [{column -> value}, ... , {column -> value}]\n - 'index' : dict like {index -> {column -> value}}\n\n .. versionadded:: 1.4.0\n 'tight' as an allowed value for the ``orient`` argument\n\ninto : class, default dict\n The collections.abc.MutableMapping subclass used for all Mappings\n in the return value. Can be the actual class or an empty\n instance of the mapping type you want. If you want a\n collections.defaultdict, you must pass it initialized.\n\nindex : bool, default True\n Whether to include the index item (and index_names item if `orient`\n is 'tight') in the returned dictionary. Can only be ``False``\n when `orient` is 'split' or 'tight'.\n\n .. versionadded:: 2.0.0\n\nReturns\n-------\ndict, list or collections.abc.MutableMapping\n Return a collections.abc.MutableMapping object representing the\n DataFrame. The resulting transformation depends on the `orient`\n parameter.\n\nSee Also\n--------\nDataFrame.from_dict: Create a DataFrame from a dictionary.\nDataFrame.to_json: Convert a DataFrame to JSON format.\n\nExamples\n--------\n>>> df = pd.DataFrame({'col1': [1, 2],\n... 'col2': [0.5, 0.75]},\n... index=['row1', 'row2'])\n>>> df\n col1 col2\nrow1 1 0.50\nrow2 2 0.75\n>>> df.to_dict()\n{'col1': {'row1': 1, 'row2': 2}, 'col2': {'row1': 0.5, 'row2': 0.75}}\n\nYou can specify the return orientation.\n\n>>> df.to_dict('series')\n{'col1': row1 1\n row2 2\nName: col1, dtype: int64,\n'col2': row1 0.50\n row2 0.75\nName: col2, dtype: float64}\n\n>>> df.to_dict('split')\n{'index': ['row1', 'row2'], 'columns': ['col1', 'col2'],\n 'data': [[1, 0.5], [2, 0.75]]}\n\n>>> df.to_dict('records')\n[{'col1': 1, 'col2': 0.5}, {'col1': 2, 'col2': 0.75}]\n\n>>> df.to_dict('index')\n{'row1': {'col1': 1, 'col2': 0.5}, 'row2': {'col1': 2, 'col2': 0.75}}\n\n>>> df.to_dict('tight')\n{'index': ['row1', 'row2'], 'columns': ['col1', 'col2'],\n 'data': [[1, 0.5], [2, 0.75]], 'index_names': [None], 'column_names': [None]}\n\nYou can also specify the mapping type.\n\n>>> from collections import OrderedDict, defaultdict\n>>> df.to_dict(into=OrderedDict)\nOrderedDict([('col1', OrderedDict([('row1', 1), ('row2', 2)])),\n ('col2', OrderedDict([('row1', 0.5), ('row2', 0.75)]))])\n\nIf you want a `defaultdict`, you need to initialize it:\n\n>>> dd = defaultdict(list)\n>>> df.to_dict('records', into=dd)\n[defaultdict(, {'col1': 1, 'col2': 0.5}),\n defaultdict(, {'col1': 2, 'col2': 0.75})]\n"}, "kind": 2, "label": "to_dict", "sortText": "177"}, {"detail": "bound method DataFrame.to_excel(excel_writer: str | PathLike[str] | WriteExcelBuffer, sheet_name: str = \"Sheet1\", na_rep: str = \"\", float_format: str | None = None, columns: Sequence[Hashable] | None = None, header: Sequence[Hashable] | bool = True, index: bool = True, index_label: Hashable | Sequence[Hashable] = None, startrow: int = 0, startcol: int = 0, engine: Literal[\"openpyxl\", \"xlsxwriter\"] | None = None, merge_cells: bool = True, inf_rep: str = \"inf\", freeze_panes: tuple[int, int] | None = None, storage_options: dict[str, Any] | None = None, engine_kwargs: dict[str, Any] | None = None) -> None", "documentation": {"kind": "plaintext", "value": "Write {klass} to an Excel sheet.\n\nTo write a single {klass} to an Excel .xlsx file it is only necessary to\nspecify a target file name. To write to multiple sheets it is necessary to\ncreate an `ExcelWriter` object with a target file name, and specify a sheet\nin the file to write to.\n\nMultiple sheets may be written to by specifying unique `sheet_name`.\nWith all data written to the file it is necessary to save the changes.\nNote that creating an `ExcelWriter` object with a file name that already\nexists will result in the contents of the existing file being erased.\n\nParameters\n----------\nexcel_writer : path-like, file-like, or ExcelWriter object\n File path or existing ExcelWriter.\nsheet_name : str, default 'Sheet1'\n Name of sheet which will contain DataFrame.\nna_rep : str, default ''\n Missing data representation.\nfloat_format : str, optional\n Format string for floating point numbers. For example\n ``float_format=\"%.2f\"`` will format 0.1234 to 0.12.\ncolumns : sequence or list of str, optional\n Columns to write.\nheader : bool or list of str, default True\n Write out the column names. If a list of string is given it is\n assumed to be aliases for the column names.\nindex : bool, default True\n Write row names (index).\nindex_label : str or sequence, optional\n Column label for index column(s) if desired. If not specified, and\n `header` and `index` are True, then the index names are used. A\n sequence should be given if the DataFrame uses MultiIndex.\nstartrow : int, default 0\n Upper left cell row to dump data frame.\nstartcol : int, default 0\n Upper left cell column to dump data frame.\nengine : str, optional\n Write engine to use, 'openpyxl' or 'xlsxwriter'. You can also set this\n via the options ``io.excel.xlsx.writer`` or\n ``io.excel.xlsm.writer``.\n\nmerge_cells : bool, default True\n Write MultiIndex and Hierarchical Rows as merged cells.\ninf_rep : str, default 'inf'\n Representation for infinity (there is no native representation for\n infinity in Excel).\nfreeze_panes : tuple of int (length 2), optional\n Specifies the one-based bottommost row and rightmost column that\n is to be frozen.\n{storage_options}\n\n .. versionadded:: {storage_options_versionadded}\nengine_kwargs : dict, optional\n Arbitrary keyword arguments passed to excel engine.\n\nSee Also\n--------\nto_csv : Write DataFrame to a comma-separated values (csv) file.\nExcelWriter : Class for writing DataFrame objects into excel sheets.\nread_excel : Read an Excel file into a pandas DataFrame.\nread_csv : Read a comma-separated values (csv) file into DataFrame.\nio.formats.style.Styler.to_excel : Add styles to Excel sheet.\n\nNotes\n-----\nFor compatibility with :meth:`~DataFrame.to_csv`,\nto_excel serializes lists and dicts to strings before writing.\n\nOnce a workbook has been saved it is not possible to write further\ndata without rewriting the whole workbook.\n\nExamples\n--------\n\nCreate, write to and save a workbook:\n\n>>> df1 = pd.DataFrame([['a', 'b'], ['c', 'd']],\n... index=['row 1', 'row 2'],\n... columns=['col 1', 'col 2'])\n>>> df1.to_excel(\"output.xlsx\") # doctest: +SKIP\n\nTo specify the sheet name:\n\n>>> df1.to_excel(\"output.xlsx\",\n... sheet_name='Sheet_name_1') # doctest: +SKIP\n\nIf you wish to write to more than one sheet in the workbook, it is\nnecessary to specify an ExcelWriter object:\n\n>>> df2 = df1.copy()\n>>> with pd.ExcelWriter('output.xlsx') as writer: # doctest: +SKIP\n... df1.to_excel(writer, sheet_name='Sheet_name_1')\n... df2.to_excel(writer, sheet_name='Sheet_name_2')\n\nExcelWriter can also be used to append to an existing Excel file:\n\n>>> with pd.ExcelWriter('output.xlsx',\n... mode='a') as writer: # doctest: +SKIP\n... df1.to_excel(writer, sheet_name='Sheet_name_3')\n\nTo set the library that is used to write the Excel file,\nyou can pass the `engine` keyword (the default engine is\nautomatically chosen depending on the file extension):\n\n>>> df1.to_excel('output1.xlsx', engine='xlsxwriter') # doctest: +SKIP\n"}, "kind": 2, "label": "to_excel", "sortText": "178"}, {"detail": "bound method DataFrame.to_feather(path: str | PathLike[str] | WriteBuffer[bytes], **kwargs) -> None", "documentation": {"kind": "plaintext", "value": "Write a DataFrame to the binary Feather format.\n\nParameters\n----------\npath : str, path object, file-like object\n String, path object (implementing ``os.PathLike[str]``), or file-like\n object implementing a binary ``write()`` function. If a string or a path,\n it will be used as Root Directory path when writing a partitioned dataset.\n**kwargs :\n Additional keywords passed to :func:`pyarrow.feather.write_feather`.\n This includes the `compression`, `compression_level`, `chunksize`\n and `version` keywords.\n\nNotes\n-----\nThis function writes the dataframe as a `feather file\n`_. Requires a default\nindex. For saving the DataFrame with your custom index use a method that\nsupports custom indices e.g. `to_parquet`.\n\nExamples\n--------\n>>> df = pd.DataFrame([[1, 2, 3], [4, 5, 6]])\n>>> df.to_feather(\"file.feather\") # doctest: +SKIP\n"}, "kind": 2, "label": "to_feather", "sortText": "179"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "to_frame", "sortText": "180"}, {"detail": "bound method DataFrame.to_gbq(destination_table: str, project_id: str | None = None, chunksize: int | None = None, reauth: bool = False, if_exists: Literal[\"fail\", \"replace\", \"append\"] = \"fail\", auth_local_webserver: bool = True, table_schema: list[dict[str, str]] | None = None, location: str | None = None, progress_bar: bool = True, credentials=None) -> None", "documentation": {"kind": "plaintext", "value": "Write a DataFrame to a Google BigQuery table.\n\n.. deprecated:: 2.2.0\n\n Please use ``pandas_gbq.to_gbq`` instead.\n\nThis function requires the `pandas-gbq package\n`__.\n\nSee the `How to authenticate with Google BigQuery\n`__\nguide for authentication instructions.\n\nParameters\n----------\ndestination_table : str\n Name of table to be written, in the form ``dataset.tablename``.\nproject_id : str, optional\n Google BigQuery Account project ID. Optional when available from\n the environment.\nchunksize : int, optional\n Number of rows to be inserted in each chunk from the dataframe.\n Set to ``None`` to load the whole dataframe at once.\nreauth : bool, default False\n Force Google BigQuery to re-authenticate the user. This is useful\n if multiple accounts are used.\nif_exists : str, default 'fail'\n Behavior when the destination table exists. Value can be one of:\n\n ``'fail'``\n If table exists raise pandas_gbq.gbq.TableCreationError.\n ``'replace'``\n If table exists, drop it, recreate it, and insert data.\n ``'append'``\n If table exists, insert data. Create if does not exist.\nauth_local_webserver : bool, default True\n Use the `local webserver flow`_ instead of the `console flow`_\n when getting user credentials.\n\n .. _local webserver flow:\n https://google-auth-oauthlib.readthedocs.io/en/latest/reference/google_auth_oauthlib.flow.html#google_auth_oauthlib.flow.InstalledAppFlow.run_local_server\n .. _console flow:\n https://google-auth-oauthlib.readthedocs.io/en/latest/reference/google_auth_oauthlib.flow.html#google_auth_oauthlib.flow.InstalledAppFlow.run_console\n\n *New in version 0.2.0 of pandas-gbq*.\n\n .. versionchanged:: 1.5.0\n Default value is changed to ``True``. Google has deprecated the\n ``auth_local_webserver = False`` `\"out of band\" (copy-paste)\n flow\n `_.\ntable_schema : list of dicts, optional\n List of BigQuery table fields to which according DataFrame\n columns conform to, e.g. ``[{'name': 'col1', 'type':\n 'STRING'},...]``. If schema is not provided, it will be\n generated according to dtypes of DataFrame columns. See\n BigQuery API documentation on available names of a field.\n\n *New in version 0.3.1 of pandas-gbq*.\nlocation : str, optional\n Location where the load job should run. See the `BigQuery locations\n documentation\n `__ for a\n list of available locations. The location must match that of the\n target dataset.\n\n *New in version 0.5.0 of pandas-gbq*.\nprogress_bar : bool, default True\n Use the library `tqdm` to show the progress bar for the upload,\n chunk by chunk.\n\n *New in version 0.5.0 of pandas-gbq*.\ncredentials : google.auth.credentials.Credentials, optional\n Credentials for accessing Google APIs. Use this parameter to\n override default credentials, such as to use Compute Engine\n :class:`google.auth.compute_engine.Credentials` or Service\n Account :class:`google.oauth2.service_account.Credentials`\n directly.\n\n *New in version 0.8.0 of pandas-gbq*.\n\nSee Also\n--------\npandas_gbq.to_gbq : This function in the pandas-gbq library.\nread_gbq : Read a DataFrame from Google BigQuery.\n\nExamples\n--------\nExample taken from `Google BigQuery documentation\n`_\n\n>>> project_id = \"my-project\"\n>>> table_id = 'my_dataset.my_table'\n>>> df = pd.DataFrame({\n... \"my_string\": [\"a\", \"b\", \"c\"],\n... \"my_int64\": [1, 2, 3],\n... \"my_float64\": [4.0, 5.0, 6.0],\n... \"my_bool1\": [True, False, True],\n... \"my_bool2\": [False, True, False],\n... \"my_dates\": pd.date_range(\"now\", periods=3),\n... }\n... )\n\n>>> df.to_gbq(table_id, project_id=project_id) # doctest: +SKIP\n"}, "kind": 2, "label": "to_gbq", "sortText": "181"}, {"detail": "bound method DataFrame.to_hdf(path_or_buf: str | PathLike[str], key: str, mode: Literal[\"a\", \"w\", \"r+\"] = \"a\", complevel: int | None = None, complib: Literal[\"zlib\", \"lzo\", \"bzip2\", \"blosc\"] | None = None, append: bool = False, format: Literal[\"fixed\", \"table\"] | None = None, index: bool = True, min_itemsize: int | dict[str, int] | None = None, nan_rep=None, dropna: bool | None = None, data_columns: Literal[True] | list[str] | None = None, errors: Literal[\"strict\", \"ignore\", \"replace\", \"surrogateescape\", \"xmlcharrefreplace\", \"backslashreplace\", \"namereplace\"] = \"strict\", encoding: str = \"UTF-8\") -> None", "documentation": {"kind": "plaintext", "value": "Write the contained data to an HDF5 file using HDFStore.\n\nHierarchical Data Format (HDF) is self-describing, allowing an\napplication to interpret the structure and contents of a file with\nno outside information. One HDF file can hold a mix of related objects\nwhich can be accessed as a group or as individual objects.\n\nIn order to add another DataFrame or Series to an existing HDF file\nplease use append mode and a different a key.\n\n.. warning::\n\n One can store a subclass of ``DataFrame`` or ``Series`` to HDF5,\n but the type of the subclass is lost upon storing.\n\nFor more information see the :ref:`user guide `.\n\nParameters\n----------\npath_or_buf : str or pandas.HDFStore\n File path or HDFStore object.\nkey : str\n Identifier for the group in the store.\nmode : {'a', 'w', 'r+'}, default 'a'\n Mode to open file:\n\n - 'w': write, a new file is created (an existing file with\n the same name would be deleted).\n - 'a': append, an existing file is opened for reading and\n writing, and if the file does not exist it is created.\n - 'r+': similar to 'a', but the file must already exist.\ncomplevel : {0-9}, default None\n Specifies a compression level for data.\n A value of 0 or None disables compression.\ncomplib : {'zlib', 'lzo', 'bzip2', 'blosc'}, default 'zlib'\n Specifies the compression library to be used.\n These additional compressors for Blosc are supported\n (default if no compressor specified: 'blosc:blosclz'):\n {'blosc:blosclz', 'blosc:lz4', 'blosc:lz4hc', 'blosc:snappy',\n 'blosc:zlib', 'blosc:zstd'}.\n Specifying a compression library which is not available issues\n a ValueError.\nappend : bool, default False\n For Table formats, append the input data to the existing.\nformat : {'fixed', 'table', None}, default 'fixed'\n Possible values:\n\n - 'fixed': Fixed format. Fast writing/reading. Not-appendable,\n nor searchable.\n - 'table': Table format. Write as a PyTables Table structure\n which may perform worse but allow more flexible operations\n like searching / selecting subsets of the data.\n - If None, pd.get_option('io.hdf.default_format') is checked,\n followed by fallback to \"fixed\".\nindex : bool, default True\n Write DataFrame index as a column.\nmin_itemsize : dict or int, optional\n Map column names to minimum string sizes for columns.\nnan_rep : Any, optional\n How to represent null values as str.\n Not allowed with append=True.\ndropna : bool, default False, optional\n Remove missing values.\ndata_columns : list of columns or True, optional\n List of columns to create as indexed data columns for on-disk\n queries, or True to use all columns. By default only the axes\n of the object are indexed. See\n :ref:`Query via data columns`. for\n more information.\n Applicable only to format='table'.\nerrors : str, default 'strict'\n Specifies how encoding and decoding errors are to be handled.\n See the errors argument for :func:`open` for a full list\n of options.\nencoding : str, default \"UTF-8\"\n\nSee Also\n--------\nread_hdf : Read from HDF file.\nDataFrame.to_orc : Write a DataFrame to the binary orc format.\nDataFrame.to_parquet : Write a DataFrame to the binary parquet format.\nDataFrame.to_sql : Write to a SQL table.\nDataFrame.to_feather : Write out feather-format for DataFrames.\nDataFrame.to_csv : Write out to a csv file.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]},\n... index=['a', 'b', 'c']) # doctest: +SKIP\n>>> df.to_hdf('data.h5', key='df', mode='w') # doctest: +SKIP\n\nWe can add another object to the same file:\n\n>>> s = pd.Series([1, 2, 3, 4]) # doctest: +SKIP\n>>> s.to_hdf('data.h5', key='s') # doctest: +SKIP\n\nReading from HDF file:\n\n>>> pd.read_hdf('data.h5', 'df') # doctest: +SKIP\nA B\na 1 4\nb 2 5\nc 3 6\n>>> pd.read_hdf('data.h5', 's') # doctest: +SKIP\n0 1\n1 2\n2 3\n3 4\ndtype: int64\n"}, "kind": 2, "label": "to_hdf", "sortText": "182"}, {"detail": "Overload[(buf: str | PathLike[str] | WriteBuffer[str], columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = ..., col_space: Sequence[str | int] | int | Mapping[Hashable, str | int] | None = ..., header: bool = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., justify: str | None = ..., max_rows: int | None = ..., max_cols: int | None = ..., show_dimensions: bool | str = ..., decimal: str = ..., bold_rows: bool = ..., classes: str | list[Unknown] | tuple[Unknown, ...] | None = ..., escape: bool = ..., notebook: bool = ..., border: int | None = ..., table_id: str | None = ..., render_links: bool = ..., encoding: str | None = ...) -> None, (buf: None = ..., columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = ..., col_space: Sequence[str | int] | int | Mapping[Hashable, str | int] | None = ..., header: bool = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., justify: str | None = ..., max_rows: int | None = ..., max_cols: int | None = ..., show_dimensions: bool | str = ..., decimal: str = ..., bold_rows: bool = ..., classes: str | list[Unknown] | tuple[Unknown, ...] | None = ..., escape: bool = ..., notebook: bool = ..., border: int | None = ..., table_id: str | None = ..., render_links: bool = ..., encoding: str | None = ...) -> str]", "documentation": {"kind": "plaintext", "value": "Render a DataFrame as an HTML table.\n%(shared_params)s\nbold_rows : bool, default True\n Make the row labels bold in the output.\nclasses : str or list or tuple, default None\n CSS class(es) to apply to the resulting html table.\nescape : bool, default True\n Convert the characters <, >, and & to HTML-safe sequences.\nnotebook : {True, False}, default False\n Whether the generated HTML is for IPython Notebook.\nborder : int\n A ``border=border`` attribute is included in the opening\n `
` tag. Default ``pd.options.display.html.border``.\ntable_id : str, optional\n A css id is included in the opening `
` tag if specified.\nrender_links : bool, default False\n Convert URLs to HTML links.\nencoding : str, default \"utf-8\"\n Set character encoding.\n%(returns)s\nSee Also\n--------\nto_string : Convert DataFrame to a string.\n\nExamples\n--------\n>>> df = pd.DataFrame(data={'col1': [1, 2], 'col2': [4, 3]})\n>>> html_string = '''
\n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n...
col1col2
014
123
'''\n>>> assert html_string == df.to_html()\n"}, "kind": 2, "label": "to_html", "sortText": "183"}, {"detail": "bound method DataFrame.to_json(path_or_buf: str | PathLike[str] | WriteBuffer[bytes] | WriteBuffer[str] | None = None, orient: Literal[\"split\", \"records\", \"index\", \"table\", \"columns\", \"values\"] | None = None, date_format: str | None = None, double_precision: int = 10, force_ascii: bool = True, date_unit: Literal[\"s\", \"ms\", \"us\", \"ns\"] = \"ms\", default_handler: ((Any, /) -> str | float | list[Unknown] | dict[Unknown, Unknown] | None) | None = None, lines: bool = False, compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = \"infer\", index: bool | None = None, indent: int | None = None, storage_options: dict[str, Any] | None = None, mode: Literal[\"a\", \"w\"] = \"w\") -> str | None", "documentation": {"kind": "plaintext", "value": "Convert the object to a JSON string.\n\nNote NaN's and None will be converted to null and datetime objects\nwill be converted to UNIX timestamps.\n\nParameters\n----------\npath_or_buf : str, path object, file-like object, or None, default None\n String, path object (implementing os.PathLike[str]), or file-like\n object implementing a write() function. If None, the result is\n returned as a string.\norient : str\n Indication of expected JSON string format.\n\n * Series:\n\n - default is 'index'\n - allowed values are: {{'split', 'records', 'index', 'table'}}.\n\n * DataFrame:\n\n - default is 'columns'\n - allowed values are: {{'split', 'records', 'index', 'columns',\n 'values', 'table'}}.\n\n * The format of the JSON string:\n\n - 'split' : dict like {{'index' -> [index], 'columns' -> [columns],\n 'data' -> [values]}}\n - 'records' : list like [{{column -> value}}, ... , {{column -> value}}]\n - 'index' : dict like {{index -> {{column -> value}}}}\n - 'columns' : dict like {{column -> {{index -> value}}}}\n - 'values' : just the values array\n - 'table' : dict like {{'schema': {{schema}}, 'data': {{data}}}}\n\n Describing the data, where data component is like ``orient='records'``.\n\ndate_format : {{None, 'epoch', 'iso'}}\n Type of date conversion. 'epoch' = epoch milliseconds,\n 'iso' = ISO8601. The default depends on the `orient`. For\n ``orient='table'``, the default is 'iso'. For all other orients,\n the default is 'epoch'.\ndouble_precision : int, default 10\n The number of decimal places to use when encoding\n floating point values. The possible maximal value is 15.\n Passing double_precision greater than 15 will raise a ValueError.\nforce_ascii : bool, default True\n Force encoded string to be ASCII.\ndate_unit : str, default 'ms' (milliseconds)\n The time unit to encode to, governs timestamp and ISO8601\n precision. One of 's', 'ms', 'us', 'ns' for second, millisecond,\n microsecond, and nanosecond respectively.\ndefault_handler : callable, default None\n Handler to call if object cannot otherwise be converted to a\n suitable format for JSON. Should receive a single argument which is\n the object to convert and return a serialisable object.\nlines : bool, default False\n If 'orient' is 'records' write out line-delimited json format. Will\n throw ValueError if incorrect 'orient' since others are not\n list-like.\n{compression_options}\n\n .. versionchanged:: 1.4.0 Zstandard support.\n\nindex : bool or None, default None\n The index is only used when 'orient' is 'split', 'index', 'column',\n or 'table'. Of these, 'index' and 'column' do not support\n `index=False`.\n\nindent : int, optional\n Length of whitespace used to indent each record.\n\n{storage_options}\n\nmode : str, default 'w' (writing)\n Specify the IO mode for output when supplying a path_or_buf.\n Accepted args are 'w' (writing) and 'a' (append) only.\n mode='a' is only supported when lines is True and orient is 'records'.\n\nReturns\n-------\nNone or str\n If path_or_buf is None, returns the resulting json format as a\n string. Otherwise returns None.\n\nSee Also\n--------\nread_json : Convert a JSON string to pandas object.\n\nNotes\n-----\nThe behavior of ``indent=0`` varies from the stdlib, which does not\nindent the output but does insert newlines. Currently, ``indent=0``\nand the default ``indent=None`` are equivalent in pandas, though this\nmay change in a future release.\n\n``orient='table'`` contains a 'pandas_version' field under 'schema'.\nThis stores the version of `pandas` used in the latest revision of the\nschema.\n\nExamples\n--------\n>>> from json import loads, dumps\n>>> df = pd.DataFrame(\n... [[\"a\", \"b\"], [\"c\", \"d\"]],\n... index=[\"row 1\", \"row 2\"],\n... columns=[\"col 1\", \"col 2\"],\n... )\n\n>>> result = df.to_json(orient=\"split\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n{{\n \"columns\": [\n \"col 1\",\n \"col 2\"\n ],\n \"index\": [\n \"row 1\",\n \"row 2\"\n ],\n \"data\": [\n [\n \"a\",\n \"b\"\n ],\n [\n \"c\",\n \"d\"\n ]\n ]\n}}\n\nEncoding/decoding a Dataframe using ``'records'`` formatted JSON.\nNote that index labels are not preserved with this encoding.\n\n>>> result = df.to_json(orient=\"records\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n[\n {{\n \"col 1\": \"a\",\n \"col 2\": \"b\"\n }},\n {{\n \"col 1\": \"c\",\n \"col 2\": \"d\"\n }}\n]\n\nEncoding/decoding a Dataframe using ``'index'`` formatted JSON:\n\n>>> result = df.to_json(orient=\"index\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n{{\n \"row 1\": {{\n \"col 1\": \"a\",\n \"col 2\": \"b\"\n }},\n \"row 2\": {{\n \"col 1\": \"c\",\n \"col 2\": \"d\"\n }}\n}}\n\nEncoding/decoding a Dataframe using ``'columns'`` formatted JSON:\n\n>>> result = df.to_json(orient=\"columns\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n{{\n \"col 1\": {{\n \"row 1\": \"a\",\n \"row 2\": \"c\"\n }},\n \"col 2\": {{\n \"row 1\": \"b\",\n \"row 2\": \"d\"\n }}\n}}\n\nEncoding/decoding a Dataframe using ``'values'`` formatted JSON:\n\n>>> result = df.to_json(orient=\"values\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n[\n [\n \"a\",\n \"b\"\n ],\n [\n \"c\",\n \"d\"\n ]\n]\n\nEncoding with Table Schema:\n\n>>> result = df.to_json(orient=\"table\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n{{\n \"schema\": {{\n \"fields\": [\n {{\n \"name\": \"index\",\n \"type\": \"string\"\n }},\n {{\n \"name\": \"col 1\",\n \"type\": \"string\"\n }},\n {{\n \"name\": \"col 2\",\n \"type\": \"string\"\n }}\n ],\n \"primaryKey\": [\n \"index\"\n ],\n \"pandas_version\": \"1.4.0\"\n }},\n \"data\": [\n {{\n \"index\": \"row 1\",\n \"col 1\": \"a\",\n \"col 2\": \"b\"\n }},\n {{\n \"index\": \"row 2\",\n \"col 1\": \"c\",\n \"col 2\": \"d\"\n }}\n ]\n}}\n"}, "kind": 2, "label": "to_json", "sortText": "184"}, {"detail": "Overload[(buf: None = ..., columns: Sequence[Hashable] | None = ..., header: bool | SequenceNotStr[str] = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., bold_rows: bool = ..., column_format: str | None = ..., longtable: bool | None = ..., escape: bool | None = ..., encoding: str | None = ..., decimal: str = ..., multicolumn: bool | None = ..., multicolumn_format: str | None = ..., multirow: bool | None = ..., caption: str | tuple[str, str] | None = ..., label: str | None = ..., position: str | None = ...) -> str, (buf: str | PathLike[str] | WriteBuffer[str], columns: Sequence[Hashable] | None = ..., header: bool | SequenceNotStr[str] = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., bold_rows: bool = ..., column_format: str | None = ..., longtable: bool | None = ..., escape: bool | None = ..., encoding: str | None = ..., decimal: str = ..., multicolumn: bool | None = ..., multicolumn_format: str | None = ..., multirow: bool | None = ..., caption: str | tuple[str, str] | None = ..., label: str | None = ..., position: str | None = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Render object to a LaTeX tabular, longtable, or nested table.\n\nRequires ``\\usepackage{{booktabs}}``. The output can be copy/pasted\ninto a main LaTeX document or read from an external file\nwith ``\\input{{table.tex}}``.\n\n.. versionchanged:: 2.0.0\n Refactored to use the Styler implementation via jinja2 templating.\n\nParameters\n----------\nbuf : str, Path or StringIO-like, optional, default None\n Buffer to write to. If None, the output is returned as a string.\ncolumns : list of label, optional\n The subset of columns to write. Writes all columns by default.\nheader : bool or list of str, default True\n Write out the column names. If a list of strings is given,\n it is assumed to be aliases for the column names.\nindex : bool, default True\n Write row names (index).\nna_rep : str, default 'NaN'\n Missing data representation.\nformatters : list of functions or dict of {{str: function}}, optional\n Formatter functions to apply to columns' elements by position or\n name. The result of each function must be a unicode string.\n List must be of length equal to the number of columns.\nfloat_format : one-parameter function or str, optional, default None\n Formatter for floating point numbers. For example\n ``float_format=\"%.2f\"`` and ``float_format=\"{{:0.2f}}\".format`` will\n both result in 0.1234 being formatted as 0.12.\nsparsify : bool, optional\n Set to False for a DataFrame with a hierarchical index to print\n every multiindex key at each row. By default, the value will be\n read from the config module.\nindex_names : bool, default True\n Prints the names of the indexes.\nbold_rows : bool, default False\n Make the row labels bold in the output.\ncolumn_format : str, optional\n The columns format as specified in `LaTeX table format\n `__ e.g. 'rcl' for 3\n columns. By default, 'l' will be used for all columns except\n columns of numbers, which default to 'r'.\nlongtable : bool, optional\n Use a longtable environment instead of tabular. Requires\n adding a \\usepackage{{longtable}} to your LaTeX preamble.\n By default, the value will be read from the pandas config\n module, and set to `True` if the option ``styler.latex.environment`` is\n `\"longtable\"`.\n\n .. versionchanged:: 2.0.0\n The pandas option affecting this argument has changed.\nescape : bool, optional\n By default, the value will be read from the pandas config\n module and set to `True` if the option ``styler.format.escape`` is\n `\"latex\"`. When set to False prevents from escaping latex special\n characters in column names.\n\n .. versionchanged:: 2.0.0\n The pandas option affecting this argument has changed, as has the\n default value to `False`.\nencoding : str, optional\n A string representing the encoding to use in the output file,\n defaults to 'utf-8'.\ndecimal : str, default '.'\n Character recognized as decimal separator, e.g. ',' in Europe.\nmulticolumn : bool, default True\n Use \\multicolumn to enhance MultiIndex columns.\n The default will be read from the config module, and is set\n as the option ``styler.sparse.columns``.\n\n .. versionchanged:: 2.0.0\n The pandas option affecting this argument has changed.\nmulticolumn_format : str, default 'r'\n The alignment for multicolumns, similar to `column_format`\n The default will be read from the config module, and is set as the option\n ``styler.latex.multicol_align``.\n\n .. versionchanged:: 2.0.0\n The pandas option affecting this argument has changed, as has the\n default value to \"r\".\nmultirow : bool, default True\n Use \\multirow to enhance MultiIndex rows. Requires adding a\n \\usepackage{{multirow}} to your LaTeX preamble. Will print\n centered labels (instead of top-aligned) across the contained\n rows, separating groups via clines. The default will be read\n from the pandas config module, and is set as the option\n ``styler.sparse.index``.\n\n .. versionchanged:: 2.0.0\n The pandas option affecting this argument has changed, as has the\n default value to `True`.\ncaption : str or tuple, optional\n Tuple (full_caption, short_caption),\n which results in ``\\caption[short_caption]{{full_caption}}``;\n if a single string is passed, no short caption will be set.\nlabel : str, optional\n The LaTeX label to be placed inside ``\\label{{}}`` in the output.\n This is used with ``\\ref{{}}`` in the main ``.tex`` file.\n\nposition : str, optional\n The LaTeX positional argument for tables, to be placed after\n ``\\begin{{}}`` in the output.\n\nReturns\n-------\nstr or None\n If buf is None, returns the result as a string. Otherwise returns None.\n\nSee Also\n--------\nio.formats.style.Styler.to_latex : Render a DataFrame to LaTeX\n with conditional formatting.\nDataFrame.to_string : Render a DataFrame to a console-friendly\n tabular output.\nDataFrame.to_html : Render a DataFrame as an HTML table.\n\nNotes\n-----\nAs of v2.0.0 this method has changed to use the Styler implementation as\npart of :meth:`.Styler.to_latex` via ``jinja2`` templating. This means\nthat ``jinja2`` is a requirement, and needs to be installed, for this method\nto function. It is advised that users switch to using Styler, since that\nimplementation is more frequently updated and contains much more\nflexibility with the output.\n\nExamples\n--------\nConvert a general DataFrame to LaTeX with formatting:\n\n>>> df = pd.DataFrame(dict(name=['Raphael', 'Donatello'],\n... age=[26, 45],\n... height=[181.23, 177.65]))\n>>> print(df.to_latex(index=False,\n... formatters={\"name\": str.upper},\n... float_format=\"{:.1f}\".format,\n... )) # doctest: +SKIP\n\\begin{tabular}{lrr}\n\\toprule\nname & age & height \\\\\n\\midrule\nRAPHAEL & 26 & 181.2 \\\\\nDONATELLO & 45 & 177.7 \\\\\n\\bottomrule\n\\end{tabular}\n"}, "kind": 2, "label": "to_latex", "sortText": "185"}, {"detail": "bound method DataFrame.to_markdown(buf: str | PathLike[str] | WriteBuffer[str] | None = None, mode: str = \"wt\", index: bool = True, storage_options: dict[str, Any] | None = None, **kwargs) -> str | None", "kind": 2, "label": "to_markdown", "sortText": "186"}, {"detail": "bound method DataFrame.to_numpy(dtype: DTypeLike | None = None, copy: bool = False, na_value: object = ...) -> ndarray[_AnyShape, dtype[Any]]", "documentation": {"kind": "plaintext", "value": "Convert the DataFrame to a NumPy array.\n\nBy default, the dtype of the returned array will be the common NumPy\ndtype of all types in the DataFrame. For example, if the dtypes are\n``float16`` and ``float32``, the results dtype will be ``float32``.\nThis may require copying data and coercing values, which may be\nexpensive.\n\nParameters\n----------\ndtype : str or numpy.dtype, optional\n The dtype to pass to :meth:`numpy.asarray`.\ncopy : bool, default False\n Whether to ensure that the returned value is not a view on\n another array. Note that ``copy=False`` does not *ensure* that\n ``to_numpy()`` is no-copy. Rather, ``copy=True`` ensure that\n a copy is made, even if not strictly necessary.\nna_value : Any, optional\n The value to use for missing values. The default value depends\n on `dtype` and the dtypes of the DataFrame columns.\n\nReturns\n-------\nnumpy.ndarray\n\nSee Also\n--------\nSeries.to_numpy : Similar method for Series.\n\nExamples\n--------\n>>> pd.DataFrame({\"A\": [1, 2], \"B\": [3, 4]}).to_numpy()\narray([[1, 3],\n [2, 4]])\n\nWith heterogeneous data, the lowest common type will have to\nbe used.\n\n>>> df = pd.DataFrame({\"A\": [1, 2], \"B\": [3.0, 4.5]})\n>>> df.to_numpy()\narray([[1. , 3. ],\n [2. , 4.5]])\n\nFor a mix of numeric and non-numeric types, the output array will\nhave object dtype.\n\n>>> df['C'] = pd.date_range('2000', periods=2)\n>>> df.to_numpy()\narray([[1, 3.0, Timestamp('2000-01-01 00:00:00')],\n [2, 4.5, Timestamp('2000-01-02 00:00:00')]], dtype=object)\n"}, "kind": 2, "label": "to_numpy", "sortText": "187"}, {"detail": "bound method DataFrame.to_orc(path: str | PathLike[str] | WriteBuffer[bytes] | None = None, *, engine: Literal[\"pyarrow\"] = \"pyarrow\", index: bool | None = None, engine_kwargs: dict[str, Any] | None = None) -> bytes | None", "documentation": {"kind": "plaintext", "value": "Write a DataFrame to the ORC format.\n\n.. versionadded:: 1.5.0\n\nParameters\n----------\npath : str, file-like object or None, default None\n If a string, it will be used as Root Directory path\n when writing a partitioned dataset. By file-like object,\n we refer to objects with a write() method, such as a file handle\n (e.g. via builtin open function). If path is None,\n a bytes object is returned.\nengine : {'pyarrow'}, default 'pyarrow'\n ORC library to use.\nindex : bool, optional\n If ``True``, include the dataframe's index(es) in the file output.\n If ``False``, they will not be written to the file.\n If ``None``, similar to ``infer`` the dataframe's index(es)\n will be saved. However, instead of being saved as values,\n the RangeIndex will be stored as a range in the metadata so it\n doesn't require much space and is faster. Other indexes will\n be included as columns in the file output.\nengine_kwargs : dict[str, Any] or None, default None\n Additional keyword arguments passed to :func:`pyarrow.orc.write_table`.\n\nReturns\n-------\nbytes if no path argument is provided else None\n\nRaises\n------\nNotImplementedError\n Dtype of one or more columns is category, unsigned integers, interval,\n period or sparse.\nValueError\n engine is not pyarrow.\n\nSee Also\n--------\nread_orc : Read a ORC file.\nDataFrame.to_parquet : Write a parquet file.\nDataFrame.to_csv : Write a csv file.\nDataFrame.to_sql : Write to a sql table.\nDataFrame.to_hdf : Write to hdf.\n\nNotes\n-----\n* Before using this function you should read the :ref:`user guide about\n ORC ` and :ref:`install optional dependencies `.\n* This function requires `pyarrow `_\n library.\n* For supported dtypes please refer to `supported ORC features in Arrow\n `__.\n* Currently timezones in datetime columns are not preserved when a\n dataframe is converted into ORC files.\n\nExamples\n--------\n>>> df = pd.DataFrame(data={'col1': [1, 2], 'col2': [4, 3]})\n>>> df.to_orc('df.orc') # doctest: +SKIP\n>>> pd.read_orc('df.orc') # doctest: +SKIP\n col1 col2\n0 1 4\n1 2 3\n\nIf you want to get a buffer to the orc content you can write it to io.BytesIO\n\n>>> import io\n>>> b = io.BytesIO(df.to_orc()) # doctest: +SKIP\n>>> b.seek(0) # doctest: +SKIP\n0\n>>> content = b.read() # doctest: +SKIP\n"}, "kind": 2, "label": "to_orc", "sortText": "188"}, {"detail": "Overload[(path: None = ..., engine: Literal[\"auto\", \"pyarrow\", \"fastparquet\"] = ..., compression: str | None = ..., index: bool | None = ..., partition_cols: list[str] | None = ..., storage_options: dict[str, Any] | None = ..., **kwargs) -> bytes, (path: str | PathLike[str] | WriteBuffer[bytes], engine: Literal[\"auto\", \"pyarrow\", \"fastparquet\"] = ..., compression: str | None = ..., index: bool | None = ..., partition_cols: list[str] | None = ..., storage_options: dict[str, Any] | None = ..., **kwargs) -> None]", "documentation": {"kind": "plaintext", "value": "Write a DataFrame to the binary parquet format.\n\nThis function writes the dataframe as a `parquet file\n`_. You can choose different parquet\nbackends, and have the option of compression. See\n:ref:`the user guide ` for more details.\n\nParameters\n----------\npath : str, path object, file-like object, or None, default None\n String, path object (implementing ``os.PathLike[str]``), or file-like\n object implementing a binary ``write()`` function. If None, the result is\n returned as bytes. If a string or path, it will be used as Root Directory\n path when writing a partitioned dataset.\nengine : {{'auto', 'pyarrow', 'fastparquet'}}, default 'auto'\n Parquet library to use. If 'auto', then the option\n ``io.parquet.engine`` is used. The default ``io.parquet.engine``\n behavior is to try 'pyarrow', falling back to 'fastparquet' if\n 'pyarrow' is unavailable.\ncompression : str or None, default 'snappy'\n Name of the compression to use. Use ``None`` for no compression.\n Supported options: 'snappy', 'gzip', 'brotli', 'lz4', 'zstd'.\nindex : bool, default None\n If ``True``, include the dataframe's index(es) in the file output.\n If ``False``, they will not be written to the file.\n If ``None``, similar to ``True`` the dataframe's index(es)\n will be saved. However, instead of being saved as values,\n the RangeIndex will be stored as a range in the metadata so it\n doesn't require much space and is faster. Other indexes will\n be included as columns in the file output.\npartition_cols : list, optional, default None\n Column names by which to partition the dataset.\n Columns are partitioned in the order they are given.\n Must be None if path is not a string.\n{storage_options}\n\n**kwargs\n Additional arguments passed to the parquet library. See\n :ref:`pandas io ` for more details.\n\nReturns\n-------\nbytes if no path argument is provided else None\n\nSee Also\n--------\nread_parquet : Read a parquet file.\nDataFrame.to_orc : Write an orc file.\nDataFrame.to_csv : Write a csv file.\nDataFrame.to_sql : Write to a sql table.\nDataFrame.to_hdf : Write to hdf.\n\nNotes\n-----\nThis function requires either the `fastparquet\n`_ or `pyarrow\n`_ library.\n\nExamples\n--------\n>>> df = pd.DataFrame(data={{'col1': [1, 2], 'col2': [3, 4]}})\n>>> df.to_parquet('df.parquet.gzip',\n... compression='gzip') # doctest: +SKIP\n>>> pd.read_parquet('df.parquet.gzip') # doctest: +SKIP\n col1 col2\n0 1 3\n1 2 4\n\nIf you want to get a buffer to the parquet content you can use a io.BytesIO\nobject, as long as you don't use partition_cols, which creates multiple files.\n\n>>> import io\n>>> f = io.BytesIO()\n>>> df.to_parquet(f)\n>>> f.seek(0)\n0\n>>> content = f.read()\n"}, "kind": 2, "label": "to_parquet", "sortText": "189"}, {"detail": "bound method DataFrame.to_period(freq: str | BaseOffset | None = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Convert DataFrame from DatetimeIndex to PeriodIndex.\n\nConvert DataFrame from DatetimeIndex to PeriodIndex with desired\nfrequency (inferred from index if not passed).\n\nParameters\n----------\nfreq : str, default\n Frequency of the PeriodIndex.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to convert (the index by default).\ncopy : bool, default True\n If False then underlying input data is not copied.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\nDataFrame\n The DataFrame has a PeriodIndex.\n\nExamples\n--------\n>>> idx = pd.to_datetime(\n... [\n... \"2001-03-31 00:00:00\",\n... \"2002-05-31 00:00:00\",\n... \"2003-08-31 00:00:00\",\n... ]\n... )\n\n>>> idx\nDatetimeIndex(['2001-03-31', '2002-05-31', '2003-08-31'],\ndtype='datetime64[ns]', freq=None)\n\n>>> idx.to_period(\"M\")\nPeriodIndex(['2001-03', '2002-05', '2003-08'], dtype='period[M]')\n\nFor the yearly frequency\n\n>>> idx.to_period(\"Y\")\nPeriodIndex(['2001', '2002', '2003'], dtype='period[Y-DEC]')\n"}, "kind": 2, "label": "to_period", "sortText": "190"}, {"detail": "bound method DataFrame.to_pickle(path: str | PathLike[str] | WriteBuffer[bytes], compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = \"infer\", protocol: int = 5, storage_options: dict[str, Any] | None = None) -> None", "documentation": {"kind": "plaintext", "value": "Pickle (serialize) object to file.\n\nParameters\n----------\npath : str, path object, or file-like object\n String, path object (implementing ``os.PathLike[str]``), or file-like\n object implementing a binary ``write()`` function. File path where\n the pickled object will be stored.\n{compression_options}\nprotocol : int\n Int which indicates which protocol should be used by the pickler,\n default HIGHEST_PROTOCOL (see [1]_ paragraph 12.1.2). The possible\n values are 0, 1, 2, 3, 4, 5. A negative value for the protocol\n parameter is equivalent to setting its value to HIGHEST_PROTOCOL.\n\n .. [1] https://docs.python.org/3/library/pickle.html.\n\n{storage_options}\n\nSee Also\n--------\nread_pickle : Load pickled pandas object (or any object) from file.\nDataFrame.to_hdf : Write DataFrame to an HDF5 file.\nDataFrame.to_sql : Write DataFrame to a SQL database.\nDataFrame.to_parquet : Write a DataFrame to the binary parquet format.\n\nExamples\n--------\n>>> original_df = pd.DataFrame({{\"foo\": range(5), \"bar\": range(5, 10)}}) # doctest: +SKIP\n>>> original_df # doctest: +SKIP\n foo bar\n0 0 5\n1 1 6\n2 2 7\n3 3 8\n4 4 9\n>>> original_df.to_pickle(\"./dummy.pkl\") # doctest: +SKIP\n\n>>> unpickled_df = pd.read_pickle(\"./dummy.pkl\") # doctest: +SKIP\n>>> unpickled_df # doctest: +SKIP\n foo bar\n0 0 5\n1 1 6\n2 2 7\n3 3 8\n4 4 9\n"}, "kind": 2, "label": "to_pickle", "sortText": "191"}, {"detail": "bound method DataFrame.to_records(index: bool = True, column_dtypes=None, index_dtypes=None) -> recarray[_AnyShape, dtype[Any]]", "documentation": {"kind": "plaintext", "value": "Convert DataFrame to a NumPy record array.\n\nIndex will be included as the first field of the record array if\nrequested.\n\nParameters\n----------\nindex : bool, default True\n Include index in resulting record array, stored in 'index'\n field or using the index label, if set.\ncolumn_dtypes : str, type, dict, default None\n If a string or type, the data type to store all columns. If\n a dictionary, a mapping of column names and indices (zero-indexed)\n to specific data types.\nindex_dtypes : str, type, dict, default None\n If a string or type, the data type to store all index levels. If\n a dictionary, a mapping of index level names and indices\n (zero-indexed) to specific data types.\n\n This mapping is applied only if `index=True`.\n\nReturns\n-------\nnumpy.rec.recarray\n NumPy ndarray with the DataFrame labels as fields and each row\n of the DataFrame as entries.\n\nSee Also\n--------\nDataFrame.from_records: Convert structured or record ndarray\n to DataFrame.\nnumpy.rec.recarray: An ndarray that allows field access using\n attributes, analogous to typed columns in a\n spreadsheet.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [1, 2], 'B': [0.5, 0.75]},\n... index=['a', 'b'])\n>>> df\n A B\na 1 0.50\nb 2 0.75\n>>> df.to_records()\nrec.array([('a', 1, 0.5 ), ('b', 2, 0.75)],\n dtype=[('index', 'O'), ('A', '>> df.index = df.index.rename(\"I\")\n>>> df.to_records()\nrec.array([('a', 1, 0.5 ), ('b', 2, 0.75)],\n dtype=[('I', 'O'), ('A', '>> df.to_records(index=False)\nrec.array([(1, 0.5 ), (2, 0.75)],\n dtype=[('A', '>> df.to_records(column_dtypes={\"A\": \"int32\"})\nrec.array([('a', 1, 0.5 ), ('b', 2, 0.75)],\n dtype=[('I', 'O'), ('A', '>> df.to_records(index_dtypes=\">> index_dtypes = f\">> df.to_records(index_dtypes=index_dtypes)\nrec.array([(b'a', 1, 0.5 ), (b'b', 2, 0.75)],\n dtype=[('I', 'S1'), ('A', ' Unknown) | None = None) -> int | None", "documentation": {"kind": "plaintext", "value": "Write records stored in a DataFrame to a SQL database.\n\nDatabases supported by SQLAlchemy [1]_ are supported. Tables can be\nnewly created, appended to, or overwritten.\n\nParameters\n----------\nname : str\n Name of SQL table.\ncon : sqlalchemy.engine.(Engine or Connection) or sqlite3.Connection\n Using SQLAlchemy makes it possible to use any DB supported by that\n library. Legacy support is provided for sqlite3.Connection objects. The user\n is responsible for engine disposal and connection closure for the SQLAlchemy\n connectable. See `here `_.\n If passing a sqlalchemy.engine.Connection which is already in a transaction,\n the transaction will not be committed. If passing a sqlite3.Connection,\n it will not be possible to roll back the record insertion.\n\nschema : str, optional\n Specify the schema (if database flavor supports this). If None, use\n default schema.\nif_exists : {'fail', 'replace', 'append'}, default 'fail'\n How to behave if the table already exists.\n\n * fail: Raise a ValueError.\n * replace: Drop the table before inserting new values.\n * append: Insert new values to the existing table.\n\nindex : bool, default True\n Write DataFrame index as a column. Uses `index_label` as the column\n name in the table. Creates a table index for this column.\nindex_label : str or sequence, default None\n Column label for index column(s). If None is given (default) and\n `index` is True, then the index names are used.\n A sequence should be given if the DataFrame uses MultiIndex.\nchunksize : int, optional\n Specify the number of rows in each batch to be written at a time.\n By default, all rows will be written at once.\ndtype : dict or scalar, optional\n Specifying the datatype for columns. If a dictionary is used, the\n keys should be the column names and the values should be the\n SQLAlchemy types or strings for the sqlite3 legacy mode. If a\n scalar is provided, it will be applied to all columns.\nmethod : {None, 'multi', callable}, optional\n Controls the SQL insertion clause used:\n\n * None : Uses standard SQL ``INSERT`` clause (one per row).\n * 'multi': Pass multiple values in a single ``INSERT`` clause.\n * callable with signature ``(pd_table, conn, keys, data_iter)``.\n\n Details and a sample callable implementation can be found in the\n section :ref:`insert method `.\n\nReturns\n-------\nNone or int\n Number of rows affected by to_sql. None is returned if the callable\n passed into ``method`` does not return an integer number of rows.\n\n The number of returned rows affected is the sum of the ``rowcount``\n attribute of ``sqlite3.Cursor`` or SQLAlchemy connectable which may not\n reflect the exact number of written rows as stipulated in the\n `sqlite3 `__ or\n `SQLAlchemy `__.\n\n .. versionadded:: 1.4.0\n\nRaises\n------\nValueError\n When the table already exists and `if_exists` is 'fail' (the\n default).\n\nSee Also\n--------\nread_sql : Read a DataFrame from a table.\n\nNotes\n-----\nTimezone aware datetime columns will be written as\n``Timestamp with timezone`` type with SQLAlchemy if supported by the\ndatabase. Otherwise, the datetimes will be stored as timezone unaware\ntimestamps local to the original timezone.\n\nNot all datastores support ``method=\"multi\"``. Oracle, for example,\ndoes not support multi-value insert.\n\nReferences\n----------\n.. [1] https://docs.sqlalchemy.org\n.. [2] https://www.python.org/dev/peps/pep-0249/\n\nExamples\n--------\nCreate an in-memory SQLite database.\n\n>>> from sqlalchemy import create_engine\n>>> engine = create_engine('sqlite://', echo=False)\n\nCreate a table from scratch with 3 rows.\n\n>>> df = pd.DataFrame({'name' : ['User 1', 'User 2', 'User 3']})\n>>> df\n name\n0 User 1\n1 User 2\n2 User 3\n\n>>> df.to_sql(name='users', con=engine)\n3\n>>> from sqlalchemy import text\n>>> with engine.connect() as conn:\n... conn.execute(text(\"SELECT * FROM users\")).fetchall()\n[(0, 'User 1'), (1, 'User 2'), (2, 'User 3')]\n\nAn `sqlalchemy.engine.Connection` can also be passed to `con`:\n\n>>> with engine.begin() as connection:\n... df1 = pd.DataFrame({'name' : ['User 4', 'User 5']})\n... df1.to_sql(name='users', con=connection, if_exists='append')\n2\n\nThis is allowed to support operations that require that the same\nDBAPI connection is used for the entire operation.\n\n>>> df2 = pd.DataFrame({'name' : ['User 6', 'User 7']})\n>>> df2.to_sql(name='users', con=engine, if_exists='append')\n2\n>>> with engine.connect() as conn:\n... conn.execute(text(\"SELECT * FROM users\")).fetchall()\n[(0, 'User 1'), (1, 'User 2'), (2, 'User 3'),\n (0, 'User 4'), (1, 'User 5'), (0, 'User 6'),\n (1, 'User 7')]\n\nOverwrite the table with just ``df2``.\n\n>>> df2.to_sql(name='users', con=engine, if_exists='replace',\n... index_label='id')\n2\n>>> with engine.connect() as conn:\n... conn.execute(text(\"SELECT * FROM users\")).fetchall()\n[(0, 'User 6'), (1, 'User 7')]\n\nUse ``method`` to define a callable insertion method to do nothing\nif there's a primary key conflict on a table in a PostgreSQL database.\n\n>>> from sqlalchemy.dialects.postgresql import insert\n>>> def insert_on_conflict_nothing(table, conn, keys, data_iter):\n... # \"a\" is the primary key in \"conflict_table\"\n... data = [dict(zip(keys, row)) for row in data_iter]\n... stmt = insert(table.table).values(data).on_conflict_do_nothing(index_elements=[\"a\"])\n... result = conn.execute(stmt)\n... return result.rowcount\n>>> df_conflict.to_sql(name=\"conflict_table\", con=conn, if_exists=\"append\", method=insert_on_conflict_nothing) # doctest: +SKIP\n0\n\nFor MySQL, a callable to update columns ``b`` and ``c`` if there's a conflict\non a primary key.\n\n>>> from sqlalchemy.dialects.mysql import insert\n>>> def insert_on_conflict_update(table, conn, keys, data_iter):\n... # update columns \"b\" and \"c\" on primary key conflict\n... data = [dict(zip(keys, row)) for row in data_iter]\n... stmt = (\n... insert(table.table)\n... .values(data)\n... )\n... stmt = stmt.on_duplicate_key_update(b=stmt.inserted.b, c=stmt.inserted.c)\n... result = conn.execute(stmt)\n... return result.rowcount\n>>> df_conflict.to_sql(name=\"conflict_table\", con=conn, if_exists=\"append\", method=insert_on_conflict_update) # doctest: +SKIP\n2\n\nSpecify the dtype (especially useful for integers with missing values).\nNotice that while pandas is forced to store the data as floating point,\nthe database supports nullable integers. When fetching the data with\nPython, we get back integer scalars.\n\n>>> df = pd.DataFrame({\"A\": [1, None, 2]})\n>>> df\n A\n0 1.0\n1 NaN\n2 2.0\n\n>>> from sqlalchemy.types import Integer\n>>> df.to_sql(name='integers', con=engine, index=False,\n... dtype={\"A\": Integer()})\n3\n\n>>> with engine.connect() as conn:\n... conn.execute(text(\"SELECT * FROM integers\")).fetchall()\n[(1,), (None,), (2,)]\n"}, "kind": 2, "label": "to_sql", "sortText": "193"}, {"detail": "bound method DataFrame.to_stata(path: str | PathLike[str] | WriteBuffer[bytes], *, convert_dates: dict[Hashable, str] | None = None, write_index: bool = True, byteorder: Literal[\">\", \"<\", \"little\", \"big\"] | None = None, time_stamp: datetime | None = None, data_label: str | None = None, variable_labels: dict[Hashable, str] | None = None, version: int | None = 114, convert_strl: Sequence[Hashable] | None = None, compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = \"infer\", storage_options: dict[str, Any] | None = None, value_labels: dict[Hashable, dict[float, str]] | None = None) -> None", "documentation": {"kind": "plaintext", "value": "Export DataFrame object to Stata dta format.\n\nWrites the DataFrame to a Stata dataset file.\n\"dta\" files contain a Stata dataset.\n\nParameters\n----------\npath : str, path object, or buffer\n String, path object (implementing ``os.PathLike[str]``), or file-like\n object implementing a binary ``write()`` function.\n\nconvert_dates : dict\n Dictionary mapping columns containing datetime types to stata\n internal format to use when writing the dates. Options are 'tc',\n 'td', 'tm', 'tw', 'th', 'tq', 'ty'. Column can be either an integer\n or a name. Datetime columns that do not have a conversion type\n specified will be converted to 'tc'. Raises NotImplementedError if\n a datetime column has timezone information.\nwrite_index : bool\n Write the index to Stata dataset.\nbyteorder : str\n Can be \">\", \"<\", \"little\", or \"big\". default is `sys.byteorder`.\ntime_stamp : datetime\n A datetime to use as file creation date. Default is the current\n time.\ndata_label : str, optional\n A label for the data set. Must be 80 characters or smaller.\nvariable_labels : dict\n Dictionary containing columns as keys and variable labels as\n values. Each label must be 80 characters or smaller.\nversion : {{114, 117, 118, 119, None}}, default 114\n Version to use in the output dta file. Set to None to let pandas\n decide between 118 or 119 formats depending on the number of\n columns in the frame. Version 114 can be read by Stata 10 and\n later. Version 117 can be read by Stata 13 or later. Version 118\n is supported in Stata 14 and later. Version 119 is supported in\n Stata 15 and later. Version 114 limits string variables to 244\n characters or fewer while versions 117 and later allow strings\n with lengths up to 2,000,000 characters. Versions 118 and 119\n support Unicode characters, and version 119 supports more than\n 32,767 variables.\n\n Version 119 should usually only be used when the number of\n variables exceeds the capacity of dta format 118. Exporting\n smaller datasets in format 119 may have unintended consequences,\n and, as of November 2020, Stata SE cannot read version 119 files.\n\nconvert_strl : list, optional\n List of column names to convert to string columns to Stata StrL\n format. Only available if version is 117. Storing strings in the\n StrL format can produce smaller dta files if strings have more than\n 8 characters and values are repeated.\n{compression_options}\n\n .. versionchanged:: 1.4.0 Zstandard support.\n\n{storage_options}\n\nvalue_labels : dict of dicts\n Dictionary containing columns as keys and dictionaries of column value\n to labels as values. Labels for a single variable must be 32,000\n characters or smaller.\n\n .. versionadded:: 1.4.0\n\nRaises\n------\nNotImplementedError\n * If datetimes contain timezone information\n * Column dtype is not representable in Stata\nValueError\n * Columns listed in convert_dates are neither datetime64[ns]\n or datetime.datetime\n * Column listed in convert_dates is not in DataFrame\n * Categorical label contains more than 32,000 characters\n\nSee Also\n--------\nread_stata : Import Stata data files.\nio.stata.StataWriter : Low-level writer for Stata data files.\nio.stata.StataWriter117 : Low-level writer for version 117 files.\n\nExamples\n--------\n>>> df = pd.DataFrame({{'animal': ['falcon', 'parrot', 'falcon',\n... 'parrot'],\n... 'speed': [350, 18, 361, 15]}})\n>>> df.to_stata('animals.dta') # doctest: +SKIP\n"}, "kind": 2, "label": "to_stata", "sortText": "194"}, {"detail": "Overload[(buf: None = ..., columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = ..., col_space: int | list[int] | dict[Hashable, int] | None = ..., header: bool | SequenceNotStr[str] = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., justify: str | None = ..., max_rows: int | None = ..., max_cols: int | None = ..., show_dimensions: bool = ..., decimal: str = ..., line_width: int | None = ..., min_rows: int | None = ..., max_colwidth: int | None = ..., encoding: str | None = ...) -> str, (buf: str | PathLike[str] | WriteBuffer[str], columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = ..., col_space: int | list[int] | dict[Hashable, int] | None = ..., header: bool | SequenceNotStr[str] = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., justify: str | None = ..., max_rows: int | None = ..., max_cols: int | None = ..., show_dimensions: bool = ..., decimal: str = ..., line_width: int | None = ..., min_rows: int | None = ..., max_colwidth: int | None = ..., encoding: str | None = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Render a DataFrame to a console-friendly tabular output.\n%(shared_params)s\nline_width : int, optional\n Width to wrap a line in characters.\nmin_rows : int, optional\n The number of rows to display in the console in a truncated repr\n (when number of rows is above `max_rows`).\nmax_colwidth : int, optional\n Max width to truncate each column in characters. By default, no limit.\nencoding : str, default \"utf-8\"\n Set character encoding.\n%(returns)s\nSee Also\n--------\nto_html : Convert DataFrame to HTML.\n\nExamples\n--------\n>>> d = {'col1': [1, 2, 3], 'col2': [4, 5, 6]}\n>>> df = pd.DataFrame(d)\n>>> print(df.to_string())\n col1 col2\n0 1 4\n1 2 5\n2 3 6\n"}, "kind": 2, "label": "to_string", "sortText": "195"}, {"detail": "bound method DataFrame.to_timestamp(freq: str | BaseOffset | None = None, how: Literal[\"s\", \"e\", \"start\", \"end\"] = \"start\", axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Cast to DatetimeIndex of timestamps, at *beginning* of period.\n\nParameters\n----------\nfreq : str, default frequency of PeriodIndex\n Desired frequency.\nhow : {'s', 'e', 'start', 'end'}\n Convention for converting period to timestamp; start of period\n vs. end.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to convert (the index by default).\ncopy : bool, default True\n If False then underlying input data is not copied.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\nDataFrame\n The DataFrame has a DatetimeIndex.\n\nExamples\n--------\n>>> idx = pd.PeriodIndex(['2023', '2024'], freq='Y')\n>>> d = {'col1': [1, 2], 'col2': [3, 4]}\n>>> df1 = pd.DataFrame(data=d, index=idx)\n>>> df1\n col1 col2\n2023 1 3\n2024 2 4\n\nThe resulting timestamps will be at the beginning of the year in this case\n\n>>> df1 = df1.to_timestamp()\n>>> df1\n col1 col2\n2023-01-01 1 3\n2024-01-01 2 4\n>>> df1.index\nDatetimeIndex(['2023-01-01', '2024-01-01'], dtype='datetime64[ns]', freq=None)\n\nUsing `freq` which is the offset that the Timestamps will have\n\n>>> df2 = pd.DataFrame(data=d, index=idx)\n>>> df2 = df2.to_timestamp(freq='M')\n>>> df2\n col1 col2\n2023-01-31 1 3\n2024-01-31 2 4\n>>> df2.index\nDatetimeIndex(['2023-01-31', '2024-01-31'], dtype='datetime64[ns]', freq=None)\n"}, "kind": 2, "label": "to_timestamp", "sortText": "196"}, {"detail": "bound method DataFrame.to_xarray() -> Unknown", "documentation": {"kind": "plaintext", "value": "Return an xarray object from the pandas object.\n\nReturns\n-------\nxarray.DataArray or xarray.Dataset\n Data in the pandas structure converted to Dataset if the object is\n a DataFrame, or a DataArray if the object is a Series.\n\nSee Also\n--------\nDataFrame.to_hdf : Write DataFrame to an HDF5 file.\nDataFrame.to_parquet : Write a DataFrame to the binary parquet format.\n\nNotes\n-----\nSee the `xarray docs `__\n\nExamples\n--------\n>>> df = pd.DataFrame([('falcon', 'bird', 389.0, 2),\n... ('parrot', 'bird', 24.0, 2),\n... ('lion', 'mammal', 80.5, 4),\n... ('monkey', 'mammal', np.nan, 4)],\n... columns=['name', 'class', 'max_speed',\n... 'num_legs'])\n>>> df\n name class max_speed num_legs\n0 falcon bird 389.0 2\n1 parrot bird 24.0 2\n2 lion mammal 80.5 4\n3 monkey mammal NaN 4\n\n>>> df.to_xarray() # doctest: +SKIP\n\nDimensions: (index: 4)\nCoordinates:\n * index (index) int64 32B 0 1 2 3\nData variables:\n name (index) object 32B 'falcon' 'parrot' 'lion' 'monkey'\n class (index) object 32B 'bird' 'bird' 'mammal' 'mammal'\n max_speed (index) float64 32B 389.0 24.0 80.5 nan\n num_legs (index) int64 32B 2 2 4 4\n\n>>> df['max_speed'].to_xarray() # doctest: +SKIP\n\narray([389. , 24. , 80.5, nan])\nCoordinates:\n * index (index) int64 0 1 2 3\n\n>>> dates = pd.to_datetime(['2018-01-01', '2018-01-01',\n... '2018-01-02', '2018-01-02'])\n>>> df_multiindex = pd.DataFrame({'date': dates,\n... 'animal': ['falcon', 'parrot',\n... 'falcon', 'parrot'],\n... 'speed': [350, 18, 361, 15]})\n>>> df_multiindex = df_multiindex.set_index(['date', 'animal'])\n\n>>> df_multiindex\n speed\ndate animal\n2018-01-01 falcon 350\n parrot 18\n2018-01-02 falcon 361\n parrot 15\n\n>>> df_multiindex.to_xarray() # doctest: +SKIP\n\nDimensions: (date: 2, animal: 2)\nCoordinates:\n * date (date) datetime64[ns] 2018-01-01 2018-01-02\n * animal (animal) object 'falcon' 'parrot'\nData variables:\n speed (date, animal) int64 350 18 361 15\n"}, "kind": 2, "label": "to_xarray", "sortText": "197"}, {"detail": "Overload[(path_or_buffer: None = ..., *, index: bool = ..., root_name: str | None = ..., row_name: str | None = ..., na_rep: str | None = ..., attr_cols: list[str] | None = ..., elem_cols: list[str] | None = ..., namespaces: dict[str | None, str] | None = ..., prefix: str | None = ..., encoding: str = ..., xml_declaration: bool | None = ..., pretty_print: bool | None = ..., parser: Literal[\"lxml\", \"etree\"] | None = ..., stylesheet: str | PathLike[str] | ReadBuffer[str] | ReadBuffer[bytes] | None = ..., compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = ..., storage_options: dict[str, Any] | None = ...) -> str, (path_or_buffer: str | PathLike[str] | WriteBuffer[bytes] | WriteBuffer[str], *, index: bool = ..., root_name: str | None = ..., row_name: str | None = ..., na_rep: str | None = ..., attr_cols: list[str] | None = ..., elem_cols: list[str] | None = ..., namespaces: dict[str | None, str] | None = ..., prefix: str | None = ..., encoding: str = ..., xml_declaration: bool | None = ..., pretty_print: bool | None = ..., parser: Literal[\"lxml\", \"etree\"] | None = ..., stylesheet: str | PathLike[str] | ReadBuffer[str] | ReadBuffer[bytes] | None = ..., compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = ..., storage_options: dict[str, Any] | None = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Render a DataFrame to an XML document.\n\n.. versionadded:: 1.3.0\n\nParameters\n----------\npath_or_buffer : str, path object, file-like object, or None, default None\n String, path object (implementing ``os.PathLike[str]``), or file-like\n object implementing a ``write()`` function. If None, the result is returned\n as a string.\nindex : bool, default True\n Whether to include index in XML document.\nroot_name : str, default 'data'\n The name of root element in XML document.\nrow_name : str, default 'row'\n The name of row element in XML document.\nna_rep : str, optional\n Missing data representation.\nattr_cols : list-like, optional\n List of columns to write as attributes in row element.\n Hierarchical columns will be flattened with underscore\n delimiting the different levels.\nelem_cols : list-like, optional\n List of columns to write as children in row element. By default,\n all columns output as children of row element. Hierarchical\n columns will be flattened with underscore delimiting the\n different levels.\nnamespaces : dict, optional\n All namespaces to be defined in root element. Keys of dict\n should be prefix names and values of dict corresponding URIs.\n Default namespaces should be given empty string key. For\n example, ::\n\n namespaces = {{\"\": \"https://example.com\"}}\n\nprefix : str, optional\n Namespace prefix to be used for every element and/or attribute\n in document. This should be one of the keys in ``namespaces``\n dict.\nencoding : str, default 'utf-8'\n Encoding of the resulting document.\nxml_declaration : bool, default True\n Whether to include the XML declaration at start of document.\npretty_print : bool, default True\n Whether output should be pretty printed with indentation and\n line breaks.\nparser : {{'lxml','etree'}}, default 'lxml'\n Parser module to use for building of tree. Only 'lxml' and\n 'etree' are supported. With 'lxml', the ability to use XSLT\n stylesheet is supported.\nstylesheet : str, path object or file-like object, optional\n A URL, file-like object, or a raw string containing an XSLT\n script used to transform the raw XML output. Script should use\n layout of elements and attributes from original output. This\n argument requires ``lxml`` to be installed. Only XSLT 1.0\n scripts and not later versions is currently supported.\n{compression_options}\n\n .. versionchanged:: 1.4.0 Zstandard support.\n\n{storage_options}\n\nReturns\n-------\nNone or str\n If ``io`` is None, returns the resulting XML format as a\n string. Otherwise returns None.\n\nSee Also\n--------\nto_json : Convert the pandas object to a JSON string.\nto_html : Convert DataFrame to a html.\n\nExamples\n--------\n>>> df = pd.DataFrame({{'shape': ['square', 'circle', 'triangle'],\n... 'degrees': [360, 360, 180],\n... 'sides': [4, np.nan, 3]}})\n\n>>> df.to_xml() # doctest: +SKIP\n\n\n \n 0\n square\n 360\n 4.0\n \n \n 1\n circle\n 360\n \n \n \n 2\n triangle\n 180\n 3.0\n \n\n\n>>> df.to_xml(attr_cols=[\n... 'index', 'shape', 'degrees', 'sides'\n... ]) # doctest: +SKIP\n\n\n \n \n \n\n\n>>> df.to_xml(namespaces={{\"doc\": \"https://example.com\"}},\n... prefix=\"doc\") # doctest: +SKIP\n\n\n \n 0\n square\n 360\n 4.0\n \n \n 1\n circle\n 360\n \n \n \n 2\n triangle\n 180\n 3.0\n \n\n"}, "kind": 2, "label": "to_xml", "sortText": "198"}, {"detail": "bound method DataFrame.transform(func: ((...) -> Unknown) | str | list[((...) -> Unknown) | str] | MutableMapping[Hashable, ((...) -> Unknown) | str | list[((...) -> Unknown) | str]], axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, *args, **kwargs) -> DataFrame", "kind": 2, "label": "transform", "sortText": "199"}, {"detail": "bound method DataFrame.transpose(*args, copy: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Transpose index and columns.\n\nReflect the DataFrame over its main diagonal by writing rows as columns\nand vice-versa. The property :attr:`.T` is an accessor to the method\n:meth:`transpose`.\n\nParameters\n----------\n*args : tuple, optional\n Accepted for compatibility with NumPy.\ncopy : bool, default False\n Whether to copy the data after transposing, even for DataFrames\n with a single dtype.\n\n Note that a copy is always required for mixed dtype DataFrames,\n or for DataFrames with any extension types.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\nDataFrame\n The transposed DataFrame.\n\nSee Also\n--------\nnumpy.transpose : Permute the dimensions of a given array.\n\nNotes\n-----\nTransposing a DataFrame with mixed dtypes will result in a homogeneous\nDataFrame with the `object` dtype. In such a case, a copy of the data\nis always made.\n\nExamples\n--------\n**Square DataFrame with homogeneous dtype**\n\n>>> d1 = {'col1': [1, 2], 'col2': [3, 4]}\n>>> df1 = pd.DataFrame(data=d1)\n>>> df1\n col1 col2\n0 1 3\n1 2 4\n\n>>> df1_transposed = df1.T # or df1.transpose()\n>>> df1_transposed\n 0 1\ncol1 1 2\ncol2 3 4\n\nWhen the dtype is homogeneous in the original DataFrame, we get a\ntransposed DataFrame with the same dtype:\n\n>>> df1.dtypes\ncol1 int64\ncol2 int64\ndtype: object\n>>> df1_transposed.dtypes\n0 int64\n1 int64\ndtype: object\n\n**Non-square DataFrame with mixed dtypes**\n\n>>> d2 = {'name': ['Alice', 'Bob'],\n... 'score': [9.5, 8],\n... 'employed': [False, True],\n... 'kids': [0, 0]}\n>>> df2 = pd.DataFrame(data=d2)\n>>> df2\n name score employed kids\n0 Alice 9.5 False 0\n1 Bob 8.0 True 0\n\n>>> df2_transposed = df2.T # or df2.transpose()\n>>> df2_transposed\n 0 1\nname Alice Bob\nscore 9.5 8.0\nemployed False True\nkids 0 0\n\nWhen the DataFrame has mixed dtypes, we get a transposed DataFrame with\nthe `object` dtype:\n\n>>> df2.dtypes\nname object\nscore float64\nemployed bool\nkids int64\ndtype: object\n>>> df2_transposed.dtypes\n0 object\n1 object\ndtype: object\n"}, "kind": 2, "label": "transpose", "sortText": "200"}, {"detail": "bound method DataFrame.truediv(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "truediv", "sortText": "201"}, {"detail": "bound method DataFrame.truncate(before=None, after=None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Truncate a Series or DataFrame before and after some index value.\n\nThis is a useful shorthand for boolean indexing based on index\nvalues above or below certain thresholds.\n\nParameters\n----------\nbefore : date, str, int\n Truncate all rows before this index value.\nafter : date, str, int\n Truncate all rows after this index value.\naxis : {0 or 'index', 1 or 'columns'}, optional\n Axis to truncate. Truncates the index (rows) by default.\n For `Series` this parameter is unused and defaults to 0.\ncopy : bool, default is True,\n Return a copy of the truncated section.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\ntype of caller\n The truncated Series or DataFrame.\n\nSee Also\n--------\nDataFrame.loc : Select a subset of a DataFrame by label.\nDataFrame.iloc : Select a subset of a DataFrame by position.\n\nNotes\n-----\nIf the index being truncated contains only datetime values,\n`before` and `after` may be specified as strings instead of\nTimestamps.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': ['a', 'b', 'c', 'd', 'e'],\n... 'B': ['f', 'g', 'h', 'i', 'j'],\n... 'C': ['k', 'l', 'm', 'n', 'o']},\n... index=[1, 2, 3, 4, 5])\n>>> df\n A B C\n1 a f k\n2 b g l\n3 c h m\n4 d i n\n5 e j o\n\n>>> df.truncate(before=2, after=4)\n A B C\n2 b g l\n3 c h m\n4 d i n\n\nThe columns of a DataFrame can be truncated.\n\n>>> df.truncate(before=\"A\", after=\"B\", axis=\"columns\")\n A B\n1 a f\n2 b g\n3 c h\n4 d i\n5 e j\n\nFor Series, only rows can be truncated.\n\n>>> df['A'].truncate(before=2, after=4)\n2 b\n3 c\n4 d\nName: A, dtype: object\n\nThe index values in ``truncate`` can be datetimes or string\ndates.\n\n>>> dates = pd.date_range('2016-01-01', '2016-02-01', freq='s')\n>>> df = pd.DataFrame(index=dates, data={'A': 1})\n>>> df.tail()\n A\n2016-01-31 23:59:56 1\n2016-01-31 23:59:57 1\n2016-01-31 23:59:58 1\n2016-01-31 23:59:59 1\n2016-02-01 00:00:00 1\n\n>>> df.truncate(before=pd.Timestamp('2016-01-05'),\n... after=pd.Timestamp('2016-01-10')).tail()\n A\n2016-01-09 23:59:56 1\n2016-01-09 23:59:57 1\n2016-01-09 23:59:58 1\n2016-01-09 23:59:59 1\n2016-01-10 00:00:00 1\n\nBecause the index is a DatetimeIndex containing only dates, we can\nspecify `before` and `after` as strings. They will be coerced to\nTimestamps before truncation.\n\n>>> df.truncate('2016-01-05', '2016-01-10').tail()\n A\n2016-01-09 23:59:56 1\n2016-01-09 23:59:57 1\n2016-01-09 23:59:58 1\n2016-01-09 23:59:59 1\n2016-01-10 00:00:00 1\n\nNote that ``truncate`` assumes a 0 value for any unspecified time\ncomponent (midnight). This differs from partial string slicing, which\nreturns any partially matching dates.\n\n>>> df.loc['2016-01-05':'2016-01-10', :].tail()\n A\n2016-01-10 23:59:55 1\n2016-01-10 23:59:56 1\n2016-01-10 23:59:57 1\n2016-01-10 23:59:58 1\n2016-01-10 23:59:59 1\n"}, "kind": 2, "label": "truncate", "sortText": "202"}, {"detail": "bound method DataFrame.tz_convert(tz, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, level=None, copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Convert tz-aware axis to target time zone.\n\nParameters\n----------\ntz : str or tzinfo object or None\n Target time zone. Passing ``None`` will convert to\n UTC and remove the timezone information.\naxis : {{0 or 'index', 1 or 'columns'}}, default 0\n The axis to convert\nlevel : int, str, default None\n If axis is a MultiIndex, convert a specific level. Otherwise\n must be None.\ncopy : bool, default True\n Also make a copy of the underlying data.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\n{klass}\n Object with time zone converted axis.\n\nRaises\n------\nTypeError\n If the axis is tz-naive.\n\nExamples\n--------\nChange to another time zone:\n\n>>> s = pd.Series(\n... [1],\n... index=pd.DatetimeIndex(['2018-09-15 01:30:00+02:00']),\n... )\n>>> s.tz_convert('Asia/Shanghai')\n2018-09-15 07:30:00+08:00 1\ndtype: int64\n\nPass None to convert to UTC and get a tz-naive index:\n\n>>> s = pd.Series([1],\n... index=pd.DatetimeIndex(['2018-09-15 01:30:00+02:00']))\n>>> s.tz_convert(None)\n2018-09-14 23:30:00 1\ndtype: int64\n"}, "kind": 2, "label": "tz_convert", "sortText": "203"}, {"detail": "bound method DataFrame.tz_localize(tz, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, level=None, copy: builtins.bool | None = None, ambiguous: Literal[\"infer\", \"NaT\", \"raise\"] | ndarray[_AnyShape, dtype[numpy.bool[builtins.bool]]] = \"raise\", nonexistent: Literal[\"shift_forward\", \"shift_backward\", \"NaT\", \"raise\"] | timedelta = \"raise\") -> DataFrame", "documentation": {"kind": "plaintext", "value": "Localize tz-naive index of a Series or DataFrame to target time zone.\n\nThis operation localizes the Index. To localize the values in a\ntimezone-naive Series, use :meth:`Series.dt.tz_localize`.\n\nParameters\n----------\ntz : str or tzinfo or None\n Time zone to localize. Passing ``None`` will remove the\n time zone information and preserve local time.\naxis : {{0 or 'index', 1 or 'columns'}}, default 0\n The axis to localize\nlevel : int, str, default None\n If axis ia a MultiIndex, localize a specific level. Otherwise\n must be None.\ncopy : bool, default True\n Also make a copy of the underlying data.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\nambiguous : 'infer', bool-ndarray, 'NaT', default 'raise'\n When clocks moved backward due to DST, ambiguous times may arise.\n For example in Central European Time (UTC+01), when going from\n 03:00 DST to 02:00 non-DST, 02:30:00 local time occurs both at\n 00:30:00 UTC and at 01:30:00 UTC. In such a situation, the\n `ambiguous` parameter dictates how ambiguous times should be\n handled.\n\n - 'infer' will attempt to infer fall dst-transition hours based on\n order\n - bool-ndarray where True signifies a DST time, False designates\n a non-DST time (note that this flag is only applicable for\n ambiguous times)\n - 'NaT' will return NaT where there are ambiguous times\n - 'raise' will raise an AmbiguousTimeError if there are ambiguous\n times.\nnonexistent : str, default 'raise'\n A nonexistent time does not exist in a particular timezone\n where clocks moved forward due to DST. Valid values are:\n\n - 'shift_forward' will shift the nonexistent time forward to the\n closest existing time\n - 'shift_backward' will shift the nonexistent time backward to the\n closest existing time\n - 'NaT' will return NaT where there are nonexistent times\n - timedelta objects will shift nonexistent times by the timedelta\n - 'raise' will raise an NonExistentTimeError if there are\n nonexistent times.\n\nReturns\n-------\n{klass}\n Same type as the input.\n\nRaises\n------\nTypeError\n If the TimeSeries is tz-aware and tz is not None.\n\nExamples\n--------\nLocalize local times:\n\n>>> s = pd.Series(\n... [1],\n... index=pd.DatetimeIndex(['2018-09-15 01:30:00']),\n... )\n>>> s.tz_localize('CET')\n2018-09-15 01:30:00+02:00 1\ndtype: int64\n\nPass None to convert to tz-naive index and preserve local time:\n\n>>> s = pd.Series([1],\n... index=pd.DatetimeIndex(['2018-09-15 01:30:00+02:00']))\n>>> s.tz_localize(None)\n2018-09-15 01:30:00 1\ndtype: int64\n\nBe careful with DST changes. When there is sequential data, pandas\ncan infer the DST time:\n\n>>> s = pd.Series(range(7),\n... index=pd.DatetimeIndex(['2018-10-28 01:30:00',\n... '2018-10-28 02:00:00',\n... '2018-10-28 02:30:00',\n... '2018-10-28 02:00:00',\n... '2018-10-28 02:30:00',\n... '2018-10-28 03:00:00',\n... '2018-10-28 03:30:00']))\n>>> s.tz_localize('CET', ambiguous='infer')\n2018-10-28 01:30:00+02:00 0\n2018-10-28 02:00:00+02:00 1\n2018-10-28 02:30:00+02:00 2\n2018-10-28 02:00:00+01:00 3\n2018-10-28 02:30:00+01:00 4\n2018-10-28 03:00:00+01:00 5\n2018-10-28 03:30:00+01:00 6\ndtype: int64\n\nIn some cases, inferring the DST is impossible. In such cases, you can\npass an ndarray to the ambiguous parameter to set the DST explicitly\n\n>>> s = pd.Series(range(3),\n... index=pd.DatetimeIndex(['2018-10-28 01:20:00',\n... '2018-10-28 02:36:00',\n... '2018-10-28 03:46:00']))\n>>> s.tz_localize('CET', ambiguous=np.array([True, True, False]))\n2018-10-28 01:20:00+02:00 0\n2018-10-28 02:36:00+02:00 1\n2018-10-28 03:46:00+01:00 2\ndtype: int64\n\nIf the DST transition causes nonexistent times, you can shift these\ndates forward or backward with a timedelta object or `'shift_forward'`\nor `'shift_backward'`.\n\n>>> s = pd.Series(range(2),\n... index=pd.DatetimeIndex(['2015-03-29 02:30:00',\n... '2015-03-29 03:30:00']))\n>>> s.tz_localize('Europe/Warsaw', nonexistent='shift_forward')\n2015-03-29 03:00:00+02:00 0\n2015-03-29 03:30:00+02:00 1\ndtype: int64\n>>> s.tz_localize('Europe/Warsaw', nonexistent='shift_backward')\n2015-03-29 01:59:59.999999999+01:00 0\n2015-03-29 03:30:00+02:00 1\ndtype: int64\n>>> s.tz_localize('Europe/Warsaw', nonexistent=pd.Timedelta('1h'))\n2015-03-29 03:30:00+02:00 0\n2015-03-29 03:30:00+02:00 1\ndtype: int64\n"}, "kind": 2, "label": "tz_localize", "sortText": "204"}, {"detail": "bound method DataFrame.unstack(level: Hashable | Sequence[Hashable] = -1, fill_value=None, sort: bool = True) -> Unknown", "documentation": {"kind": "plaintext", "value": "Pivot a level of the (necessarily hierarchical) index labels.\n\nReturns a DataFrame having a new level of column labels whose inner-most level\nconsists of the pivoted index labels.\n\nIf the index is not a MultiIndex, the output will be a Series\n(the analogue of stack when the columns are not a MultiIndex).\n\nParameters\n----------\nlevel : int, str, or list of these, default -1 (last level)\n Level(s) of index to unstack, can pass level name.\nfill_value : int, str or dict\n Replace NaN with this value if the unstack produces missing values.\nsort : bool, default True\n Sort the level(s) in the resulting MultiIndex columns.\n\nReturns\n-------\nSeries or DataFrame\n\nSee Also\n--------\nDataFrame.pivot : Pivot a table based on column values.\nDataFrame.stack : Pivot a level of the column labels (inverse operation\n from `unstack`).\n\nNotes\n-----\nReference :ref:`the user guide ` for more examples.\n\nExamples\n--------\n>>> index = pd.MultiIndex.from_tuples([('one', 'a'), ('one', 'b'),\n... ('two', 'a'), ('two', 'b')])\n>>> s = pd.Series(np.arange(1.0, 5.0), index=index)\n>>> s\none a 1.0\n b 2.0\ntwo a 3.0\n b 4.0\ndtype: float64\n\n>>> s.unstack(level=-1)\n a b\none 1.0 2.0\ntwo 3.0 4.0\n\n>>> s.unstack(level=0)\n one two\na 1.0 3.0\nb 2.0 4.0\n\n>>> df = s.unstack(level=0)\n>>> df.unstack()\none a 1.0\n b 2.0\ntwo a 3.0\n b 4.0\ndtype: float64\n"}, "kind": 2, "label": "unstack", "sortText": "205"}, {"detail": "bound method DataFrame.update(other, join: Literal[\"left\"] = \"left\", overwrite: bool = True, filter_func=None, errors: Literal[\"ignore\", \"raise\"] = \"ignore\") -> None", "documentation": {"kind": "plaintext", "value": "Modify in place using non-NA values from another DataFrame.\n\nAligns on indices. There is no return value.\n\nParameters\n----------\nother : DataFrame, or object coercible into a DataFrame\n Should have at least one matching index/column label\n with the original DataFrame. If a Series is passed,\n its name attribute must be set, and that will be\n used as the column name to align with the original DataFrame.\njoin : {'left'}, default 'left'\n Only left join is implemented, keeping the index and columns of the\n original object.\noverwrite : bool, default True\n How to handle non-NA values for overlapping keys:\n\n * True: overwrite original DataFrame's values\n with values from `other`.\n * False: only update values that are NA in\n the original DataFrame.\n\nfilter_func : callable(1d-array) -> bool 1d-array, optional\n Can choose to replace values other than NA. Return True for values\n that should be updated.\nerrors : {'raise', 'ignore'}, default 'ignore'\n If 'raise', will raise a ValueError if the DataFrame and `other`\n both contain non-NA data in the same place.\n\nReturns\n-------\nNone\n This method directly changes calling object.\n\nRaises\n------\nValueError\n * When `errors='raise'` and there's overlapping non-NA data.\n * When `errors` is not either `'ignore'` or `'raise'`\nNotImplementedError\n * If `join != 'left'`\n\nSee Also\n--------\ndict.update : Similar method for dictionaries.\nDataFrame.merge : For column(s)-on-column(s) operations.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [1, 2, 3],\n... 'B': [400, 500, 600]})\n>>> new_df = pd.DataFrame({'B': [4, 5, 6],\n... 'C': [7, 8, 9]})\n>>> df.update(new_df)\n>>> df\n A B\n0 1 4\n1 2 5\n2 3 6\n\nThe DataFrame's length does not increase as a result of the update,\nonly values at matching index/column labels are updated.\n\n>>> df = pd.DataFrame({'A': ['a', 'b', 'c'],\n... 'B': ['x', 'y', 'z']})\n>>> new_df = pd.DataFrame({'B': ['d', 'e', 'f', 'g', 'h', 'i']})\n>>> df.update(new_df)\n>>> df\n A B\n0 a d\n1 b e\n2 c f\n\n>>> df = pd.DataFrame({'A': ['a', 'b', 'c'],\n... 'B': ['x', 'y', 'z']})\n>>> new_df = pd.DataFrame({'B': ['d', 'f']}, index=[0, 2])\n>>> df.update(new_df)\n>>> df\n A B\n0 a d\n1 b y\n2 c f\n\nFor Series, its name attribute must be set.\n\n>>> df = pd.DataFrame({'A': ['a', 'b', 'c'],\n... 'B': ['x', 'y', 'z']})\n>>> new_column = pd.Series(['d', 'e', 'f'], name='B')\n>>> df.update(new_column)\n>>> df\n A B\n0 a d\n1 b e\n2 c f\n\nIf `other` contains NaNs the corresponding values are not updated\nin the original dataframe.\n\n>>> df = pd.DataFrame({'A': [1, 2, 3],\n... 'B': [400., 500., 600.]})\n>>> new_df = pd.DataFrame({'B': [4, np.nan, 6]})\n>>> df.update(new_df)\n>>> df\n A B\n0 1 4.0\n1 2 500.0\n2 3 6.0\n"}, "kind": 2, "label": "update", "sortText": "206"}, {"detail": "bound method DataFrame.value_counts(subset: Hashable | Sequence[Hashable] = None, normalize: bool = False, sort: bool = True, ascending: bool = False, dropna: bool = True) -> Series", "documentation": {"kind": "plaintext", "value": "Return a Series containing the frequency of each distinct row in the Dataframe.\n\nParameters\n----------\nsubset : label or list of labels, optional\n Columns to use when counting unique combinations.\nnormalize : bool, default False\n Return proportions rather than frequencies.\nsort : bool, default True\n Sort by frequencies when True. Sort by DataFrame column values when False.\nascending : bool, default False\n Sort in ascending order.\ndropna : bool, default True\n Don't include counts of rows that contain NA values.\n\n .. versionadded:: 1.3.0\n\nReturns\n-------\nSeries\n\nSee Also\n--------\nSeries.value_counts: Equivalent method on Series.\n\nNotes\n-----\nThe returned Series will have a MultiIndex with one level per input\ncolumn but an Index (non-multi) for a single label. By default, rows\nthat contain any NA values are omitted from the result. By default,\nthe resulting Series will be in descending order so that the first\nelement is the most frequently-occurring row.\n\nExamples\n--------\n>>> df = pd.DataFrame({'num_legs': [2, 4, 4, 6],\n... 'num_wings': [2, 0, 0, 0]},\n... index=['falcon', 'dog', 'cat', 'ant'])\n>>> df\n num_legs num_wings\nfalcon 2 2\ndog 4 0\ncat 4 0\nant 6 0\n\n>>> df.value_counts()\nnum_legs num_wings\n4 0 2\n2 2 1\n6 0 1\nName: count, dtype: int64\n\n>>> df.value_counts(sort=False)\nnum_legs num_wings\n2 2 1\n4 0 2\n6 0 1\nName: count, dtype: int64\n\n>>> df.value_counts(ascending=True)\nnum_legs num_wings\n2 2 1\n6 0 1\n4 0 2\nName: count, dtype: int64\n\n>>> df.value_counts(normalize=True)\nnum_legs num_wings\n4 0 0.50\n2 2 0.25\n6 0 0.25\nName: proportion, dtype: float64\n\nWith `dropna` set to `False` we can also count rows with NA values.\n\n>>> df = pd.DataFrame({'first_name': ['John', 'Anne', 'John', 'Beth'],\n... 'middle_name': ['Smith', pd.NA, pd.NA, 'Louise']})\n>>> df\n first_name middle_name\n0 John Smith\n1 Anne \n2 John \n3 Beth Louise\n\n>>> df.value_counts()\nfirst_name middle_name\nBeth Louise 1\nJohn Smith 1\nName: count, dtype: int64\n\n>>> df.value_counts(dropna=False)\nfirst_name middle_name\nAnne NaN 1\nBeth Louise 1\nJohn Smith 1\n NaN 1\nName: count, dtype: int64\n\n>>> df.value_counts(\"first_name\")\nfirst_name\nJohn 2\nAnne 1\nBeth 1\nName: count, dtype: int64\n"}, "kind": 2, "label": "value_counts", "sortText": "207"}, {"detail": "ndarray[_AnyShape, dtype[Any]]", "kind": 22, "label": "values", "sortText": "208"}, {"detail": "bound method DataFrame.var(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, ddof: int = 1, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "var", "sortText": "209"}, {"detail": "Overload[(cond, other=..., *, inplace: Literal[False] = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> DataFrame, (cond, other=..., *, inplace: Literal[True], axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> None, (cond, other=..., *, inplace: bool = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Replace values where the condition is {cond_rev}.\n\nParameters\n----------\ncond : bool {klass}, array-like, or callable\n Where `cond` is {cond}, keep the original value. Where\n {cond_rev}, replace with corresponding value from `other`.\n If `cond` is callable, it is computed on the {klass} and\n should return boolean {klass} or array. The callable must\n not change input {klass} (though pandas doesn't check it).\nother : scalar, {klass}, or callable\n Entries where `cond` is {cond_rev} are replaced with\n corresponding value from `other`.\n If other is callable, it is computed on the {klass} and\n should return scalar or {klass}. The callable must not\n change input {klass} (though pandas doesn't check it).\n If not specified, entries will be filled with the corresponding\n NULL value (``np.nan`` for numpy dtypes, ``pd.NA`` for extension\n dtypes).\ninplace : bool, default False\n Whether to perform the operation in place on the data.\naxis : int, default None\n Alignment axis if needed. For `Series` this parameter is\n unused and defaults to 0.\nlevel : int, default None\n Alignment level if needed.\n\nReturns\n-------\nSame type as caller or None if ``inplace=True``.\n\nSee Also\n--------\n:func:`DataFrame.{name_other}` : Return an object of same shape as\n self.\n\nNotes\n-----\nThe {name} method is an application of the if-then idiom. For each\nelement in the calling DataFrame, if ``cond`` is ``{cond}`` the\nelement is used; otherwise the corresponding element from the DataFrame\n``other`` is used. If the axis of ``other`` does not align with axis of\n``cond`` {klass}, the misaligned index positions will be filled with\n{cond_rev}.\n\nThe signature for :func:`DataFrame.where` differs from\n:func:`numpy.where`. Roughly ``df1.where(m, df2)`` is equivalent to\n``np.where(m, df1, df2)``.\n\nFor further details and examples see the ``{name}`` documentation in\n:ref:`indexing `.\n\nThe dtype of the object takes precedence. The fill value is casted to\nthe object's dtype, if this can be done losslessly.\n\nExamples\n--------\n>>> s = pd.Series(range(5))\n>>> s.where(s > 0)\n0 NaN\n1 1.0\n2 2.0\n3 3.0\n4 4.0\ndtype: float64\n>>> s.mask(s > 0)\n0 0.0\n1 NaN\n2 NaN\n3 NaN\n4 NaN\ndtype: float64\n\n>>> s = pd.Series(range(5))\n>>> t = pd.Series([True, False])\n>>> s.where(t, 99)\n0 0\n1 99\n2 99\n3 99\n4 99\ndtype: int64\n>>> s.mask(t, 99)\n0 99\n1 1\n2 99\n3 99\n4 99\ndtype: int64\n\n>>> s.where(s > 1, 10)\n0 10\n1 10\n2 2\n3 3\n4 4\ndtype: int64\n>>> s.mask(s > 1, 10)\n0 0\n1 1\n2 10\n3 10\n4 10\ndtype: int64\n\n>>> df = pd.DataFrame(np.arange(10).reshape(-1, 2), columns=['A', 'B'])\n>>> df\n A B\n0 0 1\n1 2 3\n2 4 5\n3 6 7\n4 8 9\n>>> m = df % 3 == 0\n>>> df.where(m, -df)\n A B\n0 0 -1\n1 -2 3\n2 -4 -5\n3 6 -7\n4 -8 9\n>>> df.where(m, -df) == np.where(m, df, -df)\n A B\n0 True True\n1 True True\n2 True True\n3 True True\n4 True True\n>>> df.where(m, -df) == df.mask(~m, -df)\n A B\n0 True True\n1 True True\n2 True True\n3 True True\n4 True True\n"}, "kind": 2, "label": "where", "sortText": "210"}, {"detail": "bound method DataFrame.xs(key: Hashable | Sequence[Hashable], axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, level: Hashable | Sequence[Hashable] = None, drop_level: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return cross-section from the Series/DataFrame.\n\nThis method takes a `key` argument to select data at a particular\nlevel of a MultiIndex.\n\nParameters\n----------\nkey : label or tuple of label\n Label contained in the index, or partially in a MultiIndex.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Axis to retrieve cross-section on.\nlevel : object, defaults to first n levels (n=1 or len(key))\n In case of a key partially contained in a MultiIndex, indicate\n which levels are used. Levels can be referred by label or position.\ndrop_level : bool, default True\n If False, returns object with same levels as self.\n\nReturns\n-------\nSeries or DataFrame\n Cross-section from the original Series or DataFrame\n corresponding to the selected index levels.\n\nSee Also\n--------\nDataFrame.loc : Access a group of rows and columns\n by label(s) or a boolean array.\nDataFrame.iloc : Purely integer-location based indexing\n for selection by position.\n\nNotes\n-----\n`xs` can not be used to set values.\n\nMultiIndex Slicers is a generic way to get/set values on\nany level or levels.\nIt is a superset of `xs` functionality, see\n:ref:`MultiIndex Slicers `.\n\nExamples\n--------\n>>> d = {'num_legs': [4, 4, 2, 2],\n... 'num_wings': [0, 0, 2, 2],\n... 'class': ['mammal', 'mammal', 'mammal', 'bird'],\n... 'animal': ['cat', 'dog', 'bat', 'penguin'],\n... 'locomotion': ['walks', 'walks', 'flies', 'walks']}\n>>> df = pd.DataFrame(data=d)\n>>> df = df.set_index(['class', 'animal', 'locomotion'])\n>>> df\n num_legs num_wings\nclass animal locomotion\nmammal cat walks 4 0\n dog walks 4 0\n bat flies 2 2\nbird penguin walks 2 2\n\nGet values at specified index\n\n>>> df.xs('mammal')\n num_legs num_wings\nanimal locomotion\ncat walks 4 0\ndog walks 4 0\nbat flies 2 2\n\nGet values at several indexes\n\n>>> df.xs(('mammal', 'dog', 'walks'))\nnum_legs 4\nnum_wings 0\nName: (mammal, dog, walks), dtype: int64\n\nGet values at specified index and level\n\n>>> df.xs('cat', level=1)\n num_legs num_wings\nclass locomotion\nmammal walks 4 0\n\nGet values at several indexes and levels\n\n>>> df.xs(('bird', 'walks'),\n... level=[0, 'locomotion'])\n num_legs num_wings\nanimal\npenguin 2 2\n\nGet values at specified column and axis\n\n>>> df.xs('num_wings', axis=1)\nclass animal locomotion\nmammal cat walks 0\n dog walks 0\n bat flies 2\nbird penguin walks 2\nName: num_wings, dtype: int64\n"}, "kind": 2, "label": "xs", "sortText": "211"}, {"detail": "bound method DataFrame.__abs__() -> DataFrame", "kind": 2, "label": "__abs__", "sortText": "212"}, {"detail": "bound method DataFrame.__add__(other) -> Unknown", "documentation": {"kind": "plaintext", "value": "Get Addition of DataFrame and other, column-wise.\n\nEquivalent to ``DataFrame.add(other)``.\n\nParameters\n----------\nother : scalar, sequence, Series, dict or DataFrame\n Object to be added to the DataFrame.\n\nReturns\n-------\nDataFrame\n The result of adding ``other`` to DataFrame.\n\nSee Also\n--------\nDataFrame.add : Add a DataFrame and another object, with option for index-\n or column-oriented addition.\n\nExamples\n--------\n>>> df = pd.DataFrame({'height': [1.5, 2.6], 'weight': [500, 800]},\n... index=['elk', 'moose'])\n>>> df\n height weight\nelk 1.5 500\nmoose 2.6 800\n\nAdding a scalar affects all rows and columns.\n\n>>> df[['height', 'weight']] + 1.5\n height weight\nelk 3.0 501.5\nmoose 4.1 801.5\n\nEach element of a list is added to a column of the DataFrame, in order.\n\n>>> df[['height', 'weight']] + [0.5, 1.5]\n height weight\nelk 2.0 501.5\nmoose 3.1 801.5\n\nKeys of a dictionary are aligned to the DataFrame, based on column names;\neach value in the dictionary is added to the corresponding column.\n\n>>> df[['height', 'weight']] + {'height': 0.5, 'weight': 1.5}\n height weight\nelk 2.0 501.5\nmoose 3.1 801.5\n\nWhen `other` is a :class:`Series`, the index of `other` is aligned with the\ncolumns of the DataFrame.\n\n>>> s1 = pd.Series([0.5, 1.5], index=['weight', 'height'])\n>>> df[['height', 'weight']] + s1\n height weight\nelk 3.0 500.5\nmoose 4.1 800.5\n\nEven when the index of `other` is the same as the index of the DataFrame,\nthe :class:`Series` will not be reoriented. If index-wise alignment is desired,\n:meth:`DataFrame.add` should be used with `axis='index'`.\n\n>>> s2 = pd.Series([0.5, 1.5], index=['elk', 'moose'])\n>>> df[['height', 'weight']] + s2\n elk height moose weight\nelk NaN NaN NaN NaN\nmoose NaN NaN NaN NaN\n\n>>> df[['height', 'weight']].add(s2, axis='index')\n height weight\nelk 2.0 500.5\nmoose 4.1 801.5\n\nWhen `other` is a :class:`DataFrame`, both columns names and the\nindex are aligned.\n\n>>> other = pd.DataFrame({'height': [0.2, 0.4, 0.6]},\n... index=['elk', 'moose', 'deer'])\n>>> df[['height', 'weight']] + other\n height weight\ndeer NaN NaN\nelk 1.7 NaN\nmoose 3.0 NaN\n"}, "kind": 2, "label": "__add__", "sortText": "213"}, {"detail": "bound method DataFrame.__and__(other) -> Unknown", "kind": 2, "label": "__and__", "sortText": "214"}, {"detail": "dict[str, Any]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "__annotations__", "sortText": "215"}, {"detail": "bound method DataFrame.__array__(dtype: DTypeLike | None = None, copy: bool | None = None) -> ndarray[_AnyShape, dtype[Any]]", "kind": 2, "label": "__array__", "sortText": "216"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "__array_priority__", "sortText": "217"}, {"detail": "bound method DataFrame.__array_ufunc__(ufunc: ufunc, method: str, *inputs: Any, **kwargs: Any) -> Unknown", "kind": 2, "label": "__array_ufunc__", "sortText": "218"}, {"detail": "bound method DataFrame.__arrow_c_stream__(requested_schema=None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Export the pandas DataFrame as an Arrow C stream PyCapsule.\n\nThis relies on pyarrow to convert the pandas DataFrame to the Arrow\nformat (and follows the default behaviour of ``pyarrow.Table.from_pandas``\nin its handling of the index, i.e. store the index as a column except\nfor RangeIndex).\nThis conversion is not necessarily zero-copy.\n\nParameters\n----------\nrequested_schema : PyCapsule, default None\n The schema to which the dataframe should be casted, passed as a\n PyCapsule containing a C ArrowSchema representation of the\n requested schema.\n\nReturns\n-------\nPyCapsule\n"}, "kind": 2, "label": "__arrow_c_stream__", "sortText": "219"}, {"detail": "() -> Never", "kind": 2, "label": "__bool__", "sortText": "220"}, {"detail": "type[DataFrame]", "documentation": {"kind": "plaintext", "value": "Two-dimensional, size-mutable, potentially heterogeneous tabular data.\n\nData structure also contains labeled axes (rows and columns).\nArithmetic operations align on both row and column labels. Can be\nthought of as a dict-like container for Series objects. The primary\npandas data structure.\n\nParameters\n----------\ndata : ndarray (structured or homogeneous), Iterable, dict, or DataFrame\n Dict can contain Series, arrays, constants, dataclass or list-like objects. If\n data is a dict, column order follows insertion-order. If a dict contains Series\n which have an index defined, it is aligned by its index. This alignment also\n occurs if data is a Series or a DataFrame itself. Alignment is done on\n Series/DataFrame inputs.\n\n If data is a list of dicts, column order follows insertion-order.\n\nindex : Index or array-like\n Index to use for resulting frame. Will default to RangeIndex if\n no indexing information part of input data and no index provided.\ncolumns : Index or array-like\n Column labels to use for resulting frame when data does not have them,\n defaulting to RangeIndex(0, 1, 2, ..., n). If data contains column labels,\n will perform column selection instead.\ndtype : dtype, default None\n Data type to force. Only a single dtype is allowed. If None, infer.\ncopy : bool or None, default None\n Copy data from inputs.\n For dict data, the default of None behaves like ``copy=True``. For DataFrame\n or 2d ndarray input, the default of None behaves like ``copy=False``.\n If data is a dict containing one or more Series (possibly of different dtypes),\n ``copy=False`` will ensure that these inputs are not copied.\n\n .. versionchanged:: 1.3.0\n\nSee Also\n--------\nDataFrame.from_records : Constructor from tuples, also record arrays.\nDataFrame.from_dict : From dicts of Series, arrays, or dicts.\nread_csv : Read a comma-separated values (csv) file into DataFrame.\nread_table : Read general delimited file into DataFrame.\nread_clipboard : Read text from clipboard into DataFrame.\n\nNotes\n-----\nPlease reference the :ref:`User Guide ` for more information.\n\nExamples\n--------\nConstructing DataFrame from a dictionary.\n\n>>> d = {'col1': [1, 2], 'col2': [3, 4]}\n>>> df = pd.DataFrame(data=d)\n>>> df\n col1 col2\n0 1 3\n1 2 4\n\nNotice that the inferred dtype is int64.\n\n>>> df.dtypes\ncol1 int64\ncol2 int64\ndtype: object\n\nTo enforce a single dtype:\n\n>>> df = pd.DataFrame(data=d, dtype=np.int8)\n>>> df.dtypes\ncol1 int8\ncol2 int8\ndtype: object\n\nConstructing DataFrame from a dictionary including Series:\n\n>>> d = {'col1': [0, 1, 2, 3], 'col2': pd.Series([2, 3], index=[2, 3])}\n>>> pd.DataFrame(data=d, index=[0, 1, 2, 3])\n col1 col2\n0 0 NaN\n1 1 NaN\n2 2 2.0\n3 3 3.0\n\nConstructing DataFrame from numpy ndarray:\n\n>>> df2 = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]),\n... columns=['a', 'b', 'c'])\n>>> df2\n a b c\n0 1 2 3\n1 4 5 6\n2 7 8 9\n\nConstructing DataFrame from a numpy ndarray that has labeled columns:\n\n>>> data = np.array([(1, 2, 3), (4, 5, 6), (7, 8, 9)],\n... dtype=[(\"a\", \"i4\"), (\"b\", \"i4\"), (\"c\", \"i4\")])\n>>> df3 = pd.DataFrame(data, columns=['c', 'a'])\n...\n>>> df3\n c a\n0 3 1\n1 6 4\n2 9 7\n\nConstructing DataFrame from dataclass:\n\n>>> from dataclasses import make_dataclass\n>>> Point = make_dataclass(\"Point\", [(\"x\", int), (\"y\", int)])\n>>> pd.DataFrame([Point(0, 0), Point(0, 3), Point(2, 3)])\n x y\n0 0 0\n1 0 3\n2 2 3\n\nConstructing DataFrame from Series/DataFrame:\n\n>>> ser = pd.Series([1, 2, 3], index=[\"a\", \"b\", \"c\"])\n>>> df = pd.DataFrame(data=ser, index=[\"a\", \"c\"])\n>>> df\n 0\na 1\nc 3\n\n>>> df1 = pd.DataFrame([1, 2, 3], index=[\"a\", \"b\", \"c\"], columns=[\"x\"])\n>>> df2 = pd.DataFrame(data=df1, index=[\"a\", \"c\"])\n>>> df2\n x\na 1\nc 3\n"}, "kind": 7, "label": "__class__", "sortText": "221"}, {"detail": "bound method DataFrame.__contains__(key) -> bool", "documentation": {"kind": "plaintext", "value": "True if the key is in the info axis\n"}, "kind": 2, "label": "__contains__", "sortText": "222"}, {"detail": "bound method DataFrame.__copy__(deep: bool = True) -> DataFrame", "kind": 2, "label": "__copy__", "sortText": "223"}, {"detail": "bound method DataFrame.__dataframe__(nan_as_null: bool = False, allow_copy: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the dataframe interchange object implementing the interchange protocol.\n\nParameters\n----------\nnan_as_null : bool, default False\n `nan_as_null` is DEPRECATED and has no effect. Please avoid using\n it; it will be removed in a future release.\nallow_copy : bool, default True\n Whether to allow memory copying when exporting. If set to False\n it would cause non-zero-copy exports to fail.\n\nReturns\n-------\nDataFrame interchange object\n The object which consuming library can use to ingress the dataframe.\n\nNotes\n-----\nDetails on the interchange protocol:\nhttps://data-apis.org/dataframe-protocol/latest/index.html\n\nExamples\n--------\n>>> df_not_necessarily_pandas = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})\n>>> interchange_object = df_not_necessarily_pandas.__dataframe__()\n>>> interchange_object.column_names()\nIndex(['A', 'B'], dtype='object')\n>>> df_pandas = (pd.api.interchange.from_dataframe\n... (interchange_object.select_columns_by_name(['A'])))\n>>> df_pandas\n A\n0 1\n1 2\n\nThese methods (``column_names``, ``select_columns_by_name``) should work\nfor any dataframe library which implements the interchange protocol.\n"}, "kind": 2, "label": "__dataframe__", "sortText": "224"}, {"detail": "bound method DataFrame.__dataframe_consortium_standard__(*, api_version: str | None = None) -> Any", "documentation": {"kind": "plaintext", "value": "Provide entry point to the Consortium DataFrame Standard API.\n\nThis is developed and maintained outside of pandas.\nPlease report any issues to https://github.com/data-apis/dataframe-api-compat.\n"}, "kind": 2, "label": "__dataframe_consortium_standard__", "sortText": "225"}, {"detail": "bound method DataFrame.__deepcopy__(memo=None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Parameters\n----------\nmemo, default None\n Standard signature. Unused\n"}, "kind": 2, "label": "__deepcopy__", "sortText": "226"}, {"detail": "bound method DataFrame.__delattr__(name: str, /) -> None", "kind": 2, "label": "__delattr__", "sortText": "227"}, {"detail": "bound method DataFrame.__delitem__(key) -> None", "documentation": {"kind": "plaintext", "value": "Delete item\n"}, "kind": 2, "label": "__delitem__", "sortText": "228"}, {"detail": "dict[str, Any]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "__dict__", "sortText": "229"}, {"detail": "bound method DataFrame.__dir__() -> list[str]", "documentation": {"kind": "plaintext", "value": "Provide method name lookup and completion.\n\nNotes\n-----\nOnly provide 'public' methods.\n"}, "kind": 2, "label": "__dir__", "sortText": "230"}, {"detail": "bound method DataFrame.__divmod__(other) -> tuple[DataFrame, DataFrame]", "kind": 2, "label": "__divmod__", "sortText": "231"}, {"detail": "str | None", "kind": 22, "label": "__doc__", "sortText": "232"}, {"detail": "bound method DataFrame.__eq__(other) -> Unknown", "kind": 2, "label": "__eq__", "sortText": "233"}, {"detail": "bound method DataFrame.__finalize__(other, method: str | None = None, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Propagate metadata from other to self.\n\nParameters\n----------\nother : the object from which to get the attributes that we are going\n to propagate\nmethod : str, optional\n A passed method name providing context on where ``__finalize__``\n was called.\n\n .. warning::\n\n The value passed as `method` are not currently considered\n stable across pandas releases.\n"}, "kind": 2, "label": "__finalize__", "sortText": "234"}, {"detail": "bound method DataFrame.__floordiv__(other) -> Unknown", "kind": 2, "label": "__floordiv__", "sortText": "235"}, {"detail": "bound method DataFrame.__format__(format_spec: str, /) -> str", "kind": 2, "label": "__format__", "sortText": "236"}, {"detail": "bound method DataFrame.__ge__(other) -> Unknown", "kind": 2, "label": "__ge__", "sortText": "237"}, {"detail": "bound method DataFrame.__getattr__(name: str) -> Unknown", "documentation": {"kind": "plaintext", "value": "After regular attribute access, try looking up the name\nThis allows simpler access to columns for interactive use.\n"}, "kind": 2, "label": "__getattr__", "sortText": "238"}, {"detail": "bound method DataFrame.__getattribute__(name: str, /) -> Any", "kind": 2, "label": "__getattribute__", "sortText": "239"}, {"detail": "bound method DataFrame.__getitem__(key) -> Unknown", "kind": 2, "label": "__getitem__", "sortText": "240"}, {"detail": "bound method DataFrame.__getstate__() -> dict[str, Any]", "kind": 2, "label": "__getstate__", "sortText": "241"}, {"detail": "bound method DataFrame.__gt__(other) -> Unknown", "kind": 2, "label": "__gt__", "sortText": "242"}, {"detail": "None", "documentation": {"kind": "plaintext", "value": "The type of the None singleton.\n"}, "kind": 22, "label": "__hash__", "sortText": "243"}, {"detail": "bound method DataFrame.__iadd__(other) -> DataFrame", "kind": 2, "label": "__iadd__", "sortText": "244"}, {"detail": "bound method DataFrame.__iand__(other) -> DataFrame", "kind": 2, "label": "__iand__", "sortText": "245"}, {"detail": "bound method DataFrame.__ifloordiv__(other) -> DataFrame", "kind": 2, "label": "__ifloordiv__", "sortText": "246"}, {"detail": "bound method DataFrame.__imod__(other) -> DataFrame", "kind": 2, "label": "__imod__", "sortText": "247"}, {"detail": "bound method DataFrame.__imul__(other) -> DataFrame", "kind": 2, "label": "__imul__", "sortText": "248"}, {"detail": "bound method DataFrame.__init__(data=None, index: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = None, columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = None, dtype: ExtensionDtype | str | dtype[Any] | type | None = None, copy: bool | None = None) -> None", "kind": 2, "label": "__init__", "sortText": "249"}, {"detail": "bound method type[DataFrame].__init_subclass__() -> None", "kind": 2, "label": "__init_subclass__", "sortText": "250"}, {"detail": "bound method DataFrame.__invert__() -> DataFrame", "kind": 2, "label": "__invert__", "sortText": "251"}, {"detail": "bound method DataFrame.__ior__(other) -> DataFrame", "kind": 2, "label": "__ior__", "sortText": "252"}, {"detail": "bound method DataFrame.__ipow__(other) -> DataFrame", "kind": 2, "label": "__ipow__", "sortText": "253"}, {"detail": "bound method DataFrame.__isub__(other) -> DataFrame", "kind": 2, "label": "__isub__", "sortText": "254"}, {"detail": "bound method DataFrame.__iter__() -> Iterator[Unknown]", "documentation": {"kind": "plaintext", "value": "Iterate over info axis.\n\nReturns\n-------\niterator\n Info axis as iterator.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})\n>>> for x in df:\n... print(x)\nA\nB\n"}, "kind": 2, "label": "__iter__", "sortText": "255"}, {"detail": "bound method DataFrame.__itruediv__(other) -> DataFrame", "kind": 2, "label": "__itruediv__", "sortText": "256"}, {"detail": "bound method DataFrame.__ixor__(other) -> DataFrame", "kind": 2, "label": "__ixor__", "sortText": "257"}, {"detail": "bound method DataFrame.__le__(other) -> Unknown", "kind": 2, "label": "__le__", "sortText": "258"}, {"detail": "bound method DataFrame.__len__() -> int", "documentation": {"kind": "plaintext", "value": "Returns length of info axis, but here we use the index.\n"}, "kind": 2, "label": "__len__", "sortText": "259"}, {"detail": "bound method DataFrame.__lt__(other) -> Unknown", "kind": 2, "label": "__lt__", "sortText": "260"}, {"detail": "Overload[(other: Series) -> Series, (other: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | Series | DataFrame) -> DataFrame | Series]", "documentation": {"kind": "plaintext", "value": "Matrix multiplication using binary `@` operator.\n"}, "kind": 2, "label": "__matmul__", "sortText": "261"}, {"detail": "bound method DataFrame.__mod__(other) -> Unknown", "kind": 2, "label": "__mod__", "sortText": "262"}, {"detail": "str", "documentation": {"kind": "plaintext", "value": "str(object='') -> str\nstr(bytes_or_buffer[, encoding[, errors]]) -> str\n\nCreate a new string object from the given object. If encoding or\nerrors is specified, then the object must expose a data buffer\nthat will be decoded using the given encoding and error handler.\nOtherwise, returns the result of object.__str__() (if defined)\nor repr(object).\nencoding defaults to 'utf-8'.\nerrors defaults to 'strict'.\n"}, "kind": 22, "label": "__module__", "sortText": "263"}, {"detail": "bound method DataFrame.__mul__(other) -> Unknown", "kind": 2, "label": "__mul__", "sortText": "264"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "__name__", "sortText": "265"}, {"detail": "bound method DataFrame.__ne__(other) -> Unknown", "kind": 2, "label": "__ne__", "sortText": "266"}, {"detail": "bound method DataFrame.__neg__() -> DataFrame", "kind": 2, "label": "__neg__", "sortText": "267"}, {"detail": "def __new__[Self](cls) -> Self", "kind": 3, "label": "__new__", "sortText": "268"}, {"detail": "bound method DataFrame.__nonzero__() -> Never", "kind": 2, "label": "__nonzero__", "sortText": "269"}, {"detail": "bound method DataFrame.__or__(other) -> Unknown", "kind": 2, "label": "__or__", "sortText": "270"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "__pandas_priority__", "sortText": "271"}, {"detail": "bound method DataFrame.__pos__() -> DataFrame", "kind": 2, "label": "__pos__", "sortText": "272"}, {"detail": "bound method DataFrame.__pow__(other) -> Unknown", "kind": 2, "label": "__pow__", "sortText": "273"}, {"detail": "bound method DataFrame.__radd__(other) -> Unknown", "kind": 2, "label": "__radd__", "sortText": "274"}, {"detail": "bound method DataFrame.__rand__(other) -> Unknown", "kind": 2, "label": "__rand__", "sortText": "275"}, {"detail": "bound method DataFrame.__rdivmod__(other) -> tuple[DataFrame, DataFrame]", "kind": 2, "label": "__rdivmod__", "sortText": "276"}, {"detail": "bound method DataFrame.__reduce__() -> str | tuple[Any, ...]", "kind": 2, "label": "__reduce__", "sortText": "277"}, {"detail": "bound method DataFrame.__reduce_ex__(protocol: SupportsIndex, /) -> str | tuple[Any, ...]", "kind": 2, "label": "__reduce_ex__", "sortText": "278"}, {"detail": "bound method DataFrame.__repr__() -> str", "documentation": {"kind": "plaintext", "value": "Return a string representation for a particular DataFrame.\n"}, "kind": 2, "label": "__repr__", "sortText": "279"}, {"detail": "bound method DataFrame.__rfloordiv__(other) -> Unknown", "kind": 2, "label": "__rfloordiv__", "sortText": "280"}, {"detail": "bound method DataFrame.__rmatmul__(other) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Matrix multiplication using binary `@` operator.\n"}, "kind": 2, "label": "__rmatmul__", "sortText": "281"}, {"detail": "bound method DataFrame.__rmod__(other) -> Unknown", "kind": 2, "label": "__rmod__", "sortText": "282"}, {"detail": "bound method DataFrame.__rmul__(other) -> Unknown", "kind": 2, "label": "__rmul__", "sortText": "283"}, {"detail": "bound method DataFrame.__ror__(other) -> Unknown", "kind": 2, "label": "__ror__", "sortText": "284"}, {"detail": "bound method DataFrame.__round__(decimals: int = 0) -> DataFrame", "kind": 2, "label": "__round__", "sortText": "285"}, {"detail": "bound method DataFrame.__rpow__(other) -> Unknown", "kind": 2, "label": "__rpow__", "sortText": "286"}, {"detail": "bound method DataFrame.__rsub__(other) -> Unknown", "kind": 2, "label": "__rsub__", "sortText": "287"}, {"detail": "bound method DataFrame.__rtruediv__(other) -> Unknown", "kind": 2, "label": "__rtruediv__", "sortText": "288"}, {"detail": "bound method DataFrame.__rxor__(other) -> Unknown", "kind": 2, "label": "__rxor__", "sortText": "289"}, {"detail": "bound method DataFrame.__setattr__(name: str, value) -> None", "documentation": {"kind": "plaintext", "value": "After regular attribute access, try setting the name\nThis allows simpler access to columns for interactive use.\n"}, "kind": 2, "label": "__setattr__", "sortText": "290"}, {"detail": "bound method DataFrame.__setitem__(key, value) -> None", "kind": 2, "label": "__setitem__", "sortText": "291"}, {"detail": "bound method DataFrame.__setstate__(state) -> None", "kind": 2, "label": "__setstate__", "sortText": "292"}, {"detail": "bound method DataFrame.__sizeof__() -> int", "documentation": {"kind": "plaintext", "value": "Generates the total memory usage for an object that returns\neither a value or Series of values\n"}, "kind": 2, "label": "__sizeof__", "sortText": "293"}, {"detail": "bound method DataFrame.__str__() -> str", "kind": 2, "label": "__str__", "sortText": "294"}, {"detail": "bound method DataFrame.__sub__(other) -> Unknown", "kind": 2, "label": "__sub__", "sortText": "295"}, {"detail": "bound method type[DataFrame].__subclasshook__(subclass: type, /) -> bool", "kind": 2, "label": "__subclasshook__", "sortText": "296"}, {"detail": "bound method DataFrame.__truediv__(other) -> Unknown", "kind": 2, "label": "__truediv__", "sortText": "297"}, {"detail": "bound method DataFrame.__xor__(other) -> Unknown", "kind": 2, "label": "__xor__", "sortText": "298"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "_AXIS_LEN", "sortText": "299"}, {"detail": "list[Literal[\"index\", \"columns\"]]", "documentation": {"kind": "plaintext", "value": "Built-in mutable sequence.\n\nIf no argument is given, the constructor creates a new empty list.\nThe argument must be an iterable if specified.\n"}, "kind": 22, "label": "_AXIS_ORDERS", "sortText": "300"}, {"detail": "dict[int | Literal[\"index\", \"columns\", \"rows\"], int]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "_AXIS_TO_AXIS_NUMBER", "sortText": "301"}, {"detail": "tuple[type[Series], type[Index], type[ExtensionArray], type[ndarray[_AnyShape, dtype[Any]]]]", "documentation": {"kind": "plaintext", "value": "Built-in immutable sequence.\n\nIf no argument is given, the constructor returns an empty tuple.\nIf iterable is specified the tuple is initialized from iterable's items.\n\nIf the argument is a tuple, the return value is the same object.\n"}, "kind": 22, "label": "_HANDLED_TYPES", "sortText": "302"}, {"detail": "set[str]", "documentation": {"kind": "plaintext", "value": "Build an unordered collection of unique elements.\n"}, "kind": 22, "label": "_accessors", "sortText": "303"}, {"detail": "bound method DataFrame._accum_func(name: str, func, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, skipna: bool = True, *args, **kwargs) -> Unknown", "kind": 2, "label": "_accum_func", "sortText": "304"}, {"detail": "str", "documentation": {"kind": "plaintext", "value": "str(object='') -> str\nstr(bytes_or_buffer[, encoding[, errors]]) -> str\n\nCreate a new string object from the given object. If encoding or\nerrors is specified, then the object must expose a data buffer\nthat will be decoded using the given encoding and error handler.\nOtherwise, returns the result of object.__str__() (if defined)\nor repr(object).\nencoding defaults to 'utf-8'.\nerrors defaults to 'strict'.\n"}, "kind": 22, "label": "_agg_examples_doc", "sortText": "305"}, {"detail": "str", "documentation": {"kind": "plaintext", "value": "str(object='') -> str\nstr(bytes_or_buffer[, encoding[, errors]]) -> str\n\nCreate a new string object from the given object. If encoding or\nerrors is specified, then the object must expose a data buffer\nthat will be decoded using the given encoding and error handler.\nOtherwise, returns the result of object.__str__() (if defined)\nor repr(object).\nencoding defaults to 'utf-8'.\nerrors defaults to 'strict'.\n"}, "kind": 22, "label": "_agg_see_also_doc", "sortText": "306"}, {"detail": "bound method DataFrame._align_for_op(other, axis: int, flex: bool | None = False, level: Hashable = None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Convert rhs to meet lhs dims if input is list, tuple or np.ndarray.\n\nParameters\n----------\nleft : DataFrame\nright : Any\naxis : int\nflex : bool or None, default False\n Whether this is a flex op, in which case we reindex.\n None indicates not to check for alignment.\nlevel : int or level name, default None\n\nReturns\n-------\nleft : DataFrame\nright : Any\n"}, "kind": 2, "label": "_align_for_op", "sortText": "307"}, {"detail": "bound method DataFrame._align_frame(other: DataFrame, join: Literal[\"outer\", \"inner\", \"left\", \"right\"] = \"outer\", axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, level=None, copy: bool | None = None, fill_value=None, method=None, limit: int | None = None, fill_axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> tuple[DataFrame, DataFrame, Index | None]", "kind": 2, "label": "_align_frame", "sortText": "308"}, {"detail": "bound method DataFrame._align_series(other: Series, join: Literal[\"outer\", \"inner\", \"left\", \"right\"] = \"outer\", axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, level=None, copy: bool | None = None, fill_value=None, method=None, limit: int | None = None, fill_axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> tuple[DataFrame, Series, Index | None]", "kind": 2, "label": "_align_series", "sortText": "309"}, {"detail": "bound method DataFrame._append(other, ignore_index: bool = False, verify_integrity: bool = False, sort: bool = False) -> DataFrame", "kind": 2, "label": "_append", "sortText": "310"}, {"detail": "bound method DataFrame._arith_method(other, op) -> Unknown", "kind": 2, "label": "_arith_method", "sortText": "311"}, {"detail": "bound method DataFrame._arith_method_with_reindex(right: DataFrame, op) -> DataFrame", "documentation": {"kind": "plaintext", "value": "For DataFrame-with-DataFrame operations that require reindexing,\noperate only on shared columns, then reindex.\n\nParameters\n----------\nright : DataFrame\nop : binary operator\n\nReturns\n-------\nDataFrame\n"}, "kind": 2, "label": "_arith_method_with_reindex", "sortText": "312"}, {"detail": "bound method DataFrame._as_manager(typ: str, copy: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Private helper function to create a DataFrame with specific manager.\n\nParameters\n----------\ntyp : {\"block\", \"array\"}\ncopy : bool, default True\n Only controls whether the conversion from Block->ArrayManager\n copies the 1D arrays (to ensure proper/contiguous memory layout).\n\nReturns\n-------\nDataFrame\n New DataFrame using specified manager type. Is not guaranteed\n to be a copy or not.\n"}, "kind": 2, "label": "_as_manager", "sortText": "313"}, {"detail": "dict[Hashable, Any]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "_attrs", "sortText": "314"}, {"detail": "bound method DataFrame._box_col_values(values: SingleDataManager, loc: int) -> Series", "documentation": {"kind": "plaintext", "value": "Provide boxed values for a column.\n"}, "kind": 2, "label": "_box_col_values", "sortText": "315"}, {"detail": "dict[str, Any]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "_cache", "sortText": "316"}, {"detail": "bool", "documentation": {"kind": "plaintext", "value": "Returns True when the argument is true, False otherwise.\nThe builtins True and False are the only two instances of the class bool.\nThe class bool is a subclass of the class int, and cannot be subclassed.\n"}, "kind": 22, "label": "_can_fast_transpose", "sortText": "317"}, {"detail": "bound method DataFrame._check_inplace_and_allows_duplicate_labels(inplace: bool) -> Unknown", "kind": 2, "label": "_check_inplace_and_allows_duplicate_labels", "sortText": "318"}, {"detail": "bound method DataFrame._check_is_chained_assignment_possible() -> bool", "documentation": {"kind": "plaintext", "value": "Check if we are a view, have a cacher, and are of mixed type.\nIf so, then force a setitem_copy check.\n\nShould be called just near setting a value\n\nWill return a boolean if it we are a view and are cached, but a\nsingle-dtype meaning that the cacher should be updated following\nsetting.\n"}, "kind": 2, "label": "_check_is_chained_assignment_possible", "sortText": "319"}, {"detail": "bound method DataFrame._check_label_or_level_ambiguity(key: Hashable, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> None", "documentation": {"kind": "plaintext", "value": "Check whether `key` is ambiguous.\n\nBy ambiguous, we mean that it matches both a level of the input\n`axis` and a label of the other axis.\n\nParameters\n----------\nkey : Hashable\n Label or level name.\naxis : int, default 0\n Axis that levels are associated with (0 for index, 1 for columns).\n\nRaises\n------\nValueError: `key` is ambiguous\n"}, "kind": 2, "label": "_check_label_or_level_ambiguity", "sortText": "320"}, {"detail": "bound method DataFrame._check_setitem_copy(t: str = \"setting\", force: bool = False) -> Unknown", "documentation": {"kind": "plaintext", "value": "Parameters\n----------\nt : str, the type of setting error\nforce : bool, default False\n If True, then force showing an error.\n\nvalidate if we are doing a setitem on a chained copy.\n\nIt is technically possible to figure out that we are setting on\na copy even WITH a multi-dtyped pandas object. In other words, some\nblocks may be views while other are not. Currently _is_view will ALWAYS\nreturn False for multi-blocks to avoid having to handle this case.\n\ndf = DataFrame(np.arange(0,9), columns=['count'])\ndf['group'] = 'b'\n\n# This technically need not raise SettingWithCopy if both are view\n# (which is not generally guaranteed but is usually True. However,\n# this is in general not a good practice and we recommend using .loc.\ndf.iloc[0:5]['group'] = 'a'\n"}, "kind": 2, "label": "_check_setitem_copy", "sortText": "321"}, {"detail": "bound method DataFrame._clear_item_cache() -> None", "kind": 2, "label": "_clear_item_cache", "sortText": "322"}, {"detail": "bound method DataFrame._clip_with_one_bound(threshold, method, axis, inplace) -> Unknown", "kind": 2, "label": "_clip_with_one_bound", "sortText": "323"}, {"detail": "bound method DataFrame._clip_with_scalar(lower, upper, inplace: bool = False) -> Unknown", "kind": 2, "label": "_clip_with_scalar", "sortText": "324"}, {"detail": "bound method DataFrame._cmp_method(other, op) -> Unknown", "kind": 2, "label": "_cmp_method", "sortText": "325"}, {"detail": "bound method DataFrame._combine_frame(other: DataFrame, func, fill_value=None) -> Unknown", "kind": 2, "label": "_combine_frame", "sortText": "326"}, {"detail": "bound method DataFrame._consolidate() -> Unknown", "documentation": {"kind": "plaintext", "value": "Compute NDFrame with \"consolidated\" internals (data of each dtype\ngrouped together in a single ndarray).\n\nReturns\n-------\nconsolidated : same type as caller\n"}, "kind": 2, "label": "_consolidate", "sortText": "327"}, {"detail": "bound method DataFrame._consolidate_inplace() -> None", "documentation": {"kind": "plaintext", "value": "Consolidate data in place and return None\n"}, "kind": 2, "label": "_consolidate_inplace", "sortText": "328"}, {"detail": "bound method DataFrame._construct_axes_dict(axes: Sequence[int | Literal[\"index\", \"columns\", \"rows\"]] | None = None, **kwargs) -> Unknown", "documentation": {"kind": "plaintext", "value": "Return an axes dictionary for myself.\n"}, "kind": 2, "label": "_construct_axes_dict", "sortText": "329"}, {"detail": "bound method DataFrame._construct_result(result) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Wrap the result of an arithmetic, comparison, or logical operation.\n\nParameters\n----------\nresult : DataFrame\n\nReturns\n-------\nDataFrame\n"}, "kind": 2, "label": "_construct_result", "sortText": "330"}, {"detail": "(...) -> DataFrame", "kind": 3, "label": "_constructor", "sortText": "331"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_constructor_expanddim", "sortText": "332"}, {"detail": "bound method DataFrame._constructor_from_mgr(mgr, axes) -> DataFrame", "kind": 2, "label": "_constructor_from_mgr", "sortText": "333"}, {"detail": "(...) -> Series", "kind": 3, "label": "_constructor_sliced", "sortText": "334"}, {"detail": "bound method DataFrame._constructor_sliced_from_mgr(mgr, axes) -> Series", "kind": 2, "label": "_constructor_sliced_from_mgr", "sortText": "335"}, {"detail": "bound method DataFrame._create_data_for_split_and_tight_to_dict(are_all_object_dtype_cols: bool, object_dtype_indices: list[int]) -> list[Unknown]", "documentation": {"kind": "plaintext", "value": "Simple helper method to create data for to ``to_dict(orient=\"split\")`` and\n``to_dict(orient=\"tight\")`` to create the main output data\n"}, "kind": 2, "label": "_create_data_for_split_and_tight_to_dict", "sortText": "336"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_data", "sortText": "337"}, {"detail": "bound method DataFrame._deprecate_downcast(downcast, method_name: str) -> Unknown", "kind": 2, "label": "_deprecate_downcast", "sortText": "338"}, {"detail": "bound method DataFrame._dir_additions() -> set[str]", "documentation": {"kind": "plaintext", "value": "add the string-like attributes from the info_axis.\nIf info_axis is a MultiIndex, its first level values are used.\n"}, "kind": 2, "label": "_dir_additions", "sortText": "339"}, {"detail": "bound method DataFrame._dir_deletions() -> set[str]", "documentation": {"kind": "plaintext", "value": "Delete unwanted __dir__ for this object.\n"}, "kind": 2, "label": "_dir_deletions", "sortText": "340"}, {"detail": "bound method DataFrame._dispatch_frame_op(right, func: (...) -> Unknown, axis: int | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Evaluate the frame operation func(left, right) by evaluating\ncolumn-by-column, dispatching to the Series implementation.\n\nParameters\n----------\nright : scalar, Series, or DataFrame\nfunc : arithmetic or comparison operator\naxis : {None, 0, 1}\n\nReturns\n-------\nDataFrame\n\nNotes\n-----\nCaller is responsible for setting np.errstate where relevant.\n"}, "kind": 2, "label": "_dispatch_frame_op", "sortText": "341"}, {"detail": "bound method DataFrame._drop_axis(labels, axis, level=None, errors: Literal[\"ignore\", \"raise\"] = \"raise\", only_slice: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Drop labels from specified axis. Used in the ``drop`` method\ninternally.\n\nParameters\n----------\nlabels : single label or list-like\naxis : int or axis name\nlevel : int or level name, default None\n For MultiIndex\nerrors : {'ignore', 'raise'}, default 'raise'\n If 'ignore', suppress error and existing labels are dropped.\nonly_slice : bool, default False\n Whether indexing along columns should be view-only.\n"}, "kind": 2, "label": "_drop_axis", "sortText": "342"}, {"detail": "bound method DataFrame._drop_labels_or_levels(keys, axis: int = 0) -> Unknown", "documentation": {"kind": "plaintext", "value": "Drop labels and/or levels for the given `axis`.\n\nFor each key in `keys`:\n - (axis=0): If key matches a column label then drop the column.\n Otherwise if key matches an index level then drop the level.\n - (axis=1): If key matches an index label then drop the row.\n Otherwise if key matches a column level then drop the level.\n\nParameters\n----------\nkeys : str or list of str\n labels or levels to drop\naxis : int, default 0\n Axis that levels are associated with (0 for index, 1 for columns)\n\nReturns\n-------\ndropped: DataFrame\n\nRaises\n------\nValueError\n if any `keys` match neither a label nor a level\n"}, "kind": 2, "label": "_drop_labels_or_levels", "sortText": "343"}, {"detail": "bound method DataFrame._ensure_valid_index(value) -> None", "documentation": {"kind": "plaintext", "value": "Ensure that if we don't have an index, that we can create one from the\npassed value.\n"}, "kind": 2, "label": "_ensure_valid_index", "sortText": "344"}, {"detail": "bound method DataFrame._find_valid_index(*, how: str) -> Hashable", "documentation": {"kind": "plaintext", "value": "Retrieves the index of the first valid value.\n\nParameters\n----------\nhow : {'first', 'last'}\n Use this parameter to change between the first or last valid index.\n\nReturns\n-------\nidx_first_valid : type of index\n"}, "kind": 2, "label": "_find_valid_index", "sortText": "345"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_flags", "sortText": "346"}, {"detail": "bound method DataFrame._flex_arith_method(other, op, *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> Unknown", "kind": 2, "label": "_flex_arith_method", "sortText": "347"}, {"detail": "bound method DataFrame._flex_cmp_method(other, op, *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> Unknown", "kind": 2, "label": "_flex_cmp_method", "sortText": "348"}, {"detail": "bound method type[DataFrame]._from_arrays(arrays, columns, index, dtype: ExtensionDtype | str | dtype[Any] | type | None = None, verify_integrity: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Create DataFrame from a list of arrays corresponding to the columns.\n\nParameters\n----------\narrays : list-like of arrays\n Each array in the list corresponds to one column, in order.\ncolumns : list-like, Index\n The column names for the resulting DataFrame.\nindex : list-like, Index\n The rows labels for the resulting DataFrame.\ndtype : dtype, optional\n Optional dtype to enforce for all arrays.\nverify_integrity : bool, default True\n Validate and homogenize all input. If set to False, it is assumed\n that all elements of `arrays` are actual arrays how they will be\n stored in a block (numpy ndarray or ExtensionArray), have the same\n length as and are aligned with the index, and that `columns` and\n `index` are ensured to be an Index object.\n\nReturns\n-------\nDataFrame\n"}, "kind": 2, "label": "_from_arrays", "sortText": "349"}, {"detail": "bound method type[DataFrame]._from_mgr(mgr: ArrayManager | SingleArrayManager | BlockManager | SingleBlockManager, axes: list[Index]) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Construct a new object of this type from a Manager object and axes.\n\nParameters\n----------\nmgr : Manager\n Must have the same ndim as cls.\naxes : list[Index]\n\nNotes\n-----\nThe axes must match mgr.axes, but are required for future-proofing\nin the event that axes are refactored out of the Manager objects.\n"}, "kind": 2, "label": "_from_mgr", "sortText": "350"}, {"detail": "bound method DataFrame._get_agg_axis(axis_num: int) -> Index", "documentation": {"kind": "plaintext", "value": "Let's be explicit about this.\n"}, "kind": 2, "label": "_get_agg_axis", "sortText": "351"}, {"detail": "bound method DataFrame._get_axis(axis: int | Literal[\"index\", \"columns\", \"rows\"]) -> Index", "kind": 2, "label": "_get_axis", "sortText": "352"}, {"detail": "bound method type[DataFrame]._get_axis_name(axis: int | Literal[\"index\", \"columns\", \"rows\"]) -> Literal[\"index\", \"columns\"]", "kind": 2, "label": "_get_axis_name", "sortText": "353"}, {"detail": "bound method type[DataFrame]._get_axis_number(axis: int | Literal[\"index\", \"columns\", \"rows\"]) -> int", "kind": 2, "label": "_get_axis_number", "sortText": "354"}, {"detail": "bound method DataFrame._get_axis_resolvers(axis: str) -> dict[str, Series | MultiIndex]", "kind": 2, "label": "_get_axis_resolvers", "sortText": "355"}, {"detail": "bound method type[DataFrame]._get_block_manager_axis(axis: int | Literal[\"index\", \"columns\", \"rows\"]) -> int", "documentation": {"kind": "plaintext", "value": "Map the axis to the block_manager axis.\n"}, "kind": 2, "label": "_get_block_manager_axis", "sortText": "356"}, {"detail": "bound method DataFrame._get_bool_data() -> Unknown", "kind": 2, "label": "_get_bool_data", "sortText": "357"}, {"detail": "bound method DataFrame._get_cleaned_column_resolvers() -> dict[Hashable, Series]", "documentation": {"kind": "plaintext", "value": "Return the special character free column resolvers of a dataframe.\n\nColumn names with special characters are 'cleaned up' so that they can\nbe referred to by backtick quoting.\nUsed in :meth:`DataFrame.eval`.\n"}, "kind": 2, "label": "_get_cleaned_column_resolvers", "sortText": "358"}, {"detail": "bound method DataFrame._get_column_array(i: int) -> ExtensionArray | ndarray[_AnyShape, dtype[Any]]", "documentation": {"kind": "plaintext", "value": "Get the values of the i'th column (ndarray or ExtensionArray, as stored\nin the Block)\n\nWarning! The returned array is a view but doesn't handle Copy-on-Write,\nso this should be used with caution (for read-only purposes).\n"}, "kind": 2, "label": "_get_column_array", "sortText": "359"}, {"detail": "bound method DataFrame._get_index_resolvers() -> dict[Hashable, Series | MultiIndex]", "kind": 2, "label": "_get_index_resolvers", "sortText": "360"}, {"detail": "bound method DataFrame._get_item_cache(item: Hashable) -> Series", "documentation": {"kind": "plaintext", "value": "Return the cached item, item represents a label indexer.\n"}, "kind": 2, "label": "_get_item_cache", "sortText": "361"}, {"detail": "bound method DataFrame._get_label_or_level_values(key: Hashable, axis: int = 0) -> ExtensionArray | ndarray[_AnyShape, dtype[Any]]", "documentation": {"kind": "plaintext", "value": "Return a 1-D array of values associated with `key`, a label or level\nfrom the given `axis`.\n\nRetrieval logic:\n - (axis=0): Return column values if `key` matches a column label.\n Otherwise return index level values if `key` matches an index\n level.\n - (axis=1): Return row values if `key` matches an index label.\n Otherwise return column level values if 'key' matches a column\n level\n\nParameters\n----------\nkey : Hashable\n Label or level name.\naxis : int, default 0\n Axis that levels are associated with (0 for index, 1 for columns)\n\nReturns\n-------\nnp.ndarray or ExtensionArray\n\nRaises\n------\nKeyError\n if `key` matches neither a label nor a level\nValueError\n if `key` matches multiple labels\n"}, "kind": 2, "label": "_get_label_or_level_values", "sortText": "362"}, {"detail": "bound method DataFrame._get_numeric_data() -> DataFrame", "kind": 2, "label": "_get_numeric_data", "sortText": "363"}, {"detail": "bound method DataFrame._get_value(index, col, takeable: bool = False) -> str | float | Period | ... omitted 5 union elements", "documentation": {"kind": "plaintext", "value": "Quickly retrieve single value at passed column and index.\n\nParameters\n----------\nindex : row label\ncol : column label\ntakeable : interpret the index/col as indexers, default False\n\nReturns\n-------\nscalar\n\nNotes\n-----\nAssumes that both `self.index._index_as_unique` and\n`self.columns._index_as_unique`; Caller is responsible for checking.\n"}, "kind": 2, "label": "_get_value", "sortText": "364"}, {"detail": "bound method DataFrame._get_values_for_csv(*, float_format: str | ((...) -> Unknown) | EngFormatter | None, date_format: str | None, decimal: str, na_rep: str, quoting) -> DataFrame", "kind": 2, "label": "_get_values_for_csv", "sortText": "365"}, {"detail": "bound method DataFrame._getitem_bool_array(key) -> Unknown", "kind": 2, "label": "_getitem_bool_array", "sortText": "366"}, {"detail": "bound method DataFrame._getitem_multilevel(key) -> Unknown", "kind": 2, "label": "_getitem_multilevel", "sortText": "367"}, {"detail": "bound method DataFrame._getitem_nocopy(key: list[Unknown]) -> Unknown", "documentation": {"kind": "plaintext", "value": "Behaves like __getitem__, but returns a view in cases where __getitem__\nwould make a copy.\n"}, "kind": 2, "label": "_getitem_nocopy", "sortText": "368"}, {"detail": "bound method DataFrame._getitem_slice(key: slice[Any, Any, Any]) -> DataFrame", "documentation": {"kind": "plaintext", "value": "__getitem__ for the case where the key is a slice object.\n"}, "kind": 2, "label": "_getitem_slice", "sortText": "369"}, {"detail": "bound method DataFrame._gotitem(key: Hashable | Sequence[Hashable], ndim: int, subset: DataFrame | Series | None = None) -> DataFrame | Series", "documentation": {"kind": "plaintext", "value": "Sub-classes to define. Return a sliced object.\n\nParameters\n----------\nkey : string / list of selections\nndim : {1, 2}\n requested ndim of result\nsubset : object, default None\n subset to act on\n"}, "kind": 2, "label": "_gotitem", "sortText": "370"}, {"detail": "frozenset[str]", "documentation": {"kind": "plaintext", "value": "Build an immutable unordered collection of unique elements.\n"}, "kind": 22, "label": "_hidden_attrs", "sortText": "371"}, {"detail": "bound method DataFrame._indexed_same(other) -> bool", "kind": 2, "label": "_indexed_same", "sortText": "372"}, {"detail": "Index", "documentation": {"kind": "plaintext", "value": "Immutable sequence used for indexing and alignment.\n\nThe basic object storing axis labels for all pandas objects.\n\n.. versionchanged:: 2.0.0\n\n Index can hold all numpy numeric dtypes (except float16). Previously only\n int64/uint64/float64 dtypes were accepted.\n\nParameters\n----------\ndata : array-like (1-dimensional)\ndtype : str, numpy.dtype, or ExtensionDtype, optional\n Data type for the output Index. If not specified, this will be\n inferred from `data`.\n See the :ref:`user guide ` for more usages.\ncopy : bool, default False\n Copy input data.\nname : object\n Name to be stored in the index.\ntupleize_cols : bool (default: True)\n When True, attempt to create a MultiIndex if possible.\n\nSee Also\n--------\nRangeIndex : Index implementing a monotonic integer range.\nCategoricalIndex : Index of :class:`Categorical` s.\nMultiIndex : A multi-level, or hierarchical Index.\nIntervalIndex : An Index of :class:`Interval` s.\nDatetimeIndex : Index of datetime64 data.\nTimedeltaIndex : Index of timedelta64 data.\nPeriodIndex : Index of Period data.\n\nNotes\n-----\nAn Index instance can **only** contain hashable objects.\nAn Index instance *can not* hold numpy float16 dtype.\n\nExamples\n--------\n>>> pd.Index([1, 2, 3])\nIndex([1, 2, 3], dtype='int64')\n\n>>> pd.Index(list('abc'))\nIndex(['a', 'b', 'c'], dtype='object')\n\n>>> pd.Index([1, 2, 3], dtype=\"uint8\")\nIndex([1, 2, 3], dtype='uint8')\n"}, "kind": 22, "label": "_info_axis", "sortText": "373"}, {"detail": "Literal[\"columns\", \"index\"]", "kind": 12, "label": "_info_axis_name", "sortText": "374"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "_info_axis_number", "sortText": "375"}, {"detail": "bound method DataFrame._info_repr() -> bool", "documentation": {"kind": "plaintext", "value": "True if the repr should show the info view.\n"}, "kind": 2, "label": "_info_repr", "sortText": "376"}, {"detail": "bound method type[DataFrame]._init_mgr(mgr: ArrayManager | SingleArrayManager | BlockManager | SingleBlockManager, axes: dict[Literal[\"index\", \"columns\"], ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements], dtype: dtype[Any] | ExtensionDtype | None = None, copy: bool = False) -> ArrayManager | SingleArrayManager | BlockManager | SingleBlockManager", "documentation": {"kind": "plaintext", "value": "passed a manager and a axes dict\n"}, "kind": 2, "label": "_init_mgr", "sortText": "377"}, {"detail": "bound method DataFrame._inplace_method(other, op) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Wrap arithmetic method to operate inplace.\n"}, "kind": 2, "label": "_inplace_method", "sortText": "378"}, {"detail": "list[str]", "documentation": {"kind": "plaintext", "value": "Built-in mutable sequence.\n\nIf no argument is given, the constructor creates a new empty list.\nThe argument must be an iterable if specified.\n"}, "kind": 22, "label": "_internal_names", "sortText": "379"}, {"detail": "set[str]", "documentation": {"kind": "plaintext", "value": "Build an unordered collection of unique elements.\n"}, "kind": 22, "label": "_internal_names_set", "sortText": "380"}, {"detail": "ReferenceType[NDFrame] | str | None", "kind": 22, "label": "_is_copy", "sortText": "381"}, {"detail": "bool", "documentation": {"kind": "plaintext", "value": "Returns True when the argument is true, False otherwise.\nThe builtins True and False are the only two instances of the class bool.\nThe class bool is a subclass of the class int, and cannot be subclassed.\n"}, "kind": 22, "label": "_is_homogeneous_type", "sortText": "382"}, {"detail": "bound method DataFrame._is_label_or_level_reference(key: Hashable, axis: int = 0) -> bool", "documentation": {"kind": "plaintext", "value": "Test whether a key is a label or level reference for a given axis.\n\nTo be considered either a label or a level reference, `key` must be a\nstring that:\n - (axis=0): Matches a column label or an index level\n - (axis=1): Matches an index label or a column level\n\nParameters\n----------\nkey : Hashable\n Potential label or level name\naxis : int, default 0\n Axis that levels are associated with (0 for index, 1 for columns)\n\nReturns\n-------\nbool\n"}, "kind": 2, "label": "_is_label_or_level_reference", "sortText": "383"}, {"detail": "bound method DataFrame._is_label_reference(key: Hashable, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> bool", "documentation": {"kind": "plaintext", "value": "Test whether a key is a label reference for a given axis.\n\nTo be considered a label reference, `key` must be a string that:\n - (axis=0): Matches a column label\n - (axis=1): Matches an index label\n\nParameters\n----------\nkey : Hashable\n Potential label name, i.e. Index entry.\naxis : int, default 0\n Axis perpendicular to the axis that labels are associated with\n (0 means search for column labels, 1 means search for index labels)\n\nReturns\n-------\nis_label: bool\n"}, "kind": 2, "label": "_is_label_reference", "sortText": "384"}, {"detail": "bound method DataFrame._is_level_reference(key: Hashable, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> bool", "documentation": {"kind": "plaintext", "value": "Test whether a key is a level reference for a given axis.\n\nTo be considered a level reference, `key` must be a string that:\n - (axis=0): Matches the name of an index level and does NOT match\n a column label.\n - (axis=1): Matches the name of a column level and does NOT match\n an index label.\n\nParameters\n----------\nkey : Hashable\n Potential level name for the given axis\naxis : int, default 0\n Axis that levels are associated with (0 for index, 1 for columns)\n\nReturns\n-------\nis_level : bool\n"}, "kind": 2, "label": "_is_level_reference", "sortText": "385"}, {"detail": "bool", "documentation": {"kind": "plaintext", "value": "Returns True when the argument is true, False otherwise.\nThe builtins True and False are the only two instances of the class bool.\nThe class bool is a subclass of the class int, and cannot be subclassed.\n"}, "kind": 22, "label": "_is_mixed_type", "sortText": "386"}, {"detail": "bool", "documentation": {"kind": "plaintext", "value": "Returns True when the argument is true, False otherwise.\nThe builtins True and False are the only two instances of the class bool.\nThe class bool is a subclass of the class int, and cannot be subclassed.\n"}, "kind": 22, "label": "_is_view", "sortText": "387"}, {"detail": "bound method DataFrame._is_view_after_cow_rules() -> Unknown", "kind": 2, "label": "_is_view_after_cow_rules", "sortText": "388"}, {"detail": "bound method DataFrame._iset_item(loc: int, value: Series, inplace: bool = True) -> None", "kind": 2, "label": "_iset_item", "sortText": "389"}, {"detail": "bound method DataFrame._iset_item_mgr(loc: int | slice[Any, Any, Any] | ndarray[_AnyShape, dtype[Any]], value, inplace: bool = False, refs: BlockValuesRefs | None = None) -> None", "kind": 2, "label": "_iset_item_mgr", "sortText": "390"}, {"detail": "bound method DataFrame._iset_not_inplace(key, value) -> Unknown", "kind": 2, "label": "_iset_not_inplace", "sortText": "391"}, {"detail": "dict[Hashable, Series]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "_item_cache", "sortText": "392"}, {"detail": "bound method DataFrame._iter_column_arrays() -> Iterator[ExtensionArray | ndarray[_AnyShape, dtype[Any]]]", "documentation": {"kind": "plaintext", "value": "Iterate over the arrays of all columns in order.\nThis returns the values as stored in the Block (ndarray or ExtensionArray).\n\nWarning! The returned array is a view but doesn't handle Copy-on-Write,\nso this should be used with caution (for read-only purposes).\n"}, "kind": 2, "label": "_iter_column_arrays", "sortText": "393"}, {"detail": "bound method DataFrame._ixs(i: int, axis: int = 0) -> Series", "documentation": {"kind": "plaintext", "value": "Parameters\n----------\ni : int\naxis : int\n\nReturns\n-------\nSeries\n"}, "kind": 2, "label": "_ixs", "sortText": "394"}, {"detail": "bound method DataFrame._logical_func(name: str, func, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, bool_only: bool = False, skipna: bool = True, **kwargs) -> Series | bool", "kind": 2, "label": "_logical_func", "sortText": "395"}, {"detail": "(other, op) -> Unknown", "kind": 2, "label": "_logical_method", "sortText": "396"}, {"detail": "bound method DataFrame._maybe_align_series_as_frame(series: Series, axis: int) -> Unknown", "documentation": {"kind": "plaintext", "value": "If the Series operand is not EA-dtype, we can broadcast to 2D and operate\nblockwise.\n"}, "kind": 2, "label": "_maybe_align_series_as_frame", "sortText": "397"}, {"detail": "bound method DataFrame._maybe_cache_changed(item, value: Series, inplace: bool) -> None", "documentation": {"kind": "plaintext", "value": "The object has called back to us saying maybe it has changed.\n"}, "kind": 2, "label": "_maybe_cache_changed", "sortText": "398"}, {"detail": "bound method DataFrame._maybe_update_cacher(clear: bool = False, verify_is_copy: bool = True, inplace: bool = False) -> None", "documentation": {"kind": "plaintext", "value": "See if we need to update our parent cacher if clear, then clear our\ncache.\n\nParameters\n----------\nclear : bool, default False\n Clear the item cache.\nverify_is_copy : bool, default True\n Provide is_copy checks.\n"}, "kind": 2, "label": "_maybe_update_cacher", "sortText": "399"}, {"detail": "list[str]", "documentation": {"kind": "plaintext", "value": "Built-in mutable sequence.\n\nIf no argument is given, the constructor creates a new empty list.\nThe argument must be an iterable if specified.\n"}, "kind": 22, "label": "_metadata", "sortText": "400"}, {"detail": "BlockManager | ArrayManager", "kind": 22, "label": "_mgr", "sortText": "401"}, {"detail": "bound method DataFrame._min_count_stat_function(name: str, func, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None | _NoDefault = ..., skipna: bool = True, numeric_only: bool = False, min_count: int = 0, **kwargs) -> Unknown", "kind": 2, "label": "_min_count_stat_function", "sortText": "402"}, {"detail": "bound method DataFrame._needs_reindex_multi(axes, method, level: Hashable) -> bool", "documentation": {"kind": "plaintext", "value": "Check if we do need a multi reindex.\n"}, "kind": 2, "label": "_needs_reindex_multi", "sortText": "403"}, {"detail": "bound method DataFrame._pad_or_backfill(method: Literal[\"ffill\", \"bfill\", \"pad\", \"backfill\"], *, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = None, inplace: bool = False, limit: None | int = None, limit_area: Literal[\"inside\", \"outside\"] | None = None, downcast: dict[Unknown, Unknown] | None = None) -> Unknown", "kind": 2, "label": "_pad_or_backfill", "sortText": "404"}, {"detail": "bound method DataFrame._protect_consolidate(f) -> Unknown", "documentation": {"kind": "plaintext", "value": "Consolidate _mgr -- if the blocks have changed, then clear the\ncache\n"}, "kind": 2, "label": "_protect_consolidate", "sortText": "405"}, {"detail": "bound method DataFrame._reduce(op, name: str, *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, skipna: bool = True, numeric_only: bool = False, filter_type=None, **kwds) -> Unknown", "kind": 2, "label": "_reduce", "sortText": "406"}, {"detail": "bound method DataFrame._reduce_axis1(name: str, func, skipna: bool) -> Series", "documentation": {"kind": "plaintext", "value": "Special case for _reduce to try to avoid a potentially-expensive transpose.\n\nApply the reduction block-wise along axis=1 and then reduce the resulting\n1D arrays.\n"}, "kind": 2, "label": "_reduce_axis1", "sortText": "407"}, {"detail": "bound method DataFrame._reindex_axes(axes, level: Hashable, limit: int | None, tolerance, method, fill_value: str | float | Period | ... omitted 6 union elements, copy: bool | None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Perform the reindex for all the axes.\n"}, "kind": 2, "label": "_reindex_axes", "sortText": "408"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_reindex_indexer", "sortText": "409"}, {"detail": "bound method DataFrame._reindex_multi(axes: dict[str, Index], copy: bool, fill_value) -> DataFrame", "documentation": {"kind": "plaintext", "value": "We are guaranteed non-Nones in the axes.\n"}, "kind": 2, "label": "_reindex_multi", "sortText": "410"}, {"detail": "bound method DataFrame._reindex_with_indexers(reindexers, fill_value=None, copy: bool | None = False, allow_dups: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "allow_dups indicates an internal call here\n"}, "kind": 2, "label": "_reindex_with_indexers", "sortText": "411"}, {"detail": "bound method DataFrame._rename(mapper: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = None, *, index: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = None, columns: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, copy: bool | None = None, inplace: bool = False, level: Hashable = None, errors: str = \"ignore\") -> DataFrame | None", "kind": 2, "label": "_rename", "sortText": "412"}, {"detail": "bound method DataFrame._replace_columnwise(mapping: dict[Hashable, tuple[Any, Any]], inplace: bool, regex) -> Unknown", "documentation": {"kind": "plaintext", "value": "Dispatch to Series.replace column-wise.\n\nParameters\n----------\nmapping : dict\n of the form {col: (target, value)}\ninplace : bool\nregex : bool or same types as `to_replace` in DataFrame.replace\n\nReturns\n-------\nDataFrame or None\n"}, "kind": 2, "label": "_replace_columnwise", "sortText": "413"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_replace_single", "sortText": "414"}, {"detail": "bound method DataFrame._repr_data_resource_() -> Unknown", "documentation": {"kind": "plaintext", "value": "Not a real Jupyter special repr method, but we use the same\nnaming convention.\n"}, "kind": 2, "label": "_repr_data_resource_", "sortText": "415"}, {"detail": "bound method DataFrame._repr_fits_horizontal_() -> bool", "documentation": {"kind": "plaintext", "value": "Check if full repr fits in horizontal boundaries imposed by the display\noptions width and max_columns.\n"}, "kind": 2, "label": "_repr_fits_horizontal_", "sortText": "416"}, {"detail": "bound method DataFrame._repr_fits_vertical_() -> bool", "documentation": {"kind": "plaintext", "value": "Check length against max_rows.\n"}, "kind": 2, "label": "_repr_fits_vertical_", "sortText": "417"}, {"detail": "bound method DataFrame._repr_html_() -> str | None", "documentation": {"kind": "plaintext", "value": "Return a html representation for a particular DataFrame.\n\nMainly for IPython notebook.\n"}, "kind": 2, "label": "_repr_html_", "sortText": "418"}, {"detail": "bound method DataFrame._repr_latex_() -> Unknown", "documentation": {"kind": "plaintext", "value": "Returns a LaTeX representation for a particular object.\nMainly for use with nbconvert (jupyter notebook conversion to pdf).\n"}, "kind": 2, "label": "_repr_latex_", "sortText": "419"}, {"detail": "bound method DataFrame._reset_cache(key: str | None = None) -> None", "documentation": {"kind": "plaintext", "value": "Reset cached properties. If ``key`` is passed, only clears that key.\n"}, "kind": 2, "label": "_reset_cache", "sortText": "420"}, {"detail": "bound method DataFrame._reset_cacher() -> None", "kind": 2, "label": "_reset_cacher", "sortText": "421"}, {"detail": "bound method DataFrame._sanitize_column(value) -> tuple[ExtensionArray | ndarray[_AnyShape, dtype[Any]], BlockValuesRefs | None]", "documentation": {"kind": "plaintext", "value": "Ensures new columns (which go into the BlockManager as new blocks) are\nalways copied (or a reference is being tracked to them under CoW)\nand converted into an array.\n\nParameters\n----------\nvalue : scalar, Series, or array-like\n\nReturns\n-------\ntuple of numpy.ndarray or ExtensionArray and optional BlockValuesRefs\n"}, "kind": 2, "label": "_sanitize_column", "sortText": "422"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_series", "sortText": "423"}, {"detail": "bound method DataFrame._set_axis(axis: int, labels: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | Series | list[Unknown]) -> None", "documentation": {"kind": "plaintext", "value": "This is called from the cython code when we set the `index` attribute\ndirectly, e.g. `series.index = [1, 2, 3]`.\n"}, "kind": 2, "label": "_set_axis", "sortText": "424"}, {"detail": "bound method DataFrame._set_axis_name(name, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, inplace: bool = False, copy: bool | None = True) -> Unknown", "documentation": {"kind": "plaintext", "value": "Set the name(s) of the axis.\n\nParameters\n----------\nname : str or list of str\n Name(s) to set.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to set the label. The value 0 or 'index' specifies index,\n and the value 1 or 'columns' specifies columns.\ninplace : bool, default False\n If `True`, do operation inplace and return None.\ncopy:\n Whether to make a copy of the result.\n\nReturns\n-------\nSeries, DataFrame, or None\n The same type as the caller or `None` if `inplace` is `True`.\n\nSee Also\n--------\nDataFrame.rename : Alter the axis labels of :class:`DataFrame`.\nSeries.rename : Alter the index labels or set the index name\n of :class:`Series`.\nIndex.rename : Set the name of :class:`Index` or :class:`MultiIndex`.\n\nExamples\n--------\n>>> df = pd.DataFrame({\"num_legs\": [4, 4, 2]},\n... [\"dog\", \"cat\", \"monkey\"])\n>>> df\n num_legs\ndog 4\ncat 4\nmonkey 2\n>>> df._set_axis_name(\"animal\")\n num_legs\nanimal\ndog 4\ncat 4\nmonkey 2\n>>> df.index = pd.MultiIndex.from_product(\n... [[\"mammal\"], ['dog', 'cat', 'monkey']])\n>>> df._set_axis_name([\"type\", \"name\"])\n num_legs\ntype name\nmammal dog 4\n cat 4\n monkey 2\n"}, "kind": 2, "label": "_set_axis_name", "sortText": "425"}, {"detail": "bound method DataFrame._set_axis_nocheck(labels, axis: int | Literal[\"index\", \"columns\", \"rows\"], inplace: bool, copy: bool | None) -> Unknown", "kind": 2, "label": "_set_axis_nocheck", "sortText": "426"}, {"detail": "bound method DataFrame._set_is_copy(ref: NDFrame, copy: bool = True) -> None", "kind": 2, "label": "_set_is_copy", "sortText": "427"}, {"detail": "bound method DataFrame._set_item(key, value) -> None", "documentation": {"kind": "plaintext", "value": "Add series to DataFrame in specified column.\n\nIf series is a numpy-array (not a Series/TimeSeries), it must be the\nsame length as the DataFrames index or an error will be thrown.\n\nSeries/TimeSeries will be conformed to the DataFrames index to\nensure homogeneity.\n"}, "kind": 2, "label": "_set_item", "sortText": "428"}, {"detail": "bound method DataFrame._set_item_frame_value(key, value: DataFrame) -> None", "kind": 2, "label": "_set_item_frame_value", "sortText": "429"}, {"detail": "bound method DataFrame._set_item_mgr(key, value: ExtensionArray | ndarray[_AnyShape, dtype[Any]], refs: BlockValuesRefs | None = None) -> None", "kind": 2, "label": "_set_item_mgr", "sortText": "430"}, {"detail": "bound method DataFrame._set_value(index: Hashable | Sequence[Hashable], col, value: str | float | Period | ... omitted 5 union elements, takeable: bool = False) -> None", "documentation": {"kind": "plaintext", "value": "Put single value at passed column and index.\n\nParameters\n----------\nindex : Label\n row label\ncol : Label\n column label\nvalue : scalar\ntakeable : bool, default False\n Sets whether or not index/col interpreted as indexers\n"}, "kind": 2, "label": "_set_value", "sortText": "431"}, {"detail": "bound method DataFrame._setitem_array(key, value) -> Unknown", "kind": 2, "label": "_setitem_array", "sortText": "432"}, {"detail": "bound method DataFrame._setitem_frame(key, value) -> Unknown", "kind": 2, "label": "_setitem_frame", "sortText": "433"}, {"detail": "bound method DataFrame._setitem_slice(key: slice[Any, Any, Any], value) -> None", "kind": 2, "label": "_setitem_slice", "sortText": "434"}, {"detail": "bound method DataFrame._shift_with_freq(periods: int, axis: int, freq) -> DataFrame", "kind": 2, "label": "_shift_with_freq", "sortText": "435"}, {"detail": "bound method DataFrame._should_reindex_frame_op(right, op, axis: int, fill_value, level) -> bool", "documentation": {"kind": "plaintext", "value": "Check if this is an operation between DataFrames that will need to reindex.\n"}, "kind": 2, "label": "_should_reindex_frame_op", "sortText": "436"}, {"detail": "bound method DataFrame._slice(slobj: slice[Any, Any, Any], axis: int = 0) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Construct a slice of this container.\n\nSlicing with this method is *always* positional.\n"}, "kind": 2, "label": "_slice", "sortText": "437"}, {"detail": "bound method DataFrame._stat_function(name: str, func, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "_stat_function", "sortText": "438"}, {"detail": "bound method DataFrame._stat_function_ddof(name: str, func, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None | _NoDefault = ..., skipna: bool = True, ddof: int = 1, numeric_only: bool = False, **kwargs) -> Series | float", "kind": 2, "label": "_stat_function_ddof", "sortText": "439"}, {"detail": "bound method DataFrame._take_with_is_copy(indices, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Internal version of the `take` method that sets the `_is_copy`\nattribute to keep track of the parent dataframe (using in indexing\nfor the SettingWithCopyWarning).\n\nFor Series this does the same as the public take (it never sets `_is_copy`).\n\nSee the docstring of `take` for full explanation of the parameters.\n"}, "kind": 2, "label": "_take_with_is_copy", "sortText": "440"}, {"detail": "bound method DataFrame._to_dict_of_blocks() -> Unknown", "documentation": {"kind": "plaintext", "value": "Return a dict of dtype -> Constructor Types that\neach is a homogeneous dtype.\n\nInternal ONLY - only works for BlockManager\n"}, "kind": 2, "label": "_to_dict_of_blocks", "sortText": "441"}, {"detail": "bound method DataFrame._to_latex_via_styler(buf=None, *, hide: dict[Unknown, Unknown] | list[dict[Unknown, Unknown]] | None = None, relabel_index: dict[Unknown, Unknown] | list[dict[Unknown, Unknown]] | None = None, format: dict[Unknown, Unknown] | list[dict[Unknown, Unknown]] | None = None, format_index: dict[Unknown, Unknown] | list[dict[Unknown, Unknown]] | None = None, render_kwargs: dict[Unknown, Unknown] | None = None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Render object to a LaTeX tabular, longtable, or nested table.\n\nUses the ``Styler`` implementation with the following, ordered, method chaining:\n\n.. code-block:: python\n styler = Styler(DataFrame)\n styler.hide(**hide)\n styler.relabel_index(**relabel_index)\n styler.format(**format)\n styler.format_index(**format_index)\n styler.to_latex(buf=buf, **render_kwargs)\n\nParameters\n----------\nbuf : str, Path or StringIO-like, optional, default None\n Buffer to write to. If None, the output is returned as a string.\nhide : dict, list of dict\n Keyword args to pass to the method call of ``Styler.hide``. If a list will\n call the method numerous times.\nrelabel_index : dict, list of dict\n Keyword args to pass to the method of ``Styler.relabel_index``. If a list\n will call the method numerous times.\nformat : dict, list of dict\n Keyword args to pass to the method call of ``Styler.format``. If a list will\n call the method numerous times.\nformat_index : dict, list of dict\n Keyword args to pass to the method call of ``Styler.format_index``. If a\n list will call the method numerous times.\nrender_kwargs : dict\n Keyword args to pass to the method call of ``Styler.to_latex``.\n\nReturns\n-------\nstr or None\n If buf is None, returns the result as a string. Otherwise returns None.\n"}, "kind": 2, "label": "_to_latex_via_styler", "sortText": "442"}, {"detail": "str", "documentation": {"kind": "plaintext", "value": "str(object='') -> str\nstr(bytes_or_buffer[, encoding[, errors]]) -> str\n\nCreate a new string object from the given object. If encoding or\nerrors is specified, then the object must expose a data buffer\nthat will be decoded using the given encoding and error handler.\nOtherwise, returns the result of object.__str__() (if defined)\nor repr(object).\nencoding defaults to 'utf-8'.\nerrors defaults to 'strict'.\n"}, "kind": 22, "label": "_typ", "sortText": "443"}, {"detail": "bound method DataFrame._update_inplace(result, verify_is_copy: bool = True) -> None", "documentation": {"kind": "plaintext", "value": "Replace self internals with result.\n\nParameters\n----------\nresult : same type as self\nverify_is_copy : bool, default True\n Provide is_copy checks.\n"}, "kind": 2, "label": "_update_inplace", "sortText": "444"}, {"detail": "bound method type[DataFrame]._validate_dtype(dtype) -> dtype[Any] | ExtensionDtype | None", "documentation": {"kind": "plaintext", "value": "validate the passed dtype\n"}, "kind": 2, "label": "_validate_dtype", "sortText": "445"}, {"detail": "ndarray[_AnyShape, dtype[Any]] | DatetimeArray | TimedeltaArray | PeriodArray", "kind": 22, "label": "_values", "sortText": "446"}, {"detail": "bound method DataFrame._where(cond, other=..., inplace: bool = False, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, level=None, warn: bool = True) -> Unknown", "documentation": {"kind": "plaintext", "value": "Equivalent to public method `where`, except that `other` is not\napplied as a function even if callable. Used in __setitem__.\n"}, "kind": 2, "label": "_where", "sortText": "447"}]}} +{"suite": "pandas", "label": "edit dataframe then complete (edit+completion)", "method": "textDocument/completion", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py", "line": 17, "character": 39, "iteration": 3, "result": {"isIncomplete": true, "items": [{"detail": "DataFrame", "documentation": {"kind": "plaintext", "value": "Two-dimensional, size-mutable, potentially heterogeneous tabular data.\n\nData structure also contains labeled axes (rows and columns).\nArithmetic operations align on both row and column labels. Can be\nthought of as a dict-like container for Series objects. The primary\npandas data structure.\n\nParameters\n----------\ndata : ndarray (structured or homogeneous), Iterable, dict, or DataFrame\n Dict can contain Series, arrays, constants, dataclass or list-like objects. If\n data is a dict, column order follows insertion-order. If a dict contains Series\n which have an index defined, it is aligned by its index. This alignment also\n occurs if data is a Series or a DataFrame itself. Alignment is done on\n Series/DataFrame inputs.\n\n If data is a list of dicts, column order follows insertion-order.\n\nindex : Index or array-like\n Index to use for resulting frame. Will default to RangeIndex if\n no indexing information part of input data and no index provided.\ncolumns : Index or array-like\n Column labels to use for resulting frame when data does not have them,\n defaulting to RangeIndex(0, 1, 2, ..., n). If data contains column labels,\n will perform column selection instead.\ndtype : dtype, default None\n Data type to force. Only a single dtype is allowed. If None, infer.\ncopy : bool or None, default None\n Copy data from inputs.\n For dict data, the default of None behaves like ``copy=True``. For DataFrame\n or 2d ndarray input, the default of None behaves like ``copy=False``.\n If data is a dict containing one or more Series (possibly of different dtypes),\n ``copy=False`` will ensure that these inputs are not copied.\n\n .. versionchanged:: 1.3.0\n\nSee Also\n--------\nDataFrame.from_records : Constructor from tuples, also record arrays.\nDataFrame.from_dict : From dicts of Series, arrays, or dicts.\nread_csv : Read a comma-separated values (csv) file into DataFrame.\nread_table : Read general delimited file into DataFrame.\nread_clipboard : Read text from clipboard into DataFrame.\n\nNotes\n-----\nPlease reference the :ref:`User Guide ` for more information.\n\nExamples\n--------\nConstructing DataFrame from a dictionary.\n\n>>> d = {'col1': [1, 2], 'col2': [3, 4]}\n>>> df = pd.DataFrame(data=d)\n>>> df\n col1 col2\n0 1 3\n1 2 4\n\nNotice that the inferred dtype is int64.\n\n>>> df.dtypes\ncol1 int64\ncol2 int64\ndtype: object\n\nTo enforce a single dtype:\n\n>>> df = pd.DataFrame(data=d, dtype=np.int8)\n>>> df.dtypes\ncol1 int8\ncol2 int8\ndtype: object\n\nConstructing DataFrame from a dictionary including Series:\n\n>>> d = {'col1': [0, 1, 2, 3], 'col2': pd.Series([2, 3], index=[2, 3])}\n>>> pd.DataFrame(data=d, index=[0, 1, 2, 3])\n col1 col2\n0 0 NaN\n1 1 NaN\n2 2 2.0\n3 3 3.0\n\nConstructing DataFrame from numpy ndarray:\n\n>>> df2 = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]),\n... columns=['a', 'b', 'c'])\n>>> df2\n a b c\n0 1 2 3\n1 4 5 6\n2 7 8 9\n\nConstructing DataFrame from a numpy ndarray that has labeled columns:\n\n>>> data = np.array([(1, 2, 3), (4, 5, 6), (7, 8, 9)],\n... dtype=[(\"a\", \"i4\"), (\"b\", \"i4\"), (\"c\", \"i4\")])\n>>> df3 = pd.DataFrame(data, columns=['c', 'a'])\n...\n>>> df3\n c a\n0 3 1\n1 6 4\n2 9 7\n\nConstructing DataFrame from dataclass:\n\n>>> from dataclasses import make_dataclass\n>>> Point = make_dataclass(\"Point\", [(\"x\", int), (\"y\", int)])\n>>> pd.DataFrame([Point(0, 0), Point(0, 3), Point(2, 3)])\n x y\n0 0 0\n1 0 3\n2 2 3\n\nConstructing DataFrame from Series/DataFrame:\n\n>>> ser = pd.Series([1, 2, 3], index=[\"a\", \"b\", \"c\"])\n>>> df = pd.DataFrame(data=ser, index=[\"a\", \"c\"])\n>>> df\n 0\na 1\nc 3\n\n>>> df1 = pd.DataFrame([1, 2, 3], index=[\"a\", \"b\", \"c\"], columns=[\"x\"])\n>>> df2 = pd.DataFrame(data=df1, index=[\"a\", \"c\"])\n>>> df2\n x\na 1\nc 3\n"}, "kind": 22, "label": "T", "sortText": " 0"}, {"detail": "bound method DataFrame.abs() -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return a Series/DataFrame with absolute numeric value of each element.\n\nThis function only applies to elements that are all numeric.\n\nReturns\n-------\nabs\n Series/DataFrame containing the absolute value of each element.\n\nSee Also\n--------\nnumpy.absolute : Calculate the absolute value element-wise.\n\nNotes\n-----\nFor ``complex`` inputs, ``1.2 + 1j``, the absolute value is\n:math:`\\sqrt{ a^2 + b^2 }`.\n\nExamples\n--------\nAbsolute numeric values in a Series.\n\n>>> s = pd.Series([-1.10, 2, -3.33, 4])\n>>> s.abs()\n0 1.10\n1 2.00\n2 3.33\n3 4.00\ndtype: float64\n\nAbsolute numeric values in a Series with complex numbers.\n\n>>> s = pd.Series([1.2 + 1j])\n>>> s.abs()\n0 1.56205\ndtype: float64\n\nAbsolute numeric values in a Series with a Timedelta element.\n\n>>> s = pd.Series([pd.Timedelta('1 days')])\n>>> s.abs()\n0 1 days\ndtype: timedelta64[ns]\n\nSelect rows with data closest to certain value using argsort (from\n`StackOverflow `__).\n\n>>> df = pd.DataFrame({\n... 'a': [4, 5, 6, 7],\n... 'b': [10, 20, 30, 40],\n... 'c': [100, 50, -30, -50]\n... })\n>>> df\n a b c\n0 4 10 100\n1 5 20 50\n2 6 30 -30\n3 7 40 -50\n>>> df.loc[(df.c - 43).abs().argsort()]\n a b c\n1 5 20 50\n0 4 10 100\n2 6 30 -30\n3 7 40 -50\n"}, "kind": 2, "label": "abs", "sortText": " 1"}, {"detail": "bound method DataFrame.add(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "add", "sortText": " 2"}, {"detail": "bound method DataFrame.add_prefix(prefix: str, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Prefix labels with string `prefix`.\n\nFor Series, the row labels are prefixed.\nFor DataFrame, the column labels are prefixed.\n\nParameters\n----------\nprefix : str\n The string to add before each label.\naxis : {0 or 'index', 1 or 'columns', None}, default None\n Axis to add prefix on\n\n .. versionadded:: 2.0.0\n\nReturns\n-------\nSeries or DataFrame\n New Series or DataFrame with updated labels.\n\nSee Also\n--------\nSeries.add_suffix: Suffix row labels with string `suffix`.\nDataFrame.add_suffix: Suffix column labels with string `suffix`.\n\nExamples\n--------\n>>> s = pd.Series([1, 2, 3, 4])\n>>> s\n0 1\n1 2\n2 3\n3 4\ndtype: int64\n\n>>> s.add_prefix('item_')\nitem_0 1\nitem_1 2\nitem_2 3\nitem_3 4\ndtype: int64\n\n>>> df = pd.DataFrame({'A': [1, 2, 3, 4], 'B': [3, 4, 5, 6]})\n>>> df\n A B\n0 1 3\n1 2 4\n2 3 5\n3 4 6\n\n>>> df.add_prefix('col_')\n col_A col_B\n0 1 3\n1 2 4\n2 3 5\n3 4 6\n"}, "kind": 2, "label": "add_prefix", "sortText": " 3"}, {"detail": "bound method DataFrame.add_suffix(suffix: str, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Suffix labels with string `suffix`.\n\nFor Series, the row labels are suffixed.\nFor DataFrame, the column labels are suffixed.\n\nParameters\n----------\nsuffix : str\n The string to add after each label.\naxis : {0 or 'index', 1 or 'columns', None}, default None\n Axis to add suffix on\n\n .. versionadded:: 2.0.0\n\nReturns\n-------\nSeries or DataFrame\n New Series or DataFrame with updated labels.\n\nSee Also\n--------\nSeries.add_prefix: Prefix row labels with string `prefix`.\nDataFrame.add_prefix: Prefix column labels with string `prefix`.\n\nExamples\n--------\n>>> s = pd.Series([1, 2, 3, 4])\n>>> s\n0 1\n1 2\n2 3\n3 4\ndtype: int64\n\n>>> s.add_suffix('_item')\n0_item 1\n1_item 2\n2_item 3\n3_item 4\ndtype: int64\n\n>>> df = pd.DataFrame({'A': [1, 2, 3, 4], 'B': [3, 4, 5, 6]})\n>>> df\n A B\n0 1 3\n1 2 4\n2 3 5\n3 4 6\n\n>>> df.add_suffix('_col')\n A_col B_col\n0 1 3\n1 2 4\n2 3 5\n3 4 6\n"}, "kind": 2, "label": "add_suffix", "sortText": " 4"}, {"detail": "(func=None, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, *args, **kwargs) -> Unknown", "kind": 2, "label": "agg", "sortText": " 5"}, {"detail": "bound method DataFrame.aggregate(func=None, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, *args, **kwargs) -> Unknown", "kind": 2, "label": "aggregate", "sortText": " 6"}, {"detail": "bound method DataFrame.align[NDFrameT](other: NDFrameT, join: Literal[\"outer\", \"inner\", \"left\", \"right\"] = \"outer\", axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, level: Hashable = None, copy: bool | None = None, fill_value: Hashable = None, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None | _NoDefault = ..., limit: int | None | _NoDefault = ..., fill_axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., broadcast_axis: int | Literal[\"index\", \"columns\", \"rows\"] | None | _NoDefault = ...) -> tuple[DataFrame, NDFrameT]", "documentation": {"kind": "plaintext", "value": "Align two objects on their axes with the specified join method.\n\nJoin method is specified for each axis Index.\n\nParameters\n----------\nother : DataFrame or Series\njoin : {{'outer', 'inner', 'left', 'right'}}, default 'outer'\n Type of alignment to be performed.\n\n * left: use only keys from left frame, preserve key order.\n * right: use only keys from right frame, preserve key order.\n * outer: use union of keys from both frames, sort keys lexicographically.\n * inner: use intersection of keys from both frames,\n preserve the order of the left keys.\n\naxis : allowed axis of the other object, default None\n Align on index (0), columns (1), or both (None).\nlevel : int or level name, default None\n Broadcast across a level, matching Index values on the\n passed MultiIndex level.\ncopy : bool, default True\n Always returns new objects. If copy=False and no reindexing is\n required then original objects are returned.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\nfill_value : scalar, default np.nan\n Value to use for missing values. Defaults to NaN, but can be any\n \"compatible\" value.\nmethod : {{'backfill', 'bfill', 'pad', 'ffill', None}}, default None\n Method to use for filling holes in reindexed Series:\n\n - pad / ffill: propagate last valid observation forward to next valid.\n - backfill / bfill: use NEXT valid observation to fill gap.\n\n .. deprecated:: 2.1\n\nlimit : int, default None\n If method is specified, this is the maximum number of consecutive\n NaN values to forward/backward fill. In other words, if there is\n a gap with more than this number of consecutive NaNs, it will only\n be partially filled. If method is not specified, this is the\n maximum number of entries along the entire axis where NaNs will be\n filled. Must be greater than 0 if not None.\n\n .. deprecated:: 2.1\n\nfill_axis : {axes_single_arg}, default 0\n Filling axis, method and limit.\n\n .. deprecated:: 2.1\n\nbroadcast_axis : {axes_single_arg}, default None\n Broadcast values along this axis, if aligning two objects of\n different dimensions.\n\n .. deprecated:: 2.1\n\nReturns\n-------\ntuple of ({klass}, type of other)\n Aligned objects.\n\nExamples\n--------\n>>> df = pd.DataFrame(\n... [[1, 2, 3, 4], [6, 7, 8, 9]], columns=[\"D\", \"B\", \"E\", \"A\"], index=[1, 2]\n... )\n>>> other = pd.DataFrame(\n... [[10, 20, 30, 40], [60, 70, 80, 90], [600, 700, 800, 900]],\n... columns=[\"A\", \"B\", \"C\", \"D\"],\n... index=[2, 3, 4],\n... )\n>>> df\n D B E A\n1 1 2 3 4\n2 6 7 8 9\n>>> other\n A B C D\n2 10 20 30 40\n3 60 70 80 90\n4 600 700 800 900\n\nAlign on columns:\n\n>>> left, right = df.align(other, join=\"outer\", axis=1)\n>>> left\n A B C D E\n1 4 2 NaN 1 3\n2 9 7 NaN 6 8\n>>> right\n A B C D E\n2 10 20 30 40 NaN\n3 60 70 80 90 NaN\n4 600 700 800 900 NaN\n\nWe can also align on the index:\n\n>>> left, right = df.align(other, join=\"outer\", axis=0)\n>>> left\n D B E A\n1 1.0 2.0 3.0 4.0\n2 6.0 7.0 8.0 9.0\n3 NaN NaN NaN NaN\n4 NaN NaN NaN NaN\n>>> right\n A B C D\n1 NaN NaN NaN NaN\n2 10.0 20.0 30.0 40.0\n3 60.0 70.0 80.0 90.0\n4 600.0 700.0 800.0 900.0\n\nFinally, the default `axis=None` will align on both index and columns:\n\n>>> left, right = df.align(other, join=\"outer\", axis=None)\n>>> left\n A B C D E\n1 4.0 2.0 NaN 1.0 3.0\n2 9.0 7.0 NaN 6.0 8.0\n3 NaN NaN NaN NaN NaN\n4 NaN NaN NaN NaN NaN\n>>> right\n A B C D E\n1 NaN NaN NaN NaN NaN\n2 10.0 20.0 30.0 40.0 NaN\n3 60.0 70.0 80.0 90.0 NaN\n4 600.0 700.0 800.0 900.0 NaN\n"}, "kind": 2, "label": "align", "sortText": " 7"}, {"detail": "bound method DataFrame.all(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, bool_only: bool = False, skipna: bool = True, **kwargs) -> Series | bool", "kind": 2, "label": "all", "sortText": " 8"}, {"detail": "bound method DataFrame.any(*, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, bool_only: bool = False, skipna: bool = True, **kwargs) -> Series | bool", "kind": 2, "label": "any", "sortText": " 9"}, {"detail": "bound method DataFrame.apply(func: ((...) -> Unknown) | str | list[((...) -> Unknown) | str] | MutableMapping[Hashable, ((...) -> Unknown) | str | list[((...) -> Unknown) | str]], axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, raw: bool = False, result_type: Literal[\"expand\", \"reduce\", \"broadcast\"] | None = None, args=..., by_row: Literal[False, \"compat\"] = \"compat\", engine: Literal[\"python\", \"numba\"] = \"python\", engine_kwargs: dict[str, bool] | None = None, **kwargs) -> Unknown", "documentation": {"kind": "plaintext", "value": "Apply a function along an axis of the DataFrame.\n\nObjects passed to the function are Series objects whose index is\neither the DataFrame's index (``axis=0``) or the DataFrame's columns\n(``axis=1``). By default (``result_type=None``), the final return type\nis inferred from the return type of the applied function. Otherwise,\nit depends on the `result_type` argument.\n\nParameters\n----------\nfunc : function\n Function to apply to each column or row.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Axis along which the function is applied:\n\n * 0 or 'index': apply function to each column.\n * 1 or 'columns': apply function to each row.\n\nraw : bool, default False\n Determines if row or column is passed as a Series or ndarray object:\n\n * ``False`` : passes each row or column as a Series to the\n function.\n * ``True`` : the passed function will receive ndarray objects\n instead.\n If you are just applying a NumPy reduction function this will\n achieve much better performance.\n\nresult_type : {'expand', 'reduce', 'broadcast', None}, default None\n These only act when ``axis=1`` (columns):\n\n * 'expand' : list-like results will be turned into columns.\n * 'reduce' : returns a Series if possible rather than expanding\n list-like results. This is the opposite of 'expand'.\n * 'broadcast' : results will be broadcast to the original shape\n of the DataFrame, the original index and columns will be\n retained.\n\n The default behaviour (None) depends on the return value of the\n applied function: list-like results will be returned as a Series\n of those. However if the apply function returns a Series these\n are expanded to columns.\nargs : tuple\n Positional arguments to pass to `func` in addition to the\n array/series.\nby_row : False or \"compat\", default \"compat\"\n Only has an effect when ``func`` is a listlike or dictlike of funcs\n and the func isn't a string.\n If \"compat\", will if possible first translate the func into pandas\n methods (e.g. ``Series().apply(np.sum)`` will be translated to\n ``Series().sum()``). If that doesn't work, will try call to apply again with\n ``by_row=True`` and if that fails, will call apply again with\n ``by_row=False`` (backward compatible).\n If False, the funcs will be passed the whole Series at once.\n\n .. versionadded:: 2.1.0\n\nengine : {'python', 'numba'}, default 'python'\n Choose between the python (default) engine or the numba engine in apply.\n\n The numba engine will attempt to JIT compile the passed function,\n which may result in speedups for large DataFrames.\n It also supports the following engine_kwargs :\n\n - nopython (compile the function in nopython mode)\n - nogil (release the GIL inside the JIT compiled function)\n - parallel (try to apply the function in parallel over the DataFrame)\n\n Note: Due to limitations within numba/how pandas interfaces with numba,\n you should only use this if raw=True\n\n Note: The numba compiler only supports a subset of\n valid Python/numpy operations.\n\n Please read more about the `supported python features\n `_\n and `supported numpy features\n `_\n in numba to learn what you can or cannot use in the passed function.\n\n .. versionadded:: 2.2.0\n\nengine_kwargs : dict\n Pass keyword arguments to the engine.\n This is currently only used by the numba engine,\n see the documentation for the engine argument for more information.\n**kwargs\n Additional keyword arguments to pass as keywords arguments to\n `func`.\n\nReturns\n-------\nSeries or DataFrame\n Result of applying ``func`` along the given axis of the\n DataFrame.\n\nSee Also\n--------\nDataFrame.map: For elementwise operations.\nDataFrame.aggregate: Only perform aggregating type operations.\nDataFrame.transform: Only perform transforming type operations.\n\nNotes\n-----\nFunctions that mutate the passed object can produce unexpected\nbehavior or errors and are not supported. See :ref:`gotchas.udf-mutation`\nfor more details.\n\nExamples\n--------\n>>> df = pd.DataFrame([[4, 9]] * 3, columns=['A', 'B'])\n>>> df\n A B\n0 4 9\n1 4 9\n2 4 9\n\nUsing a numpy universal function (in this case the same as\n``np.sqrt(df)``):\n\n>>> df.apply(np.sqrt)\n A B\n0 2.0 3.0\n1 2.0 3.0\n2 2.0 3.0\n\nUsing a reducing function on either axis\n\n>>> df.apply(np.sum, axis=0)\nA 12\nB 27\ndtype: int64\n\n>>> df.apply(np.sum, axis=1)\n0 13\n1 13\n2 13\ndtype: int64\n\nReturning a list-like will result in a Series\n\n>>> df.apply(lambda x: [1, 2], axis=1)\n0 [1, 2]\n1 [1, 2]\n2 [1, 2]\ndtype: object\n\nPassing ``result_type='expand'`` will expand list-like results\nto columns of a Dataframe\n\n>>> df.apply(lambda x: [1, 2], axis=1, result_type='expand')\n 0 1\n0 1 2\n1 1 2\n2 1 2\n\nReturning a Series inside the function is similar to passing\n``result_type='expand'``. The resulting column names\nwill be the Series index.\n\n>>> df.apply(lambda x: pd.Series([1, 2], index=['foo', 'bar']), axis=1)\n foo bar\n0 1 2\n1 1 2\n2 1 2\n\nPassing ``result_type='broadcast'`` will ensure the same shape\nresult, whether list-like or scalar is returned by the function,\nand broadcast it along the axis. The resulting column names will\nbe the originals.\n\n>>> df.apply(lambda x: [1, 2], axis=1, result_type='broadcast')\n A B\n0 1 2\n1 1 2\n2 1 2\n"}, "kind": 2, "label": "apply", "sortText": " 10"}, {"detail": "bound method DataFrame.applymap(func: (Any, /) -> Any, na_action: Literal[\"ignore\"] | None = None, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Apply a function to a Dataframe elementwise.\n\n.. deprecated:: 2.1.0\n\n DataFrame.applymap has been deprecated. Use DataFrame.map instead.\n\nThis method applies a function that accepts and returns a scalar\nto every element of a DataFrame.\n\nParameters\n----------\nfunc : callable\n Python function, returns a single value from a single value.\nna_action : {None, 'ignore'}, default None\n If 'ignore', propagate NaN values, without passing them to func.\n**kwargs\n Additional keyword arguments to pass as keywords arguments to\n `func`.\n\nReturns\n-------\nDataFrame\n Transformed DataFrame.\n\nSee Also\n--------\nDataFrame.apply : Apply a function along input axis of DataFrame.\nDataFrame.map : Apply a function along input axis of DataFrame.\nDataFrame.replace: Replace values given in `to_replace` with `value`.\n\nExamples\n--------\n>>> df = pd.DataFrame([[1, 2.12], [3.356, 4.567]])\n>>> df\n 0 1\n0 1.000 2.120\n1 3.356 4.567\n\n>>> df.map(lambda x: len(str(x)))\n 0 1\n0 3 4\n1 5 5\n"}, "kind": 2, "label": "applymap", "sortText": " 11"}, {"detail": "bound method DataFrame.asfreq(freq: str | BaseOffset, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None = None, how: Literal[\"start\", \"end\"] | None = None, normalize: bool = False, fill_value: Hashable = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Convert time series to specified frequency.\n\nReturns the original data conformed to a new index with the specified\nfrequency.\n\nIf the index of this {klass} is a :class:`~pandas.PeriodIndex`, the new index\nis the result of transforming the original index with\n:meth:`PeriodIndex.asfreq ` (so the original index\nwill map one-to-one to the new index).\n\nOtherwise, the new index will be equivalent to ``pd.date_range(start, end,\nfreq=freq)`` where ``start`` and ``end`` are, respectively, the first and\nlast entries in the original index (see :func:`pandas.date_range`). The\nvalues corresponding to any timesteps in the new index which were not present\nin the original index will be null (``NaN``), unless a method for filling\nsuch unknowns is provided (see the ``method`` parameter below).\n\nThe :meth:`resample` method is more appropriate if an operation on each group of\ntimesteps (such as an aggregate) is necessary to represent the data at the new\nfrequency.\n\nParameters\n----------\nfreq : DateOffset or str\n Frequency DateOffset or string.\nmethod : {{'backfill'/'bfill', 'pad'/'ffill'}}, default None\n Method to use for filling holes in reindexed Series (note this\n does not fill NaNs that already were present):\n\n * 'pad' / 'ffill': propagate last valid observation forward to next\n valid\n * 'backfill' / 'bfill': use NEXT valid observation to fill.\nhow : {{'start', 'end'}}, default end\n For PeriodIndex only (see PeriodIndex.asfreq).\nnormalize : bool, default False\n Whether to reset output index to midnight.\nfill_value : scalar, optional\n Value to use for missing values, applied during upsampling (note\n this does not fill NaNs that already were present).\n\nReturns\n-------\n{klass}\n {klass} object reindexed to the specified frequency.\n\nSee Also\n--------\nreindex : Conform DataFrame to new index with optional filling logic.\n\nNotes\n-----\nTo learn more about the frequency strings, please see `this link\n`__.\n\nExamples\n--------\nStart by creating a series with 4 one minute timestamps.\n\n>>> index = pd.date_range('1/1/2000', periods=4, freq='min')\n>>> series = pd.Series([0.0, None, 2.0, 3.0], index=index)\n>>> df = pd.DataFrame({{'s': series}})\n>>> df\n s\n2000-01-01 00:00:00 0.0\n2000-01-01 00:01:00 NaN\n2000-01-01 00:02:00 2.0\n2000-01-01 00:03:00 3.0\n\nUpsample the series into 30 second bins.\n\n>>> df.asfreq(freq='30s')\n s\n2000-01-01 00:00:00 0.0\n2000-01-01 00:00:30 NaN\n2000-01-01 00:01:00 NaN\n2000-01-01 00:01:30 NaN\n2000-01-01 00:02:00 2.0\n2000-01-01 00:02:30 NaN\n2000-01-01 00:03:00 3.0\n\nUpsample again, providing a ``fill value``.\n\n>>> df.asfreq(freq='30s', fill_value=9.0)\n s\n2000-01-01 00:00:00 0.0\n2000-01-01 00:00:30 9.0\n2000-01-01 00:01:00 NaN\n2000-01-01 00:01:30 9.0\n2000-01-01 00:02:00 2.0\n2000-01-01 00:02:30 9.0\n2000-01-01 00:03:00 3.0\n\nUpsample again, providing a ``method``.\n\n>>> df.asfreq(freq='30s', method='bfill')\n s\n2000-01-01 00:00:00 0.0\n2000-01-01 00:00:30 NaN\n2000-01-01 00:01:00 NaN\n2000-01-01 00:01:30 2.0\n2000-01-01 00:02:00 2.0\n2000-01-01 00:02:30 3.0\n2000-01-01 00:03:00 3.0\n"}, "kind": 2, "label": "asfreq", "sortText": " 12"}, {"detail": "bound method DataFrame.asof(where, subset=None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Return the last row(s) without any NaNs before `where`.\n\nThe last row (for each element in `where`, if list) without any\nNaN is taken.\nIn case of a :class:`~pandas.DataFrame`, the last row without NaN\nconsidering only the subset of columns (if not `None`)\n\nIf there is no good value, NaN is returned for a Series or\na Series of NaN values for a DataFrame\n\nParameters\n----------\nwhere : date or array-like of dates\n Date(s) before which the last row(s) are returned.\nsubset : str or array-like of str, default `None`\n For DataFrame, if not `None`, only use these columns to\n check for NaNs.\n\nReturns\n-------\nscalar, Series, or DataFrame\n\n The return can be:\n\n * scalar : when `self` is a Series and `where` is a scalar\n * Series: when `self` is a Series and `where` is an array-like,\n or when `self` is a DataFrame and `where` is a scalar\n * DataFrame : when `self` is a DataFrame and `where` is an\n array-like\n\nSee Also\n--------\nmerge_asof : Perform an asof merge. Similar to left join.\n\nNotes\n-----\nDates are assumed to be sorted. Raises if this is not the case.\n\nExamples\n--------\nA Series and a scalar `where`.\n\n>>> s = pd.Series([1, 2, np.nan, 4], index=[10, 20, 30, 40])\n>>> s\n10 1.0\n20 2.0\n30 NaN\n40 4.0\ndtype: float64\n\n>>> s.asof(20)\n2.0\n\nFor a sequence `where`, a Series is returned. The first value is\nNaN, because the first element of `where` is before the first\nindex value.\n\n>>> s.asof([5, 20])\n5 NaN\n20 2.0\ndtype: float64\n\nMissing values are not considered. The following is ``2.0``, not\nNaN, even though NaN is at the index location for ``30``.\n\n>>> s.asof(30)\n2.0\n\nTake all columns into consideration\n\n>>> df = pd.DataFrame({'a': [10., 20., 30., 40., 50.],\n... 'b': [None, None, None, None, 500]},\n... index=pd.DatetimeIndex(['2018-02-27 09:01:00',\n... '2018-02-27 09:02:00',\n... '2018-02-27 09:03:00',\n... '2018-02-27 09:04:00',\n... '2018-02-27 09:05:00']))\n>>> df.asof(pd.DatetimeIndex(['2018-02-27 09:03:30',\n... '2018-02-27 09:04:30']))\n a b\n2018-02-27 09:03:30 NaN NaN\n2018-02-27 09:04:30 NaN NaN\n\nTake a single column into consideration\n\n>>> df.asof(pd.DatetimeIndex(['2018-02-27 09:03:30',\n... '2018-02-27 09:04:30']),\n... subset=['a'])\n a b\n2018-02-27 09:03:30 30.0 NaN\n2018-02-27 09:04:30 40.0 NaN\n"}, "kind": 2, "label": "asof", "sortText": " 13"}, {"detail": "bound method DataFrame.assign(**kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Assign new columns to a DataFrame.\n\nReturns a new object with all original columns in addition to new ones.\nExisting columns that are re-assigned will be overwritten.\n\nParameters\n----------\n**kwargs : dict of {str: callable or Series}\n The column names are keywords. If the values are\n callable, they are computed on the DataFrame and\n assigned to the new columns. The callable must not\n change input DataFrame (though pandas doesn't check it).\n If the values are not callable, (e.g. a Series, scalar, or array),\n they are simply assigned.\n\nReturns\n-------\nDataFrame\n A new DataFrame with the new columns in addition to\n all the existing columns.\n\nNotes\n-----\nAssigning multiple columns within the same ``assign`` is possible.\nLater items in '\\*\\*kwargs' may refer to newly created or modified\ncolumns in 'df'; items are computed and assigned into 'df' in order.\n\nExamples\n--------\n>>> df = pd.DataFrame({'temp_c': [17.0, 25.0]},\n... index=['Portland', 'Berkeley'])\n>>> df\n temp_c\nPortland 17.0\nBerkeley 25.0\n\nWhere the value is a callable, evaluated on `df`:\n\n>>> df.assign(temp_f=lambda x: x.temp_c * 9 / 5 + 32)\n temp_c temp_f\nPortland 17.0 62.6\nBerkeley 25.0 77.0\n\nAlternatively, the same behavior can be achieved by directly\nreferencing an existing Series or sequence:\n\n>>> df.assign(temp_f=df['temp_c'] * 9 / 5 + 32)\n temp_c temp_f\nPortland 17.0 62.6\nBerkeley 25.0 77.0\n\nYou can create multiple columns within the same assign where one\nof the columns depends on another one defined within the same assign:\n\n>>> df.assign(temp_f=lambda x: x['temp_c'] * 9 / 5 + 32,\n... temp_k=lambda x: (x['temp_f'] + 459.67) * 5 / 9)\n temp_c temp_f temp_k\nPortland 17.0 62.6 290.15\nBerkeley 25.0 77.0 298.15\n"}, "kind": 2, "label": "assign", "sortText": " 14"}, {"detail": "bound method DataFrame.astype(dtype, copy: bool | None = None, errors: Literal[\"ignore\", \"raise\"] = \"raise\") -> DataFrame", "documentation": {"kind": "plaintext", "value": "Cast a pandas object to a specified dtype ``dtype``.\n\nParameters\n----------\ndtype : str, data type, Series or Mapping of column name -> data type\n Use a str, numpy.dtype, pandas.ExtensionDtype or Python type to\n cast entire pandas object to the same type. Alternatively, use a\n mapping, e.g. {col: dtype, ...}, where col is a column label and dtype is\n a numpy.dtype or Python type to cast one or more of the DataFrame's\n columns to column-specific types.\ncopy : bool, default True\n Return a copy when ``copy=True`` (be very careful setting\n ``copy=False`` as changes to values then may propagate to other\n pandas objects).\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\nerrors : {'raise', 'ignore'}, default 'raise'\n Control raising of exceptions on invalid data for provided dtype.\n\n - ``raise`` : allow exceptions to be raised\n - ``ignore`` : suppress exceptions. On error return original object.\n\nReturns\n-------\nsame type as caller\n\nSee Also\n--------\nto_datetime : Convert argument to datetime.\nto_timedelta : Convert argument to timedelta.\nto_numeric : Convert argument to a numeric type.\nnumpy.ndarray.astype : Cast a numpy array to a specified type.\n\nNotes\n-----\n.. versionchanged:: 2.0.0\n\n Using ``astype`` to convert from timezone-naive dtype to\n timezone-aware dtype will raise an exception.\n Use :meth:`Series.dt.tz_localize` instead.\n\nExamples\n--------\nCreate a DataFrame:\n\n>>> d = {'col1': [1, 2], 'col2': [3, 4]}\n>>> df = pd.DataFrame(data=d)\n>>> df.dtypes\ncol1 int64\ncol2 int64\ndtype: object\n\nCast all columns to int32:\n\n>>> df.astype('int32').dtypes\ncol1 int32\ncol2 int32\ndtype: object\n\nCast col1 to int32 using a dictionary:\n\n>>> df.astype({'col1': 'int32'}).dtypes\ncol1 int32\ncol2 int64\ndtype: object\n\nCreate a series:\n\n>>> ser = pd.Series([1, 2], dtype='int32')\n>>> ser\n0 1\n1 2\ndtype: int32\n>>> ser.astype('int64')\n0 1\n1 2\ndtype: int64\n\nConvert to categorical type:\n\n>>> ser.astype('category')\n0 1\n1 2\ndtype: category\nCategories (2, int32): [1, 2]\n\nConvert to ordered categorical type with custom ordering:\n\n>>> from pandas.api.types import CategoricalDtype\n>>> cat_dtype = CategoricalDtype(\n... categories=[2, 1], ordered=True)\n>>> ser.astype(cat_dtype)\n0 1\n1 2\ndtype: category\nCategories (2, int64): [2 < 1]\n\nCreate a series of dates:\n\n>>> ser_date = pd.Series(pd.date_range('20200101', periods=3))\n>>> ser_date\n0 2020-01-01\n1 2020-01-02\n2 2020-01-03\ndtype: datetime64[ns]\n"}, "kind": 2, "label": "astype", "sortText": " 15"}, {"detail": "_AtIndexer", "kind": 22, "label": "at", "sortText": " 16"}, {"detail": "bound method DataFrame.at_time(time, asof: bool = False, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Select values at particular time of day (e.g., 9:30AM).\n\nParameters\n----------\ntime : datetime.time or str\n The values to select.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n For `Series` this parameter is unused and defaults to 0.\n\nReturns\n-------\nSeries or DataFrame\n\nRaises\n------\nTypeError\n If the index is not a :class:`DatetimeIndex`\n\nSee Also\n--------\nbetween_time : Select values between particular times of the day.\nfirst : Select initial periods of time series based on a date offset.\nlast : Select final periods of time series based on a date offset.\nDatetimeIndex.indexer_at_time : Get just the index locations for\n values at particular time of the day.\n\nExamples\n--------\n>>> i = pd.date_range('2018-04-09', periods=4, freq='12h')\n>>> ts = pd.DataFrame({'A': [1, 2, 3, 4]}, index=i)\n>>> ts\n A\n2018-04-09 00:00:00 1\n2018-04-09 12:00:00 2\n2018-04-10 00:00:00 3\n2018-04-10 12:00:00 4\n\n>>> ts.at_time('12:00')\n A\n2018-04-09 12:00:00 2\n2018-04-10 12:00:00 4\n"}, "kind": 2, "label": "at_time", "sortText": " 17"}, {"detail": "dict[Hashable, Any]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "attrs", "sortText": " 18"}, {"detail": "list[Index]", "documentation": {"kind": "plaintext", "value": "Built-in mutable sequence.\n\nIf no argument is given, the constructor creates a new empty list.\nThe argument must be an iterable if specified.\n"}, "kind": 22, "label": "axes", "sortText": " 19"}, {"detail": "bound method DataFrame.backfill(*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = None, inplace: bool = False, limit: None | int = None, downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame | None", "documentation": {"kind": "plaintext", "value": "Fill NA/NaN values by using the next valid observation to fill the gap.\n\n.. deprecated:: 2.0\n\n {klass}.backfill is deprecated. Use {klass}.bfill instead.\n\nReturns\n-------\n{klass} or None\n Object with missing values filled or None if ``inplace=True``.\n\nExamples\n--------\nPlease see examples for :meth:`DataFrame.bfill` or :meth:`Series.bfill`.\n"}, "kind": 2, "label": "backfill", "sortText": " 20"}, {"detail": "bound method DataFrame.between_time(start_time, end_time, inclusive: Literal[\"left\", \"right\", \"both\", \"neither\"] = \"both\", axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Select values between particular times of the day (e.g., 9:00-9:30 AM).\n\nBy setting ``start_time`` to be later than ``end_time``,\nyou can get the times that are *not* between the two times.\n\nParameters\n----------\nstart_time : datetime.time or str\n Initial time as a time filter limit.\nend_time : datetime.time or str\n End time as a time filter limit.\ninclusive : {\"both\", \"neither\", \"left\", \"right\"}, default \"both\"\n Include boundaries; whether to set each bound as closed or open.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Determine range time on index or columns value.\n For `Series` this parameter is unused and defaults to 0.\n\nReturns\n-------\nSeries or DataFrame\n Data from the original object filtered to the specified dates range.\n\nRaises\n------\nTypeError\n If the index is not a :class:`DatetimeIndex`\n\nSee Also\n--------\nat_time : Select values at a particular time of the day.\nfirst : Select initial periods of time series based on a date offset.\nlast : Select final periods of time series based on a date offset.\nDatetimeIndex.indexer_between_time : Get just the index locations for\n values between particular times of the day.\n\nExamples\n--------\n>>> i = pd.date_range('2018-04-09', periods=4, freq='1D20min')\n>>> ts = pd.DataFrame({'A': [1, 2, 3, 4]}, index=i)\n>>> ts\n A\n2018-04-09 00:00:00 1\n2018-04-10 00:20:00 2\n2018-04-11 00:40:00 3\n2018-04-12 01:00:00 4\n\n>>> ts.between_time('0:15', '0:45')\n A\n2018-04-10 00:20:00 2\n2018-04-11 00:40:00 3\n\nYou get the times that are *not* between two times by setting\n``start_time`` later than ``end_time``:\n\n>>> ts.between_time('0:45', '0:15')\n A\n2018-04-09 00:00:00 1\n2018-04-12 01:00:00 4\n"}, "kind": 2, "label": "between_time", "sortText": " 21"}, {"detail": "Overload[(*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: Literal[False] = ..., limit: None | int = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame, (*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: Literal[True], limit: None | int = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> None, (*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: bool = ..., limit: None | int = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Fill NA/NaN values by using the next valid observation to fill the gap.\n\nParameters\n----------\naxis : {axes_single_arg}\n Axis along which to fill missing values. For `Series`\n this parameter is unused and defaults to 0.\ninplace : bool, default False\n If True, fill in-place. Note: this will modify any\n other views on this object (e.g., a no-copy slice for a column in a\n DataFrame).\nlimit : int, default None\n If method is specified, this is the maximum number of consecutive\n NaN values to forward/backward fill. In other words, if there is\n a gap with more than this number of consecutive NaNs, it will only\n be partially filled. If method is not specified, this is the\n maximum number of entries along the entire axis where NaNs will be\n filled. Must be greater than 0 if not None.\nlimit_area : {{`None`, 'inside', 'outside'}}, default None\n If limit is specified, consecutive NaNs will be filled with this\n restriction.\n\n * ``None``: No fill restriction.\n * 'inside': Only fill NaNs surrounded by valid values\n (interpolate).\n * 'outside': Only fill NaNs outside valid values (extrapolate).\n\n .. versionadded:: 2.2.0\n\ndowncast : dict, default is None\n A dict of item->dtype of what to downcast if possible,\n or the string 'infer' which will try to downcast to an appropriate\n equal type (e.g. float64 to int64 if possible).\n\n .. deprecated:: 2.2.0\n\nReturns\n-------\n{klass} or None\n Object with missing values filled or None if ``inplace=True``.\n\nExamples\n--------\nFor Series:\n\n>>> s = pd.Series([1, None, None, 2])\n>>> s.bfill()\n0 1.0\n1 2.0\n2 2.0\n3 2.0\ndtype: float64\n>>> s.bfill(limit=1)\n0 1.0\n1 NaN\n2 2.0\n3 2.0\ndtype: float64\n\nWith DataFrame:\n\n>>> df = pd.DataFrame({{'A': [1, None, None, 4], 'B': [None, 5, None, 7]}})\n>>> df\n A B\n0 1.0 NaN\n1 NaN 5.0\n2 NaN NaN\n3 4.0 7.0\n>>> df.bfill()\n A B\n0 1.0 5.0\n1 4.0 5.0\n2 4.0 7.0\n3 4.0 7.0\n>>> df.bfill(limit=1)\n A B\n0 1.0 5.0\n1 NaN 5.0\n2 4.0 7.0\n3 4.0 7.0\n"}, "kind": 2, "label": "bfill", "sortText": " 22"}, {"detail": "bound method DataFrame.bool() -> bool", "documentation": {"kind": "plaintext", "value": "Return the bool of a single element Series or DataFrame.\n\n.. deprecated:: 2.1.0\n\n bool is deprecated and will be removed in future version of pandas.\n For ``Series`` use ``pandas.Series.item``.\n\nThis must be a boolean scalar value, either True or False. It will raise a\nValueError if the Series or DataFrame does not have exactly 1 element, or that\nelement is not boolean (integer values 0 and 1 will also raise an exception).\n\nReturns\n-------\nbool\n The value in the Series or DataFrame.\n\nSee Also\n--------\nSeries.astype : Change the data type of a Series, including to boolean.\nDataFrame.astype : Change the data type of a DataFrame, including to boolean.\nnumpy.bool_ : NumPy boolean data type, used by pandas for boolean values.\n\nExamples\n--------\nThe method will only work for single element objects with a boolean value:\n\n>>> pd.Series([True]).bool() # doctest: +SKIP\nTrue\n>>> pd.Series([False]).bool() # doctest: +SKIP\nFalse\n\n>>> pd.DataFrame({'col': [True]}).bool() # doctest: +SKIP\nTrue\n>>> pd.DataFrame({'col': [False]}).bool() # doctest: +SKIP\nFalse\n\nThis is an alternative method and will only work\nfor single element objects with a boolean value:\n\n>>> pd.Series([True]).item() # doctest: +SKIP\nTrue\n>>> pd.Series([False]).item() # doctest: +SKIP\nFalse\n"}, "kind": 2, "label": "bool", "sortText": " 23"}, {"detail": "(column=None, by=None, ax=None, fontsize: int | None = None, rot: int = 0, grid: bool = True, figsize: tuple[float, float] | None = None, layout=None, return_type=None, backend=None, **kwargs) -> Unknown", "kind": 2, "label": "boxplot", "sortText": " 24"}, {"detail": "Overload[(lower=..., upper=..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: Literal[False] = ..., **kwargs) -> DataFrame, (lower=..., upper=..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: Literal[True], **kwargs) -> None, (lower=..., upper=..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: bool = ..., **kwargs) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Trim values at input threshold(s).\n\nAssigns values outside boundary to boundary values. Thresholds\ncan be singular values or array like, and in the latter case\nthe clipping is performed element-wise in the specified axis.\n\nParameters\n----------\nlower : float or array-like, default None\n Minimum threshold value. All values below this\n threshold will be set to it. A missing\n threshold (e.g `NA`) will not clip the value.\nupper : float or array-like, default None\n Maximum threshold value. All values above this\n threshold will be set to it. A missing\n threshold (e.g `NA`) will not clip the value.\naxis : {{0 or 'index', 1 or 'columns', None}}, default None\n Align object with lower and upper along the given axis.\n For `Series` this parameter is unused and defaults to `None`.\ninplace : bool, default False\n Whether to perform the operation in place on the data.\n*args, **kwargs\n Additional keywords have no effect but might be accepted\n for compatibility with numpy.\n\nReturns\n-------\nSeries or DataFrame or None\n Same type as calling object with the values outside the\n clip boundaries replaced or None if ``inplace=True``.\n\nSee Also\n--------\nSeries.clip : Trim values at input threshold in series.\nDataFrame.clip : Trim values at input threshold in dataframe.\nnumpy.clip : Clip (limit) the values in an array.\n\nExamples\n--------\n>>> data = {'col_0': [9, -3, 0, -1, 5], 'col_1': [-2, -7, 6, 8, -5]}\n>>> df = pd.DataFrame(data)\n>>> df\n col_0 col_1\n0 9 -2\n1 -3 -7\n2 0 6\n3 -1 8\n4 5 -5\n\nClips per column using lower and upper thresholds:\n\n>>> df.clip(-4, 6)\n col_0 col_1\n0 6 -2\n1 -3 -4\n2 0 6\n3 -1 6\n4 5 -4\n\nClips using specific lower and upper thresholds per column:\n\n>>> df.clip([-2, -1], [4, 5])\n col_0 col_1\n0 4 -1\n1 -2 -1\n2 0 5\n3 -1 5\n4 4 -1\n\nClips using specific lower and upper thresholds per column element:\n\n>>> t = pd.Series([2, -4, -1, 6, 3])\n>>> t\n0 2\n1 -4\n2 -1\n3 6\n4 3\ndtype: int64\n\n>>> df.clip(t, t + 4, axis=0)\n col_0 col_1\n0 6 2\n1 -3 -4\n2 0 3\n3 6 8\n4 5 3\n\nClips using specific lower threshold per column element, with missing values:\n\n>>> t = pd.Series([2, -4, np.nan, 6, 3])\n>>> t\n0 2.0\n1 -4.0\n2 NaN\n3 6.0\n4 3.0\ndtype: float64\n\n>>> df.clip(t, axis=0)\ncol_0 col_1\n0 9 2\n1 -3 -4\n2 0 6\n3 6 8\n4 5 3\n"}, "kind": 2, "label": "clip", "sortText": " 25"}, {"detail": "Index", "documentation": {"kind": "plaintext", "value": "Immutable sequence used for indexing and alignment.\n\nThe basic object storing axis labels for all pandas objects.\n\n.. versionchanged:: 2.0.0\n\n Index can hold all numpy numeric dtypes (except float16). Previously only\n int64/uint64/float64 dtypes were accepted.\n\nParameters\n----------\ndata : array-like (1-dimensional)\ndtype : str, numpy.dtype, or ExtensionDtype, optional\n Data type for the output Index. If not specified, this will be\n inferred from `data`.\n See the :ref:`user guide ` for more usages.\ncopy : bool, default False\n Copy input data.\nname : object\n Name to be stored in the index.\ntupleize_cols : bool (default: True)\n When True, attempt to create a MultiIndex if possible.\n\nSee Also\n--------\nRangeIndex : Index implementing a monotonic integer range.\nCategoricalIndex : Index of :class:`Categorical` s.\nMultiIndex : A multi-level, or hierarchical Index.\nIntervalIndex : An Index of :class:`Interval` s.\nDatetimeIndex : Index of datetime64 data.\nTimedeltaIndex : Index of timedelta64 data.\nPeriodIndex : Index of Period data.\n\nNotes\n-----\nAn Index instance can **only** contain hashable objects.\nAn Index instance *can not* hold numpy float16 dtype.\n\nExamples\n--------\n>>> pd.Index([1, 2, 3])\nIndex([1, 2, 3], dtype='int64')\n\n>>> pd.Index(list('abc'))\nIndex(['a', 'b', 'c'], dtype='object')\n\n>>> pd.Index([1, 2, 3], dtype=\"uint8\")\nIndex([1, 2, 3], dtype='uint8')\n"}, "kind": 22, "label": "columns", "sortText": " 26"}, {"detail": "bound method DataFrame.combine(other: DataFrame, func: (Series, Series, /) -> Series | Hashable, fill_value=None, overwrite: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Perform column-wise combine with another DataFrame.\n\nCombines a DataFrame with `other` DataFrame using `func`\nto element-wise combine columns. The row and column indexes of the\nresulting DataFrame will be the union of the two.\n\nParameters\n----------\nother : DataFrame\n The DataFrame to merge column-wise.\nfunc : function\n Function that takes two series as inputs and return a Series or a\n scalar. Used to merge the two dataframes column by columns.\nfill_value : scalar value, default None\n The value to fill NaNs with prior to passing any column to the\n merge func.\noverwrite : bool, default True\n If True, columns in `self` that do not exist in `other` will be\n overwritten with NaNs.\n\nReturns\n-------\nDataFrame\n Combination of the provided DataFrames.\n\nSee Also\n--------\nDataFrame.combine_first : Combine two DataFrame objects and default to\n non-null values in frame calling the method.\n\nExamples\n--------\nCombine using a simple function that chooses the smaller column.\n\n>>> df1 = pd.DataFrame({'A': [0, 0], 'B': [4, 4]})\n>>> df2 = pd.DataFrame({'A': [1, 1], 'B': [3, 3]})\n>>> take_smaller = lambda s1, s2: s1 if s1.sum() < s2.sum() else s2\n>>> df1.combine(df2, take_smaller)\n A B\n0 0 3\n1 0 3\n\nExample using a true element-wise combine function.\n\n>>> df1 = pd.DataFrame({'A': [5, 0], 'B': [2, 4]})\n>>> df2 = pd.DataFrame({'A': [1, 1], 'B': [3, 3]})\n>>> df1.combine(df2, np.minimum)\n A B\n0 1 2\n1 0 3\n\nUsing `fill_value` fills Nones prior to passing the column to the\nmerge function.\n\n>>> df1 = pd.DataFrame({'A': [0, 0], 'B': [None, 4]})\n>>> df2 = pd.DataFrame({'A': [1, 1], 'B': [3, 3]})\n>>> df1.combine(df2, take_smaller, fill_value=-5)\n A B\n0 0 -5.0\n1 0 4.0\n\nHowever, if the same element in both dataframes is None, that None\nis preserved\n\n>>> df1 = pd.DataFrame({'A': [0, 0], 'B': [None, 4]})\n>>> df2 = pd.DataFrame({'A': [1, 1], 'B': [None, 3]})\n>>> df1.combine(df2, take_smaller, fill_value=-5)\n A B\n0 0 -5.0\n1 0 3.0\n\nExample that demonstrates the use of `overwrite` and behavior when\nthe axis differ between the dataframes.\n\n>>> df1 = pd.DataFrame({'A': [0, 0], 'B': [4, 4]})\n>>> df2 = pd.DataFrame({'B': [3, 3], 'C': [-10, 1], }, index=[1, 2])\n>>> df1.combine(df2, take_smaller)\n A B C\n0 NaN NaN NaN\n1 NaN 3.0 -10.0\n2 NaN 3.0 1.0\n\n>>> df1.combine(df2, take_smaller, overwrite=False)\n A B C\n0 0.0 NaN NaN\n1 0.0 3.0 -10.0\n2 NaN 3.0 1.0\n\nDemonstrating the preference of the passed in dataframe.\n\n>>> df2 = pd.DataFrame({'B': [3, 3], 'C': [1, 1], }, index=[1, 2])\n>>> df2.combine(df1, take_smaller)\n A B C\n0 0.0 NaN NaN\n1 0.0 3.0 NaN\n2 NaN 3.0 NaN\n\n>>> df2.combine(df1, take_smaller, overwrite=False)\n A B C\n0 0.0 NaN NaN\n1 0.0 3.0 1.0\n2 NaN 3.0 1.0\n"}, "kind": 2, "label": "combine", "sortText": " 27"}, {"detail": "bound method DataFrame.combine_first(other: DataFrame) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Update null elements with value in the same location in `other`.\n\nCombine two DataFrame objects by filling null values in one DataFrame\nwith non-null values from other DataFrame. The row and column indexes\nof the resulting DataFrame will be the union of the two. The resulting\ndataframe contains the 'first' dataframe values and overrides the\nsecond one values where both first.loc[index, col] and\nsecond.loc[index, col] are not missing values, upon calling\nfirst.combine_first(second).\n\nParameters\n----------\nother : DataFrame\n Provided DataFrame to use to fill null values.\n\nReturns\n-------\nDataFrame\n The result of combining the provided DataFrame with the other object.\n\nSee Also\n--------\nDataFrame.combine : Perform series-wise operation on two DataFrames\n using a given function.\n\nExamples\n--------\n>>> df1 = pd.DataFrame({'A': [None, 0], 'B': [None, 4]})\n>>> df2 = pd.DataFrame({'A': [1, 1], 'B': [3, 3]})\n>>> df1.combine_first(df2)\n A B\n0 1.0 3.0\n1 0.0 4.0\n\nNull values still persist if the location of that null value\ndoes not exist in `other`\n\n>>> df1 = pd.DataFrame({'A': [None, 0], 'B': [4, None]})\n>>> df2 = pd.DataFrame({'B': [3, 3], 'C': [1, 1]}, index=[1, 2])\n>>> df1.combine_first(df2)\n A B C\n0 NaN 4.0 NaN\n1 0.0 3.0 1.0\n2 NaN 3.0 1.0\n"}, "kind": 2, "label": "combine_first", "sortText": " 28"}, {"detail": "bound method DataFrame.compare(other: DataFrame, align_axis: int | Literal[\"index\", \"columns\", \"rows\"] = 1, keep_shape: bool = False, keep_equal: bool = False, result_names: tuple[str | None, str | None] = ...) -> DataFrame", "kind": 2, "label": "compare", "sortText": " 29"}, {"detail": "bound method DataFrame.convert_dtypes(infer_objects: bool = True, convert_string: bool = True, convert_integer: bool = True, convert_boolean: bool = True, convert_floating: bool = True, dtype_backend: Literal[\"pyarrow\", \"numpy_nullable\"] = \"numpy_nullable\") -> DataFrame", "documentation": {"kind": "plaintext", "value": "Convert columns to the best possible dtypes using dtypes supporting ``pd.NA``.\n\nParameters\n----------\ninfer_objects : bool, default True\n Whether object dtypes should be converted to the best possible types.\nconvert_string : bool, default True\n Whether object dtypes should be converted to ``StringDtype()``.\nconvert_integer : bool, default True\n Whether, if possible, conversion can be done to integer extension types.\nconvert_boolean : bool, defaults True\n Whether object dtypes should be converted to ``BooleanDtypes()``.\nconvert_floating : bool, defaults True\n Whether, if possible, conversion can be done to floating extension types.\n If `convert_integer` is also True, preference will be give to integer\n dtypes if the floats can be faithfully casted to integers.\ndtype_backend : {'numpy_nullable', 'pyarrow'}, default 'numpy_nullable'\n Back-end data type applied to the resultant :class:`DataFrame`\n (still experimental). Behaviour is as follows:\n\n * ``\"numpy_nullable\"``: returns nullable-dtype-backed :class:`DataFrame`\n (default).\n * ``\"pyarrow\"``: returns pyarrow-backed nullable :class:`ArrowDtype`\n DataFrame.\n\n .. versionadded:: 2.0\n\nReturns\n-------\nSeries or DataFrame\n Copy of input object with new dtype.\n\nSee Also\n--------\ninfer_objects : Infer dtypes of objects.\nto_datetime : Convert argument to datetime.\nto_timedelta : Convert argument to timedelta.\nto_numeric : Convert argument to a numeric type.\n\nNotes\n-----\nBy default, ``convert_dtypes`` will attempt to convert a Series (or each\nSeries in a DataFrame) to dtypes that support ``pd.NA``. By using the options\n``convert_string``, ``convert_integer``, ``convert_boolean`` and\n``convert_floating``, it is possible to turn off individual conversions\nto ``StringDtype``, the integer extension types, ``BooleanDtype``\nor floating extension types, respectively.\n\nFor object-dtyped columns, if ``infer_objects`` is ``True``, use the inference\nrules as during normal Series/DataFrame construction. Then, if possible,\nconvert to ``StringDtype``, ``BooleanDtype`` or an appropriate integer\nor floating extension type, otherwise leave as ``object``.\n\nIf the dtype is integer, convert to an appropriate integer extension type.\n\nIf the dtype is numeric, and consists of all integers, convert to an\nappropriate integer extension type. Otherwise, convert to an\nappropriate floating extension type.\n\nIn the future, as new dtypes are added that support ``pd.NA``, the results\nof this method will change to support those new dtypes.\n\nExamples\n--------\n>>> df = pd.DataFrame(\n... {\n... \"a\": pd.Series([1, 2, 3], dtype=np.dtype(\"int32\")),\n... \"b\": pd.Series([\"x\", \"y\", \"z\"], dtype=np.dtype(\"O\")),\n... \"c\": pd.Series([True, False, np.nan], dtype=np.dtype(\"O\")),\n... \"d\": pd.Series([\"h\", \"i\", np.nan], dtype=np.dtype(\"O\")),\n... \"e\": pd.Series([10, np.nan, 20], dtype=np.dtype(\"float\")),\n... \"f\": pd.Series([np.nan, 100.5, 200], dtype=np.dtype(\"float\")),\n... }\n... )\n\nStart with a DataFrame with default dtypes.\n\n>>> df\n a b c d e f\n0 1 x True h 10.0 NaN\n1 2 y False i NaN 100.5\n2 3 z NaN NaN 20.0 200.0\n\n>>> df.dtypes\na int32\nb object\nc object\nd object\ne float64\nf float64\ndtype: object\n\nConvert the DataFrame to use best possible dtypes.\n\n>>> dfn = df.convert_dtypes()\n>>> dfn\n a b c d e f\n0 1 x True h 10 \n1 2 y False i 100.5\n2 3 z 20 200.0\n\n>>> dfn.dtypes\na Int32\nb string[python]\nc boolean\nd string[python]\ne Int64\nf Float64\ndtype: object\n\nStart with a Series of strings and missing data represented by ``np.nan``.\n\n>>> s = pd.Series([\"a\", \"b\", np.nan])\n>>> s\n0 a\n1 b\n2 NaN\ndtype: object\n\nObtain a Series with dtype ``StringDtype``.\n\n>>> s.convert_dtypes()\n0 a\n1 b\n2 \ndtype: string\n"}, "kind": 2, "label": "convert_dtypes", "sortText": " 30"}, {"detail": "bound method DataFrame.copy(deep: bool | None = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Make a copy of this object's indices and data.\n\nWhen ``deep=True`` (default), a new object will be created with a\ncopy of the calling object's data and indices. Modifications to\nthe data or indices of the copy will not be reflected in the\noriginal object (see notes below).\n\nWhen ``deep=False``, a new object will be created without copying\nthe calling object's data or index (only references to the data\nand index are copied). Any changes to the data of the original\nwill be reflected in the shallow copy (and vice versa).\n\n.. note::\n The ``deep=False`` behaviour as described above will change\n in pandas 3.0. `Copy-on-Write\n `__\n will be enabled by default, which means that the \"shallow\" copy\n is that is returned with ``deep=False`` will still avoid making\n an eager copy, but changes to the data of the original will *no*\n longer be reflected in the shallow copy (or vice versa). Instead,\n it makes use of a lazy (deferred) copy mechanism that will copy\n the data only when any changes to the original or shallow copy is\n made.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nParameters\n----------\ndeep : bool, default True\n Make a deep copy, including a copy of the data and the indices.\n With ``deep=False`` neither the indices nor the data are copied.\n\nReturns\n-------\nSeries or DataFrame\n Object type matches caller.\n\nNotes\n-----\nWhen ``deep=True``, data is copied but actual Python objects\nwill not be copied recursively, only the reference to the object.\nThis is in contrast to `copy.deepcopy` in the Standard Library,\nwhich recursively copies object data (see examples below).\n\nWhile ``Index`` objects are copied when ``deep=True``, the underlying\nnumpy array is not copied for performance reasons. Since ``Index`` is\nimmutable, the underlying data can be safely shared and a copy\nis not needed.\n\nSince pandas is not thread safe, see the\n:ref:`gotchas ` when copying in a threading\nenvironment.\n\nWhen ``copy_on_write`` in pandas config is set to ``True``, the\n``copy_on_write`` config takes effect even when ``deep=False``.\nThis means that any changes to the copied data would make a new copy\nof the data upon write (and vice versa). Changes made to either the\noriginal or copied variable would not be reflected in the counterpart.\nSee :ref:`Copy_on_Write ` for more information.\n\nExamples\n--------\n>>> s = pd.Series([1, 2], index=[\"a\", \"b\"])\n>>> s\na 1\nb 2\ndtype: int64\n\n>>> s_copy = s.copy()\n>>> s_copy\na 1\nb 2\ndtype: int64\n\n**Shallow copy versus default (deep) copy:**\n\n>>> s = pd.Series([1, 2], index=[\"a\", \"b\"])\n>>> deep = s.copy()\n>>> shallow = s.copy(deep=False)\n\nShallow copy shares data and index with original.\n\n>>> s is shallow\nFalse\n>>> s.values is shallow.values and s.index is shallow.index\nTrue\n\nDeep copy has own copy of data and index.\n\n>>> s is deep\nFalse\n>>> s.values is deep.values or s.index is deep.index\nFalse\n\nUpdates to the data shared by shallow copy and original is reflected\nin both (NOTE: this will no longer be true for pandas >= 3.0);\ndeep copy remains unchanged.\n\n>>> s.iloc[0] = 3\n>>> shallow.iloc[1] = 4\n>>> s\na 3\nb 4\ndtype: int64\n>>> shallow\na 3\nb 4\ndtype: int64\n>>> deep\na 1\nb 2\ndtype: int64\n\nNote that when copying an object containing Python objects, a deep copy\nwill copy the data, but will not do so recursively. Updating a nested\ndata object will be reflected in the deep copy.\n\n>>> s = pd.Series([[1, 2], [3, 4]])\n>>> deep = s.copy()\n>>> s[0][0] = 10\n>>> s\n0 [10, 2]\n1 [3, 4]\ndtype: object\n>>> deep\n0 [10, 2]\n1 [3, 4]\ndtype: object\n\n**Copy-on-Write is set to true**, the shallow copy is not modified\nwhen the original data is changed:\n\n>>> with pd.option_context(\"mode.copy_on_write\", True):\n... s = pd.Series([1, 2], index=[\"a\", \"b\"])\n... copy = s.copy(deep=False)\n... s.iloc[0] = 100\n... s\na 100\nb 2\ndtype: int64\n>>> copy\na 1\nb 2\ndtype: int64\n"}, "kind": 2, "label": "copy", "sortText": " 31"}, {"detail": "bound method DataFrame.corr(method: Literal[\"pearson\", \"kendall\", \"spearman\"] | ((ndarray[_AnyShape, dtype[Any]], ndarray[_AnyShape, dtype[Any]], /) -> float) = \"pearson\", min_periods: int = 1, numeric_only: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Compute pairwise correlation of columns, excluding NA/null values.\n\nParameters\n----------\nmethod : {'pearson', 'kendall', 'spearman'} or callable\n Method of correlation:\n\n * pearson : standard correlation coefficient\n * kendall : Kendall Tau correlation coefficient\n * spearman : Spearman rank correlation\n * callable: callable with input two 1d ndarrays\n and returning a float. Note that the returned matrix from corr\n will have 1 along the diagonals and will be symmetric\n regardless of the callable's behavior.\nmin_periods : int, optional\n Minimum number of observations required per pair of columns\n to have a valid result. Currently only available for Pearson\n and Spearman correlation.\nnumeric_only : bool, default False\n Include only `float`, `int` or `boolean` data.\n\n .. versionadded:: 1.5.0\n\n .. versionchanged:: 2.0.0\n The default value of ``numeric_only`` is now ``False``.\n\nReturns\n-------\nDataFrame\n Correlation matrix.\n\nSee Also\n--------\nDataFrame.corrwith : Compute pairwise correlation with another\n DataFrame or Series.\nSeries.corr : Compute the correlation between two Series.\n\nNotes\n-----\nPearson, Kendall and Spearman correlation are currently computed using pairwise complete observations.\n\n* `Pearson correlation coefficient `_\n* `Kendall rank correlation coefficient `_\n* `Spearman's rank correlation coefficient `_\n\nExamples\n--------\n>>> def histogram_intersection(a, b):\n... v = np.minimum(a, b).sum().round(decimals=1)\n... return v\n>>> df = pd.DataFrame([(.2, .3), (.0, .6), (.6, .0), (.2, .1)],\n... columns=['dogs', 'cats'])\n>>> df.corr(method=histogram_intersection)\n dogs cats\ndogs 1.0 0.3\ncats 0.3 1.0\n\n>>> df = pd.DataFrame([(1, 1), (2, np.nan), (np.nan, 3), (4, 4)],\n... columns=['dogs', 'cats'])\n>>> df.corr(min_periods=3)\n dogs cats\ndogs 1.0 NaN\ncats NaN 1.0\n"}, "kind": 2, "label": "corr", "sortText": " 32"}, {"detail": "bound method DataFrame.corrwith(other: DataFrame | Series, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, drop: bool = False, method: Literal[\"pearson\", \"kendall\", \"spearman\"] | ((ndarray[_AnyShape, dtype[Any]], ndarray[_AnyShape, dtype[Any]], /) -> float) = \"pearson\", numeric_only: bool = False) -> Series", "documentation": {"kind": "plaintext", "value": "Compute pairwise correlation.\n\nPairwise correlation is computed between rows or columns of\nDataFrame with rows or columns of Series or DataFrame. DataFrames\nare first aligned along both axes before computing the\ncorrelations.\n\nParameters\n----------\nother : DataFrame, Series\n Object with which to compute correlations.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to use. 0 or 'index' to compute row-wise, 1 or 'columns' for\n column-wise.\ndrop : bool, default False\n Drop missing indices from result.\nmethod : {'pearson', 'kendall', 'spearman'} or callable\n Method of correlation:\n\n * pearson : standard correlation coefficient\n * kendall : Kendall Tau correlation coefficient\n * spearman : Spearman rank correlation\n * callable: callable with input two 1d ndarrays\n and returning a float.\n\nnumeric_only : bool, default False\n Include only `float`, `int` or `boolean` data.\n\n .. versionadded:: 1.5.0\n\n .. versionchanged:: 2.0.0\n The default value of ``numeric_only`` is now ``False``.\n\nReturns\n-------\nSeries\n Pairwise correlations.\n\nSee Also\n--------\nDataFrame.corr : Compute pairwise correlation of columns.\n\nExamples\n--------\n>>> index = [\"a\", \"b\", \"c\", \"d\", \"e\"]\n>>> columns = [\"one\", \"two\", \"three\", \"four\"]\n>>> df1 = pd.DataFrame(np.arange(20).reshape(5, 4), index=index, columns=columns)\n>>> df2 = pd.DataFrame(np.arange(16).reshape(4, 4), index=index[:4], columns=columns)\n>>> df1.corrwith(df2)\none 1.0\ntwo 1.0\nthree 1.0\nfour 1.0\ndtype: float64\n\n>>> df2.corrwith(df1, axis=1)\na 1.0\nb 1.0\nc 1.0\nd 1.0\ne NaN\ndtype: float64\n"}, "kind": 2, "label": "corrwith", "sortText": " 33"}, {"detail": "bound method DataFrame.count(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, numeric_only: bool = False) -> Unknown", "documentation": {"kind": "plaintext", "value": "Count non-NA cells for each column or row.\n\nThe values `None`, `NaN`, `NaT`, ``pandas.NA`` are considered NA.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n If 0 or 'index' counts are generated for each column.\n If 1 or 'columns' counts are generated for each row.\nnumeric_only : bool, default False\n Include only `float`, `int` or `boolean` data.\n\nReturns\n-------\nSeries\n For each column/row the number of non-NA/null entries.\n\nSee Also\n--------\nSeries.count: Number of non-NA elements in a Series.\nDataFrame.value_counts: Count unique combinations of columns.\nDataFrame.shape: Number of DataFrame rows and columns (including NA\n elements).\nDataFrame.isna: Boolean same-sized DataFrame showing places of NA\n elements.\n\nExamples\n--------\nConstructing DataFrame from a dictionary:\n\n>>> df = pd.DataFrame({\"Person\":\n... [\"John\", \"Myla\", \"Lewis\", \"John\", \"Myla\"],\n... \"Age\": [24., np.nan, 21., 33, 26],\n... \"Single\": [False, True, True, True, False]})\n>>> df\n Person Age Single\n0 John 24.0 False\n1 Myla NaN True\n2 Lewis 21.0 True\n3 John 33.0 True\n4 Myla 26.0 False\n\nNotice the uncounted NA values:\n\n>>> df.count()\nPerson 5\nAge 4\nSingle 5\ndtype: int64\n\nCounts for each **row**:\n\n>>> df.count(axis='columns')\n0 3\n1 2\n2 3\n3 3\n4 3\ndtype: int64\n"}, "kind": 2, "label": "count", "sortText": " 34"}, {"detail": "bound method DataFrame.cov(min_periods: int | None = None, ddof: int | None = 1, numeric_only: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Compute pairwise covariance of columns, excluding NA/null values.\n\nCompute the pairwise covariance among the series of a DataFrame.\nThe returned data frame is the `covariance matrix\n`__ of the columns\nof the DataFrame.\n\nBoth NA and null values are automatically excluded from the\ncalculation. (See the note below about bias from missing values.)\nA threshold can be set for the minimum number of\nobservations for each value created. Comparisons with observations\nbelow this threshold will be returned as ``NaN``.\n\nThis method is generally used for the analysis of time series data to\nunderstand the relationship between different measures\nacross time.\n\nParameters\n----------\nmin_periods : int, optional\n Minimum number of observations required per pair of columns\n to have a valid result.\n\nddof : int, default 1\n Delta degrees of freedom. The divisor used in calculations\n is ``N - ddof``, where ``N`` represents the number of elements.\n This argument is applicable only when no ``nan`` is in the dataframe.\n\nnumeric_only : bool, default False\n Include only `float`, `int` or `boolean` data.\n\n .. versionadded:: 1.5.0\n\n .. versionchanged:: 2.0.0\n The default value of ``numeric_only`` is now ``False``.\n\nReturns\n-------\nDataFrame\n The covariance matrix of the series of the DataFrame.\n\nSee Also\n--------\nSeries.cov : Compute covariance with another Series.\ncore.window.ewm.ExponentialMovingWindow.cov : Exponential weighted sample\n covariance.\ncore.window.expanding.Expanding.cov : Expanding sample covariance.\ncore.window.rolling.Rolling.cov : Rolling sample covariance.\n\nNotes\n-----\nReturns the covariance matrix of the DataFrame's time series.\nThe covariance is normalized by N-ddof.\n\nFor DataFrames that have Series that are missing data (assuming that\ndata is `missing at random\n`__)\nthe returned covariance matrix will be an unbiased estimate\nof the variance and covariance between the member Series.\n\nHowever, for many applications this estimate may not be acceptable\nbecause the estimate covariance matrix is not guaranteed to be positive\nsemi-definite. This could lead to estimate correlations having\nabsolute values which are greater than one, and/or a non-invertible\ncovariance matrix. See `Estimation of covariance matrices\n`__ for more details.\n\nExamples\n--------\n>>> df = pd.DataFrame([(1, 2), (0, 3), (2, 0), (1, 1)],\n... columns=['dogs', 'cats'])\n>>> df.cov()\n dogs cats\ndogs 0.666667 -1.000000\ncats -1.000000 1.666667\n\n>>> np.random.seed(42)\n>>> df = pd.DataFrame(np.random.randn(1000, 5),\n... columns=['a', 'b', 'c', 'd', 'e'])\n>>> df.cov()\n a b c d e\na 0.998438 -0.020161 0.059277 -0.008943 0.014144\nb -0.020161 1.059352 -0.008543 -0.024738 0.009826\nc 0.059277 -0.008543 1.010670 -0.001486 -0.000271\nd -0.008943 -0.024738 -0.001486 0.921297 -0.013692\ne 0.014144 0.009826 -0.000271 -0.013692 0.977795\n\n**Minimum number of periods**\n\nThis method also supports an optional ``min_periods`` keyword\nthat specifies the required minimum number of non-NA observations for\neach column pair in order to have a valid result:\n\n>>> np.random.seed(42)\n>>> df = pd.DataFrame(np.random.randn(20, 3),\n... columns=['a', 'b', 'c'])\n>>> df.loc[df.index[:5], 'a'] = np.nan\n>>> df.loc[df.index[5:10], 'b'] = np.nan\n>>> df.cov(min_periods=12)\n a b c\na 0.316741 NaN -0.150812\nb NaN 1.248003 0.191417\nc -0.150812 0.191417 0.895202\n"}, "kind": 2, "label": "cov", "sortText": " 35"}, {"detail": "bound method DataFrame.cummax(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, skipna: bool = True, *args, **kwargs) -> Unknown", "kind": 2, "label": "cummax", "sortText": " 36"}, {"detail": "bound method DataFrame.cummin(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, skipna: bool = True, *args, **kwargs) -> Unknown", "kind": 2, "label": "cummin", "sortText": " 37"}, {"detail": "bound method DataFrame.cumprod(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, skipna: bool = True, *args, **kwargs) -> Unknown", "kind": 2, "label": "cumprod", "sortText": " 38"}, {"detail": "bound method DataFrame.cumsum(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, skipna: bool = True, *args, **kwargs) -> Unknown", "kind": 2, "label": "cumsum", "sortText": " 39"}, {"detail": "bound method DataFrame.describe(percentiles=None, include=None, exclude=None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Generate descriptive statistics.\n\nDescriptive statistics include those that summarize the central\ntendency, dispersion and shape of a\ndataset's distribution, excluding ``NaN`` values.\n\nAnalyzes both numeric and object series, as well\nas ``DataFrame`` column sets of mixed data types. The output\nwill vary depending on what is provided. Refer to the notes\nbelow for more detail.\n\nParameters\n----------\npercentiles : list-like of numbers, optional\n The percentiles to include in the output. All should\n fall between 0 and 1. The default is\n ``[.25, .5, .75]``, which returns the 25th, 50th, and\n 75th percentiles.\ninclude : 'all', list-like of dtypes or None (default), optional\n A white list of data types to include in the result. Ignored\n for ``Series``. Here are the options:\n\n - 'all' : All columns of the input will be included in the output.\n - A list-like of dtypes : Limits the results to the\n provided data types.\n To limit the result to numeric types submit\n ``numpy.number``. To limit it instead to object columns submit\n the ``numpy.object`` data type. Strings\n can also be used in the style of\n ``select_dtypes`` (e.g. ``df.describe(include=['O'])``). To\n select pandas categorical columns, use ``'category'``\n - None (default) : The result will include all numeric columns.\nexclude : list-like of dtypes or None (default), optional,\n A black list of data types to omit from the result. Ignored\n for ``Series``. Here are the options:\n\n - A list-like of dtypes : Excludes the provided data types\n from the result. To exclude numeric types submit\n ``numpy.number``. To exclude object columns submit the data\n type ``numpy.object``. Strings can also be used in the style of\n ``select_dtypes`` (e.g. ``df.describe(exclude=['O'])``). To\n exclude pandas categorical columns, use ``'category'``\n - None (default) : The result will exclude nothing.\n\nReturns\n-------\nSeries or DataFrame\n Summary statistics of the Series or Dataframe provided.\n\nSee Also\n--------\nDataFrame.count: Count number of non-NA/null observations.\nDataFrame.max: Maximum of the values in the object.\nDataFrame.min: Minimum of the values in the object.\nDataFrame.mean: Mean of the values.\nDataFrame.std: Standard deviation of the observations.\nDataFrame.select_dtypes: Subset of a DataFrame including/excluding\n columns based on their dtype.\n\nNotes\n-----\nFor numeric data, the result's index will include ``count``,\n``mean``, ``std``, ``min``, ``max`` as well as lower, ``50`` and\nupper percentiles. By default the lower percentile is ``25`` and the\nupper percentile is ``75``. The ``50`` percentile is the\nsame as the median.\n\nFor object data (e.g. strings or timestamps), the result's index\nwill include ``count``, ``unique``, ``top``, and ``freq``. The ``top``\nis the most common value. The ``freq`` is the most common value's\nfrequency. Timestamps also include the ``first`` and ``last`` items.\n\nIf multiple object values have the highest count, then the\n``count`` and ``top`` results will be arbitrarily chosen from\namong those with the highest count.\n\nFor mixed data types provided via a ``DataFrame``, the default is to\nreturn only an analysis of numeric columns. If the dataframe consists\nonly of object and categorical data without any numeric columns, the\ndefault is to return an analysis of both the object and categorical\ncolumns. If ``include='all'`` is provided as an option, the result\nwill include a union of attributes of each type.\n\nThe `include` and `exclude` parameters can be used to limit\nwhich columns in a ``DataFrame`` are analyzed for the output.\nThe parameters are ignored when analyzing a ``Series``.\n\nExamples\n--------\nDescribing a numeric ``Series``.\n\n>>> s = pd.Series([1, 2, 3])\n>>> s.describe()\ncount 3.0\nmean 2.0\nstd 1.0\nmin 1.0\n25% 1.5\n50% 2.0\n75% 2.5\nmax 3.0\ndtype: float64\n\nDescribing a categorical ``Series``.\n\n>>> s = pd.Series(['a', 'a', 'b', 'c'])\n>>> s.describe()\ncount 4\nunique 3\ntop a\nfreq 2\ndtype: object\n\nDescribing a timestamp ``Series``.\n\n>>> s = pd.Series([\n... np.datetime64(\"2000-01-01\"),\n... np.datetime64(\"2010-01-01\"),\n... np.datetime64(\"2010-01-01\")\n... ])\n>>> s.describe()\ncount 3\nmean 2006-09-01 08:00:00\nmin 2000-01-01 00:00:00\n25% 2004-12-31 12:00:00\n50% 2010-01-01 00:00:00\n75% 2010-01-01 00:00:00\nmax 2010-01-01 00:00:00\ndtype: object\n\nDescribing a ``DataFrame``. By default only numeric fields\nare returned.\n\n>>> df = pd.DataFrame({'categorical': pd.Categorical(['d', 'e', 'f']),\n... 'numeric': [1, 2, 3],\n... 'object': ['a', 'b', 'c']\n... })\n>>> df.describe()\n numeric\ncount 3.0\nmean 2.0\nstd 1.0\nmin 1.0\n25% 1.5\n50% 2.0\n75% 2.5\nmax 3.0\n\nDescribing all columns of a ``DataFrame`` regardless of data type.\n\n>>> df.describe(include='all') # doctest: +SKIP\n categorical numeric object\ncount 3 3.0 3\nunique 3 NaN 3\ntop f NaN a\nfreq 1 NaN 1\nmean NaN 2.0 NaN\nstd NaN 1.0 NaN\nmin NaN 1.0 NaN\n25% NaN 1.5 NaN\n50% NaN 2.0 NaN\n75% NaN 2.5 NaN\nmax NaN 3.0 NaN\n\nDescribing a column from a ``DataFrame`` by accessing it as\nan attribute.\n\n>>> df.numeric.describe()\ncount 3.0\nmean 2.0\nstd 1.0\nmin 1.0\n25% 1.5\n50% 2.0\n75% 2.5\nmax 3.0\nName: numeric, dtype: float64\n\nIncluding only numeric columns in a ``DataFrame`` description.\n\n>>> df.describe(include=[np.number])\n numeric\ncount 3.0\nmean 2.0\nstd 1.0\nmin 1.0\n25% 1.5\n50% 2.0\n75% 2.5\nmax 3.0\n\nIncluding only string columns in a ``DataFrame`` description.\n\n>>> df.describe(include=[object]) # doctest: +SKIP\n object\ncount 3\nunique 3\ntop a\nfreq 1\n\nIncluding only categorical columns from a ``DataFrame`` description.\n\n>>> df.describe(include=['category'])\n categorical\ncount 3\nunique 3\ntop d\nfreq 1\n\nExcluding numeric columns from a ``DataFrame`` description.\n\n>>> df.describe(exclude=[np.number]) # doctest: +SKIP\n categorical object\ncount 3 3\nunique 3 3\ntop f a\nfreq 1 1\n\nExcluding object columns from a ``DataFrame`` description.\n\n>>> df.describe(exclude=[object]) # doctest: +SKIP\n categorical numeric\ncount 3 3.0\nunique 3 NaN\ntop f NaN\nfreq 1 NaN\nmean NaN 2.0\nstd NaN 1.0\nmin NaN 1.0\n25% NaN 1.5\n50% NaN 2.0\n75% NaN 2.5\nmax NaN 3.0\n"}, "kind": 2, "label": "describe", "sortText": " 40"}, {"detail": "bound method DataFrame.diff(periods: int = 1, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> DataFrame", "kind": 2, "label": "diff", "sortText": " 41"}, {"detail": "(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "div", "sortText": " 42"}, {"detail": "(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "divide", "sortText": " 43"}, {"detail": "Overload[(other: Series) -> Series, (other: DataFrame | Index | ExtensionArray | ndarray[_AnyShape, dtype[Any]]) -> DataFrame]", "documentation": {"kind": "plaintext", "value": "Compute the matrix multiplication between the DataFrame and other.\n\nThis method computes the matrix product between the DataFrame and the\nvalues of an other Series, DataFrame or a numpy array.\n\nIt can also be called using ``self @ other``.\n\nParameters\n----------\nother : Series, DataFrame or array-like\n The other object to compute the matrix product with.\n\nReturns\n-------\nSeries or DataFrame\n If other is a Series, return the matrix product between self and\n other as a Series. If other is a DataFrame or a numpy.array, return\n the matrix product of self and other in a DataFrame of a np.array.\n\nSee Also\n--------\nSeries.dot: Similar method for Series.\n\nNotes\n-----\nThe dimensions of DataFrame and other must be compatible in order to\ncompute the matrix multiplication. In addition, the column names of\nDataFrame and the index of other must contain the same values, as they\nwill be aligned prior to the multiplication.\n\nThe dot method for Series computes the inner product, instead of the\nmatrix product here.\n\nExamples\n--------\nHere we multiply a DataFrame with a Series.\n\n>>> df = pd.DataFrame([[0, 1, -2, -1], [1, 1, 1, 1]])\n>>> s = pd.Series([1, 1, 2, 1])\n>>> df.dot(s)\n0 -4\n1 5\ndtype: int64\n\nHere we multiply a DataFrame with another DataFrame.\n\n>>> other = pd.DataFrame([[0, 1], [1, 2], [-1, -1], [2, 0]])\n>>> df.dot(other)\n 0 1\n0 1 4\n1 2 2\n\nNote that the dot method give the same result as @\n\n>>> df @ other\n 0 1\n0 1 4\n1 2 2\n\nThe dot method works also if other is an np.array.\n\n>>> arr = np.array([[0, 1], [1, 2], [-1, -1], [2, 0]])\n>>> df.dot(arr)\n 0 1\n0 1 4\n1 2 2\n\nNote how shuffling of the objects does not change the result.\n\n>>> s2 = s.reindex([1, 0, 2, 3])\n>>> df.dot(s2)\n0 -4\n1 5\ndtype: int64\n"}, "kind": 2, "label": "dot", "sortText": " 44"}, {"detail": "Overload[(labels: Hashable | Sequence[Hashable] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., index: Hashable | Sequence[Hashable] = ..., columns: Hashable | Sequence[Hashable] = ..., level: Hashable = ..., inplace: Literal[True], errors: Literal[\"ignore\", \"raise\"] = ...) -> None, (labels: Hashable | Sequence[Hashable] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., index: Hashable | Sequence[Hashable] = ..., columns: Hashable | Sequence[Hashable] = ..., level: Hashable = ..., inplace: Literal[False] = ..., errors: Literal[\"ignore\", \"raise\"] = ...) -> DataFrame, (labels: Hashable | Sequence[Hashable] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., index: Hashable | Sequence[Hashable] = ..., columns: Hashable | Sequence[Hashable] = ..., level: Hashable = ..., inplace: bool = ..., errors: Literal[\"ignore\", \"raise\"] = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Drop specified labels from rows or columns.\n\nRemove rows or columns by specifying label names and corresponding\naxis, or by directly specifying index or column names. When using a\nmulti-index, labels on different levels can be removed by specifying\nthe level. See the :ref:`user guide `\nfor more information about the now unused levels.\n\nParameters\n----------\nlabels : single label or list-like\n Index or column labels to drop. A tuple will be used as a single\n label and not treated as a list-like.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Whether to drop labels from the index (0 or 'index') or\n columns (1 or 'columns').\nindex : single label or list-like\n Alternative to specifying axis (``labels, axis=0``\n is equivalent to ``index=labels``).\ncolumns : single label or list-like\n Alternative to specifying axis (``labels, axis=1``\n is equivalent to ``columns=labels``).\nlevel : int or level name, optional\n For MultiIndex, level from which the labels will be removed.\ninplace : bool, default False\n If False, return a copy. Otherwise, do operation\n in place and return None.\nerrors : {'ignore', 'raise'}, default 'raise'\n If 'ignore', suppress error and only existing labels are\n dropped.\n\nReturns\n-------\nDataFrame or None\n Returns DataFrame or None DataFrame with the specified\n index or column labels removed or None if inplace=True.\n\nRaises\n------\nKeyError\n If any of the labels is not found in the selected axis.\n\nSee Also\n--------\nDataFrame.loc : Label-location based indexer for selection by label.\nDataFrame.dropna : Return DataFrame with labels on given axis omitted\n where (all or any) data are missing.\nDataFrame.drop_duplicates : Return DataFrame with duplicate rows\n removed, optionally only considering certain columns.\nSeries.drop : Return Series with specified index labels removed.\n\nExamples\n--------\n>>> df = pd.DataFrame(np.arange(12).reshape(3, 4),\n... columns=['A', 'B', 'C', 'D'])\n>>> df\n A B C D\n0 0 1 2 3\n1 4 5 6 7\n2 8 9 10 11\n\nDrop columns\n\n>>> df.drop(['B', 'C'], axis=1)\n A D\n0 0 3\n1 4 7\n2 8 11\n\n>>> df.drop(columns=['B', 'C'])\n A D\n0 0 3\n1 4 7\n2 8 11\n\nDrop a row by index\n\n>>> df.drop([0, 1])\n A B C D\n2 8 9 10 11\n\nDrop columns and/or rows of MultiIndex DataFrame\n\n>>> midx = pd.MultiIndex(levels=[['llama', 'cow', 'falcon'],\n... ['speed', 'weight', 'length']],\n... codes=[[0, 0, 0, 1, 1, 1, 2, 2, 2],\n... [0, 1, 2, 0, 1, 2, 0, 1, 2]])\n>>> df = pd.DataFrame(index=midx, columns=['big', 'small'],\n... data=[[45, 30], [200, 100], [1.5, 1], [30, 20],\n... [250, 150], [1.5, 0.8], [320, 250],\n... [1, 0.8], [0.3, 0.2]])\n>>> df\n big small\nllama speed 45.0 30.0\n weight 200.0 100.0\n length 1.5 1.0\ncow speed 30.0 20.0\n weight 250.0 150.0\n length 1.5 0.8\nfalcon speed 320.0 250.0\n weight 1.0 0.8\n length 0.3 0.2\n\nDrop a specific index combination from the MultiIndex\nDataFrame, i.e., drop the combination ``'falcon'`` and\n``'weight'``, which deletes only the corresponding row\n\n>>> df.drop(index=('falcon', 'weight'))\n big small\nllama speed 45.0 30.0\n weight 200.0 100.0\n length 1.5 1.0\ncow speed 30.0 20.0\n weight 250.0 150.0\n length 1.5 0.8\nfalcon speed 320.0 250.0\n length 0.3 0.2\n\n>>> df.drop(index='cow', columns='small')\n big\nllama speed 45.0\n weight 200.0\n length 1.5\nfalcon speed 320.0\n weight 1.0\n length 0.3\n\n>>> df.drop(index='length', level=1)\n big small\nllama speed 45.0 30.0\n weight 200.0 100.0\ncow speed 30.0 20.0\n weight 250.0 150.0\nfalcon speed 320.0 250.0\n weight 1.0 0.8\n"}, "kind": 2, "label": "drop", "sortText": " 45"}, {"detail": "Overload[(subset: Hashable | Sequence[Hashable] = ..., *, keep: Literal[\"first\", \"last\", False] = ..., inplace: Literal[True], ignore_index: bool = ...) -> None, (subset: Hashable | Sequence[Hashable] = ..., *, keep: Literal[\"first\", \"last\", False] = ..., inplace: Literal[False] = ..., ignore_index: bool = ...) -> DataFrame, (subset: Hashable | Sequence[Hashable] = ..., *, keep: Literal[\"first\", \"last\", False] = ..., inplace: bool = ..., ignore_index: bool = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Return DataFrame with duplicate rows removed.\n\nConsidering certain columns is optional. Indexes, including time indexes\nare ignored.\n\nParameters\n----------\nsubset : column label or sequence of labels, optional\n Only consider certain columns for identifying duplicates, by\n default use all of the columns.\nkeep : {'first', 'last', ``False``}, default 'first'\n Determines which duplicates (if any) to keep.\n\n - 'first' : Drop duplicates except for the first occurrence.\n - 'last' : Drop duplicates except for the last occurrence.\n - ``False`` : Drop all duplicates.\n\ninplace : bool, default ``False``\n Whether to modify the DataFrame rather than creating a new one.\nignore_index : bool, default ``False``\n If ``True``, the resulting axis will be labeled 0, 1, \u2026, n - 1.\n\nReturns\n-------\nDataFrame or None\n DataFrame with duplicates removed or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.value_counts: Count unique combinations of columns.\n\nExamples\n--------\nConsider dataset containing ramen rating.\n\n>>> df = pd.DataFrame({\n... 'brand': ['Yum Yum', 'Yum Yum', 'Indomie', 'Indomie', 'Indomie'],\n... 'style': ['cup', 'cup', 'cup', 'pack', 'pack'],\n... 'rating': [4, 4, 3.5, 15, 5]\n... })\n>>> df\n brand style rating\n0 Yum Yum cup 4.0\n1 Yum Yum cup 4.0\n2 Indomie cup 3.5\n3 Indomie pack 15.0\n4 Indomie pack 5.0\n\nBy default, it removes duplicate rows based on all columns.\n\n>>> df.drop_duplicates()\n brand style rating\n0 Yum Yum cup 4.0\n2 Indomie cup 3.5\n3 Indomie pack 15.0\n4 Indomie pack 5.0\n\nTo remove duplicates on specific column(s), use ``subset``.\n\n>>> df.drop_duplicates(subset=['brand'])\n brand style rating\n0 Yum Yum cup 4.0\n2 Indomie cup 3.5\n\nTo remove duplicates and keep last occurrences, use ``keep``.\n\n>>> df.drop_duplicates(subset=['brand', 'style'], keep='last')\n brand style rating\n1 Yum Yum cup 4.0\n2 Indomie cup 3.5\n4 Indomie pack 5.0\n"}, "kind": 2, "label": "drop_duplicates", "sortText": " 46"}, {"detail": "bound method DataFrame.droplevel(level: Hashable | Sequence[Hashable], axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return {klass} with requested index / column level(s) removed.\n\nParameters\n----------\nlevel : int, str, or list-like\n If a string is given, must be the name of a level\n If list-like, elements must be names or positional indexes\n of levels.\n\naxis : {{0 or 'index', 1 or 'columns'}}, default 0\n Axis along which the level(s) is removed:\n\n * 0 or 'index': remove level(s) in column.\n * 1 or 'columns': remove level(s) in row.\n\n For `Series` this parameter is unused and defaults to 0.\n\nReturns\n-------\n{klass}\n {klass} with requested index / column level(s) removed.\n\nExamples\n--------\n>>> df = pd.DataFrame([\n... [1, 2, 3, 4],\n... [5, 6, 7, 8],\n... [9, 10, 11, 12]\n... ]).set_index([0, 1]).rename_axis(['a', 'b'])\n\n>>> df.columns = pd.MultiIndex.from_tuples([\n... ('c', 'e'), ('d', 'f')\n... ], names=['level_1', 'level_2'])\n\n>>> df\nlevel_1 c d\nlevel_2 e f\na b\n1 2 3 4\n5 6 7 8\n9 10 11 12\n\n>>> df.droplevel('a')\nlevel_1 c d\nlevel_2 e f\nb\n2 3 4\n6 7 8\n10 11 12\n\n>>> df.droplevel('level_2', axis=1)\nlevel_1 c d\na b\n1 2 3 4\n5 6 7 8\n9 10 11 12\n"}, "kind": 2, "label": "droplevel", "sortText": " 47"}, {"detail": "Overload[(*, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., how: Literal[\"any\", \"all\"] | _NoDefault = ..., thresh: int | _NoDefault = ..., subset: Hashable | Sequence[Hashable] = ..., inplace: Literal[False] = ..., ignore_index: bool = ...) -> DataFrame, (*, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., how: Literal[\"any\", \"all\"] | _NoDefault = ..., thresh: int | _NoDefault = ..., subset: Hashable | Sequence[Hashable] = ..., inplace: Literal[True], ignore_index: bool = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Remove missing values.\n\nSee the :ref:`User Guide ` for more on which values are\nconsidered missing, and how to work with missing data.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Determine if rows or columns which contain missing values are\n removed.\n\n * 0, or 'index' : Drop rows which contain missing values.\n * 1, or 'columns' : Drop columns which contain missing value.\n\n Only a single axis is allowed.\n\nhow : {'any', 'all'}, default 'any'\n Determine if row or column is removed from DataFrame, when we have\n at least one NA or all NA.\n\n * 'any' : If any NA values are present, drop that row or column.\n * 'all' : If all values are NA, drop that row or column.\n\nthresh : int, optional\n Require that many non-NA values. Cannot be combined with how.\nsubset : column label or sequence of labels, optional\n Labels along other axis to consider, e.g. if you are dropping rows\n these would be a list of columns to include.\ninplace : bool, default False\n Whether to modify the DataFrame rather than creating a new one.\nignore_index : bool, default ``False``\n If ``True``, the resulting axis will be labeled 0, 1, \u2026, n - 1.\n\n .. versionadded:: 2.0.0\n\nReturns\n-------\nDataFrame or None\n DataFrame with NA entries dropped from it or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.isna: Indicate missing values.\nDataFrame.notna : Indicate existing (non-missing) values.\nDataFrame.fillna : Replace missing values.\nSeries.dropna : Drop missing values.\nIndex.dropna : Drop missing indices.\n\nExamples\n--------\n>>> df = pd.DataFrame({\"name\": ['Alfred', 'Batman', 'Catwoman'],\n... \"toy\": [np.nan, 'Batmobile', 'Bullwhip'],\n... \"born\": [pd.NaT, pd.Timestamp(\"1940-04-25\"),\n... pd.NaT]})\n>>> df\n name toy born\n0 Alfred NaN NaT\n1 Batman Batmobile 1940-04-25\n2 Catwoman Bullwhip NaT\n\nDrop the rows where at least one element is missing.\n\n>>> df.dropna()\n name toy born\n1 Batman Batmobile 1940-04-25\n\nDrop the columns where at least one element is missing.\n\n>>> df.dropna(axis='columns')\n name\n0 Alfred\n1 Batman\n2 Catwoman\n\nDrop the rows where all elements are missing.\n\n>>> df.dropna(how='all')\n name toy born\n0 Alfred NaN NaT\n1 Batman Batmobile 1940-04-25\n2 Catwoman Bullwhip NaT\n\nKeep only the rows with at least 2 non-NA values.\n\n>>> df.dropna(thresh=2)\n name toy born\n1 Batman Batmobile 1940-04-25\n2 Catwoman Bullwhip NaT\n\nDefine in which columns to look for missing values.\n\n>>> df.dropna(subset=['name', 'toy'])\n name toy born\n1 Batman Batmobile 1940-04-25\n2 Catwoman Bullwhip NaT\n"}, "kind": 2, "label": "dropna", "sortText": " 48"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "dtype", "sortText": " 49"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "dtypes", "sortText": " 50"}, {"detail": "bound method DataFrame.duplicated(subset: Hashable | Sequence[Hashable] = None, keep: Literal[\"first\", \"last\", False] = \"first\") -> Series", "documentation": {"kind": "plaintext", "value": "Return boolean Series denoting duplicate rows.\n\nConsidering certain columns is optional.\n\nParameters\n----------\nsubset : column label or sequence of labels, optional\n Only consider certain columns for identifying duplicates, by\n default use all of the columns.\nkeep : {'first', 'last', False}, default 'first'\n Determines which duplicates (if any) to mark.\n\n - ``first`` : Mark duplicates as ``True`` except for the first occurrence.\n - ``last`` : Mark duplicates as ``True`` except for the last occurrence.\n - False : Mark all duplicates as ``True``.\n\nReturns\n-------\nSeries\n Boolean series for each duplicated rows.\n\nSee Also\n--------\nIndex.duplicated : Equivalent method on index.\nSeries.duplicated : Equivalent method on Series.\nSeries.drop_duplicates : Remove duplicate values from Series.\nDataFrame.drop_duplicates : Remove duplicate values from DataFrame.\n\nExamples\n--------\nConsider dataset containing ramen rating.\n\n>>> df = pd.DataFrame({\n... 'brand': ['Yum Yum', 'Yum Yum', 'Indomie', 'Indomie', 'Indomie'],\n... 'style': ['cup', 'cup', 'cup', 'pack', 'pack'],\n... 'rating': [4, 4, 3.5, 15, 5]\n... })\n>>> df\n brand style rating\n0 Yum Yum cup 4.0\n1 Yum Yum cup 4.0\n2 Indomie cup 3.5\n3 Indomie pack 15.0\n4 Indomie pack 5.0\n\nBy default, for each set of duplicated values, the first occurrence\nis set on False and all others on True.\n\n>>> df.duplicated()\n0 False\n1 True\n2 False\n3 False\n4 False\ndtype: bool\n\nBy using 'last', the last occurrence of each set of duplicated values\nis set on False and all others on True.\n\n>>> df.duplicated(keep='last')\n0 True\n1 False\n2 False\n3 False\n4 False\ndtype: bool\n\nBy setting ``keep`` on False, all duplicates are True.\n\n>>> df.duplicated(keep=False)\n0 True\n1 True\n2 False\n3 False\n4 False\ndtype: bool\n\nTo find duplicates on specific column(s), use ``subset``.\n\n>>> df.duplicated(subset=['brand'])\n0 False\n1 True\n2 False\n3 True\n4 True\ndtype: bool\n"}, "kind": 2, "label": "duplicated", "sortText": " 51"}, {"detail": "bool", "documentation": {"kind": "plaintext", "value": "Returns True when the argument is true, False otherwise.\nThe builtins True and False are the only two instances of the class bool.\nThe class bool is a subclass of the class int, and cannot be subclassed.\n"}, "kind": 22, "label": "empty", "sortText": " 52"}, {"detail": "bound method DataFrame.eq(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "eq", "sortText": " 53"}, {"detail": "bound method DataFrame.equals(other: object) -> bool", "documentation": {"kind": "plaintext", "value": "Test whether two objects contain the same elements.\n\nThis function allows two Series or DataFrames to be compared against\neach other to see if they have the same shape and elements. NaNs in\nthe same location are considered equal.\n\nThe row/column index do not need to have the same type, as long\nas the values are considered equal. Corresponding columns and\nindex must be of the same dtype.\n\nParameters\n----------\nother : Series or DataFrame\n The other Series or DataFrame to be compared with the first.\n\nReturns\n-------\nbool\n True if all elements are the same in both objects, False\n otherwise.\n\nSee Also\n--------\nSeries.eq : Compare two Series objects of the same length\n and return a Series where each element is True if the element\n in each Series is equal, False otherwise.\nDataFrame.eq : Compare two DataFrame objects of the same shape and\n return a DataFrame where each element is True if the respective\n element in each DataFrame is equal, False otherwise.\ntesting.assert_series_equal : Raises an AssertionError if left and\n right are not equal. Provides an easy interface to ignore\n inequality in dtypes, indexes and precision among others.\ntesting.assert_frame_equal : Like assert_series_equal, but targets\n DataFrames.\nnumpy.array_equal : Return True if two arrays have the same shape\n and elements, False otherwise.\n\nExamples\n--------\n>>> df = pd.DataFrame({1: [10], 2: [20]})\n>>> df\n 1 2\n0 10 20\n\nDataFrames df and exactly_equal have the same types and values for\ntheir elements and column labels, which will return True.\n\n>>> exactly_equal = pd.DataFrame({1: [10], 2: [20]})\n>>> exactly_equal\n 1 2\n0 10 20\n>>> df.equals(exactly_equal)\nTrue\n\nDataFrames df and different_column_type have the same element\ntypes and values, but have different types for the column labels,\nwhich will still return True.\n\n>>> different_column_type = pd.DataFrame({1.0: [10], 2.0: [20]})\n>>> different_column_type\n 1.0 2.0\n0 10 20\n>>> df.equals(different_column_type)\nTrue\n\nDataFrames df and different_data_type have different types for the\nsame values for their elements, and will return False even though\ntheir column labels are the same values and types.\n\n>>> different_data_type = pd.DataFrame({1: [10.0], 2: [20.0]})\n>>> different_data_type\n 1 2\n0 10.0 20.0\n>>> df.equals(different_data_type)\nFalse\n"}, "kind": 2, "label": "equals", "sortText": " 54"}, {"detail": "Overload[(expr: str, *, inplace: Literal[False] = ..., **kwargs) -> Any, (expr: str, *, inplace: Literal[True], **kwargs) -> None]", "documentation": {"kind": "plaintext", "value": "Evaluate a string describing operations on DataFrame columns.\n\nOperates on columns only, not specific rows or elements. This allows\n`eval` to run arbitrary code, which can make you vulnerable to code\ninjection if you pass user input to this function.\n\nParameters\n----------\nexpr : str\n The expression string to evaluate.\ninplace : bool, default False\n If the expression contains an assignment, whether to perform the\n operation inplace and mutate the existing DataFrame. Otherwise,\n a new DataFrame is returned.\n**kwargs\n See the documentation for :func:`eval` for complete details\n on the keyword arguments accepted by\n :meth:`~pandas.DataFrame.query`.\n\nReturns\n-------\nndarray, scalar, pandas object, or None\n The result of the evaluation or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.query : Evaluates a boolean expression to query the columns\n of a frame.\nDataFrame.assign : Can evaluate an expression or function to create new\n values for a column.\neval : Evaluate a Python expression as a string using various\n backends.\n\nNotes\n-----\nFor more details see the API documentation for :func:`~eval`.\nFor detailed examples see :ref:`enhancing performance with eval\n`.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': range(1, 6), 'B': range(10, 0, -2)})\n>>> df\n A B\n0 1 10\n1 2 8\n2 3 6\n3 4 4\n4 5 2\n>>> df.eval('A + B')\n0 11\n1 10\n2 9\n3 8\n4 7\ndtype: int64\n\nAssignment is allowed though by default the original DataFrame is not\nmodified.\n\n>>> df.eval('C = A + B')\n A B C\n0 1 10 11\n1 2 8 10\n2 3 6 9\n3 4 4 8\n4 5 2 7\n>>> df\n A B\n0 1 10\n1 2 8\n2 3 6\n3 4 4\n4 5 2\n\nMultiple columns can be assigned to using multi-line expressions:\n\n>>> df.eval(\n... '''\n... C = A + B\n... D = A - B\n... '''\n... )\n A B C D\n0 1 10 11 -9\n1 2 8 10 -6\n2 3 6 9 -3\n3 4 4 8 0\n4 5 2 7 3\n"}, "kind": 2, "label": "eval", "sortText": " 55"}, {"detail": "bound method DataFrame.ewm(com: float | None = None, span: float | None = None, halflife: float | timedelta | timedelta64[Any] | ... omitted 3 union elements = None, alpha: float | None = None, min_periods: int | None = 0, adjust: bool = True, ignore_na: bool = False, axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., times: ndarray[_AnyShape, dtype[Any]] | DataFrame | Series | None = None, method: Literal[\"single\", \"table\"] = \"single\") -> ExponentialMovingWindow", "kind": 2, "label": "ewm", "sortText": " 56"}, {"detail": "bound method DataFrame.expanding(min_periods: int = 1, axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., method: Literal[\"single\", \"table\"] = \"single\") -> Expanding", "kind": 2, "label": "expanding", "sortText": " 57"}, {"detail": "bound method DataFrame.explode(column: Hashable | Sequence[Hashable], ignore_index: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Transform each element of a list-like to a row, replicating index values.\n\nParameters\n----------\ncolumn : IndexLabel\n Column(s) to explode.\n For multiple columns, specify a non-empty list with each element\n be str or tuple, and all specified columns their list-like data\n on same row of the frame must have matching length.\n\n .. versionadded:: 1.3.0\n Multi-column explode\n\nignore_index : bool, default False\n If True, the resulting index will be labeled 0, 1, \u2026, n - 1.\n\nReturns\n-------\nDataFrame\n Exploded lists to rows of the subset columns;\n index will be duplicated for these rows.\n\nRaises\n------\nValueError :\n * If columns of the frame are not unique.\n * If specified columns to explode is empty list.\n * If specified columns to explode have not matching count of\n elements rowwise in the frame.\n\nSee Also\n--------\nDataFrame.unstack : Pivot a level of the (necessarily hierarchical)\n index labels.\nDataFrame.melt : Unpivot a DataFrame from wide format to long format.\nSeries.explode : Explode a DataFrame from list-like columns to long format.\n\nNotes\n-----\nThis routine will explode list-likes including lists, tuples, sets,\nSeries, and np.ndarray. The result dtype of the subset rows will\nbe object. Scalars will be returned unchanged, and empty list-likes will\nresult in a np.nan for that row. In addition, the ordering of rows in the\noutput will be non-deterministic when exploding sets.\n\nReference :ref:`the user guide ` for more examples.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [[0, 1, 2], 'foo', [], [3, 4]],\n... 'B': 1,\n... 'C': [['a', 'b', 'c'], np.nan, [], ['d', 'e']]})\n>>> df\n A B C\n0 [0, 1, 2] 1 [a, b, c]\n1 foo 1 NaN\n2 [] 1 []\n3 [3, 4] 1 [d, e]\n\nSingle-column explode.\n\n>>> df.explode('A')\n A B C\n0 0 1 [a, b, c]\n0 1 1 [a, b, c]\n0 2 1 [a, b, c]\n1 foo 1 NaN\n2 NaN 1 []\n3 3 1 [d, e]\n3 4 1 [d, e]\n\nMulti-column explode.\n\n>>> df.explode(list('AC'))\n A B C\n0 0 1 a\n0 1 1 b\n0 2 1 c\n1 foo 1 NaN\n2 NaN 1 NaN\n3 3 1 d\n3 4 1 e\n"}, "kind": 2, "label": "explode", "sortText": " 58"}, {"detail": "Overload[(*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: Literal[False] = ..., limit: None | int = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame, (*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: Literal[True], limit: None | int = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> None, (*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: bool = ..., limit: None | int = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Fill NA/NaN values by propagating the last valid observation to next valid.\n\nParameters\n----------\naxis : {axes_single_arg}\n Axis along which to fill missing values. For `Series`\n this parameter is unused and defaults to 0.\ninplace : bool, default False\n If True, fill in-place. Note: this will modify any\n other views on this object (e.g., a no-copy slice for a column in a\n DataFrame).\nlimit : int, default None\n If method is specified, this is the maximum number of consecutive\n NaN values to forward/backward fill. In other words, if there is\n a gap with more than this number of consecutive NaNs, it will only\n be partially filled. If method is not specified, this is the\n maximum number of entries along the entire axis where NaNs will be\n filled. Must be greater than 0 if not None.\nlimit_area : {{`None`, 'inside', 'outside'}}, default None\n If limit is specified, consecutive NaNs will be filled with this\n restriction.\n\n * ``None``: No fill restriction.\n * 'inside': Only fill NaNs surrounded by valid values\n (interpolate).\n * 'outside': Only fill NaNs outside valid values (extrapolate).\n\n .. versionadded:: 2.2.0\n\ndowncast : dict, default is None\n A dict of item->dtype of what to downcast if possible,\n or the string 'infer' which will try to downcast to an appropriate\n equal type (e.g. float64 to int64 if possible).\n\n .. deprecated:: 2.2.0\n\nReturns\n-------\n{klass} or None\n Object with missing values filled or None if ``inplace=True``.\n\nExamples\n--------\n>>> df = pd.DataFrame([[np.nan, 2, np.nan, 0],\n... [3, 4, np.nan, 1],\n... [np.nan, np.nan, np.nan, np.nan],\n... [np.nan, 3, np.nan, 4]],\n... columns=list(\"ABCD\"))\n>>> df\n A B C D\n0 NaN 2.0 NaN 0.0\n1 3.0 4.0 NaN 1.0\n2 NaN NaN NaN NaN\n3 NaN 3.0 NaN 4.0\n\n>>> df.ffill()\n A B C D\n0 NaN 2.0 NaN 0.0\n1 3.0 4.0 NaN 1.0\n2 3.0 4.0 NaN 1.0\n3 3.0 3.0 NaN 4.0\n\n>>> ser = pd.Series([1, np.nan, 2, 3])\n>>> ser.ffill()\n0 1.0\n1 1.0\n2 2.0\n3 3.0\ndtype: float64\n"}, "kind": 2, "label": "ffill", "sortText": " 59"}, {"detail": "Overload[(value: Hashable | Mapping[Unknown, Unknown] | Series | DataFrame = ..., *, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: Literal[False] = ..., limit: int | None = ..., downcast: dict[Unknown, Unknown] | None = ...) -> DataFrame, (value: Hashable | Mapping[Unknown, Unknown] | Series | DataFrame = ..., *, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: Literal[True], limit: int | None = ..., downcast: dict[Unknown, Unknown] | None = ...) -> None, (value: Hashable | Mapping[Unknown, Unknown] | Series | DataFrame = ..., *, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: bool = ..., limit: int | None = ..., downcast: dict[Unknown, Unknown] | None = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Fill NA/NaN values using the specified method.\n\nParameters\n----------\nvalue : scalar, dict, Series, or DataFrame\n Value to use to fill holes (e.g. 0), alternately a\n dict/Series/DataFrame of values specifying which value to use for\n each index (for a Series) or column (for a DataFrame). Values not\n in the dict/Series/DataFrame will not be filled. This value cannot\n be a list.\nmethod : {{'backfill', 'bfill', 'ffill', None}}, default None\n Method to use for filling holes in reindexed Series:\n\n * ffill: propagate last valid observation forward to next valid.\n * backfill / bfill: use next valid observation to fill gap.\n\n .. deprecated:: 2.1.0\n Use ffill or bfill instead.\n\naxis : {axes_single_arg}\n Axis along which to fill missing values. For `Series`\n this parameter is unused and defaults to 0.\ninplace : bool, default False\n If True, fill in-place. Note: this will modify any\n other views on this object (e.g., a no-copy slice for a column in a\n DataFrame).\nlimit : int, default None\n If method is specified, this is the maximum number of consecutive\n NaN values to forward/backward fill. In other words, if there is\n a gap with more than this number of consecutive NaNs, it will only\n be partially filled. If method is not specified, this is the\n maximum number of entries along the entire axis where NaNs will be\n filled. Must be greater than 0 if not None.\ndowncast : dict, default is None\n A dict of item->dtype of what to downcast if possible,\n or the string 'infer' which will try to downcast to an appropriate\n equal type (e.g. float64 to int64 if possible).\n\n .. deprecated:: 2.2.0\n\nReturns\n-------\n{klass} or None\n Object with missing values filled or None if ``inplace=True``.\n\nSee Also\n--------\nffill : Fill values by propagating the last valid observation to next valid.\nbfill : Fill values by using the next valid observation to fill the gap.\ninterpolate : Fill NaN values using interpolation.\nreindex : Conform object to new index.\nasfreq : Convert TimeSeries to specified frequency.\n\nExamples\n--------\n>>> df = pd.DataFrame([[np.nan, 2, np.nan, 0],\n... [3, 4, np.nan, 1],\n... [np.nan, np.nan, np.nan, np.nan],\n... [np.nan, 3, np.nan, 4]],\n... columns=list(\"ABCD\"))\n>>> df\n A B C D\n0 NaN 2.0 NaN 0.0\n1 3.0 4.0 NaN 1.0\n2 NaN NaN NaN NaN\n3 NaN 3.0 NaN 4.0\n\nReplace all NaN elements with 0s.\n\n>>> df.fillna(0)\n A B C D\n0 0.0 2.0 0.0 0.0\n1 3.0 4.0 0.0 1.0\n2 0.0 0.0 0.0 0.0\n3 0.0 3.0 0.0 4.0\n\nReplace all NaN elements in column 'A', 'B', 'C', and 'D', with 0, 1,\n2, and 3 respectively.\n\n>>> values = {{\"A\": 0, \"B\": 1, \"C\": 2, \"D\": 3}}\n>>> df.fillna(value=values)\n A B C D\n0 0.0 2.0 2.0 0.0\n1 3.0 4.0 2.0 1.0\n2 0.0 1.0 2.0 3.0\n3 0.0 3.0 2.0 4.0\n\nOnly replace the first NaN element.\n\n>>> df.fillna(value=values, limit=1)\n A B C D\n0 0.0 2.0 2.0 0.0\n1 3.0 4.0 NaN 1.0\n2 NaN 1.0 NaN 3.0\n3 NaN 3.0 NaN 4.0\n\nWhen filling using a DataFrame, replacement happens along\nthe same column names and same indices\n\n>>> df2 = pd.DataFrame(np.zeros((4, 4)), columns=list(\"ABCE\"))\n>>> df.fillna(df2)\n A B C D\n0 0.0 2.0 0.0 0.0\n1 3.0 4.0 0.0 1.0\n2 0.0 0.0 0.0 NaN\n3 0.0 3.0 0.0 4.0\n\nNote that column D is not affected since it is not present in df2.\n"}, "kind": 2, "label": "fillna", "sortText": " 60"}, {"detail": "bound method DataFrame.filter(items=None, like: str | None = None, regex: str | None = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Subset the dataframe rows or columns according to the specified index labels.\n\nNote that this routine does not filter a dataframe on its\ncontents. The filter is applied to the labels of the index.\n\nParameters\n----------\nitems : list-like\n Keep labels from axis which are in items.\nlike : str\n Keep labels from axis for which \"like in label == True\".\nregex : str (regular expression)\n Keep labels from axis for which re.search(regex, label) == True.\naxis : {0 or 'index', 1 or 'columns', None}, default None\n The axis to filter on, expressed either as an index (int)\n or axis name (str). By default this is the info axis, 'columns' for\n DataFrame. For `Series` this parameter is unused and defaults to `None`.\n\nReturns\n-------\nsame type as input object\n\nSee Also\n--------\nDataFrame.loc : Access a group of rows and columns\n by label(s) or a boolean array.\n\nNotes\n-----\nThe ``items``, ``like``, and ``regex`` parameters are\nenforced to be mutually exclusive.\n\n``axis`` defaults to the info axis that is used when indexing\nwith ``[]``.\n\nExamples\n--------\n>>> df = pd.DataFrame(np.array(([1, 2, 3], [4, 5, 6])),\n... index=['mouse', 'rabbit'],\n... columns=['one', 'two', 'three'])\n>>> df\n one two three\nmouse 1 2 3\nrabbit 4 5 6\n\n>>> # select columns by name\n>>> df.filter(items=['one', 'three'])\n one three\nmouse 1 3\nrabbit 4 6\n\n>>> # select columns by regular expression\n>>> df.filter(regex='e$', axis=1)\n one three\nmouse 1 3\nrabbit 4 6\n\n>>> # select rows containing 'bbi'\n>>> df.filter(like='bbi', axis=0)\n one two three\nrabbit 4 5 6\n"}, "kind": 2, "label": "filter", "sortText": " 61"}, {"detail": "bound method DataFrame.first(offset) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Select initial periods of time series data based on a date offset.\n\n.. deprecated:: 2.1\n :meth:`.first` is deprecated and will be removed in a future version.\n Please create a mask and filter using `.loc` instead.\n\nFor a DataFrame with a sorted DatetimeIndex, this function can\nselect the first few rows based on a date offset.\n\nParameters\n----------\noffset : str, DateOffset or dateutil.relativedelta\n The offset length of the data that will be selected. For instance,\n '1ME' will display all the rows having their index within the first month.\n\nReturns\n-------\nSeries or DataFrame\n A subset of the caller.\n\nRaises\n------\nTypeError\n If the index is not a :class:`DatetimeIndex`\n\nSee Also\n--------\nlast : Select final periods of time series based on a date offset.\nat_time : Select values at a particular time of the day.\nbetween_time : Select values between particular times of the day.\n\nExamples\n--------\n>>> i = pd.date_range('2018-04-09', periods=4, freq='2D')\n>>> ts = pd.DataFrame({'A': [1, 2, 3, 4]}, index=i)\n>>> ts\n A\n2018-04-09 1\n2018-04-11 2\n2018-04-13 3\n2018-04-15 4\n\nGet the rows for the first 3 days:\n\n>>> ts.first('3D')\n A\n2018-04-09 1\n2018-04-11 2\n\nNotice the data for 3 first calendar days were returned, not the first\n3 days observed in the dataset, and therefore data for 2018-04-13 was\nnot returned.\n"}, "kind": 2, "label": "first", "sortText": " 62"}, {"detail": "bound method DataFrame.first_valid_index() -> Hashable", "documentation": {"kind": "plaintext", "value": "Return index for {position} non-NA value or None, if no non-NA value is found.\n\nReturns\n-------\ntype of index\n\nExamples\n--------\nFor Series:\n\n>>> s = pd.Series([None, 3, 4])\n>>> s.first_valid_index()\n1\n>>> s.last_valid_index()\n2\n\n>>> s = pd.Series([None, None])\n>>> print(s.first_valid_index())\nNone\n>>> print(s.last_valid_index())\nNone\n\nIf all elements in Series are NA/null, returns None.\n\n>>> s = pd.Series()\n>>> print(s.first_valid_index())\nNone\n>>> print(s.last_valid_index())\nNone\n\nIf Series is empty, returns None.\n\nFor DataFrame:\n\n>>> df = pd.DataFrame({{'A': [None, None, 2], 'B': [None, 3, 4]}})\n>>> df\n A B\n0 NaN NaN\n1 NaN 3.0\n2 2.0 4.0\n>>> df.first_valid_index()\n1\n>>> df.last_valid_index()\n2\n\n>>> df = pd.DataFrame({{'A': [None, None, None], 'B': [None, None, None]}})\n>>> df\n A B\n0 None None\n1 None None\n2 None None\n>>> print(df.first_valid_index())\nNone\n>>> print(df.last_valid_index())\nNone\n\nIf all elements in DataFrame are NA/null, returns None.\n\n>>> df = pd.DataFrame()\n>>> df\nEmpty DataFrame\nColumns: []\nIndex: []\n>>> print(df.first_valid_index())\nNone\n>>> print(df.last_valid_index())\nNone\n\nIf DataFrame is empty, returns None.\n"}, "kind": 2, "label": "first_valid_index", "sortText": " 63"}, {"detail": "Flags", "documentation": {"kind": "plaintext", "value": "Flags that apply to pandas objects.\n\nParameters\n----------\nobj : Series or DataFrame\n The object these flags are associated with.\nallows_duplicate_labels : bool, default True\n Whether to allow duplicate labels in this object. By default,\n duplicate labels are permitted. Setting this to ``False`` will\n cause an :class:`errors.DuplicateLabelError` to be raised when\n `index` (or columns for DataFrame) is not unique, or any\n subsequent operation on introduces duplicates.\n See :ref:`duplicates.disallow` for more.\n\n .. warning::\n\n This is an experimental feature. Currently, many methods fail to\n propagate the ``allows_duplicate_labels`` value. In future versions\n it is expected that every method taking or returning one or more\n DataFrame or Series objects will propagate ``allows_duplicate_labels``.\n\nExamples\n--------\nAttributes can be set in two ways:\n\n>>> df = pd.DataFrame()\n>>> df.flags\n\n>>> df.flags.allows_duplicate_labels = False\n>>> df.flags\n\n\n>>> df.flags['allows_duplicate_labels'] = True\n>>> df.flags\n\n"}, "kind": 22, "label": "flags", "sortText": " 64"}, {"detail": "bound method DataFrame.floordiv(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "floordiv", "sortText": " 65"}, {"detail": "bound method type[DataFrame].from_dict(data: dict[Unknown, Unknown], orient: Literal[\"columns\", \"index\", \"tight\"] = \"columns\", dtype: ExtensionDtype | str | dtype[Any] | type | None = None, columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Construct DataFrame from dict of array-like or dicts.\n\nCreates DataFrame object from dictionary by columns or by index\nallowing dtype specification.\n\nParameters\n----------\ndata : dict\n Of the form {field : array-like} or {field : dict}.\norient : {'columns', 'index', 'tight'}, default 'columns'\n The \"orientation\" of the data. If the keys of the passed dict\n should be the columns of the resulting DataFrame, pass 'columns'\n (default). Otherwise if the keys should be rows, pass 'index'.\n If 'tight', assume a dict with keys ['index', 'columns', 'data',\n 'index_names', 'column_names'].\n\n .. versionadded:: 1.4.0\n 'tight' as an allowed value for the ``orient`` argument\n\ndtype : dtype, default None\n Data type to force after DataFrame construction, otherwise infer.\ncolumns : list, default None\n Column labels to use when ``orient='index'``. Raises a ValueError\n if used with ``orient='columns'`` or ``orient='tight'``.\n\nReturns\n-------\nDataFrame\n\nSee Also\n--------\nDataFrame.from_records : DataFrame from structured ndarray, sequence\n of tuples or dicts, or DataFrame.\nDataFrame : DataFrame object creation using constructor.\nDataFrame.to_dict : Convert the DataFrame to a dictionary.\n\nExamples\n--------\nBy default the keys of the dict become the DataFrame columns:\n\n>>> data = {'col_1': [3, 2, 1, 0], 'col_2': ['a', 'b', 'c', 'd']}\n>>> pd.DataFrame.from_dict(data)\n col_1 col_2\n0 3 a\n1 2 b\n2 1 c\n3 0 d\n\nSpecify ``orient='index'`` to create the DataFrame using dictionary\nkeys as rows:\n\n>>> data = {'row_1': [3, 2, 1, 0], 'row_2': ['a', 'b', 'c', 'd']}\n>>> pd.DataFrame.from_dict(data, orient='index')\n 0 1 2 3\nrow_1 3 2 1 0\nrow_2 a b c d\n\nWhen using the 'index' orientation, the column names can be\nspecified manually:\n\n>>> pd.DataFrame.from_dict(data, orient='index',\n... columns=['A', 'B', 'C', 'D'])\n A B C D\nrow_1 3 2 1 0\nrow_2 a b c d\n\nSpecify ``orient='tight'`` to create the DataFrame using a 'tight'\nformat:\n\n>>> data = {'index': [('a', 'b'), ('a', 'c')],\n... 'columns': [('x', 1), ('y', 2)],\n... 'data': [[1, 3], [2, 4]],\n... 'index_names': ['n1', 'n2'],\n... 'column_names': ['z1', 'z2']}\n>>> pd.DataFrame.from_dict(data, orient='tight')\nz1 x y\nz2 1 2\nn1 n2\na b 1 3\n c 2 4\n"}, "kind": 2, "label": "from_dict", "sortText": " 66"}, {"detail": "bound method type[DataFrame].from_records(data, index=None, exclude=None, columns=None, coerce_float: bool = False, nrows: int | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Convert structured or record ndarray to DataFrame.\n\nCreates a DataFrame object from a structured ndarray, sequence of\ntuples or dicts, or DataFrame.\n\nParameters\n----------\ndata : structured ndarray, sequence of tuples or dicts, or DataFrame\n Structured input data.\n\n .. deprecated:: 2.1.0\n Passing a DataFrame is deprecated.\nindex : str, list of fields, array-like\n Field of array to use as the index, alternately a specific set of\n input labels to use.\nexclude : sequence, default None\n Columns or fields to exclude.\ncolumns : sequence, default None\n Column names to use. If the passed data do not have names\n associated with them, this argument provides names for the\n columns. Otherwise this argument indicates the order of the columns\n in the result (any names not found in the data will become all-NA\n columns).\ncoerce_float : bool, default False\n Attempt to convert values of non-string, non-numeric objects (like\n decimal.Decimal) to floating point, useful for SQL result sets.\nnrows : int, default None\n Number of rows to read if data is an iterator.\n\nReturns\n-------\nDataFrame\n\nSee Also\n--------\nDataFrame.from_dict : DataFrame from dict of array-like or dicts.\nDataFrame : DataFrame object creation using constructor.\n\nExamples\n--------\nData can be provided as a structured ndarray:\n\n>>> data = np.array([(3, 'a'), (2, 'b'), (1, 'c'), (0, 'd')],\n... dtype=[('col_1', 'i4'), ('col_2', 'U1')])\n>>> pd.DataFrame.from_records(data)\n col_1 col_2\n0 3 a\n1 2 b\n2 1 c\n3 0 d\n\nData can be provided as a list of dicts:\n\n>>> data = [{'col_1': 3, 'col_2': 'a'},\n... {'col_1': 2, 'col_2': 'b'},\n... {'col_1': 1, 'col_2': 'c'},\n... {'col_1': 0, 'col_2': 'd'}]\n>>> pd.DataFrame.from_records(data)\n col_1 col_2\n0 3 a\n1 2 b\n2 1 c\n3 0 d\n\nData can be provided as a list of tuples with corresponding columns:\n\n>>> data = [(3, 'a'), (2, 'b'), (1, 'c'), (0, 'd')]\n>>> pd.DataFrame.from_records(data, columns=['col_1', 'col_2'])\n col_1 col_2\n0 3 a\n1 2 b\n2 1 c\n3 0 d\n"}, "kind": 2, "label": "from_records", "sortText": " 67"}, {"detail": "bound method DataFrame.ge(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "ge", "sortText": " 68"}, {"detail": "bound method DataFrame.get(key, default=None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Get item from object for given key (ex: DataFrame column).\n\nReturns default value if not found.\n\nParameters\n----------\nkey : object\n\nReturns\n-------\nsame type as items contained in object\n\nExamples\n--------\n>>> df = pd.DataFrame(\n... [\n... [24.3, 75.7, \"high\"],\n... [31, 87.8, \"high\"],\n... [22, 71.6, \"medium\"],\n... [35, 95, \"medium\"],\n... ],\n... columns=[\"temp_celsius\", \"temp_fahrenheit\", \"windspeed\"],\n... index=pd.date_range(start=\"2014-02-12\", end=\"2014-02-15\", freq=\"D\"),\n... )\n\n>>> df\n temp_celsius temp_fahrenheit windspeed\n2014-02-12 24.3 75.7 high\n2014-02-13 31.0 87.8 high\n2014-02-14 22.0 71.6 medium\n2014-02-15 35.0 95.0 medium\n\n>>> df.get([\"temp_celsius\", \"windspeed\"])\n temp_celsius windspeed\n2014-02-12 24.3 high\n2014-02-13 31.0 high\n2014-02-14 22.0 medium\n2014-02-15 35.0 medium\n\n>>> ser = df['windspeed']\n>>> ser.get('2014-02-13')\n'high'\n\nIf the key isn't found, the default value will be used.\n\n>>> df.get([\"temp_celsius\", \"temp_kelvin\"], default=\"default_value\")\n'default_value'\n\n>>> ser.get('2014-02-10', '[unknown]')\n'[unknown]'\n"}, "kind": 2, "label": "get", "sortText": " 69"}, {"detail": "bound method DataFrame.groupby(by=None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., level: Hashable | Sequence[Hashable] = None, as_index: bool = True, sort: bool = True, group_keys: bool = True, observed: bool | _NoDefault = ..., dropna: bool = True) -> DataFrameGroupBy", "kind": 2, "label": "groupby", "sortText": " 70"}, {"detail": "bound method DataFrame.gt(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "gt", "sortText": " 71"}, {"detail": "bound method DataFrame.head(n: int = 5) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the first `n` rows.\n\nThis function returns the first `n` rows for the object based\non position. It is useful for quickly testing if your object\nhas the right type of data in it.\n\nFor negative values of `n`, this function returns all rows except\nthe last `|n|` rows, equivalent to ``df[:n]``.\n\nIf n is larger than the number of rows, this function returns all rows.\n\nParameters\n----------\nn : int, default 5\n Number of rows to select.\n\nReturns\n-------\nsame type as caller\n The first `n` rows of the caller object.\n\nSee Also\n--------\nDataFrame.tail: Returns the last `n` rows.\n\nExamples\n--------\n>>> df = pd.DataFrame({'animal': ['alligator', 'bee', 'falcon', 'lion',\n... 'monkey', 'parrot', 'shark', 'whale', 'zebra']})\n>>> df\n animal\n0 alligator\n1 bee\n2 falcon\n3 lion\n4 monkey\n5 parrot\n6 shark\n7 whale\n8 zebra\n\nViewing the first 5 lines\n\n>>> df.head()\n animal\n0 alligator\n1 bee\n2 falcon\n3 lion\n4 monkey\n\nViewing the first `n` lines (three in this case)\n\n>>> df.head(3)\n animal\n0 alligator\n1 bee\n2 falcon\n\nFor negative values of `n`\n\n>>> df.head(-3)\n animal\n0 alligator\n1 bee\n2 falcon\n3 lion\n4 monkey\n5 parrot\n"}, "kind": 2, "label": "head", "sortText": " 72"}, {"detail": "(column: Hashable | Sequence[Hashable] = None, by=None, grid: bool = True, xlabelsize: int | None = None, xrot: float | None = None, ylabelsize: int | None = None, yrot: float | None = None, ax=None, sharex: bool = False, sharey: bool = False, figsize: tuple[int, int] | None = None, layout: tuple[int, int] | None = None, bins: int | Sequence[int] = 10, backend: str | None = None, legend: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "hist", "sortText": " 73"}, {"detail": "_iAtIndexer", "kind": 22, "label": "iat", "sortText": " 74"}, {"detail": "bound method DataFrame.idxmax(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, skipna: bool = True, numeric_only: bool = False) -> Series", "kind": 2, "label": "idxmax", "sortText": " 75"}, {"detail": "bound method DataFrame.idxmin(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, skipna: bool = True, numeric_only: bool = False) -> Series", "kind": 2, "label": "idxmin", "sortText": " 76"}, {"detail": "_iLocIndexer", "kind": 22, "label": "iloc", "sortText": " 77"}, {"detail": "Index", "documentation": {"kind": "plaintext", "value": "Immutable sequence used for indexing and alignment.\n\nThe basic object storing axis labels for all pandas objects.\n\n.. versionchanged:: 2.0.0\n\n Index can hold all numpy numeric dtypes (except float16). Previously only\n int64/uint64/float64 dtypes were accepted.\n\nParameters\n----------\ndata : array-like (1-dimensional)\ndtype : str, numpy.dtype, or ExtensionDtype, optional\n Data type for the output Index. If not specified, this will be\n inferred from `data`.\n See the :ref:`user guide ` for more usages.\ncopy : bool, default False\n Copy input data.\nname : object\n Name to be stored in the index.\ntupleize_cols : bool (default: True)\n When True, attempt to create a MultiIndex if possible.\n\nSee Also\n--------\nRangeIndex : Index implementing a monotonic integer range.\nCategoricalIndex : Index of :class:`Categorical` s.\nMultiIndex : A multi-level, or hierarchical Index.\nIntervalIndex : An Index of :class:`Interval` s.\nDatetimeIndex : Index of datetime64 data.\nTimedeltaIndex : Index of timedelta64 data.\nPeriodIndex : Index of Period data.\n\nNotes\n-----\nAn Index instance can **only** contain hashable objects.\nAn Index instance *can not* hold numpy float16 dtype.\n\nExamples\n--------\n>>> pd.Index([1, 2, 3])\nIndex([1, 2, 3], dtype='int64')\n\n>>> pd.Index(list('abc'))\nIndex(['a', 'b', 'c'], dtype='object')\n\n>>> pd.Index([1, 2, 3], dtype=\"uint8\")\nIndex([1, 2, 3], dtype='uint8')\n"}, "kind": 22, "label": "index", "sortText": " 78"}, {"detail": "bound method DataFrame.infer_objects(copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Attempt to infer better dtypes for object columns.\n\nAttempts soft conversion of object-dtyped\ncolumns, leaving non-object and unconvertible\ncolumns unchanged. The inference rules are the\nsame as during normal Series/DataFrame construction.\n\nParameters\n----------\ncopy : bool, default True\n Whether to make a copy for non-object or non-inferable columns\n or Series.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\nsame type as input object\n\nSee Also\n--------\nto_datetime : Convert argument to datetime.\nto_timedelta : Convert argument to timedelta.\nto_numeric : Convert argument to numeric type.\nconvert_dtypes : Convert argument to best possible dtype.\n\nExamples\n--------\n>>> df = pd.DataFrame({\"A\": [\"a\", 1, 2, 3]})\n>>> df = df.iloc[1:]\n>>> df\n A\n1 1\n2 2\n3 3\n\n>>> df.dtypes\nA object\ndtype: object\n\n>>> df.infer_objects().dtypes\nA int64\ndtype: object\n"}, "kind": 2, "label": "infer_objects", "sortText": " 79"}, {"detail": "bound method DataFrame.info(verbose: bool | None = None, buf: WriteBuffer[str] | None = None, max_cols: int | None = None, memory_usage: bool | str | None = None, show_counts: bool | None = None) -> None", "kind": 2, "label": "info", "sortText": " 80"}, {"detail": "bound method DataFrame.insert(loc: int, column: Hashable, value: str | float | Period | ... omitted 9 union elements, allow_duplicates: bool | _NoDefault = ...) -> None", "documentation": {"kind": "plaintext", "value": "Insert column into DataFrame at specified location.\n\nRaises a ValueError if `column` is already contained in the DataFrame,\nunless `allow_duplicates` is set to True.\n\nParameters\n----------\nloc : int\n Insertion index. Must verify 0 <= loc <= len(columns).\ncolumn : str, number, or hashable object\n Label of the inserted column.\nvalue : Scalar, Series, or array-like\n Content of the inserted column.\nallow_duplicates : bool, optional, default lib.no_default\n Allow duplicate column labels to be created.\n\nSee Also\n--------\nIndex.insert : Insert new item by index.\n\nExamples\n--------\n>>> df = pd.DataFrame({'col1': [1, 2], 'col2': [3, 4]})\n>>> df\n col1 col2\n0 1 3\n1 2 4\n>>> df.insert(1, \"newcol\", [99, 99])\n>>> df\n col1 newcol col2\n0 1 99 3\n1 2 99 4\n>>> df.insert(0, \"col1\", [100, 100], allow_duplicates=True)\n>>> df\n col1 col1 newcol col2\n0 100 1 99 3\n1 100 2 99 4\n\nNotice that pandas uses index alignment in case of `value` from type `Series`:\n\n>>> df.insert(0, \"col0\", pd.Series([5, 6], index=[1, 2]))\n>>> df\n col0 col1 col1 newcol col2\n0 NaN 100 1 99 3\n1 5.0 100 2 99 4\n"}, "kind": 2, "label": "insert", "sortText": " 81"}, {"detail": "Overload[(method: Literal[\"linear\", \"time\", \"index\", \"values\", \"nearest\", ... omitted 13 literals] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., limit: int | None = ..., inplace: Literal[False] = ..., limit_direction: Literal[\"forward\", \"backward\", \"both\"] | None = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: Literal[\"infer\"] | None | _NoDefault = ..., **kwargs) -> DataFrame, (method: Literal[\"linear\", \"time\", \"index\", \"values\", \"nearest\", ... omitted 13 literals] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., limit: int | None = ..., inplace: Literal[True], limit_direction: Literal[\"forward\", \"backward\", \"both\"] | None = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: Literal[\"infer\"] | None | _NoDefault = ..., **kwargs) -> None, (method: Literal[\"linear\", \"time\", \"index\", \"values\", \"nearest\", ... omitted 13 literals] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., limit: int | None = ..., inplace: bool = ..., limit_direction: Literal[\"forward\", \"backward\", \"both\"] | None = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: Literal[\"infer\"] | None | _NoDefault = ..., **kwargs) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Fill NaN values using an interpolation method.\n\nPlease note that only ``method='linear'`` is supported for\nDataFrame/Series with a MultiIndex.\n\nParameters\n----------\nmethod : str, default 'linear'\n Interpolation technique to use. One of:\n\n * 'linear': Ignore the index and treat the values as equally\n spaced. This is the only method supported on MultiIndexes.\n * 'time': Works on daily and higher resolution data to interpolate\n given length of interval.\n * 'index', 'values': use the actual numerical values of the index.\n * 'pad': Fill in NaNs using existing values.\n * 'nearest', 'zero', 'slinear', 'quadratic', 'cubic',\n 'barycentric', 'polynomial': Passed to\n `scipy.interpolate.interp1d`, whereas 'spline' is passed to\n `scipy.interpolate.UnivariateSpline`. These methods use the numerical\n values of the index. Both 'polynomial' and 'spline' require that\n you also specify an `order` (int), e.g.\n ``df.interpolate(method='polynomial', order=5)``. Note that,\n `slinear` method in Pandas refers to the Scipy first order `spline`\n instead of Pandas first order `spline`.\n * 'krogh', 'piecewise_polynomial', 'spline', 'pchip', 'akima',\n 'cubicspline': Wrappers around the SciPy interpolation methods of\n similar names. See `Notes`.\n * 'from_derivatives': Refers to\n `scipy.interpolate.BPoly.from_derivatives`.\n\naxis : {{0 or 'index', 1 or 'columns', None}}, default None\n Axis to interpolate along. For `Series` this parameter is unused\n and defaults to 0.\nlimit : int, optional\n Maximum number of consecutive NaNs to fill. Must be greater than\n 0.\ninplace : bool, default False\n Update the data in place if possible.\nlimit_direction : {{'forward', 'backward', 'both'}}, Optional\n Consecutive NaNs will be filled in this direction.\n\n If limit is specified:\n * If 'method' is 'pad' or 'ffill', 'limit_direction' must be 'forward'.\n * If 'method' is 'backfill' or 'bfill', 'limit_direction' must be\n 'backwards'.\n\n If 'limit' is not specified:\n * If 'method' is 'backfill' or 'bfill', the default is 'backward'\n * else the default is 'forward'\n\n raises ValueError if `limit_direction` is 'forward' or 'both' and\n method is 'backfill' or 'bfill'.\n raises ValueError if `limit_direction` is 'backward' or 'both' and\n method is 'pad' or 'ffill'.\n\nlimit_area : {{`None`, 'inside', 'outside'}}, default None\n If limit is specified, consecutive NaNs will be filled with this\n restriction.\n\n * ``None``: No fill restriction.\n * 'inside': Only fill NaNs surrounded by valid values\n (interpolate).\n * 'outside': Only fill NaNs outside valid values (extrapolate).\n\ndowncast : optional, 'infer' or None, defaults to None\n Downcast dtypes if possible.\n\n .. deprecated:: 2.1.0\n\n``**kwargs`` : optional\n Keyword arguments to pass on to the interpolating function.\n\nReturns\n-------\nSeries or DataFrame or None\n Returns the same object type as the caller, interpolated at\n some or all ``NaN`` values or None if ``inplace=True``.\n\nSee Also\n--------\nfillna : Fill missing values using different methods.\nscipy.interpolate.Akima1DInterpolator : Piecewise cubic polynomials\n (Akima interpolator).\nscipy.interpolate.BPoly.from_derivatives : Piecewise polynomial in the\n Bernstein basis.\nscipy.interpolate.interp1d : Interpolate a 1-D function.\nscipy.interpolate.KroghInterpolator : Interpolate polynomial (Krogh\n interpolator).\nscipy.interpolate.PchipInterpolator : PCHIP 1-d monotonic cubic\n interpolation.\nscipy.interpolate.CubicSpline : Cubic spline data interpolator.\n\nNotes\n-----\nThe 'krogh', 'piecewise_polynomial', 'spline', 'pchip' and 'akima'\nmethods are wrappers around the respective SciPy implementations of\nsimilar names. These use the actual numerical values of the index.\nFor more information on their behavior, see the\n`SciPy documentation\n`__.\n\nExamples\n--------\nFilling in ``NaN`` in a :class:`~pandas.Series` via linear\ninterpolation.\n\n>>> s = pd.Series([0, 1, np.nan, 3])\n>>> s\n0 0.0\n1 1.0\n2 NaN\n3 3.0\ndtype: float64\n>>> s.interpolate()\n0 0.0\n1 1.0\n2 2.0\n3 3.0\ndtype: float64\n\nFilling in ``NaN`` in a Series via polynomial interpolation or splines:\nBoth 'polynomial' and 'spline' methods require that you also specify\nan ``order`` (int).\n\n>>> s = pd.Series([0, 2, np.nan, 8])\n>>> s.interpolate(method='polynomial', order=2)\n0 0.000000\n1 2.000000\n2 4.666667\n3 8.000000\ndtype: float64\n\nFill the DataFrame forward (that is, going down) along each column\nusing linear interpolation.\n\nNote how the last entry in column 'a' is interpolated differently,\nbecause there is no entry after it to use for interpolation.\nNote how the first entry in column 'b' remains ``NaN``, because there\nis no entry before it to use for interpolation.\n\n>>> df = pd.DataFrame([(0.0, np.nan, -1.0, 1.0),\n... (np.nan, 2.0, np.nan, np.nan),\n... (2.0, 3.0, np.nan, 9.0),\n... (np.nan, 4.0, -4.0, 16.0)],\n... columns=list('abcd'))\n>>> df\n a b c d\n0 0.0 NaN -1.0 1.0\n1 NaN 2.0 NaN NaN\n2 2.0 3.0 NaN 9.0\n3 NaN 4.0 -4.0 16.0\n>>> df.interpolate(method='linear', limit_direction='forward', axis=0)\n a b c d\n0 0.0 NaN -1.0 1.0\n1 1.0 2.0 -2.0 5.0\n2 2.0 3.0 -3.0 9.0\n3 2.0 4.0 -4.0 16.0\n\nUsing polynomial interpolation.\n\n>>> df['d'].interpolate(method='polynomial', order=2)\n0 1.0\n1 4.0\n2 9.0\n3 16.0\nName: d, dtype: float64\n"}, "kind": 2, "label": "interpolate", "sortText": " 82"}, {"detail": "bound method DataFrame.isetitem(loc, value) -> None", "documentation": {"kind": "plaintext", "value": "Set the given value in the column with position `loc`.\n\nThis is a positional analogue to ``__setitem__``.\n\nParameters\n----------\nloc : int or sequence of ints\n Index position for the column.\nvalue : scalar or arraylike\n Value(s) for the column.\n\nNotes\n-----\n``frame.isetitem(loc, value)`` is an in-place method as it will\nmodify the DataFrame in place (not returning a new object). In contrast to\n``frame.iloc[:, i] = value`` which will try to update the existing values in\nplace, ``frame.isetitem(loc, value)`` will not update the values of the column\nitself in place, it will instead insert a new array.\n\nIn cases where ``frame.columns`` is unique, this is equivalent to\n``frame[frame.columns[i]] = value``.\n"}, "kind": 2, "label": "isetitem", "sortText": " 83"}, {"detail": "bound method DataFrame.isin(values: Series | DataFrame | Sequence[Unknown] | Mapping[Unknown, Unknown]) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Whether each element in the DataFrame is contained in values.\n\nParameters\n----------\nvalues : iterable, Series, DataFrame or dict\n The result will only be true at a location if all the\n labels match. If `values` is a Series, that's the index. If\n `values` is a dict, the keys must be the column names,\n which must match. If `values` is a DataFrame,\n then both the index and column labels must match.\n\nReturns\n-------\nDataFrame\n DataFrame of booleans showing whether each element in the DataFrame\n is contained in values.\n\nSee Also\n--------\nDataFrame.eq: Equality test for DataFrame.\nSeries.isin: Equivalent method on Series.\nSeries.str.contains: Test if pattern or regex is contained within a\n string of a Series or Index.\n\nExamples\n--------\n>>> df = pd.DataFrame({'num_legs': [2, 4], 'num_wings': [2, 0]},\n... index=['falcon', 'dog'])\n>>> df\n num_legs num_wings\nfalcon 2 2\ndog 4 0\n\nWhen ``values`` is a list check whether every value in the DataFrame\nis present in the list (which animals have 0 or 2 legs or wings)\n\n>>> df.isin([0, 2])\n num_legs num_wings\nfalcon True True\ndog False True\n\nTo check if ``values`` is *not* in the DataFrame, use the ``~`` operator:\n\n>>> ~df.isin([0, 2])\n num_legs num_wings\nfalcon False False\ndog True False\n\nWhen ``values`` is a dict, we can pass values to check for each\ncolumn separately:\n\n>>> df.isin({'num_wings': [0, 3]})\n num_legs num_wings\nfalcon False False\ndog False True\n\nWhen ``values`` is a Series or DataFrame the index and column must\nmatch. Note that 'falcon' does not match based on the number of legs\nin other.\n\n>>> other = pd.DataFrame({'num_legs': [8, 3], 'num_wings': [0, 2]},\n... index=['spider', 'falcon'])\n>>> df.isin(other)\n num_legs num_wings\nfalcon False True\ndog False False\n"}, "kind": 2, "label": "isin", "sortText": " 84"}, {"detail": "bound method DataFrame.isna() -> DataFrame", "kind": 2, "label": "isna", "sortText": " 85"}, {"detail": "bound method DataFrame.isnull() -> DataFrame", "documentation": {"kind": "plaintext", "value": "DataFrame.isnull is an alias for DataFrame.isna.\n"}, "kind": 2, "label": "isnull", "sortText": " 86"}, {"detail": "bound method DataFrame.items() -> Iterable[tuple[Hashable, Series]]", "kind": 2, "label": "items", "sortText": " 87"}, {"detail": "bound method DataFrame.iterrows() -> Iterable[tuple[Hashable, Series]]", "documentation": {"kind": "plaintext", "value": "Iterate over DataFrame rows as (index, Series) pairs.\n\nYields\n------\nindex : label or tuple of label\n The index of the row. A tuple for a `MultiIndex`.\ndata : Series\n The data of the row as a Series.\n\nSee Also\n--------\nDataFrame.itertuples : Iterate over DataFrame rows as namedtuples of the values.\nDataFrame.items : Iterate over (column name, Series) pairs.\n\nNotes\n-----\n1. Because ``iterrows`` returns a Series for each row,\n it does **not** preserve dtypes across the rows (dtypes are\n preserved across columns for DataFrames).\n\n To preserve dtypes while iterating over the rows, it is better\n to use :meth:`itertuples` which returns namedtuples of the values\n and which is generally faster than ``iterrows``.\n\n2. You should **never modify** something you are iterating over.\n This is not guaranteed to work in all cases. Depending on the\n data types, the iterator returns a copy and not a view, and writing\n to it will have no effect.\n\nExamples\n--------\n\n>>> df = pd.DataFrame([[1, 1.5]], columns=['int', 'float'])\n>>> row = next(df.iterrows())[1]\n>>> row\nint 1.0\nfloat 1.5\nName: 0, dtype: float64\n>>> print(row['int'].dtype)\nfloat64\n>>> print(df['int'].dtype)\nint64\n"}, "kind": 2, "label": "iterrows", "sortText": " 88"}, {"detail": "bound method DataFrame.itertuples(index: bool = True, name: str | None = \"Pandas\") -> Iterable[tuple[Any, ...]]", "documentation": {"kind": "plaintext", "value": "Iterate over DataFrame rows as namedtuples.\n\nParameters\n----------\nindex : bool, default True\n If True, return the index as the first element of the tuple.\nname : str or None, default \"Pandas\"\n The name of the returned namedtuples or None to return regular\n tuples.\n\nReturns\n-------\niterator\n An object to iterate over namedtuples for each row in the\n DataFrame with the first field possibly being the index and\n following fields being the column values.\n\nSee Also\n--------\nDataFrame.iterrows : Iterate over DataFrame rows as (index, Series)\n pairs.\nDataFrame.items : Iterate over (column name, Series) pairs.\n\nNotes\n-----\nThe column names will be renamed to positional names if they are\ninvalid Python identifiers, repeated, or start with an underscore.\n\nExamples\n--------\n>>> df = pd.DataFrame({'num_legs': [4, 2], 'num_wings': [0, 2]},\n... index=['dog', 'hawk'])\n>>> df\n num_legs num_wings\ndog 4 0\nhawk 2 2\n>>> for row in df.itertuples():\n... print(row)\n...\nPandas(Index='dog', num_legs=4, num_wings=0)\nPandas(Index='hawk', num_legs=2, num_wings=2)\n\nBy setting the `index` parameter to False we can remove the index\nas the first element of the tuple:\n\n>>> for row in df.itertuples(index=False):\n... print(row)\n...\nPandas(num_legs=4, num_wings=0)\nPandas(num_legs=2, num_wings=2)\n\nWith the `name` parameter set we set a custom name for the yielded\nnamedtuples:\n\n>>> for row in df.itertuples(name='Animal'):\n... print(row)\n...\nAnimal(Index='dog', num_legs=4, num_wings=0)\nAnimal(Index='hawk', num_legs=2, num_wings=2)\n"}, "kind": 2, "label": "itertuples", "sortText": " 89"}, {"detail": "bound method DataFrame.join(other: DataFrame | Series | Iterable[DataFrame | Series], on: Hashable | Sequence[Hashable] = None, how: Literal[\"left\", \"right\", \"inner\", \"outer\", \"cross\"] = \"left\", lsuffix: str = \"\", rsuffix: str = \"\", sort: bool = False, validate: Literal[\"one_to_one\", \"1:1\", \"one_to_many\", \"1:m\", \"many_to_one\", ... omitted 3 literals] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Join columns of another DataFrame.\n\nJoin columns with `other` DataFrame either on index or on a key\ncolumn. Efficiently join multiple DataFrame objects by index at once by\npassing a list.\n\nParameters\n----------\nother : DataFrame, Series, or a list containing any combination of them\n Index should be similar to one of the columns in this one. If a\n Series is passed, its name attribute must be set, and that will be\n used as the column name in the resulting joined DataFrame.\non : str, list of str, or array-like, optional\n Column or index level name(s) in the caller to join on the index\n in `other`, otherwise joins index-on-index. If multiple\n values given, the `other` DataFrame must have a MultiIndex. Can\n pass an array as the join key if it is not already contained in\n the calling DataFrame. Like an Excel VLOOKUP operation.\nhow : {'left', 'right', 'outer', 'inner', 'cross'}, default 'left'\n How to handle the operation of the two objects.\n\n * left: use calling frame's index (or column if on is specified)\n * right: use `other`'s index.\n * outer: form union of calling frame's index (or column if on is\n specified) with `other`'s index, and sort it lexicographically.\n * inner: form intersection of calling frame's index (or column if\n on is specified) with `other`'s index, preserving the order\n of the calling's one.\n * cross: creates the cartesian product from both frames, preserves the order\n of the left keys.\nlsuffix : str, default ''\n Suffix to use from left frame's overlapping columns.\nrsuffix : str, default ''\n Suffix to use from right frame's overlapping columns.\nsort : bool, default False\n Order result DataFrame lexicographically by the join key. If False,\n the order of the join key depends on the join type (how keyword).\nvalidate : str, optional\n If specified, checks if join is of specified type.\n\n * \"one_to_one\" or \"1:1\": check if join keys are unique in both left\n and right datasets.\n * \"one_to_many\" or \"1:m\": check if join keys are unique in left dataset.\n * \"many_to_one\" or \"m:1\": check if join keys are unique in right dataset.\n * \"many_to_many\" or \"m:m\": allowed, but does not result in checks.\n\n .. versionadded:: 1.5.0\n\nReturns\n-------\nDataFrame\n A dataframe containing columns from both the caller and `other`.\n\nSee Also\n--------\nDataFrame.merge : For column(s)-on-column(s) operations.\n\nNotes\n-----\nParameters `on`, `lsuffix`, and `rsuffix` are not supported when\npassing a list of `DataFrame` objects.\n\nExamples\n--------\n>>> df = pd.DataFrame({'key': ['K0', 'K1', 'K2', 'K3', 'K4', 'K5'],\n... 'A': ['A0', 'A1', 'A2', 'A3', 'A4', 'A5']})\n\n>>> df\n key A\n0 K0 A0\n1 K1 A1\n2 K2 A2\n3 K3 A3\n4 K4 A4\n5 K5 A5\n\n>>> other = pd.DataFrame({'key': ['K0', 'K1', 'K2'],\n... 'B': ['B0', 'B1', 'B2']})\n\n>>> other\n key B\n0 K0 B0\n1 K1 B1\n2 K2 B2\n\nJoin DataFrames using their indexes.\n\n>>> df.join(other, lsuffix='_caller', rsuffix='_other')\n key_caller A key_other B\n0 K0 A0 K0 B0\n1 K1 A1 K1 B1\n2 K2 A2 K2 B2\n3 K3 A3 NaN NaN\n4 K4 A4 NaN NaN\n5 K5 A5 NaN NaN\n\nIf we want to join using the key columns, we need to set key to be\nthe index in both `df` and `other`. The joined DataFrame will have\nkey as its index.\n\n>>> df.set_index('key').join(other.set_index('key'))\n A B\nkey\nK0 A0 B0\nK1 A1 B1\nK2 A2 B2\nK3 A3 NaN\nK4 A4 NaN\nK5 A5 NaN\n\nAnother option to join using the key columns is to use the `on`\nparameter. DataFrame.join always uses `other`'s index but we can use\nany column in `df`. This method preserves the original DataFrame's\nindex in the result.\n\n>>> df.join(other.set_index('key'), on='key')\n key A B\n0 K0 A0 B0\n1 K1 A1 B1\n2 K2 A2 B2\n3 K3 A3 NaN\n4 K4 A4 NaN\n5 K5 A5 NaN\n\nUsing non-unique key values shows how they are matched.\n\n>>> df = pd.DataFrame({'key': ['K0', 'K1', 'K1', 'K3', 'K0', 'K1'],\n... 'A': ['A0', 'A1', 'A2', 'A3', 'A4', 'A5']})\n\n>>> df\n key A\n0 K0 A0\n1 K1 A1\n2 K1 A2\n3 K3 A3\n4 K0 A4\n5 K1 A5\n\n>>> df.join(other.set_index('key'), on='key', validate='m:1')\n key A B\n0 K0 A0 B0\n1 K1 A1 B1\n2 K1 A2 B1\n3 K3 A3 NaN\n4 K0 A4 B0\n5 K1 A5 B1\n"}, "kind": 2, "label": "join", "sortText": " 90"}, {"detail": "bound method DataFrame.keys() -> Index", "documentation": {"kind": "plaintext", "value": "Get the 'info axis' (see Indexing for more).\n\nThis is index for Series, columns for DataFrame.\n\nReturns\n-------\nIndex\n Info axis.\n\nExamples\n--------\n>>> d = pd.DataFrame(data={'A': [1, 2, 3], 'B': [0, 4, 8]},\n... index=['a', 'b', 'c'])\n>>> d\n A B\na 1 0\nb 2 4\nc 3 8\n>>> d.keys()\nIndex(['A', 'B'], dtype='object')\n"}, "kind": 2, "label": "keys", "sortText": " 91"}, {"detail": "bound method DataFrame.kurt(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "kurt", "sortText": " 92"}, {"detail": "(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "kurtosis", "sortText": " 93"}, {"detail": "bound method DataFrame.last(offset) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Select final periods of time series data based on a date offset.\n\n.. deprecated:: 2.1\n :meth:`.last` is deprecated and will be removed in a future version.\n Please create a mask and filter using `.loc` instead.\n\nFor a DataFrame with a sorted DatetimeIndex, this function\nselects the last few rows based on a date offset.\n\nParameters\n----------\noffset : str, DateOffset, dateutil.relativedelta\n The offset length of the data that will be selected. For instance,\n '3D' will display all the rows having their index within the last 3 days.\n\nReturns\n-------\nSeries or DataFrame\n A subset of the caller.\n\nRaises\n------\nTypeError\n If the index is not a :class:`DatetimeIndex`\n\nSee Also\n--------\nfirst : Select initial periods of time series based on a date offset.\nat_time : Select values at a particular time of the day.\nbetween_time : Select values between particular times of the day.\n\nNotes\n-----\n.. deprecated:: 2.1.0\n Please create a mask and filter using `.loc` instead\n\nExamples\n--------\n>>> i = pd.date_range('2018-04-09', periods=4, freq='2D')\n>>> ts = pd.DataFrame({'A': [1, 2, 3, 4]}, index=i)\n>>> ts\n A\n2018-04-09 1\n2018-04-11 2\n2018-04-13 3\n2018-04-15 4\n\nGet the rows for the last 3 days:\n\n>>> ts.last('3D') # doctest: +SKIP\n A\n2018-04-13 3\n2018-04-15 4\n\nNotice the data for 3 last calendar days were returned, not the last\n3 observed days in the dataset, and therefore data for 2018-04-11 was\nnot returned.\n"}, "kind": 2, "label": "last", "sortText": " 94"}, {"detail": "bound method DataFrame.last_valid_index() -> Hashable", "kind": 2, "label": "last_valid_index", "sortText": " 95"}, {"detail": "bound method DataFrame.le(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "le", "sortText": " 96"}, {"detail": "_LocIndexer", "kind": 22, "label": "loc", "sortText": " 97"}, {"detail": "bound method DataFrame.lt(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "lt", "sortText": " 98"}, {"detail": "bound method DataFrame.map(func: (Any, /) -> Any, na_action: str | None = None, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Apply a function to a Dataframe elementwise.\n\n.. versionadded:: 2.1.0\n\n DataFrame.applymap was deprecated and renamed to DataFrame.map.\n\nThis method applies a function that accepts and returns a scalar\nto every element of a DataFrame.\n\nParameters\n----------\nfunc : callable\n Python function, returns a single value from a single value.\nna_action : {None, 'ignore'}, default None\n If 'ignore', propagate NaN values, without passing them to func.\n**kwargs\n Additional keyword arguments to pass as keywords arguments to\n `func`.\n\nReturns\n-------\nDataFrame\n Transformed DataFrame.\n\nSee Also\n--------\nDataFrame.apply : Apply a function along input axis of DataFrame.\nDataFrame.replace: Replace values given in `to_replace` with `value`.\nSeries.map : Apply a function elementwise on a Series.\n\nExamples\n--------\n>>> df = pd.DataFrame([[1, 2.12], [3.356, 4.567]])\n>>> df\n 0 1\n0 1.000 2.120\n1 3.356 4.567\n\n>>> df.map(lambda x: len(str(x)))\n 0 1\n0 3 4\n1 5 5\n\nLike Series.map, NA values can be ignored:\n\n>>> df_copy = df.copy()\n>>> df_copy.iloc[0, 0] = pd.NA\n>>> df_copy.map(lambda x: len(str(x)), na_action='ignore')\n 0 1\n0 NaN 4\n1 5.0 5\n\nIt is also possible to use `map` with functions that are not\n`lambda` functions:\n\n>>> df.map(round, ndigits=1)\n 0 1\n0 1.0 2.1\n1 3.4 4.6\n\nNote that a vectorized version of `func` often exists, which will\nbe much faster. You could square each number elementwise.\n\n>>> df.map(lambda x: x**2)\n 0 1\n0 1.000000 4.494400\n1 11.262736 20.857489\n\nBut it's better to avoid map in that case.\n\n>>> df ** 2\n 0 1\n0 1.000000 4.494400\n1 11.262736 20.857489\n"}, "kind": 2, "label": "map", "sortText": " 99"}, {"detail": "Overload[(cond, other=..., *, inplace: Literal[False] = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> DataFrame, (cond, other=..., *, inplace: Literal[True], axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> None, (cond, other=..., *, inplace: bool = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> DataFrame | None]", "kind": 2, "label": "mask", "sortText": "100"}, {"detail": "bound method DataFrame.max(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "max", "sortText": "101"}, {"detail": "bound method DataFrame.mean(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "mean", "sortText": "102"}, {"detail": "bound method DataFrame.median(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "median", "sortText": "103"}, {"detail": "bound method DataFrame.melt(id_vars=None, value_vars=None, var_name=None, value_name: Hashable = \"value\", col_level: Hashable = None, ignore_index: bool = True) -> DataFrame", "kind": 2, "label": "melt", "sortText": "104"}, {"detail": "bound method DataFrame.memory_usage(index: bool = True, deep: bool = False) -> Series", "documentation": {"kind": "plaintext", "value": "Return the memory usage of each column in bytes.\n\nThe memory usage can optionally include the contribution of\nthe index and elements of `object` dtype.\n\nThis value is displayed in `DataFrame.info` by default. This can be\nsuppressed by setting ``pandas.options.display.memory_usage`` to False.\n\nParameters\n----------\nindex : bool, default True\n Specifies whether to include the memory usage of the DataFrame's\n index in returned Series. If ``index=True``, the memory usage of\n the index is the first item in the output.\ndeep : bool, default False\n If True, introspect the data deeply by interrogating\n `object` dtypes for system-level memory consumption, and include\n it in the returned values.\n\nReturns\n-------\nSeries\n A Series whose index is the original column names and whose values\n is the memory usage of each column in bytes.\n\nSee Also\n--------\nnumpy.ndarray.nbytes : Total bytes consumed by the elements of an\n ndarray.\nSeries.memory_usage : Bytes consumed by a Series.\nCategorical : Memory-efficient array for string values with\n many repeated values.\nDataFrame.info : Concise summary of a DataFrame.\n\nNotes\n-----\nSee the :ref:`Frequently Asked Questions ` for more\ndetails.\n\nExamples\n--------\n>>> dtypes = ['int64', 'float64', 'complex128', 'object', 'bool']\n>>> data = dict([(t, np.ones(shape=5000, dtype=int).astype(t))\n... for t in dtypes])\n>>> df = pd.DataFrame(data)\n>>> df.head()\n int64 float64 complex128 object bool\n0 1 1.0 1.0+0.0j 1 True\n1 1 1.0 1.0+0.0j 1 True\n2 1 1.0 1.0+0.0j 1 True\n3 1 1.0 1.0+0.0j 1 True\n4 1 1.0 1.0+0.0j 1 True\n\n>>> df.memory_usage()\nIndex 128\nint64 40000\nfloat64 40000\ncomplex128 80000\nobject 40000\nbool 5000\ndtype: int64\n\n>>> df.memory_usage(index=False)\nint64 40000\nfloat64 40000\ncomplex128 80000\nobject 40000\nbool 5000\ndtype: int64\n\nThe memory footprint of `object` dtype columns is ignored by default:\n\n>>> df.memory_usage(deep=True)\nIndex 128\nint64 40000\nfloat64 40000\ncomplex128 80000\nobject 180000\nbool 5000\ndtype: int64\n\nUse a Categorical for efficient storage of an object-dtype column with\nmany repeated values.\n\n>>> df['object'].astype('category').memory_usage(deep=True)\n5244\n"}, "kind": 2, "label": "memory_usage", "sortText": "105"}, {"detail": "bound method DataFrame.merge(right: DataFrame | Series, how: Literal[\"left\", \"right\", \"inner\", \"outer\", \"cross\"] = \"inner\", on: Hashable | Sequence[Hashable] | ExtensionArray | ... omitted 3 union elements = None, left_on: Hashable | Sequence[Hashable] | ExtensionArray | ... omitted 3 union elements = None, right_on: Hashable | Sequence[Hashable] | ExtensionArray | ... omitted 3 union elements = None, left_index: bool = False, right_index: bool = False, sort: bool = False, suffixes: tuple[str | None, str | None] = ..., copy: bool | None = None, indicator: str | bool = False, validate: Literal[\"one_to_one\", \"1:1\", \"one_to_many\", \"1:m\", \"many_to_one\", ... omitted 3 literals] | None = None) -> DataFrame", "kind": 2, "label": "merge", "sortText": "106"}, {"detail": "bound method DataFrame.min(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "min", "sortText": "107"}, {"detail": "bound method DataFrame.mod(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "mod", "sortText": "108"}, {"detail": "bound method DataFrame.mode(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, numeric_only: bool = False, dropna: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Get the mode(s) of each element along the selected axis.\n\nThe mode of a set of values is the value that appears most often.\nIt can be multiple values.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to iterate over while searching for the mode:\n\n * 0 or 'index' : get mode of each column\n * 1 or 'columns' : get mode of each row.\n\nnumeric_only : bool, default False\n If True, only apply to numeric columns.\ndropna : bool, default True\n Don't consider counts of NaN/NaT.\n\nReturns\n-------\nDataFrame\n The modes of each column or row.\n\nSee Also\n--------\nSeries.mode : Return the highest frequency value in a Series.\nSeries.value_counts : Return the counts of values in a Series.\n\nExamples\n--------\n>>> df = pd.DataFrame([('bird', 2, 2),\n... ('mammal', 4, np.nan),\n... ('arthropod', 8, 0),\n... ('bird', 2, np.nan)],\n... index=('falcon', 'horse', 'spider', 'ostrich'),\n... columns=('species', 'legs', 'wings'))\n>>> df\n species legs wings\nfalcon bird 2 2.0\nhorse mammal 4 NaN\nspider arthropod 8 0.0\nostrich bird 2 NaN\n\nBy default, missing values are not considered, and the mode of wings\nare both 0 and 2. Because the resulting DataFrame has two rows,\nthe second row of ``species`` and ``legs`` contains ``NaN``.\n\n>>> df.mode()\n species legs wings\n0 bird 2.0 0.0\n1 NaN NaN 2.0\n\nSetting ``dropna=False`` ``NaN`` values are considered and they can be\nthe mode (like for wings).\n\n>>> df.mode(dropna=False)\n species legs wings\n0 bird 2 NaN\n\nSetting ``numeric_only=True``, only the mode of numeric columns is\ncomputed, and columns of other types are ignored.\n\n>>> df.mode(numeric_only=True)\n legs wings\n0 2.0 0.0\n1 NaN 2.0\n\nTo compute the mode over columns and not rows, use the axis parameter:\n\n>>> df.mode(axis='columns', numeric_only=True)\n 0 1\nfalcon 2.0 NaN\nhorse 4.0 NaN\nspider 0.0 8.0\nostrich 2.0 NaN\n"}, "kind": 2, "label": "mode", "sortText": "109"}, {"detail": "bound method DataFrame.mul(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "mul", "sortText": "110"}, {"detail": "(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "multiply", "sortText": "111"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "name", "sortText": "112"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "ndim", "sortText": "113"}, {"detail": "bound method DataFrame.ne(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "ne", "sortText": "114"}, {"detail": "bound method DataFrame.nlargest(n: int, columns: Hashable | Sequence[Hashable], keep: Literal[\"first\", \"last\", \"all\"] = \"first\") -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the first `n` rows ordered by `columns` in descending order.\n\nReturn the first `n` rows with the largest values in `columns`, in\ndescending order. The columns that are not specified are returned as\nwell, but not used for ordering.\n\nThis method is equivalent to\n``df.sort_values(columns, ascending=False).head(n)``, but more\nperformant.\n\nParameters\n----------\nn : int\n Number of rows to return.\ncolumns : label or list of labels\n Column label(s) to order by.\nkeep : {'first', 'last', 'all'}, default 'first'\n Where there are duplicate values:\n\n - ``first`` : prioritize the first occurrence(s)\n - ``last`` : prioritize the last occurrence(s)\n - ``all`` : keep all the ties of the smallest item even if it means\n selecting more than ``n`` items.\n\nReturns\n-------\nDataFrame\n The first `n` rows ordered by the given columns in descending\n order.\n\nSee Also\n--------\nDataFrame.nsmallest : Return the first `n` rows ordered by `columns` in\n ascending order.\nDataFrame.sort_values : Sort DataFrame by the values.\nDataFrame.head : Return the first `n` rows without re-ordering.\n\nNotes\n-----\nThis function cannot be used with all column types. For example, when\nspecifying columns with `object` or `category` dtypes, ``TypeError`` is\nraised.\n\nExamples\n--------\n>>> df = pd.DataFrame({'population': [59000000, 65000000, 434000,\n... 434000, 434000, 337000, 11300,\n... 11300, 11300],\n... 'GDP': [1937894, 2583560 , 12011, 4520, 12128,\n... 17036, 182, 38, 311],\n... 'alpha-2': [\"IT\", \"FR\", \"MT\", \"MV\", \"BN\",\n... \"IS\", \"NR\", \"TV\", \"AI\"]},\n... index=[\"Italy\", \"France\", \"Malta\",\n... \"Maldives\", \"Brunei\", \"Iceland\",\n... \"Nauru\", \"Tuvalu\", \"Anguilla\"])\n>>> df\n population GDP alpha-2\nItaly 59000000 1937894 IT\nFrance 65000000 2583560 FR\nMalta 434000 12011 MT\nMaldives 434000 4520 MV\nBrunei 434000 12128 BN\nIceland 337000 17036 IS\nNauru 11300 182 NR\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\n\nIn the following example, we will use ``nlargest`` to select the three\nrows having the largest values in column \"population\".\n\n>>> df.nlargest(3, 'population')\n population GDP alpha-2\nFrance 65000000 2583560 FR\nItaly 59000000 1937894 IT\nMalta 434000 12011 MT\n\nWhen using ``keep='last'``, ties are resolved in reverse order:\n\n>>> df.nlargest(3, 'population', keep='last')\n population GDP alpha-2\nFrance 65000000 2583560 FR\nItaly 59000000 1937894 IT\nBrunei 434000 12128 BN\n\nWhen using ``keep='all'``, the number of element kept can go beyond ``n``\nif there are duplicate values for the smallest element, all the\nties are kept:\n\n>>> df.nlargest(3, 'population', keep='all')\n population GDP alpha-2\nFrance 65000000 2583560 FR\nItaly 59000000 1937894 IT\nMalta 434000 12011 MT\nMaldives 434000 4520 MV\nBrunei 434000 12128 BN\n\nHowever, ``nlargest`` does not keep ``n`` distinct largest elements:\n\n>>> df.nlargest(5, 'population', keep='all')\n population GDP alpha-2\nFrance 65000000 2583560 FR\nItaly 59000000 1937894 IT\nMalta 434000 12011 MT\nMaldives 434000 4520 MV\nBrunei 434000 12128 BN\n\nTo order by the largest values in column \"population\" and then \"GDP\",\nwe can specify multiple columns like in the next example.\n\n>>> df.nlargest(3, ['population', 'GDP'])\n population GDP alpha-2\nFrance 65000000 2583560 FR\nItaly 59000000 1937894 IT\nBrunei 434000 12128 BN\n"}, "kind": 2, "label": "nlargest", "sortText": "115"}, {"detail": "bound method DataFrame.notna() -> DataFrame", "kind": 2, "label": "notna", "sortText": "116"}, {"detail": "bound method DataFrame.notnull() -> DataFrame", "documentation": {"kind": "plaintext", "value": "DataFrame.notnull is an alias for DataFrame.notna.\n"}, "kind": 2, "label": "notnull", "sortText": "117"}, {"detail": "bound method DataFrame.nsmallest(n: int, columns: Hashable | Sequence[Hashable], keep: Literal[\"first\", \"last\", \"all\"] = \"first\") -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the first `n` rows ordered by `columns` in ascending order.\n\nReturn the first `n` rows with the smallest values in `columns`, in\nascending order. The columns that are not specified are returned as\nwell, but not used for ordering.\n\nThis method is equivalent to\n``df.sort_values(columns, ascending=True).head(n)``, but more\nperformant.\n\nParameters\n----------\nn : int\n Number of items to retrieve.\ncolumns : list or str\n Column name or names to order by.\nkeep : {'first', 'last', 'all'}, default 'first'\n Where there are duplicate values:\n\n - ``first`` : take the first occurrence.\n - ``last`` : take the last occurrence.\n - ``all`` : keep all the ties of the largest item even if it means\n selecting more than ``n`` items.\n\nReturns\n-------\nDataFrame\n\nSee Also\n--------\nDataFrame.nlargest : Return the first `n` rows ordered by `columns` in\n descending order.\nDataFrame.sort_values : Sort DataFrame by the values.\nDataFrame.head : Return the first `n` rows without re-ordering.\n\nExamples\n--------\n>>> df = pd.DataFrame({'population': [59000000, 65000000, 434000,\n... 434000, 434000, 337000, 337000,\n... 11300, 11300],\n... 'GDP': [1937894, 2583560 , 12011, 4520, 12128,\n... 17036, 182, 38, 311],\n... 'alpha-2': [\"IT\", \"FR\", \"MT\", \"MV\", \"BN\",\n... \"IS\", \"NR\", \"TV\", \"AI\"]},\n... index=[\"Italy\", \"France\", \"Malta\",\n... \"Maldives\", \"Brunei\", \"Iceland\",\n... \"Nauru\", \"Tuvalu\", \"Anguilla\"])\n>>> df\n population GDP alpha-2\nItaly 59000000 1937894 IT\nFrance 65000000 2583560 FR\nMalta 434000 12011 MT\nMaldives 434000 4520 MV\nBrunei 434000 12128 BN\nIceland 337000 17036 IS\nNauru 337000 182 NR\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\n\nIn the following example, we will use ``nsmallest`` to select the\nthree rows having the smallest values in column \"population\".\n\n>>> df.nsmallest(3, 'population')\n population GDP alpha-2\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\nIceland 337000 17036 IS\n\nWhen using ``keep='last'``, ties are resolved in reverse order:\n\n>>> df.nsmallest(3, 'population', keep='last')\n population GDP alpha-2\nAnguilla 11300 311 AI\nTuvalu 11300 38 TV\nNauru 337000 182 NR\n\nWhen using ``keep='all'``, the number of element kept can go beyond ``n``\nif there are duplicate values for the largest element, all the\nties are kept.\n\n>>> df.nsmallest(3, 'population', keep='all')\n population GDP alpha-2\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\nIceland 337000 17036 IS\nNauru 337000 182 NR\n\nHowever, ``nsmallest`` does not keep ``n`` distinct\nsmallest elements:\n\n>>> df.nsmallest(4, 'population', keep='all')\n population GDP alpha-2\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\nIceland 337000 17036 IS\nNauru 337000 182 NR\n\nTo order by the smallest values in column \"population\" and then \"GDP\", we can\nspecify multiple columns like in the next example.\n\n>>> df.nsmallest(3, ['population', 'GDP'])\n population GDP alpha-2\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\nNauru 337000 182 NR\n"}, "kind": 2, "label": "nsmallest", "sortText": "118"}, {"detail": "bound method DataFrame.nunique(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, dropna: bool = True) -> Series", "documentation": {"kind": "plaintext", "value": "Count number of distinct elements in specified axis.\n\nReturn Series with number of distinct elements. Can ignore NaN\nvalues.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to use. 0 or 'index' for row-wise, 1 or 'columns' for\n column-wise.\ndropna : bool, default True\n Don't include NaN in the counts.\n\nReturns\n-------\nSeries\n\nSee Also\n--------\nSeries.nunique: Method nunique for Series.\nDataFrame.count: Count non-NA cells for each column or row.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [4, 5, 6], 'B': [4, 1, 1]})\n>>> df.nunique()\nA 3\nB 2\ndtype: int64\n\n>>> df.nunique(axis=1)\n0 1\n1 2\n2 2\ndtype: int64\n"}, "kind": 2, "label": "nunique", "sortText": "119"}, {"detail": "bound method DataFrame.pad(*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = None, inplace: bool = False, limit: None | int = None, downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame | None", "documentation": {"kind": "plaintext", "value": "Fill NA/NaN values by propagating the last valid observation to next valid.\n\n.. deprecated:: 2.0\n\n {klass}.pad is deprecated. Use {klass}.ffill instead.\n\nReturns\n-------\n{klass} or None\n Object with missing values filled or None if ``inplace=True``.\n\nExamples\n--------\nPlease see examples for :meth:`DataFrame.ffill` or :meth:`Series.ffill`.\n"}, "kind": 2, "label": "pad", "sortText": "120"}, {"detail": "bound method DataFrame.pct_change(periods: int = 1, fill_method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None | _NoDefault = ..., limit: int | None | _NoDefault = ..., freq=None, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Fractional change between the current and a prior element.\n\nComputes the fractional change from the immediately previous row by\ndefault. This is useful in comparing the fraction of change in a time\nseries of elements.\n\n.. note::\n\n Despite the name of this method, it calculates fractional change\n (also known as per unit change or relative change) and not\n percentage change. If you need the percentage change, multiply\n these values by 100.\n\nParameters\n----------\nperiods : int, default 1\n Periods to shift for forming percent change.\nfill_method : {'backfill', 'bfill', 'pad', 'ffill', None}, default 'pad'\n How to handle NAs **before** computing percent changes.\n\n .. deprecated:: 2.1\n All options of `fill_method` are deprecated except `fill_method=None`.\n\nlimit : int, default None\n The number of consecutive NAs to fill before stopping.\n\n .. deprecated:: 2.1\n\nfreq : DateOffset, timedelta, or str, optional\n Increment to use from time series API (e.g. 'ME' or BDay()).\n**kwargs\n Additional keyword arguments are passed into\n `DataFrame.shift` or `Series.shift`.\n\nReturns\n-------\nSeries or DataFrame\n The same type as the calling object.\n\nSee Also\n--------\nSeries.diff : Compute the difference of two elements in a Series.\nDataFrame.diff : Compute the difference of two elements in a DataFrame.\nSeries.shift : Shift the index by some number of periods.\nDataFrame.shift : Shift the index by some number of periods.\n\nExamples\n--------\n**Series**\n\n>>> s = pd.Series([90, 91, 85])\n>>> s\n0 90\n1 91\n2 85\ndtype: int64\n\n>>> s.pct_change()\n0 NaN\n1 0.011111\n2 -0.065934\ndtype: float64\n\n>>> s.pct_change(periods=2)\n0 NaN\n1 NaN\n2 -0.055556\ndtype: float64\n\nSee the percentage change in a Series where filling NAs with last\nvalid observation forward to next valid.\n\n>>> s = pd.Series([90, 91, None, 85])\n>>> s\n0 90.0\n1 91.0\n2 NaN\n3 85.0\ndtype: float64\n\n>>> s.ffill().pct_change()\n0 NaN\n1 0.011111\n2 0.000000\n3 -0.065934\ndtype: float64\n\n**DataFrame**\n\nPercentage change in French franc, Deutsche Mark, and Italian lira from\n1980-01-01 to 1980-03-01.\n\n>>> df = pd.DataFrame({\n... 'FR': [4.0405, 4.0963, 4.3149],\n... 'GR': [1.7246, 1.7482, 1.8519],\n... 'IT': [804.74, 810.01, 860.13]},\n... index=['1980-01-01', '1980-02-01', '1980-03-01'])\n>>> df\n FR GR IT\n1980-01-01 4.0405 1.7246 804.74\n1980-02-01 4.0963 1.7482 810.01\n1980-03-01 4.3149 1.8519 860.13\n\n>>> df.pct_change()\n FR GR IT\n1980-01-01 NaN NaN NaN\n1980-02-01 0.013810 0.013684 0.006549\n1980-03-01 0.053365 0.059318 0.061876\n\nPercentage of change in GOOG and APPL stock volume. Shows computing\nthe percentage change between columns.\n\n>>> df = pd.DataFrame({\n... '2016': [1769950, 30586265],\n... '2015': [1500923, 40912316],\n... '2014': [1371819, 41403351]},\n... index=['GOOG', 'APPL'])\n>>> df\n 2016 2015 2014\nGOOG 1769950 1500923 1371819\nAPPL 30586265 40912316 41403351\n\n>>> df.pct_change(axis='columns', periods=-1)\n 2016 2015 2014\nGOOG 0.179241 0.094112 NaN\nAPPL -0.252395 -0.011860 NaN\n"}, "kind": 2, "label": "pct_change", "sortText": "121"}, {"detail": "bound method DataFrame.pipe[T](func: ((...) -> T) | tuple[(...) -> T, str], *args, **kwargs) -> T", "documentation": {"kind": "plaintext", "value": "Apply chainable functions that expect Series or DataFrames.\n\nParameters\n----------\nfunc : function\n Function to apply to the {klass}.\n ``args``, and ``kwargs`` are passed into ``func``.\n Alternatively a ``(callable, data_keyword)`` tuple where\n ``data_keyword`` is a string indicating the keyword of\n ``callable`` that expects the {klass}.\n*args : iterable, optional\n Positional arguments passed into ``func``.\n**kwargs : mapping, optional\n A dictionary of keyword arguments passed into ``func``.\n\nReturns\n-------\nthe return type of ``func``.\n\nSee Also\n--------\nDataFrame.apply : Apply a function along input axis of DataFrame.\nDataFrame.map : Apply a function elementwise on a whole DataFrame.\nSeries.map : Apply a mapping correspondence on a\n :class:`~pandas.Series`.\n\nNotes\n-----\nUse ``.pipe`` when chaining together functions that expect\nSeries, DataFrames or GroupBy objects.\n\nExamples\n--------\nConstructing a income DataFrame from a dictionary.\n\n>>> data = [[8000, 1000], [9500, np.nan], [5000, 2000]]\n>>> df = pd.DataFrame(data, columns=['Salary', 'Others'])\n>>> df\n Salary Others\n0 8000 1000.0\n1 9500 NaN\n2 5000 2000.0\n\nFunctions that perform tax reductions on an income DataFrame.\n\n>>> def subtract_federal_tax(df):\n... return df * 0.9\n>>> def subtract_state_tax(df, rate):\n... return df * (1 - rate)\n>>> def subtract_national_insurance(df, rate, rate_increase):\n... new_rate = rate + rate_increase\n... return df * (1 - new_rate)\n\nInstead of writing\n\n>>> subtract_national_insurance(\n... subtract_state_tax(subtract_federal_tax(df), rate=0.12),\n... rate=0.05,\n... rate_increase=0.02) # doctest: +SKIP\n\nYou can write\n\n>>> (\n... df.pipe(subtract_federal_tax)\n... .pipe(subtract_state_tax, rate=0.12)\n... .pipe(subtract_national_insurance, rate=0.05, rate_increase=0.02)\n... )\n Salary Others\n0 5892.48 736.56\n1 6997.32 NaN\n2 3682.80 1473.12\n\nIf you have a function that takes the data as (say) the second\nargument, pass a tuple indicating which keyword expects the\ndata. For example, suppose ``national_insurance`` takes its data as ``df``\nin the second argument:\n\n>>> def subtract_national_insurance(rate, df, rate_increase):\n... new_rate = rate + rate_increase\n... return df * (1 - new_rate)\n>>> (\n... df.pipe(subtract_federal_tax)\n... .pipe(subtract_state_tax, rate=0.12)\n... .pipe(\n... (subtract_national_insurance, 'df'),\n... rate=0.05,\n... rate_increase=0.02\n... )\n... )\n Salary Others\n0 5892.48 736.56\n1 6997.32 NaN\n2 3682.80 1473.12\n"}, "kind": 2, "label": "pipe", "sortText": "122"}, {"detail": "bound method DataFrame.pivot(*, columns, index=..., values=...) -> DataFrame", "kind": 2, "label": "pivot", "sortText": "123"}, {"detail": "bound method DataFrame.pivot_table(values=None, index=None, columns=None, aggfunc: ((...) -> Unknown) | str | list[((...) -> Unknown) | str] | MutableMapping[Hashable, ((...) -> Unknown) | str | list[((...) -> Unknown) | str]] = \"mean\", fill_value=None, margins: bool = False, dropna: bool = True, margins_name: Hashable = \"All\", observed: bool | _NoDefault = ..., sort: bool = True) -> DataFrame", "kind": 2, "label": "pivot_table", "sortText": "124"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "plot", "sortText": "125"}, {"detail": "bound method DataFrame.pop(item: Hashable) -> Series", "documentation": {"kind": "plaintext", "value": "Return item and drop from frame. Raise KeyError if not found.\n\nParameters\n----------\nitem : label\n Label of column to be popped.\n\nReturns\n-------\nSeries\n\nExamples\n--------\n>>> df = pd.DataFrame([('falcon', 'bird', 389.0),\n... ('parrot', 'bird', 24.0),\n... ('lion', 'mammal', 80.5),\n... ('monkey', 'mammal', np.nan)],\n... columns=('name', 'class', 'max_speed'))\n>>> df\n name class max_speed\n0 falcon bird 389.0\n1 parrot bird 24.0\n2 lion mammal 80.5\n3 monkey mammal NaN\n\n>>> df.pop('class')\n0 bird\n1 bird\n2 mammal\n3 mammal\nName: class, dtype: object\n\n>>> df\n name max_speed\n0 falcon 389.0\n1 parrot 24.0\n2 lion 80.5\n3 monkey NaN\n"}, "kind": 2, "label": "pop", "sortText": "126"}, {"detail": "bound method DataFrame.pow(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "pow", "sortText": "127"}, {"detail": "bound method DataFrame.prod(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, min_count: int = 0, **kwargs) -> Unknown", "kind": 2, "label": "prod", "sortText": "128"}, {"detail": "(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, min_count: int = 0, **kwargs) -> Unknown", "kind": 2, "label": "product", "sortText": "129"}, {"detail": "Overload[(q: float = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., numeric_only: bool = ..., interpolation: Literal[\"linear\", \"lower\", \"higher\", \"midpoint\", \"nearest\"] = ..., method: Literal[\"single\", \"table\"] = ...) -> Series, (q: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | Series | Sequence[float], axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., numeric_only: bool = ..., interpolation: Literal[\"linear\", \"lower\", \"higher\", \"midpoint\", \"nearest\"] = ..., method: Literal[\"single\", \"table\"] = ...) -> Series | DataFrame, (q: float | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | ... omitted 3 union elements = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., numeric_only: bool = ..., interpolation: Literal[\"linear\", \"lower\", \"higher\", \"midpoint\", \"nearest\"] = ..., method: Literal[\"single\", \"table\"] = ...) -> Series | DataFrame]", "documentation": {"kind": "plaintext", "value": "Return values at the given quantile over requested axis.\n\nParameters\n----------\nq : float or array-like, default 0.5 (50% quantile)\n Value between 0 <= q <= 1, the quantile(s) to compute.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Equals 0 or 'index' for row-wise, 1 or 'columns' for column-wise.\nnumeric_only : bool, default False\n Include only `float`, `int` or `boolean` data.\n\n .. versionchanged:: 2.0.0\n The default value of ``numeric_only`` is now ``False``.\n\ninterpolation : {'linear', 'lower', 'higher', 'midpoint', 'nearest'}\n This optional parameter specifies the interpolation method to use,\n when the desired quantile lies between two data points `i` and `j`:\n\n * linear: `i + (j - i) * fraction`, where `fraction` is the\n fractional part of the index surrounded by `i` and `j`.\n * lower: `i`.\n * higher: `j`.\n * nearest: `i` or `j` whichever is nearest.\n * midpoint: (`i` + `j`) / 2.\nmethod : {'single', 'table'}, default 'single'\n Whether to compute quantiles per-column ('single') or over all columns\n ('table'). When 'table', the only allowed interpolation methods are\n 'nearest', 'lower', and 'higher'.\n\nReturns\n-------\nSeries or DataFrame\n\n If ``q`` is an array, a DataFrame will be returned where the\n index is ``q``, the columns are the columns of self, and the\n values are the quantiles.\n If ``q`` is a float, a Series will be returned where the\n index is the columns of self and the values are the quantiles.\n\nSee Also\n--------\ncore.window.rolling.Rolling.quantile: Rolling quantile.\nnumpy.percentile: Numpy function to compute the percentile.\n\nExamples\n--------\n>>> df = pd.DataFrame(np.array([[1, 1], [2, 10], [3, 100], [4, 100]]),\n... columns=['a', 'b'])\n>>> df.quantile(.1)\na 1.3\nb 3.7\nName: 0.1, dtype: float64\n>>> df.quantile([.1, .5])\n a b\n0.1 1.3 3.7\n0.5 2.5 55.0\n\nSpecifying `method='table'` will compute the quantile over all columns.\n\n>>> df.quantile(.1, method=\"table\", interpolation=\"nearest\")\na 1\nb 1\nName: 0.1, dtype: int64\n>>> df.quantile([.1, .5], method=\"table\", interpolation=\"nearest\")\n a b\n0.1 1 1\n0.5 3 100\n\nSpecifying `numeric_only=False` will also compute the quantile of\ndatetime and timedelta data.\n\n>>> df = pd.DataFrame({'A': [1, 2],\n... 'B': [pd.Timestamp('2010'),\n... pd.Timestamp('2011')],\n... 'C': [pd.Timedelta('1 days'),\n... pd.Timedelta('2 days')]})\n>>> df.quantile(0.5, numeric_only=False)\nA 1.5\nB 2010-07-02 12:00:00\nC 1 days 12:00:00\nName: 0.5, dtype: object\n"}, "kind": 2, "label": "quantile", "sortText": "130"}, {"detail": "Overload[(expr: str, *, inplace: Literal[False] = ..., **kwargs) -> DataFrame, (expr: str, *, inplace: Literal[True], **kwargs) -> None, (expr: str, *, inplace: bool = ..., **kwargs) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Query the columns of a DataFrame with a boolean expression.\n\nParameters\n----------\nexpr : str\n The query string to evaluate.\n\n You can refer to variables\n in the environment by prefixing them with an '@' character like\n ``@a + b``.\n\n You can refer to column names that are not valid Python variable names\n by surrounding them in backticks. Thus, column names containing spaces\n or punctuations (besides underscores) or starting with digits must be\n surrounded by backticks. (For example, a column named \"Area (cm^2)\" would\n be referenced as ```Area (cm^2)```). Column names which are Python keywords\n (like \"list\", \"for\", \"import\", etc) cannot be used.\n\n For example, if one of your columns is called ``a a`` and you want\n to sum it with ``b``, your query should be ```a a` + b``.\n\ninplace : bool\n Whether to modify the DataFrame rather than creating a new one.\n**kwargs\n See the documentation for :func:`eval` for complete details\n on the keyword arguments accepted by :meth:`DataFrame.query`.\n\nReturns\n-------\nDataFrame or None\n DataFrame resulting from the provided query expression or\n None if ``inplace=True``.\n\nSee Also\n--------\neval : Evaluate a string describing operations on\n DataFrame columns.\nDataFrame.eval : Evaluate a string describing operations on\n DataFrame columns.\n\nNotes\n-----\nThe result of the evaluation of this expression is first passed to\n:attr:`DataFrame.loc` and if that fails because of a\nmultidimensional key (e.g., a DataFrame) then the result will be passed\nto :meth:`DataFrame.__getitem__`.\n\nThis method uses the top-level :func:`eval` function to\nevaluate the passed query.\n\nThe :meth:`~pandas.DataFrame.query` method uses a slightly\nmodified Python syntax by default. For example, the ``&`` and ``|``\n(bitwise) operators have the precedence of their boolean cousins,\n:keyword:`and` and :keyword:`or`. This *is* syntactically valid Python,\nhowever the semantics are different.\n\nYou can change the semantics of the expression by passing the keyword\nargument ``parser='python'``. This enforces the same semantics as\nevaluation in Python space. Likewise, you can pass ``engine='python'``\nto evaluate an expression using Python itself as a backend. This is not\nrecommended as it is inefficient compared to using ``numexpr`` as the\nengine.\n\nThe :attr:`DataFrame.index` and\n:attr:`DataFrame.columns` attributes of the\n:class:`~pandas.DataFrame` instance are placed in the query namespace\nby default, which allows you to treat both the index and columns of the\nframe as a column in the frame.\nThe identifier ``index`` is used for the frame index; you can also\nuse the name of the index to identify it in a query. Please note that\nPython keywords may not be used as identifiers.\n\nFor further details and examples see the ``query`` documentation in\n:ref:`indexing `.\n\n*Backtick quoted variables*\n\nBacktick quoted variables are parsed as literal Python code and\nare converted internally to a Python valid identifier.\nThis can lead to the following problems.\n\nDuring parsing a number of disallowed characters inside the backtick\nquoted string are replaced by strings that are allowed as a Python identifier.\nThese characters include all operators in Python, the space character, the\nquestion mark, the exclamation mark, the dollar sign, and the euro sign.\nFor other characters that fall outside the ASCII range (U+0001..U+007F)\nand those that are not further specified in PEP 3131,\nthe query parser will raise an error.\nThis excludes whitespace different than the space character,\nbut also the hashtag (as it is used for comments) and the backtick\nitself (backtick can also not be escaped).\n\nIn a special case, quotes that make a pair around a backtick can\nconfuse the parser.\nFor example, ```it's` > `that's``` will raise an error,\nas it forms a quoted string (``'s > `that'``) with a backtick inside.\n\nSee also the Python documentation about lexical analysis\n(https://docs.python.org/3/reference/lexical_analysis.html)\nin combination with the source code in :mod:`pandas.core.computation.parsing`.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': range(1, 6),\n... 'B': range(10, 0, -2),\n... 'C C': range(10, 5, -1)})\n>>> df\n A B C C\n0 1 10 10\n1 2 8 9\n2 3 6 8\n3 4 4 7\n4 5 2 6\n>>> df.query('A > B')\n A B C C\n4 5 2 6\n\nThe previous expression is equivalent to\n\n>>> df[df.A > df.B]\n A B C C\n4 5 2 6\n\nFor columns with spaces in their name, you can use backtick quoting.\n\n>>> df.query('B == `C C`')\n A B C C\n0 1 10 10\n\nThe previous expression is equivalent to\n\n>>> df[df.B == df['C C']]\n A B C C\n0 1 10 10\n"}, "kind": 2, "label": "query", "sortText": "131"}, {"detail": "bound method DataFrame.radd(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "radd", "sortText": "132"}, {"detail": "bound method DataFrame.rank(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, method: Literal[\"average\", \"min\", \"max\", \"first\", \"dense\"] = \"average\", numeric_only: bool = False, na_option: Literal[\"keep\", \"top\", \"bottom\"] = \"keep\", ascending: bool = True, pct: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Compute numerical data ranks (1 through n) along axis.\n\nBy default, equal values are assigned a rank that is the average of the\nranks of those values.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Index to direct ranking.\n For `Series` this parameter is unused and defaults to 0.\nmethod : {'average', 'min', 'max', 'first', 'dense'}, default 'average'\n How to rank the group of records that have the same value (i.e. ties):\n\n * average: average rank of the group\n * min: lowest rank in the group\n * max: highest rank in the group\n * first: ranks assigned in order they appear in the array\n * dense: like 'min', but rank always increases by 1 between groups.\n\nnumeric_only : bool, default False\n For DataFrame objects, rank only numeric columns if set to True.\n\n .. versionchanged:: 2.0.0\n The default value of ``numeric_only`` is now ``False``.\n\nna_option : {'keep', 'top', 'bottom'}, default 'keep'\n How to rank NaN values:\n\n * keep: assign NaN rank to NaN values\n * top: assign lowest rank to NaN values\n * bottom: assign highest rank to NaN values\n\nascending : bool, default True\n Whether or not the elements should be ranked in ascending order.\npct : bool, default False\n Whether or not to display the returned rankings in percentile\n form.\n\nReturns\n-------\nsame type as caller\n Return a Series or DataFrame with data ranks as values.\n\nSee Also\n--------\ncore.groupby.DataFrameGroupBy.rank : Rank of values within each group.\ncore.groupby.SeriesGroupBy.rank : Rank of values within each group.\n\nExamples\n--------\n>>> df = pd.DataFrame(data={'Animal': ['cat', 'penguin', 'dog',\n... 'spider', 'snake'],\n... 'Number_legs': [4, 2, 4, 8, np.nan]})\n>>> df\n Animal Number_legs\n0 cat 4.0\n1 penguin 2.0\n2 dog 4.0\n3 spider 8.0\n4 snake NaN\n\nTies are assigned the mean of the ranks (by default) for the group.\n\n>>> s = pd.Series(range(5), index=list(\"abcde\"))\n>>> s[\"d\"] = s[\"b\"]\n>>> s.rank()\na 1.0\nb 2.5\nc 4.0\nd 2.5\ne 5.0\ndtype: float64\n\nThe following example shows how the method behaves with the above\nparameters:\n\n* default_rank: this is the default behaviour obtained without using\n any parameter.\n* max_rank: setting ``method = 'max'`` the records that have the\n same values are ranked using the highest rank (e.g.: since 'cat'\n and 'dog' are both in the 2nd and 3rd position, rank 3 is assigned.)\n* NA_bottom: choosing ``na_option = 'bottom'``, if there are records\n with NaN values they are placed at the bottom of the ranking.\n* pct_rank: when setting ``pct = True``, the ranking is expressed as\n percentile rank.\n\n>>> df['default_rank'] = df['Number_legs'].rank()\n>>> df['max_rank'] = df['Number_legs'].rank(method='max')\n>>> df['NA_bottom'] = df['Number_legs'].rank(na_option='bottom')\n>>> df['pct_rank'] = df['Number_legs'].rank(pct=True)\n>>> df\n Animal Number_legs default_rank max_rank NA_bottom pct_rank\n0 cat 4.0 2.5 3.0 2.5 0.625\n1 penguin 2.0 1.0 1.0 1.0 0.250\n2 dog 4.0 2.5 3.0 2.5 0.625\n3 spider 8.0 4.0 4.0 4.0 1.000\n4 snake NaN NaN NaN 5.0 NaN\n"}, "kind": 2, "label": "rank", "sortText": "133"}, {"detail": "(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rdiv", "sortText": "134"}, {"detail": "bound method DataFrame.reindex(labels=None, *, index=None, columns=None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\", \"nearest\"] | None = None, copy: bool | None = None, level: Hashable = None, fill_value: str | float | Period | ... omitted 6 union elements = ..., limit: int | None = None, tolerance=None) -> DataFrame", "kind": 2, "label": "reindex", "sortText": "135"}, {"detail": "bound method DataFrame.reindex_like(other, method: Literal[\"backfill\", \"bfill\", \"pad\", \"ffill\", \"nearest\"] | None = None, copy: bool | None = None, limit: int | None = None, tolerance=None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return an object with matching indices as other object.\n\nConform the object to the same index on all axes. Optional\nfilling logic, placing NaN in locations having no value\nin the previous index. A new object is produced unless the\nnew index is equivalent to the current one and copy=False.\n\nParameters\n----------\nother : Object of the same data type\n Its row and column indices are used to define the new indices\n of this object.\nmethod : {None, 'backfill'/'bfill', 'pad'/'ffill', 'nearest'}\n Method to use for filling holes in reindexed DataFrame.\n Please note: this is only applicable to DataFrames/Series with a\n monotonically increasing/decreasing index.\n\n * None (default): don't fill gaps\n * pad / ffill: propagate last valid observation forward to next\n valid\n * backfill / bfill: use next valid observation to fill gap\n * nearest: use nearest valid observations to fill gap.\n\ncopy : bool, default True\n Return a new object, even if the passed indexes are the same.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\nlimit : int, default None\n Maximum number of consecutive labels to fill for inexact matches.\ntolerance : optional\n Maximum distance between original and new labels for inexact\n matches. The values of the index at the matching locations must\n satisfy the equation ``abs(index[indexer] - target) <= tolerance``.\n\n Tolerance may be a scalar value, which applies the same tolerance\n to all values, or list-like, which applies variable tolerance per\n element. List-like includes list, tuple, array, Series, and must be\n the same size as the index and its dtype must exactly match the\n index's type.\n\nReturns\n-------\nSeries or DataFrame\n Same type as caller, but with changed indices on each axis.\n\nSee Also\n--------\nDataFrame.set_index : Set row labels.\nDataFrame.reset_index : Remove row labels or move them to new columns.\nDataFrame.reindex : Change to new indices or expand indices.\n\nNotes\n-----\nSame as calling\n``.reindex(index=other.index, columns=other.columns,...)``.\n\nExamples\n--------\n>>> df1 = pd.DataFrame([[24.3, 75.7, 'high'],\n... [31, 87.8, 'high'],\n... [22, 71.6, 'medium'],\n... [35, 95, 'medium']],\n... columns=['temp_celsius', 'temp_fahrenheit',\n... 'windspeed'],\n... index=pd.date_range(start='2014-02-12',\n... end='2014-02-15', freq='D'))\n\n>>> df1\n temp_celsius temp_fahrenheit windspeed\n2014-02-12 24.3 75.7 high\n2014-02-13 31.0 87.8 high\n2014-02-14 22.0 71.6 medium\n2014-02-15 35.0 95.0 medium\n\n>>> df2 = pd.DataFrame([[28, 'low'],\n... [30, 'low'],\n... [35.1, 'medium']],\n... columns=['temp_celsius', 'windspeed'],\n... index=pd.DatetimeIndex(['2014-02-12', '2014-02-13',\n... '2014-02-15']))\n\n>>> df2\n temp_celsius windspeed\n2014-02-12 28.0 low\n2014-02-13 30.0 low\n2014-02-15 35.1 medium\n\n>>> df2.reindex_like(df1)\n temp_celsius temp_fahrenheit windspeed\n2014-02-12 28.0 NaN low\n2014-02-13 30.0 NaN low\n2014-02-14 NaN NaN NaN\n2014-02-15 35.1 NaN medium\n"}, "kind": 2, "label": "reindex_like", "sortText": "136"}, {"detail": "Overload[(mapper: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., *, index: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., columns: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., copy: bool | None = ..., inplace: Literal[True], level: Hashable = ..., errors: Literal[\"ignore\", \"raise\"] = ...) -> None, (mapper: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., *, index: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., columns: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., copy: bool | None = ..., inplace: Literal[False] = ..., level: Hashable = ..., errors: Literal[\"ignore\", \"raise\"] = ...) -> DataFrame, (mapper: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., *, index: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., columns: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., copy: bool | None = ..., inplace: bool = ..., level: Hashable = ..., errors: Literal[\"ignore\", \"raise\"] = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Rename columns or index labels.\n\nFunction / dict values must be unique (1-to-1). Labels not contained in\na dict / Series will be left as-is. Extra labels listed don't throw an\nerror.\n\nSee the :ref:`user guide ` for more.\n\nParameters\n----------\nmapper : dict-like or function\n Dict-like or function transformations to apply to\n that axis' values. Use either ``mapper`` and ``axis`` to\n specify the axis to target with ``mapper``, or ``index`` and\n ``columns``.\nindex : dict-like or function\n Alternative to specifying axis (``mapper, axis=0``\n is equivalent to ``index=mapper``).\ncolumns : dict-like or function\n Alternative to specifying axis (``mapper, axis=1``\n is equivalent to ``columns=mapper``).\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Axis to target with ``mapper``. Can be either the axis name\n ('index', 'columns') or number (0, 1). The default is 'index'.\ncopy : bool, default True\n Also copy underlying data.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\ninplace : bool, default False\n Whether to modify the DataFrame rather than creating a new one.\n If True then value of copy is ignored.\nlevel : int or level name, default None\n In case of a MultiIndex, only rename labels in the specified\n level.\nerrors : {'ignore', 'raise'}, default 'ignore'\n If 'raise', raise a `KeyError` when a dict-like `mapper`, `index`,\n or `columns` contains labels that are not present in the Index\n being transformed.\n If 'ignore', existing keys will be renamed and extra keys will be\n ignored.\n\nReturns\n-------\nDataFrame or None\n DataFrame with the renamed axis labels or None if ``inplace=True``.\n\nRaises\n------\nKeyError\n If any of the labels is not found in the selected axis and\n \"errors='raise'\".\n\nSee Also\n--------\nDataFrame.rename_axis : Set the name of the axis.\n\nExamples\n--------\n``DataFrame.rename`` supports two calling conventions\n\n* ``(index=index_mapper, columns=columns_mapper, ...)``\n* ``(mapper, axis={'index', 'columns'}, ...)``\n\nWe *highly* recommend using keyword arguments to clarify your\nintent.\n\nRename columns using a mapping:\n\n>>> df = pd.DataFrame({\"A\": [1, 2, 3], \"B\": [4, 5, 6]})\n>>> df.rename(columns={\"A\": \"a\", \"B\": \"c\"})\n a c\n0 1 4\n1 2 5\n2 3 6\n\nRename index using a mapping:\n\n>>> df.rename(index={0: \"x\", 1: \"y\", 2: \"z\"})\n A B\nx 1 4\ny 2 5\nz 3 6\n\nCast index labels to a different type:\n\n>>> df.index\nRangeIndex(start=0, stop=3, step=1)\n>>> df.rename(index=str).index\nIndex(['0', '1', '2'], dtype='object')\n\n>>> df.rename(columns={\"A\": \"a\", \"B\": \"b\", \"C\": \"c\"}, errors=\"raise\")\nTraceback (most recent call last):\nKeyError: ['C'] not found in axis\n\nUsing axis-style parameters:\n\n>>> df.rename(str.lower, axis='columns')\n a b\n0 1 4\n1 2 5\n2 3 6\n\n>>> df.rename({1: 2, 2: 4}, axis='index')\n A B\n0 1 4\n2 2 5\n4 3 6\n"}, "kind": 2, "label": "rename", "sortText": "137"}, {"detail": "Overload[(mapper: Hashable | Sequence[Hashable] = ..., *, index=..., columns=..., axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., copy: bool | None = ..., inplace: Literal[False] = ...) -> DataFrame, (mapper: Hashable | Sequence[Hashable] = ..., *, index=..., columns=..., axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., copy: bool | None = ..., inplace: Literal[True]) -> None, (mapper: Hashable | Sequence[Hashable] = ..., *, index=..., columns=..., axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., copy: bool | None = ..., inplace: bool = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Set the name of the axis for the index or columns.\n\nParameters\n----------\nmapper : scalar, list-like, optional\n Value to set the axis name attribute.\nindex, columns : scalar, list-like, dict-like or function, optional\n A scalar, list-like, dict-like or functions transformations to\n apply to that axis' values.\n Note that the ``columns`` parameter is not allowed if the\n object is a Series. This parameter only apply for DataFrame\n type objects.\n\n Use either ``mapper`` and ``axis`` to\n specify the axis to target with ``mapper``, or ``index``\n and/or ``columns``.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to rename. For `Series` this parameter is unused and defaults to 0.\ncopy : bool, default None\n Also copy underlying data.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\ninplace : bool, default False\n Modifies the object directly, instead of creating a new Series\n or DataFrame.\n\nReturns\n-------\nSeries, DataFrame, or None\n The same type as the caller or None if ``inplace=True``.\n\nSee Also\n--------\nSeries.rename : Alter Series index labels or name.\nDataFrame.rename : Alter DataFrame index labels or name.\nIndex.rename : Set new names on index.\n\nNotes\n-----\n``DataFrame.rename_axis`` supports two calling conventions\n\n* ``(index=index_mapper, columns=columns_mapper, ...)``\n* ``(mapper, axis={'index', 'columns'}, ...)``\n\nThe first calling convention will only modify the names of\nthe index and/or the names of the Index object that is the columns.\nIn this case, the parameter ``copy`` is ignored.\n\nThe second calling convention will modify the names of the\ncorresponding index if mapper is a list or a scalar.\nHowever, if mapper is dict-like or a function, it will use the\ndeprecated behavior of modifying the axis *labels*.\n\nWe *highly* recommend using keyword arguments to clarify your\nintent.\n\nExamples\n--------\n**Series**\n\n>>> s = pd.Series([\"dog\", \"cat\", \"monkey\"])\n>>> s\n0 dog\n1 cat\n2 monkey\ndtype: object\n>>> s.rename_axis(\"animal\")\nanimal\n0 dog\n1 cat\n2 monkey\ndtype: object\n\n**DataFrame**\n\n>>> df = pd.DataFrame({\"num_legs\": [4, 4, 2],\n... \"num_arms\": [0, 0, 2]},\n... [\"dog\", \"cat\", \"monkey\"])\n>>> df\n num_legs num_arms\ndog 4 0\ncat 4 0\nmonkey 2 2\n>>> df = df.rename_axis(\"animal\")\n>>> df\n num_legs num_arms\nanimal\ndog 4 0\ncat 4 0\nmonkey 2 2\n>>> df = df.rename_axis(\"limbs\", axis=\"columns\")\n>>> df\nlimbs num_legs num_arms\nanimal\ndog 4 0\ncat 4 0\nmonkey 2 2\n\n**MultiIndex**\n\n>>> df.index = pd.MultiIndex.from_product([['mammal'],\n... ['dog', 'cat', 'monkey']],\n... names=['type', 'name'])\n>>> df\nlimbs num_legs num_arms\ntype name\nmammal dog 4 0\n cat 4 0\n monkey 2 2\n\n>>> df.rename_axis(index={'type': 'class'})\nlimbs num_legs num_arms\nclass name\nmammal dog 4 0\n cat 4 0\n monkey 2 2\n\n>>> df.rename_axis(columns=str.upper)\nLIMBS num_legs num_arms\ntype name\nmammal dog 4 0\n cat 4 0\n monkey 2 2\n"}, "kind": 2, "label": "rename_axis", "sortText": "138"}, {"detail": "bound method DataFrame.reorder_levels(order: Sequence[int | str], axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Rearrange index levels using input order. May not drop or duplicate levels.\n\nParameters\n----------\norder : list of int or list of str\n List representing new level order. Reference level by number\n (position) or by key (label).\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Where to reorder levels.\n\nReturns\n-------\nDataFrame\n\nExamples\n--------\n>>> data = {\n... \"class\": [\"Mammals\", \"Mammals\", \"Reptiles\"],\n... \"diet\": [\"Omnivore\", \"Carnivore\", \"Carnivore\"],\n... \"species\": [\"Humans\", \"Dogs\", \"Snakes\"],\n... }\n>>> df = pd.DataFrame(data, columns=[\"class\", \"diet\", \"species\"])\n>>> df = df.set_index([\"class\", \"diet\"])\n>>> df\n species\nclass diet\nMammals Omnivore Humans\n Carnivore Dogs\nReptiles Carnivore Snakes\n\nLet's reorder the levels of the index:\n\n>>> df.reorder_levels([\"diet\", \"class\"])\n species\ndiet class\nOmnivore Mammals Humans\nCarnivore Mammals Dogs\n Reptiles Snakes\n"}, "kind": 2, "label": "reorder_levels", "sortText": "139"}, {"detail": "Overload[(to_replace=..., value=..., *, inplace: Literal[False] = ..., limit: int | None = ..., regex: bool = ..., method: Literal[\"pad\", \"ffill\", \"bfill\"] | _NoDefault = ...) -> DataFrame, (to_replace=..., value=..., *, inplace: Literal[True], limit: int | None = ..., regex: bool = ..., method: Literal[\"pad\", \"ffill\", \"bfill\"] | _NoDefault = ...) -> None, (to_replace=..., value=..., *, inplace: bool = ..., limit: int | None = ..., regex: bool = ..., method: Literal[\"pad\", \"ffill\", \"bfill\"] | _NoDefault = ...) -> DataFrame | None]", "kind": 2, "label": "replace", "sortText": "140"}, {"detail": "bound method DataFrame.resample(rule, axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., closed: Literal[\"right\", \"left\"] | None = None, label: Literal[\"right\", \"left\"] | None = None, convention: Literal[\"start\", \"end\", \"s\", \"e\"] = \"start\", kind: Literal[\"timestamp\", \"period\"] | None | _NoDefault = ..., on: Hashable = None, level: Hashable = None, origin: str | date | datetime64[Any] | signedinteger[_64Bit] | float = \"start_day\", offset: timedelta | timedelta64[Any] | signedinteger[_64Bit] | ... omitted 3 union elements = None, group_keys: bool = False) -> Resampler", "documentation": {"kind": "plaintext", "value": "Resample time-series data.\n\nConvenience method for frequency conversion and resampling of time series.\nThe object must have a datetime-like index (`DatetimeIndex`, `PeriodIndex`,\nor `TimedeltaIndex`), or the caller must pass the label of a datetime-like\nseries/index to the ``on``/``level`` keyword parameter.\n\nParameters\n----------\nrule : DateOffset, Timedelta or str\n The offset string or object representing target conversion.\naxis : {{0 or 'index', 1 or 'columns'}}, default 0\n Which axis to use for up- or down-sampling. For `Series` this parameter\n is unused and defaults to 0. Must be\n `DatetimeIndex`, `TimedeltaIndex` or `PeriodIndex`.\n\n .. deprecated:: 2.0.0\n Use frame.T.resample(...) instead.\nclosed : {{'right', 'left'}}, default None\n Which side of bin interval is closed. The default is 'left'\n for all frequency offsets except for 'ME', 'YE', 'QE', 'BME',\n 'BA', 'BQE', and 'W' which all have a default of 'right'.\nlabel : {{'right', 'left'}}, default None\n Which bin edge label to label bucket with. The default is 'left'\n for all frequency offsets except for 'ME', 'YE', 'QE', 'BME',\n 'BA', 'BQE', and 'W' which all have a default of 'right'.\nconvention : {{'start', 'end', 's', 'e'}}, default 'start'\n For `PeriodIndex` only, controls whether to use the start or\n end of `rule`.\n\nkind : {{'timestamp', 'period'}}, optional, default None\n Pass 'timestamp' to convert the resulting index to a\n `DateTimeIndex` or 'period' to convert it to a `PeriodIndex`.\n By default the input representation is retained.\n\n .. deprecated:: 2.2.0\n Convert index to desired type explicitly instead.\n\non : str, optional\n For a DataFrame, column to use instead of index for resampling.\n Column must be datetime-like.\nlevel : str or int, optional\n For a MultiIndex, level (name or number) to use for\n resampling. `level` must be datetime-like.\norigin : Timestamp or str, default 'start_day'\n The timestamp on which to adjust the grouping. The timezone of origin\n must match the timezone of the index.\n If string, must be one of the following:\n\n - 'epoch': `origin` is 1970-01-01\n - 'start': `origin` is the first value of the timeseries\n - 'start_day': `origin` is the first day at midnight of the timeseries\n\n - 'end': `origin` is the last value of the timeseries\n - 'end_day': `origin` is the ceiling midnight of the last day\n\n .. versionadded:: 1.3.0\n\n .. note::\n\n Only takes effect for Tick-frequencies (i.e. fixed frequencies like\n days, hours, and minutes, rather than months or quarters).\noffset : Timedelta or str, default is None\n An offset timedelta added to the origin.\n\ngroup_keys : bool, default False\n Whether to include the group keys in the result index when using\n ``.apply()`` on the resampled object.\n\n .. versionadded:: 1.5.0\n\n Not specifying ``group_keys`` will retain values-dependent behavior\n from pandas 1.4 and earlier (see :ref:`pandas 1.5.0 Release notes\n ` for examples).\n\n .. versionchanged:: 2.0.0\n\n ``group_keys`` now defaults to ``False``.\n\nReturns\n-------\npandas.api.typing.Resampler\n :class:`~pandas.core.Resampler` object.\n\nSee Also\n--------\nSeries.resample : Resample a Series.\nDataFrame.resample : Resample a DataFrame.\ngroupby : Group {klass} by mapping, function, label, or list of labels.\nasfreq : Reindex a {klass} with the given frequency without grouping.\n\nNotes\n-----\nSee the `user guide\n`__\nfor more.\n\nTo learn more about the offset strings, please see `this link\n`__.\n\nExamples\n--------\nStart by creating a series with 9 one minute timestamps.\n\n>>> index = pd.date_range('1/1/2000', periods=9, freq='min')\n>>> series = pd.Series(range(9), index=index)\n>>> series\n2000-01-01 00:00:00 0\n2000-01-01 00:01:00 1\n2000-01-01 00:02:00 2\n2000-01-01 00:03:00 3\n2000-01-01 00:04:00 4\n2000-01-01 00:05:00 5\n2000-01-01 00:06:00 6\n2000-01-01 00:07:00 7\n2000-01-01 00:08:00 8\nFreq: min, dtype: int64\n\nDownsample the series into 3 minute bins and sum the values\nof the timestamps falling into a bin.\n\n>>> series.resample('3min').sum()\n2000-01-01 00:00:00 3\n2000-01-01 00:03:00 12\n2000-01-01 00:06:00 21\nFreq: 3min, dtype: int64\n\nDownsample the series into 3 minute bins as above, but label each\nbin using the right edge instead of the left. Please note that the\nvalue in the bucket used as the label is not included in the bucket,\nwhich it labels. For example, in the original series the\nbucket ``2000-01-01 00:03:00`` contains the value 3, but the summed\nvalue in the resampled bucket with the label ``2000-01-01 00:03:00``\ndoes not include 3 (if it did, the summed value would be 6, not 3).\n\n>>> series.resample('3min', label='right').sum()\n2000-01-01 00:03:00 3\n2000-01-01 00:06:00 12\n2000-01-01 00:09:00 21\nFreq: 3min, dtype: int64\n\nTo include this value close the right side of the bin interval,\nas shown below.\n\n>>> series.resample('3min', label='right', closed='right').sum()\n2000-01-01 00:00:00 0\n2000-01-01 00:03:00 6\n2000-01-01 00:06:00 15\n2000-01-01 00:09:00 15\nFreq: 3min, dtype: int64\n\nUpsample the series into 30 second bins.\n\n>>> series.resample('30s').asfreq()[0:5] # Select first 5 rows\n2000-01-01 00:00:00 0.0\n2000-01-01 00:00:30 NaN\n2000-01-01 00:01:00 1.0\n2000-01-01 00:01:30 NaN\n2000-01-01 00:02:00 2.0\nFreq: 30s, dtype: float64\n\nUpsample the series into 30 second bins and fill the ``NaN``\nvalues using the ``ffill`` method.\n\n>>> series.resample('30s').ffill()[0:5]\n2000-01-01 00:00:00 0\n2000-01-01 00:00:30 0\n2000-01-01 00:01:00 1\n2000-01-01 00:01:30 1\n2000-01-01 00:02:00 2\nFreq: 30s, dtype: int64\n\nUpsample the series into 30 second bins and fill the\n``NaN`` values using the ``bfill`` method.\n\n>>> series.resample('30s').bfill()[0:5]\n2000-01-01 00:00:00 0\n2000-01-01 00:00:30 1\n2000-01-01 00:01:00 1\n2000-01-01 00:01:30 2\n2000-01-01 00:02:00 2\nFreq: 30s, dtype: int64\n\nPass a custom function via ``apply``\n\n>>> def custom_resampler(arraylike):\n... return np.sum(arraylike) + 5\n...\n>>> series.resample('3min').apply(custom_resampler)\n2000-01-01 00:00:00 8\n2000-01-01 00:03:00 17\n2000-01-01 00:06:00 26\nFreq: 3min, dtype: int64\n\nFor a Series with a PeriodIndex, the keyword `convention` can be\nused to control whether to use the start or end of `rule`.\n\nResample a year by quarter using 'start' `convention`. Values are\nassigned to the first quarter of the period.\n\n>>> s = pd.Series(\n... [1, 2], index=pd.period_range(\"2012-01-01\", freq=\"Y\", periods=2)\n... )\n>>> s\n2012 1\n2013 2\nFreq: Y-DEC, dtype: int64\n>>> s.resample(\"Q\", convention=\"start\").asfreq()\n2012Q1 1.0\n2012Q2 NaN\n2012Q3 NaN\n2012Q4 NaN\n2013Q1 2.0\n2013Q2 NaN\n2013Q3 NaN\n2013Q4 NaN\nFreq: Q-DEC, dtype: float64\n\nResample quarters by month using 'end' `convention`. Values are\nassigned to the last month of the period.\n\n>>> q = pd.Series(\n... [1, 2, 3, 4], index=pd.period_range(\"2018-01-01\", freq=\"Q\", periods=4)\n... )\n>>> q\n2018Q1 1\n2018Q2 2\n2018Q3 3\n2018Q4 4\nFreq: Q-DEC, dtype: int64\n>>> q.resample(\"M\", convention=\"end\").asfreq()\n2018-03 1.0\n2018-04 NaN\n2018-05 NaN\n2018-06 2.0\n2018-07 NaN\n2018-08 NaN\n2018-09 3.0\n2018-10 NaN\n2018-11 NaN\n2018-12 4.0\nFreq: M, dtype: float64\n\nFor DataFrame objects, the keyword `on` can be used to specify the\ncolumn instead of the index for resampling.\n\n>>> d = {{'price': [10, 11, 9, 13, 14, 18, 17, 19],\n... 'volume': [50, 60, 40, 100, 50, 100, 40, 50]}}\n>>> df = pd.DataFrame(d)\n>>> df['week_starting'] = pd.date_range('01/01/2018',\n... periods=8,\n... freq='W')\n>>> df\n price volume week_starting\n0 10 50 2018-01-07\n1 11 60 2018-01-14\n2 9 40 2018-01-21\n3 13 100 2018-01-28\n4 14 50 2018-02-04\n5 18 100 2018-02-11\n6 17 40 2018-02-18\n7 19 50 2018-02-25\n>>> df.resample('ME', on='week_starting').mean()\n price volume\nweek_starting\n2018-01-31 10.75 62.5\n2018-02-28 17.00 60.0\n\nFor a DataFrame with MultiIndex, the keyword `level` can be used to\nspecify on which level the resampling needs to take place.\n\n>>> days = pd.date_range('1/1/2000', periods=4, freq='D')\n>>> d2 = {{'price': [10, 11, 9, 13, 14, 18, 17, 19],\n... 'volume': [50, 60, 40, 100, 50, 100, 40, 50]}}\n>>> df2 = pd.DataFrame(\n... d2,\n... index=pd.MultiIndex.from_product(\n... [days, ['morning', 'afternoon']]\n... )\n... )\n>>> df2\n price volume\n2000-01-01 morning 10 50\n afternoon 11 60\n2000-01-02 morning 9 40\n afternoon 13 100\n2000-01-03 morning 14 50\n afternoon 18 100\n2000-01-04 morning 17 40\n afternoon 19 50\n>>> df2.resample('D', level=0).sum()\n price volume\n2000-01-01 21 110\n2000-01-02 22 140\n2000-01-03 32 150\n2000-01-04 36 90\n\nIf you want to adjust the start of the bins based on a fixed timestamp:\n\n>>> start, end = '2000-10-01 23:30:00', '2000-10-02 00:30:00'\n>>> rng = pd.date_range(start, end, freq='7min')\n>>> ts = pd.Series(np.arange(len(rng)) * 3, index=rng)\n>>> ts\n2000-10-01 23:30:00 0\n2000-10-01 23:37:00 3\n2000-10-01 23:44:00 6\n2000-10-01 23:51:00 9\n2000-10-01 23:58:00 12\n2000-10-02 00:05:00 15\n2000-10-02 00:12:00 18\n2000-10-02 00:19:00 21\n2000-10-02 00:26:00 24\nFreq: 7min, dtype: int64\n\n>>> ts.resample('17min').sum()\n2000-10-01 23:14:00 0\n2000-10-01 23:31:00 9\n2000-10-01 23:48:00 21\n2000-10-02 00:05:00 54\n2000-10-02 00:22:00 24\nFreq: 17min, dtype: int64\n\n>>> ts.resample('17min', origin='epoch').sum()\n2000-10-01 23:18:00 0\n2000-10-01 23:35:00 18\n2000-10-01 23:52:00 27\n2000-10-02 00:09:00 39\n2000-10-02 00:26:00 24\nFreq: 17min, dtype: int64\n\n>>> ts.resample('17min', origin='2000-01-01').sum()\n2000-10-01 23:24:00 3\n2000-10-01 23:41:00 15\n2000-10-01 23:58:00 45\n2000-10-02 00:15:00 45\nFreq: 17min, dtype: int64\n\nIf you want to adjust the start of the bins with an `offset` Timedelta, the two\nfollowing lines are equivalent:\n\n>>> ts.resample('17min', origin='start').sum()\n2000-10-01 23:30:00 9\n2000-10-01 23:47:00 21\n2000-10-02 00:04:00 54\n2000-10-02 00:21:00 24\nFreq: 17min, dtype: int64\n\n>>> ts.resample('17min', offset='23h30min').sum()\n2000-10-01 23:30:00 9\n2000-10-01 23:47:00 21\n2000-10-02 00:04:00 54\n2000-10-02 00:21:00 24\nFreq: 17min, dtype: int64\n\nIf you want to take the largest Timestamp as the end of the bins:\n\n>>> ts.resample('17min', origin='end').sum()\n2000-10-01 23:35:00 0\n2000-10-01 23:52:00 18\n2000-10-02 00:09:00 27\n2000-10-02 00:26:00 63\nFreq: 17min, dtype: int64\n\nIn contrast with the `start_day`, you can use `end_day` to take the ceiling\nmidnight of the largest Timestamp as the end of the bins and drop the bins\nnot containing data:\n\n>>> ts.resample('17min', origin='end_day').sum()\n2000-10-01 23:38:00 3\n2000-10-01 23:55:00 15\n2000-10-02 00:12:00 45\n2000-10-02 00:29:00 45\nFreq: 17min, dtype: int64\n"}, "kind": 2, "label": "resample", "sortText": "141"}, {"detail": "Overload[(level: Hashable | Sequence[Hashable] = ..., *, drop: bool = ..., inplace: Literal[False] = ..., col_level: Hashable = ..., col_fill: Hashable = ..., allow_duplicates: bool | _NoDefault = ..., names: Hashable | Sequence[Hashable] = None) -> DataFrame, (level: Hashable | Sequence[Hashable] = ..., *, drop: bool = ..., inplace: Literal[True], col_level: Hashable = ..., col_fill: Hashable = ..., allow_duplicates: bool | _NoDefault = ..., names: Hashable | Sequence[Hashable] = None) -> None, (level: Hashable | Sequence[Hashable] = ..., *, drop: bool = ..., inplace: bool = ..., col_level: Hashable = ..., col_fill: Hashable = ..., allow_duplicates: bool | _NoDefault = ..., names: Hashable | Sequence[Hashable] = None) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Reset the index, or a level of it.\n\nReset the index of the DataFrame, and use the default one instead.\nIf the DataFrame has a MultiIndex, this method can remove one or more\nlevels.\n\nParameters\n----------\nlevel : int, str, tuple, or list, default None\n Only remove the given levels from the index. Removes all levels by\n default.\ndrop : bool, default False\n Do not try to insert index into dataframe columns. This resets\n the index to the default integer index.\ninplace : bool, default False\n Whether to modify the DataFrame rather than creating a new one.\ncol_level : int or str, default 0\n If the columns have multiple levels, determines which level the\n labels are inserted into. By default it is inserted into the first\n level.\ncol_fill : object, default ''\n If the columns have multiple levels, determines how the other\n levels are named. If None then the index name is repeated.\nallow_duplicates : bool, optional, default lib.no_default\n Allow duplicate column labels to be created.\n\n .. versionadded:: 1.5.0\n\nnames : int, str or 1-dimensional list, default None\n Using the given string, rename the DataFrame column which contains the\n index data. If the DataFrame has a MultiIndex, this has to be a list or\n tuple with length equal to the number of levels.\n\n .. versionadded:: 1.5.0\n\nReturns\n-------\nDataFrame or None\n DataFrame with the new index or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.set_index : Opposite of reset_index.\nDataFrame.reindex : Change to new indices or expand indices.\nDataFrame.reindex_like : Change to same indices as other DataFrame.\n\nExamples\n--------\n>>> df = pd.DataFrame([('bird', 389.0),\n... ('bird', 24.0),\n... ('mammal', 80.5),\n... ('mammal', np.nan)],\n... index=['falcon', 'parrot', 'lion', 'monkey'],\n... columns=('class', 'max_speed'))\n>>> df\n class max_speed\nfalcon bird 389.0\nparrot bird 24.0\nlion mammal 80.5\nmonkey mammal NaN\n\nWhen we reset the index, the old index is added as a column, and a\nnew sequential index is used:\n\n>>> df.reset_index()\n index class max_speed\n0 falcon bird 389.0\n1 parrot bird 24.0\n2 lion mammal 80.5\n3 monkey mammal NaN\n\nWe can use the `drop` parameter to avoid the old index being added as\na column:\n\n>>> df.reset_index(drop=True)\n class max_speed\n0 bird 389.0\n1 bird 24.0\n2 mammal 80.5\n3 mammal NaN\n\nYou can also use `reset_index` with `MultiIndex`.\n\n>>> index = pd.MultiIndex.from_tuples([('bird', 'falcon'),\n... ('bird', 'parrot'),\n... ('mammal', 'lion'),\n... ('mammal', 'monkey')],\n... names=['class', 'name'])\n>>> columns = pd.MultiIndex.from_tuples([('speed', 'max'),\n... ('species', 'type')])\n>>> df = pd.DataFrame([(389.0, 'fly'),\n... (24.0, 'fly'),\n... (80.5, 'run'),\n... (np.nan, 'jump')],\n... index=index,\n... columns=columns)\n>>> df\n speed species\n max type\nclass name\nbird falcon 389.0 fly\n parrot 24.0 fly\nmammal lion 80.5 run\n monkey NaN jump\n\nUsing the `names` parameter, choose a name for the index column:\n\n>>> df.reset_index(names=['classes', 'names'])\n classes names speed species\n max type\n0 bird falcon 389.0 fly\n1 bird parrot 24.0 fly\n2 mammal lion 80.5 run\n3 mammal monkey NaN jump\n\nIf the index has multiple levels, we can reset a subset of them:\n\n>>> df.reset_index(level='class')\n class speed species\n max type\nname\nfalcon bird 389.0 fly\nparrot bird 24.0 fly\nlion mammal 80.5 run\nmonkey mammal NaN jump\n\nIf we are not dropping the index, by default, it is placed in the top\nlevel. We can place it in another level:\n\n>>> df.reset_index(level='class', col_level=1)\n speed species\n class max type\nname\nfalcon bird 389.0 fly\nparrot bird 24.0 fly\nlion mammal 80.5 run\nmonkey mammal NaN jump\n\nWhen the index is inserted under another level, we can specify under\nwhich one with the parameter `col_fill`:\n\n>>> df.reset_index(level='class', col_level=1, col_fill='species')\n species speed species\n class max type\nname\nfalcon bird 389.0 fly\nparrot bird 24.0 fly\nlion mammal 80.5 run\nmonkey mammal NaN jump\n\nIf we specify a nonexistent level for `col_fill`, it is created:\n\n>>> df.reset_index(level='class', col_level=1, col_fill='genus')\n genus speed species\n class max type\nname\nfalcon bird 389.0 fly\nparrot bird 24.0 fly\nlion mammal 80.5 run\nmonkey mammal NaN jump\n"}, "kind": 2, "label": "reset_index", "sortText": "142"}, {"detail": "bound method DataFrame.rfloordiv(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rfloordiv", "sortText": "143"}, {"detail": "bound method DataFrame.rmod(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rmod", "sortText": "144"}, {"detail": "bound method DataFrame.rmul(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rmul", "sortText": "145"}, {"detail": "bound method DataFrame.rolling(window: int | timedelta | str | BaseOffset | BaseIndexer, min_periods: int | None = None, center: bool = False, win_type: str | None = None, on: str | None = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., closed: Literal[\"left\", \"right\", \"both\", \"neither\"] | None = None, step: int | None = None, method: str = \"single\") -> Window | Rolling", "kind": 2, "label": "rolling", "sortText": "146"}, {"detail": "bound method DataFrame.round(decimals: int | dict[Hashable | Sequence[Hashable], int] | Series = 0, *args, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Round a DataFrame to a variable number of decimal places.\n\nParameters\n----------\ndecimals : int, dict, Series\n Number of decimal places to round each column to. If an int is\n given, round each column to the same number of places.\n Otherwise dict and Series round to variable numbers of places.\n Column names should be in the keys if `decimals` is a\n dict-like, or in the index if `decimals` is a Series. Any\n columns not included in `decimals` will be left as is. Elements\n of `decimals` which are not columns of the input will be\n ignored.\n*args\n Additional keywords have no effect but might be accepted for\n compatibility with numpy.\n**kwargs\n Additional keywords have no effect but might be accepted for\n compatibility with numpy.\n\nReturns\n-------\nDataFrame\n A DataFrame with the affected columns rounded to the specified\n number of decimal places.\n\nSee Also\n--------\nnumpy.around : Round a numpy array to the given number of decimals.\nSeries.round : Round a Series to the given number of decimals.\n\nExamples\n--------\n>>> df = pd.DataFrame([(.21, .32), (.01, .67), (.66, .03), (.21, .18)],\n... columns=['dogs', 'cats'])\n>>> df\n dogs cats\n0 0.21 0.32\n1 0.01 0.67\n2 0.66 0.03\n3 0.21 0.18\n\nBy providing an integer each column is rounded to the same number\nof decimal places\n\n>>> df.round(1)\n dogs cats\n0 0.2 0.3\n1 0.0 0.7\n2 0.7 0.0\n3 0.2 0.2\n\nWith a dict, the number of places for specific columns can be\nspecified with the column names as key and the number of decimal\nplaces as value\n\n>>> df.round({'dogs': 1, 'cats': 0})\n dogs cats\n0 0.2 0.0\n1 0.0 1.0\n2 0.7 0.0\n3 0.2 0.0\n\nUsing a Series, the number of places for specific columns can be\nspecified with the column names as index and the number of\ndecimal places as value\n\n>>> decimals = pd.Series([0, 1], index=['cats', 'dogs'])\n>>> df.round(decimals)\n dogs cats\n0 0.2 0.0\n1 0.0 1.0\n2 0.7 0.0\n3 0.2 0.0\n"}, "kind": 2, "label": "round", "sortText": "147"}, {"detail": "bound method DataFrame.rpow(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rpow", "sortText": "148"}, {"detail": "bound method DataFrame.rsub(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rsub", "sortText": "149"}, {"detail": "bound method DataFrame.rtruediv(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rtruediv", "sortText": "150"}, {"detail": "bound method DataFrame.sample(n: int | None = None, frac: float | None = None, replace: bool = False, weights=None, random_state: int | ndarray[_AnyShape, dtype[Any]] | Generator | ... omitted 3 union elements = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, ignore_index: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return a random sample of items from an axis of object.\n\nYou can use `random_state` for reproducibility.\n\nParameters\n----------\nn : int, optional\n Number of items from axis to return. Cannot be used with `frac`.\n Default = 1 if `frac` = None.\nfrac : float, optional\n Fraction of axis items to return. Cannot be used with `n`.\nreplace : bool, default False\n Allow or disallow sampling of the same row more than once.\nweights : str or ndarray-like, optional\n Default 'None' results in equal probability weighting.\n If passed a Series, will align with target object on index. Index\n values in weights not found in sampled object will be ignored and\n index values in sampled object not in weights will be assigned\n weights of zero.\n If called on a DataFrame, will accept the name of a column\n when axis = 0.\n Unless weights are a Series, weights must be same length as axis\n being sampled.\n If weights do not sum to 1, they will be normalized to sum to 1.\n Missing values in the weights column will be treated as zero.\n Infinite values not allowed.\nrandom_state : int, array-like, BitGenerator, np.random.RandomState, np.random.Generator, optional\n If int, array-like, or BitGenerator, seed for random number generator.\n If np.random.RandomState or np.random.Generator, use as given.\n\n .. versionchanged:: 1.4.0\n\n np.random.Generator objects now accepted\n\naxis : {0 or 'index', 1 or 'columns', None}, default None\n Axis to sample. Accepts axis number or name. Default is stat axis\n for given data type. For `Series` this parameter is unused and defaults to `None`.\nignore_index : bool, default False\n If True, the resulting index will be labeled 0, 1, \u2026, n - 1.\n\n .. versionadded:: 1.3.0\n\nReturns\n-------\nSeries or DataFrame\n A new object of same type as caller containing `n` items randomly\n sampled from the caller object.\n\nSee Also\n--------\nDataFrameGroupBy.sample: Generates random samples from each group of a\n DataFrame object.\nSeriesGroupBy.sample: Generates random samples from each group of a\n Series object.\nnumpy.random.choice: Generates a random sample from a given 1-D numpy\n array.\n\nNotes\n-----\nIf `frac` > 1, `replacement` should be set to `True`.\n\nExamples\n--------\n>>> df = pd.DataFrame({'num_legs': [2, 4, 8, 0],\n... 'num_wings': [2, 0, 0, 0],\n... 'num_specimen_seen': [10, 2, 1, 8]},\n... index=['falcon', 'dog', 'spider', 'fish'])\n>>> df\n num_legs num_wings num_specimen_seen\nfalcon 2 2 10\ndog 4 0 2\nspider 8 0 1\nfish 0 0 8\n\nExtract 3 random elements from the ``Series`` ``df['num_legs']``:\nNote that we use `random_state` to ensure the reproducibility of\nthe examples.\n\n>>> df['num_legs'].sample(n=3, random_state=1)\nfish 0\nspider 8\nfalcon 2\nName: num_legs, dtype: int64\n\nA random 50% sample of the ``DataFrame`` with replacement:\n\n>>> df.sample(frac=0.5, replace=True, random_state=1)\n num_legs num_wings num_specimen_seen\ndog 4 0 2\nfish 0 0 8\n\nAn upsample sample of the ``DataFrame`` with replacement:\nNote that `replace` parameter has to be `True` for `frac` parameter > 1.\n\n>>> df.sample(frac=2, replace=True, random_state=1)\n num_legs num_wings num_specimen_seen\ndog 4 0 2\nfish 0 0 8\nfalcon 2 2 10\nfalcon 2 2 10\nfish 0 0 8\ndog 4 0 2\nfish 0 0 8\ndog 4 0 2\n\nUsing a DataFrame column as weights. Rows with larger value in the\n`num_specimen_seen` column are more likely to be sampled.\n\n>>> df.sample(n=2, weights='num_specimen_seen', random_state=1)\n num_legs num_wings num_specimen_seen\nfalcon 2 2 10\nfish 0 0 8\n"}, "kind": 2, "label": "sample", "sortText": "151"}, {"detail": "bound method DataFrame.select_dtypes(include=None, exclude=None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return a subset of the DataFrame's columns based on the column dtypes.\n\nParameters\n----------\ninclude, exclude : scalar or list-like\n A selection of dtypes or strings to be included/excluded. At least\n one of these parameters must be supplied.\n\nReturns\n-------\nDataFrame\n The subset of the frame including the dtypes in ``include`` and\n excluding the dtypes in ``exclude``.\n\nRaises\n------\nValueError\n * If both of ``include`` and ``exclude`` are empty\n * If ``include`` and ``exclude`` have overlapping elements\n * If any kind of string dtype is passed in.\n\nSee Also\n--------\nDataFrame.dtypes: Return Series with the data type of each column.\n\nNotes\n-----\n* To select all *numeric* types, use ``np.number`` or ``'number'``\n* To select strings you must use the ``object`` dtype, but note that\n this will return *all* object dtype columns. With\n ``pd.options.future.infer_string`` enabled, using ``\"str\"`` will\n work to select all string columns.\n* See the `numpy dtype hierarchy\n `__\n* To select datetimes, use ``np.datetime64``, ``'datetime'`` or\n ``'datetime64'``\n* To select timedeltas, use ``np.timedelta64``, ``'timedelta'`` or\n ``'timedelta64'``\n* To select Pandas categorical dtypes, use ``'category'``\n* To select Pandas datetimetz dtypes, use ``'datetimetz'``\n or ``'datetime64[ns, tz]'``\n\nExamples\n--------\n>>> df = pd.DataFrame({'a': [1, 2] * 3,\n... 'b': [True, False] * 3,\n... 'c': [1.0, 2.0] * 3})\n>>> df\n a b c\n0 1 True 1.0\n1 2 False 2.0\n2 1 True 1.0\n3 2 False 2.0\n4 1 True 1.0\n5 2 False 2.0\n\n>>> df.select_dtypes(include='bool')\n b\n0 True\n1 False\n2 True\n3 False\n4 True\n5 False\n\n>>> df.select_dtypes(include=['float64'])\n c\n0 1.0\n1 2.0\n2 1.0\n3 2.0\n4 1.0\n5 2.0\n\n>>> df.select_dtypes(exclude=['int64'])\n b c\n0 True 1.0\n1 False 2.0\n2 True 1.0\n3 False 2.0\n4 True 1.0\n5 False 2.0\n"}, "kind": 2, "label": "select_dtypes", "sortText": "152"}, {"detail": "bound method DataFrame.sem(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, ddof: int = 1, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "sem", "sortText": "153"}, {"detail": "bound method DataFrame.set_axis(labels, *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, copy: bool | None = None) -> DataFrame", "kind": 2, "label": "set_axis", "sortText": "154"}, {"detail": "bound method DataFrame.set_flags(*, copy: bool = False, allows_duplicate_labels: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return a new object with updated flags.\n\nParameters\n----------\ncopy : bool, default False\n Specify if a copy of the object should be made.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\nallows_duplicate_labels : bool, optional\n Whether the returned object allows duplicate labels.\n\nReturns\n-------\nSeries or DataFrame\n The same type as the caller.\n\nSee Also\n--------\nDataFrame.attrs : Global metadata applying to this dataset.\nDataFrame.flags : Global flags applying to this object.\n\nNotes\n-----\nThis method returns a new object that's a view on the same data\nas the input. Mutating the input or the output values will be reflected\nin the other.\n\nThis method is intended to be used in method chains.\n\n\"Flags\" differ from \"metadata\". Flags reflect properties of the\npandas object (the Series or DataFrame). Metadata refer to properties\nof the dataset, and should be stored in :attr:`DataFrame.attrs`.\n\nExamples\n--------\n>>> df = pd.DataFrame({\"A\": [1, 2]})\n>>> df.flags.allows_duplicate_labels\nTrue\n>>> df2 = df.set_flags(allows_duplicate_labels=False)\n>>> df2.flags.allows_duplicate_labels\nFalse\n"}, "kind": 2, "label": "set_flags", "sortText": "155"}, {"detail": "Overload[(keys, *, drop: bool = ..., append: bool = ..., inplace: Literal[False] = ..., verify_integrity: bool = ...) -> DataFrame, (keys, *, drop: bool = ..., append: bool = ..., inplace: Literal[True], verify_integrity: bool = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Set the DataFrame index using existing columns.\n\nSet the DataFrame index (row labels) using one or more existing\ncolumns or arrays (of the correct length). The index can replace the\nexisting index or expand on it.\n\nParameters\n----------\nkeys : label or array-like or list of labels/arrays\n This parameter can be either a single column key, a single array of\n the same length as the calling DataFrame, or a list containing an\n arbitrary combination of column keys and arrays. Here, \"array\"\n encompasses :class:`Series`, :class:`Index`, ``np.ndarray``, and\n instances of :class:`~collections.abc.Iterator`.\ndrop : bool, default True\n Delete columns to be used as the new index.\nappend : bool, default False\n Whether to append columns to existing index.\ninplace : bool, default False\n Whether to modify the DataFrame rather than creating a new one.\nverify_integrity : bool, default False\n Check the new index for duplicates. Otherwise defer the check until\n necessary. Setting to False will improve the performance of this\n method.\n\nReturns\n-------\nDataFrame or None\n Changed row labels or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.reset_index : Opposite of set_index.\nDataFrame.reindex : Change to new indices or expand indices.\nDataFrame.reindex_like : Change to same indices as other DataFrame.\n\nExamples\n--------\n>>> df = pd.DataFrame({'month': [1, 4, 7, 10],\n... 'year': [2012, 2014, 2013, 2014],\n... 'sale': [55, 40, 84, 31]})\n>>> df\n month year sale\n0 1 2012 55\n1 4 2014 40\n2 7 2013 84\n3 10 2014 31\n\nSet the index to become the 'month' column:\n\n>>> df.set_index('month')\n year sale\nmonth\n1 2012 55\n4 2014 40\n7 2013 84\n10 2014 31\n\nCreate a MultiIndex using columns 'year' and 'month':\n\n>>> df.set_index(['year', 'month'])\n sale\nyear month\n2012 1 55\n2014 4 40\n2013 7 84\n2014 10 31\n\nCreate a MultiIndex using an Index and a column:\n\n>>> df.set_index([pd.Index([1, 2, 3, 4]), 'year'])\n month sale\n year\n1 2012 1 55\n2 2014 4 40\n3 2013 7 84\n4 2014 10 31\n\nCreate a MultiIndex using two Series:\n\n>>> s = pd.Series([1, 2, 3, 4])\n>>> df.set_index([s, s**2])\n month year sale\n1 1 1 2012 55\n2 4 4 2014 40\n3 9 7 2013 84\n4 16 10 2014 31\n"}, "kind": 2, "label": "set_index", "sortText": "156"}, {"detail": "tuple[int, int]", "documentation": {"kind": "plaintext", "value": "Built-in immutable sequence.\n\nIf no argument is given, the constructor returns an empty tuple.\nIf iterable is specified the tuple is initialized from iterable's items.\n\nIf the argument is a tuple, the return value is the same object.\n"}, "kind": 22, "label": "shape", "sortText": "157"}, {"detail": "bound method DataFrame.shift(periods: int | Sequence[int] = 1, freq: str | BaseOffset | None = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, fill_value: Hashable = ..., suffix: str | None = None) -> DataFrame", "kind": 2, "label": "shift", "sortText": "158"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "size", "sortText": "159"}, {"detail": "bound method DataFrame.skew(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "skew", "sortText": "160"}, {"detail": "Overload[(*, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., level: Hashable | Sequence[Hashable] = ..., ascending: bool | Sequence[bool] = ..., inplace: Literal[True], kind: Literal[\"quicksort\", \"mergesort\", \"heapsort\", \"stable\"] = ..., na_position: Literal[\"first\", \"last\"] = ..., sort_remaining: bool = ..., ignore_index: bool = ..., key: ((Index, /) -> Index | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Series) | None = ...) -> None, (*, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., level: Hashable | Sequence[Hashable] = ..., ascending: bool | Sequence[bool] = ..., inplace: Literal[False] = ..., kind: Literal[\"quicksort\", \"mergesort\", \"heapsort\", \"stable\"] = ..., na_position: Literal[\"first\", \"last\"] = ..., sort_remaining: bool = ..., ignore_index: bool = ..., key: ((Index, /) -> Index | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Series) | None = ...) -> DataFrame, (*, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., level: Hashable | Sequence[Hashable] = ..., ascending: bool | Sequence[bool] = ..., inplace: bool = ..., kind: Literal[\"quicksort\", \"mergesort\", \"heapsort\", \"stable\"] = ..., na_position: Literal[\"first\", \"last\"] = ..., sort_remaining: bool = ..., ignore_index: bool = ..., key: ((Index, /) -> Index | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Series) | None = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Sort object by labels (along an axis).\n\nReturns a new DataFrame sorted by label if `inplace` argument is\n``False``, otherwise updates the original DataFrame and returns None.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis along which to sort. The value 0 identifies the rows,\n and 1 identifies the columns.\nlevel : int or level name or list of ints or list of level names\n If not None, sort on values in specified index level(s).\nascending : bool or list-like of bools, default True\n Sort ascending vs. descending. When the index is a MultiIndex the\n sort direction can be controlled for each level individually.\ninplace : bool, default False\n Whether to modify the DataFrame rather than creating a new one.\nkind : {'quicksort', 'mergesort', 'heapsort', 'stable'}, default 'quicksort'\n Choice of sorting algorithm. See also :func:`numpy.sort` for more\n information. `mergesort` and `stable` are the only stable algorithms. For\n DataFrames, this option is only applied when sorting on a single\n column or label.\nna_position : {'first', 'last'}, default 'last'\n Puts NaNs at the beginning if `first`; `last` puts NaNs at the end.\n Not implemented for MultiIndex.\nsort_remaining : bool, default True\n If True and sorting by level and index is multilevel, sort by other\n levels too (in order) after sorting by specified level.\nignore_index : bool, default False\n If True, the resulting axis will be labeled 0, 1, \u2026, n - 1.\nkey : callable, optional\n If not None, apply the key function to the index values\n before sorting. This is similar to the `key` argument in the\n builtin :meth:`sorted` function, with the notable difference that\n this `key` function should be *vectorized*. It should expect an\n ``Index`` and return an ``Index`` of the same shape. For MultiIndex\n inputs, the key is applied *per level*.\n\nReturns\n-------\nDataFrame or None\n The original DataFrame sorted by the labels or None if ``inplace=True``.\n\nSee Also\n--------\nSeries.sort_index : Sort Series by the index.\nDataFrame.sort_values : Sort DataFrame by the value.\nSeries.sort_values : Sort Series by the value.\n\nExamples\n--------\n>>> df = pd.DataFrame([1, 2, 3, 4, 5], index=[100, 29, 234, 1, 150],\n... columns=['A'])\n>>> df.sort_index()\n A\n1 4\n29 2\n100 1\n150 5\n234 3\n\nBy default, it sorts in ascending order, to sort in descending order,\nuse ``ascending=False``\n\n>>> df.sort_index(ascending=False)\n A\n234 3\n150 5\n100 1\n29 2\n1 4\n\nA key function can be specified which is applied to the index before\nsorting. For a ``MultiIndex`` this is applied to each level separately.\n\n>>> df = pd.DataFrame({\"a\": [1, 2, 3, 4]}, index=['A', 'b', 'C', 'd'])\n>>> df.sort_index(key=lambda x: x.str.lower())\n a\nA 1\nb 2\nC 3\nd 4\n"}, "kind": 2, "label": "sort_index", "sortText": "161"}, {"detail": "Overload[(by: Hashable | Sequence[Hashable], *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., ascending=..., inplace: Literal[False] = ..., kind: Literal[\"quicksort\", \"mergesort\", \"heapsort\", \"stable\"] = ..., na_position: Literal[\"first\", \"last\"] = ..., ignore_index: bool = ..., key: ((Series, /) -> Series | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index) | None = ...) -> DataFrame, (by: Hashable | Sequence[Hashable], *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., ascending=..., inplace: Literal[True], kind: Literal[\"quicksort\", \"mergesort\", \"heapsort\", \"stable\"] = ..., na_position: str = ..., ignore_index: bool = ..., key: ((Series, /) -> Series | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index) | None = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Sort by the values along either axis.\n\nParameters\n----------\nby : str or list of str\n Name or list of names to sort by.\n\n - if `axis` is 0 or `'index'` then `by` may contain index\n levels and/or column labels.\n - if `axis` is 1 or `'columns'` then `by` may contain column\n levels and/or index labels.\naxis : \"{0 or 'index', 1 or 'columns'}\", default 0\n Axis to be sorted.\nascending : bool or list of bool, default True\n Sort ascending vs. descending. Specify list for multiple sort\n orders. If this is a list of bools, must match the length of\n the by.\ninplace : bool, default False\n If True, perform operation in-place.\nkind : {'quicksort', 'mergesort', 'heapsort', 'stable'}, default 'quicksort'\n Choice of sorting algorithm. See also :func:`numpy.sort` for more\n information. `mergesort` and `stable` are the only stable algorithms. For\n DataFrames, this option is only applied when sorting on a single\n column or label.\nna_position : {'first', 'last'}, default 'last'\n Puts NaNs at the beginning if `first`; `last` puts NaNs at the\n end.\nignore_index : bool, default False\n If True, the resulting axis will be labeled 0, 1, \u2026, n - 1.\nkey : callable, optional\n Apply the key function to the values\n before sorting. This is similar to the `key` argument in the\n builtin :meth:`sorted` function, with the notable difference that\n this `key` function should be *vectorized*. It should expect a\n ``Series`` and return a Series with the same shape as the input.\n It will be applied to each column in `by` independently.\n\nReturns\n-------\nDataFrame or None\n DataFrame with sorted values or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.sort_index : Sort a DataFrame by the index.\nSeries.sort_values : Similar method for a Series.\n\nExamples\n--------\n>>> df = pd.DataFrame({\n... 'col1': ['A', 'A', 'B', np.nan, 'D', 'C'],\n... 'col2': [2, 1, 9, 8, 7, 4],\n... 'col3': [0, 1, 9, 4, 2, 3],\n... 'col4': ['a', 'B', 'c', 'D', 'e', 'F']\n... })\n>>> df\n col1 col2 col3 col4\n0 A 2 0 a\n1 A 1 1 B\n2 B 9 9 c\n3 NaN 8 4 D\n4 D 7 2 e\n5 C 4 3 F\n\nSort by col1\n\n>>> df.sort_values(by=['col1'])\n col1 col2 col3 col4\n0 A 2 0 a\n1 A 1 1 B\n2 B 9 9 c\n5 C 4 3 F\n4 D 7 2 e\n3 NaN 8 4 D\n\nSort by multiple columns\n\n>>> df.sort_values(by=['col1', 'col2'])\n col1 col2 col3 col4\n1 A 1 1 B\n0 A 2 0 a\n2 B 9 9 c\n5 C 4 3 F\n4 D 7 2 e\n3 NaN 8 4 D\n\nSort Descending\n\n>>> df.sort_values(by='col1', ascending=False)\n col1 col2 col3 col4\n4 D 7 2 e\n5 C 4 3 F\n2 B 9 9 c\n0 A 2 0 a\n1 A 1 1 B\n3 NaN 8 4 D\n\nPutting NAs first\n\n>>> df.sort_values(by='col1', ascending=False, na_position='first')\n col1 col2 col3 col4\n3 NaN 8 4 D\n4 D 7 2 e\n5 C 4 3 F\n2 B 9 9 c\n0 A 2 0 a\n1 A 1 1 B\n\nSorting with a key function\n\n>>> df.sort_values(by='col4', key=lambda col: col.str.lower())\n col1 col2 col3 col4\n0 A 2 0 a\n1 A 1 1 B\n2 B 9 9 c\n3 NaN 8 4 D\n4 D 7 2 e\n5 C 4 3 F\n\nNatural sort with the key argument,\nusing the `natsort ` package.\n\n>>> df = pd.DataFrame({\n... \"time\": ['0hr', '128hr', '72hr', '48hr', '96hr'],\n... \"value\": [10, 20, 30, 40, 50]\n... })\n>>> df\n time value\n0 0hr 10\n1 128hr 20\n2 72hr 30\n3 48hr 40\n4 96hr 50\n>>> from natsort import index_natsorted\n>>> df.sort_values(\n... by=\"time\",\n... key=lambda x: np.argsort(index_natsorted(df[\"time\"]))\n... )\n time value\n0 0hr 10\n3 48hr 40\n2 72hr 30\n4 96hr 50\n1 128hr 20\n"}, "kind": 2, "label": "sort_values", "sortText": "162"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "sparse", "sortText": "163"}, {"detail": "bound method DataFrame.squeeze(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Squeeze 1 dimensional axis objects into scalars.\n\nSeries or DataFrames with a single element are squeezed to a scalar.\nDataFrames with a single column or a single row are squeezed to a\nSeries. Otherwise the object is unchanged.\n\nThis method is most useful when you don't know if your\nobject is a Series or DataFrame, but you do know it has just a single\ncolumn. In that case you can safely call `squeeze` to ensure you have a\nSeries.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns', None}, default None\n A specific axis to squeeze. By default, all length-1 axes are\n squeezed. For `Series` this parameter is unused and defaults to `None`.\n\nReturns\n-------\nDataFrame, Series, or scalar\n The projection after squeezing `axis` or all the axes.\n\nSee Also\n--------\nSeries.iloc : Integer-location based indexing for selecting scalars.\nDataFrame.iloc : Integer-location based indexing for selecting Series.\nSeries.to_frame : Inverse of DataFrame.squeeze for a\n single-column DataFrame.\n\nExamples\n--------\n>>> primes = pd.Series([2, 3, 5, 7])\n\nSlicing might produce a Series with a single value:\n\n>>> even_primes = primes[primes % 2 == 0]\n>>> even_primes\n0 2\ndtype: int64\n\n>>> even_primes.squeeze()\n2\n\nSqueezing objects with more than one value in every axis does nothing:\n\n>>> odd_primes = primes[primes % 2 == 1]\n>>> odd_primes\n1 3\n2 5\n3 7\ndtype: int64\n\n>>> odd_primes.squeeze()\n1 3\n2 5\n3 7\ndtype: int64\n\nSqueezing is even more effective when used with DataFrames.\n\n>>> df = pd.DataFrame([[1, 2], [3, 4]], columns=['a', 'b'])\n>>> df\n a b\n0 1 2\n1 3 4\n\nSlicing a single column will produce a DataFrame with the columns\nhaving only one value:\n\n>>> df_a = df[['a']]\n>>> df_a\n a\n0 1\n1 3\n\nSo the columns can be squeezed down, resulting in a Series:\n\n>>> df_a.squeeze('columns')\n0 1\n1 3\nName: a, dtype: int64\n\nSlicing a single row from a single column will produce a single\nscalar DataFrame:\n\n>>> df_0a = df.loc[df.index < 1, ['a']]\n>>> df_0a\n a\n0 1\n\nSqueezing the rows produces a single scalar Series:\n\n>>> df_0a.squeeze('rows')\na 1\nName: 0, dtype: int64\n\nSqueezing all axes will project directly into a scalar:\n\n>>> df_0a.squeeze()\n1\n"}, "kind": 2, "label": "squeeze", "sortText": "164"}, {"detail": "bound method DataFrame.stack(level: Hashable | Sequence[Hashable] = -1, dropna: bool | _NoDefault = ..., sort: bool | _NoDefault = ..., future_stack: bool = False) -> Unknown", "documentation": {"kind": "plaintext", "value": "Stack the prescribed level(s) from columns to index.\n\nReturn a reshaped DataFrame or Series having a multi-level\nindex with one or more new inner-most levels compared to the current\nDataFrame. The new inner-most levels are created by pivoting the\ncolumns of the current dataframe:\n\n - if the columns have a single level, the output is a Series;\n - if the columns have multiple levels, the new index\n level(s) is (are) taken from the prescribed level(s) and\n the output is a DataFrame.\n\nParameters\n----------\nlevel : int, str, list, default -1\n Level(s) to stack from the column axis onto the index\n axis, defined as one index or label, or a list of indices\n or labels.\ndropna : bool, default True\n Whether to drop rows in the resulting Frame/Series with\n missing values. Stacking a column level onto the index\n axis can create combinations of index and column values\n that are missing from the original dataframe. See Examples\n section.\nsort : bool, default True\n Whether to sort the levels of the resulting MultiIndex.\nfuture_stack : bool, default False\n Whether to use the new implementation that will replace the current\n implementation in pandas 3.0. When True, dropna and sort have no impact\n on the result and must remain unspecified. See :ref:`pandas 2.1.0 Release\n notes ` for more details.\n\nReturns\n-------\nDataFrame or Series\n Stacked dataframe or series.\n\nSee Also\n--------\nDataFrame.unstack : Unstack prescribed level(s) from index axis\n onto column axis.\nDataFrame.pivot : Reshape dataframe from long format to wide\n format.\nDataFrame.pivot_table : Create a spreadsheet-style pivot table\n as a DataFrame.\n\nNotes\n-----\nThe function is named by analogy with a collection of books\nbeing reorganized from being side by side on a horizontal\nposition (the columns of the dataframe) to being stacked\nvertically on top of each other (in the index of the\ndataframe).\n\nReference :ref:`the user guide ` for more examples.\n\nExamples\n--------\n**Single level columns**\n\n>>> df_single_level_cols = pd.DataFrame([[0, 1], [2, 3]],\n... index=['cat', 'dog'],\n... columns=['weight', 'height'])\n\nStacking a dataframe with a single level column axis returns a Series:\n\n>>> df_single_level_cols\n weight height\ncat 0 1\ndog 2 3\n>>> df_single_level_cols.stack(future_stack=True)\ncat weight 0\n height 1\ndog weight 2\n height 3\ndtype: int64\n\n**Multi level columns: simple case**\n\n>>> multicol1 = pd.MultiIndex.from_tuples([('weight', 'kg'),\n... ('weight', 'pounds')])\n>>> df_multi_level_cols1 = pd.DataFrame([[1, 2], [2, 4]],\n... index=['cat', 'dog'],\n... columns=multicol1)\n\nStacking a dataframe with a multi-level column axis:\n\n>>> df_multi_level_cols1\n weight\n kg pounds\ncat 1 2\ndog 2 4\n>>> df_multi_level_cols1.stack(future_stack=True)\n weight\ncat kg 1\n pounds 2\ndog kg 2\n pounds 4\n\n**Missing values**\n\n>>> multicol2 = pd.MultiIndex.from_tuples([('weight', 'kg'),\n... ('height', 'm')])\n>>> df_multi_level_cols2 = pd.DataFrame([[1.0, 2.0], [3.0, 4.0]],\n... index=['cat', 'dog'],\n... columns=multicol2)\n\nIt is common to have missing values when stacking a dataframe\nwith multi-level columns, as the stacked dataframe typically\nhas more values than the original dataframe. Missing values\nare filled with NaNs:\n\n>>> df_multi_level_cols2\n weight height\n kg m\ncat 1.0 2.0\ndog 3.0 4.0\n>>> df_multi_level_cols2.stack(future_stack=True)\n weight height\ncat kg 1.0 NaN\n m NaN 2.0\ndog kg 3.0 NaN\n m NaN 4.0\n\n**Prescribing the level(s) to be stacked**\n\nThe first parameter controls which level or levels are stacked:\n\n>>> df_multi_level_cols2.stack(0, future_stack=True)\n kg m\ncat weight 1.0 NaN\n height NaN 2.0\ndog weight 3.0 NaN\n height NaN 4.0\n>>> df_multi_level_cols2.stack([0, 1], future_stack=True)\ncat weight kg 1.0\n height m 2.0\ndog weight kg 3.0\n height m 4.0\ndtype: float64\n"}, "kind": 2, "label": "stack", "sortText": "165"}, {"detail": "bound method DataFrame.std(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, ddof: int = 1, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "std", "sortText": "166"}, {"detail": "Styler", "documentation": {"kind": "plaintext", "value": "Helps style a DataFrame or Series according to the data with HTML and CSS.\n\nParameters\n----------\ndata : Series or DataFrame\n Data to be styled - either a Series or DataFrame.\nprecision : int, optional\n Precision to round floats to. If not given defaults to\n ``pandas.options.styler.format.precision``.\n\n .. versionchanged:: 1.4.0\ntable_styles : list-like, default None\n List of {selector: (attr, value)} dicts; see Notes.\nuuid : str, default None\n A unique identifier to avoid CSS collisions; generated automatically.\ncaption : str, tuple, default None\n String caption to attach to the table. Tuple only used for LaTeX dual captions.\ntable_attributes : str, default None\n Items that show up in the opening ```` tag\n in addition to automatic (by default) id.\ncell_ids : bool, default True\n If True, each cell will have an ``id`` attribute in their HTML tag.\n The ``id`` takes the form ``T__row_col``\n where ```` is the unique identifier, ```` is the row\n number and ```` is the column number.\nna_rep : str, optional\n Representation for missing values.\n If ``na_rep`` is None, no special formatting is applied, and falls back to\n ``pandas.options.styler.format.na_rep``.\n\nuuid_len : int, default 5\n If ``uuid`` is not specified, the length of the ``uuid`` to randomly generate\n expressed in hex characters, in range [0, 32].\ndecimal : str, optional\n Character used as decimal separator for floats, complex and integers. If not\n given uses ``pandas.options.styler.format.decimal``.\n\n .. versionadded:: 1.3.0\n\nthousands : str, optional, default None\n Character used as thousands separator for floats, complex and integers. If not\n given uses ``pandas.options.styler.format.thousands``.\n\n .. versionadded:: 1.3.0\n\nescape : str, optional\n Use 'html' to replace the characters ``&``, ``<``, ``>``, ``'``, and ``\"``\n in cell display string with HTML-safe sequences.\n Use 'latex' to replace the characters ``&``, ``%``, ``$``, ``#``, ``_``,\n ``{``, ``}``, ``~``, ``^``, and ``\\`` in the cell display string with\n LaTeX-safe sequences. Use 'latex-math' to replace the characters\n the same way as in 'latex' mode, except for math substrings,\n which either are surrounded by two characters ``$`` or start with\n the character ``\\(`` and end with ``\\)``.\n If not given uses ``pandas.options.styler.format.escape``.\n\n .. versionadded:: 1.3.0\nformatter : str, callable, dict, optional\n Object to define how values are displayed. See ``Styler.format``. If not given\n uses ``pandas.options.styler.format.formatter``.\n\n .. versionadded:: 1.4.0\n\nAttributes\n----------\nenv : Jinja2 jinja2.Environment\ntemplate_html : Jinja2 Template\ntemplate_html_table : Jinja2 Template\ntemplate_html_style : Jinja2 Template\ntemplate_latex : Jinja2 Template\nloader : Jinja2 Loader\n\nSee Also\n--------\nDataFrame.style : Return a Styler object containing methods for building\n a styled HTML representation for the DataFrame.\n\nNotes\n-----\nMost styling will be done by passing style functions into\n``Styler.apply`` or ``Styler.map``. Style functions should\nreturn values with strings containing CSS ``'attr: value'`` that will\nbe applied to the indicated cells.\n\nIf using in the Jupyter notebook, Styler has defined a ``_repr_html_``\nto automatically render itself. Otherwise call Styler.to_html to get\nthe generated HTML.\n\nCSS classes are attached to the generated HTML\n\n* Index and Column names include ``index_name`` and ``level``\n where `k` is its level in a MultiIndex\n* Index label cells include\n\n * ``row_heading``\n * ``row`` where `n` is the numeric position of the row\n * ``level`` where `k` is the level in a MultiIndex\n\n* Column label cells include\n * ``col_heading``\n * ``col`` where `n` is the numeric position of the column\n * ``level`` where `k` is the level in a MultiIndex\n\n* Blank cells include ``blank``\n* Data cells include ``data``\n* Trimmed cells include ``col_trim`` or ``row_trim``.\n\nAny, or all, or these classes can be renamed by using the ``css_class_names``\nargument in ``Styler.set_table_classes``, giving a value such as\n*{\"row\": \"MY_ROW_CLASS\", \"col_trim\": \"\", \"row_trim\": \"\"}*.\n\nExamples\n--------\n>>> df = pd.DataFrame([[1.0, 2.0, 3.0], [4, 5, 6]], index=['a', 'b'],\n... columns=['A', 'B', 'C'])\n>>> pd.io.formats.style.Styler(df, precision=2,\n... caption=\"My table\") # doctest: +SKIP\n\nPlease see:\n`Table Visualization <../../user_guide/style.ipynb>`_ for more examples.\n"}, "kind": 22, "label": "style", "sortText": "167"}, {"detail": "bound method DataFrame.sub(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "sub", "sortText": "168"}, {"detail": "(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "subtract", "sortText": "169"}, {"detail": "bound method DataFrame.sum(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, min_count: int = 0, **kwargs) -> Unknown", "kind": 2, "label": "sum", "sortText": "170"}, {"detail": "bound method DataFrame.swapaxes(axis1: int | Literal[\"index\", \"columns\", \"rows\"], axis2: int | Literal[\"index\", \"columns\", \"rows\"], copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Interchange axes and swap values axes appropriately.\n\n.. deprecated:: 2.1.0\n ``swapaxes`` is deprecated and will be removed.\n Please use ``transpose`` instead.\n\nReturns\n-------\nsame as input\n\nExamples\n--------\nPlease see examples for :meth:`DataFrame.transpose`.\n"}, "kind": 2, "label": "swapaxes", "sortText": "171"}, {"detail": "bound method DataFrame.swaplevel(i: int | Literal[\"index\", \"columns\", \"rows\"] = -2, j: int | Literal[\"index\", \"columns\", \"rows\"] = -1, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> DataFrame", "kind": 2, "label": "swaplevel", "sortText": "172"}, {"detail": "bound method DataFrame.tail(n: int = 5) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the last `n` rows.\n\nThis function returns last `n` rows from the object based on\nposition. It is useful for quickly verifying data, for example,\nafter sorting or appending rows.\n\nFor negative values of `n`, this function returns all rows except\nthe first `|n|` rows, equivalent to ``df[|n|:]``.\n\nIf n is larger than the number of rows, this function returns all rows.\n\nParameters\n----------\nn : int, default 5\n Number of rows to select.\n\nReturns\n-------\ntype of caller\n The last `n` rows of the caller object.\n\nSee Also\n--------\nDataFrame.head : The first `n` rows of the caller object.\n\nExamples\n--------\n>>> df = pd.DataFrame({'animal': ['alligator', 'bee', 'falcon', 'lion',\n... 'monkey', 'parrot', 'shark', 'whale', 'zebra']})\n>>> df\n animal\n0 alligator\n1 bee\n2 falcon\n3 lion\n4 monkey\n5 parrot\n6 shark\n7 whale\n8 zebra\n\nViewing the last 5 lines\n\n>>> df.tail()\n animal\n4 monkey\n5 parrot\n6 shark\n7 whale\n8 zebra\n\nViewing the last `n` lines (three in this case)\n\n>>> df.tail(3)\n animal\n6 shark\n7 whale\n8 zebra\n\nFor negative values of `n`\n\n>>> df.tail(-3)\n animal\n3 lion\n4 monkey\n5 parrot\n6 shark\n7 whale\n8 zebra\n"}, "kind": 2, "label": "tail", "sortText": "173"}, {"detail": "bound method DataFrame.take(indices, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the elements in the given *positional* indices along an axis.\n\nThis means that we are not indexing according to actual values in\nthe index attribute of the object. We are indexing according to the\nactual position of the element in the object.\n\nParameters\n----------\nindices : array-like\n An array of ints indicating which positions to take.\naxis : {0 or 'index', 1 or 'columns', None}, default 0\n The axis on which to select elements. ``0`` means that we are\n selecting rows, ``1`` means that we are selecting columns.\n For `Series` this parameter is unused and defaults to 0.\n**kwargs\n For compatibility with :meth:`numpy.take`. Has no effect on the\n output.\n\nReturns\n-------\nsame type as caller\n An array-like containing the elements taken from the object.\n\nSee Also\n--------\nDataFrame.loc : Select a subset of a DataFrame by labels.\nDataFrame.iloc : Select a subset of a DataFrame by positions.\nnumpy.take : Take elements from an array along an axis.\n\nExamples\n--------\n>>> df = pd.DataFrame([('falcon', 'bird', 389.0),\n... ('parrot', 'bird', 24.0),\n... ('lion', 'mammal', 80.5),\n... ('monkey', 'mammal', np.nan)],\n... columns=['name', 'class', 'max_speed'],\n... index=[0, 2, 3, 1])\n>>> df\n name class max_speed\n0 falcon bird 389.0\n2 parrot bird 24.0\n3 lion mammal 80.5\n1 monkey mammal NaN\n\nTake elements at positions 0 and 3 along the axis 0 (default).\n\nNote how the actual indices selected (0 and 1) do not correspond to\nour selected indices 0 and 3. That's because we are selecting the 0th\nand 3rd rows, not rows whose indices equal 0 and 3.\n\n>>> df.take([0, 3])\n name class max_speed\n0 falcon bird 389.0\n1 monkey mammal NaN\n\nTake elements at indices 1 and 2 along the axis 1 (column selection).\n\n>>> df.take([1, 2], axis=1)\n class max_speed\n0 bird 389.0\n2 bird 24.0\n3 mammal 80.5\n1 mammal NaN\n\nWe may take elements using negative integers for positive indices,\nstarting from the end of the object, just like with Python lists.\n\n>>> df.take([-1, -2])\n name class max_speed\n1 monkey mammal NaN\n3 lion mammal 80.5\n"}, "kind": 2, "label": "take", "sortText": "174"}, {"detail": "bound method DataFrame.to_clipboard(excel: bool = True, sep: str | None = None, **kwargs) -> None", "documentation": {"kind": "plaintext", "value": "Copy object to the system clipboard.\n\nWrite a text representation of object to the system clipboard.\nThis can be pasted into Excel, for example.\n\nParameters\n----------\nexcel : bool, default True\n Produce output in a csv format for easy pasting into excel.\n\n - True, use the provided separator for csv pasting.\n - False, write a string representation of the object to the clipboard.\n\nsep : str, default ``'\\t'``\n Field delimiter.\n**kwargs\n These parameters will be passed to DataFrame.to_csv.\n\nSee Also\n--------\nDataFrame.to_csv : Write a DataFrame to a comma-separated values\n (csv) file.\nread_clipboard : Read text from clipboard and pass to read_csv.\n\nNotes\n-----\nRequirements for your platform.\n\n - Linux : `xclip`, or `xsel` (with `PyQt4` modules)\n - Windows : none\n - macOS : none\n\nThis method uses the processes developed for the package `pyperclip`. A\nsolution to render any output string format is given in the examples.\n\nExamples\n--------\nCopy the contents of a DataFrame to the clipboard.\n\n>>> df = pd.DataFrame([[1, 2, 3], [4, 5, 6]], columns=['A', 'B', 'C'])\n\n>>> df.to_clipboard(sep=',') # doctest: +SKIP\n... # Wrote the following to the system clipboard:\n... # ,A,B,C\n... # 0,1,2,3\n... # 1,4,5,6\n\nWe can omit the index by passing the keyword `index` and setting\nit to false.\n\n>>> df.to_clipboard(sep=',', index=False) # doctest: +SKIP\n... # Wrote the following to the system clipboard:\n... # A,B,C\n... # 1,2,3\n... # 4,5,6\n\nUsing the original `pyperclip` package for any string output format.\n\n.. code-block:: python\n\n import pyperclip\n html = df.style.to_html()\n pyperclip.copy(html)\n"}, "kind": 2, "label": "to_clipboard", "sortText": "175"}, {"detail": "Overload[(path_or_buf: None = ..., sep: str = ..., na_rep: str = ..., float_format: str | ((...) -> Unknown) | None = ..., columns: Sequence[Hashable] | None = ..., header: bool | list[str] = ..., index: bool = ..., index_label: Hashable | Sequence[Hashable] = ..., mode: str = ..., encoding: str | None = ..., compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = ..., quoting: int | None = ..., quotechar: str = ..., lineterminator: str | None = ..., chunksize: int | None = ..., date_format: str | None = ..., doublequote: bool = ..., escapechar: str | None = ..., decimal: str = ..., errors: Literal[\"strict\", \"ignore\", \"replace\", \"surrogateescape\", \"xmlcharrefreplace\", \"backslashreplace\", \"namereplace\"] = ..., storage_options: dict[str, Any] | None = ...) -> str, (path_or_buf: str | PathLike[str] | WriteBuffer[bytes] | WriteBuffer[str], sep: str = ..., na_rep: str = ..., float_format: str | ((...) -> Unknown) | None = ..., columns: Sequence[Hashable] | None = ..., header: bool | list[str] = ..., index: bool = ..., index_label: Hashable | Sequence[Hashable] = ..., mode: str = ..., encoding: str | None = ..., compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = ..., quoting: int | None = ..., quotechar: str = ..., lineterminator: str | None = ..., chunksize: int | None = ..., date_format: str | None = ..., doublequote: bool = ..., escapechar: str | None = ..., decimal: str = ..., errors: Literal[\"strict\", \"ignore\", \"replace\", \"surrogateescape\", \"xmlcharrefreplace\", \"backslashreplace\", \"namereplace\"] = ..., storage_options: dict[str, Any] | None = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Write object to a comma-separated values (csv) file.\n\nParameters\n----------\npath_or_buf : str, path object, file-like object, or None, default None\n String, path object (implementing os.PathLike[str]), or file-like\n object implementing a write() function. If None, the result is\n returned as a string. If a non-binary file object is passed, it should\n be opened with `newline=''`, disabling universal newlines. If a binary\n file object is passed, `mode` might need to contain a `'b'`.\nsep : str, default ','\n String of length 1. Field delimiter for the output file.\nna_rep : str, default ''\n Missing data representation.\nfloat_format : str, Callable, default None\n Format string for floating point numbers. If a Callable is given, it takes\n precedence over other numeric formatting parameters, like decimal.\ncolumns : sequence, optional\n Columns to write.\nheader : bool or list of str, default True\n Write out the column names. If a list of strings is given it is\n assumed to be aliases for the column names.\nindex : bool, default True\n Write row names (index).\nindex_label : str or sequence, or False, default None\n Column label for index column(s) if desired. If None is given, and\n `header` and `index` are True, then the index names are used. A\n sequence should be given if the object uses MultiIndex. If\n False do not print fields for index names. Use index_label=False\n for easier importing in R.\nmode : {{'w', 'x', 'a'}}, default 'w'\n Forwarded to either `open(mode=)` or `fsspec.open(mode=)` to control\n the file opening. Typical values include:\n\n - 'w', truncate the file first.\n - 'x', exclusive creation, failing if the file already exists.\n - 'a', append to the end of file if it exists.\n\nencoding : str, optional\n A string representing the encoding to use in the output file,\n defaults to 'utf-8'. `encoding` is not supported if `path_or_buf`\n is a non-binary file object.\n{compression_options}\n\n May be a dict with key 'method' as compression mode\n and other entries as additional compression options if\n compression mode is 'zip'.\n\n Passing compression options as keys in dict is\n supported for compression modes 'gzip', 'bz2', 'zstd', and 'zip'.\nquoting : optional constant from csv module\n Defaults to csv.QUOTE_MINIMAL. If you have set a `float_format`\n then floats are converted to strings and thus csv.QUOTE_NONNUMERIC\n will treat them as non-numeric.\nquotechar : str, default '\\\"'\n String of length 1. Character used to quote fields.\nlineterminator : str, optional\n The newline character or character sequence to use in the output\n file. Defaults to `os.linesep`, which depends on the OS in which\n this method is called ('\\\\n' for linux, '\\\\r\\\\n' for Windows, i.e.).\n\n .. versionchanged:: 1.5.0\n\n Previously was line_terminator, changed for consistency with\n read_csv and the standard library 'csv' module.\n\nchunksize : int or None\n Rows to write at a time.\ndate_format : str, default None\n Format string for datetime objects.\ndoublequote : bool, default True\n Control quoting of `quotechar` inside a field.\nescapechar : str, default None\n String of length 1. Character used to escape `sep` and `quotechar`\n when appropriate.\ndecimal : str, default '.'\n Character recognized as decimal separator. E.g. use ',' for\n European data.\nerrors : str, default 'strict'\n Specifies how encoding and decoding errors are to be handled.\n See the errors argument for :func:`open` for a full list\n of options.\n\n{storage_options}\n\nReturns\n-------\nNone or str\n If path_or_buf is None, returns the resulting csv format as a\n string. Otherwise returns None.\n\nSee Also\n--------\nread_csv : Load a CSV file into a DataFrame.\nto_excel : Write DataFrame to an Excel file.\n\nExamples\n--------\nCreate 'out.csv' containing 'df' without indices\n\n>>> df = pd.DataFrame({{'name': ['Raphael', 'Donatello'],\n... 'mask': ['red', 'purple'],\n... 'weapon': ['sai', 'bo staff']}})\n>>> df.to_csv('out.csv', index=False) # doctest: +SKIP\n\nCreate 'out.zip' containing 'out.csv'\n\n>>> df.to_csv(index=False)\n'name,mask,weapon\\nRaphael,red,sai\\nDonatello,purple,bo staff\\n'\n>>> compression_opts = dict(method='zip',\n... archive_name='out.csv') # doctest: +SKIP\n>>> df.to_csv('out.zip', index=False,\n... compression=compression_opts) # doctest: +SKIP\n\nTo write a csv file to a new folder or nested folder you will first\nneed to create it using either Pathlib or os:\n\n>>> from pathlib import Path # doctest: +SKIP\n>>> filepath = Path('folder/subfolder/out.csv') # doctest: +SKIP\n>>> filepath.parent.mkdir(parents=True, exist_ok=True) # doctest: +SKIP\n>>> df.to_csv(filepath) # doctest: +SKIP\n\n>>> import os # doctest: +SKIP\n>>> os.makedirs('folder/subfolder', exist_ok=True) # doctest: +SKIP\n>>> df.to_csv('folder/subfolder/out.csv') # doctest: +SKIP\n"}, "kind": 2, "label": "to_csv", "sortText": "176"}, {"detail": "Overload[[MutableMappingT](orient: Literal[\"dict\", \"list\", \"series\", \"split\", \"tight\", \"index\"] = ..., *, into: type[MutableMappingT] | MutableMappingT, index: bool = ...) -> MutableMappingT, [MutableMappingT](orient: Literal[\"records\"], *, into: type[MutableMappingT] | MutableMappingT, index: bool = ...) -> list[MutableMappingT], (orient: Literal[\"dict\", \"list\", \"series\", \"split\", \"tight\", \"index\"] = ..., *, into: type[dict[Unknown, Unknown]] = ..., index: bool = ...) -> dict[Unknown, Unknown], (orient: Literal[\"records\"], *, into: type[dict[Unknown, Unknown]] = ..., index: bool = ...) -> list[dict[Unknown, Unknown]]]", "documentation": {"kind": "plaintext", "value": "Convert the DataFrame to a dictionary.\n\nThe type of the key-value pairs can be customized with the parameters\n(see below).\n\nParameters\n----------\norient : str {'dict', 'list', 'series', 'split', 'tight', 'records', 'index'}\n Determines the type of the values of the dictionary.\n\n - 'dict' (default) : dict like {column -> {index -> value}}\n - 'list' : dict like {column -> [values]}\n - 'series' : dict like {column -> Series(values)}\n - 'split' : dict like\n {'index' -> [index], 'columns' -> [columns], 'data' -> [values]}\n - 'tight' : dict like\n {'index' -> [index], 'columns' -> [columns], 'data' -> [values],\n 'index_names' -> [index.names], 'column_names' -> [column.names]}\n - 'records' : list like\n [{column -> value}, ... , {column -> value}]\n - 'index' : dict like {index -> {column -> value}}\n\n .. versionadded:: 1.4.0\n 'tight' as an allowed value for the ``orient`` argument\n\ninto : class, default dict\n The collections.abc.MutableMapping subclass used for all Mappings\n in the return value. Can be the actual class or an empty\n instance of the mapping type you want. If you want a\n collections.defaultdict, you must pass it initialized.\n\nindex : bool, default True\n Whether to include the index item (and index_names item if `orient`\n is 'tight') in the returned dictionary. Can only be ``False``\n when `orient` is 'split' or 'tight'.\n\n .. versionadded:: 2.0.0\n\nReturns\n-------\ndict, list or collections.abc.MutableMapping\n Return a collections.abc.MutableMapping object representing the\n DataFrame. The resulting transformation depends on the `orient`\n parameter.\n\nSee Also\n--------\nDataFrame.from_dict: Create a DataFrame from a dictionary.\nDataFrame.to_json: Convert a DataFrame to JSON format.\n\nExamples\n--------\n>>> df = pd.DataFrame({'col1': [1, 2],\n... 'col2': [0.5, 0.75]},\n... index=['row1', 'row2'])\n>>> df\n col1 col2\nrow1 1 0.50\nrow2 2 0.75\n>>> df.to_dict()\n{'col1': {'row1': 1, 'row2': 2}, 'col2': {'row1': 0.5, 'row2': 0.75}}\n\nYou can specify the return orientation.\n\n>>> df.to_dict('series')\n{'col1': row1 1\n row2 2\nName: col1, dtype: int64,\n'col2': row1 0.50\n row2 0.75\nName: col2, dtype: float64}\n\n>>> df.to_dict('split')\n{'index': ['row1', 'row2'], 'columns': ['col1', 'col2'],\n 'data': [[1, 0.5], [2, 0.75]]}\n\n>>> df.to_dict('records')\n[{'col1': 1, 'col2': 0.5}, {'col1': 2, 'col2': 0.75}]\n\n>>> df.to_dict('index')\n{'row1': {'col1': 1, 'col2': 0.5}, 'row2': {'col1': 2, 'col2': 0.75}}\n\n>>> df.to_dict('tight')\n{'index': ['row1', 'row2'], 'columns': ['col1', 'col2'],\n 'data': [[1, 0.5], [2, 0.75]], 'index_names': [None], 'column_names': [None]}\n\nYou can also specify the mapping type.\n\n>>> from collections import OrderedDict, defaultdict\n>>> df.to_dict(into=OrderedDict)\nOrderedDict([('col1', OrderedDict([('row1', 1), ('row2', 2)])),\n ('col2', OrderedDict([('row1', 0.5), ('row2', 0.75)]))])\n\nIf you want a `defaultdict`, you need to initialize it:\n\n>>> dd = defaultdict(list)\n>>> df.to_dict('records', into=dd)\n[defaultdict(, {'col1': 1, 'col2': 0.5}),\n defaultdict(, {'col1': 2, 'col2': 0.75})]\n"}, "kind": 2, "label": "to_dict", "sortText": "177"}, {"detail": "bound method DataFrame.to_excel(excel_writer: str | PathLike[str] | WriteExcelBuffer, sheet_name: str = \"Sheet1\", na_rep: str = \"\", float_format: str | None = None, columns: Sequence[Hashable] | None = None, header: Sequence[Hashable] | bool = True, index: bool = True, index_label: Hashable | Sequence[Hashable] = None, startrow: int = 0, startcol: int = 0, engine: Literal[\"openpyxl\", \"xlsxwriter\"] | None = None, merge_cells: bool = True, inf_rep: str = \"inf\", freeze_panes: tuple[int, int] | None = None, storage_options: dict[str, Any] | None = None, engine_kwargs: dict[str, Any] | None = None) -> None", "documentation": {"kind": "plaintext", "value": "Write {klass} to an Excel sheet.\n\nTo write a single {klass} to an Excel .xlsx file it is only necessary to\nspecify a target file name. To write to multiple sheets it is necessary to\ncreate an `ExcelWriter` object with a target file name, and specify a sheet\nin the file to write to.\n\nMultiple sheets may be written to by specifying unique `sheet_name`.\nWith all data written to the file it is necessary to save the changes.\nNote that creating an `ExcelWriter` object with a file name that already\nexists will result in the contents of the existing file being erased.\n\nParameters\n----------\nexcel_writer : path-like, file-like, or ExcelWriter object\n File path or existing ExcelWriter.\nsheet_name : str, default 'Sheet1'\n Name of sheet which will contain DataFrame.\nna_rep : str, default ''\n Missing data representation.\nfloat_format : str, optional\n Format string for floating point numbers. For example\n ``float_format=\"%.2f\"`` will format 0.1234 to 0.12.\ncolumns : sequence or list of str, optional\n Columns to write.\nheader : bool or list of str, default True\n Write out the column names. If a list of string is given it is\n assumed to be aliases for the column names.\nindex : bool, default True\n Write row names (index).\nindex_label : str or sequence, optional\n Column label for index column(s) if desired. If not specified, and\n `header` and `index` are True, then the index names are used. A\n sequence should be given if the DataFrame uses MultiIndex.\nstartrow : int, default 0\n Upper left cell row to dump data frame.\nstartcol : int, default 0\n Upper left cell column to dump data frame.\nengine : str, optional\n Write engine to use, 'openpyxl' or 'xlsxwriter'. You can also set this\n via the options ``io.excel.xlsx.writer`` or\n ``io.excel.xlsm.writer``.\n\nmerge_cells : bool, default True\n Write MultiIndex and Hierarchical Rows as merged cells.\ninf_rep : str, default 'inf'\n Representation for infinity (there is no native representation for\n infinity in Excel).\nfreeze_panes : tuple of int (length 2), optional\n Specifies the one-based bottommost row and rightmost column that\n is to be frozen.\n{storage_options}\n\n .. versionadded:: {storage_options_versionadded}\nengine_kwargs : dict, optional\n Arbitrary keyword arguments passed to excel engine.\n\nSee Also\n--------\nto_csv : Write DataFrame to a comma-separated values (csv) file.\nExcelWriter : Class for writing DataFrame objects into excel sheets.\nread_excel : Read an Excel file into a pandas DataFrame.\nread_csv : Read a comma-separated values (csv) file into DataFrame.\nio.formats.style.Styler.to_excel : Add styles to Excel sheet.\n\nNotes\n-----\nFor compatibility with :meth:`~DataFrame.to_csv`,\nto_excel serializes lists and dicts to strings before writing.\n\nOnce a workbook has been saved it is not possible to write further\ndata without rewriting the whole workbook.\n\nExamples\n--------\n\nCreate, write to and save a workbook:\n\n>>> df1 = pd.DataFrame([['a', 'b'], ['c', 'd']],\n... index=['row 1', 'row 2'],\n... columns=['col 1', 'col 2'])\n>>> df1.to_excel(\"output.xlsx\") # doctest: +SKIP\n\nTo specify the sheet name:\n\n>>> df1.to_excel(\"output.xlsx\",\n... sheet_name='Sheet_name_1') # doctest: +SKIP\n\nIf you wish to write to more than one sheet in the workbook, it is\nnecessary to specify an ExcelWriter object:\n\n>>> df2 = df1.copy()\n>>> with pd.ExcelWriter('output.xlsx') as writer: # doctest: +SKIP\n... df1.to_excel(writer, sheet_name='Sheet_name_1')\n... df2.to_excel(writer, sheet_name='Sheet_name_2')\n\nExcelWriter can also be used to append to an existing Excel file:\n\n>>> with pd.ExcelWriter('output.xlsx',\n... mode='a') as writer: # doctest: +SKIP\n... df1.to_excel(writer, sheet_name='Sheet_name_3')\n\nTo set the library that is used to write the Excel file,\nyou can pass the `engine` keyword (the default engine is\nautomatically chosen depending on the file extension):\n\n>>> df1.to_excel('output1.xlsx', engine='xlsxwriter') # doctest: +SKIP\n"}, "kind": 2, "label": "to_excel", "sortText": "178"}, {"detail": "bound method DataFrame.to_feather(path: str | PathLike[str] | WriteBuffer[bytes], **kwargs) -> None", "documentation": {"kind": "plaintext", "value": "Write a DataFrame to the binary Feather format.\n\nParameters\n----------\npath : str, path object, file-like object\n String, path object (implementing ``os.PathLike[str]``), or file-like\n object implementing a binary ``write()`` function. If a string or a path,\n it will be used as Root Directory path when writing a partitioned dataset.\n**kwargs :\n Additional keywords passed to :func:`pyarrow.feather.write_feather`.\n This includes the `compression`, `compression_level`, `chunksize`\n and `version` keywords.\n\nNotes\n-----\nThis function writes the dataframe as a `feather file\n`_. Requires a default\nindex. For saving the DataFrame with your custom index use a method that\nsupports custom indices e.g. `to_parquet`.\n\nExamples\n--------\n>>> df = pd.DataFrame([[1, 2, 3], [4, 5, 6]])\n>>> df.to_feather(\"file.feather\") # doctest: +SKIP\n"}, "kind": 2, "label": "to_feather", "sortText": "179"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "to_frame", "sortText": "180"}, {"detail": "bound method DataFrame.to_gbq(destination_table: str, project_id: str | None = None, chunksize: int | None = None, reauth: bool = False, if_exists: Literal[\"fail\", \"replace\", \"append\"] = \"fail\", auth_local_webserver: bool = True, table_schema: list[dict[str, str]] | None = None, location: str | None = None, progress_bar: bool = True, credentials=None) -> None", "documentation": {"kind": "plaintext", "value": "Write a DataFrame to a Google BigQuery table.\n\n.. deprecated:: 2.2.0\n\n Please use ``pandas_gbq.to_gbq`` instead.\n\nThis function requires the `pandas-gbq package\n`__.\n\nSee the `How to authenticate with Google BigQuery\n`__\nguide for authentication instructions.\n\nParameters\n----------\ndestination_table : str\n Name of table to be written, in the form ``dataset.tablename``.\nproject_id : str, optional\n Google BigQuery Account project ID. Optional when available from\n the environment.\nchunksize : int, optional\n Number of rows to be inserted in each chunk from the dataframe.\n Set to ``None`` to load the whole dataframe at once.\nreauth : bool, default False\n Force Google BigQuery to re-authenticate the user. This is useful\n if multiple accounts are used.\nif_exists : str, default 'fail'\n Behavior when the destination table exists. Value can be one of:\n\n ``'fail'``\n If table exists raise pandas_gbq.gbq.TableCreationError.\n ``'replace'``\n If table exists, drop it, recreate it, and insert data.\n ``'append'``\n If table exists, insert data. Create if does not exist.\nauth_local_webserver : bool, default True\n Use the `local webserver flow`_ instead of the `console flow`_\n when getting user credentials.\n\n .. _local webserver flow:\n https://google-auth-oauthlib.readthedocs.io/en/latest/reference/google_auth_oauthlib.flow.html#google_auth_oauthlib.flow.InstalledAppFlow.run_local_server\n .. _console flow:\n https://google-auth-oauthlib.readthedocs.io/en/latest/reference/google_auth_oauthlib.flow.html#google_auth_oauthlib.flow.InstalledAppFlow.run_console\n\n *New in version 0.2.0 of pandas-gbq*.\n\n .. versionchanged:: 1.5.0\n Default value is changed to ``True``. Google has deprecated the\n ``auth_local_webserver = False`` `\"out of band\" (copy-paste)\n flow\n `_.\ntable_schema : list of dicts, optional\n List of BigQuery table fields to which according DataFrame\n columns conform to, e.g. ``[{'name': 'col1', 'type':\n 'STRING'},...]``. If schema is not provided, it will be\n generated according to dtypes of DataFrame columns. See\n BigQuery API documentation on available names of a field.\n\n *New in version 0.3.1 of pandas-gbq*.\nlocation : str, optional\n Location where the load job should run. See the `BigQuery locations\n documentation\n `__ for a\n list of available locations. The location must match that of the\n target dataset.\n\n *New in version 0.5.0 of pandas-gbq*.\nprogress_bar : bool, default True\n Use the library `tqdm` to show the progress bar for the upload,\n chunk by chunk.\n\n *New in version 0.5.0 of pandas-gbq*.\ncredentials : google.auth.credentials.Credentials, optional\n Credentials for accessing Google APIs. Use this parameter to\n override default credentials, such as to use Compute Engine\n :class:`google.auth.compute_engine.Credentials` or Service\n Account :class:`google.oauth2.service_account.Credentials`\n directly.\n\n *New in version 0.8.0 of pandas-gbq*.\n\nSee Also\n--------\npandas_gbq.to_gbq : This function in the pandas-gbq library.\nread_gbq : Read a DataFrame from Google BigQuery.\n\nExamples\n--------\nExample taken from `Google BigQuery documentation\n`_\n\n>>> project_id = \"my-project\"\n>>> table_id = 'my_dataset.my_table'\n>>> df = pd.DataFrame({\n... \"my_string\": [\"a\", \"b\", \"c\"],\n... \"my_int64\": [1, 2, 3],\n... \"my_float64\": [4.0, 5.0, 6.0],\n... \"my_bool1\": [True, False, True],\n... \"my_bool2\": [False, True, False],\n... \"my_dates\": pd.date_range(\"now\", periods=3),\n... }\n... )\n\n>>> df.to_gbq(table_id, project_id=project_id) # doctest: +SKIP\n"}, "kind": 2, "label": "to_gbq", "sortText": "181"}, {"detail": "bound method DataFrame.to_hdf(path_or_buf: str | PathLike[str], key: str, mode: Literal[\"a\", \"w\", \"r+\"] = \"a\", complevel: int | None = None, complib: Literal[\"zlib\", \"lzo\", \"bzip2\", \"blosc\"] | None = None, append: bool = False, format: Literal[\"fixed\", \"table\"] | None = None, index: bool = True, min_itemsize: int | dict[str, int] | None = None, nan_rep=None, dropna: bool | None = None, data_columns: Literal[True] | list[str] | None = None, errors: Literal[\"strict\", \"ignore\", \"replace\", \"surrogateescape\", \"xmlcharrefreplace\", \"backslashreplace\", \"namereplace\"] = \"strict\", encoding: str = \"UTF-8\") -> None", "documentation": {"kind": "plaintext", "value": "Write the contained data to an HDF5 file using HDFStore.\n\nHierarchical Data Format (HDF) is self-describing, allowing an\napplication to interpret the structure and contents of a file with\nno outside information. One HDF file can hold a mix of related objects\nwhich can be accessed as a group or as individual objects.\n\nIn order to add another DataFrame or Series to an existing HDF file\nplease use append mode and a different a key.\n\n.. warning::\n\n One can store a subclass of ``DataFrame`` or ``Series`` to HDF5,\n but the type of the subclass is lost upon storing.\n\nFor more information see the :ref:`user guide `.\n\nParameters\n----------\npath_or_buf : str or pandas.HDFStore\n File path or HDFStore object.\nkey : str\n Identifier for the group in the store.\nmode : {'a', 'w', 'r+'}, default 'a'\n Mode to open file:\n\n - 'w': write, a new file is created (an existing file with\n the same name would be deleted).\n - 'a': append, an existing file is opened for reading and\n writing, and if the file does not exist it is created.\n - 'r+': similar to 'a', but the file must already exist.\ncomplevel : {0-9}, default None\n Specifies a compression level for data.\n A value of 0 or None disables compression.\ncomplib : {'zlib', 'lzo', 'bzip2', 'blosc'}, default 'zlib'\n Specifies the compression library to be used.\n These additional compressors for Blosc are supported\n (default if no compressor specified: 'blosc:blosclz'):\n {'blosc:blosclz', 'blosc:lz4', 'blosc:lz4hc', 'blosc:snappy',\n 'blosc:zlib', 'blosc:zstd'}.\n Specifying a compression library which is not available issues\n a ValueError.\nappend : bool, default False\n For Table formats, append the input data to the existing.\nformat : {'fixed', 'table', None}, default 'fixed'\n Possible values:\n\n - 'fixed': Fixed format. Fast writing/reading. Not-appendable,\n nor searchable.\n - 'table': Table format. Write as a PyTables Table structure\n which may perform worse but allow more flexible operations\n like searching / selecting subsets of the data.\n - If None, pd.get_option('io.hdf.default_format') is checked,\n followed by fallback to \"fixed\".\nindex : bool, default True\n Write DataFrame index as a column.\nmin_itemsize : dict or int, optional\n Map column names to minimum string sizes for columns.\nnan_rep : Any, optional\n How to represent null values as str.\n Not allowed with append=True.\ndropna : bool, default False, optional\n Remove missing values.\ndata_columns : list of columns or True, optional\n List of columns to create as indexed data columns for on-disk\n queries, or True to use all columns. By default only the axes\n of the object are indexed. See\n :ref:`Query via data columns`. for\n more information.\n Applicable only to format='table'.\nerrors : str, default 'strict'\n Specifies how encoding and decoding errors are to be handled.\n See the errors argument for :func:`open` for a full list\n of options.\nencoding : str, default \"UTF-8\"\n\nSee Also\n--------\nread_hdf : Read from HDF file.\nDataFrame.to_orc : Write a DataFrame to the binary orc format.\nDataFrame.to_parquet : Write a DataFrame to the binary parquet format.\nDataFrame.to_sql : Write to a SQL table.\nDataFrame.to_feather : Write out feather-format for DataFrames.\nDataFrame.to_csv : Write out to a csv file.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]},\n... index=['a', 'b', 'c']) # doctest: +SKIP\n>>> df.to_hdf('data.h5', key='df', mode='w') # doctest: +SKIP\n\nWe can add another object to the same file:\n\n>>> s = pd.Series([1, 2, 3, 4]) # doctest: +SKIP\n>>> s.to_hdf('data.h5', key='s') # doctest: +SKIP\n\nReading from HDF file:\n\n>>> pd.read_hdf('data.h5', 'df') # doctest: +SKIP\nA B\na 1 4\nb 2 5\nc 3 6\n>>> pd.read_hdf('data.h5', 's') # doctest: +SKIP\n0 1\n1 2\n2 3\n3 4\ndtype: int64\n"}, "kind": 2, "label": "to_hdf", "sortText": "182"}, {"detail": "Overload[(buf: str | PathLike[str] | WriteBuffer[str], columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = ..., col_space: Sequence[str | int] | int | Mapping[Hashable, str | int] | None = ..., header: bool = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., justify: str | None = ..., max_rows: int | None = ..., max_cols: int | None = ..., show_dimensions: bool | str = ..., decimal: str = ..., bold_rows: bool = ..., classes: str | list[Unknown] | tuple[Unknown, ...] | None = ..., escape: bool = ..., notebook: bool = ..., border: int | None = ..., table_id: str | None = ..., render_links: bool = ..., encoding: str | None = ...) -> None, (buf: None = ..., columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = ..., col_space: Sequence[str | int] | int | Mapping[Hashable, str | int] | None = ..., header: bool = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., justify: str | None = ..., max_rows: int | None = ..., max_cols: int | None = ..., show_dimensions: bool | str = ..., decimal: str = ..., bold_rows: bool = ..., classes: str | list[Unknown] | tuple[Unknown, ...] | None = ..., escape: bool = ..., notebook: bool = ..., border: int | None = ..., table_id: str | None = ..., render_links: bool = ..., encoding: str | None = ...) -> str]", "documentation": {"kind": "plaintext", "value": "Render a DataFrame as an HTML table.\n%(shared_params)s\nbold_rows : bool, default True\n Make the row labels bold in the output.\nclasses : str or list or tuple, default None\n CSS class(es) to apply to the resulting html table.\nescape : bool, default True\n Convert the characters <, >, and & to HTML-safe sequences.\nnotebook : {True, False}, default False\n Whether the generated HTML is for IPython Notebook.\nborder : int\n A ``border=border`` attribute is included in the opening\n `
` tag. Default ``pd.options.display.html.border``.\ntable_id : str, optional\n A css id is included in the opening `
` tag if specified.\nrender_links : bool, default False\n Convert URLs to HTML links.\nencoding : str, default \"utf-8\"\n Set character encoding.\n%(returns)s\nSee Also\n--------\nto_string : Convert DataFrame to a string.\n\nExamples\n--------\n>>> df = pd.DataFrame(data={'col1': [1, 2], 'col2': [4, 3]})\n>>> html_string = '''
\n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n...
col1col2
014
123
'''\n>>> assert html_string == df.to_html()\n"}, "kind": 2, "label": "to_html", "sortText": "183"}, {"detail": "bound method DataFrame.to_json(path_or_buf: str | PathLike[str] | WriteBuffer[bytes] | WriteBuffer[str] | None = None, orient: Literal[\"split\", \"records\", \"index\", \"table\", \"columns\", \"values\"] | None = None, date_format: str | None = None, double_precision: int = 10, force_ascii: bool = True, date_unit: Literal[\"s\", \"ms\", \"us\", \"ns\"] = \"ms\", default_handler: ((Any, /) -> str | float | list[Unknown] | dict[Unknown, Unknown] | None) | None = None, lines: bool = False, compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = \"infer\", index: bool | None = None, indent: int | None = None, storage_options: dict[str, Any] | None = None, mode: Literal[\"a\", \"w\"] = \"w\") -> str | None", "documentation": {"kind": "plaintext", "value": "Convert the object to a JSON string.\n\nNote NaN's and None will be converted to null and datetime objects\nwill be converted to UNIX timestamps.\n\nParameters\n----------\npath_or_buf : str, path object, file-like object, or None, default None\n String, path object (implementing os.PathLike[str]), or file-like\n object implementing a write() function. If None, the result is\n returned as a string.\norient : str\n Indication of expected JSON string format.\n\n * Series:\n\n - default is 'index'\n - allowed values are: {{'split', 'records', 'index', 'table'}}.\n\n * DataFrame:\n\n - default is 'columns'\n - allowed values are: {{'split', 'records', 'index', 'columns',\n 'values', 'table'}}.\n\n * The format of the JSON string:\n\n - 'split' : dict like {{'index' -> [index], 'columns' -> [columns],\n 'data' -> [values]}}\n - 'records' : list like [{{column -> value}}, ... , {{column -> value}}]\n - 'index' : dict like {{index -> {{column -> value}}}}\n - 'columns' : dict like {{column -> {{index -> value}}}}\n - 'values' : just the values array\n - 'table' : dict like {{'schema': {{schema}}, 'data': {{data}}}}\n\n Describing the data, where data component is like ``orient='records'``.\n\ndate_format : {{None, 'epoch', 'iso'}}\n Type of date conversion. 'epoch' = epoch milliseconds,\n 'iso' = ISO8601. The default depends on the `orient`. For\n ``orient='table'``, the default is 'iso'. For all other orients,\n the default is 'epoch'.\ndouble_precision : int, default 10\n The number of decimal places to use when encoding\n floating point values. The possible maximal value is 15.\n Passing double_precision greater than 15 will raise a ValueError.\nforce_ascii : bool, default True\n Force encoded string to be ASCII.\ndate_unit : str, default 'ms' (milliseconds)\n The time unit to encode to, governs timestamp and ISO8601\n precision. One of 's', 'ms', 'us', 'ns' for second, millisecond,\n microsecond, and nanosecond respectively.\ndefault_handler : callable, default None\n Handler to call if object cannot otherwise be converted to a\n suitable format for JSON. Should receive a single argument which is\n the object to convert and return a serialisable object.\nlines : bool, default False\n If 'orient' is 'records' write out line-delimited json format. Will\n throw ValueError if incorrect 'orient' since others are not\n list-like.\n{compression_options}\n\n .. versionchanged:: 1.4.0 Zstandard support.\n\nindex : bool or None, default None\n The index is only used when 'orient' is 'split', 'index', 'column',\n or 'table'. Of these, 'index' and 'column' do not support\n `index=False`.\n\nindent : int, optional\n Length of whitespace used to indent each record.\n\n{storage_options}\n\nmode : str, default 'w' (writing)\n Specify the IO mode for output when supplying a path_or_buf.\n Accepted args are 'w' (writing) and 'a' (append) only.\n mode='a' is only supported when lines is True and orient is 'records'.\n\nReturns\n-------\nNone or str\n If path_or_buf is None, returns the resulting json format as a\n string. Otherwise returns None.\n\nSee Also\n--------\nread_json : Convert a JSON string to pandas object.\n\nNotes\n-----\nThe behavior of ``indent=0`` varies from the stdlib, which does not\nindent the output but does insert newlines. Currently, ``indent=0``\nand the default ``indent=None`` are equivalent in pandas, though this\nmay change in a future release.\n\n``orient='table'`` contains a 'pandas_version' field under 'schema'.\nThis stores the version of `pandas` used in the latest revision of the\nschema.\n\nExamples\n--------\n>>> from json import loads, dumps\n>>> df = pd.DataFrame(\n... [[\"a\", \"b\"], [\"c\", \"d\"]],\n... index=[\"row 1\", \"row 2\"],\n... columns=[\"col 1\", \"col 2\"],\n... )\n\n>>> result = df.to_json(orient=\"split\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n{{\n \"columns\": [\n \"col 1\",\n \"col 2\"\n ],\n \"index\": [\n \"row 1\",\n \"row 2\"\n ],\n \"data\": [\n [\n \"a\",\n \"b\"\n ],\n [\n \"c\",\n \"d\"\n ]\n ]\n}}\n\nEncoding/decoding a Dataframe using ``'records'`` formatted JSON.\nNote that index labels are not preserved with this encoding.\n\n>>> result = df.to_json(orient=\"records\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n[\n {{\n \"col 1\": \"a\",\n \"col 2\": \"b\"\n }},\n {{\n \"col 1\": \"c\",\n \"col 2\": \"d\"\n }}\n]\n\nEncoding/decoding a Dataframe using ``'index'`` formatted JSON:\n\n>>> result = df.to_json(orient=\"index\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n{{\n \"row 1\": {{\n \"col 1\": \"a\",\n \"col 2\": \"b\"\n }},\n \"row 2\": {{\n \"col 1\": \"c\",\n \"col 2\": \"d\"\n }}\n}}\n\nEncoding/decoding a Dataframe using ``'columns'`` formatted JSON:\n\n>>> result = df.to_json(orient=\"columns\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n{{\n \"col 1\": {{\n \"row 1\": \"a\",\n \"row 2\": \"c\"\n }},\n \"col 2\": {{\n \"row 1\": \"b\",\n \"row 2\": \"d\"\n }}\n}}\n\nEncoding/decoding a Dataframe using ``'values'`` formatted JSON:\n\n>>> result = df.to_json(orient=\"values\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n[\n [\n \"a\",\n \"b\"\n ],\n [\n \"c\",\n \"d\"\n ]\n]\n\nEncoding with Table Schema:\n\n>>> result = df.to_json(orient=\"table\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n{{\n \"schema\": {{\n \"fields\": [\n {{\n \"name\": \"index\",\n \"type\": \"string\"\n }},\n {{\n \"name\": \"col 1\",\n \"type\": \"string\"\n }},\n {{\n \"name\": \"col 2\",\n \"type\": \"string\"\n }}\n ],\n \"primaryKey\": [\n \"index\"\n ],\n \"pandas_version\": \"1.4.0\"\n }},\n \"data\": [\n {{\n \"index\": \"row 1\",\n \"col 1\": \"a\",\n \"col 2\": \"b\"\n }},\n {{\n \"index\": \"row 2\",\n \"col 1\": \"c\",\n \"col 2\": \"d\"\n }}\n ]\n}}\n"}, "kind": 2, "label": "to_json", "sortText": "184"}, {"detail": "Overload[(buf: None = ..., columns: Sequence[Hashable] | None = ..., header: bool | SequenceNotStr[str] = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., bold_rows: bool = ..., column_format: str | None = ..., longtable: bool | None = ..., escape: bool | None = ..., encoding: str | None = ..., decimal: str = ..., multicolumn: bool | None = ..., multicolumn_format: str | None = ..., multirow: bool | None = ..., caption: str | tuple[str, str] | None = ..., label: str | None = ..., position: str | None = ...) -> str, (buf: str | PathLike[str] | WriteBuffer[str], columns: Sequence[Hashable] | None = ..., header: bool | SequenceNotStr[str] = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., bold_rows: bool = ..., column_format: str | None = ..., longtable: bool | None = ..., escape: bool | None = ..., encoding: str | None = ..., decimal: str = ..., multicolumn: bool | None = ..., multicolumn_format: str | None = ..., multirow: bool | None = ..., caption: str | tuple[str, str] | None = ..., label: str | None = ..., position: str | None = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Render object to a LaTeX tabular, longtable, or nested table.\n\nRequires ``\\usepackage{{booktabs}}``. The output can be copy/pasted\ninto a main LaTeX document or read from an external file\nwith ``\\input{{table.tex}}``.\n\n.. versionchanged:: 2.0.0\n Refactored to use the Styler implementation via jinja2 templating.\n\nParameters\n----------\nbuf : str, Path or StringIO-like, optional, default None\n Buffer to write to. If None, the output is returned as a string.\ncolumns : list of label, optional\n The subset of columns to write. Writes all columns by default.\nheader : bool or list of str, default True\n Write out the column names. If a list of strings is given,\n it is assumed to be aliases for the column names.\nindex : bool, default True\n Write row names (index).\nna_rep : str, default 'NaN'\n Missing data representation.\nformatters : list of functions or dict of {{str: function}}, optional\n Formatter functions to apply to columns' elements by position or\n name. The result of each function must be a unicode string.\n List must be of length equal to the number of columns.\nfloat_format : one-parameter function or str, optional, default None\n Formatter for floating point numbers. For example\n ``float_format=\"%.2f\"`` and ``float_format=\"{{:0.2f}}\".format`` will\n both result in 0.1234 being formatted as 0.12.\nsparsify : bool, optional\n Set to False for a DataFrame with a hierarchical index to print\n every multiindex key at each row. By default, the value will be\n read from the config module.\nindex_names : bool, default True\n Prints the names of the indexes.\nbold_rows : bool, default False\n Make the row labels bold in the output.\ncolumn_format : str, optional\n The columns format as specified in `LaTeX table format\n `__ e.g. 'rcl' for 3\n columns. By default, 'l' will be used for all columns except\n columns of numbers, which default to 'r'.\nlongtable : bool, optional\n Use a longtable environment instead of tabular. Requires\n adding a \\usepackage{{longtable}} to your LaTeX preamble.\n By default, the value will be read from the pandas config\n module, and set to `True` if the option ``styler.latex.environment`` is\n `\"longtable\"`.\n\n .. versionchanged:: 2.0.0\n The pandas option affecting this argument has changed.\nescape : bool, optional\n By default, the value will be read from the pandas config\n module and set to `True` if the option ``styler.format.escape`` is\n `\"latex\"`. When set to False prevents from escaping latex special\n characters in column names.\n\n .. versionchanged:: 2.0.0\n The pandas option affecting this argument has changed, as has the\n default value to `False`.\nencoding : str, optional\n A string representing the encoding to use in the output file,\n defaults to 'utf-8'.\ndecimal : str, default '.'\n Character recognized as decimal separator, e.g. ',' in Europe.\nmulticolumn : bool, default True\n Use \\multicolumn to enhance MultiIndex columns.\n The default will be read from the config module, and is set\n as the option ``styler.sparse.columns``.\n\n .. versionchanged:: 2.0.0\n The pandas option affecting this argument has changed.\nmulticolumn_format : str, default 'r'\n The alignment for multicolumns, similar to `column_format`\n The default will be read from the config module, and is set as the option\n ``styler.latex.multicol_align``.\n\n .. versionchanged:: 2.0.0\n The pandas option affecting this argument has changed, as has the\n default value to \"r\".\nmultirow : bool, default True\n Use \\multirow to enhance MultiIndex rows. Requires adding a\n \\usepackage{{multirow}} to your LaTeX preamble. Will print\n centered labels (instead of top-aligned) across the contained\n rows, separating groups via clines. The default will be read\n from the pandas config module, and is set as the option\n ``styler.sparse.index``.\n\n .. versionchanged:: 2.0.0\n The pandas option affecting this argument has changed, as has the\n default value to `True`.\ncaption : str or tuple, optional\n Tuple (full_caption, short_caption),\n which results in ``\\caption[short_caption]{{full_caption}}``;\n if a single string is passed, no short caption will be set.\nlabel : str, optional\n The LaTeX label to be placed inside ``\\label{{}}`` in the output.\n This is used with ``\\ref{{}}`` in the main ``.tex`` file.\n\nposition : str, optional\n The LaTeX positional argument for tables, to be placed after\n ``\\begin{{}}`` in the output.\n\nReturns\n-------\nstr or None\n If buf is None, returns the result as a string. Otherwise returns None.\n\nSee Also\n--------\nio.formats.style.Styler.to_latex : Render a DataFrame to LaTeX\n with conditional formatting.\nDataFrame.to_string : Render a DataFrame to a console-friendly\n tabular output.\nDataFrame.to_html : Render a DataFrame as an HTML table.\n\nNotes\n-----\nAs of v2.0.0 this method has changed to use the Styler implementation as\npart of :meth:`.Styler.to_latex` via ``jinja2`` templating. This means\nthat ``jinja2`` is a requirement, and needs to be installed, for this method\nto function. It is advised that users switch to using Styler, since that\nimplementation is more frequently updated and contains much more\nflexibility with the output.\n\nExamples\n--------\nConvert a general DataFrame to LaTeX with formatting:\n\n>>> df = pd.DataFrame(dict(name=['Raphael', 'Donatello'],\n... age=[26, 45],\n... height=[181.23, 177.65]))\n>>> print(df.to_latex(index=False,\n... formatters={\"name\": str.upper},\n... float_format=\"{:.1f}\".format,\n... )) # doctest: +SKIP\n\\begin{tabular}{lrr}\n\\toprule\nname & age & height \\\\\n\\midrule\nRAPHAEL & 26 & 181.2 \\\\\nDONATELLO & 45 & 177.7 \\\\\n\\bottomrule\n\\end{tabular}\n"}, "kind": 2, "label": "to_latex", "sortText": "185"}, {"detail": "bound method DataFrame.to_markdown(buf: str | PathLike[str] | WriteBuffer[str] | None = None, mode: str = \"wt\", index: bool = True, storage_options: dict[str, Any] | None = None, **kwargs) -> str | None", "kind": 2, "label": "to_markdown", "sortText": "186"}, {"detail": "bound method DataFrame.to_numpy(dtype: DTypeLike | None = None, copy: bool = False, na_value: object = ...) -> ndarray[_AnyShape, dtype[Any]]", "documentation": {"kind": "plaintext", "value": "Convert the DataFrame to a NumPy array.\n\nBy default, the dtype of the returned array will be the common NumPy\ndtype of all types in the DataFrame. For example, if the dtypes are\n``float16`` and ``float32``, the results dtype will be ``float32``.\nThis may require copying data and coercing values, which may be\nexpensive.\n\nParameters\n----------\ndtype : str or numpy.dtype, optional\n The dtype to pass to :meth:`numpy.asarray`.\ncopy : bool, default False\n Whether to ensure that the returned value is not a view on\n another array. Note that ``copy=False`` does not *ensure* that\n ``to_numpy()`` is no-copy. Rather, ``copy=True`` ensure that\n a copy is made, even if not strictly necessary.\nna_value : Any, optional\n The value to use for missing values. The default value depends\n on `dtype` and the dtypes of the DataFrame columns.\n\nReturns\n-------\nnumpy.ndarray\n\nSee Also\n--------\nSeries.to_numpy : Similar method for Series.\n\nExamples\n--------\n>>> pd.DataFrame({\"A\": [1, 2], \"B\": [3, 4]}).to_numpy()\narray([[1, 3],\n [2, 4]])\n\nWith heterogeneous data, the lowest common type will have to\nbe used.\n\n>>> df = pd.DataFrame({\"A\": [1, 2], \"B\": [3.0, 4.5]})\n>>> df.to_numpy()\narray([[1. , 3. ],\n [2. , 4.5]])\n\nFor a mix of numeric and non-numeric types, the output array will\nhave object dtype.\n\n>>> df['C'] = pd.date_range('2000', periods=2)\n>>> df.to_numpy()\narray([[1, 3.0, Timestamp('2000-01-01 00:00:00')],\n [2, 4.5, Timestamp('2000-01-02 00:00:00')]], dtype=object)\n"}, "kind": 2, "label": "to_numpy", "sortText": "187"}, {"detail": "bound method DataFrame.to_orc(path: str | PathLike[str] | WriteBuffer[bytes] | None = None, *, engine: Literal[\"pyarrow\"] = \"pyarrow\", index: bool | None = None, engine_kwargs: dict[str, Any] | None = None) -> bytes | None", "documentation": {"kind": "plaintext", "value": "Write a DataFrame to the ORC format.\n\n.. versionadded:: 1.5.0\n\nParameters\n----------\npath : str, file-like object or None, default None\n If a string, it will be used as Root Directory path\n when writing a partitioned dataset. By file-like object,\n we refer to objects with a write() method, such as a file handle\n (e.g. via builtin open function). If path is None,\n a bytes object is returned.\nengine : {'pyarrow'}, default 'pyarrow'\n ORC library to use.\nindex : bool, optional\n If ``True``, include the dataframe's index(es) in the file output.\n If ``False``, they will not be written to the file.\n If ``None``, similar to ``infer`` the dataframe's index(es)\n will be saved. However, instead of being saved as values,\n the RangeIndex will be stored as a range in the metadata so it\n doesn't require much space and is faster. Other indexes will\n be included as columns in the file output.\nengine_kwargs : dict[str, Any] or None, default None\n Additional keyword arguments passed to :func:`pyarrow.orc.write_table`.\n\nReturns\n-------\nbytes if no path argument is provided else None\n\nRaises\n------\nNotImplementedError\n Dtype of one or more columns is category, unsigned integers, interval,\n period or sparse.\nValueError\n engine is not pyarrow.\n\nSee Also\n--------\nread_orc : Read a ORC file.\nDataFrame.to_parquet : Write a parquet file.\nDataFrame.to_csv : Write a csv file.\nDataFrame.to_sql : Write to a sql table.\nDataFrame.to_hdf : Write to hdf.\n\nNotes\n-----\n* Before using this function you should read the :ref:`user guide about\n ORC ` and :ref:`install optional dependencies `.\n* This function requires `pyarrow `_\n library.\n* For supported dtypes please refer to `supported ORC features in Arrow\n `__.\n* Currently timezones in datetime columns are not preserved when a\n dataframe is converted into ORC files.\n\nExamples\n--------\n>>> df = pd.DataFrame(data={'col1': [1, 2], 'col2': [4, 3]})\n>>> df.to_orc('df.orc') # doctest: +SKIP\n>>> pd.read_orc('df.orc') # doctest: +SKIP\n col1 col2\n0 1 4\n1 2 3\n\nIf you want to get a buffer to the orc content you can write it to io.BytesIO\n\n>>> import io\n>>> b = io.BytesIO(df.to_orc()) # doctest: +SKIP\n>>> b.seek(0) # doctest: +SKIP\n0\n>>> content = b.read() # doctest: +SKIP\n"}, "kind": 2, "label": "to_orc", "sortText": "188"}, {"detail": "Overload[(path: None = ..., engine: Literal[\"auto\", \"pyarrow\", \"fastparquet\"] = ..., compression: str | None = ..., index: bool | None = ..., partition_cols: list[str] | None = ..., storage_options: dict[str, Any] | None = ..., **kwargs) -> bytes, (path: str | PathLike[str] | WriteBuffer[bytes], engine: Literal[\"auto\", \"pyarrow\", \"fastparquet\"] = ..., compression: str | None = ..., index: bool | None = ..., partition_cols: list[str] | None = ..., storage_options: dict[str, Any] | None = ..., **kwargs) -> None]", "documentation": {"kind": "plaintext", "value": "Write a DataFrame to the binary parquet format.\n\nThis function writes the dataframe as a `parquet file\n`_. You can choose different parquet\nbackends, and have the option of compression. See\n:ref:`the user guide ` for more details.\n\nParameters\n----------\npath : str, path object, file-like object, or None, default None\n String, path object (implementing ``os.PathLike[str]``), or file-like\n object implementing a binary ``write()`` function. If None, the result is\n returned as bytes. If a string or path, it will be used as Root Directory\n path when writing a partitioned dataset.\nengine : {{'auto', 'pyarrow', 'fastparquet'}}, default 'auto'\n Parquet library to use. If 'auto', then the option\n ``io.parquet.engine`` is used. The default ``io.parquet.engine``\n behavior is to try 'pyarrow', falling back to 'fastparquet' if\n 'pyarrow' is unavailable.\ncompression : str or None, default 'snappy'\n Name of the compression to use. Use ``None`` for no compression.\n Supported options: 'snappy', 'gzip', 'brotli', 'lz4', 'zstd'.\nindex : bool, default None\n If ``True``, include the dataframe's index(es) in the file output.\n If ``False``, they will not be written to the file.\n If ``None``, similar to ``True`` the dataframe's index(es)\n will be saved. However, instead of being saved as values,\n the RangeIndex will be stored as a range in the metadata so it\n doesn't require much space and is faster. Other indexes will\n be included as columns in the file output.\npartition_cols : list, optional, default None\n Column names by which to partition the dataset.\n Columns are partitioned in the order they are given.\n Must be None if path is not a string.\n{storage_options}\n\n**kwargs\n Additional arguments passed to the parquet library. See\n :ref:`pandas io ` for more details.\n\nReturns\n-------\nbytes if no path argument is provided else None\n\nSee Also\n--------\nread_parquet : Read a parquet file.\nDataFrame.to_orc : Write an orc file.\nDataFrame.to_csv : Write a csv file.\nDataFrame.to_sql : Write to a sql table.\nDataFrame.to_hdf : Write to hdf.\n\nNotes\n-----\nThis function requires either the `fastparquet\n`_ or `pyarrow\n`_ library.\n\nExamples\n--------\n>>> df = pd.DataFrame(data={{'col1': [1, 2], 'col2': [3, 4]}})\n>>> df.to_parquet('df.parquet.gzip',\n... compression='gzip') # doctest: +SKIP\n>>> pd.read_parquet('df.parquet.gzip') # doctest: +SKIP\n col1 col2\n0 1 3\n1 2 4\n\nIf you want to get a buffer to the parquet content you can use a io.BytesIO\nobject, as long as you don't use partition_cols, which creates multiple files.\n\n>>> import io\n>>> f = io.BytesIO()\n>>> df.to_parquet(f)\n>>> f.seek(0)\n0\n>>> content = f.read()\n"}, "kind": 2, "label": "to_parquet", "sortText": "189"}, {"detail": "bound method DataFrame.to_period(freq: str | BaseOffset | None = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Convert DataFrame from DatetimeIndex to PeriodIndex.\n\nConvert DataFrame from DatetimeIndex to PeriodIndex with desired\nfrequency (inferred from index if not passed).\n\nParameters\n----------\nfreq : str, default\n Frequency of the PeriodIndex.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to convert (the index by default).\ncopy : bool, default True\n If False then underlying input data is not copied.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\nDataFrame\n The DataFrame has a PeriodIndex.\n\nExamples\n--------\n>>> idx = pd.to_datetime(\n... [\n... \"2001-03-31 00:00:00\",\n... \"2002-05-31 00:00:00\",\n... \"2003-08-31 00:00:00\",\n... ]\n... )\n\n>>> idx\nDatetimeIndex(['2001-03-31', '2002-05-31', '2003-08-31'],\ndtype='datetime64[ns]', freq=None)\n\n>>> idx.to_period(\"M\")\nPeriodIndex(['2001-03', '2002-05', '2003-08'], dtype='period[M]')\n\nFor the yearly frequency\n\n>>> idx.to_period(\"Y\")\nPeriodIndex(['2001', '2002', '2003'], dtype='period[Y-DEC]')\n"}, "kind": 2, "label": "to_period", "sortText": "190"}, {"detail": "bound method DataFrame.to_pickle(path: str | PathLike[str] | WriteBuffer[bytes], compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = \"infer\", protocol: int = 5, storage_options: dict[str, Any] | None = None) -> None", "documentation": {"kind": "plaintext", "value": "Pickle (serialize) object to file.\n\nParameters\n----------\npath : str, path object, or file-like object\n String, path object (implementing ``os.PathLike[str]``), or file-like\n object implementing a binary ``write()`` function. File path where\n the pickled object will be stored.\n{compression_options}\nprotocol : int\n Int which indicates which protocol should be used by the pickler,\n default HIGHEST_PROTOCOL (see [1]_ paragraph 12.1.2). The possible\n values are 0, 1, 2, 3, 4, 5. A negative value for the protocol\n parameter is equivalent to setting its value to HIGHEST_PROTOCOL.\n\n .. [1] https://docs.python.org/3/library/pickle.html.\n\n{storage_options}\n\nSee Also\n--------\nread_pickle : Load pickled pandas object (or any object) from file.\nDataFrame.to_hdf : Write DataFrame to an HDF5 file.\nDataFrame.to_sql : Write DataFrame to a SQL database.\nDataFrame.to_parquet : Write a DataFrame to the binary parquet format.\n\nExamples\n--------\n>>> original_df = pd.DataFrame({{\"foo\": range(5), \"bar\": range(5, 10)}}) # doctest: +SKIP\n>>> original_df # doctest: +SKIP\n foo bar\n0 0 5\n1 1 6\n2 2 7\n3 3 8\n4 4 9\n>>> original_df.to_pickle(\"./dummy.pkl\") # doctest: +SKIP\n\n>>> unpickled_df = pd.read_pickle(\"./dummy.pkl\") # doctest: +SKIP\n>>> unpickled_df # doctest: +SKIP\n foo bar\n0 0 5\n1 1 6\n2 2 7\n3 3 8\n4 4 9\n"}, "kind": 2, "label": "to_pickle", "sortText": "191"}, {"detail": "bound method DataFrame.to_records(index: bool = True, column_dtypes=None, index_dtypes=None) -> recarray[_AnyShape, dtype[Any]]", "documentation": {"kind": "plaintext", "value": "Convert DataFrame to a NumPy record array.\n\nIndex will be included as the first field of the record array if\nrequested.\n\nParameters\n----------\nindex : bool, default True\n Include index in resulting record array, stored in 'index'\n field or using the index label, if set.\ncolumn_dtypes : str, type, dict, default None\n If a string or type, the data type to store all columns. If\n a dictionary, a mapping of column names and indices (zero-indexed)\n to specific data types.\nindex_dtypes : str, type, dict, default None\n If a string or type, the data type to store all index levels. If\n a dictionary, a mapping of index level names and indices\n (zero-indexed) to specific data types.\n\n This mapping is applied only if `index=True`.\n\nReturns\n-------\nnumpy.rec.recarray\n NumPy ndarray with the DataFrame labels as fields and each row\n of the DataFrame as entries.\n\nSee Also\n--------\nDataFrame.from_records: Convert structured or record ndarray\n to DataFrame.\nnumpy.rec.recarray: An ndarray that allows field access using\n attributes, analogous to typed columns in a\n spreadsheet.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [1, 2], 'B': [0.5, 0.75]},\n... index=['a', 'b'])\n>>> df\n A B\na 1 0.50\nb 2 0.75\n>>> df.to_records()\nrec.array([('a', 1, 0.5 ), ('b', 2, 0.75)],\n dtype=[('index', 'O'), ('A', '>> df.index = df.index.rename(\"I\")\n>>> df.to_records()\nrec.array([('a', 1, 0.5 ), ('b', 2, 0.75)],\n dtype=[('I', 'O'), ('A', '>> df.to_records(index=False)\nrec.array([(1, 0.5 ), (2, 0.75)],\n dtype=[('A', '>> df.to_records(column_dtypes={\"A\": \"int32\"})\nrec.array([('a', 1, 0.5 ), ('b', 2, 0.75)],\n dtype=[('I', 'O'), ('A', '>> df.to_records(index_dtypes=\">> index_dtypes = f\">> df.to_records(index_dtypes=index_dtypes)\nrec.array([(b'a', 1, 0.5 ), (b'b', 2, 0.75)],\n dtype=[('I', 'S1'), ('A', ' Unknown) | None = None) -> int | None", "documentation": {"kind": "plaintext", "value": "Write records stored in a DataFrame to a SQL database.\n\nDatabases supported by SQLAlchemy [1]_ are supported. Tables can be\nnewly created, appended to, or overwritten.\n\nParameters\n----------\nname : str\n Name of SQL table.\ncon : sqlalchemy.engine.(Engine or Connection) or sqlite3.Connection\n Using SQLAlchemy makes it possible to use any DB supported by that\n library. Legacy support is provided for sqlite3.Connection objects. The user\n is responsible for engine disposal and connection closure for the SQLAlchemy\n connectable. See `here `_.\n If passing a sqlalchemy.engine.Connection which is already in a transaction,\n the transaction will not be committed. If passing a sqlite3.Connection,\n it will not be possible to roll back the record insertion.\n\nschema : str, optional\n Specify the schema (if database flavor supports this). If None, use\n default schema.\nif_exists : {'fail', 'replace', 'append'}, default 'fail'\n How to behave if the table already exists.\n\n * fail: Raise a ValueError.\n * replace: Drop the table before inserting new values.\n * append: Insert new values to the existing table.\n\nindex : bool, default True\n Write DataFrame index as a column. Uses `index_label` as the column\n name in the table. Creates a table index for this column.\nindex_label : str or sequence, default None\n Column label for index column(s). If None is given (default) and\n `index` is True, then the index names are used.\n A sequence should be given if the DataFrame uses MultiIndex.\nchunksize : int, optional\n Specify the number of rows in each batch to be written at a time.\n By default, all rows will be written at once.\ndtype : dict or scalar, optional\n Specifying the datatype for columns. If a dictionary is used, the\n keys should be the column names and the values should be the\n SQLAlchemy types or strings for the sqlite3 legacy mode. If a\n scalar is provided, it will be applied to all columns.\nmethod : {None, 'multi', callable}, optional\n Controls the SQL insertion clause used:\n\n * None : Uses standard SQL ``INSERT`` clause (one per row).\n * 'multi': Pass multiple values in a single ``INSERT`` clause.\n * callable with signature ``(pd_table, conn, keys, data_iter)``.\n\n Details and a sample callable implementation can be found in the\n section :ref:`insert method `.\n\nReturns\n-------\nNone or int\n Number of rows affected by to_sql. None is returned if the callable\n passed into ``method`` does not return an integer number of rows.\n\n The number of returned rows affected is the sum of the ``rowcount``\n attribute of ``sqlite3.Cursor`` or SQLAlchemy connectable which may not\n reflect the exact number of written rows as stipulated in the\n `sqlite3 `__ or\n `SQLAlchemy `__.\n\n .. versionadded:: 1.4.0\n\nRaises\n------\nValueError\n When the table already exists and `if_exists` is 'fail' (the\n default).\n\nSee Also\n--------\nread_sql : Read a DataFrame from a table.\n\nNotes\n-----\nTimezone aware datetime columns will be written as\n``Timestamp with timezone`` type with SQLAlchemy if supported by the\ndatabase. Otherwise, the datetimes will be stored as timezone unaware\ntimestamps local to the original timezone.\n\nNot all datastores support ``method=\"multi\"``. Oracle, for example,\ndoes not support multi-value insert.\n\nReferences\n----------\n.. [1] https://docs.sqlalchemy.org\n.. [2] https://www.python.org/dev/peps/pep-0249/\n\nExamples\n--------\nCreate an in-memory SQLite database.\n\n>>> from sqlalchemy import create_engine\n>>> engine = create_engine('sqlite://', echo=False)\n\nCreate a table from scratch with 3 rows.\n\n>>> df = pd.DataFrame({'name' : ['User 1', 'User 2', 'User 3']})\n>>> df\n name\n0 User 1\n1 User 2\n2 User 3\n\n>>> df.to_sql(name='users', con=engine)\n3\n>>> from sqlalchemy import text\n>>> with engine.connect() as conn:\n... conn.execute(text(\"SELECT * FROM users\")).fetchall()\n[(0, 'User 1'), (1, 'User 2'), (2, 'User 3')]\n\nAn `sqlalchemy.engine.Connection` can also be passed to `con`:\n\n>>> with engine.begin() as connection:\n... df1 = pd.DataFrame({'name' : ['User 4', 'User 5']})\n... df1.to_sql(name='users', con=connection, if_exists='append')\n2\n\nThis is allowed to support operations that require that the same\nDBAPI connection is used for the entire operation.\n\n>>> df2 = pd.DataFrame({'name' : ['User 6', 'User 7']})\n>>> df2.to_sql(name='users', con=engine, if_exists='append')\n2\n>>> with engine.connect() as conn:\n... conn.execute(text(\"SELECT * FROM users\")).fetchall()\n[(0, 'User 1'), (1, 'User 2'), (2, 'User 3'),\n (0, 'User 4'), (1, 'User 5'), (0, 'User 6'),\n (1, 'User 7')]\n\nOverwrite the table with just ``df2``.\n\n>>> df2.to_sql(name='users', con=engine, if_exists='replace',\n... index_label='id')\n2\n>>> with engine.connect() as conn:\n... conn.execute(text(\"SELECT * FROM users\")).fetchall()\n[(0, 'User 6'), (1, 'User 7')]\n\nUse ``method`` to define a callable insertion method to do nothing\nif there's a primary key conflict on a table in a PostgreSQL database.\n\n>>> from sqlalchemy.dialects.postgresql import insert\n>>> def insert_on_conflict_nothing(table, conn, keys, data_iter):\n... # \"a\" is the primary key in \"conflict_table\"\n... data = [dict(zip(keys, row)) for row in data_iter]\n... stmt = insert(table.table).values(data).on_conflict_do_nothing(index_elements=[\"a\"])\n... result = conn.execute(stmt)\n... return result.rowcount\n>>> df_conflict.to_sql(name=\"conflict_table\", con=conn, if_exists=\"append\", method=insert_on_conflict_nothing) # doctest: +SKIP\n0\n\nFor MySQL, a callable to update columns ``b`` and ``c`` if there's a conflict\non a primary key.\n\n>>> from sqlalchemy.dialects.mysql import insert\n>>> def insert_on_conflict_update(table, conn, keys, data_iter):\n... # update columns \"b\" and \"c\" on primary key conflict\n... data = [dict(zip(keys, row)) for row in data_iter]\n... stmt = (\n... insert(table.table)\n... .values(data)\n... )\n... stmt = stmt.on_duplicate_key_update(b=stmt.inserted.b, c=stmt.inserted.c)\n... result = conn.execute(stmt)\n... return result.rowcount\n>>> df_conflict.to_sql(name=\"conflict_table\", con=conn, if_exists=\"append\", method=insert_on_conflict_update) # doctest: +SKIP\n2\n\nSpecify the dtype (especially useful for integers with missing values).\nNotice that while pandas is forced to store the data as floating point,\nthe database supports nullable integers. When fetching the data with\nPython, we get back integer scalars.\n\n>>> df = pd.DataFrame({\"A\": [1, None, 2]})\n>>> df\n A\n0 1.0\n1 NaN\n2 2.0\n\n>>> from sqlalchemy.types import Integer\n>>> df.to_sql(name='integers', con=engine, index=False,\n... dtype={\"A\": Integer()})\n3\n\n>>> with engine.connect() as conn:\n... conn.execute(text(\"SELECT * FROM integers\")).fetchall()\n[(1,), (None,), (2,)]\n"}, "kind": 2, "label": "to_sql", "sortText": "193"}, {"detail": "bound method DataFrame.to_stata(path: str | PathLike[str] | WriteBuffer[bytes], *, convert_dates: dict[Hashable, str] | None = None, write_index: bool = True, byteorder: Literal[\">\", \"<\", \"little\", \"big\"] | None = None, time_stamp: datetime | None = None, data_label: str | None = None, variable_labels: dict[Hashable, str] | None = None, version: int | None = 114, convert_strl: Sequence[Hashable] | None = None, compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = \"infer\", storage_options: dict[str, Any] | None = None, value_labels: dict[Hashable, dict[float, str]] | None = None) -> None", "documentation": {"kind": "plaintext", "value": "Export DataFrame object to Stata dta format.\n\nWrites the DataFrame to a Stata dataset file.\n\"dta\" files contain a Stata dataset.\n\nParameters\n----------\npath : str, path object, or buffer\n String, path object (implementing ``os.PathLike[str]``), or file-like\n object implementing a binary ``write()`` function.\n\nconvert_dates : dict\n Dictionary mapping columns containing datetime types to stata\n internal format to use when writing the dates. Options are 'tc',\n 'td', 'tm', 'tw', 'th', 'tq', 'ty'. Column can be either an integer\n or a name. Datetime columns that do not have a conversion type\n specified will be converted to 'tc'. Raises NotImplementedError if\n a datetime column has timezone information.\nwrite_index : bool\n Write the index to Stata dataset.\nbyteorder : str\n Can be \">\", \"<\", \"little\", or \"big\". default is `sys.byteorder`.\ntime_stamp : datetime\n A datetime to use as file creation date. Default is the current\n time.\ndata_label : str, optional\n A label for the data set. Must be 80 characters or smaller.\nvariable_labels : dict\n Dictionary containing columns as keys and variable labels as\n values. Each label must be 80 characters or smaller.\nversion : {{114, 117, 118, 119, None}}, default 114\n Version to use in the output dta file. Set to None to let pandas\n decide between 118 or 119 formats depending on the number of\n columns in the frame. Version 114 can be read by Stata 10 and\n later. Version 117 can be read by Stata 13 or later. Version 118\n is supported in Stata 14 and later. Version 119 is supported in\n Stata 15 and later. Version 114 limits string variables to 244\n characters or fewer while versions 117 and later allow strings\n with lengths up to 2,000,000 characters. Versions 118 and 119\n support Unicode characters, and version 119 supports more than\n 32,767 variables.\n\n Version 119 should usually only be used when the number of\n variables exceeds the capacity of dta format 118. Exporting\n smaller datasets in format 119 may have unintended consequences,\n and, as of November 2020, Stata SE cannot read version 119 files.\n\nconvert_strl : list, optional\n List of column names to convert to string columns to Stata StrL\n format. Only available if version is 117. Storing strings in the\n StrL format can produce smaller dta files if strings have more than\n 8 characters and values are repeated.\n{compression_options}\n\n .. versionchanged:: 1.4.0 Zstandard support.\n\n{storage_options}\n\nvalue_labels : dict of dicts\n Dictionary containing columns as keys and dictionaries of column value\n to labels as values. Labels for a single variable must be 32,000\n characters or smaller.\n\n .. versionadded:: 1.4.0\n\nRaises\n------\nNotImplementedError\n * If datetimes contain timezone information\n * Column dtype is not representable in Stata\nValueError\n * Columns listed in convert_dates are neither datetime64[ns]\n or datetime.datetime\n * Column listed in convert_dates is not in DataFrame\n * Categorical label contains more than 32,000 characters\n\nSee Also\n--------\nread_stata : Import Stata data files.\nio.stata.StataWriter : Low-level writer for Stata data files.\nio.stata.StataWriter117 : Low-level writer for version 117 files.\n\nExamples\n--------\n>>> df = pd.DataFrame({{'animal': ['falcon', 'parrot', 'falcon',\n... 'parrot'],\n... 'speed': [350, 18, 361, 15]}})\n>>> df.to_stata('animals.dta') # doctest: +SKIP\n"}, "kind": 2, "label": "to_stata", "sortText": "194"}, {"detail": "Overload[(buf: None = ..., columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = ..., col_space: int | list[int] | dict[Hashable, int] | None = ..., header: bool | SequenceNotStr[str] = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., justify: str | None = ..., max_rows: int | None = ..., max_cols: int | None = ..., show_dimensions: bool = ..., decimal: str = ..., line_width: int | None = ..., min_rows: int | None = ..., max_colwidth: int | None = ..., encoding: str | None = ...) -> str, (buf: str | PathLike[str] | WriteBuffer[str], columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = ..., col_space: int | list[int] | dict[Hashable, int] | None = ..., header: bool | SequenceNotStr[str] = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., justify: str | None = ..., max_rows: int | None = ..., max_cols: int | None = ..., show_dimensions: bool = ..., decimal: str = ..., line_width: int | None = ..., min_rows: int | None = ..., max_colwidth: int | None = ..., encoding: str | None = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Render a DataFrame to a console-friendly tabular output.\n%(shared_params)s\nline_width : int, optional\n Width to wrap a line in characters.\nmin_rows : int, optional\n The number of rows to display in the console in a truncated repr\n (when number of rows is above `max_rows`).\nmax_colwidth : int, optional\n Max width to truncate each column in characters. By default, no limit.\nencoding : str, default \"utf-8\"\n Set character encoding.\n%(returns)s\nSee Also\n--------\nto_html : Convert DataFrame to HTML.\n\nExamples\n--------\n>>> d = {'col1': [1, 2, 3], 'col2': [4, 5, 6]}\n>>> df = pd.DataFrame(d)\n>>> print(df.to_string())\n col1 col2\n0 1 4\n1 2 5\n2 3 6\n"}, "kind": 2, "label": "to_string", "sortText": "195"}, {"detail": "bound method DataFrame.to_timestamp(freq: str | BaseOffset | None = None, how: Literal[\"s\", \"e\", \"start\", \"end\"] = \"start\", axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Cast to DatetimeIndex of timestamps, at *beginning* of period.\n\nParameters\n----------\nfreq : str, default frequency of PeriodIndex\n Desired frequency.\nhow : {'s', 'e', 'start', 'end'}\n Convention for converting period to timestamp; start of period\n vs. end.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to convert (the index by default).\ncopy : bool, default True\n If False then underlying input data is not copied.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\nDataFrame\n The DataFrame has a DatetimeIndex.\n\nExamples\n--------\n>>> idx = pd.PeriodIndex(['2023', '2024'], freq='Y')\n>>> d = {'col1': [1, 2], 'col2': [3, 4]}\n>>> df1 = pd.DataFrame(data=d, index=idx)\n>>> df1\n col1 col2\n2023 1 3\n2024 2 4\n\nThe resulting timestamps will be at the beginning of the year in this case\n\n>>> df1 = df1.to_timestamp()\n>>> df1\n col1 col2\n2023-01-01 1 3\n2024-01-01 2 4\n>>> df1.index\nDatetimeIndex(['2023-01-01', '2024-01-01'], dtype='datetime64[ns]', freq=None)\n\nUsing `freq` which is the offset that the Timestamps will have\n\n>>> df2 = pd.DataFrame(data=d, index=idx)\n>>> df2 = df2.to_timestamp(freq='M')\n>>> df2\n col1 col2\n2023-01-31 1 3\n2024-01-31 2 4\n>>> df2.index\nDatetimeIndex(['2023-01-31', '2024-01-31'], dtype='datetime64[ns]', freq=None)\n"}, "kind": 2, "label": "to_timestamp", "sortText": "196"}, {"detail": "bound method DataFrame.to_xarray() -> Unknown", "documentation": {"kind": "plaintext", "value": "Return an xarray object from the pandas object.\n\nReturns\n-------\nxarray.DataArray or xarray.Dataset\n Data in the pandas structure converted to Dataset if the object is\n a DataFrame, or a DataArray if the object is a Series.\n\nSee Also\n--------\nDataFrame.to_hdf : Write DataFrame to an HDF5 file.\nDataFrame.to_parquet : Write a DataFrame to the binary parquet format.\n\nNotes\n-----\nSee the `xarray docs `__\n\nExamples\n--------\n>>> df = pd.DataFrame([('falcon', 'bird', 389.0, 2),\n... ('parrot', 'bird', 24.0, 2),\n... ('lion', 'mammal', 80.5, 4),\n... ('monkey', 'mammal', np.nan, 4)],\n... columns=['name', 'class', 'max_speed',\n... 'num_legs'])\n>>> df\n name class max_speed num_legs\n0 falcon bird 389.0 2\n1 parrot bird 24.0 2\n2 lion mammal 80.5 4\n3 monkey mammal NaN 4\n\n>>> df.to_xarray() # doctest: +SKIP\n\nDimensions: (index: 4)\nCoordinates:\n * index (index) int64 32B 0 1 2 3\nData variables:\n name (index) object 32B 'falcon' 'parrot' 'lion' 'monkey'\n class (index) object 32B 'bird' 'bird' 'mammal' 'mammal'\n max_speed (index) float64 32B 389.0 24.0 80.5 nan\n num_legs (index) int64 32B 2 2 4 4\n\n>>> df['max_speed'].to_xarray() # doctest: +SKIP\n\narray([389. , 24. , 80.5, nan])\nCoordinates:\n * index (index) int64 0 1 2 3\n\n>>> dates = pd.to_datetime(['2018-01-01', '2018-01-01',\n... '2018-01-02', '2018-01-02'])\n>>> df_multiindex = pd.DataFrame({'date': dates,\n... 'animal': ['falcon', 'parrot',\n... 'falcon', 'parrot'],\n... 'speed': [350, 18, 361, 15]})\n>>> df_multiindex = df_multiindex.set_index(['date', 'animal'])\n\n>>> df_multiindex\n speed\ndate animal\n2018-01-01 falcon 350\n parrot 18\n2018-01-02 falcon 361\n parrot 15\n\n>>> df_multiindex.to_xarray() # doctest: +SKIP\n\nDimensions: (date: 2, animal: 2)\nCoordinates:\n * date (date) datetime64[ns] 2018-01-01 2018-01-02\n * animal (animal) object 'falcon' 'parrot'\nData variables:\n speed (date, animal) int64 350 18 361 15\n"}, "kind": 2, "label": "to_xarray", "sortText": "197"}, {"detail": "Overload[(path_or_buffer: None = ..., *, index: bool = ..., root_name: str | None = ..., row_name: str | None = ..., na_rep: str | None = ..., attr_cols: list[str] | None = ..., elem_cols: list[str] | None = ..., namespaces: dict[str | None, str] | None = ..., prefix: str | None = ..., encoding: str = ..., xml_declaration: bool | None = ..., pretty_print: bool | None = ..., parser: Literal[\"lxml\", \"etree\"] | None = ..., stylesheet: str | PathLike[str] | ReadBuffer[str] | ReadBuffer[bytes] | None = ..., compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = ..., storage_options: dict[str, Any] | None = ...) -> str, (path_or_buffer: str | PathLike[str] | WriteBuffer[bytes] | WriteBuffer[str], *, index: bool = ..., root_name: str | None = ..., row_name: str | None = ..., na_rep: str | None = ..., attr_cols: list[str] | None = ..., elem_cols: list[str] | None = ..., namespaces: dict[str | None, str] | None = ..., prefix: str | None = ..., encoding: str = ..., xml_declaration: bool | None = ..., pretty_print: bool | None = ..., parser: Literal[\"lxml\", \"etree\"] | None = ..., stylesheet: str | PathLike[str] | ReadBuffer[str] | ReadBuffer[bytes] | None = ..., compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = ..., storage_options: dict[str, Any] | None = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Render a DataFrame to an XML document.\n\n.. versionadded:: 1.3.0\n\nParameters\n----------\npath_or_buffer : str, path object, file-like object, or None, default None\n String, path object (implementing ``os.PathLike[str]``), or file-like\n object implementing a ``write()`` function. If None, the result is returned\n as a string.\nindex : bool, default True\n Whether to include index in XML document.\nroot_name : str, default 'data'\n The name of root element in XML document.\nrow_name : str, default 'row'\n The name of row element in XML document.\nna_rep : str, optional\n Missing data representation.\nattr_cols : list-like, optional\n List of columns to write as attributes in row element.\n Hierarchical columns will be flattened with underscore\n delimiting the different levels.\nelem_cols : list-like, optional\n List of columns to write as children in row element. By default,\n all columns output as children of row element. Hierarchical\n columns will be flattened with underscore delimiting the\n different levels.\nnamespaces : dict, optional\n All namespaces to be defined in root element. Keys of dict\n should be prefix names and values of dict corresponding URIs.\n Default namespaces should be given empty string key. For\n example, ::\n\n namespaces = {{\"\": \"https://example.com\"}}\n\nprefix : str, optional\n Namespace prefix to be used for every element and/or attribute\n in document. This should be one of the keys in ``namespaces``\n dict.\nencoding : str, default 'utf-8'\n Encoding of the resulting document.\nxml_declaration : bool, default True\n Whether to include the XML declaration at start of document.\npretty_print : bool, default True\n Whether output should be pretty printed with indentation and\n line breaks.\nparser : {{'lxml','etree'}}, default 'lxml'\n Parser module to use for building of tree. Only 'lxml' and\n 'etree' are supported. With 'lxml', the ability to use XSLT\n stylesheet is supported.\nstylesheet : str, path object or file-like object, optional\n A URL, file-like object, or a raw string containing an XSLT\n script used to transform the raw XML output. Script should use\n layout of elements and attributes from original output. This\n argument requires ``lxml`` to be installed. Only XSLT 1.0\n scripts and not later versions is currently supported.\n{compression_options}\n\n .. versionchanged:: 1.4.0 Zstandard support.\n\n{storage_options}\n\nReturns\n-------\nNone or str\n If ``io`` is None, returns the resulting XML format as a\n string. Otherwise returns None.\n\nSee Also\n--------\nto_json : Convert the pandas object to a JSON string.\nto_html : Convert DataFrame to a html.\n\nExamples\n--------\n>>> df = pd.DataFrame({{'shape': ['square', 'circle', 'triangle'],\n... 'degrees': [360, 360, 180],\n... 'sides': [4, np.nan, 3]}})\n\n>>> df.to_xml() # doctest: +SKIP\n\n\n \n 0\n square\n 360\n 4.0\n \n \n 1\n circle\n 360\n \n \n \n 2\n triangle\n 180\n 3.0\n \n\n\n>>> df.to_xml(attr_cols=[\n... 'index', 'shape', 'degrees', 'sides'\n... ]) # doctest: +SKIP\n\n\n \n \n \n\n\n>>> df.to_xml(namespaces={{\"doc\": \"https://example.com\"}},\n... prefix=\"doc\") # doctest: +SKIP\n\n\n \n 0\n square\n 360\n 4.0\n \n \n 1\n circle\n 360\n \n \n \n 2\n triangle\n 180\n 3.0\n \n\n"}, "kind": 2, "label": "to_xml", "sortText": "198"}, {"detail": "bound method DataFrame.transform(func: ((...) -> Unknown) | str | list[((...) -> Unknown) | str] | MutableMapping[Hashable, ((...) -> Unknown) | str | list[((...) -> Unknown) | str]], axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, *args, **kwargs) -> DataFrame", "kind": 2, "label": "transform", "sortText": "199"}, {"detail": "bound method DataFrame.transpose(*args, copy: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Transpose index and columns.\n\nReflect the DataFrame over its main diagonal by writing rows as columns\nand vice-versa. The property :attr:`.T` is an accessor to the method\n:meth:`transpose`.\n\nParameters\n----------\n*args : tuple, optional\n Accepted for compatibility with NumPy.\ncopy : bool, default False\n Whether to copy the data after transposing, even for DataFrames\n with a single dtype.\n\n Note that a copy is always required for mixed dtype DataFrames,\n or for DataFrames with any extension types.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\nDataFrame\n The transposed DataFrame.\n\nSee Also\n--------\nnumpy.transpose : Permute the dimensions of a given array.\n\nNotes\n-----\nTransposing a DataFrame with mixed dtypes will result in a homogeneous\nDataFrame with the `object` dtype. In such a case, a copy of the data\nis always made.\n\nExamples\n--------\n**Square DataFrame with homogeneous dtype**\n\n>>> d1 = {'col1': [1, 2], 'col2': [3, 4]}\n>>> df1 = pd.DataFrame(data=d1)\n>>> df1\n col1 col2\n0 1 3\n1 2 4\n\n>>> df1_transposed = df1.T # or df1.transpose()\n>>> df1_transposed\n 0 1\ncol1 1 2\ncol2 3 4\n\nWhen the dtype is homogeneous in the original DataFrame, we get a\ntransposed DataFrame with the same dtype:\n\n>>> df1.dtypes\ncol1 int64\ncol2 int64\ndtype: object\n>>> df1_transposed.dtypes\n0 int64\n1 int64\ndtype: object\n\n**Non-square DataFrame with mixed dtypes**\n\n>>> d2 = {'name': ['Alice', 'Bob'],\n... 'score': [9.5, 8],\n... 'employed': [False, True],\n... 'kids': [0, 0]}\n>>> df2 = pd.DataFrame(data=d2)\n>>> df2\n name score employed kids\n0 Alice 9.5 False 0\n1 Bob 8.0 True 0\n\n>>> df2_transposed = df2.T # or df2.transpose()\n>>> df2_transposed\n 0 1\nname Alice Bob\nscore 9.5 8.0\nemployed False True\nkids 0 0\n\nWhen the DataFrame has mixed dtypes, we get a transposed DataFrame with\nthe `object` dtype:\n\n>>> df2.dtypes\nname object\nscore float64\nemployed bool\nkids int64\ndtype: object\n>>> df2_transposed.dtypes\n0 object\n1 object\ndtype: object\n"}, "kind": 2, "label": "transpose", "sortText": "200"}, {"detail": "bound method DataFrame.truediv(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "truediv", "sortText": "201"}, {"detail": "bound method DataFrame.truncate(before=None, after=None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Truncate a Series or DataFrame before and after some index value.\n\nThis is a useful shorthand for boolean indexing based on index\nvalues above or below certain thresholds.\n\nParameters\n----------\nbefore : date, str, int\n Truncate all rows before this index value.\nafter : date, str, int\n Truncate all rows after this index value.\naxis : {0 or 'index', 1 or 'columns'}, optional\n Axis to truncate. Truncates the index (rows) by default.\n For `Series` this parameter is unused and defaults to 0.\ncopy : bool, default is True,\n Return a copy of the truncated section.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\ntype of caller\n The truncated Series or DataFrame.\n\nSee Also\n--------\nDataFrame.loc : Select a subset of a DataFrame by label.\nDataFrame.iloc : Select a subset of a DataFrame by position.\n\nNotes\n-----\nIf the index being truncated contains only datetime values,\n`before` and `after` may be specified as strings instead of\nTimestamps.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': ['a', 'b', 'c', 'd', 'e'],\n... 'B': ['f', 'g', 'h', 'i', 'j'],\n... 'C': ['k', 'l', 'm', 'n', 'o']},\n... index=[1, 2, 3, 4, 5])\n>>> df\n A B C\n1 a f k\n2 b g l\n3 c h m\n4 d i n\n5 e j o\n\n>>> df.truncate(before=2, after=4)\n A B C\n2 b g l\n3 c h m\n4 d i n\n\nThe columns of a DataFrame can be truncated.\n\n>>> df.truncate(before=\"A\", after=\"B\", axis=\"columns\")\n A B\n1 a f\n2 b g\n3 c h\n4 d i\n5 e j\n\nFor Series, only rows can be truncated.\n\n>>> df['A'].truncate(before=2, after=4)\n2 b\n3 c\n4 d\nName: A, dtype: object\n\nThe index values in ``truncate`` can be datetimes or string\ndates.\n\n>>> dates = pd.date_range('2016-01-01', '2016-02-01', freq='s')\n>>> df = pd.DataFrame(index=dates, data={'A': 1})\n>>> df.tail()\n A\n2016-01-31 23:59:56 1\n2016-01-31 23:59:57 1\n2016-01-31 23:59:58 1\n2016-01-31 23:59:59 1\n2016-02-01 00:00:00 1\n\n>>> df.truncate(before=pd.Timestamp('2016-01-05'),\n... after=pd.Timestamp('2016-01-10')).tail()\n A\n2016-01-09 23:59:56 1\n2016-01-09 23:59:57 1\n2016-01-09 23:59:58 1\n2016-01-09 23:59:59 1\n2016-01-10 00:00:00 1\n\nBecause the index is a DatetimeIndex containing only dates, we can\nspecify `before` and `after` as strings. They will be coerced to\nTimestamps before truncation.\n\n>>> df.truncate('2016-01-05', '2016-01-10').tail()\n A\n2016-01-09 23:59:56 1\n2016-01-09 23:59:57 1\n2016-01-09 23:59:58 1\n2016-01-09 23:59:59 1\n2016-01-10 00:00:00 1\n\nNote that ``truncate`` assumes a 0 value for any unspecified time\ncomponent (midnight). This differs from partial string slicing, which\nreturns any partially matching dates.\n\n>>> df.loc['2016-01-05':'2016-01-10', :].tail()\n A\n2016-01-10 23:59:55 1\n2016-01-10 23:59:56 1\n2016-01-10 23:59:57 1\n2016-01-10 23:59:58 1\n2016-01-10 23:59:59 1\n"}, "kind": 2, "label": "truncate", "sortText": "202"}, {"detail": "bound method DataFrame.tz_convert(tz, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, level=None, copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Convert tz-aware axis to target time zone.\n\nParameters\n----------\ntz : str or tzinfo object or None\n Target time zone. Passing ``None`` will convert to\n UTC and remove the timezone information.\naxis : {{0 or 'index', 1 or 'columns'}}, default 0\n The axis to convert\nlevel : int, str, default None\n If axis is a MultiIndex, convert a specific level. Otherwise\n must be None.\ncopy : bool, default True\n Also make a copy of the underlying data.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\n{klass}\n Object with time zone converted axis.\n\nRaises\n------\nTypeError\n If the axis is tz-naive.\n\nExamples\n--------\nChange to another time zone:\n\n>>> s = pd.Series(\n... [1],\n... index=pd.DatetimeIndex(['2018-09-15 01:30:00+02:00']),\n... )\n>>> s.tz_convert('Asia/Shanghai')\n2018-09-15 07:30:00+08:00 1\ndtype: int64\n\nPass None to convert to UTC and get a tz-naive index:\n\n>>> s = pd.Series([1],\n... index=pd.DatetimeIndex(['2018-09-15 01:30:00+02:00']))\n>>> s.tz_convert(None)\n2018-09-14 23:30:00 1\ndtype: int64\n"}, "kind": 2, "label": "tz_convert", "sortText": "203"}, {"detail": "bound method DataFrame.tz_localize(tz, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, level=None, copy: builtins.bool | None = None, ambiguous: Literal[\"infer\", \"NaT\", \"raise\"] | ndarray[_AnyShape, dtype[numpy.bool[builtins.bool]]] = \"raise\", nonexistent: Literal[\"shift_forward\", \"shift_backward\", \"NaT\", \"raise\"] | timedelta = \"raise\") -> DataFrame", "documentation": {"kind": "plaintext", "value": "Localize tz-naive index of a Series or DataFrame to target time zone.\n\nThis operation localizes the Index. To localize the values in a\ntimezone-naive Series, use :meth:`Series.dt.tz_localize`.\n\nParameters\n----------\ntz : str or tzinfo or None\n Time zone to localize. Passing ``None`` will remove the\n time zone information and preserve local time.\naxis : {{0 or 'index', 1 or 'columns'}}, default 0\n The axis to localize\nlevel : int, str, default None\n If axis ia a MultiIndex, localize a specific level. Otherwise\n must be None.\ncopy : bool, default True\n Also make a copy of the underlying data.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\nambiguous : 'infer', bool-ndarray, 'NaT', default 'raise'\n When clocks moved backward due to DST, ambiguous times may arise.\n For example in Central European Time (UTC+01), when going from\n 03:00 DST to 02:00 non-DST, 02:30:00 local time occurs both at\n 00:30:00 UTC and at 01:30:00 UTC. In such a situation, the\n `ambiguous` parameter dictates how ambiguous times should be\n handled.\n\n - 'infer' will attempt to infer fall dst-transition hours based on\n order\n - bool-ndarray where True signifies a DST time, False designates\n a non-DST time (note that this flag is only applicable for\n ambiguous times)\n - 'NaT' will return NaT where there are ambiguous times\n - 'raise' will raise an AmbiguousTimeError if there are ambiguous\n times.\nnonexistent : str, default 'raise'\n A nonexistent time does not exist in a particular timezone\n where clocks moved forward due to DST. Valid values are:\n\n - 'shift_forward' will shift the nonexistent time forward to the\n closest existing time\n - 'shift_backward' will shift the nonexistent time backward to the\n closest existing time\n - 'NaT' will return NaT where there are nonexistent times\n - timedelta objects will shift nonexistent times by the timedelta\n - 'raise' will raise an NonExistentTimeError if there are\n nonexistent times.\n\nReturns\n-------\n{klass}\n Same type as the input.\n\nRaises\n------\nTypeError\n If the TimeSeries is tz-aware and tz is not None.\n\nExamples\n--------\nLocalize local times:\n\n>>> s = pd.Series(\n... [1],\n... index=pd.DatetimeIndex(['2018-09-15 01:30:00']),\n... )\n>>> s.tz_localize('CET')\n2018-09-15 01:30:00+02:00 1\ndtype: int64\n\nPass None to convert to tz-naive index and preserve local time:\n\n>>> s = pd.Series([1],\n... index=pd.DatetimeIndex(['2018-09-15 01:30:00+02:00']))\n>>> s.tz_localize(None)\n2018-09-15 01:30:00 1\ndtype: int64\n\nBe careful with DST changes. When there is sequential data, pandas\ncan infer the DST time:\n\n>>> s = pd.Series(range(7),\n... index=pd.DatetimeIndex(['2018-10-28 01:30:00',\n... '2018-10-28 02:00:00',\n... '2018-10-28 02:30:00',\n... '2018-10-28 02:00:00',\n... '2018-10-28 02:30:00',\n... '2018-10-28 03:00:00',\n... '2018-10-28 03:30:00']))\n>>> s.tz_localize('CET', ambiguous='infer')\n2018-10-28 01:30:00+02:00 0\n2018-10-28 02:00:00+02:00 1\n2018-10-28 02:30:00+02:00 2\n2018-10-28 02:00:00+01:00 3\n2018-10-28 02:30:00+01:00 4\n2018-10-28 03:00:00+01:00 5\n2018-10-28 03:30:00+01:00 6\ndtype: int64\n\nIn some cases, inferring the DST is impossible. In such cases, you can\npass an ndarray to the ambiguous parameter to set the DST explicitly\n\n>>> s = pd.Series(range(3),\n... index=pd.DatetimeIndex(['2018-10-28 01:20:00',\n... '2018-10-28 02:36:00',\n... '2018-10-28 03:46:00']))\n>>> s.tz_localize('CET', ambiguous=np.array([True, True, False]))\n2018-10-28 01:20:00+02:00 0\n2018-10-28 02:36:00+02:00 1\n2018-10-28 03:46:00+01:00 2\ndtype: int64\n\nIf the DST transition causes nonexistent times, you can shift these\ndates forward or backward with a timedelta object or `'shift_forward'`\nor `'shift_backward'`.\n\n>>> s = pd.Series(range(2),\n... index=pd.DatetimeIndex(['2015-03-29 02:30:00',\n... '2015-03-29 03:30:00']))\n>>> s.tz_localize('Europe/Warsaw', nonexistent='shift_forward')\n2015-03-29 03:00:00+02:00 0\n2015-03-29 03:30:00+02:00 1\ndtype: int64\n>>> s.tz_localize('Europe/Warsaw', nonexistent='shift_backward')\n2015-03-29 01:59:59.999999999+01:00 0\n2015-03-29 03:30:00+02:00 1\ndtype: int64\n>>> s.tz_localize('Europe/Warsaw', nonexistent=pd.Timedelta('1h'))\n2015-03-29 03:30:00+02:00 0\n2015-03-29 03:30:00+02:00 1\ndtype: int64\n"}, "kind": 2, "label": "tz_localize", "sortText": "204"}, {"detail": "bound method DataFrame.unstack(level: Hashable | Sequence[Hashable] = -1, fill_value=None, sort: bool = True) -> Unknown", "documentation": {"kind": "plaintext", "value": "Pivot a level of the (necessarily hierarchical) index labels.\n\nReturns a DataFrame having a new level of column labels whose inner-most level\nconsists of the pivoted index labels.\n\nIf the index is not a MultiIndex, the output will be a Series\n(the analogue of stack when the columns are not a MultiIndex).\n\nParameters\n----------\nlevel : int, str, or list of these, default -1 (last level)\n Level(s) of index to unstack, can pass level name.\nfill_value : int, str or dict\n Replace NaN with this value if the unstack produces missing values.\nsort : bool, default True\n Sort the level(s) in the resulting MultiIndex columns.\n\nReturns\n-------\nSeries or DataFrame\n\nSee Also\n--------\nDataFrame.pivot : Pivot a table based on column values.\nDataFrame.stack : Pivot a level of the column labels (inverse operation\n from `unstack`).\n\nNotes\n-----\nReference :ref:`the user guide ` for more examples.\n\nExamples\n--------\n>>> index = pd.MultiIndex.from_tuples([('one', 'a'), ('one', 'b'),\n... ('two', 'a'), ('two', 'b')])\n>>> s = pd.Series(np.arange(1.0, 5.0), index=index)\n>>> s\none a 1.0\n b 2.0\ntwo a 3.0\n b 4.0\ndtype: float64\n\n>>> s.unstack(level=-1)\n a b\none 1.0 2.0\ntwo 3.0 4.0\n\n>>> s.unstack(level=0)\n one two\na 1.0 3.0\nb 2.0 4.0\n\n>>> df = s.unstack(level=0)\n>>> df.unstack()\none a 1.0\n b 2.0\ntwo a 3.0\n b 4.0\ndtype: float64\n"}, "kind": 2, "label": "unstack", "sortText": "205"}, {"detail": "bound method DataFrame.update(other, join: Literal[\"left\"] = \"left\", overwrite: bool = True, filter_func=None, errors: Literal[\"ignore\", \"raise\"] = \"ignore\") -> None", "documentation": {"kind": "plaintext", "value": "Modify in place using non-NA values from another DataFrame.\n\nAligns on indices. There is no return value.\n\nParameters\n----------\nother : DataFrame, or object coercible into a DataFrame\n Should have at least one matching index/column label\n with the original DataFrame. If a Series is passed,\n its name attribute must be set, and that will be\n used as the column name to align with the original DataFrame.\njoin : {'left'}, default 'left'\n Only left join is implemented, keeping the index and columns of the\n original object.\noverwrite : bool, default True\n How to handle non-NA values for overlapping keys:\n\n * True: overwrite original DataFrame's values\n with values from `other`.\n * False: only update values that are NA in\n the original DataFrame.\n\nfilter_func : callable(1d-array) -> bool 1d-array, optional\n Can choose to replace values other than NA. Return True for values\n that should be updated.\nerrors : {'raise', 'ignore'}, default 'ignore'\n If 'raise', will raise a ValueError if the DataFrame and `other`\n both contain non-NA data in the same place.\n\nReturns\n-------\nNone\n This method directly changes calling object.\n\nRaises\n------\nValueError\n * When `errors='raise'` and there's overlapping non-NA data.\n * When `errors` is not either `'ignore'` or `'raise'`\nNotImplementedError\n * If `join != 'left'`\n\nSee Also\n--------\ndict.update : Similar method for dictionaries.\nDataFrame.merge : For column(s)-on-column(s) operations.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [1, 2, 3],\n... 'B': [400, 500, 600]})\n>>> new_df = pd.DataFrame({'B': [4, 5, 6],\n... 'C': [7, 8, 9]})\n>>> df.update(new_df)\n>>> df\n A B\n0 1 4\n1 2 5\n2 3 6\n\nThe DataFrame's length does not increase as a result of the update,\nonly values at matching index/column labels are updated.\n\n>>> df = pd.DataFrame({'A': ['a', 'b', 'c'],\n... 'B': ['x', 'y', 'z']})\n>>> new_df = pd.DataFrame({'B': ['d', 'e', 'f', 'g', 'h', 'i']})\n>>> df.update(new_df)\n>>> df\n A B\n0 a d\n1 b e\n2 c f\n\n>>> df = pd.DataFrame({'A': ['a', 'b', 'c'],\n... 'B': ['x', 'y', 'z']})\n>>> new_df = pd.DataFrame({'B': ['d', 'f']}, index=[0, 2])\n>>> df.update(new_df)\n>>> df\n A B\n0 a d\n1 b y\n2 c f\n\nFor Series, its name attribute must be set.\n\n>>> df = pd.DataFrame({'A': ['a', 'b', 'c'],\n... 'B': ['x', 'y', 'z']})\n>>> new_column = pd.Series(['d', 'e', 'f'], name='B')\n>>> df.update(new_column)\n>>> df\n A B\n0 a d\n1 b e\n2 c f\n\nIf `other` contains NaNs the corresponding values are not updated\nin the original dataframe.\n\n>>> df = pd.DataFrame({'A': [1, 2, 3],\n... 'B': [400., 500., 600.]})\n>>> new_df = pd.DataFrame({'B': [4, np.nan, 6]})\n>>> df.update(new_df)\n>>> df\n A B\n0 1 4.0\n1 2 500.0\n2 3 6.0\n"}, "kind": 2, "label": "update", "sortText": "206"}, {"detail": "bound method DataFrame.value_counts(subset: Hashable | Sequence[Hashable] = None, normalize: bool = False, sort: bool = True, ascending: bool = False, dropna: bool = True) -> Series", "documentation": {"kind": "plaintext", "value": "Return a Series containing the frequency of each distinct row in the Dataframe.\n\nParameters\n----------\nsubset : label or list of labels, optional\n Columns to use when counting unique combinations.\nnormalize : bool, default False\n Return proportions rather than frequencies.\nsort : bool, default True\n Sort by frequencies when True. Sort by DataFrame column values when False.\nascending : bool, default False\n Sort in ascending order.\ndropna : bool, default True\n Don't include counts of rows that contain NA values.\n\n .. versionadded:: 1.3.0\n\nReturns\n-------\nSeries\n\nSee Also\n--------\nSeries.value_counts: Equivalent method on Series.\n\nNotes\n-----\nThe returned Series will have a MultiIndex with one level per input\ncolumn but an Index (non-multi) for a single label. By default, rows\nthat contain any NA values are omitted from the result. By default,\nthe resulting Series will be in descending order so that the first\nelement is the most frequently-occurring row.\n\nExamples\n--------\n>>> df = pd.DataFrame({'num_legs': [2, 4, 4, 6],\n... 'num_wings': [2, 0, 0, 0]},\n... index=['falcon', 'dog', 'cat', 'ant'])\n>>> df\n num_legs num_wings\nfalcon 2 2\ndog 4 0\ncat 4 0\nant 6 0\n\n>>> df.value_counts()\nnum_legs num_wings\n4 0 2\n2 2 1\n6 0 1\nName: count, dtype: int64\n\n>>> df.value_counts(sort=False)\nnum_legs num_wings\n2 2 1\n4 0 2\n6 0 1\nName: count, dtype: int64\n\n>>> df.value_counts(ascending=True)\nnum_legs num_wings\n2 2 1\n6 0 1\n4 0 2\nName: count, dtype: int64\n\n>>> df.value_counts(normalize=True)\nnum_legs num_wings\n4 0 0.50\n2 2 0.25\n6 0 0.25\nName: proportion, dtype: float64\n\nWith `dropna` set to `False` we can also count rows with NA values.\n\n>>> df = pd.DataFrame({'first_name': ['John', 'Anne', 'John', 'Beth'],\n... 'middle_name': ['Smith', pd.NA, pd.NA, 'Louise']})\n>>> df\n first_name middle_name\n0 John Smith\n1 Anne \n2 John \n3 Beth Louise\n\n>>> df.value_counts()\nfirst_name middle_name\nBeth Louise 1\nJohn Smith 1\nName: count, dtype: int64\n\n>>> df.value_counts(dropna=False)\nfirst_name middle_name\nAnne NaN 1\nBeth Louise 1\nJohn Smith 1\n NaN 1\nName: count, dtype: int64\n\n>>> df.value_counts(\"first_name\")\nfirst_name\nJohn 2\nAnne 1\nBeth 1\nName: count, dtype: int64\n"}, "kind": 2, "label": "value_counts", "sortText": "207"}, {"detail": "ndarray[_AnyShape, dtype[Any]]", "kind": 22, "label": "values", "sortText": "208"}, {"detail": "bound method DataFrame.var(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, ddof: int = 1, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "var", "sortText": "209"}, {"detail": "Overload[(cond, other=..., *, inplace: Literal[False] = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> DataFrame, (cond, other=..., *, inplace: Literal[True], axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> None, (cond, other=..., *, inplace: bool = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Replace values where the condition is {cond_rev}.\n\nParameters\n----------\ncond : bool {klass}, array-like, or callable\n Where `cond` is {cond}, keep the original value. Where\n {cond_rev}, replace with corresponding value from `other`.\n If `cond` is callable, it is computed on the {klass} and\n should return boolean {klass} or array. The callable must\n not change input {klass} (though pandas doesn't check it).\nother : scalar, {klass}, or callable\n Entries where `cond` is {cond_rev} are replaced with\n corresponding value from `other`.\n If other is callable, it is computed on the {klass} and\n should return scalar or {klass}. The callable must not\n change input {klass} (though pandas doesn't check it).\n If not specified, entries will be filled with the corresponding\n NULL value (``np.nan`` for numpy dtypes, ``pd.NA`` for extension\n dtypes).\ninplace : bool, default False\n Whether to perform the operation in place on the data.\naxis : int, default None\n Alignment axis if needed. For `Series` this parameter is\n unused and defaults to 0.\nlevel : int, default None\n Alignment level if needed.\n\nReturns\n-------\nSame type as caller or None if ``inplace=True``.\n\nSee Also\n--------\n:func:`DataFrame.{name_other}` : Return an object of same shape as\n self.\n\nNotes\n-----\nThe {name} method is an application of the if-then idiom. For each\nelement in the calling DataFrame, if ``cond`` is ``{cond}`` the\nelement is used; otherwise the corresponding element from the DataFrame\n``other`` is used. If the axis of ``other`` does not align with axis of\n``cond`` {klass}, the misaligned index positions will be filled with\n{cond_rev}.\n\nThe signature for :func:`DataFrame.where` differs from\n:func:`numpy.where`. Roughly ``df1.where(m, df2)`` is equivalent to\n``np.where(m, df1, df2)``.\n\nFor further details and examples see the ``{name}`` documentation in\n:ref:`indexing `.\n\nThe dtype of the object takes precedence. The fill value is casted to\nthe object's dtype, if this can be done losslessly.\n\nExamples\n--------\n>>> s = pd.Series(range(5))\n>>> s.where(s > 0)\n0 NaN\n1 1.0\n2 2.0\n3 3.0\n4 4.0\ndtype: float64\n>>> s.mask(s > 0)\n0 0.0\n1 NaN\n2 NaN\n3 NaN\n4 NaN\ndtype: float64\n\n>>> s = pd.Series(range(5))\n>>> t = pd.Series([True, False])\n>>> s.where(t, 99)\n0 0\n1 99\n2 99\n3 99\n4 99\ndtype: int64\n>>> s.mask(t, 99)\n0 99\n1 1\n2 99\n3 99\n4 99\ndtype: int64\n\n>>> s.where(s > 1, 10)\n0 10\n1 10\n2 2\n3 3\n4 4\ndtype: int64\n>>> s.mask(s > 1, 10)\n0 0\n1 1\n2 10\n3 10\n4 10\ndtype: int64\n\n>>> df = pd.DataFrame(np.arange(10).reshape(-1, 2), columns=['A', 'B'])\n>>> df\n A B\n0 0 1\n1 2 3\n2 4 5\n3 6 7\n4 8 9\n>>> m = df % 3 == 0\n>>> df.where(m, -df)\n A B\n0 0 -1\n1 -2 3\n2 -4 -5\n3 6 -7\n4 -8 9\n>>> df.where(m, -df) == np.where(m, df, -df)\n A B\n0 True True\n1 True True\n2 True True\n3 True True\n4 True True\n>>> df.where(m, -df) == df.mask(~m, -df)\n A B\n0 True True\n1 True True\n2 True True\n3 True True\n4 True True\n"}, "kind": 2, "label": "where", "sortText": "210"}, {"detail": "bound method DataFrame.xs(key: Hashable | Sequence[Hashable], axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, level: Hashable | Sequence[Hashable] = None, drop_level: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return cross-section from the Series/DataFrame.\n\nThis method takes a `key` argument to select data at a particular\nlevel of a MultiIndex.\n\nParameters\n----------\nkey : label or tuple of label\n Label contained in the index, or partially in a MultiIndex.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Axis to retrieve cross-section on.\nlevel : object, defaults to first n levels (n=1 or len(key))\n In case of a key partially contained in a MultiIndex, indicate\n which levels are used. Levels can be referred by label or position.\ndrop_level : bool, default True\n If False, returns object with same levels as self.\n\nReturns\n-------\nSeries or DataFrame\n Cross-section from the original Series or DataFrame\n corresponding to the selected index levels.\n\nSee Also\n--------\nDataFrame.loc : Access a group of rows and columns\n by label(s) or a boolean array.\nDataFrame.iloc : Purely integer-location based indexing\n for selection by position.\n\nNotes\n-----\n`xs` can not be used to set values.\n\nMultiIndex Slicers is a generic way to get/set values on\nany level or levels.\nIt is a superset of `xs` functionality, see\n:ref:`MultiIndex Slicers `.\n\nExamples\n--------\n>>> d = {'num_legs': [4, 4, 2, 2],\n... 'num_wings': [0, 0, 2, 2],\n... 'class': ['mammal', 'mammal', 'mammal', 'bird'],\n... 'animal': ['cat', 'dog', 'bat', 'penguin'],\n... 'locomotion': ['walks', 'walks', 'flies', 'walks']}\n>>> df = pd.DataFrame(data=d)\n>>> df = df.set_index(['class', 'animal', 'locomotion'])\n>>> df\n num_legs num_wings\nclass animal locomotion\nmammal cat walks 4 0\n dog walks 4 0\n bat flies 2 2\nbird penguin walks 2 2\n\nGet values at specified index\n\n>>> df.xs('mammal')\n num_legs num_wings\nanimal locomotion\ncat walks 4 0\ndog walks 4 0\nbat flies 2 2\n\nGet values at several indexes\n\n>>> df.xs(('mammal', 'dog', 'walks'))\nnum_legs 4\nnum_wings 0\nName: (mammal, dog, walks), dtype: int64\n\nGet values at specified index and level\n\n>>> df.xs('cat', level=1)\n num_legs num_wings\nclass locomotion\nmammal walks 4 0\n\nGet values at several indexes and levels\n\n>>> df.xs(('bird', 'walks'),\n... level=[0, 'locomotion'])\n num_legs num_wings\nanimal\npenguin 2 2\n\nGet values at specified column and axis\n\n>>> df.xs('num_wings', axis=1)\nclass animal locomotion\nmammal cat walks 0\n dog walks 0\n bat flies 2\nbird penguin walks 2\nName: num_wings, dtype: int64\n"}, "kind": 2, "label": "xs", "sortText": "211"}, {"detail": "bound method DataFrame.__abs__() -> DataFrame", "kind": 2, "label": "__abs__", "sortText": "212"}, {"detail": "bound method DataFrame.__add__(other) -> Unknown", "documentation": {"kind": "plaintext", "value": "Get Addition of DataFrame and other, column-wise.\n\nEquivalent to ``DataFrame.add(other)``.\n\nParameters\n----------\nother : scalar, sequence, Series, dict or DataFrame\n Object to be added to the DataFrame.\n\nReturns\n-------\nDataFrame\n The result of adding ``other`` to DataFrame.\n\nSee Also\n--------\nDataFrame.add : Add a DataFrame and another object, with option for index-\n or column-oriented addition.\n\nExamples\n--------\n>>> df = pd.DataFrame({'height': [1.5, 2.6], 'weight': [500, 800]},\n... index=['elk', 'moose'])\n>>> df\n height weight\nelk 1.5 500\nmoose 2.6 800\n\nAdding a scalar affects all rows and columns.\n\n>>> df[['height', 'weight']] + 1.5\n height weight\nelk 3.0 501.5\nmoose 4.1 801.5\n\nEach element of a list is added to a column of the DataFrame, in order.\n\n>>> df[['height', 'weight']] + [0.5, 1.5]\n height weight\nelk 2.0 501.5\nmoose 3.1 801.5\n\nKeys of a dictionary are aligned to the DataFrame, based on column names;\neach value in the dictionary is added to the corresponding column.\n\n>>> df[['height', 'weight']] + {'height': 0.5, 'weight': 1.5}\n height weight\nelk 2.0 501.5\nmoose 3.1 801.5\n\nWhen `other` is a :class:`Series`, the index of `other` is aligned with the\ncolumns of the DataFrame.\n\n>>> s1 = pd.Series([0.5, 1.5], index=['weight', 'height'])\n>>> df[['height', 'weight']] + s1\n height weight\nelk 3.0 500.5\nmoose 4.1 800.5\n\nEven when the index of `other` is the same as the index of the DataFrame,\nthe :class:`Series` will not be reoriented. If index-wise alignment is desired,\n:meth:`DataFrame.add` should be used with `axis='index'`.\n\n>>> s2 = pd.Series([0.5, 1.5], index=['elk', 'moose'])\n>>> df[['height', 'weight']] + s2\n elk height moose weight\nelk NaN NaN NaN NaN\nmoose NaN NaN NaN NaN\n\n>>> df[['height', 'weight']].add(s2, axis='index')\n height weight\nelk 2.0 500.5\nmoose 4.1 801.5\n\nWhen `other` is a :class:`DataFrame`, both columns names and the\nindex are aligned.\n\n>>> other = pd.DataFrame({'height': [0.2, 0.4, 0.6]},\n... index=['elk', 'moose', 'deer'])\n>>> df[['height', 'weight']] + other\n height weight\ndeer NaN NaN\nelk 1.7 NaN\nmoose 3.0 NaN\n"}, "kind": 2, "label": "__add__", "sortText": "213"}, {"detail": "bound method DataFrame.__and__(other) -> Unknown", "kind": 2, "label": "__and__", "sortText": "214"}, {"detail": "dict[str, Any]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "__annotations__", "sortText": "215"}, {"detail": "bound method DataFrame.__array__(dtype: DTypeLike | None = None, copy: bool | None = None) -> ndarray[_AnyShape, dtype[Any]]", "kind": 2, "label": "__array__", "sortText": "216"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "__array_priority__", "sortText": "217"}, {"detail": "bound method DataFrame.__array_ufunc__(ufunc: ufunc, method: str, *inputs: Any, **kwargs: Any) -> Unknown", "kind": 2, "label": "__array_ufunc__", "sortText": "218"}, {"detail": "bound method DataFrame.__arrow_c_stream__(requested_schema=None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Export the pandas DataFrame as an Arrow C stream PyCapsule.\n\nThis relies on pyarrow to convert the pandas DataFrame to the Arrow\nformat (and follows the default behaviour of ``pyarrow.Table.from_pandas``\nin its handling of the index, i.e. store the index as a column except\nfor RangeIndex).\nThis conversion is not necessarily zero-copy.\n\nParameters\n----------\nrequested_schema : PyCapsule, default None\n The schema to which the dataframe should be casted, passed as a\n PyCapsule containing a C ArrowSchema representation of the\n requested schema.\n\nReturns\n-------\nPyCapsule\n"}, "kind": 2, "label": "__arrow_c_stream__", "sortText": "219"}, {"detail": "() -> Never", "kind": 2, "label": "__bool__", "sortText": "220"}, {"detail": "type[DataFrame]", "documentation": {"kind": "plaintext", "value": "Two-dimensional, size-mutable, potentially heterogeneous tabular data.\n\nData structure also contains labeled axes (rows and columns).\nArithmetic operations align on both row and column labels. Can be\nthought of as a dict-like container for Series objects. The primary\npandas data structure.\n\nParameters\n----------\ndata : ndarray (structured or homogeneous), Iterable, dict, or DataFrame\n Dict can contain Series, arrays, constants, dataclass or list-like objects. If\n data is a dict, column order follows insertion-order. If a dict contains Series\n which have an index defined, it is aligned by its index. This alignment also\n occurs if data is a Series or a DataFrame itself. Alignment is done on\n Series/DataFrame inputs.\n\n If data is a list of dicts, column order follows insertion-order.\n\nindex : Index or array-like\n Index to use for resulting frame. Will default to RangeIndex if\n no indexing information part of input data and no index provided.\ncolumns : Index or array-like\n Column labels to use for resulting frame when data does not have them,\n defaulting to RangeIndex(0, 1, 2, ..., n). If data contains column labels,\n will perform column selection instead.\ndtype : dtype, default None\n Data type to force. Only a single dtype is allowed. If None, infer.\ncopy : bool or None, default None\n Copy data from inputs.\n For dict data, the default of None behaves like ``copy=True``. For DataFrame\n or 2d ndarray input, the default of None behaves like ``copy=False``.\n If data is a dict containing one or more Series (possibly of different dtypes),\n ``copy=False`` will ensure that these inputs are not copied.\n\n .. versionchanged:: 1.3.0\n\nSee Also\n--------\nDataFrame.from_records : Constructor from tuples, also record arrays.\nDataFrame.from_dict : From dicts of Series, arrays, or dicts.\nread_csv : Read a comma-separated values (csv) file into DataFrame.\nread_table : Read general delimited file into DataFrame.\nread_clipboard : Read text from clipboard into DataFrame.\n\nNotes\n-----\nPlease reference the :ref:`User Guide ` for more information.\n\nExamples\n--------\nConstructing DataFrame from a dictionary.\n\n>>> d = {'col1': [1, 2], 'col2': [3, 4]}\n>>> df = pd.DataFrame(data=d)\n>>> df\n col1 col2\n0 1 3\n1 2 4\n\nNotice that the inferred dtype is int64.\n\n>>> df.dtypes\ncol1 int64\ncol2 int64\ndtype: object\n\nTo enforce a single dtype:\n\n>>> df = pd.DataFrame(data=d, dtype=np.int8)\n>>> df.dtypes\ncol1 int8\ncol2 int8\ndtype: object\n\nConstructing DataFrame from a dictionary including Series:\n\n>>> d = {'col1': [0, 1, 2, 3], 'col2': pd.Series([2, 3], index=[2, 3])}\n>>> pd.DataFrame(data=d, index=[0, 1, 2, 3])\n col1 col2\n0 0 NaN\n1 1 NaN\n2 2 2.0\n3 3 3.0\n\nConstructing DataFrame from numpy ndarray:\n\n>>> df2 = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]),\n... columns=['a', 'b', 'c'])\n>>> df2\n a b c\n0 1 2 3\n1 4 5 6\n2 7 8 9\n\nConstructing DataFrame from a numpy ndarray that has labeled columns:\n\n>>> data = np.array([(1, 2, 3), (4, 5, 6), (7, 8, 9)],\n... dtype=[(\"a\", \"i4\"), (\"b\", \"i4\"), (\"c\", \"i4\")])\n>>> df3 = pd.DataFrame(data, columns=['c', 'a'])\n...\n>>> df3\n c a\n0 3 1\n1 6 4\n2 9 7\n\nConstructing DataFrame from dataclass:\n\n>>> from dataclasses import make_dataclass\n>>> Point = make_dataclass(\"Point\", [(\"x\", int), (\"y\", int)])\n>>> pd.DataFrame([Point(0, 0), Point(0, 3), Point(2, 3)])\n x y\n0 0 0\n1 0 3\n2 2 3\n\nConstructing DataFrame from Series/DataFrame:\n\n>>> ser = pd.Series([1, 2, 3], index=[\"a\", \"b\", \"c\"])\n>>> df = pd.DataFrame(data=ser, index=[\"a\", \"c\"])\n>>> df\n 0\na 1\nc 3\n\n>>> df1 = pd.DataFrame([1, 2, 3], index=[\"a\", \"b\", \"c\"], columns=[\"x\"])\n>>> df2 = pd.DataFrame(data=df1, index=[\"a\", \"c\"])\n>>> df2\n x\na 1\nc 3\n"}, "kind": 7, "label": "__class__", "sortText": "221"}, {"detail": "bound method DataFrame.__contains__(key) -> bool", "documentation": {"kind": "plaintext", "value": "True if the key is in the info axis\n"}, "kind": 2, "label": "__contains__", "sortText": "222"}, {"detail": "bound method DataFrame.__copy__(deep: bool = True) -> DataFrame", "kind": 2, "label": "__copy__", "sortText": "223"}, {"detail": "bound method DataFrame.__dataframe__(nan_as_null: bool = False, allow_copy: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the dataframe interchange object implementing the interchange protocol.\n\nParameters\n----------\nnan_as_null : bool, default False\n `nan_as_null` is DEPRECATED and has no effect. Please avoid using\n it; it will be removed in a future release.\nallow_copy : bool, default True\n Whether to allow memory copying when exporting. If set to False\n it would cause non-zero-copy exports to fail.\n\nReturns\n-------\nDataFrame interchange object\n The object which consuming library can use to ingress the dataframe.\n\nNotes\n-----\nDetails on the interchange protocol:\nhttps://data-apis.org/dataframe-protocol/latest/index.html\n\nExamples\n--------\n>>> df_not_necessarily_pandas = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})\n>>> interchange_object = df_not_necessarily_pandas.__dataframe__()\n>>> interchange_object.column_names()\nIndex(['A', 'B'], dtype='object')\n>>> df_pandas = (pd.api.interchange.from_dataframe\n... (interchange_object.select_columns_by_name(['A'])))\n>>> df_pandas\n A\n0 1\n1 2\n\nThese methods (``column_names``, ``select_columns_by_name``) should work\nfor any dataframe library which implements the interchange protocol.\n"}, "kind": 2, "label": "__dataframe__", "sortText": "224"}, {"detail": "bound method DataFrame.__dataframe_consortium_standard__(*, api_version: str | None = None) -> Any", "documentation": {"kind": "plaintext", "value": "Provide entry point to the Consortium DataFrame Standard API.\n\nThis is developed and maintained outside of pandas.\nPlease report any issues to https://github.com/data-apis/dataframe-api-compat.\n"}, "kind": 2, "label": "__dataframe_consortium_standard__", "sortText": "225"}, {"detail": "bound method DataFrame.__deepcopy__(memo=None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Parameters\n----------\nmemo, default None\n Standard signature. Unused\n"}, "kind": 2, "label": "__deepcopy__", "sortText": "226"}, {"detail": "bound method DataFrame.__delattr__(name: str, /) -> None", "kind": 2, "label": "__delattr__", "sortText": "227"}, {"detail": "bound method DataFrame.__delitem__(key) -> None", "documentation": {"kind": "plaintext", "value": "Delete item\n"}, "kind": 2, "label": "__delitem__", "sortText": "228"}, {"detail": "dict[str, Any]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "__dict__", "sortText": "229"}, {"detail": "bound method DataFrame.__dir__() -> list[str]", "documentation": {"kind": "plaintext", "value": "Provide method name lookup and completion.\n\nNotes\n-----\nOnly provide 'public' methods.\n"}, "kind": 2, "label": "__dir__", "sortText": "230"}, {"detail": "bound method DataFrame.__divmod__(other) -> tuple[DataFrame, DataFrame]", "kind": 2, "label": "__divmod__", "sortText": "231"}, {"detail": "str | None", "kind": 22, "label": "__doc__", "sortText": "232"}, {"detail": "bound method DataFrame.__eq__(other) -> Unknown", "kind": 2, "label": "__eq__", "sortText": "233"}, {"detail": "bound method DataFrame.__finalize__(other, method: str | None = None, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Propagate metadata from other to self.\n\nParameters\n----------\nother : the object from which to get the attributes that we are going\n to propagate\nmethod : str, optional\n A passed method name providing context on where ``__finalize__``\n was called.\n\n .. warning::\n\n The value passed as `method` are not currently considered\n stable across pandas releases.\n"}, "kind": 2, "label": "__finalize__", "sortText": "234"}, {"detail": "bound method DataFrame.__floordiv__(other) -> Unknown", "kind": 2, "label": "__floordiv__", "sortText": "235"}, {"detail": "bound method DataFrame.__format__(format_spec: str, /) -> str", "kind": 2, "label": "__format__", "sortText": "236"}, {"detail": "bound method DataFrame.__ge__(other) -> Unknown", "kind": 2, "label": "__ge__", "sortText": "237"}, {"detail": "bound method DataFrame.__getattr__(name: str) -> Unknown", "documentation": {"kind": "plaintext", "value": "After regular attribute access, try looking up the name\nThis allows simpler access to columns for interactive use.\n"}, "kind": 2, "label": "__getattr__", "sortText": "238"}, {"detail": "bound method DataFrame.__getattribute__(name: str, /) -> Any", "kind": 2, "label": "__getattribute__", "sortText": "239"}, {"detail": "bound method DataFrame.__getitem__(key) -> Unknown", "kind": 2, "label": "__getitem__", "sortText": "240"}, {"detail": "bound method DataFrame.__getstate__() -> dict[str, Any]", "kind": 2, "label": "__getstate__", "sortText": "241"}, {"detail": "bound method DataFrame.__gt__(other) -> Unknown", "kind": 2, "label": "__gt__", "sortText": "242"}, {"detail": "None", "documentation": {"kind": "plaintext", "value": "The type of the None singleton.\n"}, "kind": 22, "label": "__hash__", "sortText": "243"}, {"detail": "bound method DataFrame.__iadd__(other) -> DataFrame", "kind": 2, "label": "__iadd__", "sortText": "244"}, {"detail": "bound method DataFrame.__iand__(other) -> DataFrame", "kind": 2, "label": "__iand__", "sortText": "245"}, {"detail": "bound method DataFrame.__ifloordiv__(other) -> DataFrame", "kind": 2, "label": "__ifloordiv__", "sortText": "246"}, {"detail": "bound method DataFrame.__imod__(other) -> DataFrame", "kind": 2, "label": "__imod__", "sortText": "247"}, {"detail": "bound method DataFrame.__imul__(other) -> DataFrame", "kind": 2, "label": "__imul__", "sortText": "248"}, {"detail": "bound method DataFrame.__init__(data=None, index: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = None, columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = None, dtype: ExtensionDtype | str | dtype[Any] | type | None = None, copy: bool | None = None) -> None", "kind": 2, "label": "__init__", "sortText": "249"}, {"detail": "bound method type[DataFrame].__init_subclass__() -> None", "kind": 2, "label": "__init_subclass__", "sortText": "250"}, {"detail": "bound method DataFrame.__invert__() -> DataFrame", "kind": 2, "label": "__invert__", "sortText": "251"}, {"detail": "bound method DataFrame.__ior__(other) -> DataFrame", "kind": 2, "label": "__ior__", "sortText": "252"}, {"detail": "bound method DataFrame.__ipow__(other) -> DataFrame", "kind": 2, "label": "__ipow__", "sortText": "253"}, {"detail": "bound method DataFrame.__isub__(other) -> DataFrame", "kind": 2, "label": "__isub__", "sortText": "254"}, {"detail": "bound method DataFrame.__iter__() -> Iterator[Unknown]", "documentation": {"kind": "plaintext", "value": "Iterate over info axis.\n\nReturns\n-------\niterator\n Info axis as iterator.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})\n>>> for x in df:\n... print(x)\nA\nB\n"}, "kind": 2, "label": "__iter__", "sortText": "255"}, {"detail": "bound method DataFrame.__itruediv__(other) -> DataFrame", "kind": 2, "label": "__itruediv__", "sortText": "256"}, {"detail": "bound method DataFrame.__ixor__(other) -> DataFrame", "kind": 2, "label": "__ixor__", "sortText": "257"}, {"detail": "bound method DataFrame.__le__(other) -> Unknown", "kind": 2, "label": "__le__", "sortText": "258"}, {"detail": "bound method DataFrame.__len__() -> int", "documentation": {"kind": "plaintext", "value": "Returns length of info axis, but here we use the index.\n"}, "kind": 2, "label": "__len__", "sortText": "259"}, {"detail": "bound method DataFrame.__lt__(other) -> Unknown", "kind": 2, "label": "__lt__", "sortText": "260"}, {"detail": "Overload[(other: Series) -> Series, (other: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | Series | DataFrame) -> DataFrame | Series]", "documentation": {"kind": "plaintext", "value": "Matrix multiplication using binary `@` operator.\n"}, "kind": 2, "label": "__matmul__", "sortText": "261"}, {"detail": "bound method DataFrame.__mod__(other) -> Unknown", "kind": 2, "label": "__mod__", "sortText": "262"}, {"detail": "str", "documentation": {"kind": "plaintext", "value": "str(object='') -> str\nstr(bytes_or_buffer[, encoding[, errors]]) -> str\n\nCreate a new string object from the given object. If encoding or\nerrors is specified, then the object must expose a data buffer\nthat will be decoded using the given encoding and error handler.\nOtherwise, returns the result of object.__str__() (if defined)\nor repr(object).\nencoding defaults to 'utf-8'.\nerrors defaults to 'strict'.\n"}, "kind": 22, "label": "__module__", "sortText": "263"}, {"detail": "bound method DataFrame.__mul__(other) -> Unknown", "kind": 2, "label": "__mul__", "sortText": "264"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "__name__", "sortText": "265"}, {"detail": "bound method DataFrame.__ne__(other) -> Unknown", "kind": 2, "label": "__ne__", "sortText": "266"}, {"detail": "bound method DataFrame.__neg__() -> DataFrame", "kind": 2, "label": "__neg__", "sortText": "267"}, {"detail": "def __new__[Self](cls) -> Self", "kind": 3, "label": "__new__", "sortText": "268"}, {"detail": "bound method DataFrame.__nonzero__() -> Never", "kind": 2, "label": "__nonzero__", "sortText": "269"}, {"detail": "bound method DataFrame.__or__(other) -> Unknown", "kind": 2, "label": "__or__", "sortText": "270"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "__pandas_priority__", "sortText": "271"}, {"detail": "bound method DataFrame.__pos__() -> DataFrame", "kind": 2, "label": "__pos__", "sortText": "272"}, {"detail": "bound method DataFrame.__pow__(other) -> Unknown", "kind": 2, "label": "__pow__", "sortText": "273"}, {"detail": "bound method DataFrame.__radd__(other) -> Unknown", "kind": 2, "label": "__radd__", "sortText": "274"}, {"detail": "bound method DataFrame.__rand__(other) -> Unknown", "kind": 2, "label": "__rand__", "sortText": "275"}, {"detail": "bound method DataFrame.__rdivmod__(other) -> tuple[DataFrame, DataFrame]", "kind": 2, "label": "__rdivmod__", "sortText": "276"}, {"detail": "bound method DataFrame.__reduce__() -> str | tuple[Any, ...]", "kind": 2, "label": "__reduce__", "sortText": "277"}, {"detail": "bound method DataFrame.__reduce_ex__(protocol: SupportsIndex, /) -> str | tuple[Any, ...]", "kind": 2, "label": "__reduce_ex__", "sortText": "278"}, {"detail": "bound method DataFrame.__repr__() -> str", "documentation": {"kind": "plaintext", "value": "Return a string representation for a particular DataFrame.\n"}, "kind": 2, "label": "__repr__", "sortText": "279"}, {"detail": "bound method DataFrame.__rfloordiv__(other) -> Unknown", "kind": 2, "label": "__rfloordiv__", "sortText": "280"}, {"detail": "bound method DataFrame.__rmatmul__(other) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Matrix multiplication using binary `@` operator.\n"}, "kind": 2, "label": "__rmatmul__", "sortText": "281"}, {"detail": "bound method DataFrame.__rmod__(other) -> Unknown", "kind": 2, "label": "__rmod__", "sortText": "282"}, {"detail": "bound method DataFrame.__rmul__(other) -> Unknown", "kind": 2, "label": "__rmul__", "sortText": "283"}, {"detail": "bound method DataFrame.__ror__(other) -> Unknown", "kind": 2, "label": "__ror__", "sortText": "284"}, {"detail": "bound method DataFrame.__round__(decimals: int = 0) -> DataFrame", "kind": 2, "label": "__round__", "sortText": "285"}, {"detail": "bound method DataFrame.__rpow__(other) -> Unknown", "kind": 2, "label": "__rpow__", "sortText": "286"}, {"detail": "bound method DataFrame.__rsub__(other) -> Unknown", "kind": 2, "label": "__rsub__", "sortText": "287"}, {"detail": "bound method DataFrame.__rtruediv__(other) -> Unknown", "kind": 2, "label": "__rtruediv__", "sortText": "288"}, {"detail": "bound method DataFrame.__rxor__(other) -> Unknown", "kind": 2, "label": "__rxor__", "sortText": "289"}, {"detail": "bound method DataFrame.__setattr__(name: str, value) -> None", "documentation": {"kind": "plaintext", "value": "After regular attribute access, try setting the name\nThis allows simpler access to columns for interactive use.\n"}, "kind": 2, "label": "__setattr__", "sortText": "290"}, {"detail": "bound method DataFrame.__setitem__(key, value) -> None", "kind": 2, "label": "__setitem__", "sortText": "291"}, {"detail": "bound method DataFrame.__setstate__(state) -> None", "kind": 2, "label": "__setstate__", "sortText": "292"}, {"detail": "bound method DataFrame.__sizeof__() -> int", "documentation": {"kind": "plaintext", "value": "Generates the total memory usage for an object that returns\neither a value or Series of values\n"}, "kind": 2, "label": "__sizeof__", "sortText": "293"}, {"detail": "bound method DataFrame.__str__() -> str", "kind": 2, "label": "__str__", "sortText": "294"}, {"detail": "bound method DataFrame.__sub__(other) -> Unknown", "kind": 2, "label": "__sub__", "sortText": "295"}, {"detail": "bound method type[DataFrame].__subclasshook__(subclass: type, /) -> bool", "kind": 2, "label": "__subclasshook__", "sortText": "296"}, {"detail": "bound method DataFrame.__truediv__(other) -> Unknown", "kind": 2, "label": "__truediv__", "sortText": "297"}, {"detail": "bound method DataFrame.__xor__(other) -> Unknown", "kind": 2, "label": "__xor__", "sortText": "298"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "_AXIS_LEN", "sortText": "299"}, {"detail": "list[Literal[\"index\", \"columns\"]]", "documentation": {"kind": "plaintext", "value": "Built-in mutable sequence.\n\nIf no argument is given, the constructor creates a new empty list.\nThe argument must be an iterable if specified.\n"}, "kind": 22, "label": "_AXIS_ORDERS", "sortText": "300"}, {"detail": "dict[int | Literal[\"index\", \"columns\", \"rows\"], int]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "_AXIS_TO_AXIS_NUMBER", "sortText": "301"}, {"detail": "tuple[type[Series], type[Index], type[ExtensionArray], type[ndarray[_AnyShape, dtype[Any]]]]", "documentation": {"kind": "plaintext", "value": "Built-in immutable sequence.\n\nIf no argument is given, the constructor returns an empty tuple.\nIf iterable is specified the tuple is initialized from iterable's items.\n\nIf the argument is a tuple, the return value is the same object.\n"}, "kind": 22, "label": "_HANDLED_TYPES", "sortText": "302"}, {"detail": "set[str]", "documentation": {"kind": "plaintext", "value": "Build an unordered collection of unique elements.\n"}, "kind": 22, "label": "_accessors", "sortText": "303"}, {"detail": "bound method DataFrame._accum_func(name: str, func, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, skipna: bool = True, *args, **kwargs) -> Unknown", "kind": 2, "label": "_accum_func", "sortText": "304"}, {"detail": "str", "documentation": {"kind": "plaintext", "value": "str(object='') -> str\nstr(bytes_or_buffer[, encoding[, errors]]) -> str\n\nCreate a new string object from the given object. If encoding or\nerrors is specified, then the object must expose a data buffer\nthat will be decoded using the given encoding and error handler.\nOtherwise, returns the result of object.__str__() (if defined)\nor repr(object).\nencoding defaults to 'utf-8'.\nerrors defaults to 'strict'.\n"}, "kind": 22, "label": "_agg_examples_doc", "sortText": "305"}, {"detail": "str", "documentation": {"kind": "plaintext", "value": "str(object='') -> str\nstr(bytes_or_buffer[, encoding[, errors]]) -> str\n\nCreate a new string object from the given object. If encoding or\nerrors is specified, then the object must expose a data buffer\nthat will be decoded using the given encoding and error handler.\nOtherwise, returns the result of object.__str__() (if defined)\nor repr(object).\nencoding defaults to 'utf-8'.\nerrors defaults to 'strict'.\n"}, "kind": 22, "label": "_agg_see_also_doc", "sortText": "306"}, {"detail": "bound method DataFrame._align_for_op(other, axis: int, flex: bool | None = False, level: Hashable = None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Convert rhs to meet lhs dims if input is list, tuple or np.ndarray.\n\nParameters\n----------\nleft : DataFrame\nright : Any\naxis : int\nflex : bool or None, default False\n Whether this is a flex op, in which case we reindex.\n None indicates not to check for alignment.\nlevel : int or level name, default None\n\nReturns\n-------\nleft : DataFrame\nright : Any\n"}, "kind": 2, "label": "_align_for_op", "sortText": "307"}, {"detail": "bound method DataFrame._align_frame(other: DataFrame, join: Literal[\"outer\", \"inner\", \"left\", \"right\"] = \"outer\", axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, level=None, copy: bool | None = None, fill_value=None, method=None, limit: int | None = None, fill_axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> tuple[DataFrame, DataFrame, Index | None]", "kind": 2, "label": "_align_frame", "sortText": "308"}, {"detail": "bound method DataFrame._align_series(other: Series, join: Literal[\"outer\", \"inner\", \"left\", \"right\"] = \"outer\", axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, level=None, copy: bool | None = None, fill_value=None, method=None, limit: int | None = None, fill_axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> tuple[DataFrame, Series, Index | None]", "kind": 2, "label": "_align_series", "sortText": "309"}, {"detail": "bound method DataFrame._append(other, ignore_index: bool = False, verify_integrity: bool = False, sort: bool = False) -> DataFrame", "kind": 2, "label": "_append", "sortText": "310"}, {"detail": "bound method DataFrame._arith_method(other, op) -> Unknown", "kind": 2, "label": "_arith_method", "sortText": "311"}, {"detail": "bound method DataFrame._arith_method_with_reindex(right: DataFrame, op) -> DataFrame", "documentation": {"kind": "plaintext", "value": "For DataFrame-with-DataFrame operations that require reindexing,\noperate only on shared columns, then reindex.\n\nParameters\n----------\nright : DataFrame\nop : binary operator\n\nReturns\n-------\nDataFrame\n"}, "kind": 2, "label": "_arith_method_with_reindex", "sortText": "312"}, {"detail": "bound method DataFrame._as_manager(typ: str, copy: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Private helper function to create a DataFrame with specific manager.\n\nParameters\n----------\ntyp : {\"block\", \"array\"}\ncopy : bool, default True\n Only controls whether the conversion from Block->ArrayManager\n copies the 1D arrays (to ensure proper/contiguous memory layout).\n\nReturns\n-------\nDataFrame\n New DataFrame using specified manager type. Is not guaranteed\n to be a copy or not.\n"}, "kind": 2, "label": "_as_manager", "sortText": "313"}, {"detail": "dict[Hashable, Any]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "_attrs", "sortText": "314"}, {"detail": "bound method DataFrame._box_col_values(values: SingleDataManager, loc: int) -> Series", "documentation": {"kind": "plaintext", "value": "Provide boxed values for a column.\n"}, "kind": 2, "label": "_box_col_values", "sortText": "315"}, {"detail": "dict[str, Any]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "_cache", "sortText": "316"}, {"detail": "bool", "documentation": {"kind": "plaintext", "value": "Returns True when the argument is true, False otherwise.\nThe builtins True and False are the only two instances of the class bool.\nThe class bool is a subclass of the class int, and cannot be subclassed.\n"}, "kind": 22, "label": "_can_fast_transpose", "sortText": "317"}, {"detail": "bound method DataFrame._check_inplace_and_allows_duplicate_labels(inplace: bool) -> Unknown", "kind": 2, "label": "_check_inplace_and_allows_duplicate_labels", "sortText": "318"}, {"detail": "bound method DataFrame._check_is_chained_assignment_possible() -> bool", "documentation": {"kind": "plaintext", "value": "Check if we are a view, have a cacher, and are of mixed type.\nIf so, then force a setitem_copy check.\n\nShould be called just near setting a value\n\nWill return a boolean if it we are a view and are cached, but a\nsingle-dtype meaning that the cacher should be updated following\nsetting.\n"}, "kind": 2, "label": "_check_is_chained_assignment_possible", "sortText": "319"}, {"detail": "bound method DataFrame._check_label_or_level_ambiguity(key: Hashable, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> None", "documentation": {"kind": "plaintext", "value": "Check whether `key` is ambiguous.\n\nBy ambiguous, we mean that it matches both a level of the input\n`axis` and a label of the other axis.\n\nParameters\n----------\nkey : Hashable\n Label or level name.\naxis : int, default 0\n Axis that levels are associated with (0 for index, 1 for columns).\n\nRaises\n------\nValueError: `key` is ambiguous\n"}, "kind": 2, "label": "_check_label_or_level_ambiguity", "sortText": "320"}, {"detail": "bound method DataFrame._check_setitem_copy(t: str = \"setting\", force: bool = False) -> Unknown", "documentation": {"kind": "plaintext", "value": "Parameters\n----------\nt : str, the type of setting error\nforce : bool, default False\n If True, then force showing an error.\n\nvalidate if we are doing a setitem on a chained copy.\n\nIt is technically possible to figure out that we are setting on\na copy even WITH a multi-dtyped pandas object. In other words, some\nblocks may be views while other are not. Currently _is_view will ALWAYS\nreturn False for multi-blocks to avoid having to handle this case.\n\ndf = DataFrame(np.arange(0,9), columns=['count'])\ndf['group'] = 'b'\n\n# This technically need not raise SettingWithCopy if both are view\n# (which is not generally guaranteed but is usually True. However,\n# this is in general not a good practice and we recommend using .loc.\ndf.iloc[0:5]['group'] = 'a'\n"}, "kind": 2, "label": "_check_setitem_copy", "sortText": "321"}, {"detail": "bound method DataFrame._clear_item_cache() -> None", "kind": 2, "label": "_clear_item_cache", "sortText": "322"}, {"detail": "bound method DataFrame._clip_with_one_bound(threshold, method, axis, inplace) -> Unknown", "kind": 2, "label": "_clip_with_one_bound", "sortText": "323"}, {"detail": "bound method DataFrame._clip_with_scalar(lower, upper, inplace: bool = False) -> Unknown", "kind": 2, "label": "_clip_with_scalar", "sortText": "324"}, {"detail": "bound method DataFrame._cmp_method(other, op) -> Unknown", "kind": 2, "label": "_cmp_method", "sortText": "325"}, {"detail": "bound method DataFrame._combine_frame(other: DataFrame, func, fill_value=None) -> Unknown", "kind": 2, "label": "_combine_frame", "sortText": "326"}, {"detail": "bound method DataFrame._consolidate() -> Unknown", "documentation": {"kind": "plaintext", "value": "Compute NDFrame with \"consolidated\" internals (data of each dtype\ngrouped together in a single ndarray).\n\nReturns\n-------\nconsolidated : same type as caller\n"}, "kind": 2, "label": "_consolidate", "sortText": "327"}, {"detail": "bound method DataFrame._consolidate_inplace() -> None", "documentation": {"kind": "plaintext", "value": "Consolidate data in place and return None\n"}, "kind": 2, "label": "_consolidate_inplace", "sortText": "328"}, {"detail": "bound method DataFrame._construct_axes_dict(axes: Sequence[int | Literal[\"index\", \"columns\", \"rows\"]] | None = None, **kwargs) -> Unknown", "documentation": {"kind": "plaintext", "value": "Return an axes dictionary for myself.\n"}, "kind": 2, "label": "_construct_axes_dict", "sortText": "329"}, {"detail": "bound method DataFrame._construct_result(result) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Wrap the result of an arithmetic, comparison, or logical operation.\n\nParameters\n----------\nresult : DataFrame\n\nReturns\n-------\nDataFrame\n"}, "kind": 2, "label": "_construct_result", "sortText": "330"}, {"detail": "(...) -> DataFrame", "kind": 3, "label": "_constructor", "sortText": "331"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_constructor_expanddim", "sortText": "332"}, {"detail": "bound method DataFrame._constructor_from_mgr(mgr, axes) -> DataFrame", "kind": 2, "label": "_constructor_from_mgr", "sortText": "333"}, {"detail": "(...) -> Series", "kind": 3, "label": "_constructor_sliced", "sortText": "334"}, {"detail": "bound method DataFrame._constructor_sliced_from_mgr(mgr, axes) -> Series", "kind": 2, "label": "_constructor_sliced_from_mgr", "sortText": "335"}, {"detail": "bound method DataFrame._create_data_for_split_and_tight_to_dict(are_all_object_dtype_cols: bool, object_dtype_indices: list[int]) -> list[Unknown]", "documentation": {"kind": "plaintext", "value": "Simple helper method to create data for to ``to_dict(orient=\"split\")`` and\n``to_dict(orient=\"tight\")`` to create the main output data\n"}, "kind": 2, "label": "_create_data_for_split_and_tight_to_dict", "sortText": "336"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_data", "sortText": "337"}, {"detail": "bound method DataFrame._deprecate_downcast(downcast, method_name: str) -> Unknown", "kind": 2, "label": "_deprecate_downcast", "sortText": "338"}, {"detail": "bound method DataFrame._dir_additions() -> set[str]", "documentation": {"kind": "plaintext", "value": "add the string-like attributes from the info_axis.\nIf info_axis is a MultiIndex, its first level values are used.\n"}, "kind": 2, "label": "_dir_additions", "sortText": "339"}, {"detail": "bound method DataFrame._dir_deletions() -> set[str]", "documentation": {"kind": "plaintext", "value": "Delete unwanted __dir__ for this object.\n"}, "kind": 2, "label": "_dir_deletions", "sortText": "340"}, {"detail": "bound method DataFrame._dispatch_frame_op(right, func: (...) -> Unknown, axis: int | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Evaluate the frame operation func(left, right) by evaluating\ncolumn-by-column, dispatching to the Series implementation.\n\nParameters\n----------\nright : scalar, Series, or DataFrame\nfunc : arithmetic or comparison operator\naxis : {None, 0, 1}\n\nReturns\n-------\nDataFrame\n\nNotes\n-----\nCaller is responsible for setting np.errstate where relevant.\n"}, "kind": 2, "label": "_dispatch_frame_op", "sortText": "341"}, {"detail": "bound method DataFrame._drop_axis(labels, axis, level=None, errors: Literal[\"ignore\", \"raise\"] = \"raise\", only_slice: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Drop labels from specified axis. Used in the ``drop`` method\ninternally.\n\nParameters\n----------\nlabels : single label or list-like\naxis : int or axis name\nlevel : int or level name, default None\n For MultiIndex\nerrors : {'ignore', 'raise'}, default 'raise'\n If 'ignore', suppress error and existing labels are dropped.\nonly_slice : bool, default False\n Whether indexing along columns should be view-only.\n"}, "kind": 2, "label": "_drop_axis", "sortText": "342"}, {"detail": "bound method DataFrame._drop_labels_or_levels(keys, axis: int = 0) -> Unknown", "documentation": {"kind": "plaintext", "value": "Drop labels and/or levels for the given `axis`.\n\nFor each key in `keys`:\n - (axis=0): If key matches a column label then drop the column.\n Otherwise if key matches an index level then drop the level.\n - (axis=1): If key matches an index label then drop the row.\n Otherwise if key matches a column level then drop the level.\n\nParameters\n----------\nkeys : str or list of str\n labels or levels to drop\naxis : int, default 0\n Axis that levels are associated with (0 for index, 1 for columns)\n\nReturns\n-------\ndropped: DataFrame\n\nRaises\n------\nValueError\n if any `keys` match neither a label nor a level\n"}, "kind": 2, "label": "_drop_labels_or_levels", "sortText": "343"}, {"detail": "bound method DataFrame._ensure_valid_index(value) -> None", "documentation": {"kind": "plaintext", "value": "Ensure that if we don't have an index, that we can create one from the\npassed value.\n"}, "kind": 2, "label": "_ensure_valid_index", "sortText": "344"}, {"detail": "bound method DataFrame._find_valid_index(*, how: str) -> Hashable", "documentation": {"kind": "plaintext", "value": "Retrieves the index of the first valid value.\n\nParameters\n----------\nhow : {'first', 'last'}\n Use this parameter to change between the first or last valid index.\n\nReturns\n-------\nidx_first_valid : type of index\n"}, "kind": 2, "label": "_find_valid_index", "sortText": "345"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_flags", "sortText": "346"}, {"detail": "bound method DataFrame._flex_arith_method(other, op, *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> Unknown", "kind": 2, "label": "_flex_arith_method", "sortText": "347"}, {"detail": "bound method DataFrame._flex_cmp_method(other, op, *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> Unknown", "kind": 2, "label": "_flex_cmp_method", "sortText": "348"}, {"detail": "bound method type[DataFrame]._from_arrays(arrays, columns, index, dtype: ExtensionDtype | str | dtype[Any] | type | None = None, verify_integrity: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Create DataFrame from a list of arrays corresponding to the columns.\n\nParameters\n----------\narrays : list-like of arrays\n Each array in the list corresponds to one column, in order.\ncolumns : list-like, Index\n The column names for the resulting DataFrame.\nindex : list-like, Index\n The rows labels for the resulting DataFrame.\ndtype : dtype, optional\n Optional dtype to enforce for all arrays.\nverify_integrity : bool, default True\n Validate and homogenize all input. If set to False, it is assumed\n that all elements of `arrays` are actual arrays how they will be\n stored in a block (numpy ndarray or ExtensionArray), have the same\n length as and are aligned with the index, and that `columns` and\n `index` are ensured to be an Index object.\n\nReturns\n-------\nDataFrame\n"}, "kind": 2, "label": "_from_arrays", "sortText": "349"}, {"detail": "bound method type[DataFrame]._from_mgr(mgr: ArrayManager | SingleArrayManager | BlockManager | SingleBlockManager, axes: list[Index]) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Construct a new object of this type from a Manager object and axes.\n\nParameters\n----------\nmgr : Manager\n Must have the same ndim as cls.\naxes : list[Index]\n\nNotes\n-----\nThe axes must match mgr.axes, but are required for future-proofing\nin the event that axes are refactored out of the Manager objects.\n"}, "kind": 2, "label": "_from_mgr", "sortText": "350"}, {"detail": "bound method DataFrame._get_agg_axis(axis_num: int) -> Index", "documentation": {"kind": "plaintext", "value": "Let's be explicit about this.\n"}, "kind": 2, "label": "_get_agg_axis", "sortText": "351"}, {"detail": "bound method DataFrame._get_axis(axis: int | Literal[\"index\", \"columns\", \"rows\"]) -> Index", "kind": 2, "label": "_get_axis", "sortText": "352"}, {"detail": "bound method type[DataFrame]._get_axis_name(axis: int | Literal[\"index\", \"columns\", \"rows\"]) -> Literal[\"index\", \"columns\"]", "kind": 2, "label": "_get_axis_name", "sortText": "353"}, {"detail": "bound method type[DataFrame]._get_axis_number(axis: int | Literal[\"index\", \"columns\", \"rows\"]) -> int", "kind": 2, "label": "_get_axis_number", "sortText": "354"}, {"detail": "bound method DataFrame._get_axis_resolvers(axis: str) -> dict[str, Series | MultiIndex]", "kind": 2, "label": "_get_axis_resolvers", "sortText": "355"}, {"detail": "bound method type[DataFrame]._get_block_manager_axis(axis: int | Literal[\"index\", \"columns\", \"rows\"]) -> int", "documentation": {"kind": "plaintext", "value": "Map the axis to the block_manager axis.\n"}, "kind": 2, "label": "_get_block_manager_axis", "sortText": "356"}, {"detail": "bound method DataFrame._get_bool_data() -> Unknown", "kind": 2, "label": "_get_bool_data", "sortText": "357"}, {"detail": "bound method DataFrame._get_cleaned_column_resolvers() -> dict[Hashable, Series]", "documentation": {"kind": "plaintext", "value": "Return the special character free column resolvers of a dataframe.\n\nColumn names with special characters are 'cleaned up' so that they can\nbe referred to by backtick quoting.\nUsed in :meth:`DataFrame.eval`.\n"}, "kind": 2, "label": "_get_cleaned_column_resolvers", "sortText": "358"}, {"detail": "bound method DataFrame._get_column_array(i: int) -> ExtensionArray | ndarray[_AnyShape, dtype[Any]]", "documentation": {"kind": "plaintext", "value": "Get the values of the i'th column (ndarray or ExtensionArray, as stored\nin the Block)\n\nWarning! The returned array is a view but doesn't handle Copy-on-Write,\nso this should be used with caution (for read-only purposes).\n"}, "kind": 2, "label": "_get_column_array", "sortText": "359"}, {"detail": "bound method DataFrame._get_index_resolvers() -> dict[Hashable, Series | MultiIndex]", "kind": 2, "label": "_get_index_resolvers", "sortText": "360"}, {"detail": "bound method DataFrame._get_item_cache(item: Hashable) -> Series", "documentation": {"kind": "plaintext", "value": "Return the cached item, item represents a label indexer.\n"}, "kind": 2, "label": "_get_item_cache", "sortText": "361"}, {"detail": "bound method DataFrame._get_label_or_level_values(key: Hashable, axis: int = 0) -> ExtensionArray | ndarray[_AnyShape, dtype[Any]]", "documentation": {"kind": "plaintext", "value": "Return a 1-D array of values associated with `key`, a label or level\nfrom the given `axis`.\n\nRetrieval logic:\n - (axis=0): Return column values if `key` matches a column label.\n Otherwise return index level values if `key` matches an index\n level.\n - (axis=1): Return row values if `key` matches an index label.\n Otherwise return column level values if 'key' matches a column\n level\n\nParameters\n----------\nkey : Hashable\n Label or level name.\naxis : int, default 0\n Axis that levels are associated with (0 for index, 1 for columns)\n\nReturns\n-------\nnp.ndarray or ExtensionArray\n\nRaises\n------\nKeyError\n if `key` matches neither a label nor a level\nValueError\n if `key` matches multiple labels\n"}, "kind": 2, "label": "_get_label_or_level_values", "sortText": "362"}, {"detail": "bound method DataFrame._get_numeric_data() -> DataFrame", "kind": 2, "label": "_get_numeric_data", "sortText": "363"}, {"detail": "bound method DataFrame._get_value(index, col, takeable: bool = False) -> str | float | Period | ... omitted 5 union elements", "documentation": {"kind": "plaintext", "value": "Quickly retrieve single value at passed column and index.\n\nParameters\n----------\nindex : row label\ncol : column label\ntakeable : interpret the index/col as indexers, default False\n\nReturns\n-------\nscalar\n\nNotes\n-----\nAssumes that both `self.index._index_as_unique` and\n`self.columns._index_as_unique`; Caller is responsible for checking.\n"}, "kind": 2, "label": "_get_value", "sortText": "364"}, {"detail": "bound method DataFrame._get_values_for_csv(*, float_format: str | ((...) -> Unknown) | EngFormatter | None, date_format: str | None, decimal: str, na_rep: str, quoting) -> DataFrame", "kind": 2, "label": "_get_values_for_csv", "sortText": "365"}, {"detail": "bound method DataFrame._getitem_bool_array(key) -> Unknown", "kind": 2, "label": "_getitem_bool_array", "sortText": "366"}, {"detail": "bound method DataFrame._getitem_multilevel(key) -> Unknown", "kind": 2, "label": "_getitem_multilevel", "sortText": "367"}, {"detail": "bound method DataFrame._getitem_nocopy(key: list[Unknown]) -> Unknown", "documentation": {"kind": "plaintext", "value": "Behaves like __getitem__, but returns a view in cases where __getitem__\nwould make a copy.\n"}, "kind": 2, "label": "_getitem_nocopy", "sortText": "368"}, {"detail": "bound method DataFrame._getitem_slice(key: slice[Any, Any, Any]) -> DataFrame", "documentation": {"kind": "plaintext", "value": "__getitem__ for the case where the key is a slice object.\n"}, "kind": 2, "label": "_getitem_slice", "sortText": "369"}, {"detail": "bound method DataFrame._gotitem(key: Hashable | Sequence[Hashable], ndim: int, subset: DataFrame | Series | None = None) -> DataFrame | Series", "documentation": {"kind": "plaintext", "value": "Sub-classes to define. Return a sliced object.\n\nParameters\n----------\nkey : string / list of selections\nndim : {1, 2}\n requested ndim of result\nsubset : object, default None\n subset to act on\n"}, "kind": 2, "label": "_gotitem", "sortText": "370"}, {"detail": "frozenset[str]", "documentation": {"kind": "plaintext", "value": "Build an immutable unordered collection of unique elements.\n"}, "kind": 22, "label": "_hidden_attrs", "sortText": "371"}, {"detail": "bound method DataFrame._indexed_same(other) -> bool", "kind": 2, "label": "_indexed_same", "sortText": "372"}, {"detail": "Index", "documentation": {"kind": "plaintext", "value": "Immutable sequence used for indexing and alignment.\n\nThe basic object storing axis labels for all pandas objects.\n\n.. versionchanged:: 2.0.0\n\n Index can hold all numpy numeric dtypes (except float16). Previously only\n int64/uint64/float64 dtypes were accepted.\n\nParameters\n----------\ndata : array-like (1-dimensional)\ndtype : str, numpy.dtype, or ExtensionDtype, optional\n Data type for the output Index. If not specified, this will be\n inferred from `data`.\n See the :ref:`user guide ` for more usages.\ncopy : bool, default False\n Copy input data.\nname : object\n Name to be stored in the index.\ntupleize_cols : bool (default: True)\n When True, attempt to create a MultiIndex if possible.\n\nSee Also\n--------\nRangeIndex : Index implementing a monotonic integer range.\nCategoricalIndex : Index of :class:`Categorical` s.\nMultiIndex : A multi-level, or hierarchical Index.\nIntervalIndex : An Index of :class:`Interval` s.\nDatetimeIndex : Index of datetime64 data.\nTimedeltaIndex : Index of timedelta64 data.\nPeriodIndex : Index of Period data.\n\nNotes\n-----\nAn Index instance can **only** contain hashable objects.\nAn Index instance *can not* hold numpy float16 dtype.\n\nExamples\n--------\n>>> pd.Index([1, 2, 3])\nIndex([1, 2, 3], dtype='int64')\n\n>>> pd.Index(list('abc'))\nIndex(['a', 'b', 'c'], dtype='object')\n\n>>> pd.Index([1, 2, 3], dtype=\"uint8\")\nIndex([1, 2, 3], dtype='uint8')\n"}, "kind": 22, "label": "_info_axis", "sortText": "373"}, {"detail": "Literal[\"columns\", \"index\"]", "kind": 12, "label": "_info_axis_name", "sortText": "374"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "_info_axis_number", "sortText": "375"}, {"detail": "bound method DataFrame._info_repr() -> bool", "documentation": {"kind": "plaintext", "value": "True if the repr should show the info view.\n"}, "kind": 2, "label": "_info_repr", "sortText": "376"}, {"detail": "bound method type[DataFrame]._init_mgr(mgr: ArrayManager | SingleArrayManager | BlockManager | SingleBlockManager, axes: dict[Literal[\"index\", \"columns\"], ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements], dtype: dtype[Any] | ExtensionDtype | None = None, copy: bool = False) -> ArrayManager | SingleArrayManager | BlockManager | SingleBlockManager", "documentation": {"kind": "plaintext", "value": "passed a manager and a axes dict\n"}, "kind": 2, "label": "_init_mgr", "sortText": "377"}, {"detail": "bound method DataFrame._inplace_method(other, op) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Wrap arithmetic method to operate inplace.\n"}, "kind": 2, "label": "_inplace_method", "sortText": "378"}, {"detail": "list[str]", "documentation": {"kind": "plaintext", "value": "Built-in mutable sequence.\n\nIf no argument is given, the constructor creates a new empty list.\nThe argument must be an iterable if specified.\n"}, "kind": 22, "label": "_internal_names", "sortText": "379"}, {"detail": "set[str]", "documentation": {"kind": "plaintext", "value": "Build an unordered collection of unique elements.\n"}, "kind": 22, "label": "_internal_names_set", "sortText": "380"}, {"detail": "ReferenceType[NDFrame] | str | None", "kind": 22, "label": "_is_copy", "sortText": "381"}, {"detail": "bool", "documentation": {"kind": "plaintext", "value": "Returns True when the argument is true, False otherwise.\nThe builtins True and False are the only two instances of the class bool.\nThe class bool is a subclass of the class int, and cannot be subclassed.\n"}, "kind": 22, "label": "_is_homogeneous_type", "sortText": "382"}, {"detail": "bound method DataFrame._is_label_or_level_reference(key: Hashable, axis: int = 0) -> bool", "documentation": {"kind": "plaintext", "value": "Test whether a key is a label or level reference for a given axis.\n\nTo be considered either a label or a level reference, `key` must be a\nstring that:\n - (axis=0): Matches a column label or an index level\n - (axis=1): Matches an index label or a column level\n\nParameters\n----------\nkey : Hashable\n Potential label or level name\naxis : int, default 0\n Axis that levels are associated with (0 for index, 1 for columns)\n\nReturns\n-------\nbool\n"}, "kind": 2, "label": "_is_label_or_level_reference", "sortText": "383"}, {"detail": "bound method DataFrame._is_label_reference(key: Hashable, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> bool", "documentation": {"kind": "plaintext", "value": "Test whether a key is a label reference for a given axis.\n\nTo be considered a label reference, `key` must be a string that:\n - (axis=0): Matches a column label\n - (axis=1): Matches an index label\n\nParameters\n----------\nkey : Hashable\n Potential label name, i.e. Index entry.\naxis : int, default 0\n Axis perpendicular to the axis that labels are associated with\n (0 means search for column labels, 1 means search for index labels)\n\nReturns\n-------\nis_label: bool\n"}, "kind": 2, "label": "_is_label_reference", "sortText": "384"}, {"detail": "bound method DataFrame._is_level_reference(key: Hashable, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> bool", "documentation": {"kind": "plaintext", "value": "Test whether a key is a level reference for a given axis.\n\nTo be considered a level reference, `key` must be a string that:\n - (axis=0): Matches the name of an index level and does NOT match\n a column label.\n - (axis=1): Matches the name of a column level and does NOT match\n an index label.\n\nParameters\n----------\nkey : Hashable\n Potential level name for the given axis\naxis : int, default 0\n Axis that levels are associated with (0 for index, 1 for columns)\n\nReturns\n-------\nis_level : bool\n"}, "kind": 2, "label": "_is_level_reference", "sortText": "385"}, {"detail": "bool", "documentation": {"kind": "plaintext", "value": "Returns True when the argument is true, False otherwise.\nThe builtins True and False are the only two instances of the class bool.\nThe class bool is a subclass of the class int, and cannot be subclassed.\n"}, "kind": 22, "label": "_is_mixed_type", "sortText": "386"}, {"detail": "bool", "documentation": {"kind": "plaintext", "value": "Returns True when the argument is true, False otherwise.\nThe builtins True and False are the only two instances of the class bool.\nThe class bool is a subclass of the class int, and cannot be subclassed.\n"}, "kind": 22, "label": "_is_view", "sortText": "387"}, {"detail": "bound method DataFrame._is_view_after_cow_rules() -> Unknown", "kind": 2, "label": "_is_view_after_cow_rules", "sortText": "388"}, {"detail": "bound method DataFrame._iset_item(loc: int, value: Series, inplace: bool = True) -> None", "kind": 2, "label": "_iset_item", "sortText": "389"}, {"detail": "bound method DataFrame._iset_item_mgr(loc: int | slice[Any, Any, Any] | ndarray[_AnyShape, dtype[Any]], value, inplace: bool = False, refs: BlockValuesRefs | None = None) -> None", "kind": 2, "label": "_iset_item_mgr", "sortText": "390"}, {"detail": "bound method DataFrame._iset_not_inplace(key, value) -> Unknown", "kind": 2, "label": "_iset_not_inplace", "sortText": "391"}, {"detail": "dict[Hashable, Series]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "_item_cache", "sortText": "392"}, {"detail": "bound method DataFrame._iter_column_arrays() -> Iterator[ExtensionArray | ndarray[_AnyShape, dtype[Any]]]", "documentation": {"kind": "plaintext", "value": "Iterate over the arrays of all columns in order.\nThis returns the values as stored in the Block (ndarray or ExtensionArray).\n\nWarning! The returned array is a view but doesn't handle Copy-on-Write,\nso this should be used with caution (for read-only purposes).\n"}, "kind": 2, "label": "_iter_column_arrays", "sortText": "393"}, {"detail": "bound method DataFrame._ixs(i: int, axis: int = 0) -> Series", "documentation": {"kind": "plaintext", "value": "Parameters\n----------\ni : int\naxis : int\n\nReturns\n-------\nSeries\n"}, "kind": 2, "label": "_ixs", "sortText": "394"}, {"detail": "bound method DataFrame._logical_func(name: str, func, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, bool_only: bool = False, skipna: bool = True, **kwargs) -> Series | bool", "kind": 2, "label": "_logical_func", "sortText": "395"}, {"detail": "(other, op) -> Unknown", "kind": 2, "label": "_logical_method", "sortText": "396"}, {"detail": "bound method DataFrame._maybe_align_series_as_frame(series: Series, axis: int) -> Unknown", "documentation": {"kind": "plaintext", "value": "If the Series operand is not EA-dtype, we can broadcast to 2D and operate\nblockwise.\n"}, "kind": 2, "label": "_maybe_align_series_as_frame", "sortText": "397"}, {"detail": "bound method DataFrame._maybe_cache_changed(item, value: Series, inplace: bool) -> None", "documentation": {"kind": "plaintext", "value": "The object has called back to us saying maybe it has changed.\n"}, "kind": 2, "label": "_maybe_cache_changed", "sortText": "398"}, {"detail": "bound method DataFrame._maybe_update_cacher(clear: bool = False, verify_is_copy: bool = True, inplace: bool = False) -> None", "documentation": {"kind": "plaintext", "value": "See if we need to update our parent cacher if clear, then clear our\ncache.\n\nParameters\n----------\nclear : bool, default False\n Clear the item cache.\nverify_is_copy : bool, default True\n Provide is_copy checks.\n"}, "kind": 2, "label": "_maybe_update_cacher", "sortText": "399"}, {"detail": "list[str]", "documentation": {"kind": "plaintext", "value": "Built-in mutable sequence.\n\nIf no argument is given, the constructor creates a new empty list.\nThe argument must be an iterable if specified.\n"}, "kind": 22, "label": "_metadata", "sortText": "400"}, {"detail": "BlockManager | ArrayManager", "kind": 22, "label": "_mgr", "sortText": "401"}, {"detail": "bound method DataFrame._min_count_stat_function(name: str, func, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None | _NoDefault = ..., skipna: bool = True, numeric_only: bool = False, min_count: int = 0, **kwargs) -> Unknown", "kind": 2, "label": "_min_count_stat_function", "sortText": "402"}, {"detail": "bound method DataFrame._needs_reindex_multi(axes, method, level: Hashable) -> bool", "documentation": {"kind": "plaintext", "value": "Check if we do need a multi reindex.\n"}, "kind": 2, "label": "_needs_reindex_multi", "sortText": "403"}, {"detail": "bound method DataFrame._pad_or_backfill(method: Literal[\"ffill\", \"bfill\", \"pad\", \"backfill\"], *, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = None, inplace: bool = False, limit: None | int = None, limit_area: Literal[\"inside\", \"outside\"] | None = None, downcast: dict[Unknown, Unknown] | None = None) -> Unknown", "kind": 2, "label": "_pad_or_backfill", "sortText": "404"}, {"detail": "bound method DataFrame._protect_consolidate(f) -> Unknown", "documentation": {"kind": "plaintext", "value": "Consolidate _mgr -- if the blocks have changed, then clear the\ncache\n"}, "kind": 2, "label": "_protect_consolidate", "sortText": "405"}, {"detail": "bound method DataFrame._reduce(op, name: str, *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, skipna: bool = True, numeric_only: bool = False, filter_type=None, **kwds) -> Unknown", "kind": 2, "label": "_reduce", "sortText": "406"}, {"detail": "bound method DataFrame._reduce_axis1(name: str, func, skipna: bool) -> Series", "documentation": {"kind": "plaintext", "value": "Special case for _reduce to try to avoid a potentially-expensive transpose.\n\nApply the reduction block-wise along axis=1 and then reduce the resulting\n1D arrays.\n"}, "kind": 2, "label": "_reduce_axis1", "sortText": "407"}, {"detail": "bound method DataFrame._reindex_axes(axes, level: Hashable, limit: int | None, tolerance, method, fill_value: str | float | Period | ... omitted 6 union elements, copy: bool | None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Perform the reindex for all the axes.\n"}, "kind": 2, "label": "_reindex_axes", "sortText": "408"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_reindex_indexer", "sortText": "409"}, {"detail": "bound method DataFrame._reindex_multi(axes: dict[str, Index], copy: bool, fill_value) -> DataFrame", "documentation": {"kind": "plaintext", "value": "We are guaranteed non-Nones in the axes.\n"}, "kind": 2, "label": "_reindex_multi", "sortText": "410"}, {"detail": "bound method DataFrame._reindex_with_indexers(reindexers, fill_value=None, copy: bool | None = False, allow_dups: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "allow_dups indicates an internal call here\n"}, "kind": 2, "label": "_reindex_with_indexers", "sortText": "411"}, {"detail": "bound method DataFrame._rename(mapper: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = None, *, index: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = None, columns: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, copy: bool | None = None, inplace: bool = False, level: Hashable = None, errors: str = \"ignore\") -> DataFrame | None", "kind": 2, "label": "_rename", "sortText": "412"}, {"detail": "bound method DataFrame._replace_columnwise(mapping: dict[Hashable, tuple[Any, Any]], inplace: bool, regex) -> Unknown", "documentation": {"kind": "plaintext", "value": "Dispatch to Series.replace column-wise.\n\nParameters\n----------\nmapping : dict\n of the form {col: (target, value)}\ninplace : bool\nregex : bool or same types as `to_replace` in DataFrame.replace\n\nReturns\n-------\nDataFrame or None\n"}, "kind": 2, "label": "_replace_columnwise", "sortText": "413"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_replace_single", "sortText": "414"}, {"detail": "bound method DataFrame._repr_data_resource_() -> Unknown", "documentation": {"kind": "plaintext", "value": "Not a real Jupyter special repr method, but we use the same\nnaming convention.\n"}, "kind": 2, "label": "_repr_data_resource_", "sortText": "415"}, {"detail": "bound method DataFrame._repr_fits_horizontal_() -> bool", "documentation": {"kind": "plaintext", "value": "Check if full repr fits in horizontal boundaries imposed by the display\noptions width and max_columns.\n"}, "kind": 2, "label": "_repr_fits_horizontal_", "sortText": "416"}, {"detail": "bound method DataFrame._repr_fits_vertical_() -> bool", "documentation": {"kind": "plaintext", "value": "Check length against max_rows.\n"}, "kind": 2, "label": "_repr_fits_vertical_", "sortText": "417"}, {"detail": "bound method DataFrame._repr_html_() -> str | None", "documentation": {"kind": "plaintext", "value": "Return a html representation for a particular DataFrame.\n\nMainly for IPython notebook.\n"}, "kind": 2, "label": "_repr_html_", "sortText": "418"}, {"detail": "bound method DataFrame._repr_latex_() -> Unknown", "documentation": {"kind": "plaintext", "value": "Returns a LaTeX representation for a particular object.\nMainly for use with nbconvert (jupyter notebook conversion to pdf).\n"}, "kind": 2, "label": "_repr_latex_", "sortText": "419"}, {"detail": "bound method DataFrame._reset_cache(key: str | None = None) -> None", "documentation": {"kind": "plaintext", "value": "Reset cached properties. If ``key`` is passed, only clears that key.\n"}, "kind": 2, "label": "_reset_cache", "sortText": "420"}, {"detail": "bound method DataFrame._reset_cacher() -> None", "kind": 2, "label": "_reset_cacher", "sortText": "421"}, {"detail": "bound method DataFrame._sanitize_column(value) -> tuple[ExtensionArray | ndarray[_AnyShape, dtype[Any]], BlockValuesRefs | None]", "documentation": {"kind": "plaintext", "value": "Ensures new columns (which go into the BlockManager as new blocks) are\nalways copied (or a reference is being tracked to them under CoW)\nand converted into an array.\n\nParameters\n----------\nvalue : scalar, Series, or array-like\n\nReturns\n-------\ntuple of numpy.ndarray or ExtensionArray and optional BlockValuesRefs\n"}, "kind": 2, "label": "_sanitize_column", "sortText": "422"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_series", "sortText": "423"}, {"detail": "bound method DataFrame._set_axis(axis: int, labels: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | Series | list[Unknown]) -> None", "documentation": {"kind": "plaintext", "value": "This is called from the cython code when we set the `index` attribute\ndirectly, e.g. `series.index = [1, 2, 3]`.\n"}, "kind": 2, "label": "_set_axis", "sortText": "424"}, {"detail": "bound method DataFrame._set_axis_name(name, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, inplace: bool = False, copy: bool | None = True) -> Unknown", "documentation": {"kind": "plaintext", "value": "Set the name(s) of the axis.\n\nParameters\n----------\nname : str or list of str\n Name(s) to set.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to set the label. The value 0 or 'index' specifies index,\n and the value 1 or 'columns' specifies columns.\ninplace : bool, default False\n If `True`, do operation inplace and return None.\ncopy:\n Whether to make a copy of the result.\n\nReturns\n-------\nSeries, DataFrame, or None\n The same type as the caller or `None` if `inplace` is `True`.\n\nSee Also\n--------\nDataFrame.rename : Alter the axis labels of :class:`DataFrame`.\nSeries.rename : Alter the index labels or set the index name\n of :class:`Series`.\nIndex.rename : Set the name of :class:`Index` or :class:`MultiIndex`.\n\nExamples\n--------\n>>> df = pd.DataFrame({\"num_legs\": [4, 4, 2]},\n... [\"dog\", \"cat\", \"monkey\"])\n>>> df\n num_legs\ndog 4\ncat 4\nmonkey 2\n>>> df._set_axis_name(\"animal\")\n num_legs\nanimal\ndog 4\ncat 4\nmonkey 2\n>>> df.index = pd.MultiIndex.from_product(\n... [[\"mammal\"], ['dog', 'cat', 'monkey']])\n>>> df._set_axis_name([\"type\", \"name\"])\n num_legs\ntype name\nmammal dog 4\n cat 4\n monkey 2\n"}, "kind": 2, "label": "_set_axis_name", "sortText": "425"}, {"detail": "bound method DataFrame._set_axis_nocheck(labels, axis: int | Literal[\"index\", \"columns\", \"rows\"], inplace: bool, copy: bool | None) -> Unknown", "kind": 2, "label": "_set_axis_nocheck", "sortText": "426"}, {"detail": "bound method DataFrame._set_is_copy(ref: NDFrame, copy: bool = True) -> None", "kind": 2, "label": "_set_is_copy", "sortText": "427"}, {"detail": "bound method DataFrame._set_item(key, value) -> None", "documentation": {"kind": "plaintext", "value": "Add series to DataFrame in specified column.\n\nIf series is a numpy-array (not a Series/TimeSeries), it must be the\nsame length as the DataFrames index or an error will be thrown.\n\nSeries/TimeSeries will be conformed to the DataFrames index to\nensure homogeneity.\n"}, "kind": 2, "label": "_set_item", "sortText": "428"}, {"detail": "bound method DataFrame._set_item_frame_value(key, value: DataFrame) -> None", "kind": 2, "label": "_set_item_frame_value", "sortText": "429"}, {"detail": "bound method DataFrame._set_item_mgr(key, value: ExtensionArray | ndarray[_AnyShape, dtype[Any]], refs: BlockValuesRefs | None = None) -> None", "kind": 2, "label": "_set_item_mgr", "sortText": "430"}, {"detail": "bound method DataFrame._set_value(index: Hashable | Sequence[Hashable], col, value: str | float | Period | ... omitted 5 union elements, takeable: bool = False) -> None", "documentation": {"kind": "plaintext", "value": "Put single value at passed column and index.\n\nParameters\n----------\nindex : Label\n row label\ncol : Label\n column label\nvalue : scalar\ntakeable : bool, default False\n Sets whether or not index/col interpreted as indexers\n"}, "kind": 2, "label": "_set_value", "sortText": "431"}, {"detail": "bound method DataFrame._setitem_array(key, value) -> Unknown", "kind": 2, "label": "_setitem_array", "sortText": "432"}, {"detail": "bound method DataFrame._setitem_frame(key, value) -> Unknown", "kind": 2, "label": "_setitem_frame", "sortText": "433"}, {"detail": "bound method DataFrame._setitem_slice(key: slice[Any, Any, Any], value) -> None", "kind": 2, "label": "_setitem_slice", "sortText": "434"}, {"detail": "bound method DataFrame._shift_with_freq(periods: int, axis: int, freq) -> DataFrame", "kind": 2, "label": "_shift_with_freq", "sortText": "435"}, {"detail": "bound method DataFrame._should_reindex_frame_op(right, op, axis: int, fill_value, level) -> bool", "documentation": {"kind": "plaintext", "value": "Check if this is an operation between DataFrames that will need to reindex.\n"}, "kind": 2, "label": "_should_reindex_frame_op", "sortText": "436"}, {"detail": "bound method DataFrame._slice(slobj: slice[Any, Any, Any], axis: int = 0) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Construct a slice of this container.\n\nSlicing with this method is *always* positional.\n"}, "kind": 2, "label": "_slice", "sortText": "437"}, {"detail": "bound method DataFrame._stat_function(name: str, func, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "_stat_function", "sortText": "438"}, {"detail": "bound method DataFrame._stat_function_ddof(name: str, func, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None | _NoDefault = ..., skipna: bool = True, ddof: int = 1, numeric_only: bool = False, **kwargs) -> Series | float", "kind": 2, "label": "_stat_function_ddof", "sortText": "439"}, {"detail": "bound method DataFrame._take_with_is_copy(indices, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Internal version of the `take` method that sets the `_is_copy`\nattribute to keep track of the parent dataframe (using in indexing\nfor the SettingWithCopyWarning).\n\nFor Series this does the same as the public take (it never sets `_is_copy`).\n\nSee the docstring of `take` for full explanation of the parameters.\n"}, "kind": 2, "label": "_take_with_is_copy", "sortText": "440"}, {"detail": "bound method DataFrame._to_dict_of_blocks() -> Unknown", "documentation": {"kind": "plaintext", "value": "Return a dict of dtype -> Constructor Types that\neach is a homogeneous dtype.\n\nInternal ONLY - only works for BlockManager\n"}, "kind": 2, "label": "_to_dict_of_blocks", "sortText": "441"}, {"detail": "bound method DataFrame._to_latex_via_styler(buf=None, *, hide: dict[Unknown, Unknown] | list[dict[Unknown, Unknown]] | None = None, relabel_index: dict[Unknown, Unknown] | list[dict[Unknown, Unknown]] | None = None, format: dict[Unknown, Unknown] | list[dict[Unknown, Unknown]] | None = None, format_index: dict[Unknown, Unknown] | list[dict[Unknown, Unknown]] | None = None, render_kwargs: dict[Unknown, Unknown] | None = None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Render object to a LaTeX tabular, longtable, or nested table.\n\nUses the ``Styler`` implementation with the following, ordered, method chaining:\n\n.. code-block:: python\n styler = Styler(DataFrame)\n styler.hide(**hide)\n styler.relabel_index(**relabel_index)\n styler.format(**format)\n styler.format_index(**format_index)\n styler.to_latex(buf=buf, **render_kwargs)\n\nParameters\n----------\nbuf : str, Path or StringIO-like, optional, default None\n Buffer to write to. If None, the output is returned as a string.\nhide : dict, list of dict\n Keyword args to pass to the method call of ``Styler.hide``. If a list will\n call the method numerous times.\nrelabel_index : dict, list of dict\n Keyword args to pass to the method of ``Styler.relabel_index``. If a list\n will call the method numerous times.\nformat : dict, list of dict\n Keyword args to pass to the method call of ``Styler.format``. If a list will\n call the method numerous times.\nformat_index : dict, list of dict\n Keyword args to pass to the method call of ``Styler.format_index``. If a\n list will call the method numerous times.\nrender_kwargs : dict\n Keyword args to pass to the method call of ``Styler.to_latex``.\n\nReturns\n-------\nstr or None\n If buf is None, returns the result as a string. Otherwise returns None.\n"}, "kind": 2, "label": "_to_latex_via_styler", "sortText": "442"}, {"detail": "str", "documentation": {"kind": "plaintext", "value": "str(object='') -> str\nstr(bytes_or_buffer[, encoding[, errors]]) -> str\n\nCreate a new string object from the given object. If encoding or\nerrors is specified, then the object must expose a data buffer\nthat will be decoded using the given encoding and error handler.\nOtherwise, returns the result of object.__str__() (if defined)\nor repr(object).\nencoding defaults to 'utf-8'.\nerrors defaults to 'strict'.\n"}, "kind": 22, "label": "_typ", "sortText": "443"}, {"detail": "bound method DataFrame._update_inplace(result, verify_is_copy: bool = True) -> None", "documentation": {"kind": "plaintext", "value": "Replace self internals with result.\n\nParameters\n----------\nresult : same type as self\nverify_is_copy : bool, default True\n Provide is_copy checks.\n"}, "kind": 2, "label": "_update_inplace", "sortText": "444"}, {"detail": "bound method type[DataFrame]._validate_dtype(dtype) -> dtype[Any] | ExtensionDtype | None", "documentation": {"kind": "plaintext", "value": "validate the passed dtype\n"}, "kind": 2, "label": "_validate_dtype", "sortText": "445"}, {"detail": "ndarray[_AnyShape, dtype[Any]] | DatetimeArray | TimedeltaArray | PeriodArray", "kind": 22, "label": "_values", "sortText": "446"}, {"detail": "bound method DataFrame._where(cond, other=..., inplace: bool = False, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, level=None, warn: bool = True) -> Unknown", "documentation": {"kind": "plaintext", "value": "Equivalent to public method `where`, except that `other` is not\napplied as a function even if callable. Used in __setitem__.\n"}, "kind": 2, "label": "_where", "sortText": "447"}]}} +{"suite": "pandas", "label": "edit dataframe then complete (edit+completion)", "method": "textDocument/completion", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py", "line": 17, "character": 39, "iteration": 4, "result": {"isIncomplete": true, "items": [{"detail": "DataFrame", "documentation": {"kind": "plaintext", "value": "Two-dimensional, size-mutable, potentially heterogeneous tabular data.\n\nData structure also contains labeled axes (rows and columns).\nArithmetic operations align on both row and column labels. Can be\nthought of as a dict-like container for Series objects. The primary\npandas data structure.\n\nParameters\n----------\ndata : ndarray (structured or homogeneous), Iterable, dict, or DataFrame\n Dict can contain Series, arrays, constants, dataclass or list-like objects. If\n data is a dict, column order follows insertion-order. If a dict contains Series\n which have an index defined, it is aligned by its index. This alignment also\n occurs if data is a Series or a DataFrame itself. Alignment is done on\n Series/DataFrame inputs.\n\n If data is a list of dicts, column order follows insertion-order.\n\nindex : Index or array-like\n Index to use for resulting frame. Will default to RangeIndex if\n no indexing information part of input data and no index provided.\ncolumns : Index or array-like\n Column labels to use for resulting frame when data does not have them,\n defaulting to RangeIndex(0, 1, 2, ..., n). If data contains column labels,\n will perform column selection instead.\ndtype : dtype, default None\n Data type to force. Only a single dtype is allowed. If None, infer.\ncopy : bool or None, default None\n Copy data from inputs.\n For dict data, the default of None behaves like ``copy=True``. For DataFrame\n or 2d ndarray input, the default of None behaves like ``copy=False``.\n If data is a dict containing one or more Series (possibly of different dtypes),\n ``copy=False`` will ensure that these inputs are not copied.\n\n .. versionchanged:: 1.3.0\n\nSee Also\n--------\nDataFrame.from_records : Constructor from tuples, also record arrays.\nDataFrame.from_dict : From dicts of Series, arrays, or dicts.\nread_csv : Read a comma-separated values (csv) file into DataFrame.\nread_table : Read general delimited file into DataFrame.\nread_clipboard : Read text from clipboard into DataFrame.\n\nNotes\n-----\nPlease reference the :ref:`User Guide ` for more information.\n\nExamples\n--------\nConstructing DataFrame from a dictionary.\n\n>>> d = {'col1': [1, 2], 'col2': [3, 4]}\n>>> df = pd.DataFrame(data=d)\n>>> df\n col1 col2\n0 1 3\n1 2 4\n\nNotice that the inferred dtype is int64.\n\n>>> df.dtypes\ncol1 int64\ncol2 int64\ndtype: object\n\nTo enforce a single dtype:\n\n>>> df = pd.DataFrame(data=d, dtype=np.int8)\n>>> df.dtypes\ncol1 int8\ncol2 int8\ndtype: object\n\nConstructing DataFrame from a dictionary including Series:\n\n>>> d = {'col1': [0, 1, 2, 3], 'col2': pd.Series([2, 3], index=[2, 3])}\n>>> pd.DataFrame(data=d, index=[0, 1, 2, 3])\n col1 col2\n0 0 NaN\n1 1 NaN\n2 2 2.0\n3 3 3.0\n\nConstructing DataFrame from numpy ndarray:\n\n>>> df2 = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]),\n... columns=['a', 'b', 'c'])\n>>> df2\n a b c\n0 1 2 3\n1 4 5 6\n2 7 8 9\n\nConstructing DataFrame from a numpy ndarray that has labeled columns:\n\n>>> data = np.array([(1, 2, 3), (4, 5, 6), (7, 8, 9)],\n... dtype=[(\"a\", \"i4\"), (\"b\", \"i4\"), (\"c\", \"i4\")])\n>>> df3 = pd.DataFrame(data, columns=['c', 'a'])\n...\n>>> df3\n c a\n0 3 1\n1 6 4\n2 9 7\n\nConstructing DataFrame from dataclass:\n\n>>> from dataclasses import make_dataclass\n>>> Point = make_dataclass(\"Point\", [(\"x\", int), (\"y\", int)])\n>>> pd.DataFrame([Point(0, 0), Point(0, 3), Point(2, 3)])\n x y\n0 0 0\n1 0 3\n2 2 3\n\nConstructing DataFrame from Series/DataFrame:\n\n>>> ser = pd.Series([1, 2, 3], index=[\"a\", \"b\", \"c\"])\n>>> df = pd.DataFrame(data=ser, index=[\"a\", \"c\"])\n>>> df\n 0\na 1\nc 3\n\n>>> df1 = pd.DataFrame([1, 2, 3], index=[\"a\", \"b\", \"c\"], columns=[\"x\"])\n>>> df2 = pd.DataFrame(data=df1, index=[\"a\", \"c\"])\n>>> df2\n x\na 1\nc 3\n"}, "kind": 22, "label": "T", "sortText": " 0"}, {"detail": "bound method DataFrame.abs() -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return a Series/DataFrame with absolute numeric value of each element.\n\nThis function only applies to elements that are all numeric.\n\nReturns\n-------\nabs\n Series/DataFrame containing the absolute value of each element.\n\nSee Also\n--------\nnumpy.absolute : Calculate the absolute value element-wise.\n\nNotes\n-----\nFor ``complex`` inputs, ``1.2 + 1j``, the absolute value is\n:math:`\\sqrt{ a^2 + b^2 }`.\n\nExamples\n--------\nAbsolute numeric values in a Series.\n\n>>> s = pd.Series([-1.10, 2, -3.33, 4])\n>>> s.abs()\n0 1.10\n1 2.00\n2 3.33\n3 4.00\ndtype: float64\n\nAbsolute numeric values in a Series with complex numbers.\n\n>>> s = pd.Series([1.2 + 1j])\n>>> s.abs()\n0 1.56205\ndtype: float64\n\nAbsolute numeric values in a Series with a Timedelta element.\n\n>>> s = pd.Series([pd.Timedelta('1 days')])\n>>> s.abs()\n0 1 days\ndtype: timedelta64[ns]\n\nSelect rows with data closest to certain value using argsort (from\n`StackOverflow `__).\n\n>>> df = pd.DataFrame({\n... 'a': [4, 5, 6, 7],\n... 'b': [10, 20, 30, 40],\n... 'c': [100, 50, -30, -50]\n... })\n>>> df\n a b c\n0 4 10 100\n1 5 20 50\n2 6 30 -30\n3 7 40 -50\n>>> df.loc[(df.c - 43).abs().argsort()]\n a b c\n1 5 20 50\n0 4 10 100\n2 6 30 -30\n3 7 40 -50\n"}, "kind": 2, "label": "abs", "sortText": " 1"}, {"detail": "bound method DataFrame.add(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "add", "sortText": " 2"}, {"detail": "bound method DataFrame.add_prefix(prefix: str, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Prefix labels with string `prefix`.\n\nFor Series, the row labels are prefixed.\nFor DataFrame, the column labels are prefixed.\n\nParameters\n----------\nprefix : str\n The string to add before each label.\naxis : {0 or 'index', 1 or 'columns', None}, default None\n Axis to add prefix on\n\n .. versionadded:: 2.0.0\n\nReturns\n-------\nSeries or DataFrame\n New Series or DataFrame with updated labels.\n\nSee Also\n--------\nSeries.add_suffix: Suffix row labels with string `suffix`.\nDataFrame.add_suffix: Suffix column labels with string `suffix`.\n\nExamples\n--------\n>>> s = pd.Series([1, 2, 3, 4])\n>>> s\n0 1\n1 2\n2 3\n3 4\ndtype: int64\n\n>>> s.add_prefix('item_')\nitem_0 1\nitem_1 2\nitem_2 3\nitem_3 4\ndtype: int64\n\n>>> df = pd.DataFrame({'A': [1, 2, 3, 4], 'B': [3, 4, 5, 6]})\n>>> df\n A B\n0 1 3\n1 2 4\n2 3 5\n3 4 6\n\n>>> df.add_prefix('col_')\n col_A col_B\n0 1 3\n1 2 4\n2 3 5\n3 4 6\n"}, "kind": 2, "label": "add_prefix", "sortText": " 3"}, {"detail": "bound method DataFrame.add_suffix(suffix: str, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Suffix labels with string `suffix`.\n\nFor Series, the row labels are suffixed.\nFor DataFrame, the column labels are suffixed.\n\nParameters\n----------\nsuffix : str\n The string to add after each label.\naxis : {0 or 'index', 1 or 'columns', None}, default None\n Axis to add suffix on\n\n .. versionadded:: 2.0.0\n\nReturns\n-------\nSeries or DataFrame\n New Series or DataFrame with updated labels.\n\nSee Also\n--------\nSeries.add_prefix: Prefix row labels with string `prefix`.\nDataFrame.add_prefix: Prefix column labels with string `prefix`.\n\nExamples\n--------\n>>> s = pd.Series([1, 2, 3, 4])\n>>> s\n0 1\n1 2\n2 3\n3 4\ndtype: int64\n\n>>> s.add_suffix('_item')\n0_item 1\n1_item 2\n2_item 3\n3_item 4\ndtype: int64\n\n>>> df = pd.DataFrame({'A': [1, 2, 3, 4], 'B': [3, 4, 5, 6]})\n>>> df\n A B\n0 1 3\n1 2 4\n2 3 5\n3 4 6\n\n>>> df.add_suffix('_col')\n A_col B_col\n0 1 3\n1 2 4\n2 3 5\n3 4 6\n"}, "kind": 2, "label": "add_suffix", "sortText": " 4"}, {"detail": "(func=None, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, *args, **kwargs) -> Unknown", "kind": 2, "label": "agg", "sortText": " 5"}, {"detail": "bound method DataFrame.aggregate(func=None, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, *args, **kwargs) -> Unknown", "kind": 2, "label": "aggregate", "sortText": " 6"}, {"detail": "bound method DataFrame.align[NDFrameT](other: NDFrameT, join: Literal[\"outer\", \"inner\", \"left\", \"right\"] = \"outer\", axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, level: Hashable = None, copy: bool | None = None, fill_value: Hashable = None, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None | _NoDefault = ..., limit: int | None | _NoDefault = ..., fill_axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., broadcast_axis: int | Literal[\"index\", \"columns\", \"rows\"] | None | _NoDefault = ...) -> tuple[DataFrame, NDFrameT]", "documentation": {"kind": "plaintext", "value": "Align two objects on their axes with the specified join method.\n\nJoin method is specified for each axis Index.\n\nParameters\n----------\nother : DataFrame or Series\njoin : {{'outer', 'inner', 'left', 'right'}}, default 'outer'\n Type of alignment to be performed.\n\n * left: use only keys from left frame, preserve key order.\n * right: use only keys from right frame, preserve key order.\n * outer: use union of keys from both frames, sort keys lexicographically.\n * inner: use intersection of keys from both frames,\n preserve the order of the left keys.\n\naxis : allowed axis of the other object, default None\n Align on index (0), columns (1), or both (None).\nlevel : int or level name, default None\n Broadcast across a level, matching Index values on the\n passed MultiIndex level.\ncopy : bool, default True\n Always returns new objects. If copy=False and no reindexing is\n required then original objects are returned.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\nfill_value : scalar, default np.nan\n Value to use for missing values. Defaults to NaN, but can be any\n \"compatible\" value.\nmethod : {{'backfill', 'bfill', 'pad', 'ffill', None}}, default None\n Method to use for filling holes in reindexed Series:\n\n - pad / ffill: propagate last valid observation forward to next valid.\n - backfill / bfill: use NEXT valid observation to fill gap.\n\n .. deprecated:: 2.1\n\nlimit : int, default None\n If method is specified, this is the maximum number of consecutive\n NaN values to forward/backward fill. In other words, if there is\n a gap with more than this number of consecutive NaNs, it will only\n be partially filled. If method is not specified, this is the\n maximum number of entries along the entire axis where NaNs will be\n filled. Must be greater than 0 if not None.\n\n .. deprecated:: 2.1\n\nfill_axis : {axes_single_arg}, default 0\n Filling axis, method and limit.\n\n .. deprecated:: 2.1\n\nbroadcast_axis : {axes_single_arg}, default None\n Broadcast values along this axis, if aligning two objects of\n different dimensions.\n\n .. deprecated:: 2.1\n\nReturns\n-------\ntuple of ({klass}, type of other)\n Aligned objects.\n\nExamples\n--------\n>>> df = pd.DataFrame(\n... [[1, 2, 3, 4], [6, 7, 8, 9]], columns=[\"D\", \"B\", \"E\", \"A\"], index=[1, 2]\n... )\n>>> other = pd.DataFrame(\n... [[10, 20, 30, 40], [60, 70, 80, 90], [600, 700, 800, 900]],\n... columns=[\"A\", \"B\", \"C\", \"D\"],\n... index=[2, 3, 4],\n... )\n>>> df\n D B E A\n1 1 2 3 4\n2 6 7 8 9\n>>> other\n A B C D\n2 10 20 30 40\n3 60 70 80 90\n4 600 700 800 900\n\nAlign on columns:\n\n>>> left, right = df.align(other, join=\"outer\", axis=1)\n>>> left\n A B C D E\n1 4 2 NaN 1 3\n2 9 7 NaN 6 8\n>>> right\n A B C D E\n2 10 20 30 40 NaN\n3 60 70 80 90 NaN\n4 600 700 800 900 NaN\n\nWe can also align on the index:\n\n>>> left, right = df.align(other, join=\"outer\", axis=0)\n>>> left\n D B E A\n1 1.0 2.0 3.0 4.0\n2 6.0 7.0 8.0 9.0\n3 NaN NaN NaN NaN\n4 NaN NaN NaN NaN\n>>> right\n A B C D\n1 NaN NaN NaN NaN\n2 10.0 20.0 30.0 40.0\n3 60.0 70.0 80.0 90.0\n4 600.0 700.0 800.0 900.0\n\nFinally, the default `axis=None` will align on both index and columns:\n\n>>> left, right = df.align(other, join=\"outer\", axis=None)\n>>> left\n A B C D E\n1 4.0 2.0 NaN 1.0 3.0\n2 9.0 7.0 NaN 6.0 8.0\n3 NaN NaN NaN NaN NaN\n4 NaN NaN NaN NaN NaN\n>>> right\n A B C D E\n1 NaN NaN NaN NaN NaN\n2 10.0 20.0 30.0 40.0 NaN\n3 60.0 70.0 80.0 90.0 NaN\n4 600.0 700.0 800.0 900.0 NaN\n"}, "kind": 2, "label": "align", "sortText": " 7"}, {"detail": "bound method DataFrame.all(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, bool_only: bool = False, skipna: bool = True, **kwargs) -> Series | bool", "kind": 2, "label": "all", "sortText": " 8"}, {"detail": "bound method DataFrame.any(*, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, bool_only: bool = False, skipna: bool = True, **kwargs) -> Series | bool", "kind": 2, "label": "any", "sortText": " 9"}, {"detail": "bound method DataFrame.apply(func: ((...) -> Unknown) | str | list[((...) -> Unknown) | str] | MutableMapping[Hashable, ((...) -> Unknown) | str | list[((...) -> Unknown) | str]], axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, raw: bool = False, result_type: Literal[\"expand\", \"reduce\", \"broadcast\"] | None = None, args=..., by_row: Literal[False, \"compat\"] = \"compat\", engine: Literal[\"python\", \"numba\"] = \"python\", engine_kwargs: dict[str, bool] | None = None, **kwargs) -> Unknown", "documentation": {"kind": "plaintext", "value": "Apply a function along an axis of the DataFrame.\n\nObjects passed to the function are Series objects whose index is\neither the DataFrame's index (``axis=0``) or the DataFrame's columns\n(``axis=1``). By default (``result_type=None``), the final return type\nis inferred from the return type of the applied function. Otherwise,\nit depends on the `result_type` argument.\n\nParameters\n----------\nfunc : function\n Function to apply to each column or row.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Axis along which the function is applied:\n\n * 0 or 'index': apply function to each column.\n * 1 or 'columns': apply function to each row.\n\nraw : bool, default False\n Determines if row or column is passed as a Series or ndarray object:\n\n * ``False`` : passes each row or column as a Series to the\n function.\n * ``True`` : the passed function will receive ndarray objects\n instead.\n If you are just applying a NumPy reduction function this will\n achieve much better performance.\n\nresult_type : {'expand', 'reduce', 'broadcast', None}, default None\n These only act when ``axis=1`` (columns):\n\n * 'expand' : list-like results will be turned into columns.\n * 'reduce' : returns a Series if possible rather than expanding\n list-like results. This is the opposite of 'expand'.\n * 'broadcast' : results will be broadcast to the original shape\n of the DataFrame, the original index and columns will be\n retained.\n\n The default behaviour (None) depends on the return value of the\n applied function: list-like results will be returned as a Series\n of those. However if the apply function returns a Series these\n are expanded to columns.\nargs : tuple\n Positional arguments to pass to `func` in addition to the\n array/series.\nby_row : False or \"compat\", default \"compat\"\n Only has an effect when ``func`` is a listlike or dictlike of funcs\n and the func isn't a string.\n If \"compat\", will if possible first translate the func into pandas\n methods (e.g. ``Series().apply(np.sum)`` will be translated to\n ``Series().sum()``). If that doesn't work, will try call to apply again with\n ``by_row=True`` and if that fails, will call apply again with\n ``by_row=False`` (backward compatible).\n If False, the funcs will be passed the whole Series at once.\n\n .. versionadded:: 2.1.0\n\nengine : {'python', 'numba'}, default 'python'\n Choose between the python (default) engine or the numba engine in apply.\n\n The numba engine will attempt to JIT compile the passed function,\n which may result in speedups for large DataFrames.\n It also supports the following engine_kwargs :\n\n - nopython (compile the function in nopython mode)\n - nogil (release the GIL inside the JIT compiled function)\n - parallel (try to apply the function in parallel over the DataFrame)\n\n Note: Due to limitations within numba/how pandas interfaces with numba,\n you should only use this if raw=True\n\n Note: The numba compiler only supports a subset of\n valid Python/numpy operations.\n\n Please read more about the `supported python features\n `_\n and `supported numpy features\n `_\n in numba to learn what you can or cannot use in the passed function.\n\n .. versionadded:: 2.2.0\n\nengine_kwargs : dict\n Pass keyword arguments to the engine.\n This is currently only used by the numba engine,\n see the documentation for the engine argument for more information.\n**kwargs\n Additional keyword arguments to pass as keywords arguments to\n `func`.\n\nReturns\n-------\nSeries or DataFrame\n Result of applying ``func`` along the given axis of the\n DataFrame.\n\nSee Also\n--------\nDataFrame.map: For elementwise operations.\nDataFrame.aggregate: Only perform aggregating type operations.\nDataFrame.transform: Only perform transforming type operations.\n\nNotes\n-----\nFunctions that mutate the passed object can produce unexpected\nbehavior or errors and are not supported. See :ref:`gotchas.udf-mutation`\nfor more details.\n\nExamples\n--------\n>>> df = pd.DataFrame([[4, 9]] * 3, columns=['A', 'B'])\n>>> df\n A B\n0 4 9\n1 4 9\n2 4 9\n\nUsing a numpy universal function (in this case the same as\n``np.sqrt(df)``):\n\n>>> df.apply(np.sqrt)\n A B\n0 2.0 3.0\n1 2.0 3.0\n2 2.0 3.0\n\nUsing a reducing function on either axis\n\n>>> df.apply(np.sum, axis=0)\nA 12\nB 27\ndtype: int64\n\n>>> df.apply(np.sum, axis=1)\n0 13\n1 13\n2 13\ndtype: int64\n\nReturning a list-like will result in a Series\n\n>>> df.apply(lambda x: [1, 2], axis=1)\n0 [1, 2]\n1 [1, 2]\n2 [1, 2]\ndtype: object\n\nPassing ``result_type='expand'`` will expand list-like results\nto columns of a Dataframe\n\n>>> df.apply(lambda x: [1, 2], axis=1, result_type='expand')\n 0 1\n0 1 2\n1 1 2\n2 1 2\n\nReturning a Series inside the function is similar to passing\n``result_type='expand'``. The resulting column names\nwill be the Series index.\n\n>>> df.apply(lambda x: pd.Series([1, 2], index=['foo', 'bar']), axis=1)\n foo bar\n0 1 2\n1 1 2\n2 1 2\n\nPassing ``result_type='broadcast'`` will ensure the same shape\nresult, whether list-like or scalar is returned by the function,\nand broadcast it along the axis. The resulting column names will\nbe the originals.\n\n>>> df.apply(lambda x: [1, 2], axis=1, result_type='broadcast')\n A B\n0 1 2\n1 1 2\n2 1 2\n"}, "kind": 2, "label": "apply", "sortText": " 10"}, {"detail": "bound method DataFrame.applymap(func: (Any, /) -> Any, na_action: Literal[\"ignore\"] | None = None, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Apply a function to a Dataframe elementwise.\n\n.. deprecated:: 2.1.0\n\n DataFrame.applymap has been deprecated. Use DataFrame.map instead.\n\nThis method applies a function that accepts and returns a scalar\nto every element of a DataFrame.\n\nParameters\n----------\nfunc : callable\n Python function, returns a single value from a single value.\nna_action : {None, 'ignore'}, default None\n If 'ignore', propagate NaN values, without passing them to func.\n**kwargs\n Additional keyword arguments to pass as keywords arguments to\n `func`.\n\nReturns\n-------\nDataFrame\n Transformed DataFrame.\n\nSee Also\n--------\nDataFrame.apply : Apply a function along input axis of DataFrame.\nDataFrame.map : Apply a function along input axis of DataFrame.\nDataFrame.replace: Replace values given in `to_replace` with `value`.\n\nExamples\n--------\n>>> df = pd.DataFrame([[1, 2.12], [3.356, 4.567]])\n>>> df\n 0 1\n0 1.000 2.120\n1 3.356 4.567\n\n>>> df.map(lambda x: len(str(x)))\n 0 1\n0 3 4\n1 5 5\n"}, "kind": 2, "label": "applymap", "sortText": " 11"}, {"detail": "bound method DataFrame.asfreq(freq: str | BaseOffset, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None = None, how: Literal[\"start\", \"end\"] | None = None, normalize: bool = False, fill_value: Hashable = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Convert time series to specified frequency.\n\nReturns the original data conformed to a new index with the specified\nfrequency.\n\nIf the index of this {klass} is a :class:`~pandas.PeriodIndex`, the new index\nis the result of transforming the original index with\n:meth:`PeriodIndex.asfreq ` (so the original index\nwill map one-to-one to the new index).\n\nOtherwise, the new index will be equivalent to ``pd.date_range(start, end,\nfreq=freq)`` where ``start`` and ``end`` are, respectively, the first and\nlast entries in the original index (see :func:`pandas.date_range`). The\nvalues corresponding to any timesteps in the new index which were not present\nin the original index will be null (``NaN``), unless a method for filling\nsuch unknowns is provided (see the ``method`` parameter below).\n\nThe :meth:`resample` method is more appropriate if an operation on each group of\ntimesteps (such as an aggregate) is necessary to represent the data at the new\nfrequency.\n\nParameters\n----------\nfreq : DateOffset or str\n Frequency DateOffset or string.\nmethod : {{'backfill'/'bfill', 'pad'/'ffill'}}, default None\n Method to use for filling holes in reindexed Series (note this\n does not fill NaNs that already were present):\n\n * 'pad' / 'ffill': propagate last valid observation forward to next\n valid\n * 'backfill' / 'bfill': use NEXT valid observation to fill.\nhow : {{'start', 'end'}}, default end\n For PeriodIndex only (see PeriodIndex.asfreq).\nnormalize : bool, default False\n Whether to reset output index to midnight.\nfill_value : scalar, optional\n Value to use for missing values, applied during upsampling (note\n this does not fill NaNs that already were present).\n\nReturns\n-------\n{klass}\n {klass} object reindexed to the specified frequency.\n\nSee Also\n--------\nreindex : Conform DataFrame to new index with optional filling logic.\n\nNotes\n-----\nTo learn more about the frequency strings, please see `this link\n`__.\n\nExamples\n--------\nStart by creating a series with 4 one minute timestamps.\n\n>>> index = pd.date_range('1/1/2000', periods=4, freq='min')\n>>> series = pd.Series([0.0, None, 2.0, 3.0], index=index)\n>>> df = pd.DataFrame({{'s': series}})\n>>> df\n s\n2000-01-01 00:00:00 0.0\n2000-01-01 00:01:00 NaN\n2000-01-01 00:02:00 2.0\n2000-01-01 00:03:00 3.0\n\nUpsample the series into 30 second bins.\n\n>>> df.asfreq(freq='30s')\n s\n2000-01-01 00:00:00 0.0\n2000-01-01 00:00:30 NaN\n2000-01-01 00:01:00 NaN\n2000-01-01 00:01:30 NaN\n2000-01-01 00:02:00 2.0\n2000-01-01 00:02:30 NaN\n2000-01-01 00:03:00 3.0\n\nUpsample again, providing a ``fill value``.\n\n>>> df.asfreq(freq='30s', fill_value=9.0)\n s\n2000-01-01 00:00:00 0.0\n2000-01-01 00:00:30 9.0\n2000-01-01 00:01:00 NaN\n2000-01-01 00:01:30 9.0\n2000-01-01 00:02:00 2.0\n2000-01-01 00:02:30 9.0\n2000-01-01 00:03:00 3.0\n\nUpsample again, providing a ``method``.\n\n>>> df.asfreq(freq='30s', method='bfill')\n s\n2000-01-01 00:00:00 0.0\n2000-01-01 00:00:30 NaN\n2000-01-01 00:01:00 NaN\n2000-01-01 00:01:30 2.0\n2000-01-01 00:02:00 2.0\n2000-01-01 00:02:30 3.0\n2000-01-01 00:03:00 3.0\n"}, "kind": 2, "label": "asfreq", "sortText": " 12"}, {"detail": "bound method DataFrame.asof(where, subset=None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Return the last row(s) without any NaNs before `where`.\n\nThe last row (for each element in `where`, if list) without any\nNaN is taken.\nIn case of a :class:`~pandas.DataFrame`, the last row without NaN\nconsidering only the subset of columns (if not `None`)\n\nIf there is no good value, NaN is returned for a Series or\na Series of NaN values for a DataFrame\n\nParameters\n----------\nwhere : date or array-like of dates\n Date(s) before which the last row(s) are returned.\nsubset : str or array-like of str, default `None`\n For DataFrame, if not `None`, only use these columns to\n check for NaNs.\n\nReturns\n-------\nscalar, Series, or DataFrame\n\n The return can be:\n\n * scalar : when `self` is a Series and `where` is a scalar\n * Series: when `self` is a Series and `where` is an array-like,\n or when `self` is a DataFrame and `where` is a scalar\n * DataFrame : when `self` is a DataFrame and `where` is an\n array-like\n\nSee Also\n--------\nmerge_asof : Perform an asof merge. Similar to left join.\n\nNotes\n-----\nDates are assumed to be sorted. Raises if this is not the case.\n\nExamples\n--------\nA Series and a scalar `where`.\n\n>>> s = pd.Series([1, 2, np.nan, 4], index=[10, 20, 30, 40])\n>>> s\n10 1.0\n20 2.0\n30 NaN\n40 4.0\ndtype: float64\n\n>>> s.asof(20)\n2.0\n\nFor a sequence `where`, a Series is returned. The first value is\nNaN, because the first element of `where` is before the first\nindex value.\n\n>>> s.asof([5, 20])\n5 NaN\n20 2.0\ndtype: float64\n\nMissing values are not considered. The following is ``2.0``, not\nNaN, even though NaN is at the index location for ``30``.\n\n>>> s.asof(30)\n2.0\n\nTake all columns into consideration\n\n>>> df = pd.DataFrame({'a': [10., 20., 30., 40., 50.],\n... 'b': [None, None, None, None, 500]},\n... index=pd.DatetimeIndex(['2018-02-27 09:01:00',\n... '2018-02-27 09:02:00',\n... '2018-02-27 09:03:00',\n... '2018-02-27 09:04:00',\n... '2018-02-27 09:05:00']))\n>>> df.asof(pd.DatetimeIndex(['2018-02-27 09:03:30',\n... '2018-02-27 09:04:30']))\n a b\n2018-02-27 09:03:30 NaN NaN\n2018-02-27 09:04:30 NaN NaN\n\nTake a single column into consideration\n\n>>> df.asof(pd.DatetimeIndex(['2018-02-27 09:03:30',\n... '2018-02-27 09:04:30']),\n... subset=['a'])\n a b\n2018-02-27 09:03:30 30.0 NaN\n2018-02-27 09:04:30 40.0 NaN\n"}, "kind": 2, "label": "asof", "sortText": " 13"}, {"detail": "bound method DataFrame.assign(**kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Assign new columns to a DataFrame.\n\nReturns a new object with all original columns in addition to new ones.\nExisting columns that are re-assigned will be overwritten.\n\nParameters\n----------\n**kwargs : dict of {str: callable or Series}\n The column names are keywords. If the values are\n callable, they are computed on the DataFrame and\n assigned to the new columns. The callable must not\n change input DataFrame (though pandas doesn't check it).\n If the values are not callable, (e.g. a Series, scalar, or array),\n they are simply assigned.\n\nReturns\n-------\nDataFrame\n A new DataFrame with the new columns in addition to\n all the existing columns.\n\nNotes\n-----\nAssigning multiple columns within the same ``assign`` is possible.\nLater items in '\\*\\*kwargs' may refer to newly created or modified\ncolumns in 'df'; items are computed and assigned into 'df' in order.\n\nExamples\n--------\n>>> df = pd.DataFrame({'temp_c': [17.0, 25.0]},\n... index=['Portland', 'Berkeley'])\n>>> df\n temp_c\nPortland 17.0\nBerkeley 25.0\n\nWhere the value is a callable, evaluated on `df`:\n\n>>> df.assign(temp_f=lambda x: x.temp_c * 9 / 5 + 32)\n temp_c temp_f\nPortland 17.0 62.6\nBerkeley 25.0 77.0\n\nAlternatively, the same behavior can be achieved by directly\nreferencing an existing Series or sequence:\n\n>>> df.assign(temp_f=df['temp_c'] * 9 / 5 + 32)\n temp_c temp_f\nPortland 17.0 62.6\nBerkeley 25.0 77.0\n\nYou can create multiple columns within the same assign where one\nof the columns depends on another one defined within the same assign:\n\n>>> df.assign(temp_f=lambda x: x['temp_c'] * 9 / 5 + 32,\n... temp_k=lambda x: (x['temp_f'] + 459.67) * 5 / 9)\n temp_c temp_f temp_k\nPortland 17.0 62.6 290.15\nBerkeley 25.0 77.0 298.15\n"}, "kind": 2, "label": "assign", "sortText": " 14"}, {"detail": "bound method DataFrame.astype(dtype, copy: bool | None = None, errors: Literal[\"ignore\", \"raise\"] = \"raise\") -> DataFrame", "documentation": {"kind": "plaintext", "value": "Cast a pandas object to a specified dtype ``dtype``.\n\nParameters\n----------\ndtype : str, data type, Series or Mapping of column name -> data type\n Use a str, numpy.dtype, pandas.ExtensionDtype or Python type to\n cast entire pandas object to the same type. Alternatively, use a\n mapping, e.g. {col: dtype, ...}, where col is a column label and dtype is\n a numpy.dtype or Python type to cast one or more of the DataFrame's\n columns to column-specific types.\ncopy : bool, default True\n Return a copy when ``copy=True`` (be very careful setting\n ``copy=False`` as changes to values then may propagate to other\n pandas objects).\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\nerrors : {'raise', 'ignore'}, default 'raise'\n Control raising of exceptions on invalid data for provided dtype.\n\n - ``raise`` : allow exceptions to be raised\n - ``ignore`` : suppress exceptions. On error return original object.\n\nReturns\n-------\nsame type as caller\n\nSee Also\n--------\nto_datetime : Convert argument to datetime.\nto_timedelta : Convert argument to timedelta.\nto_numeric : Convert argument to a numeric type.\nnumpy.ndarray.astype : Cast a numpy array to a specified type.\n\nNotes\n-----\n.. versionchanged:: 2.0.0\n\n Using ``astype`` to convert from timezone-naive dtype to\n timezone-aware dtype will raise an exception.\n Use :meth:`Series.dt.tz_localize` instead.\n\nExamples\n--------\nCreate a DataFrame:\n\n>>> d = {'col1': [1, 2], 'col2': [3, 4]}\n>>> df = pd.DataFrame(data=d)\n>>> df.dtypes\ncol1 int64\ncol2 int64\ndtype: object\n\nCast all columns to int32:\n\n>>> df.astype('int32').dtypes\ncol1 int32\ncol2 int32\ndtype: object\n\nCast col1 to int32 using a dictionary:\n\n>>> df.astype({'col1': 'int32'}).dtypes\ncol1 int32\ncol2 int64\ndtype: object\n\nCreate a series:\n\n>>> ser = pd.Series([1, 2], dtype='int32')\n>>> ser\n0 1\n1 2\ndtype: int32\n>>> ser.astype('int64')\n0 1\n1 2\ndtype: int64\n\nConvert to categorical type:\n\n>>> ser.astype('category')\n0 1\n1 2\ndtype: category\nCategories (2, int32): [1, 2]\n\nConvert to ordered categorical type with custom ordering:\n\n>>> from pandas.api.types import CategoricalDtype\n>>> cat_dtype = CategoricalDtype(\n... categories=[2, 1], ordered=True)\n>>> ser.astype(cat_dtype)\n0 1\n1 2\ndtype: category\nCategories (2, int64): [2 < 1]\n\nCreate a series of dates:\n\n>>> ser_date = pd.Series(pd.date_range('20200101', periods=3))\n>>> ser_date\n0 2020-01-01\n1 2020-01-02\n2 2020-01-03\ndtype: datetime64[ns]\n"}, "kind": 2, "label": "astype", "sortText": " 15"}, {"detail": "_AtIndexer", "kind": 22, "label": "at", "sortText": " 16"}, {"detail": "bound method DataFrame.at_time(time, asof: bool = False, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Select values at particular time of day (e.g., 9:30AM).\n\nParameters\n----------\ntime : datetime.time or str\n The values to select.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n For `Series` this parameter is unused and defaults to 0.\n\nReturns\n-------\nSeries or DataFrame\n\nRaises\n------\nTypeError\n If the index is not a :class:`DatetimeIndex`\n\nSee Also\n--------\nbetween_time : Select values between particular times of the day.\nfirst : Select initial periods of time series based on a date offset.\nlast : Select final periods of time series based on a date offset.\nDatetimeIndex.indexer_at_time : Get just the index locations for\n values at particular time of the day.\n\nExamples\n--------\n>>> i = pd.date_range('2018-04-09', periods=4, freq='12h')\n>>> ts = pd.DataFrame({'A': [1, 2, 3, 4]}, index=i)\n>>> ts\n A\n2018-04-09 00:00:00 1\n2018-04-09 12:00:00 2\n2018-04-10 00:00:00 3\n2018-04-10 12:00:00 4\n\n>>> ts.at_time('12:00')\n A\n2018-04-09 12:00:00 2\n2018-04-10 12:00:00 4\n"}, "kind": 2, "label": "at_time", "sortText": " 17"}, {"detail": "dict[Hashable, Any]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "attrs", "sortText": " 18"}, {"detail": "list[Index]", "documentation": {"kind": "plaintext", "value": "Built-in mutable sequence.\n\nIf no argument is given, the constructor creates a new empty list.\nThe argument must be an iterable if specified.\n"}, "kind": 22, "label": "axes", "sortText": " 19"}, {"detail": "bound method DataFrame.backfill(*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = None, inplace: bool = False, limit: None | int = None, downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame | None", "documentation": {"kind": "plaintext", "value": "Fill NA/NaN values by using the next valid observation to fill the gap.\n\n.. deprecated:: 2.0\n\n {klass}.backfill is deprecated. Use {klass}.bfill instead.\n\nReturns\n-------\n{klass} or None\n Object with missing values filled or None if ``inplace=True``.\n\nExamples\n--------\nPlease see examples for :meth:`DataFrame.bfill` or :meth:`Series.bfill`.\n"}, "kind": 2, "label": "backfill", "sortText": " 20"}, {"detail": "bound method DataFrame.between_time(start_time, end_time, inclusive: Literal[\"left\", \"right\", \"both\", \"neither\"] = \"both\", axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Select values between particular times of the day (e.g., 9:00-9:30 AM).\n\nBy setting ``start_time`` to be later than ``end_time``,\nyou can get the times that are *not* between the two times.\n\nParameters\n----------\nstart_time : datetime.time or str\n Initial time as a time filter limit.\nend_time : datetime.time or str\n End time as a time filter limit.\ninclusive : {\"both\", \"neither\", \"left\", \"right\"}, default \"both\"\n Include boundaries; whether to set each bound as closed or open.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Determine range time on index or columns value.\n For `Series` this parameter is unused and defaults to 0.\n\nReturns\n-------\nSeries or DataFrame\n Data from the original object filtered to the specified dates range.\n\nRaises\n------\nTypeError\n If the index is not a :class:`DatetimeIndex`\n\nSee Also\n--------\nat_time : Select values at a particular time of the day.\nfirst : Select initial periods of time series based on a date offset.\nlast : Select final periods of time series based on a date offset.\nDatetimeIndex.indexer_between_time : Get just the index locations for\n values between particular times of the day.\n\nExamples\n--------\n>>> i = pd.date_range('2018-04-09', periods=4, freq='1D20min')\n>>> ts = pd.DataFrame({'A': [1, 2, 3, 4]}, index=i)\n>>> ts\n A\n2018-04-09 00:00:00 1\n2018-04-10 00:20:00 2\n2018-04-11 00:40:00 3\n2018-04-12 01:00:00 4\n\n>>> ts.between_time('0:15', '0:45')\n A\n2018-04-10 00:20:00 2\n2018-04-11 00:40:00 3\n\nYou get the times that are *not* between two times by setting\n``start_time`` later than ``end_time``:\n\n>>> ts.between_time('0:45', '0:15')\n A\n2018-04-09 00:00:00 1\n2018-04-12 01:00:00 4\n"}, "kind": 2, "label": "between_time", "sortText": " 21"}, {"detail": "Overload[(*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: Literal[False] = ..., limit: None | int = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame, (*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: Literal[True], limit: None | int = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> None, (*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: bool = ..., limit: None | int = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Fill NA/NaN values by using the next valid observation to fill the gap.\n\nParameters\n----------\naxis : {axes_single_arg}\n Axis along which to fill missing values. For `Series`\n this parameter is unused and defaults to 0.\ninplace : bool, default False\n If True, fill in-place. Note: this will modify any\n other views on this object (e.g., a no-copy slice for a column in a\n DataFrame).\nlimit : int, default None\n If method is specified, this is the maximum number of consecutive\n NaN values to forward/backward fill. In other words, if there is\n a gap with more than this number of consecutive NaNs, it will only\n be partially filled. If method is not specified, this is the\n maximum number of entries along the entire axis where NaNs will be\n filled. Must be greater than 0 if not None.\nlimit_area : {{`None`, 'inside', 'outside'}}, default None\n If limit is specified, consecutive NaNs will be filled with this\n restriction.\n\n * ``None``: No fill restriction.\n * 'inside': Only fill NaNs surrounded by valid values\n (interpolate).\n * 'outside': Only fill NaNs outside valid values (extrapolate).\n\n .. versionadded:: 2.2.0\n\ndowncast : dict, default is None\n A dict of item->dtype of what to downcast if possible,\n or the string 'infer' which will try to downcast to an appropriate\n equal type (e.g. float64 to int64 if possible).\n\n .. deprecated:: 2.2.0\n\nReturns\n-------\n{klass} or None\n Object with missing values filled or None if ``inplace=True``.\n\nExamples\n--------\nFor Series:\n\n>>> s = pd.Series([1, None, None, 2])\n>>> s.bfill()\n0 1.0\n1 2.0\n2 2.0\n3 2.0\ndtype: float64\n>>> s.bfill(limit=1)\n0 1.0\n1 NaN\n2 2.0\n3 2.0\ndtype: float64\n\nWith DataFrame:\n\n>>> df = pd.DataFrame({{'A': [1, None, None, 4], 'B': [None, 5, None, 7]}})\n>>> df\n A B\n0 1.0 NaN\n1 NaN 5.0\n2 NaN NaN\n3 4.0 7.0\n>>> df.bfill()\n A B\n0 1.0 5.0\n1 4.0 5.0\n2 4.0 7.0\n3 4.0 7.0\n>>> df.bfill(limit=1)\n A B\n0 1.0 5.0\n1 NaN 5.0\n2 4.0 7.0\n3 4.0 7.0\n"}, "kind": 2, "label": "bfill", "sortText": " 22"}, {"detail": "bound method DataFrame.bool() -> bool", "documentation": {"kind": "plaintext", "value": "Return the bool of a single element Series or DataFrame.\n\n.. deprecated:: 2.1.0\n\n bool is deprecated and will be removed in future version of pandas.\n For ``Series`` use ``pandas.Series.item``.\n\nThis must be a boolean scalar value, either True or False. It will raise a\nValueError if the Series or DataFrame does not have exactly 1 element, or that\nelement is not boolean (integer values 0 and 1 will also raise an exception).\n\nReturns\n-------\nbool\n The value in the Series or DataFrame.\n\nSee Also\n--------\nSeries.astype : Change the data type of a Series, including to boolean.\nDataFrame.astype : Change the data type of a DataFrame, including to boolean.\nnumpy.bool_ : NumPy boolean data type, used by pandas for boolean values.\n\nExamples\n--------\nThe method will only work for single element objects with a boolean value:\n\n>>> pd.Series([True]).bool() # doctest: +SKIP\nTrue\n>>> pd.Series([False]).bool() # doctest: +SKIP\nFalse\n\n>>> pd.DataFrame({'col': [True]}).bool() # doctest: +SKIP\nTrue\n>>> pd.DataFrame({'col': [False]}).bool() # doctest: +SKIP\nFalse\n\nThis is an alternative method and will only work\nfor single element objects with a boolean value:\n\n>>> pd.Series([True]).item() # doctest: +SKIP\nTrue\n>>> pd.Series([False]).item() # doctest: +SKIP\nFalse\n"}, "kind": 2, "label": "bool", "sortText": " 23"}, {"detail": "(column=None, by=None, ax=None, fontsize: int | None = None, rot: int = 0, grid: bool = True, figsize: tuple[float, float] | None = None, layout=None, return_type=None, backend=None, **kwargs) -> Unknown", "kind": 2, "label": "boxplot", "sortText": " 24"}, {"detail": "Overload[(lower=..., upper=..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: Literal[False] = ..., **kwargs) -> DataFrame, (lower=..., upper=..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: Literal[True], **kwargs) -> None, (lower=..., upper=..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: bool = ..., **kwargs) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Trim values at input threshold(s).\n\nAssigns values outside boundary to boundary values. Thresholds\ncan be singular values or array like, and in the latter case\nthe clipping is performed element-wise in the specified axis.\n\nParameters\n----------\nlower : float or array-like, default None\n Minimum threshold value. All values below this\n threshold will be set to it. A missing\n threshold (e.g `NA`) will not clip the value.\nupper : float or array-like, default None\n Maximum threshold value. All values above this\n threshold will be set to it. A missing\n threshold (e.g `NA`) will not clip the value.\naxis : {{0 or 'index', 1 or 'columns', None}}, default None\n Align object with lower and upper along the given axis.\n For `Series` this parameter is unused and defaults to `None`.\ninplace : bool, default False\n Whether to perform the operation in place on the data.\n*args, **kwargs\n Additional keywords have no effect but might be accepted\n for compatibility with numpy.\n\nReturns\n-------\nSeries or DataFrame or None\n Same type as calling object with the values outside the\n clip boundaries replaced or None if ``inplace=True``.\n\nSee Also\n--------\nSeries.clip : Trim values at input threshold in series.\nDataFrame.clip : Trim values at input threshold in dataframe.\nnumpy.clip : Clip (limit) the values in an array.\n\nExamples\n--------\n>>> data = {'col_0': [9, -3, 0, -1, 5], 'col_1': [-2, -7, 6, 8, -5]}\n>>> df = pd.DataFrame(data)\n>>> df\n col_0 col_1\n0 9 -2\n1 -3 -7\n2 0 6\n3 -1 8\n4 5 -5\n\nClips per column using lower and upper thresholds:\n\n>>> df.clip(-4, 6)\n col_0 col_1\n0 6 -2\n1 -3 -4\n2 0 6\n3 -1 6\n4 5 -4\n\nClips using specific lower and upper thresholds per column:\n\n>>> df.clip([-2, -1], [4, 5])\n col_0 col_1\n0 4 -1\n1 -2 -1\n2 0 5\n3 -1 5\n4 4 -1\n\nClips using specific lower and upper thresholds per column element:\n\n>>> t = pd.Series([2, -4, -1, 6, 3])\n>>> t\n0 2\n1 -4\n2 -1\n3 6\n4 3\ndtype: int64\n\n>>> df.clip(t, t + 4, axis=0)\n col_0 col_1\n0 6 2\n1 -3 -4\n2 0 3\n3 6 8\n4 5 3\n\nClips using specific lower threshold per column element, with missing values:\n\n>>> t = pd.Series([2, -4, np.nan, 6, 3])\n>>> t\n0 2.0\n1 -4.0\n2 NaN\n3 6.0\n4 3.0\ndtype: float64\n\n>>> df.clip(t, axis=0)\ncol_0 col_1\n0 9 2\n1 -3 -4\n2 0 6\n3 6 8\n4 5 3\n"}, "kind": 2, "label": "clip", "sortText": " 25"}, {"detail": "Index", "documentation": {"kind": "plaintext", "value": "Immutable sequence used for indexing and alignment.\n\nThe basic object storing axis labels for all pandas objects.\n\n.. versionchanged:: 2.0.0\n\n Index can hold all numpy numeric dtypes (except float16). Previously only\n int64/uint64/float64 dtypes were accepted.\n\nParameters\n----------\ndata : array-like (1-dimensional)\ndtype : str, numpy.dtype, or ExtensionDtype, optional\n Data type for the output Index. If not specified, this will be\n inferred from `data`.\n See the :ref:`user guide ` for more usages.\ncopy : bool, default False\n Copy input data.\nname : object\n Name to be stored in the index.\ntupleize_cols : bool (default: True)\n When True, attempt to create a MultiIndex if possible.\n\nSee Also\n--------\nRangeIndex : Index implementing a monotonic integer range.\nCategoricalIndex : Index of :class:`Categorical` s.\nMultiIndex : A multi-level, or hierarchical Index.\nIntervalIndex : An Index of :class:`Interval` s.\nDatetimeIndex : Index of datetime64 data.\nTimedeltaIndex : Index of timedelta64 data.\nPeriodIndex : Index of Period data.\n\nNotes\n-----\nAn Index instance can **only** contain hashable objects.\nAn Index instance *can not* hold numpy float16 dtype.\n\nExamples\n--------\n>>> pd.Index([1, 2, 3])\nIndex([1, 2, 3], dtype='int64')\n\n>>> pd.Index(list('abc'))\nIndex(['a', 'b', 'c'], dtype='object')\n\n>>> pd.Index([1, 2, 3], dtype=\"uint8\")\nIndex([1, 2, 3], dtype='uint8')\n"}, "kind": 22, "label": "columns", "sortText": " 26"}, {"detail": "bound method DataFrame.combine(other: DataFrame, func: (Series, Series, /) -> Series | Hashable, fill_value=None, overwrite: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Perform column-wise combine with another DataFrame.\n\nCombines a DataFrame with `other` DataFrame using `func`\nto element-wise combine columns. The row and column indexes of the\nresulting DataFrame will be the union of the two.\n\nParameters\n----------\nother : DataFrame\n The DataFrame to merge column-wise.\nfunc : function\n Function that takes two series as inputs and return a Series or a\n scalar. Used to merge the two dataframes column by columns.\nfill_value : scalar value, default None\n The value to fill NaNs with prior to passing any column to the\n merge func.\noverwrite : bool, default True\n If True, columns in `self` that do not exist in `other` will be\n overwritten with NaNs.\n\nReturns\n-------\nDataFrame\n Combination of the provided DataFrames.\n\nSee Also\n--------\nDataFrame.combine_first : Combine two DataFrame objects and default to\n non-null values in frame calling the method.\n\nExamples\n--------\nCombine using a simple function that chooses the smaller column.\n\n>>> df1 = pd.DataFrame({'A': [0, 0], 'B': [4, 4]})\n>>> df2 = pd.DataFrame({'A': [1, 1], 'B': [3, 3]})\n>>> take_smaller = lambda s1, s2: s1 if s1.sum() < s2.sum() else s2\n>>> df1.combine(df2, take_smaller)\n A B\n0 0 3\n1 0 3\n\nExample using a true element-wise combine function.\n\n>>> df1 = pd.DataFrame({'A': [5, 0], 'B': [2, 4]})\n>>> df2 = pd.DataFrame({'A': [1, 1], 'B': [3, 3]})\n>>> df1.combine(df2, np.minimum)\n A B\n0 1 2\n1 0 3\n\nUsing `fill_value` fills Nones prior to passing the column to the\nmerge function.\n\n>>> df1 = pd.DataFrame({'A': [0, 0], 'B': [None, 4]})\n>>> df2 = pd.DataFrame({'A': [1, 1], 'B': [3, 3]})\n>>> df1.combine(df2, take_smaller, fill_value=-5)\n A B\n0 0 -5.0\n1 0 4.0\n\nHowever, if the same element in both dataframes is None, that None\nis preserved\n\n>>> df1 = pd.DataFrame({'A': [0, 0], 'B': [None, 4]})\n>>> df2 = pd.DataFrame({'A': [1, 1], 'B': [None, 3]})\n>>> df1.combine(df2, take_smaller, fill_value=-5)\n A B\n0 0 -5.0\n1 0 3.0\n\nExample that demonstrates the use of `overwrite` and behavior when\nthe axis differ between the dataframes.\n\n>>> df1 = pd.DataFrame({'A': [0, 0], 'B': [4, 4]})\n>>> df2 = pd.DataFrame({'B': [3, 3], 'C': [-10, 1], }, index=[1, 2])\n>>> df1.combine(df2, take_smaller)\n A B C\n0 NaN NaN NaN\n1 NaN 3.0 -10.0\n2 NaN 3.0 1.0\n\n>>> df1.combine(df2, take_smaller, overwrite=False)\n A B C\n0 0.0 NaN NaN\n1 0.0 3.0 -10.0\n2 NaN 3.0 1.0\n\nDemonstrating the preference of the passed in dataframe.\n\n>>> df2 = pd.DataFrame({'B': [3, 3], 'C': [1, 1], }, index=[1, 2])\n>>> df2.combine(df1, take_smaller)\n A B C\n0 0.0 NaN NaN\n1 0.0 3.0 NaN\n2 NaN 3.0 NaN\n\n>>> df2.combine(df1, take_smaller, overwrite=False)\n A B C\n0 0.0 NaN NaN\n1 0.0 3.0 1.0\n2 NaN 3.0 1.0\n"}, "kind": 2, "label": "combine", "sortText": " 27"}, {"detail": "bound method DataFrame.combine_first(other: DataFrame) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Update null elements with value in the same location in `other`.\n\nCombine two DataFrame objects by filling null values in one DataFrame\nwith non-null values from other DataFrame. The row and column indexes\nof the resulting DataFrame will be the union of the two. The resulting\ndataframe contains the 'first' dataframe values and overrides the\nsecond one values where both first.loc[index, col] and\nsecond.loc[index, col] are not missing values, upon calling\nfirst.combine_first(second).\n\nParameters\n----------\nother : DataFrame\n Provided DataFrame to use to fill null values.\n\nReturns\n-------\nDataFrame\n The result of combining the provided DataFrame with the other object.\n\nSee Also\n--------\nDataFrame.combine : Perform series-wise operation on two DataFrames\n using a given function.\n\nExamples\n--------\n>>> df1 = pd.DataFrame({'A': [None, 0], 'B': [None, 4]})\n>>> df2 = pd.DataFrame({'A': [1, 1], 'B': [3, 3]})\n>>> df1.combine_first(df2)\n A B\n0 1.0 3.0\n1 0.0 4.0\n\nNull values still persist if the location of that null value\ndoes not exist in `other`\n\n>>> df1 = pd.DataFrame({'A': [None, 0], 'B': [4, None]})\n>>> df2 = pd.DataFrame({'B': [3, 3], 'C': [1, 1]}, index=[1, 2])\n>>> df1.combine_first(df2)\n A B C\n0 NaN 4.0 NaN\n1 0.0 3.0 1.0\n2 NaN 3.0 1.0\n"}, "kind": 2, "label": "combine_first", "sortText": " 28"}, {"detail": "bound method DataFrame.compare(other: DataFrame, align_axis: int | Literal[\"index\", \"columns\", \"rows\"] = 1, keep_shape: bool = False, keep_equal: bool = False, result_names: tuple[str | None, str | None] = ...) -> DataFrame", "kind": 2, "label": "compare", "sortText": " 29"}, {"detail": "bound method DataFrame.convert_dtypes(infer_objects: bool = True, convert_string: bool = True, convert_integer: bool = True, convert_boolean: bool = True, convert_floating: bool = True, dtype_backend: Literal[\"pyarrow\", \"numpy_nullable\"] = \"numpy_nullable\") -> DataFrame", "documentation": {"kind": "plaintext", "value": "Convert columns to the best possible dtypes using dtypes supporting ``pd.NA``.\n\nParameters\n----------\ninfer_objects : bool, default True\n Whether object dtypes should be converted to the best possible types.\nconvert_string : bool, default True\n Whether object dtypes should be converted to ``StringDtype()``.\nconvert_integer : bool, default True\n Whether, if possible, conversion can be done to integer extension types.\nconvert_boolean : bool, defaults True\n Whether object dtypes should be converted to ``BooleanDtypes()``.\nconvert_floating : bool, defaults True\n Whether, if possible, conversion can be done to floating extension types.\n If `convert_integer` is also True, preference will be give to integer\n dtypes if the floats can be faithfully casted to integers.\ndtype_backend : {'numpy_nullable', 'pyarrow'}, default 'numpy_nullable'\n Back-end data type applied to the resultant :class:`DataFrame`\n (still experimental). Behaviour is as follows:\n\n * ``\"numpy_nullable\"``: returns nullable-dtype-backed :class:`DataFrame`\n (default).\n * ``\"pyarrow\"``: returns pyarrow-backed nullable :class:`ArrowDtype`\n DataFrame.\n\n .. versionadded:: 2.0\n\nReturns\n-------\nSeries or DataFrame\n Copy of input object with new dtype.\n\nSee Also\n--------\ninfer_objects : Infer dtypes of objects.\nto_datetime : Convert argument to datetime.\nto_timedelta : Convert argument to timedelta.\nto_numeric : Convert argument to a numeric type.\n\nNotes\n-----\nBy default, ``convert_dtypes`` will attempt to convert a Series (or each\nSeries in a DataFrame) to dtypes that support ``pd.NA``. By using the options\n``convert_string``, ``convert_integer``, ``convert_boolean`` and\n``convert_floating``, it is possible to turn off individual conversions\nto ``StringDtype``, the integer extension types, ``BooleanDtype``\nor floating extension types, respectively.\n\nFor object-dtyped columns, if ``infer_objects`` is ``True``, use the inference\nrules as during normal Series/DataFrame construction. Then, if possible,\nconvert to ``StringDtype``, ``BooleanDtype`` or an appropriate integer\nor floating extension type, otherwise leave as ``object``.\n\nIf the dtype is integer, convert to an appropriate integer extension type.\n\nIf the dtype is numeric, and consists of all integers, convert to an\nappropriate integer extension type. Otherwise, convert to an\nappropriate floating extension type.\n\nIn the future, as new dtypes are added that support ``pd.NA``, the results\nof this method will change to support those new dtypes.\n\nExamples\n--------\n>>> df = pd.DataFrame(\n... {\n... \"a\": pd.Series([1, 2, 3], dtype=np.dtype(\"int32\")),\n... \"b\": pd.Series([\"x\", \"y\", \"z\"], dtype=np.dtype(\"O\")),\n... \"c\": pd.Series([True, False, np.nan], dtype=np.dtype(\"O\")),\n... \"d\": pd.Series([\"h\", \"i\", np.nan], dtype=np.dtype(\"O\")),\n... \"e\": pd.Series([10, np.nan, 20], dtype=np.dtype(\"float\")),\n... \"f\": pd.Series([np.nan, 100.5, 200], dtype=np.dtype(\"float\")),\n... }\n... )\n\nStart with a DataFrame with default dtypes.\n\n>>> df\n a b c d e f\n0 1 x True h 10.0 NaN\n1 2 y False i NaN 100.5\n2 3 z NaN NaN 20.0 200.0\n\n>>> df.dtypes\na int32\nb object\nc object\nd object\ne float64\nf float64\ndtype: object\n\nConvert the DataFrame to use best possible dtypes.\n\n>>> dfn = df.convert_dtypes()\n>>> dfn\n a b c d e f\n0 1 x True h 10 \n1 2 y False i 100.5\n2 3 z 20 200.0\n\n>>> dfn.dtypes\na Int32\nb string[python]\nc boolean\nd string[python]\ne Int64\nf Float64\ndtype: object\n\nStart with a Series of strings and missing data represented by ``np.nan``.\n\n>>> s = pd.Series([\"a\", \"b\", np.nan])\n>>> s\n0 a\n1 b\n2 NaN\ndtype: object\n\nObtain a Series with dtype ``StringDtype``.\n\n>>> s.convert_dtypes()\n0 a\n1 b\n2 \ndtype: string\n"}, "kind": 2, "label": "convert_dtypes", "sortText": " 30"}, {"detail": "bound method DataFrame.copy(deep: bool | None = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Make a copy of this object's indices and data.\n\nWhen ``deep=True`` (default), a new object will be created with a\ncopy of the calling object's data and indices. Modifications to\nthe data or indices of the copy will not be reflected in the\noriginal object (see notes below).\n\nWhen ``deep=False``, a new object will be created without copying\nthe calling object's data or index (only references to the data\nand index are copied). Any changes to the data of the original\nwill be reflected in the shallow copy (and vice versa).\n\n.. note::\n The ``deep=False`` behaviour as described above will change\n in pandas 3.0. `Copy-on-Write\n `__\n will be enabled by default, which means that the \"shallow\" copy\n is that is returned with ``deep=False`` will still avoid making\n an eager copy, but changes to the data of the original will *no*\n longer be reflected in the shallow copy (or vice versa). Instead,\n it makes use of a lazy (deferred) copy mechanism that will copy\n the data only when any changes to the original or shallow copy is\n made.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nParameters\n----------\ndeep : bool, default True\n Make a deep copy, including a copy of the data and the indices.\n With ``deep=False`` neither the indices nor the data are copied.\n\nReturns\n-------\nSeries or DataFrame\n Object type matches caller.\n\nNotes\n-----\nWhen ``deep=True``, data is copied but actual Python objects\nwill not be copied recursively, only the reference to the object.\nThis is in contrast to `copy.deepcopy` in the Standard Library,\nwhich recursively copies object data (see examples below).\n\nWhile ``Index`` objects are copied when ``deep=True``, the underlying\nnumpy array is not copied for performance reasons. Since ``Index`` is\nimmutable, the underlying data can be safely shared and a copy\nis not needed.\n\nSince pandas is not thread safe, see the\n:ref:`gotchas ` when copying in a threading\nenvironment.\n\nWhen ``copy_on_write`` in pandas config is set to ``True``, the\n``copy_on_write`` config takes effect even when ``deep=False``.\nThis means that any changes to the copied data would make a new copy\nof the data upon write (and vice versa). Changes made to either the\noriginal or copied variable would not be reflected in the counterpart.\nSee :ref:`Copy_on_Write ` for more information.\n\nExamples\n--------\n>>> s = pd.Series([1, 2], index=[\"a\", \"b\"])\n>>> s\na 1\nb 2\ndtype: int64\n\n>>> s_copy = s.copy()\n>>> s_copy\na 1\nb 2\ndtype: int64\n\n**Shallow copy versus default (deep) copy:**\n\n>>> s = pd.Series([1, 2], index=[\"a\", \"b\"])\n>>> deep = s.copy()\n>>> shallow = s.copy(deep=False)\n\nShallow copy shares data and index with original.\n\n>>> s is shallow\nFalse\n>>> s.values is shallow.values and s.index is shallow.index\nTrue\n\nDeep copy has own copy of data and index.\n\n>>> s is deep\nFalse\n>>> s.values is deep.values or s.index is deep.index\nFalse\n\nUpdates to the data shared by shallow copy and original is reflected\nin both (NOTE: this will no longer be true for pandas >= 3.0);\ndeep copy remains unchanged.\n\n>>> s.iloc[0] = 3\n>>> shallow.iloc[1] = 4\n>>> s\na 3\nb 4\ndtype: int64\n>>> shallow\na 3\nb 4\ndtype: int64\n>>> deep\na 1\nb 2\ndtype: int64\n\nNote that when copying an object containing Python objects, a deep copy\nwill copy the data, but will not do so recursively. Updating a nested\ndata object will be reflected in the deep copy.\n\n>>> s = pd.Series([[1, 2], [3, 4]])\n>>> deep = s.copy()\n>>> s[0][0] = 10\n>>> s\n0 [10, 2]\n1 [3, 4]\ndtype: object\n>>> deep\n0 [10, 2]\n1 [3, 4]\ndtype: object\n\n**Copy-on-Write is set to true**, the shallow copy is not modified\nwhen the original data is changed:\n\n>>> with pd.option_context(\"mode.copy_on_write\", True):\n... s = pd.Series([1, 2], index=[\"a\", \"b\"])\n... copy = s.copy(deep=False)\n... s.iloc[0] = 100\n... s\na 100\nb 2\ndtype: int64\n>>> copy\na 1\nb 2\ndtype: int64\n"}, "kind": 2, "label": "copy", "sortText": " 31"}, {"detail": "bound method DataFrame.corr(method: Literal[\"pearson\", \"kendall\", \"spearman\"] | ((ndarray[_AnyShape, dtype[Any]], ndarray[_AnyShape, dtype[Any]], /) -> float) = \"pearson\", min_periods: int = 1, numeric_only: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Compute pairwise correlation of columns, excluding NA/null values.\n\nParameters\n----------\nmethod : {'pearson', 'kendall', 'spearman'} or callable\n Method of correlation:\n\n * pearson : standard correlation coefficient\n * kendall : Kendall Tau correlation coefficient\n * spearman : Spearman rank correlation\n * callable: callable with input two 1d ndarrays\n and returning a float. Note that the returned matrix from corr\n will have 1 along the diagonals and will be symmetric\n regardless of the callable's behavior.\nmin_periods : int, optional\n Minimum number of observations required per pair of columns\n to have a valid result. Currently only available for Pearson\n and Spearman correlation.\nnumeric_only : bool, default False\n Include only `float`, `int` or `boolean` data.\n\n .. versionadded:: 1.5.0\n\n .. versionchanged:: 2.0.0\n The default value of ``numeric_only`` is now ``False``.\n\nReturns\n-------\nDataFrame\n Correlation matrix.\n\nSee Also\n--------\nDataFrame.corrwith : Compute pairwise correlation with another\n DataFrame or Series.\nSeries.corr : Compute the correlation between two Series.\n\nNotes\n-----\nPearson, Kendall and Spearman correlation are currently computed using pairwise complete observations.\n\n* `Pearson correlation coefficient `_\n* `Kendall rank correlation coefficient `_\n* `Spearman's rank correlation coefficient `_\n\nExamples\n--------\n>>> def histogram_intersection(a, b):\n... v = np.minimum(a, b).sum().round(decimals=1)\n... return v\n>>> df = pd.DataFrame([(.2, .3), (.0, .6), (.6, .0), (.2, .1)],\n... columns=['dogs', 'cats'])\n>>> df.corr(method=histogram_intersection)\n dogs cats\ndogs 1.0 0.3\ncats 0.3 1.0\n\n>>> df = pd.DataFrame([(1, 1), (2, np.nan), (np.nan, 3), (4, 4)],\n... columns=['dogs', 'cats'])\n>>> df.corr(min_periods=3)\n dogs cats\ndogs 1.0 NaN\ncats NaN 1.0\n"}, "kind": 2, "label": "corr", "sortText": " 32"}, {"detail": "bound method DataFrame.corrwith(other: DataFrame | Series, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, drop: bool = False, method: Literal[\"pearson\", \"kendall\", \"spearman\"] | ((ndarray[_AnyShape, dtype[Any]], ndarray[_AnyShape, dtype[Any]], /) -> float) = \"pearson\", numeric_only: bool = False) -> Series", "documentation": {"kind": "plaintext", "value": "Compute pairwise correlation.\n\nPairwise correlation is computed between rows or columns of\nDataFrame with rows or columns of Series or DataFrame. DataFrames\nare first aligned along both axes before computing the\ncorrelations.\n\nParameters\n----------\nother : DataFrame, Series\n Object with which to compute correlations.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to use. 0 or 'index' to compute row-wise, 1 or 'columns' for\n column-wise.\ndrop : bool, default False\n Drop missing indices from result.\nmethod : {'pearson', 'kendall', 'spearman'} or callable\n Method of correlation:\n\n * pearson : standard correlation coefficient\n * kendall : Kendall Tau correlation coefficient\n * spearman : Spearman rank correlation\n * callable: callable with input two 1d ndarrays\n and returning a float.\n\nnumeric_only : bool, default False\n Include only `float`, `int` or `boolean` data.\n\n .. versionadded:: 1.5.0\n\n .. versionchanged:: 2.0.0\n The default value of ``numeric_only`` is now ``False``.\n\nReturns\n-------\nSeries\n Pairwise correlations.\n\nSee Also\n--------\nDataFrame.corr : Compute pairwise correlation of columns.\n\nExamples\n--------\n>>> index = [\"a\", \"b\", \"c\", \"d\", \"e\"]\n>>> columns = [\"one\", \"two\", \"three\", \"four\"]\n>>> df1 = pd.DataFrame(np.arange(20).reshape(5, 4), index=index, columns=columns)\n>>> df2 = pd.DataFrame(np.arange(16).reshape(4, 4), index=index[:4], columns=columns)\n>>> df1.corrwith(df2)\none 1.0\ntwo 1.0\nthree 1.0\nfour 1.0\ndtype: float64\n\n>>> df2.corrwith(df1, axis=1)\na 1.0\nb 1.0\nc 1.0\nd 1.0\ne NaN\ndtype: float64\n"}, "kind": 2, "label": "corrwith", "sortText": " 33"}, {"detail": "bound method DataFrame.count(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, numeric_only: bool = False) -> Unknown", "documentation": {"kind": "plaintext", "value": "Count non-NA cells for each column or row.\n\nThe values `None`, `NaN`, `NaT`, ``pandas.NA`` are considered NA.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n If 0 or 'index' counts are generated for each column.\n If 1 or 'columns' counts are generated for each row.\nnumeric_only : bool, default False\n Include only `float`, `int` or `boolean` data.\n\nReturns\n-------\nSeries\n For each column/row the number of non-NA/null entries.\n\nSee Also\n--------\nSeries.count: Number of non-NA elements in a Series.\nDataFrame.value_counts: Count unique combinations of columns.\nDataFrame.shape: Number of DataFrame rows and columns (including NA\n elements).\nDataFrame.isna: Boolean same-sized DataFrame showing places of NA\n elements.\n\nExamples\n--------\nConstructing DataFrame from a dictionary:\n\n>>> df = pd.DataFrame({\"Person\":\n... [\"John\", \"Myla\", \"Lewis\", \"John\", \"Myla\"],\n... \"Age\": [24., np.nan, 21., 33, 26],\n... \"Single\": [False, True, True, True, False]})\n>>> df\n Person Age Single\n0 John 24.0 False\n1 Myla NaN True\n2 Lewis 21.0 True\n3 John 33.0 True\n4 Myla 26.0 False\n\nNotice the uncounted NA values:\n\n>>> df.count()\nPerson 5\nAge 4\nSingle 5\ndtype: int64\n\nCounts for each **row**:\n\n>>> df.count(axis='columns')\n0 3\n1 2\n2 3\n3 3\n4 3\ndtype: int64\n"}, "kind": 2, "label": "count", "sortText": " 34"}, {"detail": "bound method DataFrame.cov(min_periods: int | None = None, ddof: int | None = 1, numeric_only: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Compute pairwise covariance of columns, excluding NA/null values.\n\nCompute the pairwise covariance among the series of a DataFrame.\nThe returned data frame is the `covariance matrix\n`__ of the columns\nof the DataFrame.\n\nBoth NA and null values are automatically excluded from the\ncalculation. (See the note below about bias from missing values.)\nA threshold can be set for the minimum number of\nobservations for each value created. Comparisons with observations\nbelow this threshold will be returned as ``NaN``.\n\nThis method is generally used for the analysis of time series data to\nunderstand the relationship between different measures\nacross time.\n\nParameters\n----------\nmin_periods : int, optional\n Minimum number of observations required per pair of columns\n to have a valid result.\n\nddof : int, default 1\n Delta degrees of freedom. The divisor used in calculations\n is ``N - ddof``, where ``N`` represents the number of elements.\n This argument is applicable only when no ``nan`` is in the dataframe.\n\nnumeric_only : bool, default False\n Include only `float`, `int` or `boolean` data.\n\n .. versionadded:: 1.5.0\n\n .. versionchanged:: 2.0.0\n The default value of ``numeric_only`` is now ``False``.\n\nReturns\n-------\nDataFrame\n The covariance matrix of the series of the DataFrame.\n\nSee Also\n--------\nSeries.cov : Compute covariance with another Series.\ncore.window.ewm.ExponentialMovingWindow.cov : Exponential weighted sample\n covariance.\ncore.window.expanding.Expanding.cov : Expanding sample covariance.\ncore.window.rolling.Rolling.cov : Rolling sample covariance.\n\nNotes\n-----\nReturns the covariance matrix of the DataFrame's time series.\nThe covariance is normalized by N-ddof.\n\nFor DataFrames that have Series that are missing data (assuming that\ndata is `missing at random\n`__)\nthe returned covariance matrix will be an unbiased estimate\nof the variance and covariance between the member Series.\n\nHowever, for many applications this estimate may not be acceptable\nbecause the estimate covariance matrix is not guaranteed to be positive\nsemi-definite. This could lead to estimate correlations having\nabsolute values which are greater than one, and/or a non-invertible\ncovariance matrix. See `Estimation of covariance matrices\n`__ for more details.\n\nExamples\n--------\n>>> df = pd.DataFrame([(1, 2), (0, 3), (2, 0), (1, 1)],\n... columns=['dogs', 'cats'])\n>>> df.cov()\n dogs cats\ndogs 0.666667 -1.000000\ncats -1.000000 1.666667\n\n>>> np.random.seed(42)\n>>> df = pd.DataFrame(np.random.randn(1000, 5),\n... columns=['a', 'b', 'c', 'd', 'e'])\n>>> df.cov()\n a b c d e\na 0.998438 -0.020161 0.059277 -0.008943 0.014144\nb -0.020161 1.059352 -0.008543 -0.024738 0.009826\nc 0.059277 -0.008543 1.010670 -0.001486 -0.000271\nd -0.008943 -0.024738 -0.001486 0.921297 -0.013692\ne 0.014144 0.009826 -0.000271 -0.013692 0.977795\n\n**Minimum number of periods**\n\nThis method also supports an optional ``min_periods`` keyword\nthat specifies the required minimum number of non-NA observations for\neach column pair in order to have a valid result:\n\n>>> np.random.seed(42)\n>>> df = pd.DataFrame(np.random.randn(20, 3),\n... columns=['a', 'b', 'c'])\n>>> df.loc[df.index[:5], 'a'] = np.nan\n>>> df.loc[df.index[5:10], 'b'] = np.nan\n>>> df.cov(min_periods=12)\n a b c\na 0.316741 NaN -0.150812\nb NaN 1.248003 0.191417\nc -0.150812 0.191417 0.895202\n"}, "kind": 2, "label": "cov", "sortText": " 35"}, {"detail": "bound method DataFrame.cummax(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, skipna: bool = True, *args, **kwargs) -> Unknown", "kind": 2, "label": "cummax", "sortText": " 36"}, {"detail": "bound method DataFrame.cummin(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, skipna: bool = True, *args, **kwargs) -> Unknown", "kind": 2, "label": "cummin", "sortText": " 37"}, {"detail": "bound method DataFrame.cumprod(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, skipna: bool = True, *args, **kwargs) -> Unknown", "kind": 2, "label": "cumprod", "sortText": " 38"}, {"detail": "bound method DataFrame.cumsum(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, skipna: bool = True, *args, **kwargs) -> Unknown", "kind": 2, "label": "cumsum", "sortText": " 39"}, {"detail": "bound method DataFrame.describe(percentiles=None, include=None, exclude=None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Generate descriptive statistics.\n\nDescriptive statistics include those that summarize the central\ntendency, dispersion and shape of a\ndataset's distribution, excluding ``NaN`` values.\n\nAnalyzes both numeric and object series, as well\nas ``DataFrame`` column sets of mixed data types. The output\nwill vary depending on what is provided. Refer to the notes\nbelow for more detail.\n\nParameters\n----------\npercentiles : list-like of numbers, optional\n The percentiles to include in the output. All should\n fall between 0 and 1. The default is\n ``[.25, .5, .75]``, which returns the 25th, 50th, and\n 75th percentiles.\ninclude : 'all', list-like of dtypes or None (default), optional\n A white list of data types to include in the result. Ignored\n for ``Series``. Here are the options:\n\n - 'all' : All columns of the input will be included in the output.\n - A list-like of dtypes : Limits the results to the\n provided data types.\n To limit the result to numeric types submit\n ``numpy.number``. To limit it instead to object columns submit\n the ``numpy.object`` data type. Strings\n can also be used in the style of\n ``select_dtypes`` (e.g. ``df.describe(include=['O'])``). To\n select pandas categorical columns, use ``'category'``\n - None (default) : The result will include all numeric columns.\nexclude : list-like of dtypes or None (default), optional,\n A black list of data types to omit from the result. Ignored\n for ``Series``. Here are the options:\n\n - A list-like of dtypes : Excludes the provided data types\n from the result. To exclude numeric types submit\n ``numpy.number``. To exclude object columns submit the data\n type ``numpy.object``. Strings can also be used in the style of\n ``select_dtypes`` (e.g. ``df.describe(exclude=['O'])``). To\n exclude pandas categorical columns, use ``'category'``\n - None (default) : The result will exclude nothing.\n\nReturns\n-------\nSeries or DataFrame\n Summary statistics of the Series or Dataframe provided.\n\nSee Also\n--------\nDataFrame.count: Count number of non-NA/null observations.\nDataFrame.max: Maximum of the values in the object.\nDataFrame.min: Minimum of the values in the object.\nDataFrame.mean: Mean of the values.\nDataFrame.std: Standard deviation of the observations.\nDataFrame.select_dtypes: Subset of a DataFrame including/excluding\n columns based on their dtype.\n\nNotes\n-----\nFor numeric data, the result's index will include ``count``,\n``mean``, ``std``, ``min``, ``max`` as well as lower, ``50`` and\nupper percentiles. By default the lower percentile is ``25`` and the\nupper percentile is ``75``. The ``50`` percentile is the\nsame as the median.\n\nFor object data (e.g. strings or timestamps), the result's index\nwill include ``count``, ``unique``, ``top``, and ``freq``. The ``top``\nis the most common value. The ``freq`` is the most common value's\nfrequency. Timestamps also include the ``first`` and ``last`` items.\n\nIf multiple object values have the highest count, then the\n``count`` and ``top`` results will be arbitrarily chosen from\namong those with the highest count.\n\nFor mixed data types provided via a ``DataFrame``, the default is to\nreturn only an analysis of numeric columns. If the dataframe consists\nonly of object and categorical data without any numeric columns, the\ndefault is to return an analysis of both the object and categorical\ncolumns. If ``include='all'`` is provided as an option, the result\nwill include a union of attributes of each type.\n\nThe `include` and `exclude` parameters can be used to limit\nwhich columns in a ``DataFrame`` are analyzed for the output.\nThe parameters are ignored when analyzing a ``Series``.\n\nExamples\n--------\nDescribing a numeric ``Series``.\n\n>>> s = pd.Series([1, 2, 3])\n>>> s.describe()\ncount 3.0\nmean 2.0\nstd 1.0\nmin 1.0\n25% 1.5\n50% 2.0\n75% 2.5\nmax 3.0\ndtype: float64\n\nDescribing a categorical ``Series``.\n\n>>> s = pd.Series(['a', 'a', 'b', 'c'])\n>>> s.describe()\ncount 4\nunique 3\ntop a\nfreq 2\ndtype: object\n\nDescribing a timestamp ``Series``.\n\n>>> s = pd.Series([\n... np.datetime64(\"2000-01-01\"),\n... np.datetime64(\"2010-01-01\"),\n... np.datetime64(\"2010-01-01\")\n... ])\n>>> s.describe()\ncount 3\nmean 2006-09-01 08:00:00\nmin 2000-01-01 00:00:00\n25% 2004-12-31 12:00:00\n50% 2010-01-01 00:00:00\n75% 2010-01-01 00:00:00\nmax 2010-01-01 00:00:00\ndtype: object\n\nDescribing a ``DataFrame``. By default only numeric fields\nare returned.\n\n>>> df = pd.DataFrame({'categorical': pd.Categorical(['d', 'e', 'f']),\n... 'numeric': [1, 2, 3],\n... 'object': ['a', 'b', 'c']\n... })\n>>> df.describe()\n numeric\ncount 3.0\nmean 2.0\nstd 1.0\nmin 1.0\n25% 1.5\n50% 2.0\n75% 2.5\nmax 3.0\n\nDescribing all columns of a ``DataFrame`` regardless of data type.\n\n>>> df.describe(include='all') # doctest: +SKIP\n categorical numeric object\ncount 3 3.0 3\nunique 3 NaN 3\ntop f NaN a\nfreq 1 NaN 1\nmean NaN 2.0 NaN\nstd NaN 1.0 NaN\nmin NaN 1.0 NaN\n25% NaN 1.5 NaN\n50% NaN 2.0 NaN\n75% NaN 2.5 NaN\nmax NaN 3.0 NaN\n\nDescribing a column from a ``DataFrame`` by accessing it as\nan attribute.\n\n>>> df.numeric.describe()\ncount 3.0\nmean 2.0\nstd 1.0\nmin 1.0\n25% 1.5\n50% 2.0\n75% 2.5\nmax 3.0\nName: numeric, dtype: float64\n\nIncluding only numeric columns in a ``DataFrame`` description.\n\n>>> df.describe(include=[np.number])\n numeric\ncount 3.0\nmean 2.0\nstd 1.0\nmin 1.0\n25% 1.5\n50% 2.0\n75% 2.5\nmax 3.0\n\nIncluding only string columns in a ``DataFrame`` description.\n\n>>> df.describe(include=[object]) # doctest: +SKIP\n object\ncount 3\nunique 3\ntop a\nfreq 1\n\nIncluding only categorical columns from a ``DataFrame`` description.\n\n>>> df.describe(include=['category'])\n categorical\ncount 3\nunique 3\ntop d\nfreq 1\n\nExcluding numeric columns from a ``DataFrame`` description.\n\n>>> df.describe(exclude=[np.number]) # doctest: +SKIP\n categorical object\ncount 3 3\nunique 3 3\ntop f a\nfreq 1 1\n\nExcluding object columns from a ``DataFrame`` description.\n\n>>> df.describe(exclude=[object]) # doctest: +SKIP\n categorical numeric\ncount 3 3.0\nunique 3 NaN\ntop f NaN\nfreq 1 NaN\nmean NaN 2.0\nstd NaN 1.0\nmin NaN 1.0\n25% NaN 1.5\n50% NaN 2.0\n75% NaN 2.5\nmax NaN 3.0\n"}, "kind": 2, "label": "describe", "sortText": " 40"}, {"detail": "bound method DataFrame.diff(periods: int = 1, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> DataFrame", "kind": 2, "label": "diff", "sortText": " 41"}, {"detail": "(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "div", "sortText": " 42"}, {"detail": "(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "divide", "sortText": " 43"}, {"detail": "Overload[(other: Series) -> Series, (other: DataFrame | Index | ExtensionArray | ndarray[_AnyShape, dtype[Any]]) -> DataFrame]", "documentation": {"kind": "plaintext", "value": "Compute the matrix multiplication between the DataFrame and other.\n\nThis method computes the matrix product between the DataFrame and the\nvalues of an other Series, DataFrame or a numpy array.\n\nIt can also be called using ``self @ other``.\n\nParameters\n----------\nother : Series, DataFrame or array-like\n The other object to compute the matrix product with.\n\nReturns\n-------\nSeries or DataFrame\n If other is a Series, return the matrix product between self and\n other as a Series. If other is a DataFrame or a numpy.array, return\n the matrix product of self and other in a DataFrame of a np.array.\n\nSee Also\n--------\nSeries.dot: Similar method for Series.\n\nNotes\n-----\nThe dimensions of DataFrame and other must be compatible in order to\ncompute the matrix multiplication. In addition, the column names of\nDataFrame and the index of other must contain the same values, as they\nwill be aligned prior to the multiplication.\n\nThe dot method for Series computes the inner product, instead of the\nmatrix product here.\n\nExamples\n--------\nHere we multiply a DataFrame with a Series.\n\n>>> df = pd.DataFrame([[0, 1, -2, -1], [1, 1, 1, 1]])\n>>> s = pd.Series([1, 1, 2, 1])\n>>> df.dot(s)\n0 -4\n1 5\ndtype: int64\n\nHere we multiply a DataFrame with another DataFrame.\n\n>>> other = pd.DataFrame([[0, 1], [1, 2], [-1, -1], [2, 0]])\n>>> df.dot(other)\n 0 1\n0 1 4\n1 2 2\n\nNote that the dot method give the same result as @\n\n>>> df @ other\n 0 1\n0 1 4\n1 2 2\n\nThe dot method works also if other is an np.array.\n\n>>> arr = np.array([[0, 1], [1, 2], [-1, -1], [2, 0]])\n>>> df.dot(arr)\n 0 1\n0 1 4\n1 2 2\n\nNote how shuffling of the objects does not change the result.\n\n>>> s2 = s.reindex([1, 0, 2, 3])\n>>> df.dot(s2)\n0 -4\n1 5\ndtype: int64\n"}, "kind": 2, "label": "dot", "sortText": " 44"}, {"detail": "Overload[(labels: Hashable | Sequence[Hashable] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., index: Hashable | Sequence[Hashable] = ..., columns: Hashable | Sequence[Hashable] = ..., level: Hashable = ..., inplace: Literal[True], errors: Literal[\"ignore\", \"raise\"] = ...) -> None, (labels: Hashable | Sequence[Hashable] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., index: Hashable | Sequence[Hashable] = ..., columns: Hashable | Sequence[Hashable] = ..., level: Hashable = ..., inplace: Literal[False] = ..., errors: Literal[\"ignore\", \"raise\"] = ...) -> DataFrame, (labels: Hashable | Sequence[Hashable] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., index: Hashable | Sequence[Hashable] = ..., columns: Hashable | Sequence[Hashable] = ..., level: Hashable = ..., inplace: bool = ..., errors: Literal[\"ignore\", \"raise\"] = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Drop specified labels from rows or columns.\n\nRemove rows or columns by specifying label names and corresponding\naxis, or by directly specifying index or column names. When using a\nmulti-index, labels on different levels can be removed by specifying\nthe level. See the :ref:`user guide `\nfor more information about the now unused levels.\n\nParameters\n----------\nlabels : single label or list-like\n Index or column labels to drop. A tuple will be used as a single\n label and not treated as a list-like.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Whether to drop labels from the index (0 or 'index') or\n columns (1 or 'columns').\nindex : single label or list-like\n Alternative to specifying axis (``labels, axis=0``\n is equivalent to ``index=labels``).\ncolumns : single label or list-like\n Alternative to specifying axis (``labels, axis=1``\n is equivalent to ``columns=labels``).\nlevel : int or level name, optional\n For MultiIndex, level from which the labels will be removed.\ninplace : bool, default False\n If False, return a copy. Otherwise, do operation\n in place and return None.\nerrors : {'ignore', 'raise'}, default 'raise'\n If 'ignore', suppress error and only existing labels are\n dropped.\n\nReturns\n-------\nDataFrame or None\n Returns DataFrame or None DataFrame with the specified\n index or column labels removed or None if inplace=True.\n\nRaises\n------\nKeyError\n If any of the labels is not found in the selected axis.\n\nSee Also\n--------\nDataFrame.loc : Label-location based indexer for selection by label.\nDataFrame.dropna : Return DataFrame with labels on given axis omitted\n where (all or any) data are missing.\nDataFrame.drop_duplicates : Return DataFrame with duplicate rows\n removed, optionally only considering certain columns.\nSeries.drop : Return Series with specified index labels removed.\n\nExamples\n--------\n>>> df = pd.DataFrame(np.arange(12).reshape(3, 4),\n... columns=['A', 'B', 'C', 'D'])\n>>> df\n A B C D\n0 0 1 2 3\n1 4 5 6 7\n2 8 9 10 11\n\nDrop columns\n\n>>> df.drop(['B', 'C'], axis=1)\n A D\n0 0 3\n1 4 7\n2 8 11\n\n>>> df.drop(columns=['B', 'C'])\n A D\n0 0 3\n1 4 7\n2 8 11\n\nDrop a row by index\n\n>>> df.drop([0, 1])\n A B C D\n2 8 9 10 11\n\nDrop columns and/or rows of MultiIndex DataFrame\n\n>>> midx = pd.MultiIndex(levels=[['llama', 'cow', 'falcon'],\n... ['speed', 'weight', 'length']],\n... codes=[[0, 0, 0, 1, 1, 1, 2, 2, 2],\n... [0, 1, 2, 0, 1, 2, 0, 1, 2]])\n>>> df = pd.DataFrame(index=midx, columns=['big', 'small'],\n... data=[[45, 30], [200, 100], [1.5, 1], [30, 20],\n... [250, 150], [1.5, 0.8], [320, 250],\n... [1, 0.8], [0.3, 0.2]])\n>>> df\n big small\nllama speed 45.0 30.0\n weight 200.0 100.0\n length 1.5 1.0\ncow speed 30.0 20.0\n weight 250.0 150.0\n length 1.5 0.8\nfalcon speed 320.0 250.0\n weight 1.0 0.8\n length 0.3 0.2\n\nDrop a specific index combination from the MultiIndex\nDataFrame, i.e., drop the combination ``'falcon'`` and\n``'weight'``, which deletes only the corresponding row\n\n>>> df.drop(index=('falcon', 'weight'))\n big small\nllama speed 45.0 30.0\n weight 200.0 100.0\n length 1.5 1.0\ncow speed 30.0 20.0\n weight 250.0 150.0\n length 1.5 0.8\nfalcon speed 320.0 250.0\n length 0.3 0.2\n\n>>> df.drop(index='cow', columns='small')\n big\nllama speed 45.0\n weight 200.0\n length 1.5\nfalcon speed 320.0\n weight 1.0\n length 0.3\n\n>>> df.drop(index='length', level=1)\n big small\nllama speed 45.0 30.0\n weight 200.0 100.0\ncow speed 30.0 20.0\n weight 250.0 150.0\nfalcon speed 320.0 250.0\n weight 1.0 0.8\n"}, "kind": 2, "label": "drop", "sortText": " 45"}, {"detail": "Overload[(subset: Hashable | Sequence[Hashable] = ..., *, keep: Literal[\"first\", \"last\", False] = ..., inplace: Literal[True], ignore_index: bool = ...) -> None, (subset: Hashable | Sequence[Hashable] = ..., *, keep: Literal[\"first\", \"last\", False] = ..., inplace: Literal[False] = ..., ignore_index: bool = ...) -> DataFrame, (subset: Hashable | Sequence[Hashable] = ..., *, keep: Literal[\"first\", \"last\", False] = ..., inplace: bool = ..., ignore_index: bool = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Return DataFrame with duplicate rows removed.\n\nConsidering certain columns is optional. Indexes, including time indexes\nare ignored.\n\nParameters\n----------\nsubset : column label or sequence of labels, optional\n Only consider certain columns for identifying duplicates, by\n default use all of the columns.\nkeep : {'first', 'last', ``False``}, default 'first'\n Determines which duplicates (if any) to keep.\n\n - 'first' : Drop duplicates except for the first occurrence.\n - 'last' : Drop duplicates except for the last occurrence.\n - ``False`` : Drop all duplicates.\n\ninplace : bool, default ``False``\n Whether to modify the DataFrame rather than creating a new one.\nignore_index : bool, default ``False``\n If ``True``, the resulting axis will be labeled 0, 1, \u2026, n - 1.\n\nReturns\n-------\nDataFrame or None\n DataFrame with duplicates removed or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.value_counts: Count unique combinations of columns.\n\nExamples\n--------\nConsider dataset containing ramen rating.\n\n>>> df = pd.DataFrame({\n... 'brand': ['Yum Yum', 'Yum Yum', 'Indomie', 'Indomie', 'Indomie'],\n... 'style': ['cup', 'cup', 'cup', 'pack', 'pack'],\n... 'rating': [4, 4, 3.5, 15, 5]\n... })\n>>> df\n brand style rating\n0 Yum Yum cup 4.0\n1 Yum Yum cup 4.0\n2 Indomie cup 3.5\n3 Indomie pack 15.0\n4 Indomie pack 5.0\n\nBy default, it removes duplicate rows based on all columns.\n\n>>> df.drop_duplicates()\n brand style rating\n0 Yum Yum cup 4.0\n2 Indomie cup 3.5\n3 Indomie pack 15.0\n4 Indomie pack 5.0\n\nTo remove duplicates on specific column(s), use ``subset``.\n\n>>> df.drop_duplicates(subset=['brand'])\n brand style rating\n0 Yum Yum cup 4.0\n2 Indomie cup 3.5\n\nTo remove duplicates and keep last occurrences, use ``keep``.\n\n>>> df.drop_duplicates(subset=['brand', 'style'], keep='last')\n brand style rating\n1 Yum Yum cup 4.0\n2 Indomie cup 3.5\n4 Indomie pack 5.0\n"}, "kind": 2, "label": "drop_duplicates", "sortText": " 46"}, {"detail": "bound method DataFrame.droplevel(level: Hashable | Sequence[Hashable], axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return {klass} with requested index / column level(s) removed.\n\nParameters\n----------\nlevel : int, str, or list-like\n If a string is given, must be the name of a level\n If list-like, elements must be names or positional indexes\n of levels.\n\naxis : {{0 or 'index', 1 or 'columns'}}, default 0\n Axis along which the level(s) is removed:\n\n * 0 or 'index': remove level(s) in column.\n * 1 or 'columns': remove level(s) in row.\n\n For `Series` this parameter is unused and defaults to 0.\n\nReturns\n-------\n{klass}\n {klass} with requested index / column level(s) removed.\n\nExamples\n--------\n>>> df = pd.DataFrame([\n... [1, 2, 3, 4],\n... [5, 6, 7, 8],\n... [9, 10, 11, 12]\n... ]).set_index([0, 1]).rename_axis(['a', 'b'])\n\n>>> df.columns = pd.MultiIndex.from_tuples([\n... ('c', 'e'), ('d', 'f')\n... ], names=['level_1', 'level_2'])\n\n>>> df\nlevel_1 c d\nlevel_2 e f\na b\n1 2 3 4\n5 6 7 8\n9 10 11 12\n\n>>> df.droplevel('a')\nlevel_1 c d\nlevel_2 e f\nb\n2 3 4\n6 7 8\n10 11 12\n\n>>> df.droplevel('level_2', axis=1)\nlevel_1 c d\na b\n1 2 3 4\n5 6 7 8\n9 10 11 12\n"}, "kind": 2, "label": "droplevel", "sortText": " 47"}, {"detail": "Overload[(*, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., how: Literal[\"any\", \"all\"] | _NoDefault = ..., thresh: int | _NoDefault = ..., subset: Hashable | Sequence[Hashable] = ..., inplace: Literal[False] = ..., ignore_index: bool = ...) -> DataFrame, (*, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., how: Literal[\"any\", \"all\"] | _NoDefault = ..., thresh: int | _NoDefault = ..., subset: Hashable | Sequence[Hashable] = ..., inplace: Literal[True], ignore_index: bool = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Remove missing values.\n\nSee the :ref:`User Guide ` for more on which values are\nconsidered missing, and how to work with missing data.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Determine if rows or columns which contain missing values are\n removed.\n\n * 0, or 'index' : Drop rows which contain missing values.\n * 1, or 'columns' : Drop columns which contain missing value.\n\n Only a single axis is allowed.\n\nhow : {'any', 'all'}, default 'any'\n Determine if row or column is removed from DataFrame, when we have\n at least one NA or all NA.\n\n * 'any' : If any NA values are present, drop that row or column.\n * 'all' : If all values are NA, drop that row or column.\n\nthresh : int, optional\n Require that many non-NA values. Cannot be combined with how.\nsubset : column label or sequence of labels, optional\n Labels along other axis to consider, e.g. if you are dropping rows\n these would be a list of columns to include.\ninplace : bool, default False\n Whether to modify the DataFrame rather than creating a new one.\nignore_index : bool, default ``False``\n If ``True``, the resulting axis will be labeled 0, 1, \u2026, n - 1.\n\n .. versionadded:: 2.0.0\n\nReturns\n-------\nDataFrame or None\n DataFrame with NA entries dropped from it or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.isna: Indicate missing values.\nDataFrame.notna : Indicate existing (non-missing) values.\nDataFrame.fillna : Replace missing values.\nSeries.dropna : Drop missing values.\nIndex.dropna : Drop missing indices.\n\nExamples\n--------\n>>> df = pd.DataFrame({\"name\": ['Alfred', 'Batman', 'Catwoman'],\n... \"toy\": [np.nan, 'Batmobile', 'Bullwhip'],\n... \"born\": [pd.NaT, pd.Timestamp(\"1940-04-25\"),\n... pd.NaT]})\n>>> df\n name toy born\n0 Alfred NaN NaT\n1 Batman Batmobile 1940-04-25\n2 Catwoman Bullwhip NaT\n\nDrop the rows where at least one element is missing.\n\n>>> df.dropna()\n name toy born\n1 Batman Batmobile 1940-04-25\n\nDrop the columns where at least one element is missing.\n\n>>> df.dropna(axis='columns')\n name\n0 Alfred\n1 Batman\n2 Catwoman\n\nDrop the rows where all elements are missing.\n\n>>> df.dropna(how='all')\n name toy born\n0 Alfred NaN NaT\n1 Batman Batmobile 1940-04-25\n2 Catwoman Bullwhip NaT\n\nKeep only the rows with at least 2 non-NA values.\n\n>>> df.dropna(thresh=2)\n name toy born\n1 Batman Batmobile 1940-04-25\n2 Catwoman Bullwhip NaT\n\nDefine in which columns to look for missing values.\n\n>>> df.dropna(subset=['name', 'toy'])\n name toy born\n1 Batman Batmobile 1940-04-25\n2 Catwoman Bullwhip NaT\n"}, "kind": 2, "label": "dropna", "sortText": " 48"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "dtype", "sortText": " 49"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "dtypes", "sortText": " 50"}, {"detail": "bound method DataFrame.duplicated(subset: Hashable | Sequence[Hashable] = None, keep: Literal[\"first\", \"last\", False] = \"first\") -> Series", "documentation": {"kind": "plaintext", "value": "Return boolean Series denoting duplicate rows.\n\nConsidering certain columns is optional.\n\nParameters\n----------\nsubset : column label or sequence of labels, optional\n Only consider certain columns for identifying duplicates, by\n default use all of the columns.\nkeep : {'first', 'last', False}, default 'first'\n Determines which duplicates (if any) to mark.\n\n - ``first`` : Mark duplicates as ``True`` except for the first occurrence.\n - ``last`` : Mark duplicates as ``True`` except for the last occurrence.\n - False : Mark all duplicates as ``True``.\n\nReturns\n-------\nSeries\n Boolean series for each duplicated rows.\n\nSee Also\n--------\nIndex.duplicated : Equivalent method on index.\nSeries.duplicated : Equivalent method on Series.\nSeries.drop_duplicates : Remove duplicate values from Series.\nDataFrame.drop_duplicates : Remove duplicate values from DataFrame.\n\nExamples\n--------\nConsider dataset containing ramen rating.\n\n>>> df = pd.DataFrame({\n... 'brand': ['Yum Yum', 'Yum Yum', 'Indomie', 'Indomie', 'Indomie'],\n... 'style': ['cup', 'cup', 'cup', 'pack', 'pack'],\n... 'rating': [4, 4, 3.5, 15, 5]\n... })\n>>> df\n brand style rating\n0 Yum Yum cup 4.0\n1 Yum Yum cup 4.0\n2 Indomie cup 3.5\n3 Indomie pack 15.0\n4 Indomie pack 5.0\n\nBy default, for each set of duplicated values, the first occurrence\nis set on False and all others on True.\n\n>>> df.duplicated()\n0 False\n1 True\n2 False\n3 False\n4 False\ndtype: bool\n\nBy using 'last', the last occurrence of each set of duplicated values\nis set on False and all others on True.\n\n>>> df.duplicated(keep='last')\n0 True\n1 False\n2 False\n3 False\n4 False\ndtype: bool\n\nBy setting ``keep`` on False, all duplicates are True.\n\n>>> df.duplicated(keep=False)\n0 True\n1 True\n2 False\n3 False\n4 False\ndtype: bool\n\nTo find duplicates on specific column(s), use ``subset``.\n\n>>> df.duplicated(subset=['brand'])\n0 False\n1 True\n2 False\n3 True\n4 True\ndtype: bool\n"}, "kind": 2, "label": "duplicated", "sortText": " 51"}, {"detail": "bool", "documentation": {"kind": "plaintext", "value": "Returns True when the argument is true, False otherwise.\nThe builtins True and False are the only two instances of the class bool.\nThe class bool is a subclass of the class int, and cannot be subclassed.\n"}, "kind": 22, "label": "empty", "sortText": " 52"}, {"detail": "bound method DataFrame.eq(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "eq", "sortText": " 53"}, {"detail": "bound method DataFrame.equals(other: object) -> bool", "documentation": {"kind": "plaintext", "value": "Test whether two objects contain the same elements.\n\nThis function allows two Series or DataFrames to be compared against\neach other to see if they have the same shape and elements. NaNs in\nthe same location are considered equal.\n\nThe row/column index do not need to have the same type, as long\nas the values are considered equal. Corresponding columns and\nindex must be of the same dtype.\n\nParameters\n----------\nother : Series or DataFrame\n The other Series or DataFrame to be compared with the first.\n\nReturns\n-------\nbool\n True if all elements are the same in both objects, False\n otherwise.\n\nSee Also\n--------\nSeries.eq : Compare two Series objects of the same length\n and return a Series where each element is True if the element\n in each Series is equal, False otherwise.\nDataFrame.eq : Compare two DataFrame objects of the same shape and\n return a DataFrame where each element is True if the respective\n element in each DataFrame is equal, False otherwise.\ntesting.assert_series_equal : Raises an AssertionError if left and\n right are not equal. Provides an easy interface to ignore\n inequality in dtypes, indexes and precision among others.\ntesting.assert_frame_equal : Like assert_series_equal, but targets\n DataFrames.\nnumpy.array_equal : Return True if two arrays have the same shape\n and elements, False otherwise.\n\nExamples\n--------\n>>> df = pd.DataFrame({1: [10], 2: [20]})\n>>> df\n 1 2\n0 10 20\n\nDataFrames df and exactly_equal have the same types and values for\ntheir elements and column labels, which will return True.\n\n>>> exactly_equal = pd.DataFrame({1: [10], 2: [20]})\n>>> exactly_equal\n 1 2\n0 10 20\n>>> df.equals(exactly_equal)\nTrue\n\nDataFrames df and different_column_type have the same element\ntypes and values, but have different types for the column labels,\nwhich will still return True.\n\n>>> different_column_type = pd.DataFrame({1.0: [10], 2.0: [20]})\n>>> different_column_type\n 1.0 2.0\n0 10 20\n>>> df.equals(different_column_type)\nTrue\n\nDataFrames df and different_data_type have different types for the\nsame values for their elements, and will return False even though\ntheir column labels are the same values and types.\n\n>>> different_data_type = pd.DataFrame({1: [10.0], 2: [20.0]})\n>>> different_data_type\n 1 2\n0 10.0 20.0\n>>> df.equals(different_data_type)\nFalse\n"}, "kind": 2, "label": "equals", "sortText": " 54"}, {"detail": "Overload[(expr: str, *, inplace: Literal[False] = ..., **kwargs) -> Any, (expr: str, *, inplace: Literal[True], **kwargs) -> None]", "documentation": {"kind": "plaintext", "value": "Evaluate a string describing operations on DataFrame columns.\n\nOperates on columns only, not specific rows or elements. This allows\n`eval` to run arbitrary code, which can make you vulnerable to code\ninjection if you pass user input to this function.\n\nParameters\n----------\nexpr : str\n The expression string to evaluate.\ninplace : bool, default False\n If the expression contains an assignment, whether to perform the\n operation inplace and mutate the existing DataFrame. Otherwise,\n a new DataFrame is returned.\n**kwargs\n See the documentation for :func:`eval` for complete details\n on the keyword arguments accepted by\n :meth:`~pandas.DataFrame.query`.\n\nReturns\n-------\nndarray, scalar, pandas object, or None\n The result of the evaluation or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.query : Evaluates a boolean expression to query the columns\n of a frame.\nDataFrame.assign : Can evaluate an expression or function to create new\n values for a column.\neval : Evaluate a Python expression as a string using various\n backends.\n\nNotes\n-----\nFor more details see the API documentation for :func:`~eval`.\nFor detailed examples see :ref:`enhancing performance with eval\n`.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': range(1, 6), 'B': range(10, 0, -2)})\n>>> df\n A B\n0 1 10\n1 2 8\n2 3 6\n3 4 4\n4 5 2\n>>> df.eval('A + B')\n0 11\n1 10\n2 9\n3 8\n4 7\ndtype: int64\n\nAssignment is allowed though by default the original DataFrame is not\nmodified.\n\n>>> df.eval('C = A + B')\n A B C\n0 1 10 11\n1 2 8 10\n2 3 6 9\n3 4 4 8\n4 5 2 7\n>>> df\n A B\n0 1 10\n1 2 8\n2 3 6\n3 4 4\n4 5 2\n\nMultiple columns can be assigned to using multi-line expressions:\n\n>>> df.eval(\n... '''\n... C = A + B\n... D = A - B\n... '''\n... )\n A B C D\n0 1 10 11 -9\n1 2 8 10 -6\n2 3 6 9 -3\n3 4 4 8 0\n4 5 2 7 3\n"}, "kind": 2, "label": "eval", "sortText": " 55"}, {"detail": "bound method DataFrame.ewm(com: float | None = None, span: float | None = None, halflife: float | timedelta | timedelta64[Any] | ... omitted 3 union elements = None, alpha: float | None = None, min_periods: int | None = 0, adjust: bool = True, ignore_na: bool = False, axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., times: ndarray[_AnyShape, dtype[Any]] | DataFrame | Series | None = None, method: Literal[\"single\", \"table\"] = \"single\") -> ExponentialMovingWindow", "kind": 2, "label": "ewm", "sortText": " 56"}, {"detail": "bound method DataFrame.expanding(min_periods: int = 1, axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., method: Literal[\"single\", \"table\"] = \"single\") -> Expanding", "kind": 2, "label": "expanding", "sortText": " 57"}, {"detail": "bound method DataFrame.explode(column: Hashable | Sequence[Hashable], ignore_index: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Transform each element of a list-like to a row, replicating index values.\n\nParameters\n----------\ncolumn : IndexLabel\n Column(s) to explode.\n For multiple columns, specify a non-empty list with each element\n be str or tuple, and all specified columns their list-like data\n on same row of the frame must have matching length.\n\n .. versionadded:: 1.3.0\n Multi-column explode\n\nignore_index : bool, default False\n If True, the resulting index will be labeled 0, 1, \u2026, n - 1.\n\nReturns\n-------\nDataFrame\n Exploded lists to rows of the subset columns;\n index will be duplicated for these rows.\n\nRaises\n------\nValueError :\n * If columns of the frame are not unique.\n * If specified columns to explode is empty list.\n * If specified columns to explode have not matching count of\n elements rowwise in the frame.\n\nSee Also\n--------\nDataFrame.unstack : Pivot a level of the (necessarily hierarchical)\n index labels.\nDataFrame.melt : Unpivot a DataFrame from wide format to long format.\nSeries.explode : Explode a DataFrame from list-like columns to long format.\n\nNotes\n-----\nThis routine will explode list-likes including lists, tuples, sets,\nSeries, and np.ndarray. The result dtype of the subset rows will\nbe object. Scalars will be returned unchanged, and empty list-likes will\nresult in a np.nan for that row. In addition, the ordering of rows in the\noutput will be non-deterministic when exploding sets.\n\nReference :ref:`the user guide ` for more examples.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [[0, 1, 2], 'foo', [], [3, 4]],\n... 'B': 1,\n... 'C': [['a', 'b', 'c'], np.nan, [], ['d', 'e']]})\n>>> df\n A B C\n0 [0, 1, 2] 1 [a, b, c]\n1 foo 1 NaN\n2 [] 1 []\n3 [3, 4] 1 [d, e]\n\nSingle-column explode.\n\n>>> df.explode('A')\n A B C\n0 0 1 [a, b, c]\n0 1 1 [a, b, c]\n0 2 1 [a, b, c]\n1 foo 1 NaN\n2 NaN 1 []\n3 3 1 [d, e]\n3 4 1 [d, e]\n\nMulti-column explode.\n\n>>> df.explode(list('AC'))\n A B C\n0 0 1 a\n0 1 1 b\n0 2 1 c\n1 foo 1 NaN\n2 NaN 1 NaN\n3 3 1 d\n3 4 1 e\n"}, "kind": 2, "label": "explode", "sortText": " 58"}, {"detail": "Overload[(*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: Literal[False] = ..., limit: None | int = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame, (*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: Literal[True], limit: None | int = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> None, (*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: bool = ..., limit: None | int = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Fill NA/NaN values by propagating the last valid observation to next valid.\n\nParameters\n----------\naxis : {axes_single_arg}\n Axis along which to fill missing values. For `Series`\n this parameter is unused and defaults to 0.\ninplace : bool, default False\n If True, fill in-place. Note: this will modify any\n other views on this object (e.g., a no-copy slice for a column in a\n DataFrame).\nlimit : int, default None\n If method is specified, this is the maximum number of consecutive\n NaN values to forward/backward fill. In other words, if there is\n a gap with more than this number of consecutive NaNs, it will only\n be partially filled. If method is not specified, this is the\n maximum number of entries along the entire axis where NaNs will be\n filled. Must be greater than 0 if not None.\nlimit_area : {{`None`, 'inside', 'outside'}}, default None\n If limit is specified, consecutive NaNs will be filled with this\n restriction.\n\n * ``None``: No fill restriction.\n * 'inside': Only fill NaNs surrounded by valid values\n (interpolate).\n * 'outside': Only fill NaNs outside valid values (extrapolate).\n\n .. versionadded:: 2.2.0\n\ndowncast : dict, default is None\n A dict of item->dtype of what to downcast if possible,\n or the string 'infer' which will try to downcast to an appropriate\n equal type (e.g. float64 to int64 if possible).\n\n .. deprecated:: 2.2.0\n\nReturns\n-------\n{klass} or None\n Object with missing values filled or None if ``inplace=True``.\n\nExamples\n--------\n>>> df = pd.DataFrame([[np.nan, 2, np.nan, 0],\n... [3, 4, np.nan, 1],\n... [np.nan, np.nan, np.nan, np.nan],\n... [np.nan, 3, np.nan, 4]],\n... columns=list(\"ABCD\"))\n>>> df\n A B C D\n0 NaN 2.0 NaN 0.0\n1 3.0 4.0 NaN 1.0\n2 NaN NaN NaN NaN\n3 NaN 3.0 NaN 4.0\n\n>>> df.ffill()\n A B C D\n0 NaN 2.0 NaN 0.0\n1 3.0 4.0 NaN 1.0\n2 3.0 4.0 NaN 1.0\n3 3.0 3.0 NaN 4.0\n\n>>> ser = pd.Series([1, np.nan, 2, 3])\n>>> ser.ffill()\n0 1.0\n1 1.0\n2 2.0\n3 3.0\ndtype: float64\n"}, "kind": 2, "label": "ffill", "sortText": " 59"}, {"detail": "Overload[(value: Hashable | Mapping[Unknown, Unknown] | Series | DataFrame = ..., *, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: Literal[False] = ..., limit: int | None = ..., downcast: dict[Unknown, Unknown] | None = ...) -> DataFrame, (value: Hashable | Mapping[Unknown, Unknown] | Series | DataFrame = ..., *, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: Literal[True], limit: int | None = ..., downcast: dict[Unknown, Unknown] | None = ...) -> None, (value: Hashable | Mapping[Unknown, Unknown] | Series | DataFrame = ..., *, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: bool = ..., limit: int | None = ..., downcast: dict[Unknown, Unknown] | None = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Fill NA/NaN values using the specified method.\n\nParameters\n----------\nvalue : scalar, dict, Series, or DataFrame\n Value to use to fill holes (e.g. 0), alternately a\n dict/Series/DataFrame of values specifying which value to use for\n each index (for a Series) or column (for a DataFrame). Values not\n in the dict/Series/DataFrame will not be filled. This value cannot\n be a list.\nmethod : {{'backfill', 'bfill', 'ffill', None}}, default None\n Method to use for filling holes in reindexed Series:\n\n * ffill: propagate last valid observation forward to next valid.\n * backfill / bfill: use next valid observation to fill gap.\n\n .. deprecated:: 2.1.0\n Use ffill or bfill instead.\n\naxis : {axes_single_arg}\n Axis along which to fill missing values. For `Series`\n this parameter is unused and defaults to 0.\ninplace : bool, default False\n If True, fill in-place. Note: this will modify any\n other views on this object (e.g., a no-copy slice for a column in a\n DataFrame).\nlimit : int, default None\n If method is specified, this is the maximum number of consecutive\n NaN values to forward/backward fill. In other words, if there is\n a gap with more than this number of consecutive NaNs, it will only\n be partially filled. If method is not specified, this is the\n maximum number of entries along the entire axis where NaNs will be\n filled. Must be greater than 0 if not None.\ndowncast : dict, default is None\n A dict of item->dtype of what to downcast if possible,\n or the string 'infer' which will try to downcast to an appropriate\n equal type (e.g. float64 to int64 if possible).\n\n .. deprecated:: 2.2.0\n\nReturns\n-------\n{klass} or None\n Object with missing values filled or None if ``inplace=True``.\n\nSee Also\n--------\nffill : Fill values by propagating the last valid observation to next valid.\nbfill : Fill values by using the next valid observation to fill the gap.\ninterpolate : Fill NaN values using interpolation.\nreindex : Conform object to new index.\nasfreq : Convert TimeSeries to specified frequency.\n\nExamples\n--------\n>>> df = pd.DataFrame([[np.nan, 2, np.nan, 0],\n... [3, 4, np.nan, 1],\n... [np.nan, np.nan, np.nan, np.nan],\n... [np.nan, 3, np.nan, 4]],\n... columns=list(\"ABCD\"))\n>>> df\n A B C D\n0 NaN 2.0 NaN 0.0\n1 3.0 4.0 NaN 1.0\n2 NaN NaN NaN NaN\n3 NaN 3.0 NaN 4.0\n\nReplace all NaN elements with 0s.\n\n>>> df.fillna(0)\n A B C D\n0 0.0 2.0 0.0 0.0\n1 3.0 4.0 0.0 1.0\n2 0.0 0.0 0.0 0.0\n3 0.0 3.0 0.0 4.0\n\nReplace all NaN elements in column 'A', 'B', 'C', and 'D', with 0, 1,\n2, and 3 respectively.\n\n>>> values = {{\"A\": 0, \"B\": 1, \"C\": 2, \"D\": 3}}\n>>> df.fillna(value=values)\n A B C D\n0 0.0 2.0 2.0 0.0\n1 3.0 4.0 2.0 1.0\n2 0.0 1.0 2.0 3.0\n3 0.0 3.0 2.0 4.0\n\nOnly replace the first NaN element.\n\n>>> df.fillna(value=values, limit=1)\n A B C D\n0 0.0 2.0 2.0 0.0\n1 3.0 4.0 NaN 1.0\n2 NaN 1.0 NaN 3.0\n3 NaN 3.0 NaN 4.0\n\nWhen filling using a DataFrame, replacement happens along\nthe same column names and same indices\n\n>>> df2 = pd.DataFrame(np.zeros((4, 4)), columns=list(\"ABCE\"))\n>>> df.fillna(df2)\n A B C D\n0 0.0 2.0 0.0 0.0\n1 3.0 4.0 0.0 1.0\n2 0.0 0.0 0.0 NaN\n3 0.0 3.0 0.0 4.0\n\nNote that column D is not affected since it is not present in df2.\n"}, "kind": 2, "label": "fillna", "sortText": " 60"}, {"detail": "bound method DataFrame.filter(items=None, like: str | None = None, regex: str | None = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Subset the dataframe rows or columns according to the specified index labels.\n\nNote that this routine does not filter a dataframe on its\ncontents. The filter is applied to the labels of the index.\n\nParameters\n----------\nitems : list-like\n Keep labels from axis which are in items.\nlike : str\n Keep labels from axis for which \"like in label == True\".\nregex : str (regular expression)\n Keep labels from axis for which re.search(regex, label) == True.\naxis : {0 or 'index', 1 or 'columns', None}, default None\n The axis to filter on, expressed either as an index (int)\n or axis name (str). By default this is the info axis, 'columns' for\n DataFrame. For `Series` this parameter is unused and defaults to `None`.\n\nReturns\n-------\nsame type as input object\n\nSee Also\n--------\nDataFrame.loc : Access a group of rows and columns\n by label(s) or a boolean array.\n\nNotes\n-----\nThe ``items``, ``like``, and ``regex`` parameters are\nenforced to be mutually exclusive.\n\n``axis`` defaults to the info axis that is used when indexing\nwith ``[]``.\n\nExamples\n--------\n>>> df = pd.DataFrame(np.array(([1, 2, 3], [4, 5, 6])),\n... index=['mouse', 'rabbit'],\n... columns=['one', 'two', 'three'])\n>>> df\n one two three\nmouse 1 2 3\nrabbit 4 5 6\n\n>>> # select columns by name\n>>> df.filter(items=['one', 'three'])\n one three\nmouse 1 3\nrabbit 4 6\n\n>>> # select columns by regular expression\n>>> df.filter(regex='e$', axis=1)\n one three\nmouse 1 3\nrabbit 4 6\n\n>>> # select rows containing 'bbi'\n>>> df.filter(like='bbi', axis=0)\n one two three\nrabbit 4 5 6\n"}, "kind": 2, "label": "filter", "sortText": " 61"}, {"detail": "bound method DataFrame.first(offset) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Select initial periods of time series data based on a date offset.\n\n.. deprecated:: 2.1\n :meth:`.first` is deprecated and will be removed in a future version.\n Please create a mask and filter using `.loc` instead.\n\nFor a DataFrame with a sorted DatetimeIndex, this function can\nselect the first few rows based on a date offset.\n\nParameters\n----------\noffset : str, DateOffset or dateutil.relativedelta\n The offset length of the data that will be selected. For instance,\n '1ME' will display all the rows having their index within the first month.\n\nReturns\n-------\nSeries or DataFrame\n A subset of the caller.\n\nRaises\n------\nTypeError\n If the index is not a :class:`DatetimeIndex`\n\nSee Also\n--------\nlast : Select final periods of time series based on a date offset.\nat_time : Select values at a particular time of the day.\nbetween_time : Select values between particular times of the day.\n\nExamples\n--------\n>>> i = pd.date_range('2018-04-09', periods=4, freq='2D')\n>>> ts = pd.DataFrame({'A': [1, 2, 3, 4]}, index=i)\n>>> ts\n A\n2018-04-09 1\n2018-04-11 2\n2018-04-13 3\n2018-04-15 4\n\nGet the rows for the first 3 days:\n\n>>> ts.first('3D')\n A\n2018-04-09 1\n2018-04-11 2\n\nNotice the data for 3 first calendar days were returned, not the first\n3 days observed in the dataset, and therefore data for 2018-04-13 was\nnot returned.\n"}, "kind": 2, "label": "first", "sortText": " 62"}, {"detail": "bound method DataFrame.first_valid_index() -> Hashable", "documentation": {"kind": "plaintext", "value": "Return index for {position} non-NA value or None, if no non-NA value is found.\n\nReturns\n-------\ntype of index\n\nExamples\n--------\nFor Series:\n\n>>> s = pd.Series([None, 3, 4])\n>>> s.first_valid_index()\n1\n>>> s.last_valid_index()\n2\n\n>>> s = pd.Series([None, None])\n>>> print(s.first_valid_index())\nNone\n>>> print(s.last_valid_index())\nNone\n\nIf all elements in Series are NA/null, returns None.\n\n>>> s = pd.Series()\n>>> print(s.first_valid_index())\nNone\n>>> print(s.last_valid_index())\nNone\n\nIf Series is empty, returns None.\n\nFor DataFrame:\n\n>>> df = pd.DataFrame({{'A': [None, None, 2], 'B': [None, 3, 4]}})\n>>> df\n A B\n0 NaN NaN\n1 NaN 3.0\n2 2.0 4.0\n>>> df.first_valid_index()\n1\n>>> df.last_valid_index()\n2\n\n>>> df = pd.DataFrame({{'A': [None, None, None], 'B': [None, None, None]}})\n>>> df\n A B\n0 None None\n1 None None\n2 None None\n>>> print(df.first_valid_index())\nNone\n>>> print(df.last_valid_index())\nNone\n\nIf all elements in DataFrame are NA/null, returns None.\n\n>>> df = pd.DataFrame()\n>>> df\nEmpty DataFrame\nColumns: []\nIndex: []\n>>> print(df.first_valid_index())\nNone\n>>> print(df.last_valid_index())\nNone\n\nIf DataFrame is empty, returns None.\n"}, "kind": 2, "label": "first_valid_index", "sortText": " 63"}, {"detail": "Flags", "documentation": {"kind": "plaintext", "value": "Flags that apply to pandas objects.\n\nParameters\n----------\nobj : Series or DataFrame\n The object these flags are associated with.\nallows_duplicate_labels : bool, default True\n Whether to allow duplicate labels in this object. By default,\n duplicate labels are permitted. Setting this to ``False`` will\n cause an :class:`errors.DuplicateLabelError` to be raised when\n `index` (or columns for DataFrame) is not unique, or any\n subsequent operation on introduces duplicates.\n See :ref:`duplicates.disallow` for more.\n\n .. warning::\n\n This is an experimental feature. Currently, many methods fail to\n propagate the ``allows_duplicate_labels`` value. In future versions\n it is expected that every method taking or returning one or more\n DataFrame or Series objects will propagate ``allows_duplicate_labels``.\n\nExamples\n--------\nAttributes can be set in two ways:\n\n>>> df = pd.DataFrame()\n>>> df.flags\n\n>>> df.flags.allows_duplicate_labels = False\n>>> df.flags\n\n\n>>> df.flags['allows_duplicate_labels'] = True\n>>> df.flags\n\n"}, "kind": 22, "label": "flags", "sortText": " 64"}, {"detail": "bound method DataFrame.floordiv(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "floordiv", "sortText": " 65"}, {"detail": "bound method type[DataFrame].from_dict(data: dict[Unknown, Unknown], orient: Literal[\"columns\", \"index\", \"tight\"] = \"columns\", dtype: ExtensionDtype | str | dtype[Any] | type | None = None, columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Construct DataFrame from dict of array-like or dicts.\n\nCreates DataFrame object from dictionary by columns or by index\nallowing dtype specification.\n\nParameters\n----------\ndata : dict\n Of the form {field : array-like} or {field : dict}.\norient : {'columns', 'index', 'tight'}, default 'columns'\n The \"orientation\" of the data. If the keys of the passed dict\n should be the columns of the resulting DataFrame, pass 'columns'\n (default). Otherwise if the keys should be rows, pass 'index'.\n If 'tight', assume a dict with keys ['index', 'columns', 'data',\n 'index_names', 'column_names'].\n\n .. versionadded:: 1.4.0\n 'tight' as an allowed value for the ``orient`` argument\n\ndtype : dtype, default None\n Data type to force after DataFrame construction, otherwise infer.\ncolumns : list, default None\n Column labels to use when ``orient='index'``. Raises a ValueError\n if used with ``orient='columns'`` or ``orient='tight'``.\n\nReturns\n-------\nDataFrame\n\nSee Also\n--------\nDataFrame.from_records : DataFrame from structured ndarray, sequence\n of tuples or dicts, or DataFrame.\nDataFrame : DataFrame object creation using constructor.\nDataFrame.to_dict : Convert the DataFrame to a dictionary.\n\nExamples\n--------\nBy default the keys of the dict become the DataFrame columns:\n\n>>> data = {'col_1': [3, 2, 1, 0], 'col_2': ['a', 'b', 'c', 'd']}\n>>> pd.DataFrame.from_dict(data)\n col_1 col_2\n0 3 a\n1 2 b\n2 1 c\n3 0 d\n\nSpecify ``orient='index'`` to create the DataFrame using dictionary\nkeys as rows:\n\n>>> data = {'row_1': [3, 2, 1, 0], 'row_2': ['a', 'b', 'c', 'd']}\n>>> pd.DataFrame.from_dict(data, orient='index')\n 0 1 2 3\nrow_1 3 2 1 0\nrow_2 a b c d\n\nWhen using the 'index' orientation, the column names can be\nspecified manually:\n\n>>> pd.DataFrame.from_dict(data, orient='index',\n... columns=['A', 'B', 'C', 'D'])\n A B C D\nrow_1 3 2 1 0\nrow_2 a b c d\n\nSpecify ``orient='tight'`` to create the DataFrame using a 'tight'\nformat:\n\n>>> data = {'index': [('a', 'b'), ('a', 'c')],\n... 'columns': [('x', 1), ('y', 2)],\n... 'data': [[1, 3], [2, 4]],\n... 'index_names': ['n1', 'n2'],\n... 'column_names': ['z1', 'z2']}\n>>> pd.DataFrame.from_dict(data, orient='tight')\nz1 x y\nz2 1 2\nn1 n2\na b 1 3\n c 2 4\n"}, "kind": 2, "label": "from_dict", "sortText": " 66"}, {"detail": "bound method type[DataFrame].from_records(data, index=None, exclude=None, columns=None, coerce_float: bool = False, nrows: int | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Convert structured or record ndarray to DataFrame.\n\nCreates a DataFrame object from a structured ndarray, sequence of\ntuples or dicts, or DataFrame.\n\nParameters\n----------\ndata : structured ndarray, sequence of tuples or dicts, or DataFrame\n Structured input data.\n\n .. deprecated:: 2.1.0\n Passing a DataFrame is deprecated.\nindex : str, list of fields, array-like\n Field of array to use as the index, alternately a specific set of\n input labels to use.\nexclude : sequence, default None\n Columns or fields to exclude.\ncolumns : sequence, default None\n Column names to use. If the passed data do not have names\n associated with them, this argument provides names for the\n columns. Otherwise this argument indicates the order of the columns\n in the result (any names not found in the data will become all-NA\n columns).\ncoerce_float : bool, default False\n Attempt to convert values of non-string, non-numeric objects (like\n decimal.Decimal) to floating point, useful for SQL result sets.\nnrows : int, default None\n Number of rows to read if data is an iterator.\n\nReturns\n-------\nDataFrame\n\nSee Also\n--------\nDataFrame.from_dict : DataFrame from dict of array-like or dicts.\nDataFrame : DataFrame object creation using constructor.\n\nExamples\n--------\nData can be provided as a structured ndarray:\n\n>>> data = np.array([(3, 'a'), (2, 'b'), (1, 'c'), (0, 'd')],\n... dtype=[('col_1', 'i4'), ('col_2', 'U1')])\n>>> pd.DataFrame.from_records(data)\n col_1 col_2\n0 3 a\n1 2 b\n2 1 c\n3 0 d\n\nData can be provided as a list of dicts:\n\n>>> data = [{'col_1': 3, 'col_2': 'a'},\n... {'col_1': 2, 'col_2': 'b'},\n... {'col_1': 1, 'col_2': 'c'},\n... {'col_1': 0, 'col_2': 'd'}]\n>>> pd.DataFrame.from_records(data)\n col_1 col_2\n0 3 a\n1 2 b\n2 1 c\n3 0 d\n\nData can be provided as a list of tuples with corresponding columns:\n\n>>> data = [(3, 'a'), (2, 'b'), (1, 'c'), (0, 'd')]\n>>> pd.DataFrame.from_records(data, columns=['col_1', 'col_2'])\n col_1 col_2\n0 3 a\n1 2 b\n2 1 c\n3 0 d\n"}, "kind": 2, "label": "from_records", "sortText": " 67"}, {"detail": "bound method DataFrame.ge(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "ge", "sortText": " 68"}, {"detail": "bound method DataFrame.get(key, default=None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Get item from object for given key (ex: DataFrame column).\n\nReturns default value if not found.\n\nParameters\n----------\nkey : object\n\nReturns\n-------\nsame type as items contained in object\n\nExamples\n--------\n>>> df = pd.DataFrame(\n... [\n... [24.3, 75.7, \"high\"],\n... [31, 87.8, \"high\"],\n... [22, 71.6, \"medium\"],\n... [35, 95, \"medium\"],\n... ],\n... columns=[\"temp_celsius\", \"temp_fahrenheit\", \"windspeed\"],\n... index=pd.date_range(start=\"2014-02-12\", end=\"2014-02-15\", freq=\"D\"),\n... )\n\n>>> df\n temp_celsius temp_fahrenheit windspeed\n2014-02-12 24.3 75.7 high\n2014-02-13 31.0 87.8 high\n2014-02-14 22.0 71.6 medium\n2014-02-15 35.0 95.0 medium\n\n>>> df.get([\"temp_celsius\", \"windspeed\"])\n temp_celsius windspeed\n2014-02-12 24.3 high\n2014-02-13 31.0 high\n2014-02-14 22.0 medium\n2014-02-15 35.0 medium\n\n>>> ser = df['windspeed']\n>>> ser.get('2014-02-13')\n'high'\n\nIf the key isn't found, the default value will be used.\n\n>>> df.get([\"temp_celsius\", \"temp_kelvin\"], default=\"default_value\")\n'default_value'\n\n>>> ser.get('2014-02-10', '[unknown]')\n'[unknown]'\n"}, "kind": 2, "label": "get", "sortText": " 69"}, {"detail": "bound method DataFrame.groupby(by=None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., level: Hashable | Sequence[Hashable] = None, as_index: bool = True, sort: bool = True, group_keys: bool = True, observed: bool | _NoDefault = ..., dropna: bool = True) -> DataFrameGroupBy", "kind": 2, "label": "groupby", "sortText": " 70"}, {"detail": "bound method DataFrame.gt(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "gt", "sortText": " 71"}, {"detail": "bound method DataFrame.head(n: int = 5) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the first `n` rows.\n\nThis function returns the first `n` rows for the object based\non position. It is useful for quickly testing if your object\nhas the right type of data in it.\n\nFor negative values of `n`, this function returns all rows except\nthe last `|n|` rows, equivalent to ``df[:n]``.\n\nIf n is larger than the number of rows, this function returns all rows.\n\nParameters\n----------\nn : int, default 5\n Number of rows to select.\n\nReturns\n-------\nsame type as caller\n The first `n` rows of the caller object.\n\nSee Also\n--------\nDataFrame.tail: Returns the last `n` rows.\n\nExamples\n--------\n>>> df = pd.DataFrame({'animal': ['alligator', 'bee', 'falcon', 'lion',\n... 'monkey', 'parrot', 'shark', 'whale', 'zebra']})\n>>> df\n animal\n0 alligator\n1 bee\n2 falcon\n3 lion\n4 monkey\n5 parrot\n6 shark\n7 whale\n8 zebra\n\nViewing the first 5 lines\n\n>>> df.head()\n animal\n0 alligator\n1 bee\n2 falcon\n3 lion\n4 monkey\n\nViewing the first `n` lines (three in this case)\n\n>>> df.head(3)\n animal\n0 alligator\n1 bee\n2 falcon\n\nFor negative values of `n`\n\n>>> df.head(-3)\n animal\n0 alligator\n1 bee\n2 falcon\n3 lion\n4 monkey\n5 parrot\n"}, "kind": 2, "label": "head", "sortText": " 72"}, {"detail": "(column: Hashable | Sequence[Hashable] = None, by=None, grid: bool = True, xlabelsize: int | None = None, xrot: float | None = None, ylabelsize: int | None = None, yrot: float | None = None, ax=None, sharex: bool = False, sharey: bool = False, figsize: tuple[int, int] | None = None, layout: tuple[int, int] | None = None, bins: int | Sequence[int] = 10, backend: str | None = None, legend: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "hist", "sortText": " 73"}, {"detail": "_iAtIndexer", "kind": 22, "label": "iat", "sortText": " 74"}, {"detail": "bound method DataFrame.idxmax(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, skipna: bool = True, numeric_only: bool = False) -> Series", "kind": 2, "label": "idxmax", "sortText": " 75"}, {"detail": "bound method DataFrame.idxmin(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, skipna: bool = True, numeric_only: bool = False) -> Series", "kind": 2, "label": "idxmin", "sortText": " 76"}, {"detail": "_iLocIndexer", "kind": 22, "label": "iloc", "sortText": " 77"}, {"detail": "Index", "documentation": {"kind": "plaintext", "value": "Immutable sequence used for indexing and alignment.\n\nThe basic object storing axis labels for all pandas objects.\n\n.. versionchanged:: 2.0.0\n\n Index can hold all numpy numeric dtypes (except float16). Previously only\n int64/uint64/float64 dtypes were accepted.\n\nParameters\n----------\ndata : array-like (1-dimensional)\ndtype : str, numpy.dtype, or ExtensionDtype, optional\n Data type for the output Index. If not specified, this will be\n inferred from `data`.\n See the :ref:`user guide ` for more usages.\ncopy : bool, default False\n Copy input data.\nname : object\n Name to be stored in the index.\ntupleize_cols : bool (default: True)\n When True, attempt to create a MultiIndex if possible.\n\nSee Also\n--------\nRangeIndex : Index implementing a monotonic integer range.\nCategoricalIndex : Index of :class:`Categorical` s.\nMultiIndex : A multi-level, or hierarchical Index.\nIntervalIndex : An Index of :class:`Interval` s.\nDatetimeIndex : Index of datetime64 data.\nTimedeltaIndex : Index of timedelta64 data.\nPeriodIndex : Index of Period data.\n\nNotes\n-----\nAn Index instance can **only** contain hashable objects.\nAn Index instance *can not* hold numpy float16 dtype.\n\nExamples\n--------\n>>> pd.Index([1, 2, 3])\nIndex([1, 2, 3], dtype='int64')\n\n>>> pd.Index(list('abc'))\nIndex(['a', 'b', 'c'], dtype='object')\n\n>>> pd.Index([1, 2, 3], dtype=\"uint8\")\nIndex([1, 2, 3], dtype='uint8')\n"}, "kind": 22, "label": "index", "sortText": " 78"}, {"detail": "bound method DataFrame.infer_objects(copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Attempt to infer better dtypes for object columns.\n\nAttempts soft conversion of object-dtyped\ncolumns, leaving non-object and unconvertible\ncolumns unchanged. The inference rules are the\nsame as during normal Series/DataFrame construction.\n\nParameters\n----------\ncopy : bool, default True\n Whether to make a copy for non-object or non-inferable columns\n or Series.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\nsame type as input object\n\nSee Also\n--------\nto_datetime : Convert argument to datetime.\nto_timedelta : Convert argument to timedelta.\nto_numeric : Convert argument to numeric type.\nconvert_dtypes : Convert argument to best possible dtype.\n\nExamples\n--------\n>>> df = pd.DataFrame({\"A\": [\"a\", 1, 2, 3]})\n>>> df = df.iloc[1:]\n>>> df\n A\n1 1\n2 2\n3 3\n\n>>> df.dtypes\nA object\ndtype: object\n\n>>> df.infer_objects().dtypes\nA int64\ndtype: object\n"}, "kind": 2, "label": "infer_objects", "sortText": " 79"}, {"detail": "bound method DataFrame.info(verbose: bool | None = None, buf: WriteBuffer[str] | None = None, max_cols: int | None = None, memory_usage: bool | str | None = None, show_counts: bool | None = None) -> None", "kind": 2, "label": "info", "sortText": " 80"}, {"detail": "bound method DataFrame.insert(loc: int, column: Hashable, value: str | float | Period | ... omitted 9 union elements, allow_duplicates: bool | _NoDefault = ...) -> None", "documentation": {"kind": "plaintext", "value": "Insert column into DataFrame at specified location.\n\nRaises a ValueError if `column` is already contained in the DataFrame,\nunless `allow_duplicates` is set to True.\n\nParameters\n----------\nloc : int\n Insertion index. Must verify 0 <= loc <= len(columns).\ncolumn : str, number, or hashable object\n Label of the inserted column.\nvalue : Scalar, Series, or array-like\n Content of the inserted column.\nallow_duplicates : bool, optional, default lib.no_default\n Allow duplicate column labels to be created.\n\nSee Also\n--------\nIndex.insert : Insert new item by index.\n\nExamples\n--------\n>>> df = pd.DataFrame({'col1': [1, 2], 'col2': [3, 4]})\n>>> df\n col1 col2\n0 1 3\n1 2 4\n>>> df.insert(1, \"newcol\", [99, 99])\n>>> df\n col1 newcol col2\n0 1 99 3\n1 2 99 4\n>>> df.insert(0, \"col1\", [100, 100], allow_duplicates=True)\n>>> df\n col1 col1 newcol col2\n0 100 1 99 3\n1 100 2 99 4\n\nNotice that pandas uses index alignment in case of `value` from type `Series`:\n\n>>> df.insert(0, \"col0\", pd.Series([5, 6], index=[1, 2]))\n>>> df\n col0 col1 col1 newcol col2\n0 NaN 100 1 99 3\n1 5.0 100 2 99 4\n"}, "kind": 2, "label": "insert", "sortText": " 81"}, {"detail": "Overload[(method: Literal[\"linear\", \"time\", \"index\", \"values\", \"nearest\", ... omitted 13 literals] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., limit: int | None = ..., inplace: Literal[False] = ..., limit_direction: Literal[\"forward\", \"backward\", \"both\"] | None = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: Literal[\"infer\"] | None | _NoDefault = ..., **kwargs) -> DataFrame, (method: Literal[\"linear\", \"time\", \"index\", \"values\", \"nearest\", ... omitted 13 literals] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., limit: int | None = ..., inplace: Literal[True], limit_direction: Literal[\"forward\", \"backward\", \"both\"] | None = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: Literal[\"infer\"] | None | _NoDefault = ..., **kwargs) -> None, (method: Literal[\"linear\", \"time\", \"index\", \"values\", \"nearest\", ... omitted 13 literals] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., limit: int | None = ..., inplace: bool = ..., limit_direction: Literal[\"forward\", \"backward\", \"both\"] | None = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: Literal[\"infer\"] | None | _NoDefault = ..., **kwargs) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Fill NaN values using an interpolation method.\n\nPlease note that only ``method='linear'`` is supported for\nDataFrame/Series with a MultiIndex.\n\nParameters\n----------\nmethod : str, default 'linear'\n Interpolation technique to use. One of:\n\n * 'linear': Ignore the index and treat the values as equally\n spaced. This is the only method supported on MultiIndexes.\n * 'time': Works on daily and higher resolution data to interpolate\n given length of interval.\n * 'index', 'values': use the actual numerical values of the index.\n * 'pad': Fill in NaNs using existing values.\n * 'nearest', 'zero', 'slinear', 'quadratic', 'cubic',\n 'barycentric', 'polynomial': Passed to\n `scipy.interpolate.interp1d`, whereas 'spline' is passed to\n `scipy.interpolate.UnivariateSpline`. These methods use the numerical\n values of the index. Both 'polynomial' and 'spline' require that\n you also specify an `order` (int), e.g.\n ``df.interpolate(method='polynomial', order=5)``. Note that,\n `slinear` method in Pandas refers to the Scipy first order `spline`\n instead of Pandas first order `spline`.\n * 'krogh', 'piecewise_polynomial', 'spline', 'pchip', 'akima',\n 'cubicspline': Wrappers around the SciPy interpolation methods of\n similar names. See `Notes`.\n * 'from_derivatives': Refers to\n `scipy.interpolate.BPoly.from_derivatives`.\n\naxis : {{0 or 'index', 1 or 'columns', None}}, default None\n Axis to interpolate along. For `Series` this parameter is unused\n and defaults to 0.\nlimit : int, optional\n Maximum number of consecutive NaNs to fill. Must be greater than\n 0.\ninplace : bool, default False\n Update the data in place if possible.\nlimit_direction : {{'forward', 'backward', 'both'}}, Optional\n Consecutive NaNs will be filled in this direction.\n\n If limit is specified:\n * If 'method' is 'pad' or 'ffill', 'limit_direction' must be 'forward'.\n * If 'method' is 'backfill' or 'bfill', 'limit_direction' must be\n 'backwards'.\n\n If 'limit' is not specified:\n * If 'method' is 'backfill' or 'bfill', the default is 'backward'\n * else the default is 'forward'\n\n raises ValueError if `limit_direction` is 'forward' or 'both' and\n method is 'backfill' or 'bfill'.\n raises ValueError if `limit_direction` is 'backward' or 'both' and\n method is 'pad' or 'ffill'.\n\nlimit_area : {{`None`, 'inside', 'outside'}}, default None\n If limit is specified, consecutive NaNs will be filled with this\n restriction.\n\n * ``None``: No fill restriction.\n * 'inside': Only fill NaNs surrounded by valid values\n (interpolate).\n * 'outside': Only fill NaNs outside valid values (extrapolate).\n\ndowncast : optional, 'infer' or None, defaults to None\n Downcast dtypes if possible.\n\n .. deprecated:: 2.1.0\n\n``**kwargs`` : optional\n Keyword arguments to pass on to the interpolating function.\n\nReturns\n-------\nSeries or DataFrame or None\n Returns the same object type as the caller, interpolated at\n some or all ``NaN`` values or None if ``inplace=True``.\n\nSee Also\n--------\nfillna : Fill missing values using different methods.\nscipy.interpolate.Akima1DInterpolator : Piecewise cubic polynomials\n (Akima interpolator).\nscipy.interpolate.BPoly.from_derivatives : Piecewise polynomial in the\n Bernstein basis.\nscipy.interpolate.interp1d : Interpolate a 1-D function.\nscipy.interpolate.KroghInterpolator : Interpolate polynomial (Krogh\n interpolator).\nscipy.interpolate.PchipInterpolator : PCHIP 1-d monotonic cubic\n interpolation.\nscipy.interpolate.CubicSpline : Cubic spline data interpolator.\n\nNotes\n-----\nThe 'krogh', 'piecewise_polynomial', 'spline', 'pchip' and 'akima'\nmethods are wrappers around the respective SciPy implementations of\nsimilar names. These use the actual numerical values of the index.\nFor more information on their behavior, see the\n`SciPy documentation\n`__.\n\nExamples\n--------\nFilling in ``NaN`` in a :class:`~pandas.Series` via linear\ninterpolation.\n\n>>> s = pd.Series([0, 1, np.nan, 3])\n>>> s\n0 0.0\n1 1.0\n2 NaN\n3 3.0\ndtype: float64\n>>> s.interpolate()\n0 0.0\n1 1.0\n2 2.0\n3 3.0\ndtype: float64\n\nFilling in ``NaN`` in a Series via polynomial interpolation or splines:\nBoth 'polynomial' and 'spline' methods require that you also specify\nan ``order`` (int).\n\n>>> s = pd.Series([0, 2, np.nan, 8])\n>>> s.interpolate(method='polynomial', order=2)\n0 0.000000\n1 2.000000\n2 4.666667\n3 8.000000\ndtype: float64\n\nFill the DataFrame forward (that is, going down) along each column\nusing linear interpolation.\n\nNote how the last entry in column 'a' is interpolated differently,\nbecause there is no entry after it to use for interpolation.\nNote how the first entry in column 'b' remains ``NaN``, because there\nis no entry before it to use for interpolation.\n\n>>> df = pd.DataFrame([(0.0, np.nan, -1.0, 1.0),\n... (np.nan, 2.0, np.nan, np.nan),\n... (2.0, 3.0, np.nan, 9.0),\n... (np.nan, 4.0, -4.0, 16.0)],\n... columns=list('abcd'))\n>>> df\n a b c d\n0 0.0 NaN -1.0 1.0\n1 NaN 2.0 NaN NaN\n2 2.0 3.0 NaN 9.0\n3 NaN 4.0 -4.0 16.0\n>>> df.interpolate(method='linear', limit_direction='forward', axis=0)\n a b c d\n0 0.0 NaN -1.0 1.0\n1 1.0 2.0 -2.0 5.0\n2 2.0 3.0 -3.0 9.0\n3 2.0 4.0 -4.0 16.0\n\nUsing polynomial interpolation.\n\n>>> df['d'].interpolate(method='polynomial', order=2)\n0 1.0\n1 4.0\n2 9.0\n3 16.0\nName: d, dtype: float64\n"}, "kind": 2, "label": "interpolate", "sortText": " 82"}, {"detail": "bound method DataFrame.isetitem(loc, value) -> None", "documentation": {"kind": "plaintext", "value": "Set the given value in the column with position `loc`.\n\nThis is a positional analogue to ``__setitem__``.\n\nParameters\n----------\nloc : int or sequence of ints\n Index position for the column.\nvalue : scalar or arraylike\n Value(s) for the column.\n\nNotes\n-----\n``frame.isetitem(loc, value)`` is an in-place method as it will\nmodify the DataFrame in place (not returning a new object). In contrast to\n``frame.iloc[:, i] = value`` which will try to update the existing values in\nplace, ``frame.isetitem(loc, value)`` will not update the values of the column\nitself in place, it will instead insert a new array.\n\nIn cases where ``frame.columns`` is unique, this is equivalent to\n``frame[frame.columns[i]] = value``.\n"}, "kind": 2, "label": "isetitem", "sortText": " 83"}, {"detail": "bound method DataFrame.isin(values: Series | DataFrame | Sequence[Unknown] | Mapping[Unknown, Unknown]) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Whether each element in the DataFrame is contained in values.\n\nParameters\n----------\nvalues : iterable, Series, DataFrame or dict\n The result will only be true at a location if all the\n labels match. If `values` is a Series, that's the index. If\n `values` is a dict, the keys must be the column names,\n which must match. If `values` is a DataFrame,\n then both the index and column labels must match.\n\nReturns\n-------\nDataFrame\n DataFrame of booleans showing whether each element in the DataFrame\n is contained in values.\n\nSee Also\n--------\nDataFrame.eq: Equality test for DataFrame.\nSeries.isin: Equivalent method on Series.\nSeries.str.contains: Test if pattern or regex is contained within a\n string of a Series or Index.\n\nExamples\n--------\n>>> df = pd.DataFrame({'num_legs': [2, 4], 'num_wings': [2, 0]},\n... index=['falcon', 'dog'])\n>>> df\n num_legs num_wings\nfalcon 2 2\ndog 4 0\n\nWhen ``values`` is a list check whether every value in the DataFrame\nis present in the list (which animals have 0 or 2 legs or wings)\n\n>>> df.isin([0, 2])\n num_legs num_wings\nfalcon True True\ndog False True\n\nTo check if ``values`` is *not* in the DataFrame, use the ``~`` operator:\n\n>>> ~df.isin([0, 2])\n num_legs num_wings\nfalcon False False\ndog True False\n\nWhen ``values`` is a dict, we can pass values to check for each\ncolumn separately:\n\n>>> df.isin({'num_wings': [0, 3]})\n num_legs num_wings\nfalcon False False\ndog False True\n\nWhen ``values`` is a Series or DataFrame the index and column must\nmatch. Note that 'falcon' does not match based on the number of legs\nin other.\n\n>>> other = pd.DataFrame({'num_legs': [8, 3], 'num_wings': [0, 2]},\n... index=['spider', 'falcon'])\n>>> df.isin(other)\n num_legs num_wings\nfalcon False True\ndog False False\n"}, "kind": 2, "label": "isin", "sortText": " 84"}, {"detail": "bound method DataFrame.isna() -> DataFrame", "kind": 2, "label": "isna", "sortText": " 85"}, {"detail": "bound method DataFrame.isnull() -> DataFrame", "documentation": {"kind": "plaintext", "value": "DataFrame.isnull is an alias for DataFrame.isna.\n"}, "kind": 2, "label": "isnull", "sortText": " 86"}, {"detail": "bound method DataFrame.items() -> Iterable[tuple[Hashable, Series]]", "kind": 2, "label": "items", "sortText": " 87"}, {"detail": "bound method DataFrame.iterrows() -> Iterable[tuple[Hashable, Series]]", "documentation": {"kind": "plaintext", "value": "Iterate over DataFrame rows as (index, Series) pairs.\n\nYields\n------\nindex : label or tuple of label\n The index of the row. A tuple for a `MultiIndex`.\ndata : Series\n The data of the row as a Series.\n\nSee Also\n--------\nDataFrame.itertuples : Iterate over DataFrame rows as namedtuples of the values.\nDataFrame.items : Iterate over (column name, Series) pairs.\n\nNotes\n-----\n1. Because ``iterrows`` returns a Series for each row,\n it does **not** preserve dtypes across the rows (dtypes are\n preserved across columns for DataFrames).\n\n To preserve dtypes while iterating over the rows, it is better\n to use :meth:`itertuples` which returns namedtuples of the values\n and which is generally faster than ``iterrows``.\n\n2. You should **never modify** something you are iterating over.\n This is not guaranteed to work in all cases. Depending on the\n data types, the iterator returns a copy and not a view, and writing\n to it will have no effect.\n\nExamples\n--------\n\n>>> df = pd.DataFrame([[1, 1.5]], columns=['int', 'float'])\n>>> row = next(df.iterrows())[1]\n>>> row\nint 1.0\nfloat 1.5\nName: 0, dtype: float64\n>>> print(row['int'].dtype)\nfloat64\n>>> print(df['int'].dtype)\nint64\n"}, "kind": 2, "label": "iterrows", "sortText": " 88"}, {"detail": "bound method DataFrame.itertuples(index: bool = True, name: str | None = \"Pandas\") -> Iterable[tuple[Any, ...]]", "documentation": {"kind": "plaintext", "value": "Iterate over DataFrame rows as namedtuples.\n\nParameters\n----------\nindex : bool, default True\n If True, return the index as the first element of the tuple.\nname : str or None, default \"Pandas\"\n The name of the returned namedtuples or None to return regular\n tuples.\n\nReturns\n-------\niterator\n An object to iterate over namedtuples for each row in the\n DataFrame with the first field possibly being the index and\n following fields being the column values.\n\nSee Also\n--------\nDataFrame.iterrows : Iterate over DataFrame rows as (index, Series)\n pairs.\nDataFrame.items : Iterate over (column name, Series) pairs.\n\nNotes\n-----\nThe column names will be renamed to positional names if they are\ninvalid Python identifiers, repeated, or start with an underscore.\n\nExamples\n--------\n>>> df = pd.DataFrame({'num_legs': [4, 2], 'num_wings': [0, 2]},\n... index=['dog', 'hawk'])\n>>> df\n num_legs num_wings\ndog 4 0\nhawk 2 2\n>>> for row in df.itertuples():\n... print(row)\n...\nPandas(Index='dog', num_legs=4, num_wings=0)\nPandas(Index='hawk', num_legs=2, num_wings=2)\n\nBy setting the `index` parameter to False we can remove the index\nas the first element of the tuple:\n\n>>> for row in df.itertuples(index=False):\n... print(row)\n...\nPandas(num_legs=4, num_wings=0)\nPandas(num_legs=2, num_wings=2)\n\nWith the `name` parameter set we set a custom name for the yielded\nnamedtuples:\n\n>>> for row in df.itertuples(name='Animal'):\n... print(row)\n...\nAnimal(Index='dog', num_legs=4, num_wings=0)\nAnimal(Index='hawk', num_legs=2, num_wings=2)\n"}, "kind": 2, "label": "itertuples", "sortText": " 89"}, {"detail": "bound method DataFrame.join(other: DataFrame | Series | Iterable[DataFrame | Series], on: Hashable | Sequence[Hashable] = None, how: Literal[\"left\", \"right\", \"inner\", \"outer\", \"cross\"] = \"left\", lsuffix: str = \"\", rsuffix: str = \"\", sort: bool = False, validate: Literal[\"one_to_one\", \"1:1\", \"one_to_many\", \"1:m\", \"many_to_one\", ... omitted 3 literals] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Join columns of another DataFrame.\n\nJoin columns with `other` DataFrame either on index or on a key\ncolumn. Efficiently join multiple DataFrame objects by index at once by\npassing a list.\n\nParameters\n----------\nother : DataFrame, Series, or a list containing any combination of them\n Index should be similar to one of the columns in this one. If a\n Series is passed, its name attribute must be set, and that will be\n used as the column name in the resulting joined DataFrame.\non : str, list of str, or array-like, optional\n Column or index level name(s) in the caller to join on the index\n in `other`, otherwise joins index-on-index. If multiple\n values given, the `other` DataFrame must have a MultiIndex. Can\n pass an array as the join key if it is not already contained in\n the calling DataFrame. Like an Excel VLOOKUP operation.\nhow : {'left', 'right', 'outer', 'inner', 'cross'}, default 'left'\n How to handle the operation of the two objects.\n\n * left: use calling frame's index (or column if on is specified)\n * right: use `other`'s index.\n * outer: form union of calling frame's index (or column if on is\n specified) with `other`'s index, and sort it lexicographically.\n * inner: form intersection of calling frame's index (or column if\n on is specified) with `other`'s index, preserving the order\n of the calling's one.\n * cross: creates the cartesian product from both frames, preserves the order\n of the left keys.\nlsuffix : str, default ''\n Suffix to use from left frame's overlapping columns.\nrsuffix : str, default ''\n Suffix to use from right frame's overlapping columns.\nsort : bool, default False\n Order result DataFrame lexicographically by the join key. If False,\n the order of the join key depends on the join type (how keyword).\nvalidate : str, optional\n If specified, checks if join is of specified type.\n\n * \"one_to_one\" or \"1:1\": check if join keys are unique in both left\n and right datasets.\n * \"one_to_many\" or \"1:m\": check if join keys are unique in left dataset.\n * \"many_to_one\" or \"m:1\": check if join keys are unique in right dataset.\n * \"many_to_many\" or \"m:m\": allowed, but does not result in checks.\n\n .. versionadded:: 1.5.0\n\nReturns\n-------\nDataFrame\n A dataframe containing columns from both the caller and `other`.\n\nSee Also\n--------\nDataFrame.merge : For column(s)-on-column(s) operations.\n\nNotes\n-----\nParameters `on`, `lsuffix`, and `rsuffix` are not supported when\npassing a list of `DataFrame` objects.\n\nExamples\n--------\n>>> df = pd.DataFrame({'key': ['K0', 'K1', 'K2', 'K3', 'K4', 'K5'],\n... 'A': ['A0', 'A1', 'A2', 'A3', 'A4', 'A5']})\n\n>>> df\n key A\n0 K0 A0\n1 K1 A1\n2 K2 A2\n3 K3 A3\n4 K4 A4\n5 K5 A5\n\n>>> other = pd.DataFrame({'key': ['K0', 'K1', 'K2'],\n... 'B': ['B0', 'B1', 'B2']})\n\n>>> other\n key B\n0 K0 B0\n1 K1 B1\n2 K2 B2\n\nJoin DataFrames using their indexes.\n\n>>> df.join(other, lsuffix='_caller', rsuffix='_other')\n key_caller A key_other B\n0 K0 A0 K0 B0\n1 K1 A1 K1 B1\n2 K2 A2 K2 B2\n3 K3 A3 NaN NaN\n4 K4 A4 NaN NaN\n5 K5 A5 NaN NaN\n\nIf we want to join using the key columns, we need to set key to be\nthe index in both `df` and `other`. The joined DataFrame will have\nkey as its index.\n\n>>> df.set_index('key').join(other.set_index('key'))\n A B\nkey\nK0 A0 B0\nK1 A1 B1\nK2 A2 B2\nK3 A3 NaN\nK4 A4 NaN\nK5 A5 NaN\n\nAnother option to join using the key columns is to use the `on`\nparameter. DataFrame.join always uses `other`'s index but we can use\nany column in `df`. This method preserves the original DataFrame's\nindex in the result.\n\n>>> df.join(other.set_index('key'), on='key')\n key A B\n0 K0 A0 B0\n1 K1 A1 B1\n2 K2 A2 B2\n3 K3 A3 NaN\n4 K4 A4 NaN\n5 K5 A5 NaN\n\nUsing non-unique key values shows how they are matched.\n\n>>> df = pd.DataFrame({'key': ['K0', 'K1', 'K1', 'K3', 'K0', 'K1'],\n... 'A': ['A0', 'A1', 'A2', 'A3', 'A4', 'A5']})\n\n>>> df\n key A\n0 K0 A0\n1 K1 A1\n2 K1 A2\n3 K3 A3\n4 K0 A4\n5 K1 A5\n\n>>> df.join(other.set_index('key'), on='key', validate='m:1')\n key A B\n0 K0 A0 B0\n1 K1 A1 B1\n2 K1 A2 B1\n3 K3 A3 NaN\n4 K0 A4 B0\n5 K1 A5 B1\n"}, "kind": 2, "label": "join", "sortText": " 90"}, {"detail": "bound method DataFrame.keys() -> Index", "documentation": {"kind": "plaintext", "value": "Get the 'info axis' (see Indexing for more).\n\nThis is index for Series, columns for DataFrame.\n\nReturns\n-------\nIndex\n Info axis.\n\nExamples\n--------\n>>> d = pd.DataFrame(data={'A': [1, 2, 3], 'B': [0, 4, 8]},\n... index=['a', 'b', 'c'])\n>>> d\n A B\na 1 0\nb 2 4\nc 3 8\n>>> d.keys()\nIndex(['A', 'B'], dtype='object')\n"}, "kind": 2, "label": "keys", "sortText": " 91"}, {"detail": "bound method DataFrame.kurt(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "kurt", "sortText": " 92"}, {"detail": "(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "kurtosis", "sortText": " 93"}, {"detail": "bound method DataFrame.last(offset) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Select final periods of time series data based on a date offset.\n\n.. deprecated:: 2.1\n :meth:`.last` is deprecated and will be removed in a future version.\n Please create a mask and filter using `.loc` instead.\n\nFor a DataFrame with a sorted DatetimeIndex, this function\nselects the last few rows based on a date offset.\n\nParameters\n----------\noffset : str, DateOffset, dateutil.relativedelta\n The offset length of the data that will be selected. For instance,\n '3D' will display all the rows having their index within the last 3 days.\n\nReturns\n-------\nSeries or DataFrame\n A subset of the caller.\n\nRaises\n------\nTypeError\n If the index is not a :class:`DatetimeIndex`\n\nSee Also\n--------\nfirst : Select initial periods of time series based on a date offset.\nat_time : Select values at a particular time of the day.\nbetween_time : Select values between particular times of the day.\n\nNotes\n-----\n.. deprecated:: 2.1.0\n Please create a mask and filter using `.loc` instead\n\nExamples\n--------\n>>> i = pd.date_range('2018-04-09', periods=4, freq='2D')\n>>> ts = pd.DataFrame({'A': [1, 2, 3, 4]}, index=i)\n>>> ts\n A\n2018-04-09 1\n2018-04-11 2\n2018-04-13 3\n2018-04-15 4\n\nGet the rows for the last 3 days:\n\n>>> ts.last('3D') # doctest: +SKIP\n A\n2018-04-13 3\n2018-04-15 4\n\nNotice the data for 3 last calendar days were returned, not the last\n3 observed days in the dataset, and therefore data for 2018-04-11 was\nnot returned.\n"}, "kind": 2, "label": "last", "sortText": " 94"}, {"detail": "bound method DataFrame.last_valid_index() -> Hashable", "kind": 2, "label": "last_valid_index", "sortText": " 95"}, {"detail": "bound method DataFrame.le(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "le", "sortText": " 96"}, {"detail": "_LocIndexer", "kind": 22, "label": "loc", "sortText": " 97"}, {"detail": "bound method DataFrame.lt(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "lt", "sortText": " 98"}, {"detail": "bound method DataFrame.map(func: (Any, /) -> Any, na_action: str | None = None, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Apply a function to a Dataframe elementwise.\n\n.. versionadded:: 2.1.0\n\n DataFrame.applymap was deprecated and renamed to DataFrame.map.\n\nThis method applies a function that accepts and returns a scalar\nto every element of a DataFrame.\n\nParameters\n----------\nfunc : callable\n Python function, returns a single value from a single value.\nna_action : {None, 'ignore'}, default None\n If 'ignore', propagate NaN values, without passing them to func.\n**kwargs\n Additional keyword arguments to pass as keywords arguments to\n `func`.\n\nReturns\n-------\nDataFrame\n Transformed DataFrame.\n\nSee Also\n--------\nDataFrame.apply : Apply a function along input axis of DataFrame.\nDataFrame.replace: Replace values given in `to_replace` with `value`.\nSeries.map : Apply a function elementwise on a Series.\n\nExamples\n--------\n>>> df = pd.DataFrame([[1, 2.12], [3.356, 4.567]])\n>>> df\n 0 1\n0 1.000 2.120\n1 3.356 4.567\n\n>>> df.map(lambda x: len(str(x)))\n 0 1\n0 3 4\n1 5 5\n\nLike Series.map, NA values can be ignored:\n\n>>> df_copy = df.copy()\n>>> df_copy.iloc[0, 0] = pd.NA\n>>> df_copy.map(lambda x: len(str(x)), na_action='ignore')\n 0 1\n0 NaN 4\n1 5.0 5\n\nIt is also possible to use `map` with functions that are not\n`lambda` functions:\n\n>>> df.map(round, ndigits=1)\n 0 1\n0 1.0 2.1\n1 3.4 4.6\n\nNote that a vectorized version of `func` often exists, which will\nbe much faster. You could square each number elementwise.\n\n>>> df.map(lambda x: x**2)\n 0 1\n0 1.000000 4.494400\n1 11.262736 20.857489\n\nBut it's better to avoid map in that case.\n\n>>> df ** 2\n 0 1\n0 1.000000 4.494400\n1 11.262736 20.857489\n"}, "kind": 2, "label": "map", "sortText": " 99"}, {"detail": "Overload[(cond, other=..., *, inplace: Literal[False] = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> DataFrame, (cond, other=..., *, inplace: Literal[True], axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> None, (cond, other=..., *, inplace: bool = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> DataFrame | None]", "kind": 2, "label": "mask", "sortText": "100"}, {"detail": "bound method DataFrame.max(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "max", "sortText": "101"}, {"detail": "bound method DataFrame.mean(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "mean", "sortText": "102"}, {"detail": "bound method DataFrame.median(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "median", "sortText": "103"}, {"detail": "bound method DataFrame.melt(id_vars=None, value_vars=None, var_name=None, value_name: Hashable = \"value\", col_level: Hashable = None, ignore_index: bool = True) -> DataFrame", "kind": 2, "label": "melt", "sortText": "104"}, {"detail": "bound method DataFrame.memory_usage(index: bool = True, deep: bool = False) -> Series", "documentation": {"kind": "plaintext", "value": "Return the memory usage of each column in bytes.\n\nThe memory usage can optionally include the contribution of\nthe index and elements of `object` dtype.\n\nThis value is displayed in `DataFrame.info` by default. This can be\nsuppressed by setting ``pandas.options.display.memory_usage`` to False.\n\nParameters\n----------\nindex : bool, default True\n Specifies whether to include the memory usage of the DataFrame's\n index in returned Series. If ``index=True``, the memory usage of\n the index is the first item in the output.\ndeep : bool, default False\n If True, introspect the data deeply by interrogating\n `object` dtypes for system-level memory consumption, and include\n it in the returned values.\n\nReturns\n-------\nSeries\n A Series whose index is the original column names and whose values\n is the memory usage of each column in bytes.\n\nSee Also\n--------\nnumpy.ndarray.nbytes : Total bytes consumed by the elements of an\n ndarray.\nSeries.memory_usage : Bytes consumed by a Series.\nCategorical : Memory-efficient array for string values with\n many repeated values.\nDataFrame.info : Concise summary of a DataFrame.\n\nNotes\n-----\nSee the :ref:`Frequently Asked Questions ` for more\ndetails.\n\nExamples\n--------\n>>> dtypes = ['int64', 'float64', 'complex128', 'object', 'bool']\n>>> data = dict([(t, np.ones(shape=5000, dtype=int).astype(t))\n... for t in dtypes])\n>>> df = pd.DataFrame(data)\n>>> df.head()\n int64 float64 complex128 object bool\n0 1 1.0 1.0+0.0j 1 True\n1 1 1.0 1.0+0.0j 1 True\n2 1 1.0 1.0+0.0j 1 True\n3 1 1.0 1.0+0.0j 1 True\n4 1 1.0 1.0+0.0j 1 True\n\n>>> df.memory_usage()\nIndex 128\nint64 40000\nfloat64 40000\ncomplex128 80000\nobject 40000\nbool 5000\ndtype: int64\n\n>>> df.memory_usage(index=False)\nint64 40000\nfloat64 40000\ncomplex128 80000\nobject 40000\nbool 5000\ndtype: int64\n\nThe memory footprint of `object` dtype columns is ignored by default:\n\n>>> df.memory_usage(deep=True)\nIndex 128\nint64 40000\nfloat64 40000\ncomplex128 80000\nobject 180000\nbool 5000\ndtype: int64\n\nUse a Categorical for efficient storage of an object-dtype column with\nmany repeated values.\n\n>>> df['object'].astype('category').memory_usage(deep=True)\n5244\n"}, "kind": 2, "label": "memory_usage", "sortText": "105"}, {"detail": "bound method DataFrame.merge(right: DataFrame | Series, how: Literal[\"left\", \"right\", \"inner\", \"outer\", \"cross\"] = \"inner\", on: Hashable | Sequence[Hashable] | ExtensionArray | ... omitted 3 union elements = None, left_on: Hashable | Sequence[Hashable] | ExtensionArray | ... omitted 3 union elements = None, right_on: Hashable | Sequence[Hashable] | ExtensionArray | ... omitted 3 union elements = None, left_index: bool = False, right_index: bool = False, sort: bool = False, suffixes: tuple[str | None, str | None] = ..., copy: bool | None = None, indicator: str | bool = False, validate: Literal[\"one_to_one\", \"1:1\", \"one_to_many\", \"1:m\", \"many_to_one\", ... omitted 3 literals] | None = None) -> DataFrame", "kind": 2, "label": "merge", "sortText": "106"}, {"detail": "bound method DataFrame.min(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "min", "sortText": "107"}, {"detail": "bound method DataFrame.mod(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "mod", "sortText": "108"}, {"detail": "bound method DataFrame.mode(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, numeric_only: bool = False, dropna: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Get the mode(s) of each element along the selected axis.\n\nThe mode of a set of values is the value that appears most often.\nIt can be multiple values.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to iterate over while searching for the mode:\n\n * 0 or 'index' : get mode of each column\n * 1 or 'columns' : get mode of each row.\n\nnumeric_only : bool, default False\n If True, only apply to numeric columns.\ndropna : bool, default True\n Don't consider counts of NaN/NaT.\n\nReturns\n-------\nDataFrame\n The modes of each column or row.\n\nSee Also\n--------\nSeries.mode : Return the highest frequency value in a Series.\nSeries.value_counts : Return the counts of values in a Series.\n\nExamples\n--------\n>>> df = pd.DataFrame([('bird', 2, 2),\n... ('mammal', 4, np.nan),\n... ('arthropod', 8, 0),\n... ('bird', 2, np.nan)],\n... index=('falcon', 'horse', 'spider', 'ostrich'),\n... columns=('species', 'legs', 'wings'))\n>>> df\n species legs wings\nfalcon bird 2 2.0\nhorse mammal 4 NaN\nspider arthropod 8 0.0\nostrich bird 2 NaN\n\nBy default, missing values are not considered, and the mode of wings\nare both 0 and 2. Because the resulting DataFrame has two rows,\nthe second row of ``species`` and ``legs`` contains ``NaN``.\n\n>>> df.mode()\n species legs wings\n0 bird 2.0 0.0\n1 NaN NaN 2.0\n\nSetting ``dropna=False`` ``NaN`` values are considered and they can be\nthe mode (like for wings).\n\n>>> df.mode(dropna=False)\n species legs wings\n0 bird 2 NaN\n\nSetting ``numeric_only=True``, only the mode of numeric columns is\ncomputed, and columns of other types are ignored.\n\n>>> df.mode(numeric_only=True)\n legs wings\n0 2.0 0.0\n1 NaN 2.0\n\nTo compute the mode over columns and not rows, use the axis parameter:\n\n>>> df.mode(axis='columns', numeric_only=True)\n 0 1\nfalcon 2.0 NaN\nhorse 4.0 NaN\nspider 0.0 8.0\nostrich 2.0 NaN\n"}, "kind": 2, "label": "mode", "sortText": "109"}, {"detail": "bound method DataFrame.mul(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "mul", "sortText": "110"}, {"detail": "(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "multiply", "sortText": "111"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "name", "sortText": "112"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "ndim", "sortText": "113"}, {"detail": "bound method DataFrame.ne(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "ne", "sortText": "114"}, {"detail": "bound method DataFrame.nlargest(n: int, columns: Hashable | Sequence[Hashable], keep: Literal[\"first\", \"last\", \"all\"] = \"first\") -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the first `n` rows ordered by `columns` in descending order.\n\nReturn the first `n` rows with the largest values in `columns`, in\ndescending order. The columns that are not specified are returned as\nwell, but not used for ordering.\n\nThis method is equivalent to\n``df.sort_values(columns, ascending=False).head(n)``, but more\nperformant.\n\nParameters\n----------\nn : int\n Number of rows to return.\ncolumns : label or list of labels\n Column label(s) to order by.\nkeep : {'first', 'last', 'all'}, default 'first'\n Where there are duplicate values:\n\n - ``first`` : prioritize the first occurrence(s)\n - ``last`` : prioritize the last occurrence(s)\n - ``all`` : keep all the ties of the smallest item even if it means\n selecting more than ``n`` items.\n\nReturns\n-------\nDataFrame\n The first `n` rows ordered by the given columns in descending\n order.\n\nSee Also\n--------\nDataFrame.nsmallest : Return the first `n` rows ordered by `columns` in\n ascending order.\nDataFrame.sort_values : Sort DataFrame by the values.\nDataFrame.head : Return the first `n` rows without re-ordering.\n\nNotes\n-----\nThis function cannot be used with all column types. For example, when\nspecifying columns with `object` or `category` dtypes, ``TypeError`` is\nraised.\n\nExamples\n--------\n>>> df = pd.DataFrame({'population': [59000000, 65000000, 434000,\n... 434000, 434000, 337000, 11300,\n... 11300, 11300],\n... 'GDP': [1937894, 2583560 , 12011, 4520, 12128,\n... 17036, 182, 38, 311],\n... 'alpha-2': [\"IT\", \"FR\", \"MT\", \"MV\", \"BN\",\n... \"IS\", \"NR\", \"TV\", \"AI\"]},\n... index=[\"Italy\", \"France\", \"Malta\",\n... \"Maldives\", \"Brunei\", \"Iceland\",\n... \"Nauru\", \"Tuvalu\", \"Anguilla\"])\n>>> df\n population GDP alpha-2\nItaly 59000000 1937894 IT\nFrance 65000000 2583560 FR\nMalta 434000 12011 MT\nMaldives 434000 4520 MV\nBrunei 434000 12128 BN\nIceland 337000 17036 IS\nNauru 11300 182 NR\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\n\nIn the following example, we will use ``nlargest`` to select the three\nrows having the largest values in column \"population\".\n\n>>> df.nlargest(3, 'population')\n population GDP alpha-2\nFrance 65000000 2583560 FR\nItaly 59000000 1937894 IT\nMalta 434000 12011 MT\n\nWhen using ``keep='last'``, ties are resolved in reverse order:\n\n>>> df.nlargest(3, 'population', keep='last')\n population GDP alpha-2\nFrance 65000000 2583560 FR\nItaly 59000000 1937894 IT\nBrunei 434000 12128 BN\n\nWhen using ``keep='all'``, the number of element kept can go beyond ``n``\nif there are duplicate values for the smallest element, all the\nties are kept:\n\n>>> df.nlargest(3, 'population', keep='all')\n population GDP alpha-2\nFrance 65000000 2583560 FR\nItaly 59000000 1937894 IT\nMalta 434000 12011 MT\nMaldives 434000 4520 MV\nBrunei 434000 12128 BN\n\nHowever, ``nlargest`` does not keep ``n`` distinct largest elements:\n\n>>> df.nlargest(5, 'population', keep='all')\n population GDP alpha-2\nFrance 65000000 2583560 FR\nItaly 59000000 1937894 IT\nMalta 434000 12011 MT\nMaldives 434000 4520 MV\nBrunei 434000 12128 BN\n\nTo order by the largest values in column \"population\" and then \"GDP\",\nwe can specify multiple columns like in the next example.\n\n>>> df.nlargest(3, ['population', 'GDP'])\n population GDP alpha-2\nFrance 65000000 2583560 FR\nItaly 59000000 1937894 IT\nBrunei 434000 12128 BN\n"}, "kind": 2, "label": "nlargest", "sortText": "115"}, {"detail": "bound method DataFrame.notna() -> DataFrame", "kind": 2, "label": "notna", "sortText": "116"}, {"detail": "bound method DataFrame.notnull() -> DataFrame", "documentation": {"kind": "plaintext", "value": "DataFrame.notnull is an alias for DataFrame.notna.\n"}, "kind": 2, "label": "notnull", "sortText": "117"}, {"detail": "bound method DataFrame.nsmallest(n: int, columns: Hashable | Sequence[Hashable], keep: Literal[\"first\", \"last\", \"all\"] = \"first\") -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the first `n` rows ordered by `columns` in ascending order.\n\nReturn the first `n` rows with the smallest values in `columns`, in\nascending order. The columns that are not specified are returned as\nwell, but not used for ordering.\n\nThis method is equivalent to\n``df.sort_values(columns, ascending=True).head(n)``, but more\nperformant.\n\nParameters\n----------\nn : int\n Number of items to retrieve.\ncolumns : list or str\n Column name or names to order by.\nkeep : {'first', 'last', 'all'}, default 'first'\n Where there are duplicate values:\n\n - ``first`` : take the first occurrence.\n - ``last`` : take the last occurrence.\n - ``all`` : keep all the ties of the largest item even if it means\n selecting more than ``n`` items.\n\nReturns\n-------\nDataFrame\n\nSee Also\n--------\nDataFrame.nlargest : Return the first `n` rows ordered by `columns` in\n descending order.\nDataFrame.sort_values : Sort DataFrame by the values.\nDataFrame.head : Return the first `n` rows without re-ordering.\n\nExamples\n--------\n>>> df = pd.DataFrame({'population': [59000000, 65000000, 434000,\n... 434000, 434000, 337000, 337000,\n... 11300, 11300],\n... 'GDP': [1937894, 2583560 , 12011, 4520, 12128,\n... 17036, 182, 38, 311],\n... 'alpha-2': [\"IT\", \"FR\", \"MT\", \"MV\", \"BN\",\n... \"IS\", \"NR\", \"TV\", \"AI\"]},\n... index=[\"Italy\", \"France\", \"Malta\",\n... \"Maldives\", \"Brunei\", \"Iceland\",\n... \"Nauru\", \"Tuvalu\", \"Anguilla\"])\n>>> df\n population GDP alpha-2\nItaly 59000000 1937894 IT\nFrance 65000000 2583560 FR\nMalta 434000 12011 MT\nMaldives 434000 4520 MV\nBrunei 434000 12128 BN\nIceland 337000 17036 IS\nNauru 337000 182 NR\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\n\nIn the following example, we will use ``nsmallest`` to select the\nthree rows having the smallest values in column \"population\".\n\n>>> df.nsmallest(3, 'population')\n population GDP alpha-2\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\nIceland 337000 17036 IS\n\nWhen using ``keep='last'``, ties are resolved in reverse order:\n\n>>> df.nsmallest(3, 'population', keep='last')\n population GDP alpha-2\nAnguilla 11300 311 AI\nTuvalu 11300 38 TV\nNauru 337000 182 NR\n\nWhen using ``keep='all'``, the number of element kept can go beyond ``n``\nif there are duplicate values for the largest element, all the\nties are kept.\n\n>>> df.nsmallest(3, 'population', keep='all')\n population GDP alpha-2\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\nIceland 337000 17036 IS\nNauru 337000 182 NR\n\nHowever, ``nsmallest`` does not keep ``n`` distinct\nsmallest elements:\n\n>>> df.nsmallest(4, 'population', keep='all')\n population GDP alpha-2\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\nIceland 337000 17036 IS\nNauru 337000 182 NR\n\nTo order by the smallest values in column \"population\" and then \"GDP\", we can\nspecify multiple columns like in the next example.\n\n>>> df.nsmallest(3, ['population', 'GDP'])\n population GDP alpha-2\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\nNauru 337000 182 NR\n"}, "kind": 2, "label": "nsmallest", "sortText": "118"}, {"detail": "bound method DataFrame.nunique(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, dropna: bool = True) -> Series", "documentation": {"kind": "plaintext", "value": "Count number of distinct elements in specified axis.\n\nReturn Series with number of distinct elements. Can ignore NaN\nvalues.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to use. 0 or 'index' for row-wise, 1 or 'columns' for\n column-wise.\ndropna : bool, default True\n Don't include NaN in the counts.\n\nReturns\n-------\nSeries\n\nSee Also\n--------\nSeries.nunique: Method nunique for Series.\nDataFrame.count: Count non-NA cells for each column or row.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [4, 5, 6], 'B': [4, 1, 1]})\n>>> df.nunique()\nA 3\nB 2\ndtype: int64\n\n>>> df.nunique(axis=1)\n0 1\n1 2\n2 2\ndtype: int64\n"}, "kind": 2, "label": "nunique", "sortText": "119"}, {"detail": "bound method DataFrame.pad(*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = None, inplace: bool = False, limit: None | int = None, downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame | None", "documentation": {"kind": "plaintext", "value": "Fill NA/NaN values by propagating the last valid observation to next valid.\n\n.. deprecated:: 2.0\n\n {klass}.pad is deprecated. Use {klass}.ffill instead.\n\nReturns\n-------\n{klass} or None\n Object with missing values filled or None if ``inplace=True``.\n\nExamples\n--------\nPlease see examples for :meth:`DataFrame.ffill` or :meth:`Series.ffill`.\n"}, "kind": 2, "label": "pad", "sortText": "120"}, {"detail": "bound method DataFrame.pct_change(periods: int = 1, fill_method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None | _NoDefault = ..., limit: int | None | _NoDefault = ..., freq=None, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Fractional change between the current and a prior element.\n\nComputes the fractional change from the immediately previous row by\ndefault. This is useful in comparing the fraction of change in a time\nseries of elements.\n\n.. note::\n\n Despite the name of this method, it calculates fractional change\n (also known as per unit change or relative change) and not\n percentage change. If you need the percentage change, multiply\n these values by 100.\n\nParameters\n----------\nperiods : int, default 1\n Periods to shift for forming percent change.\nfill_method : {'backfill', 'bfill', 'pad', 'ffill', None}, default 'pad'\n How to handle NAs **before** computing percent changes.\n\n .. deprecated:: 2.1\n All options of `fill_method` are deprecated except `fill_method=None`.\n\nlimit : int, default None\n The number of consecutive NAs to fill before stopping.\n\n .. deprecated:: 2.1\n\nfreq : DateOffset, timedelta, or str, optional\n Increment to use from time series API (e.g. 'ME' or BDay()).\n**kwargs\n Additional keyword arguments are passed into\n `DataFrame.shift` or `Series.shift`.\n\nReturns\n-------\nSeries or DataFrame\n The same type as the calling object.\n\nSee Also\n--------\nSeries.diff : Compute the difference of two elements in a Series.\nDataFrame.diff : Compute the difference of two elements in a DataFrame.\nSeries.shift : Shift the index by some number of periods.\nDataFrame.shift : Shift the index by some number of periods.\n\nExamples\n--------\n**Series**\n\n>>> s = pd.Series([90, 91, 85])\n>>> s\n0 90\n1 91\n2 85\ndtype: int64\n\n>>> s.pct_change()\n0 NaN\n1 0.011111\n2 -0.065934\ndtype: float64\n\n>>> s.pct_change(periods=2)\n0 NaN\n1 NaN\n2 -0.055556\ndtype: float64\n\nSee the percentage change in a Series where filling NAs with last\nvalid observation forward to next valid.\n\n>>> s = pd.Series([90, 91, None, 85])\n>>> s\n0 90.0\n1 91.0\n2 NaN\n3 85.0\ndtype: float64\n\n>>> s.ffill().pct_change()\n0 NaN\n1 0.011111\n2 0.000000\n3 -0.065934\ndtype: float64\n\n**DataFrame**\n\nPercentage change in French franc, Deutsche Mark, and Italian lira from\n1980-01-01 to 1980-03-01.\n\n>>> df = pd.DataFrame({\n... 'FR': [4.0405, 4.0963, 4.3149],\n... 'GR': [1.7246, 1.7482, 1.8519],\n... 'IT': [804.74, 810.01, 860.13]},\n... index=['1980-01-01', '1980-02-01', '1980-03-01'])\n>>> df\n FR GR IT\n1980-01-01 4.0405 1.7246 804.74\n1980-02-01 4.0963 1.7482 810.01\n1980-03-01 4.3149 1.8519 860.13\n\n>>> df.pct_change()\n FR GR IT\n1980-01-01 NaN NaN NaN\n1980-02-01 0.013810 0.013684 0.006549\n1980-03-01 0.053365 0.059318 0.061876\n\nPercentage of change in GOOG and APPL stock volume. Shows computing\nthe percentage change between columns.\n\n>>> df = pd.DataFrame({\n... '2016': [1769950, 30586265],\n... '2015': [1500923, 40912316],\n... '2014': [1371819, 41403351]},\n... index=['GOOG', 'APPL'])\n>>> df\n 2016 2015 2014\nGOOG 1769950 1500923 1371819\nAPPL 30586265 40912316 41403351\n\n>>> df.pct_change(axis='columns', periods=-1)\n 2016 2015 2014\nGOOG 0.179241 0.094112 NaN\nAPPL -0.252395 -0.011860 NaN\n"}, "kind": 2, "label": "pct_change", "sortText": "121"}, {"detail": "bound method DataFrame.pipe[T](func: ((...) -> T) | tuple[(...) -> T, str], *args, **kwargs) -> T", "documentation": {"kind": "plaintext", "value": "Apply chainable functions that expect Series or DataFrames.\n\nParameters\n----------\nfunc : function\n Function to apply to the {klass}.\n ``args``, and ``kwargs`` are passed into ``func``.\n Alternatively a ``(callable, data_keyword)`` tuple where\n ``data_keyword`` is a string indicating the keyword of\n ``callable`` that expects the {klass}.\n*args : iterable, optional\n Positional arguments passed into ``func``.\n**kwargs : mapping, optional\n A dictionary of keyword arguments passed into ``func``.\n\nReturns\n-------\nthe return type of ``func``.\n\nSee Also\n--------\nDataFrame.apply : Apply a function along input axis of DataFrame.\nDataFrame.map : Apply a function elementwise on a whole DataFrame.\nSeries.map : Apply a mapping correspondence on a\n :class:`~pandas.Series`.\n\nNotes\n-----\nUse ``.pipe`` when chaining together functions that expect\nSeries, DataFrames or GroupBy objects.\n\nExamples\n--------\nConstructing a income DataFrame from a dictionary.\n\n>>> data = [[8000, 1000], [9500, np.nan], [5000, 2000]]\n>>> df = pd.DataFrame(data, columns=['Salary', 'Others'])\n>>> df\n Salary Others\n0 8000 1000.0\n1 9500 NaN\n2 5000 2000.0\n\nFunctions that perform tax reductions on an income DataFrame.\n\n>>> def subtract_federal_tax(df):\n... return df * 0.9\n>>> def subtract_state_tax(df, rate):\n... return df * (1 - rate)\n>>> def subtract_national_insurance(df, rate, rate_increase):\n... new_rate = rate + rate_increase\n... return df * (1 - new_rate)\n\nInstead of writing\n\n>>> subtract_national_insurance(\n... subtract_state_tax(subtract_federal_tax(df), rate=0.12),\n... rate=0.05,\n... rate_increase=0.02) # doctest: +SKIP\n\nYou can write\n\n>>> (\n... df.pipe(subtract_federal_tax)\n... .pipe(subtract_state_tax, rate=0.12)\n... .pipe(subtract_national_insurance, rate=0.05, rate_increase=0.02)\n... )\n Salary Others\n0 5892.48 736.56\n1 6997.32 NaN\n2 3682.80 1473.12\n\nIf you have a function that takes the data as (say) the second\nargument, pass a tuple indicating which keyword expects the\ndata. For example, suppose ``national_insurance`` takes its data as ``df``\nin the second argument:\n\n>>> def subtract_national_insurance(rate, df, rate_increase):\n... new_rate = rate + rate_increase\n... return df * (1 - new_rate)\n>>> (\n... df.pipe(subtract_federal_tax)\n... .pipe(subtract_state_tax, rate=0.12)\n... .pipe(\n... (subtract_national_insurance, 'df'),\n... rate=0.05,\n... rate_increase=0.02\n... )\n... )\n Salary Others\n0 5892.48 736.56\n1 6997.32 NaN\n2 3682.80 1473.12\n"}, "kind": 2, "label": "pipe", "sortText": "122"}, {"detail": "bound method DataFrame.pivot(*, columns, index=..., values=...) -> DataFrame", "kind": 2, "label": "pivot", "sortText": "123"}, {"detail": "bound method DataFrame.pivot_table(values=None, index=None, columns=None, aggfunc: ((...) -> Unknown) | str | list[((...) -> Unknown) | str] | MutableMapping[Hashable, ((...) -> Unknown) | str | list[((...) -> Unknown) | str]] = \"mean\", fill_value=None, margins: bool = False, dropna: bool = True, margins_name: Hashable = \"All\", observed: bool | _NoDefault = ..., sort: bool = True) -> DataFrame", "kind": 2, "label": "pivot_table", "sortText": "124"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "plot", "sortText": "125"}, {"detail": "bound method DataFrame.pop(item: Hashable) -> Series", "documentation": {"kind": "plaintext", "value": "Return item and drop from frame. Raise KeyError if not found.\n\nParameters\n----------\nitem : label\n Label of column to be popped.\n\nReturns\n-------\nSeries\n\nExamples\n--------\n>>> df = pd.DataFrame([('falcon', 'bird', 389.0),\n... ('parrot', 'bird', 24.0),\n... ('lion', 'mammal', 80.5),\n... ('monkey', 'mammal', np.nan)],\n... columns=('name', 'class', 'max_speed'))\n>>> df\n name class max_speed\n0 falcon bird 389.0\n1 parrot bird 24.0\n2 lion mammal 80.5\n3 monkey mammal NaN\n\n>>> df.pop('class')\n0 bird\n1 bird\n2 mammal\n3 mammal\nName: class, dtype: object\n\n>>> df\n name max_speed\n0 falcon 389.0\n1 parrot 24.0\n2 lion 80.5\n3 monkey NaN\n"}, "kind": 2, "label": "pop", "sortText": "126"}, {"detail": "bound method DataFrame.pow(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "pow", "sortText": "127"}, {"detail": "bound method DataFrame.prod(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, min_count: int = 0, **kwargs) -> Unknown", "kind": 2, "label": "prod", "sortText": "128"}, {"detail": "(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, min_count: int = 0, **kwargs) -> Unknown", "kind": 2, "label": "product", "sortText": "129"}, {"detail": "Overload[(q: float = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., numeric_only: bool = ..., interpolation: Literal[\"linear\", \"lower\", \"higher\", \"midpoint\", \"nearest\"] = ..., method: Literal[\"single\", \"table\"] = ...) -> Series, (q: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | Series | Sequence[float], axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., numeric_only: bool = ..., interpolation: Literal[\"linear\", \"lower\", \"higher\", \"midpoint\", \"nearest\"] = ..., method: Literal[\"single\", \"table\"] = ...) -> Series | DataFrame, (q: float | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | ... omitted 3 union elements = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., numeric_only: bool = ..., interpolation: Literal[\"linear\", \"lower\", \"higher\", \"midpoint\", \"nearest\"] = ..., method: Literal[\"single\", \"table\"] = ...) -> Series | DataFrame]", "documentation": {"kind": "plaintext", "value": "Return values at the given quantile over requested axis.\n\nParameters\n----------\nq : float or array-like, default 0.5 (50% quantile)\n Value between 0 <= q <= 1, the quantile(s) to compute.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Equals 0 or 'index' for row-wise, 1 or 'columns' for column-wise.\nnumeric_only : bool, default False\n Include only `float`, `int` or `boolean` data.\n\n .. versionchanged:: 2.0.0\n The default value of ``numeric_only`` is now ``False``.\n\ninterpolation : {'linear', 'lower', 'higher', 'midpoint', 'nearest'}\n This optional parameter specifies the interpolation method to use,\n when the desired quantile lies between two data points `i` and `j`:\n\n * linear: `i + (j - i) * fraction`, where `fraction` is the\n fractional part of the index surrounded by `i` and `j`.\n * lower: `i`.\n * higher: `j`.\n * nearest: `i` or `j` whichever is nearest.\n * midpoint: (`i` + `j`) / 2.\nmethod : {'single', 'table'}, default 'single'\n Whether to compute quantiles per-column ('single') or over all columns\n ('table'). When 'table', the only allowed interpolation methods are\n 'nearest', 'lower', and 'higher'.\n\nReturns\n-------\nSeries or DataFrame\n\n If ``q`` is an array, a DataFrame will be returned where the\n index is ``q``, the columns are the columns of self, and the\n values are the quantiles.\n If ``q`` is a float, a Series will be returned where the\n index is the columns of self and the values are the quantiles.\n\nSee Also\n--------\ncore.window.rolling.Rolling.quantile: Rolling quantile.\nnumpy.percentile: Numpy function to compute the percentile.\n\nExamples\n--------\n>>> df = pd.DataFrame(np.array([[1, 1], [2, 10], [3, 100], [4, 100]]),\n... columns=['a', 'b'])\n>>> df.quantile(.1)\na 1.3\nb 3.7\nName: 0.1, dtype: float64\n>>> df.quantile([.1, .5])\n a b\n0.1 1.3 3.7\n0.5 2.5 55.0\n\nSpecifying `method='table'` will compute the quantile over all columns.\n\n>>> df.quantile(.1, method=\"table\", interpolation=\"nearest\")\na 1\nb 1\nName: 0.1, dtype: int64\n>>> df.quantile([.1, .5], method=\"table\", interpolation=\"nearest\")\n a b\n0.1 1 1\n0.5 3 100\n\nSpecifying `numeric_only=False` will also compute the quantile of\ndatetime and timedelta data.\n\n>>> df = pd.DataFrame({'A': [1, 2],\n... 'B': [pd.Timestamp('2010'),\n... pd.Timestamp('2011')],\n... 'C': [pd.Timedelta('1 days'),\n... pd.Timedelta('2 days')]})\n>>> df.quantile(0.5, numeric_only=False)\nA 1.5\nB 2010-07-02 12:00:00\nC 1 days 12:00:00\nName: 0.5, dtype: object\n"}, "kind": 2, "label": "quantile", "sortText": "130"}, {"detail": "Overload[(expr: str, *, inplace: Literal[False] = ..., **kwargs) -> DataFrame, (expr: str, *, inplace: Literal[True], **kwargs) -> None, (expr: str, *, inplace: bool = ..., **kwargs) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Query the columns of a DataFrame with a boolean expression.\n\nParameters\n----------\nexpr : str\n The query string to evaluate.\n\n You can refer to variables\n in the environment by prefixing them with an '@' character like\n ``@a + b``.\n\n You can refer to column names that are not valid Python variable names\n by surrounding them in backticks. Thus, column names containing spaces\n or punctuations (besides underscores) or starting with digits must be\n surrounded by backticks. (For example, a column named \"Area (cm^2)\" would\n be referenced as ```Area (cm^2)```). Column names which are Python keywords\n (like \"list\", \"for\", \"import\", etc) cannot be used.\n\n For example, if one of your columns is called ``a a`` and you want\n to sum it with ``b``, your query should be ```a a` + b``.\n\ninplace : bool\n Whether to modify the DataFrame rather than creating a new one.\n**kwargs\n See the documentation for :func:`eval` for complete details\n on the keyword arguments accepted by :meth:`DataFrame.query`.\n\nReturns\n-------\nDataFrame or None\n DataFrame resulting from the provided query expression or\n None if ``inplace=True``.\n\nSee Also\n--------\neval : Evaluate a string describing operations on\n DataFrame columns.\nDataFrame.eval : Evaluate a string describing operations on\n DataFrame columns.\n\nNotes\n-----\nThe result of the evaluation of this expression is first passed to\n:attr:`DataFrame.loc` and if that fails because of a\nmultidimensional key (e.g., a DataFrame) then the result will be passed\nto :meth:`DataFrame.__getitem__`.\n\nThis method uses the top-level :func:`eval` function to\nevaluate the passed query.\n\nThe :meth:`~pandas.DataFrame.query` method uses a slightly\nmodified Python syntax by default. For example, the ``&`` and ``|``\n(bitwise) operators have the precedence of their boolean cousins,\n:keyword:`and` and :keyword:`or`. This *is* syntactically valid Python,\nhowever the semantics are different.\n\nYou can change the semantics of the expression by passing the keyword\nargument ``parser='python'``. This enforces the same semantics as\nevaluation in Python space. Likewise, you can pass ``engine='python'``\nto evaluate an expression using Python itself as a backend. This is not\nrecommended as it is inefficient compared to using ``numexpr`` as the\nengine.\n\nThe :attr:`DataFrame.index` and\n:attr:`DataFrame.columns` attributes of the\n:class:`~pandas.DataFrame` instance are placed in the query namespace\nby default, which allows you to treat both the index and columns of the\nframe as a column in the frame.\nThe identifier ``index`` is used for the frame index; you can also\nuse the name of the index to identify it in a query. Please note that\nPython keywords may not be used as identifiers.\n\nFor further details and examples see the ``query`` documentation in\n:ref:`indexing `.\n\n*Backtick quoted variables*\n\nBacktick quoted variables are parsed as literal Python code and\nare converted internally to a Python valid identifier.\nThis can lead to the following problems.\n\nDuring parsing a number of disallowed characters inside the backtick\nquoted string are replaced by strings that are allowed as a Python identifier.\nThese characters include all operators in Python, the space character, the\nquestion mark, the exclamation mark, the dollar sign, and the euro sign.\nFor other characters that fall outside the ASCII range (U+0001..U+007F)\nand those that are not further specified in PEP 3131,\nthe query parser will raise an error.\nThis excludes whitespace different than the space character,\nbut also the hashtag (as it is used for comments) and the backtick\nitself (backtick can also not be escaped).\n\nIn a special case, quotes that make a pair around a backtick can\nconfuse the parser.\nFor example, ```it's` > `that's``` will raise an error,\nas it forms a quoted string (``'s > `that'``) with a backtick inside.\n\nSee also the Python documentation about lexical analysis\n(https://docs.python.org/3/reference/lexical_analysis.html)\nin combination with the source code in :mod:`pandas.core.computation.parsing`.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': range(1, 6),\n... 'B': range(10, 0, -2),\n... 'C C': range(10, 5, -1)})\n>>> df\n A B C C\n0 1 10 10\n1 2 8 9\n2 3 6 8\n3 4 4 7\n4 5 2 6\n>>> df.query('A > B')\n A B C C\n4 5 2 6\n\nThe previous expression is equivalent to\n\n>>> df[df.A > df.B]\n A B C C\n4 5 2 6\n\nFor columns with spaces in their name, you can use backtick quoting.\n\n>>> df.query('B == `C C`')\n A B C C\n0 1 10 10\n\nThe previous expression is equivalent to\n\n>>> df[df.B == df['C C']]\n A B C C\n0 1 10 10\n"}, "kind": 2, "label": "query", "sortText": "131"}, {"detail": "bound method DataFrame.radd(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "radd", "sortText": "132"}, {"detail": "bound method DataFrame.rank(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, method: Literal[\"average\", \"min\", \"max\", \"first\", \"dense\"] = \"average\", numeric_only: bool = False, na_option: Literal[\"keep\", \"top\", \"bottom\"] = \"keep\", ascending: bool = True, pct: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Compute numerical data ranks (1 through n) along axis.\n\nBy default, equal values are assigned a rank that is the average of the\nranks of those values.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Index to direct ranking.\n For `Series` this parameter is unused and defaults to 0.\nmethod : {'average', 'min', 'max', 'first', 'dense'}, default 'average'\n How to rank the group of records that have the same value (i.e. ties):\n\n * average: average rank of the group\n * min: lowest rank in the group\n * max: highest rank in the group\n * first: ranks assigned in order they appear in the array\n * dense: like 'min', but rank always increases by 1 between groups.\n\nnumeric_only : bool, default False\n For DataFrame objects, rank only numeric columns if set to True.\n\n .. versionchanged:: 2.0.0\n The default value of ``numeric_only`` is now ``False``.\n\nna_option : {'keep', 'top', 'bottom'}, default 'keep'\n How to rank NaN values:\n\n * keep: assign NaN rank to NaN values\n * top: assign lowest rank to NaN values\n * bottom: assign highest rank to NaN values\n\nascending : bool, default True\n Whether or not the elements should be ranked in ascending order.\npct : bool, default False\n Whether or not to display the returned rankings in percentile\n form.\n\nReturns\n-------\nsame type as caller\n Return a Series or DataFrame with data ranks as values.\n\nSee Also\n--------\ncore.groupby.DataFrameGroupBy.rank : Rank of values within each group.\ncore.groupby.SeriesGroupBy.rank : Rank of values within each group.\n\nExamples\n--------\n>>> df = pd.DataFrame(data={'Animal': ['cat', 'penguin', 'dog',\n... 'spider', 'snake'],\n... 'Number_legs': [4, 2, 4, 8, np.nan]})\n>>> df\n Animal Number_legs\n0 cat 4.0\n1 penguin 2.0\n2 dog 4.0\n3 spider 8.0\n4 snake NaN\n\nTies are assigned the mean of the ranks (by default) for the group.\n\n>>> s = pd.Series(range(5), index=list(\"abcde\"))\n>>> s[\"d\"] = s[\"b\"]\n>>> s.rank()\na 1.0\nb 2.5\nc 4.0\nd 2.5\ne 5.0\ndtype: float64\n\nThe following example shows how the method behaves with the above\nparameters:\n\n* default_rank: this is the default behaviour obtained without using\n any parameter.\n* max_rank: setting ``method = 'max'`` the records that have the\n same values are ranked using the highest rank (e.g.: since 'cat'\n and 'dog' are both in the 2nd and 3rd position, rank 3 is assigned.)\n* NA_bottom: choosing ``na_option = 'bottom'``, if there are records\n with NaN values they are placed at the bottom of the ranking.\n* pct_rank: when setting ``pct = True``, the ranking is expressed as\n percentile rank.\n\n>>> df['default_rank'] = df['Number_legs'].rank()\n>>> df['max_rank'] = df['Number_legs'].rank(method='max')\n>>> df['NA_bottom'] = df['Number_legs'].rank(na_option='bottom')\n>>> df['pct_rank'] = df['Number_legs'].rank(pct=True)\n>>> df\n Animal Number_legs default_rank max_rank NA_bottom pct_rank\n0 cat 4.0 2.5 3.0 2.5 0.625\n1 penguin 2.0 1.0 1.0 1.0 0.250\n2 dog 4.0 2.5 3.0 2.5 0.625\n3 spider 8.0 4.0 4.0 4.0 1.000\n4 snake NaN NaN NaN 5.0 NaN\n"}, "kind": 2, "label": "rank", "sortText": "133"}, {"detail": "(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rdiv", "sortText": "134"}, {"detail": "bound method DataFrame.reindex(labels=None, *, index=None, columns=None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\", \"nearest\"] | None = None, copy: bool | None = None, level: Hashable = None, fill_value: str | float | Period | ... omitted 6 union elements = ..., limit: int | None = None, tolerance=None) -> DataFrame", "kind": 2, "label": "reindex", "sortText": "135"}, {"detail": "bound method DataFrame.reindex_like(other, method: Literal[\"backfill\", \"bfill\", \"pad\", \"ffill\", \"nearest\"] | None = None, copy: bool | None = None, limit: int | None = None, tolerance=None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return an object with matching indices as other object.\n\nConform the object to the same index on all axes. Optional\nfilling logic, placing NaN in locations having no value\nin the previous index. A new object is produced unless the\nnew index is equivalent to the current one and copy=False.\n\nParameters\n----------\nother : Object of the same data type\n Its row and column indices are used to define the new indices\n of this object.\nmethod : {None, 'backfill'/'bfill', 'pad'/'ffill', 'nearest'}\n Method to use for filling holes in reindexed DataFrame.\n Please note: this is only applicable to DataFrames/Series with a\n monotonically increasing/decreasing index.\n\n * None (default): don't fill gaps\n * pad / ffill: propagate last valid observation forward to next\n valid\n * backfill / bfill: use next valid observation to fill gap\n * nearest: use nearest valid observations to fill gap.\n\ncopy : bool, default True\n Return a new object, even if the passed indexes are the same.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\nlimit : int, default None\n Maximum number of consecutive labels to fill for inexact matches.\ntolerance : optional\n Maximum distance between original and new labels for inexact\n matches. The values of the index at the matching locations must\n satisfy the equation ``abs(index[indexer] - target) <= tolerance``.\n\n Tolerance may be a scalar value, which applies the same tolerance\n to all values, or list-like, which applies variable tolerance per\n element. List-like includes list, tuple, array, Series, and must be\n the same size as the index and its dtype must exactly match the\n index's type.\n\nReturns\n-------\nSeries or DataFrame\n Same type as caller, but with changed indices on each axis.\n\nSee Also\n--------\nDataFrame.set_index : Set row labels.\nDataFrame.reset_index : Remove row labels or move them to new columns.\nDataFrame.reindex : Change to new indices or expand indices.\n\nNotes\n-----\nSame as calling\n``.reindex(index=other.index, columns=other.columns,...)``.\n\nExamples\n--------\n>>> df1 = pd.DataFrame([[24.3, 75.7, 'high'],\n... [31, 87.8, 'high'],\n... [22, 71.6, 'medium'],\n... [35, 95, 'medium']],\n... columns=['temp_celsius', 'temp_fahrenheit',\n... 'windspeed'],\n... index=pd.date_range(start='2014-02-12',\n... end='2014-02-15', freq='D'))\n\n>>> df1\n temp_celsius temp_fahrenheit windspeed\n2014-02-12 24.3 75.7 high\n2014-02-13 31.0 87.8 high\n2014-02-14 22.0 71.6 medium\n2014-02-15 35.0 95.0 medium\n\n>>> df2 = pd.DataFrame([[28, 'low'],\n... [30, 'low'],\n... [35.1, 'medium']],\n... columns=['temp_celsius', 'windspeed'],\n... index=pd.DatetimeIndex(['2014-02-12', '2014-02-13',\n... '2014-02-15']))\n\n>>> df2\n temp_celsius windspeed\n2014-02-12 28.0 low\n2014-02-13 30.0 low\n2014-02-15 35.1 medium\n\n>>> df2.reindex_like(df1)\n temp_celsius temp_fahrenheit windspeed\n2014-02-12 28.0 NaN low\n2014-02-13 30.0 NaN low\n2014-02-14 NaN NaN NaN\n2014-02-15 35.1 NaN medium\n"}, "kind": 2, "label": "reindex_like", "sortText": "136"}, {"detail": "Overload[(mapper: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., *, index: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., columns: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., copy: bool | None = ..., inplace: Literal[True], level: Hashable = ..., errors: Literal[\"ignore\", \"raise\"] = ...) -> None, (mapper: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., *, index: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., columns: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., copy: bool | None = ..., inplace: Literal[False] = ..., level: Hashable = ..., errors: Literal[\"ignore\", \"raise\"] = ...) -> DataFrame, (mapper: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., *, index: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., columns: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., copy: bool | None = ..., inplace: bool = ..., level: Hashable = ..., errors: Literal[\"ignore\", \"raise\"] = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Rename columns or index labels.\n\nFunction / dict values must be unique (1-to-1). Labels not contained in\na dict / Series will be left as-is. Extra labels listed don't throw an\nerror.\n\nSee the :ref:`user guide ` for more.\n\nParameters\n----------\nmapper : dict-like or function\n Dict-like or function transformations to apply to\n that axis' values. Use either ``mapper`` and ``axis`` to\n specify the axis to target with ``mapper``, or ``index`` and\n ``columns``.\nindex : dict-like or function\n Alternative to specifying axis (``mapper, axis=0``\n is equivalent to ``index=mapper``).\ncolumns : dict-like or function\n Alternative to specifying axis (``mapper, axis=1``\n is equivalent to ``columns=mapper``).\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Axis to target with ``mapper``. Can be either the axis name\n ('index', 'columns') or number (0, 1). The default is 'index'.\ncopy : bool, default True\n Also copy underlying data.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\ninplace : bool, default False\n Whether to modify the DataFrame rather than creating a new one.\n If True then value of copy is ignored.\nlevel : int or level name, default None\n In case of a MultiIndex, only rename labels in the specified\n level.\nerrors : {'ignore', 'raise'}, default 'ignore'\n If 'raise', raise a `KeyError` when a dict-like `mapper`, `index`,\n or `columns` contains labels that are not present in the Index\n being transformed.\n If 'ignore', existing keys will be renamed and extra keys will be\n ignored.\n\nReturns\n-------\nDataFrame or None\n DataFrame with the renamed axis labels or None if ``inplace=True``.\n\nRaises\n------\nKeyError\n If any of the labels is not found in the selected axis and\n \"errors='raise'\".\n\nSee Also\n--------\nDataFrame.rename_axis : Set the name of the axis.\n\nExamples\n--------\n``DataFrame.rename`` supports two calling conventions\n\n* ``(index=index_mapper, columns=columns_mapper, ...)``\n* ``(mapper, axis={'index', 'columns'}, ...)``\n\nWe *highly* recommend using keyword arguments to clarify your\nintent.\n\nRename columns using a mapping:\n\n>>> df = pd.DataFrame({\"A\": [1, 2, 3], \"B\": [4, 5, 6]})\n>>> df.rename(columns={\"A\": \"a\", \"B\": \"c\"})\n a c\n0 1 4\n1 2 5\n2 3 6\n\nRename index using a mapping:\n\n>>> df.rename(index={0: \"x\", 1: \"y\", 2: \"z\"})\n A B\nx 1 4\ny 2 5\nz 3 6\n\nCast index labels to a different type:\n\n>>> df.index\nRangeIndex(start=0, stop=3, step=1)\n>>> df.rename(index=str).index\nIndex(['0', '1', '2'], dtype='object')\n\n>>> df.rename(columns={\"A\": \"a\", \"B\": \"b\", \"C\": \"c\"}, errors=\"raise\")\nTraceback (most recent call last):\nKeyError: ['C'] not found in axis\n\nUsing axis-style parameters:\n\n>>> df.rename(str.lower, axis='columns')\n a b\n0 1 4\n1 2 5\n2 3 6\n\n>>> df.rename({1: 2, 2: 4}, axis='index')\n A B\n0 1 4\n2 2 5\n4 3 6\n"}, "kind": 2, "label": "rename", "sortText": "137"}, {"detail": "Overload[(mapper: Hashable | Sequence[Hashable] = ..., *, index=..., columns=..., axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., copy: bool | None = ..., inplace: Literal[False] = ...) -> DataFrame, (mapper: Hashable | Sequence[Hashable] = ..., *, index=..., columns=..., axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., copy: bool | None = ..., inplace: Literal[True]) -> None, (mapper: Hashable | Sequence[Hashable] = ..., *, index=..., columns=..., axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., copy: bool | None = ..., inplace: bool = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Set the name of the axis for the index or columns.\n\nParameters\n----------\nmapper : scalar, list-like, optional\n Value to set the axis name attribute.\nindex, columns : scalar, list-like, dict-like or function, optional\n A scalar, list-like, dict-like or functions transformations to\n apply to that axis' values.\n Note that the ``columns`` parameter is not allowed if the\n object is a Series. This parameter only apply for DataFrame\n type objects.\n\n Use either ``mapper`` and ``axis`` to\n specify the axis to target with ``mapper``, or ``index``\n and/or ``columns``.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to rename. For `Series` this parameter is unused and defaults to 0.\ncopy : bool, default None\n Also copy underlying data.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\ninplace : bool, default False\n Modifies the object directly, instead of creating a new Series\n or DataFrame.\n\nReturns\n-------\nSeries, DataFrame, or None\n The same type as the caller or None if ``inplace=True``.\n\nSee Also\n--------\nSeries.rename : Alter Series index labels or name.\nDataFrame.rename : Alter DataFrame index labels or name.\nIndex.rename : Set new names on index.\n\nNotes\n-----\n``DataFrame.rename_axis`` supports two calling conventions\n\n* ``(index=index_mapper, columns=columns_mapper, ...)``\n* ``(mapper, axis={'index', 'columns'}, ...)``\n\nThe first calling convention will only modify the names of\nthe index and/or the names of the Index object that is the columns.\nIn this case, the parameter ``copy`` is ignored.\n\nThe second calling convention will modify the names of the\ncorresponding index if mapper is a list or a scalar.\nHowever, if mapper is dict-like or a function, it will use the\ndeprecated behavior of modifying the axis *labels*.\n\nWe *highly* recommend using keyword arguments to clarify your\nintent.\n\nExamples\n--------\n**Series**\n\n>>> s = pd.Series([\"dog\", \"cat\", \"monkey\"])\n>>> s\n0 dog\n1 cat\n2 monkey\ndtype: object\n>>> s.rename_axis(\"animal\")\nanimal\n0 dog\n1 cat\n2 monkey\ndtype: object\n\n**DataFrame**\n\n>>> df = pd.DataFrame({\"num_legs\": [4, 4, 2],\n... \"num_arms\": [0, 0, 2]},\n... [\"dog\", \"cat\", \"monkey\"])\n>>> df\n num_legs num_arms\ndog 4 0\ncat 4 0\nmonkey 2 2\n>>> df = df.rename_axis(\"animal\")\n>>> df\n num_legs num_arms\nanimal\ndog 4 0\ncat 4 0\nmonkey 2 2\n>>> df = df.rename_axis(\"limbs\", axis=\"columns\")\n>>> df\nlimbs num_legs num_arms\nanimal\ndog 4 0\ncat 4 0\nmonkey 2 2\n\n**MultiIndex**\n\n>>> df.index = pd.MultiIndex.from_product([['mammal'],\n... ['dog', 'cat', 'monkey']],\n... names=['type', 'name'])\n>>> df\nlimbs num_legs num_arms\ntype name\nmammal dog 4 0\n cat 4 0\n monkey 2 2\n\n>>> df.rename_axis(index={'type': 'class'})\nlimbs num_legs num_arms\nclass name\nmammal dog 4 0\n cat 4 0\n monkey 2 2\n\n>>> df.rename_axis(columns=str.upper)\nLIMBS num_legs num_arms\ntype name\nmammal dog 4 0\n cat 4 0\n monkey 2 2\n"}, "kind": 2, "label": "rename_axis", "sortText": "138"}, {"detail": "bound method DataFrame.reorder_levels(order: Sequence[int | str], axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Rearrange index levels using input order. May not drop or duplicate levels.\n\nParameters\n----------\norder : list of int or list of str\n List representing new level order. Reference level by number\n (position) or by key (label).\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Where to reorder levels.\n\nReturns\n-------\nDataFrame\n\nExamples\n--------\n>>> data = {\n... \"class\": [\"Mammals\", \"Mammals\", \"Reptiles\"],\n... \"diet\": [\"Omnivore\", \"Carnivore\", \"Carnivore\"],\n... \"species\": [\"Humans\", \"Dogs\", \"Snakes\"],\n... }\n>>> df = pd.DataFrame(data, columns=[\"class\", \"diet\", \"species\"])\n>>> df = df.set_index([\"class\", \"diet\"])\n>>> df\n species\nclass diet\nMammals Omnivore Humans\n Carnivore Dogs\nReptiles Carnivore Snakes\n\nLet's reorder the levels of the index:\n\n>>> df.reorder_levels([\"diet\", \"class\"])\n species\ndiet class\nOmnivore Mammals Humans\nCarnivore Mammals Dogs\n Reptiles Snakes\n"}, "kind": 2, "label": "reorder_levels", "sortText": "139"}, {"detail": "Overload[(to_replace=..., value=..., *, inplace: Literal[False] = ..., limit: int | None = ..., regex: bool = ..., method: Literal[\"pad\", \"ffill\", \"bfill\"] | _NoDefault = ...) -> DataFrame, (to_replace=..., value=..., *, inplace: Literal[True], limit: int | None = ..., regex: bool = ..., method: Literal[\"pad\", \"ffill\", \"bfill\"] | _NoDefault = ...) -> None, (to_replace=..., value=..., *, inplace: bool = ..., limit: int | None = ..., regex: bool = ..., method: Literal[\"pad\", \"ffill\", \"bfill\"] | _NoDefault = ...) -> DataFrame | None]", "kind": 2, "label": "replace", "sortText": "140"}, {"detail": "bound method DataFrame.resample(rule, axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., closed: Literal[\"right\", \"left\"] | None = None, label: Literal[\"right\", \"left\"] | None = None, convention: Literal[\"start\", \"end\", \"s\", \"e\"] = \"start\", kind: Literal[\"timestamp\", \"period\"] | None | _NoDefault = ..., on: Hashable = None, level: Hashable = None, origin: str | date | datetime64[Any] | signedinteger[_64Bit] | float = \"start_day\", offset: timedelta | timedelta64[Any] | signedinteger[_64Bit] | ... omitted 3 union elements = None, group_keys: bool = False) -> Resampler", "documentation": {"kind": "plaintext", "value": "Resample time-series data.\n\nConvenience method for frequency conversion and resampling of time series.\nThe object must have a datetime-like index (`DatetimeIndex`, `PeriodIndex`,\nor `TimedeltaIndex`), or the caller must pass the label of a datetime-like\nseries/index to the ``on``/``level`` keyword parameter.\n\nParameters\n----------\nrule : DateOffset, Timedelta or str\n The offset string or object representing target conversion.\naxis : {{0 or 'index', 1 or 'columns'}}, default 0\n Which axis to use for up- or down-sampling. For `Series` this parameter\n is unused and defaults to 0. Must be\n `DatetimeIndex`, `TimedeltaIndex` or `PeriodIndex`.\n\n .. deprecated:: 2.0.0\n Use frame.T.resample(...) instead.\nclosed : {{'right', 'left'}}, default None\n Which side of bin interval is closed. The default is 'left'\n for all frequency offsets except for 'ME', 'YE', 'QE', 'BME',\n 'BA', 'BQE', and 'W' which all have a default of 'right'.\nlabel : {{'right', 'left'}}, default None\n Which bin edge label to label bucket with. The default is 'left'\n for all frequency offsets except for 'ME', 'YE', 'QE', 'BME',\n 'BA', 'BQE', and 'W' which all have a default of 'right'.\nconvention : {{'start', 'end', 's', 'e'}}, default 'start'\n For `PeriodIndex` only, controls whether to use the start or\n end of `rule`.\n\nkind : {{'timestamp', 'period'}}, optional, default None\n Pass 'timestamp' to convert the resulting index to a\n `DateTimeIndex` or 'period' to convert it to a `PeriodIndex`.\n By default the input representation is retained.\n\n .. deprecated:: 2.2.0\n Convert index to desired type explicitly instead.\n\non : str, optional\n For a DataFrame, column to use instead of index for resampling.\n Column must be datetime-like.\nlevel : str or int, optional\n For a MultiIndex, level (name or number) to use for\n resampling. `level` must be datetime-like.\norigin : Timestamp or str, default 'start_day'\n The timestamp on which to adjust the grouping. The timezone of origin\n must match the timezone of the index.\n If string, must be one of the following:\n\n - 'epoch': `origin` is 1970-01-01\n - 'start': `origin` is the first value of the timeseries\n - 'start_day': `origin` is the first day at midnight of the timeseries\n\n - 'end': `origin` is the last value of the timeseries\n - 'end_day': `origin` is the ceiling midnight of the last day\n\n .. versionadded:: 1.3.0\n\n .. note::\n\n Only takes effect for Tick-frequencies (i.e. fixed frequencies like\n days, hours, and minutes, rather than months or quarters).\noffset : Timedelta or str, default is None\n An offset timedelta added to the origin.\n\ngroup_keys : bool, default False\n Whether to include the group keys in the result index when using\n ``.apply()`` on the resampled object.\n\n .. versionadded:: 1.5.0\n\n Not specifying ``group_keys`` will retain values-dependent behavior\n from pandas 1.4 and earlier (see :ref:`pandas 1.5.0 Release notes\n ` for examples).\n\n .. versionchanged:: 2.0.0\n\n ``group_keys`` now defaults to ``False``.\n\nReturns\n-------\npandas.api.typing.Resampler\n :class:`~pandas.core.Resampler` object.\n\nSee Also\n--------\nSeries.resample : Resample a Series.\nDataFrame.resample : Resample a DataFrame.\ngroupby : Group {klass} by mapping, function, label, or list of labels.\nasfreq : Reindex a {klass} with the given frequency without grouping.\n\nNotes\n-----\nSee the `user guide\n`__\nfor more.\n\nTo learn more about the offset strings, please see `this link\n`__.\n\nExamples\n--------\nStart by creating a series with 9 one minute timestamps.\n\n>>> index = pd.date_range('1/1/2000', periods=9, freq='min')\n>>> series = pd.Series(range(9), index=index)\n>>> series\n2000-01-01 00:00:00 0\n2000-01-01 00:01:00 1\n2000-01-01 00:02:00 2\n2000-01-01 00:03:00 3\n2000-01-01 00:04:00 4\n2000-01-01 00:05:00 5\n2000-01-01 00:06:00 6\n2000-01-01 00:07:00 7\n2000-01-01 00:08:00 8\nFreq: min, dtype: int64\n\nDownsample the series into 3 minute bins and sum the values\nof the timestamps falling into a bin.\n\n>>> series.resample('3min').sum()\n2000-01-01 00:00:00 3\n2000-01-01 00:03:00 12\n2000-01-01 00:06:00 21\nFreq: 3min, dtype: int64\n\nDownsample the series into 3 minute bins as above, but label each\nbin using the right edge instead of the left. Please note that the\nvalue in the bucket used as the label is not included in the bucket,\nwhich it labels. For example, in the original series the\nbucket ``2000-01-01 00:03:00`` contains the value 3, but the summed\nvalue in the resampled bucket with the label ``2000-01-01 00:03:00``\ndoes not include 3 (if it did, the summed value would be 6, not 3).\n\n>>> series.resample('3min', label='right').sum()\n2000-01-01 00:03:00 3\n2000-01-01 00:06:00 12\n2000-01-01 00:09:00 21\nFreq: 3min, dtype: int64\n\nTo include this value close the right side of the bin interval,\nas shown below.\n\n>>> series.resample('3min', label='right', closed='right').sum()\n2000-01-01 00:00:00 0\n2000-01-01 00:03:00 6\n2000-01-01 00:06:00 15\n2000-01-01 00:09:00 15\nFreq: 3min, dtype: int64\n\nUpsample the series into 30 second bins.\n\n>>> series.resample('30s').asfreq()[0:5] # Select first 5 rows\n2000-01-01 00:00:00 0.0\n2000-01-01 00:00:30 NaN\n2000-01-01 00:01:00 1.0\n2000-01-01 00:01:30 NaN\n2000-01-01 00:02:00 2.0\nFreq: 30s, dtype: float64\n\nUpsample the series into 30 second bins and fill the ``NaN``\nvalues using the ``ffill`` method.\n\n>>> series.resample('30s').ffill()[0:5]\n2000-01-01 00:00:00 0\n2000-01-01 00:00:30 0\n2000-01-01 00:01:00 1\n2000-01-01 00:01:30 1\n2000-01-01 00:02:00 2\nFreq: 30s, dtype: int64\n\nUpsample the series into 30 second bins and fill the\n``NaN`` values using the ``bfill`` method.\n\n>>> series.resample('30s').bfill()[0:5]\n2000-01-01 00:00:00 0\n2000-01-01 00:00:30 1\n2000-01-01 00:01:00 1\n2000-01-01 00:01:30 2\n2000-01-01 00:02:00 2\nFreq: 30s, dtype: int64\n\nPass a custom function via ``apply``\n\n>>> def custom_resampler(arraylike):\n... return np.sum(arraylike) + 5\n...\n>>> series.resample('3min').apply(custom_resampler)\n2000-01-01 00:00:00 8\n2000-01-01 00:03:00 17\n2000-01-01 00:06:00 26\nFreq: 3min, dtype: int64\n\nFor a Series with a PeriodIndex, the keyword `convention` can be\nused to control whether to use the start or end of `rule`.\n\nResample a year by quarter using 'start' `convention`. Values are\nassigned to the first quarter of the period.\n\n>>> s = pd.Series(\n... [1, 2], index=pd.period_range(\"2012-01-01\", freq=\"Y\", periods=2)\n... )\n>>> s\n2012 1\n2013 2\nFreq: Y-DEC, dtype: int64\n>>> s.resample(\"Q\", convention=\"start\").asfreq()\n2012Q1 1.0\n2012Q2 NaN\n2012Q3 NaN\n2012Q4 NaN\n2013Q1 2.0\n2013Q2 NaN\n2013Q3 NaN\n2013Q4 NaN\nFreq: Q-DEC, dtype: float64\n\nResample quarters by month using 'end' `convention`. Values are\nassigned to the last month of the period.\n\n>>> q = pd.Series(\n... [1, 2, 3, 4], index=pd.period_range(\"2018-01-01\", freq=\"Q\", periods=4)\n... )\n>>> q\n2018Q1 1\n2018Q2 2\n2018Q3 3\n2018Q4 4\nFreq: Q-DEC, dtype: int64\n>>> q.resample(\"M\", convention=\"end\").asfreq()\n2018-03 1.0\n2018-04 NaN\n2018-05 NaN\n2018-06 2.0\n2018-07 NaN\n2018-08 NaN\n2018-09 3.0\n2018-10 NaN\n2018-11 NaN\n2018-12 4.0\nFreq: M, dtype: float64\n\nFor DataFrame objects, the keyword `on` can be used to specify the\ncolumn instead of the index for resampling.\n\n>>> d = {{'price': [10, 11, 9, 13, 14, 18, 17, 19],\n... 'volume': [50, 60, 40, 100, 50, 100, 40, 50]}}\n>>> df = pd.DataFrame(d)\n>>> df['week_starting'] = pd.date_range('01/01/2018',\n... periods=8,\n... freq='W')\n>>> df\n price volume week_starting\n0 10 50 2018-01-07\n1 11 60 2018-01-14\n2 9 40 2018-01-21\n3 13 100 2018-01-28\n4 14 50 2018-02-04\n5 18 100 2018-02-11\n6 17 40 2018-02-18\n7 19 50 2018-02-25\n>>> df.resample('ME', on='week_starting').mean()\n price volume\nweek_starting\n2018-01-31 10.75 62.5\n2018-02-28 17.00 60.0\n\nFor a DataFrame with MultiIndex, the keyword `level` can be used to\nspecify on which level the resampling needs to take place.\n\n>>> days = pd.date_range('1/1/2000', periods=4, freq='D')\n>>> d2 = {{'price': [10, 11, 9, 13, 14, 18, 17, 19],\n... 'volume': [50, 60, 40, 100, 50, 100, 40, 50]}}\n>>> df2 = pd.DataFrame(\n... d2,\n... index=pd.MultiIndex.from_product(\n... [days, ['morning', 'afternoon']]\n... )\n... )\n>>> df2\n price volume\n2000-01-01 morning 10 50\n afternoon 11 60\n2000-01-02 morning 9 40\n afternoon 13 100\n2000-01-03 morning 14 50\n afternoon 18 100\n2000-01-04 morning 17 40\n afternoon 19 50\n>>> df2.resample('D', level=0).sum()\n price volume\n2000-01-01 21 110\n2000-01-02 22 140\n2000-01-03 32 150\n2000-01-04 36 90\n\nIf you want to adjust the start of the bins based on a fixed timestamp:\n\n>>> start, end = '2000-10-01 23:30:00', '2000-10-02 00:30:00'\n>>> rng = pd.date_range(start, end, freq='7min')\n>>> ts = pd.Series(np.arange(len(rng)) * 3, index=rng)\n>>> ts\n2000-10-01 23:30:00 0\n2000-10-01 23:37:00 3\n2000-10-01 23:44:00 6\n2000-10-01 23:51:00 9\n2000-10-01 23:58:00 12\n2000-10-02 00:05:00 15\n2000-10-02 00:12:00 18\n2000-10-02 00:19:00 21\n2000-10-02 00:26:00 24\nFreq: 7min, dtype: int64\n\n>>> ts.resample('17min').sum()\n2000-10-01 23:14:00 0\n2000-10-01 23:31:00 9\n2000-10-01 23:48:00 21\n2000-10-02 00:05:00 54\n2000-10-02 00:22:00 24\nFreq: 17min, dtype: int64\n\n>>> ts.resample('17min', origin='epoch').sum()\n2000-10-01 23:18:00 0\n2000-10-01 23:35:00 18\n2000-10-01 23:52:00 27\n2000-10-02 00:09:00 39\n2000-10-02 00:26:00 24\nFreq: 17min, dtype: int64\n\n>>> ts.resample('17min', origin='2000-01-01').sum()\n2000-10-01 23:24:00 3\n2000-10-01 23:41:00 15\n2000-10-01 23:58:00 45\n2000-10-02 00:15:00 45\nFreq: 17min, dtype: int64\n\nIf you want to adjust the start of the bins with an `offset` Timedelta, the two\nfollowing lines are equivalent:\n\n>>> ts.resample('17min', origin='start').sum()\n2000-10-01 23:30:00 9\n2000-10-01 23:47:00 21\n2000-10-02 00:04:00 54\n2000-10-02 00:21:00 24\nFreq: 17min, dtype: int64\n\n>>> ts.resample('17min', offset='23h30min').sum()\n2000-10-01 23:30:00 9\n2000-10-01 23:47:00 21\n2000-10-02 00:04:00 54\n2000-10-02 00:21:00 24\nFreq: 17min, dtype: int64\n\nIf you want to take the largest Timestamp as the end of the bins:\n\n>>> ts.resample('17min', origin='end').sum()\n2000-10-01 23:35:00 0\n2000-10-01 23:52:00 18\n2000-10-02 00:09:00 27\n2000-10-02 00:26:00 63\nFreq: 17min, dtype: int64\n\nIn contrast with the `start_day`, you can use `end_day` to take the ceiling\nmidnight of the largest Timestamp as the end of the bins and drop the bins\nnot containing data:\n\n>>> ts.resample('17min', origin='end_day').sum()\n2000-10-01 23:38:00 3\n2000-10-01 23:55:00 15\n2000-10-02 00:12:00 45\n2000-10-02 00:29:00 45\nFreq: 17min, dtype: int64\n"}, "kind": 2, "label": "resample", "sortText": "141"}, {"detail": "Overload[(level: Hashable | Sequence[Hashable] = ..., *, drop: bool = ..., inplace: Literal[False] = ..., col_level: Hashable = ..., col_fill: Hashable = ..., allow_duplicates: bool | _NoDefault = ..., names: Hashable | Sequence[Hashable] = None) -> DataFrame, (level: Hashable | Sequence[Hashable] = ..., *, drop: bool = ..., inplace: Literal[True], col_level: Hashable = ..., col_fill: Hashable = ..., allow_duplicates: bool | _NoDefault = ..., names: Hashable | Sequence[Hashable] = None) -> None, (level: Hashable | Sequence[Hashable] = ..., *, drop: bool = ..., inplace: bool = ..., col_level: Hashable = ..., col_fill: Hashable = ..., allow_duplicates: bool | _NoDefault = ..., names: Hashable | Sequence[Hashable] = None) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Reset the index, or a level of it.\n\nReset the index of the DataFrame, and use the default one instead.\nIf the DataFrame has a MultiIndex, this method can remove one or more\nlevels.\n\nParameters\n----------\nlevel : int, str, tuple, or list, default None\n Only remove the given levels from the index. Removes all levels by\n default.\ndrop : bool, default False\n Do not try to insert index into dataframe columns. This resets\n the index to the default integer index.\ninplace : bool, default False\n Whether to modify the DataFrame rather than creating a new one.\ncol_level : int or str, default 0\n If the columns have multiple levels, determines which level the\n labels are inserted into. By default it is inserted into the first\n level.\ncol_fill : object, default ''\n If the columns have multiple levels, determines how the other\n levels are named. If None then the index name is repeated.\nallow_duplicates : bool, optional, default lib.no_default\n Allow duplicate column labels to be created.\n\n .. versionadded:: 1.5.0\n\nnames : int, str or 1-dimensional list, default None\n Using the given string, rename the DataFrame column which contains the\n index data. If the DataFrame has a MultiIndex, this has to be a list or\n tuple with length equal to the number of levels.\n\n .. versionadded:: 1.5.0\n\nReturns\n-------\nDataFrame or None\n DataFrame with the new index or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.set_index : Opposite of reset_index.\nDataFrame.reindex : Change to new indices or expand indices.\nDataFrame.reindex_like : Change to same indices as other DataFrame.\n\nExamples\n--------\n>>> df = pd.DataFrame([('bird', 389.0),\n... ('bird', 24.0),\n... ('mammal', 80.5),\n... ('mammal', np.nan)],\n... index=['falcon', 'parrot', 'lion', 'monkey'],\n... columns=('class', 'max_speed'))\n>>> df\n class max_speed\nfalcon bird 389.0\nparrot bird 24.0\nlion mammal 80.5\nmonkey mammal NaN\n\nWhen we reset the index, the old index is added as a column, and a\nnew sequential index is used:\n\n>>> df.reset_index()\n index class max_speed\n0 falcon bird 389.0\n1 parrot bird 24.0\n2 lion mammal 80.5\n3 monkey mammal NaN\n\nWe can use the `drop` parameter to avoid the old index being added as\na column:\n\n>>> df.reset_index(drop=True)\n class max_speed\n0 bird 389.0\n1 bird 24.0\n2 mammal 80.5\n3 mammal NaN\n\nYou can also use `reset_index` with `MultiIndex`.\n\n>>> index = pd.MultiIndex.from_tuples([('bird', 'falcon'),\n... ('bird', 'parrot'),\n... ('mammal', 'lion'),\n... ('mammal', 'monkey')],\n... names=['class', 'name'])\n>>> columns = pd.MultiIndex.from_tuples([('speed', 'max'),\n... ('species', 'type')])\n>>> df = pd.DataFrame([(389.0, 'fly'),\n... (24.0, 'fly'),\n... (80.5, 'run'),\n... (np.nan, 'jump')],\n... index=index,\n... columns=columns)\n>>> df\n speed species\n max type\nclass name\nbird falcon 389.0 fly\n parrot 24.0 fly\nmammal lion 80.5 run\n monkey NaN jump\n\nUsing the `names` parameter, choose a name for the index column:\n\n>>> df.reset_index(names=['classes', 'names'])\n classes names speed species\n max type\n0 bird falcon 389.0 fly\n1 bird parrot 24.0 fly\n2 mammal lion 80.5 run\n3 mammal monkey NaN jump\n\nIf the index has multiple levels, we can reset a subset of them:\n\n>>> df.reset_index(level='class')\n class speed species\n max type\nname\nfalcon bird 389.0 fly\nparrot bird 24.0 fly\nlion mammal 80.5 run\nmonkey mammal NaN jump\n\nIf we are not dropping the index, by default, it is placed in the top\nlevel. We can place it in another level:\n\n>>> df.reset_index(level='class', col_level=1)\n speed species\n class max type\nname\nfalcon bird 389.0 fly\nparrot bird 24.0 fly\nlion mammal 80.5 run\nmonkey mammal NaN jump\n\nWhen the index is inserted under another level, we can specify under\nwhich one with the parameter `col_fill`:\n\n>>> df.reset_index(level='class', col_level=1, col_fill='species')\n species speed species\n class max type\nname\nfalcon bird 389.0 fly\nparrot bird 24.0 fly\nlion mammal 80.5 run\nmonkey mammal NaN jump\n\nIf we specify a nonexistent level for `col_fill`, it is created:\n\n>>> df.reset_index(level='class', col_level=1, col_fill='genus')\n genus speed species\n class max type\nname\nfalcon bird 389.0 fly\nparrot bird 24.0 fly\nlion mammal 80.5 run\nmonkey mammal NaN jump\n"}, "kind": 2, "label": "reset_index", "sortText": "142"}, {"detail": "bound method DataFrame.rfloordiv(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rfloordiv", "sortText": "143"}, {"detail": "bound method DataFrame.rmod(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rmod", "sortText": "144"}, {"detail": "bound method DataFrame.rmul(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rmul", "sortText": "145"}, {"detail": "bound method DataFrame.rolling(window: int | timedelta | str | BaseOffset | BaseIndexer, min_periods: int | None = None, center: bool = False, win_type: str | None = None, on: str | None = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., closed: Literal[\"left\", \"right\", \"both\", \"neither\"] | None = None, step: int | None = None, method: str = \"single\") -> Window | Rolling", "kind": 2, "label": "rolling", "sortText": "146"}, {"detail": "bound method DataFrame.round(decimals: int | dict[Hashable | Sequence[Hashable], int] | Series = 0, *args, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Round a DataFrame to a variable number of decimal places.\n\nParameters\n----------\ndecimals : int, dict, Series\n Number of decimal places to round each column to. If an int is\n given, round each column to the same number of places.\n Otherwise dict and Series round to variable numbers of places.\n Column names should be in the keys if `decimals` is a\n dict-like, or in the index if `decimals` is a Series. Any\n columns not included in `decimals` will be left as is. Elements\n of `decimals` which are not columns of the input will be\n ignored.\n*args\n Additional keywords have no effect but might be accepted for\n compatibility with numpy.\n**kwargs\n Additional keywords have no effect but might be accepted for\n compatibility with numpy.\n\nReturns\n-------\nDataFrame\n A DataFrame with the affected columns rounded to the specified\n number of decimal places.\n\nSee Also\n--------\nnumpy.around : Round a numpy array to the given number of decimals.\nSeries.round : Round a Series to the given number of decimals.\n\nExamples\n--------\n>>> df = pd.DataFrame([(.21, .32), (.01, .67), (.66, .03), (.21, .18)],\n... columns=['dogs', 'cats'])\n>>> df\n dogs cats\n0 0.21 0.32\n1 0.01 0.67\n2 0.66 0.03\n3 0.21 0.18\n\nBy providing an integer each column is rounded to the same number\nof decimal places\n\n>>> df.round(1)\n dogs cats\n0 0.2 0.3\n1 0.0 0.7\n2 0.7 0.0\n3 0.2 0.2\n\nWith a dict, the number of places for specific columns can be\nspecified with the column names as key and the number of decimal\nplaces as value\n\n>>> df.round({'dogs': 1, 'cats': 0})\n dogs cats\n0 0.2 0.0\n1 0.0 1.0\n2 0.7 0.0\n3 0.2 0.0\n\nUsing a Series, the number of places for specific columns can be\nspecified with the column names as index and the number of\ndecimal places as value\n\n>>> decimals = pd.Series([0, 1], index=['cats', 'dogs'])\n>>> df.round(decimals)\n dogs cats\n0 0.2 0.0\n1 0.0 1.0\n2 0.7 0.0\n3 0.2 0.0\n"}, "kind": 2, "label": "round", "sortText": "147"}, {"detail": "bound method DataFrame.rpow(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rpow", "sortText": "148"}, {"detail": "bound method DataFrame.rsub(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rsub", "sortText": "149"}, {"detail": "bound method DataFrame.rtruediv(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rtruediv", "sortText": "150"}, {"detail": "bound method DataFrame.sample(n: int | None = None, frac: float | None = None, replace: bool = False, weights=None, random_state: int | ndarray[_AnyShape, dtype[Any]] | Generator | ... omitted 3 union elements = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, ignore_index: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return a random sample of items from an axis of object.\n\nYou can use `random_state` for reproducibility.\n\nParameters\n----------\nn : int, optional\n Number of items from axis to return. Cannot be used with `frac`.\n Default = 1 if `frac` = None.\nfrac : float, optional\n Fraction of axis items to return. Cannot be used with `n`.\nreplace : bool, default False\n Allow or disallow sampling of the same row more than once.\nweights : str or ndarray-like, optional\n Default 'None' results in equal probability weighting.\n If passed a Series, will align with target object on index. Index\n values in weights not found in sampled object will be ignored and\n index values in sampled object not in weights will be assigned\n weights of zero.\n If called on a DataFrame, will accept the name of a column\n when axis = 0.\n Unless weights are a Series, weights must be same length as axis\n being sampled.\n If weights do not sum to 1, they will be normalized to sum to 1.\n Missing values in the weights column will be treated as zero.\n Infinite values not allowed.\nrandom_state : int, array-like, BitGenerator, np.random.RandomState, np.random.Generator, optional\n If int, array-like, or BitGenerator, seed for random number generator.\n If np.random.RandomState or np.random.Generator, use as given.\n\n .. versionchanged:: 1.4.0\n\n np.random.Generator objects now accepted\n\naxis : {0 or 'index', 1 or 'columns', None}, default None\n Axis to sample. Accepts axis number or name. Default is stat axis\n for given data type. For `Series` this parameter is unused and defaults to `None`.\nignore_index : bool, default False\n If True, the resulting index will be labeled 0, 1, \u2026, n - 1.\n\n .. versionadded:: 1.3.0\n\nReturns\n-------\nSeries or DataFrame\n A new object of same type as caller containing `n` items randomly\n sampled from the caller object.\n\nSee Also\n--------\nDataFrameGroupBy.sample: Generates random samples from each group of a\n DataFrame object.\nSeriesGroupBy.sample: Generates random samples from each group of a\n Series object.\nnumpy.random.choice: Generates a random sample from a given 1-D numpy\n array.\n\nNotes\n-----\nIf `frac` > 1, `replacement` should be set to `True`.\n\nExamples\n--------\n>>> df = pd.DataFrame({'num_legs': [2, 4, 8, 0],\n... 'num_wings': [2, 0, 0, 0],\n... 'num_specimen_seen': [10, 2, 1, 8]},\n... index=['falcon', 'dog', 'spider', 'fish'])\n>>> df\n num_legs num_wings num_specimen_seen\nfalcon 2 2 10\ndog 4 0 2\nspider 8 0 1\nfish 0 0 8\n\nExtract 3 random elements from the ``Series`` ``df['num_legs']``:\nNote that we use `random_state` to ensure the reproducibility of\nthe examples.\n\n>>> df['num_legs'].sample(n=3, random_state=1)\nfish 0\nspider 8\nfalcon 2\nName: num_legs, dtype: int64\n\nA random 50% sample of the ``DataFrame`` with replacement:\n\n>>> df.sample(frac=0.5, replace=True, random_state=1)\n num_legs num_wings num_specimen_seen\ndog 4 0 2\nfish 0 0 8\n\nAn upsample sample of the ``DataFrame`` with replacement:\nNote that `replace` parameter has to be `True` for `frac` parameter > 1.\n\n>>> df.sample(frac=2, replace=True, random_state=1)\n num_legs num_wings num_specimen_seen\ndog 4 0 2\nfish 0 0 8\nfalcon 2 2 10\nfalcon 2 2 10\nfish 0 0 8\ndog 4 0 2\nfish 0 0 8\ndog 4 0 2\n\nUsing a DataFrame column as weights. Rows with larger value in the\n`num_specimen_seen` column are more likely to be sampled.\n\n>>> df.sample(n=2, weights='num_specimen_seen', random_state=1)\n num_legs num_wings num_specimen_seen\nfalcon 2 2 10\nfish 0 0 8\n"}, "kind": 2, "label": "sample", "sortText": "151"}, {"detail": "bound method DataFrame.select_dtypes(include=None, exclude=None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return a subset of the DataFrame's columns based on the column dtypes.\n\nParameters\n----------\ninclude, exclude : scalar or list-like\n A selection of dtypes or strings to be included/excluded. At least\n one of these parameters must be supplied.\n\nReturns\n-------\nDataFrame\n The subset of the frame including the dtypes in ``include`` and\n excluding the dtypes in ``exclude``.\n\nRaises\n------\nValueError\n * If both of ``include`` and ``exclude`` are empty\n * If ``include`` and ``exclude`` have overlapping elements\n * If any kind of string dtype is passed in.\n\nSee Also\n--------\nDataFrame.dtypes: Return Series with the data type of each column.\n\nNotes\n-----\n* To select all *numeric* types, use ``np.number`` or ``'number'``\n* To select strings you must use the ``object`` dtype, but note that\n this will return *all* object dtype columns. With\n ``pd.options.future.infer_string`` enabled, using ``\"str\"`` will\n work to select all string columns.\n* See the `numpy dtype hierarchy\n `__\n* To select datetimes, use ``np.datetime64``, ``'datetime'`` or\n ``'datetime64'``\n* To select timedeltas, use ``np.timedelta64``, ``'timedelta'`` or\n ``'timedelta64'``\n* To select Pandas categorical dtypes, use ``'category'``\n* To select Pandas datetimetz dtypes, use ``'datetimetz'``\n or ``'datetime64[ns, tz]'``\n\nExamples\n--------\n>>> df = pd.DataFrame({'a': [1, 2] * 3,\n... 'b': [True, False] * 3,\n... 'c': [1.0, 2.0] * 3})\n>>> df\n a b c\n0 1 True 1.0\n1 2 False 2.0\n2 1 True 1.0\n3 2 False 2.0\n4 1 True 1.0\n5 2 False 2.0\n\n>>> df.select_dtypes(include='bool')\n b\n0 True\n1 False\n2 True\n3 False\n4 True\n5 False\n\n>>> df.select_dtypes(include=['float64'])\n c\n0 1.0\n1 2.0\n2 1.0\n3 2.0\n4 1.0\n5 2.0\n\n>>> df.select_dtypes(exclude=['int64'])\n b c\n0 True 1.0\n1 False 2.0\n2 True 1.0\n3 False 2.0\n4 True 1.0\n5 False 2.0\n"}, "kind": 2, "label": "select_dtypes", "sortText": "152"}, {"detail": "bound method DataFrame.sem(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, ddof: int = 1, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "sem", "sortText": "153"}, {"detail": "bound method DataFrame.set_axis(labels, *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, copy: bool | None = None) -> DataFrame", "kind": 2, "label": "set_axis", "sortText": "154"}, {"detail": "bound method DataFrame.set_flags(*, copy: bool = False, allows_duplicate_labels: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return a new object with updated flags.\n\nParameters\n----------\ncopy : bool, default False\n Specify if a copy of the object should be made.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\nallows_duplicate_labels : bool, optional\n Whether the returned object allows duplicate labels.\n\nReturns\n-------\nSeries or DataFrame\n The same type as the caller.\n\nSee Also\n--------\nDataFrame.attrs : Global metadata applying to this dataset.\nDataFrame.flags : Global flags applying to this object.\n\nNotes\n-----\nThis method returns a new object that's a view on the same data\nas the input. Mutating the input or the output values will be reflected\nin the other.\n\nThis method is intended to be used in method chains.\n\n\"Flags\" differ from \"metadata\". Flags reflect properties of the\npandas object (the Series or DataFrame). Metadata refer to properties\nof the dataset, and should be stored in :attr:`DataFrame.attrs`.\n\nExamples\n--------\n>>> df = pd.DataFrame({\"A\": [1, 2]})\n>>> df.flags.allows_duplicate_labels\nTrue\n>>> df2 = df.set_flags(allows_duplicate_labels=False)\n>>> df2.flags.allows_duplicate_labels\nFalse\n"}, "kind": 2, "label": "set_flags", "sortText": "155"}, {"detail": "Overload[(keys, *, drop: bool = ..., append: bool = ..., inplace: Literal[False] = ..., verify_integrity: bool = ...) -> DataFrame, (keys, *, drop: bool = ..., append: bool = ..., inplace: Literal[True], verify_integrity: bool = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Set the DataFrame index using existing columns.\n\nSet the DataFrame index (row labels) using one or more existing\ncolumns or arrays (of the correct length). The index can replace the\nexisting index or expand on it.\n\nParameters\n----------\nkeys : label or array-like or list of labels/arrays\n This parameter can be either a single column key, a single array of\n the same length as the calling DataFrame, or a list containing an\n arbitrary combination of column keys and arrays. Here, \"array\"\n encompasses :class:`Series`, :class:`Index`, ``np.ndarray``, and\n instances of :class:`~collections.abc.Iterator`.\ndrop : bool, default True\n Delete columns to be used as the new index.\nappend : bool, default False\n Whether to append columns to existing index.\ninplace : bool, default False\n Whether to modify the DataFrame rather than creating a new one.\nverify_integrity : bool, default False\n Check the new index for duplicates. Otherwise defer the check until\n necessary. Setting to False will improve the performance of this\n method.\n\nReturns\n-------\nDataFrame or None\n Changed row labels or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.reset_index : Opposite of set_index.\nDataFrame.reindex : Change to new indices or expand indices.\nDataFrame.reindex_like : Change to same indices as other DataFrame.\n\nExamples\n--------\n>>> df = pd.DataFrame({'month': [1, 4, 7, 10],\n... 'year': [2012, 2014, 2013, 2014],\n... 'sale': [55, 40, 84, 31]})\n>>> df\n month year sale\n0 1 2012 55\n1 4 2014 40\n2 7 2013 84\n3 10 2014 31\n\nSet the index to become the 'month' column:\n\n>>> df.set_index('month')\n year sale\nmonth\n1 2012 55\n4 2014 40\n7 2013 84\n10 2014 31\n\nCreate a MultiIndex using columns 'year' and 'month':\n\n>>> df.set_index(['year', 'month'])\n sale\nyear month\n2012 1 55\n2014 4 40\n2013 7 84\n2014 10 31\n\nCreate a MultiIndex using an Index and a column:\n\n>>> df.set_index([pd.Index([1, 2, 3, 4]), 'year'])\n month sale\n year\n1 2012 1 55\n2 2014 4 40\n3 2013 7 84\n4 2014 10 31\n\nCreate a MultiIndex using two Series:\n\n>>> s = pd.Series([1, 2, 3, 4])\n>>> df.set_index([s, s**2])\n month year sale\n1 1 1 2012 55\n2 4 4 2014 40\n3 9 7 2013 84\n4 16 10 2014 31\n"}, "kind": 2, "label": "set_index", "sortText": "156"}, {"detail": "tuple[int, int]", "documentation": {"kind": "plaintext", "value": "Built-in immutable sequence.\n\nIf no argument is given, the constructor returns an empty tuple.\nIf iterable is specified the tuple is initialized from iterable's items.\n\nIf the argument is a tuple, the return value is the same object.\n"}, "kind": 22, "label": "shape", "sortText": "157"}, {"detail": "bound method DataFrame.shift(periods: int | Sequence[int] = 1, freq: str | BaseOffset | None = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, fill_value: Hashable = ..., suffix: str | None = None) -> DataFrame", "kind": 2, "label": "shift", "sortText": "158"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "size", "sortText": "159"}, {"detail": "bound method DataFrame.skew(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "skew", "sortText": "160"}, {"detail": "Overload[(*, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., level: Hashable | Sequence[Hashable] = ..., ascending: bool | Sequence[bool] = ..., inplace: Literal[True], kind: Literal[\"quicksort\", \"mergesort\", \"heapsort\", \"stable\"] = ..., na_position: Literal[\"first\", \"last\"] = ..., sort_remaining: bool = ..., ignore_index: bool = ..., key: ((Index, /) -> Index | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Series) | None = ...) -> None, (*, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., level: Hashable | Sequence[Hashable] = ..., ascending: bool | Sequence[bool] = ..., inplace: Literal[False] = ..., kind: Literal[\"quicksort\", \"mergesort\", \"heapsort\", \"stable\"] = ..., na_position: Literal[\"first\", \"last\"] = ..., sort_remaining: bool = ..., ignore_index: bool = ..., key: ((Index, /) -> Index | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Series) | None = ...) -> DataFrame, (*, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., level: Hashable | Sequence[Hashable] = ..., ascending: bool | Sequence[bool] = ..., inplace: bool = ..., kind: Literal[\"quicksort\", \"mergesort\", \"heapsort\", \"stable\"] = ..., na_position: Literal[\"first\", \"last\"] = ..., sort_remaining: bool = ..., ignore_index: bool = ..., key: ((Index, /) -> Index | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Series) | None = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Sort object by labels (along an axis).\n\nReturns a new DataFrame sorted by label if `inplace` argument is\n``False``, otherwise updates the original DataFrame and returns None.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis along which to sort. The value 0 identifies the rows,\n and 1 identifies the columns.\nlevel : int or level name or list of ints or list of level names\n If not None, sort on values in specified index level(s).\nascending : bool or list-like of bools, default True\n Sort ascending vs. descending. When the index is a MultiIndex the\n sort direction can be controlled for each level individually.\ninplace : bool, default False\n Whether to modify the DataFrame rather than creating a new one.\nkind : {'quicksort', 'mergesort', 'heapsort', 'stable'}, default 'quicksort'\n Choice of sorting algorithm. See also :func:`numpy.sort` for more\n information. `mergesort` and `stable` are the only stable algorithms. For\n DataFrames, this option is only applied when sorting on a single\n column or label.\nna_position : {'first', 'last'}, default 'last'\n Puts NaNs at the beginning if `first`; `last` puts NaNs at the end.\n Not implemented for MultiIndex.\nsort_remaining : bool, default True\n If True and sorting by level and index is multilevel, sort by other\n levels too (in order) after sorting by specified level.\nignore_index : bool, default False\n If True, the resulting axis will be labeled 0, 1, \u2026, n - 1.\nkey : callable, optional\n If not None, apply the key function to the index values\n before sorting. This is similar to the `key` argument in the\n builtin :meth:`sorted` function, with the notable difference that\n this `key` function should be *vectorized*. It should expect an\n ``Index`` and return an ``Index`` of the same shape. For MultiIndex\n inputs, the key is applied *per level*.\n\nReturns\n-------\nDataFrame or None\n The original DataFrame sorted by the labels or None if ``inplace=True``.\n\nSee Also\n--------\nSeries.sort_index : Sort Series by the index.\nDataFrame.sort_values : Sort DataFrame by the value.\nSeries.sort_values : Sort Series by the value.\n\nExamples\n--------\n>>> df = pd.DataFrame([1, 2, 3, 4, 5], index=[100, 29, 234, 1, 150],\n... columns=['A'])\n>>> df.sort_index()\n A\n1 4\n29 2\n100 1\n150 5\n234 3\n\nBy default, it sorts in ascending order, to sort in descending order,\nuse ``ascending=False``\n\n>>> df.sort_index(ascending=False)\n A\n234 3\n150 5\n100 1\n29 2\n1 4\n\nA key function can be specified which is applied to the index before\nsorting. For a ``MultiIndex`` this is applied to each level separately.\n\n>>> df = pd.DataFrame({\"a\": [1, 2, 3, 4]}, index=['A', 'b', 'C', 'd'])\n>>> df.sort_index(key=lambda x: x.str.lower())\n a\nA 1\nb 2\nC 3\nd 4\n"}, "kind": 2, "label": "sort_index", "sortText": "161"}, {"detail": "Overload[(by: Hashable | Sequence[Hashable], *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., ascending=..., inplace: Literal[False] = ..., kind: Literal[\"quicksort\", \"mergesort\", \"heapsort\", \"stable\"] = ..., na_position: Literal[\"first\", \"last\"] = ..., ignore_index: bool = ..., key: ((Series, /) -> Series | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index) | None = ...) -> DataFrame, (by: Hashable | Sequence[Hashable], *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., ascending=..., inplace: Literal[True], kind: Literal[\"quicksort\", \"mergesort\", \"heapsort\", \"stable\"] = ..., na_position: str = ..., ignore_index: bool = ..., key: ((Series, /) -> Series | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index) | None = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Sort by the values along either axis.\n\nParameters\n----------\nby : str or list of str\n Name or list of names to sort by.\n\n - if `axis` is 0 or `'index'` then `by` may contain index\n levels and/or column labels.\n - if `axis` is 1 or `'columns'` then `by` may contain column\n levels and/or index labels.\naxis : \"{0 or 'index', 1 or 'columns'}\", default 0\n Axis to be sorted.\nascending : bool or list of bool, default True\n Sort ascending vs. descending. Specify list for multiple sort\n orders. If this is a list of bools, must match the length of\n the by.\ninplace : bool, default False\n If True, perform operation in-place.\nkind : {'quicksort', 'mergesort', 'heapsort', 'stable'}, default 'quicksort'\n Choice of sorting algorithm. See also :func:`numpy.sort` for more\n information. `mergesort` and `stable` are the only stable algorithms. For\n DataFrames, this option is only applied when sorting on a single\n column or label.\nna_position : {'first', 'last'}, default 'last'\n Puts NaNs at the beginning if `first`; `last` puts NaNs at the\n end.\nignore_index : bool, default False\n If True, the resulting axis will be labeled 0, 1, \u2026, n - 1.\nkey : callable, optional\n Apply the key function to the values\n before sorting. This is similar to the `key` argument in the\n builtin :meth:`sorted` function, with the notable difference that\n this `key` function should be *vectorized*. It should expect a\n ``Series`` and return a Series with the same shape as the input.\n It will be applied to each column in `by` independently.\n\nReturns\n-------\nDataFrame or None\n DataFrame with sorted values or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.sort_index : Sort a DataFrame by the index.\nSeries.sort_values : Similar method for a Series.\n\nExamples\n--------\n>>> df = pd.DataFrame({\n... 'col1': ['A', 'A', 'B', np.nan, 'D', 'C'],\n... 'col2': [2, 1, 9, 8, 7, 4],\n... 'col3': [0, 1, 9, 4, 2, 3],\n... 'col4': ['a', 'B', 'c', 'D', 'e', 'F']\n... })\n>>> df\n col1 col2 col3 col4\n0 A 2 0 a\n1 A 1 1 B\n2 B 9 9 c\n3 NaN 8 4 D\n4 D 7 2 e\n5 C 4 3 F\n\nSort by col1\n\n>>> df.sort_values(by=['col1'])\n col1 col2 col3 col4\n0 A 2 0 a\n1 A 1 1 B\n2 B 9 9 c\n5 C 4 3 F\n4 D 7 2 e\n3 NaN 8 4 D\n\nSort by multiple columns\n\n>>> df.sort_values(by=['col1', 'col2'])\n col1 col2 col3 col4\n1 A 1 1 B\n0 A 2 0 a\n2 B 9 9 c\n5 C 4 3 F\n4 D 7 2 e\n3 NaN 8 4 D\n\nSort Descending\n\n>>> df.sort_values(by='col1', ascending=False)\n col1 col2 col3 col4\n4 D 7 2 e\n5 C 4 3 F\n2 B 9 9 c\n0 A 2 0 a\n1 A 1 1 B\n3 NaN 8 4 D\n\nPutting NAs first\n\n>>> df.sort_values(by='col1', ascending=False, na_position='first')\n col1 col2 col3 col4\n3 NaN 8 4 D\n4 D 7 2 e\n5 C 4 3 F\n2 B 9 9 c\n0 A 2 0 a\n1 A 1 1 B\n\nSorting with a key function\n\n>>> df.sort_values(by='col4', key=lambda col: col.str.lower())\n col1 col2 col3 col4\n0 A 2 0 a\n1 A 1 1 B\n2 B 9 9 c\n3 NaN 8 4 D\n4 D 7 2 e\n5 C 4 3 F\n\nNatural sort with the key argument,\nusing the `natsort ` package.\n\n>>> df = pd.DataFrame({\n... \"time\": ['0hr', '128hr', '72hr', '48hr', '96hr'],\n... \"value\": [10, 20, 30, 40, 50]\n... })\n>>> df\n time value\n0 0hr 10\n1 128hr 20\n2 72hr 30\n3 48hr 40\n4 96hr 50\n>>> from natsort import index_natsorted\n>>> df.sort_values(\n... by=\"time\",\n... key=lambda x: np.argsort(index_natsorted(df[\"time\"]))\n... )\n time value\n0 0hr 10\n3 48hr 40\n2 72hr 30\n4 96hr 50\n1 128hr 20\n"}, "kind": 2, "label": "sort_values", "sortText": "162"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "sparse", "sortText": "163"}, {"detail": "bound method DataFrame.squeeze(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Squeeze 1 dimensional axis objects into scalars.\n\nSeries or DataFrames with a single element are squeezed to a scalar.\nDataFrames with a single column or a single row are squeezed to a\nSeries. Otherwise the object is unchanged.\n\nThis method is most useful when you don't know if your\nobject is a Series or DataFrame, but you do know it has just a single\ncolumn. In that case you can safely call `squeeze` to ensure you have a\nSeries.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns', None}, default None\n A specific axis to squeeze. By default, all length-1 axes are\n squeezed. For `Series` this parameter is unused and defaults to `None`.\n\nReturns\n-------\nDataFrame, Series, or scalar\n The projection after squeezing `axis` or all the axes.\n\nSee Also\n--------\nSeries.iloc : Integer-location based indexing for selecting scalars.\nDataFrame.iloc : Integer-location based indexing for selecting Series.\nSeries.to_frame : Inverse of DataFrame.squeeze for a\n single-column DataFrame.\n\nExamples\n--------\n>>> primes = pd.Series([2, 3, 5, 7])\n\nSlicing might produce a Series with a single value:\n\n>>> even_primes = primes[primes % 2 == 0]\n>>> even_primes\n0 2\ndtype: int64\n\n>>> even_primes.squeeze()\n2\n\nSqueezing objects with more than one value in every axis does nothing:\n\n>>> odd_primes = primes[primes % 2 == 1]\n>>> odd_primes\n1 3\n2 5\n3 7\ndtype: int64\n\n>>> odd_primes.squeeze()\n1 3\n2 5\n3 7\ndtype: int64\n\nSqueezing is even more effective when used with DataFrames.\n\n>>> df = pd.DataFrame([[1, 2], [3, 4]], columns=['a', 'b'])\n>>> df\n a b\n0 1 2\n1 3 4\n\nSlicing a single column will produce a DataFrame with the columns\nhaving only one value:\n\n>>> df_a = df[['a']]\n>>> df_a\n a\n0 1\n1 3\n\nSo the columns can be squeezed down, resulting in a Series:\n\n>>> df_a.squeeze('columns')\n0 1\n1 3\nName: a, dtype: int64\n\nSlicing a single row from a single column will produce a single\nscalar DataFrame:\n\n>>> df_0a = df.loc[df.index < 1, ['a']]\n>>> df_0a\n a\n0 1\n\nSqueezing the rows produces a single scalar Series:\n\n>>> df_0a.squeeze('rows')\na 1\nName: 0, dtype: int64\n\nSqueezing all axes will project directly into a scalar:\n\n>>> df_0a.squeeze()\n1\n"}, "kind": 2, "label": "squeeze", "sortText": "164"}, {"detail": "bound method DataFrame.stack(level: Hashable | Sequence[Hashable] = -1, dropna: bool | _NoDefault = ..., sort: bool | _NoDefault = ..., future_stack: bool = False) -> Unknown", "documentation": {"kind": "plaintext", "value": "Stack the prescribed level(s) from columns to index.\n\nReturn a reshaped DataFrame or Series having a multi-level\nindex with one or more new inner-most levels compared to the current\nDataFrame. The new inner-most levels are created by pivoting the\ncolumns of the current dataframe:\n\n - if the columns have a single level, the output is a Series;\n - if the columns have multiple levels, the new index\n level(s) is (are) taken from the prescribed level(s) and\n the output is a DataFrame.\n\nParameters\n----------\nlevel : int, str, list, default -1\n Level(s) to stack from the column axis onto the index\n axis, defined as one index or label, or a list of indices\n or labels.\ndropna : bool, default True\n Whether to drop rows in the resulting Frame/Series with\n missing values. Stacking a column level onto the index\n axis can create combinations of index and column values\n that are missing from the original dataframe. See Examples\n section.\nsort : bool, default True\n Whether to sort the levels of the resulting MultiIndex.\nfuture_stack : bool, default False\n Whether to use the new implementation that will replace the current\n implementation in pandas 3.0. When True, dropna and sort have no impact\n on the result and must remain unspecified. See :ref:`pandas 2.1.0 Release\n notes ` for more details.\n\nReturns\n-------\nDataFrame or Series\n Stacked dataframe or series.\n\nSee Also\n--------\nDataFrame.unstack : Unstack prescribed level(s) from index axis\n onto column axis.\nDataFrame.pivot : Reshape dataframe from long format to wide\n format.\nDataFrame.pivot_table : Create a spreadsheet-style pivot table\n as a DataFrame.\n\nNotes\n-----\nThe function is named by analogy with a collection of books\nbeing reorganized from being side by side on a horizontal\nposition (the columns of the dataframe) to being stacked\nvertically on top of each other (in the index of the\ndataframe).\n\nReference :ref:`the user guide ` for more examples.\n\nExamples\n--------\n**Single level columns**\n\n>>> df_single_level_cols = pd.DataFrame([[0, 1], [2, 3]],\n... index=['cat', 'dog'],\n... columns=['weight', 'height'])\n\nStacking a dataframe with a single level column axis returns a Series:\n\n>>> df_single_level_cols\n weight height\ncat 0 1\ndog 2 3\n>>> df_single_level_cols.stack(future_stack=True)\ncat weight 0\n height 1\ndog weight 2\n height 3\ndtype: int64\n\n**Multi level columns: simple case**\n\n>>> multicol1 = pd.MultiIndex.from_tuples([('weight', 'kg'),\n... ('weight', 'pounds')])\n>>> df_multi_level_cols1 = pd.DataFrame([[1, 2], [2, 4]],\n... index=['cat', 'dog'],\n... columns=multicol1)\n\nStacking a dataframe with a multi-level column axis:\n\n>>> df_multi_level_cols1\n weight\n kg pounds\ncat 1 2\ndog 2 4\n>>> df_multi_level_cols1.stack(future_stack=True)\n weight\ncat kg 1\n pounds 2\ndog kg 2\n pounds 4\n\n**Missing values**\n\n>>> multicol2 = pd.MultiIndex.from_tuples([('weight', 'kg'),\n... ('height', 'm')])\n>>> df_multi_level_cols2 = pd.DataFrame([[1.0, 2.0], [3.0, 4.0]],\n... index=['cat', 'dog'],\n... columns=multicol2)\n\nIt is common to have missing values when stacking a dataframe\nwith multi-level columns, as the stacked dataframe typically\nhas more values than the original dataframe. Missing values\nare filled with NaNs:\n\n>>> df_multi_level_cols2\n weight height\n kg m\ncat 1.0 2.0\ndog 3.0 4.0\n>>> df_multi_level_cols2.stack(future_stack=True)\n weight height\ncat kg 1.0 NaN\n m NaN 2.0\ndog kg 3.0 NaN\n m NaN 4.0\n\n**Prescribing the level(s) to be stacked**\n\nThe first parameter controls which level or levels are stacked:\n\n>>> df_multi_level_cols2.stack(0, future_stack=True)\n kg m\ncat weight 1.0 NaN\n height NaN 2.0\ndog weight 3.0 NaN\n height NaN 4.0\n>>> df_multi_level_cols2.stack([0, 1], future_stack=True)\ncat weight kg 1.0\n height m 2.0\ndog weight kg 3.0\n height m 4.0\ndtype: float64\n"}, "kind": 2, "label": "stack", "sortText": "165"}, {"detail": "bound method DataFrame.std(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, ddof: int = 1, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "std", "sortText": "166"}, {"detail": "Styler", "documentation": {"kind": "plaintext", "value": "Helps style a DataFrame or Series according to the data with HTML and CSS.\n\nParameters\n----------\ndata : Series or DataFrame\n Data to be styled - either a Series or DataFrame.\nprecision : int, optional\n Precision to round floats to. If not given defaults to\n ``pandas.options.styler.format.precision``.\n\n .. versionchanged:: 1.4.0\ntable_styles : list-like, default None\n List of {selector: (attr, value)} dicts; see Notes.\nuuid : str, default None\n A unique identifier to avoid CSS collisions; generated automatically.\ncaption : str, tuple, default None\n String caption to attach to the table. Tuple only used for LaTeX dual captions.\ntable_attributes : str, default None\n Items that show up in the opening ```` tag\n in addition to automatic (by default) id.\ncell_ids : bool, default True\n If True, each cell will have an ``id`` attribute in their HTML tag.\n The ``id`` takes the form ``T__row_col``\n where ```` is the unique identifier, ```` is the row\n number and ```` is the column number.\nna_rep : str, optional\n Representation for missing values.\n If ``na_rep`` is None, no special formatting is applied, and falls back to\n ``pandas.options.styler.format.na_rep``.\n\nuuid_len : int, default 5\n If ``uuid`` is not specified, the length of the ``uuid`` to randomly generate\n expressed in hex characters, in range [0, 32].\ndecimal : str, optional\n Character used as decimal separator for floats, complex and integers. If not\n given uses ``pandas.options.styler.format.decimal``.\n\n .. versionadded:: 1.3.0\n\nthousands : str, optional, default None\n Character used as thousands separator for floats, complex and integers. If not\n given uses ``pandas.options.styler.format.thousands``.\n\n .. versionadded:: 1.3.0\n\nescape : str, optional\n Use 'html' to replace the characters ``&``, ``<``, ``>``, ``'``, and ``\"``\n in cell display string with HTML-safe sequences.\n Use 'latex' to replace the characters ``&``, ``%``, ``$``, ``#``, ``_``,\n ``{``, ``}``, ``~``, ``^``, and ``\\`` in the cell display string with\n LaTeX-safe sequences. Use 'latex-math' to replace the characters\n the same way as in 'latex' mode, except for math substrings,\n which either are surrounded by two characters ``$`` or start with\n the character ``\\(`` and end with ``\\)``.\n If not given uses ``pandas.options.styler.format.escape``.\n\n .. versionadded:: 1.3.0\nformatter : str, callable, dict, optional\n Object to define how values are displayed. See ``Styler.format``. If not given\n uses ``pandas.options.styler.format.formatter``.\n\n .. versionadded:: 1.4.0\n\nAttributes\n----------\nenv : Jinja2 jinja2.Environment\ntemplate_html : Jinja2 Template\ntemplate_html_table : Jinja2 Template\ntemplate_html_style : Jinja2 Template\ntemplate_latex : Jinja2 Template\nloader : Jinja2 Loader\n\nSee Also\n--------\nDataFrame.style : Return a Styler object containing methods for building\n a styled HTML representation for the DataFrame.\n\nNotes\n-----\nMost styling will be done by passing style functions into\n``Styler.apply`` or ``Styler.map``. Style functions should\nreturn values with strings containing CSS ``'attr: value'`` that will\nbe applied to the indicated cells.\n\nIf using in the Jupyter notebook, Styler has defined a ``_repr_html_``\nto automatically render itself. Otherwise call Styler.to_html to get\nthe generated HTML.\n\nCSS classes are attached to the generated HTML\n\n* Index and Column names include ``index_name`` and ``level``\n where `k` is its level in a MultiIndex\n* Index label cells include\n\n * ``row_heading``\n * ``row`` where `n` is the numeric position of the row\n * ``level`` where `k` is the level in a MultiIndex\n\n* Column label cells include\n * ``col_heading``\n * ``col`` where `n` is the numeric position of the column\n * ``level`` where `k` is the level in a MultiIndex\n\n* Blank cells include ``blank``\n* Data cells include ``data``\n* Trimmed cells include ``col_trim`` or ``row_trim``.\n\nAny, or all, or these classes can be renamed by using the ``css_class_names``\nargument in ``Styler.set_table_classes``, giving a value such as\n*{\"row\": \"MY_ROW_CLASS\", \"col_trim\": \"\", \"row_trim\": \"\"}*.\n\nExamples\n--------\n>>> df = pd.DataFrame([[1.0, 2.0, 3.0], [4, 5, 6]], index=['a', 'b'],\n... columns=['A', 'B', 'C'])\n>>> pd.io.formats.style.Styler(df, precision=2,\n... caption=\"My table\") # doctest: +SKIP\n\nPlease see:\n`Table Visualization <../../user_guide/style.ipynb>`_ for more examples.\n"}, "kind": 22, "label": "style", "sortText": "167"}, {"detail": "bound method DataFrame.sub(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "sub", "sortText": "168"}, {"detail": "(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "subtract", "sortText": "169"}, {"detail": "bound method DataFrame.sum(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, min_count: int = 0, **kwargs) -> Unknown", "kind": 2, "label": "sum", "sortText": "170"}, {"detail": "bound method DataFrame.swapaxes(axis1: int | Literal[\"index\", \"columns\", \"rows\"], axis2: int | Literal[\"index\", \"columns\", \"rows\"], copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Interchange axes and swap values axes appropriately.\n\n.. deprecated:: 2.1.0\n ``swapaxes`` is deprecated and will be removed.\n Please use ``transpose`` instead.\n\nReturns\n-------\nsame as input\n\nExamples\n--------\nPlease see examples for :meth:`DataFrame.transpose`.\n"}, "kind": 2, "label": "swapaxes", "sortText": "171"}, {"detail": "bound method DataFrame.swaplevel(i: int | Literal[\"index\", \"columns\", \"rows\"] = -2, j: int | Literal[\"index\", \"columns\", \"rows\"] = -1, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> DataFrame", "kind": 2, "label": "swaplevel", "sortText": "172"}, {"detail": "bound method DataFrame.tail(n: int = 5) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the last `n` rows.\n\nThis function returns last `n` rows from the object based on\nposition. It is useful for quickly verifying data, for example,\nafter sorting or appending rows.\n\nFor negative values of `n`, this function returns all rows except\nthe first `|n|` rows, equivalent to ``df[|n|:]``.\n\nIf n is larger than the number of rows, this function returns all rows.\n\nParameters\n----------\nn : int, default 5\n Number of rows to select.\n\nReturns\n-------\ntype of caller\n The last `n` rows of the caller object.\n\nSee Also\n--------\nDataFrame.head : The first `n` rows of the caller object.\n\nExamples\n--------\n>>> df = pd.DataFrame({'animal': ['alligator', 'bee', 'falcon', 'lion',\n... 'monkey', 'parrot', 'shark', 'whale', 'zebra']})\n>>> df\n animal\n0 alligator\n1 bee\n2 falcon\n3 lion\n4 monkey\n5 parrot\n6 shark\n7 whale\n8 zebra\n\nViewing the last 5 lines\n\n>>> df.tail()\n animal\n4 monkey\n5 parrot\n6 shark\n7 whale\n8 zebra\n\nViewing the last `n` lines (three in this case)\n\n>>> df.tail(3)\n animal\n6 shark\n7 whale\n8 zebra\n\nFor negative values of `n`\n\n>>> df.tail(-3)\n animal\n3 lion\n4 monkey\n5 parrot\n6 shark\n7 whale\n8 zebra\n"}, "kind": 2, "label": "tail", "sortText": "173"}, {"detail": "bound method DataFrame.take(indices, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the elements in the given *positional* indices along an axis.\n\nThis means that we are not indexing according to actual values in\nthe index attribute of the object. We are indexing according to the\nactual position of the element in the object.\n\nParameters\n----------\nindices : array-like\n An array of ints indicating which positions to take.\naxis : {0 or 'index', 1 or 'columns', None}, default 0\n The axis on which to select elements. ``0`` means that we are\n selecting rows, ``1`` means that we are selecting columns.\n For `Series` this parameter is unused and defaults to 0.\n**kwargs\n For compatibility with :meth:`numpy.take`. Has no effect on the\n output.\n\nReturns\n-------\nsame type as caller\n An array-like containing the elements taken from the object.\n\nSee Also\n--------\nDataFrame.loc : Select a subset of a DataFrame by labels.\nDataFrame.iloc : Select a subset of a DataFrame by positions.\nnumpy.take : Take elements from an array along an axis.\n\nExamples\n--------\n>>> df = pd.DataFrame([('falcon', 'bird', 389.0),\n... ('parrot', 'bird', 24.0),\n... ('lion', 'mammal', 80.5),\n... ('monkey', 'mammal', np.nan)],\n... columns=['name', 'class', 'max_speed'],\n... index=[0, 2, 3, 1])\n>>> df\n name class max_speed\n0 falcon bird 389.0\n2 parrot bird 24.0\n3 lion mammal 80.5\n1 monkey mammal NaN\n\nTake elements at positions 0 and 3 along the axis 0 (default).\n\nNote how the actual indices selected (0 and 1) do not correspond to\nour selected indices 0 and 3. That's because we are selecting the 0th\nand 3rd rows, not rows whose indices equal 0 and 3.\n\n>>> df.take([0, 3])\n name class max_speed\n0 falcon bird 389.0\n1 monkey mammal NaN\n\nTake elements at indices 1 and 2 along the axis 1 (column selection).\n\n>>> df.take([1, 2], axis=1)\n class max_speed\n0 bird 389.0\n2 bird 24.0\n3 mammal 80.5\n1 mammal NaN\n\nWe may take elements using negative integers for positive indices,\nstarting from the end of the object, just like with Python lists.\n\n>>> df.take([-1, -2])\n name class max_speed\n1 monkey mammal NaN\n3 lion mammal 80.5\n"}, "kind": 2, "label": "take", "sortText": "174"}, {"detail": "bound method DataFrame.to_clipboard(excel: bool = True, sep: str | None = None, **kwargs) -> None", "documentation": {"kind": "plaintext", "value": "Copy object to the system clipboard.\n\nWrite a text representation of object to the system clipboard.\nThis can be pasted into Excel, for example.\n\nParameters\n----------\nexcel : bool, default True\n Produce output in a csv format for easy pasting into excel.\n\n - True, use the provided separator for csv pasting.\n - False, write a string representation of the object to the clipboard.\n\nsep : str, default ``'\\t'``\n Field delimiter.\n**kwargs\n These parameters will be passed to DataFrame.to_csv.\n\nSee Also\n--------\nDataFrame.to_csv : Write a DataFrame to a comma-separated values\n (csv) file.\nread_clipboard : Read text from clipboard and pass to read_csv.\n\nNotes\n-----\nRequirements for your platform.\n\n - Linux : `xclip`, or `xsel` (with `PyQt4` modules)\n - Windows : none\n - macOS : none\n\nThis method uses the processes developed for the package `pyperclip`. A\nsolution to render any output string format is given in the examples.\n\nExamples\n--------\nCopy the contents of a DataFrame to the clipboard.\n\n>>> df = pd.DataFrame([[1, 2, 3], [4, 5, 6]], columns=['A', 'B', 'C'])\n\n>>> df.to_clipboard(sep=',') # doctest: +SKIP\n... # Wrote the following to the system clipboard:\n... # ,A,B,C\n... # 0,1,2,3\n... # 1,4,5,6\n\nWe can omit the index by passing the keyword `index` and setting\nit to false.\n\n>>> df.to_clipboard(sep=',', index=False) # doctest: +SKIP\n... # Wrote the following to the system clipboard:\n... # A,B,C\n... # 1,2,3\n... # 4,5,6\n\nUsing the original `pyperclip` package for any string output format.\n\n.. code-block:: python\n\n import pyperclip\n html = df.style.to_html()\n pyperclip.copy(html)\n"}, "kind": 2, "label": "to_clipboard", "sortText": "175"}, {"detail": "Overload[(path_or_buf: None = ..., sep: str = ..., na_rep: str = ..., float_format: str | ((...) -> Unknown) | None = ..., columns: Sequence[Hashable] | None = ..., header: bool | list[str] = ..., index: bool = ..., index_label: Hashable | Sequence[Hashable] = ..., mode: str = ..., encoding: str | None = ..., compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = ..., quoting: int | None = ..., quotechar: str = ..., lineterminator: str | None = ..., chunksize: int | None = ..., date_format: str | None = ..., doublequote: bool = ..., escapechar: str | None = ..., decimal: str = ..., errors: Literal[\"strict\", \"ignore\", \"replace\", \"surrogateescape\", \"xmlcharrefreplace\", \"backslashreplace\", \"namereplace\"] = ..., storage_options: dict[str, Any] | None = ...) -> str, (path_or_buf: str | PathLike[str] | WriteBuffer[bytes] | WriteBuffer[str], sep: str = ..., na_rep: str = ..., float_format: str | ((...) -> Unknown) | None = ..., columns: Sequence[Hashable] | None = ..., header: bool | list[str] = ..., index: bool = ..., index_label: Hashable | Sequence[Hashable] = ..., mode: str = ..., encoding: str | None = ..., compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = ..., quoting: int | None = ..., quotechar: str = ..., lineterminator: str | None = ..., chunksize: int | None = ..., date_format: str | None = ..., doublequote: bool = ..., escapechar: str | None = ..., decimal: str = ..., errors: Literal[\"strict\", \"ignore\", \"replace\", \"surrogateescape\", \"xmlcharrefreplace\", \"backslashreplace\", \"namereplace\"] = ..., storage_options: dict[str, Any] | None = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Write object to a comma-separated values (csv) file.\n\nParameters\n----------\npath_or_buf : str, path object, file-like object, or None, default None\n String, path object (implementing os.PathLike[str]), or file-like\n object implementing a write() function. If None, the result is\n returned as a string. If a non-binary file object is passed, it should\n be opened with `newline=''`, disabling universal newlines. If a binary\n file object is passed, `mode` might need to contain a `'b'`.\nsep : str, default ','\n String of length 1. Field delimiter for the output file.\nna_rep : str, default ''\n Missing data representation.\nfloat_format : str, Callable, default None\n Format string for floating point numbers. If a Callable is given, it takes\n precedence over other numeric formatting parameters, like decimal.\ncolumns : sequence, optional\n Columns to write.\nheader : bool or list of str, default True\n Write out the column names. If a list of strings is given it is\n assumed to be aliases for the column names.\nindex : bool, default True\n Write row names (index).\nindex_label : str or sequence, or False, default None\n Column label for index column(s) if desired. If None is given, and\n `header` and `index` are True, then the index names are used. A\n sequence should be given if the object uses MultiIndex. If\n False do not print fields for index names. Use index_label=False\n for easier importing in R.\nmode : {{'w', 'x', 'a'}}, default 'w'\n Forwarded to either `open(mode=)` or `fsspec.open(mode=)` to control\n the file opening. Typical values include:\n\n - 'w', truncate the file first.\n - 'x', exclusive creation, failing if the file already exists.\n - 'a', append to the end of file if it exists.\n\nencoding : str, optional\n A string representing the encoding to use in the output file,\n defaults to 'utf-8'. `encoding` is not supported if `path_or_buf`\n is a non-binary file object.\n{compression_options}\n\n May be a dict with key 'method' as compression mode\n and other entries as additional compression options if\n compression mode is 'zip'.\n\n Passing compression options as keys in dict is\n supported for compression modes 'gzip', 'bz2', 'zstd', and 'zip'.\nquoting : optional constant from csv module\n Defaults to csv.QUOTE_MINIMAL. If you have set a `float_format`\n then floats are converted to strings and thus csv.QUOTE_NONNUMERIC\n will treat them as non-numeric.\nquotechar : str, default '\\\"'\n String of length 1. Character used to quote fields.\nlineterminator : str, optional\n The newline character or character sequence to use in the output\n file. Defaults to `os.linesep`, which depends on the OS in which\n this method is called ('\\\\n' for linux, '\\\\r\\\\n' for Windows, i.e.).\n\n .. versionchanged:: 1.5.0\n\n Previously was line_terminator, changed for consistency with\n read_csv and the standard library 'csv' module.\n\nchunksize : int or None\n Rows to write at a time.\ndate_format : str, default None\n Format string for datetime objects.\ndoublequote : bool, default True\n Control quoting of `quotechar` inside a field.\nescapechar : str, default None\n String of length 1. Character used to escape `sep` and `quotechar`\n when appropriate.\ndecimal : str, default '.'\n Character recognized as decimal separator. E.g. use ',' for\n European data.\nerrors : str, default 'strict'\n Specifies how encoding and decoding errors are to be handled.\n See the errors argument for :func:`open` for a full list\n of options.\n\n{storage_options}\n\nReturns\n-------\nNone or str\n If path_or_buf is None, returns the resulting csv format as a\n string. Otherwise returns None.\n\nSee Also\n--------\nread_csv : Load a CSV file into a DataFrame.\nto_excel : Write DataFrame to an Excel file.\n\nExamples\n--------\nCreate 'out.csv' containing 'df' without indices\n\n>>> df = pd.DataFrame({{'name': ['Raphael', 'Donatello'],\n... 'mask': ['red', 'purple'],\n... 'weapon': ['sai', 'bo staff']}})\n>>> df.to_csv('out.csv', index=False) # doctest: +SKIP\n\nCreate 'out.zip' containing 'out.csv'\n\n>>> df.to_csv(index=False)\n'name,mask,weapon\\nRaphael,red,sai\\nDonatello,purple,bo staff\\n'\n>>> compression_opts = dict(method='zip',\n... archive_name='out.csv') # doctest: +SKIP\n>>> df.to_csv('out.zip', index=False,\n... compression=compression_opts) # doctest: +SKIP\n\nTo write a csv file to a new folder or nested folder you will first\nneed to create it using either Pathlib or os:\n\n>>> from pathlib import Path # doctest: +SKIP\n>>> filepath = Path('folder/subfolder/out.csv') # doctest: +SKIP\n>>> filepath.parent.mkdir(parents=True, exist_ok=True) # doctest: +SKIP\n>>> df.to_csv(filepath) # doctest: +SKIP\n\n>>> import os # doctest: +SKIP\n>>> os.makedirs('folder/subfolder', exist_ok=True) # doctest: +SKIP\n>>> df.to_csv('folder/subfolder/out.csv') # doctest: +SKIP\n"}, "kind": 2, "label": "to_csv", "sortText": "176"}, {"detail": "Overload[[MutableMappingT](orient: Literal[\"dict\", \"list\", \"series\", \"split\", \"tight\", \"index\"] = ..., *, into: type[MutableMappingT] | MutableMappingT, index: bool = ...) -> MutableMappingT, [MutableMappingT](orient: Literal[\"records\"], *, into: type[MutableMappingT] | MutableMappingT, index: bool = ...) -> list[MutableMappingT], (orient: Literal[\"dict\", \"list\", \"series\", \"split\", \"tight\", \"index\"] = ..., *, into: type[dict[Unknown, Unknown]] = ..., index: bool = ...) -> dict[Unknown, Unknown], (orient: Literal[\"records\"], *, into: type[dict[Unknown, Unknown]] = ..., index: bool = ...) -> list[dict[Unknown, Unknown]]]", "documentation": {"kind": "plaintext", "value": "Convert the DataFrame to a dictionary.\n\nThe type of the key-value pairs can be customized with the parameters\n(see below).\n\nParameters\n----------\norient : str {'dict', 'list', 'series', 'split', 'tight', 'records', 'index'}\n Determines the type of the values of the dictionary.\n\n - 'dict' (default) : dict like {column -> {index -> value}}\n - 'list' : dict like {column -> [values]}\n - 'series' : dict like {column -> Series(values)}\n - 'split' : dict like\n {'index' -> [index], 'columns' -> [columns], 'data' -> [values]}\n - 'tight' : dict like\n {'index' -> [index], 'columns' -> [columns], 'data' -> [values],\n 'index_names' -> [index.names], 'column_names' -> [column.names]}\n - 'records' : list like\n [{column -> value}, ... , {column -> value}]\n - 'index' : dict like {index -> {column -> value}}\n\n .. versionadded:: 1.4.0\n 'tight' as an allowed value for the ``orient`` argument\n\ninto : class, default dict\n The collections.abc.MutableMapping subclass used for all Mappings\n in the return value. Can be the actual class or an empty\n instance of the mapping type you want. If you want a\n collections.defaultdict, you must pass it initialized.\n\nindex : bool, default True\n Whether to include the index item (and index_names item if `orient`\n is 'tight') in the returned dictionary. Can only be ``False``\n when `orient` is 'split' or 'tight'.\n\n .. versionadded:: 2.0.0\n\nReturns\n-------\ndict, list or collections.abc.MutableMapping\n Return a collections.abc.MutableMapping object representing the\n DataFrame. The resulting transformation depends on the `orient`\n parameter.\n\nSee Also\n--------\nDataFrame.from_dict: Create a DataFrame from a dictionary.\nDataFrame.to_json: Convert a DataFrame to JSON format.\n\nExamples\n--------\n>>> df = pd.DataFrame({'col1': [1, 2],\n... 'col2': [0.5, 0.75]},\n... index=['row1', 'row2'])\n>>> df\n col1 col2\nrow1 1 0.50\nrow2 2 0.75\n>>> df.to_dict()\n{'col1': {'row1': 1, 'row2': 2}, 'col2': {'row1': 0.5, 'row2': 0.75}}\n\nYou can specify the return orientation.\n\n>>> df.to_dict('series')\n{'col1': row1 1\n row2 2\nName: col1, dtype: int64,\n'col2': row1 0.50\n row2 0.75\nName: col2, dtype: float64}\n\n>>> df.to_dict('split')\n{'index': ['row1', 'row2'], 'columns': ['col1', 'col2'],\n 'data': [[1, 0.5], [2, 0.75]]}\n\n>>> df.to_dict('records')\n[{'col1': 1, 'col2': 0.5}, {'col1': 2, 'col2': 0.75}]\n\n>>> df.to_dict('index')\n{'row1': {'col1': 1, 'col2': 0.5}, 'row2': {'col1': 2, 'col2': 0.75}}\n\n>>> df.to_dict('tight')\n{'index': ['row1', 'row2'], 'columns': ['col1', 'col2'],\n 'data': [[1, 0.5], [2, 0.75]], 'index_names': [None], 'column_names': [None]}\n\nYou can also specify the mapping type.\n\n>>> from collections import OrderedDict, defaultdict\n>>> df.to_dict(into=OrderedDict)\nOrderedDict([('col1', OrderedDict([('row1', 1), ('row2', 2)])),\n ('col2', OrderedDict([('row1', 0.5), ('row2', 0.75)]))])\n\nIf you want a `defaultdict`, you need to initialize it:\n\n>>> dd = defaultdict(list)\n>>> df.to_dict('records', into=dd)\n[defaultdict(, {'col1': 1, 'col2': 0.5}),\n defaultdict(, {'col1': 2, 'col2': 0.75})]\n"}, "kind": 2, "label": "to_dict", "sortText": "177"}, {"detail": "bound method DataFrame.to_excel(excel_writer: str | PathLike[str] | WriteExcelBuffer, sheet_name: str = \"Sheet1\", na_rep: str = \"\", float_format: str | None = None, columns: Sequence[Hashable] | None = None, header: Sequence[Hashable] | bool = True, index: bool = True, index_label: Hashable | Sequence[Hashable] = None, startrow: int = 0, startcol: int = 0, engine: Literal[\"openpyxl\", \"xlsxwriter\"] | None = None, merge_cells: bool = True, inf_rep: str = \"inf\", freeze_panes: tuple[int, int] | None = None, storage_options: dict[str, Any] | None = None, engine_kwargs: dict[str, Any] | None = None) -> None", "documentation": {"kind": "plaintext", "value": "Write {klass} to an Excel sheet.\n\nTo write a single {klass} to an Excel .xlsx file it is only necessary to\nspecify a target file name. To write to multiple sheets it is necessary to\ncreate an `ExcelWriter` object with a target file name, and specify a sheet\nin the file to write to.\n\nMultiple sheets may be written to by specifying unique `sheet_name`.\nWith all data written to the file it is necessary to save the changes.\nNote that creating an `ExcelWriter` object with a file name that already\nexists will result in the contents of the existing file being erased.\n\nParameters\n----------\nexcel_writer : path-like, file-like, or ExcelWriter object\n File path or existing ExcelWriter.\nsheet_name : str, default 'Sheet1'\n Name of sheet which will contain DataFrame.\nna_rep : str, default ''\n Missing data representation.\nfloat_format : str, optional\n Format string for floating point numbers. For example\n ``float_format=\"%.2f\"`` will format 0.1234 to 0.12.\ncolumns : sequence or list of str, optional\n Columns to write.\nheader : bool or list of str, default True\n Write out the column names. If a list of string is given it is\n assumed to be aliases for the column names.\nindex : bool, default True\n Write row names (index).\nindex_label : str or sequence, optional\n Column label for index column(s) if desired. If not specified, and\n `header` and `index` are True, then the index names are used. A\n sequence should be given if the DataFrame uses MultiIndex.\nstartrow : int, default 0\n Upper left cell row to dump data frame.\nstartcol : int, default 0\n Upper left cell column to dump data frame.\nengine : str, optional\n Write engine to use, 'openpyxl' or 'xlsxwriter'. You can also set this\n via the options ``io.excel.xlsx.writer`` or\n ``io.excel.xlsm.writer``.\n\nmerge_cells : bool, default True\n Write MultiIndex and Hierarchical Rows as merged cells.\ninf_rep : str, default 'inf'\n Representation for infinity (there is no native representation for\n infinity in Excel).\nfreeze_panes : tuple of int (length 2), optional\n Specifies the one-based bottommost row and rightmost column that\n is to be frozen.\n{storage_options}\n\n .. versionadded:: {storage_options_versionadded}\nengine_kwargs : dict, optional\n Arbitrary keyword arguments passed to excel engine.\n\nSee Also\n--------\nto_csv : Write DataFrame to a comma-separated values (csv) file.\nExcelWriter : Class for writing DataFrame objects into excel sheets.\nread_excel : Read an Excel file into a pandas DataFrame.\nread_csv : Read a comma-separated values (csv) file into DataFrame.\nio.formats.style.Styler.to_excel : Add styles to Excel sheet.\n\nNotes\n-----\nFor compatibility with :meth:`~DataFrame.to_csv`,\nto_excel serializes lists and dicts to strings before writing.\n\nOnce a workbook has been saved it is not possible to write further\ndata without rewriting the whole workbook.\n\nExamples\n--------\n\nCreate, write to and save a workbook:\n\n>>> df1 = pd.DataFrame([['a', 'b'], ['c', 'd']],\n... index=['row 1', 'row 2'],\n... columns=['col 1', 'col 2'])\n>>> df1.to_excel(\"output.xlsx\") # doctest: +SKIP\n\nTo specify the sheet name:\n\n>>> df1.to_excel(\"output.xlsx\",\n... sheet_name='Sheet_name_1') # doctest: +SKIP\n\nIf you wish to write to more than one sheet in the workbook, it is\nnecessary to specify an ExcelWriter object:\n\n>>> df2 = df1.copy()\n>>> with pd.ExcelWriter('output.xlsx') as writer: # doctest: +SKIP\n... df1.to_excel(writer, sheet_name='Sheet_name_1')\n... df2.to_excel(writer, sheet_name='Sheet_name_2')\n\nExcelWriter can also be used to append to an existing Excel file:\n\n>>> with pd.ExcelWriter('output.xlsx',\n... mode='a') as writer: # doctest: +SKIP\n... df1.to_excel(writer, sheet_name='Sheet_name_3')\n\nTo set the library that is used to write the Excel file,\nyou can pass the `engine` keyword (the default engine is\nautomatically chosen depending on the file extension):\n\n>>> df1.to_excel('output1.xlsx', engine='xlsxwriter') # doctest: +SKIP\n"}, "kind": 2, "label": "to_excel", "sortText": "178"}, {"detail": "bound method DataFrame.to_feather(path: str | PathLike[str] | WriteBuffer[bytes], **kwargs) -> None", "documentation": {"kind": "plaintext", "value": "Write a DataFrame to the binary Feather format.\n\nParameters\n----------\npath : str, path object, file-like object\n String, path object (implementing ``os.PathLike[str]``), or file-like\n object implementing a binary ``write()`` function. If a string or a path,\n it will be used as Root Directory path when writing a partitioned dataset.\n**kwargs :\n Additional keywords passed to :func:`pyarrow.feather.write_feather`.\n This includes the `compression`, `compression_level`, `chunksize`\n and `version` keywords.\n\nNotes\n-----\nThis function writes the dataframe as a `feather file\n`_. Requires a default\nindex. For saving the DataFrame with your custom index use a method that\nsupports custom indices e.g. `to_parquet`.\n\nExamples\n--------\n>>> df = pd.DataFrame([[1, 2, 3], [4, 5, 6]])\n>>> df.to_feather(\"file.feather\") # doctest: +SKIP\n"}, "kind": 2, "label": "to_feather", "sortText": "179"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "to_frame", "sortText": "180"}, {"detail": "bound method DataFrame.to_gbq(destination_table: str, project_id: str | None = None, chunksize: int | None = None, reauth: bool = False, if_exists: Literal[\"fail\", \"replace\", \"append\"] = \"fail\", auth_local_webserver: bool = True, table_schema: list[dict[str, str]] | None = None, location: str | None = None, progress_bar: bool = True, credentials=None) -> None", "documentation": {"kind": "plaintext", "value": "Write a DataFrame to a Google BigQuery table.\n\n.. deprecated:: 2.2.0\n\n Please use ``pandas_gbq.to_gbq`` instead.\n\nThis function requires the `pandas-gbq package\n`__.\n\nSee the `How to authenticate with Google BigQuery\n`__\nguide for authentication instructions.\n\nParameters\n----------\ndestination_table : str\n Name of table to be written, in the form ``dataset.tablename``.\nproject_id : str, optional\n Google BigQuery Account project ID. Optional when available from\n the environment.\nchunksize : int, optional\n Number of rows to be inserted in each chunk from the dataframe.\n Set to ``None`` to load the whole dataframe at once.\nreauth : bool, default False\n Force Google BigQuery to re-authenticate the user. This is useful\n if multiple accounts are used.\nif_exists : str, default 'fail'\n Behavior when the destination table exists. Value can be one of:\n\n ``'fail'``\n If table exists raise pandas_gbq.gbq.TableCreationError.\n ``'replace'``\n If table exists, drop it, recreate it, and insert data.\n ``'append'``\n If table exists, insert data. Create if does not exist.\nauth_local_webserver : bool, default True\n Use the `local webserver flow`_ instead of the `console flow`_\n when getting user credentials.\n\n .. _local webserver flow:\n https://google-auth-oauthlib.readthedocs.io/en/latest/reference/google_auth_oauthlib.flow.html#google_auth_oauthlib.flow.InstalledAppFlow.run_local_server\n .. _console flow:\n https://google-auth-oauthlib.readthedocs.io/en/latest/reference/google_auth_oauthlib.flow.html#google_auth_oauthlib.flow.InstalledAppFlow.run_console\n\n *New in version 0.2.0 of pandas-gbq*.\n\n .. versionchanged:: 1.5.0\n Default value is changed to ``True``. Google has deprecated the\n ``auth_local_webserver = False`` `\"out of band\" (copy-paste)\n flow\n `_.\ntable_schema : list of dicts, optional\n List of BigQuery table fields to which according DataFrame\n columns conform to, e.g. ``[{'name': 'col1', 'type':\n 'STRING'},...]``. If schema is not provided, it will be\n generated according to dtypes of DataFrame columns. See\n BigQuery API documentation on available names of a field.\n\n *New in version 0.3.1 of pandas-gbq*.\nlocation : str, optional\n Location where the load job should run. See the `BigQuery locations\n documentation\n `__ for a\n list of available locations. The location must match that of the\n target dataset.\n\n *New in version 0.5.0 of pandas-gbq*.\nprogress_bar : bool, default True\n Use the library `tqdm` to show the progress bar for the upload,\n chunk by chunk.\n\n *New in version 0.5.0 of pandas-gbq*.\ncredentials : google.auth.credentials.Credentials, optional\n Credentials for accessing Google APIs. Use this parameter to\n override default credentials, such as to use Compute Engine\n :class:`google.auth.compute_engine.Credentials` or Service\n Account :class:`google.oauth2.service_account.Credentials`\n directly.\n\n *New in version 0.8.0 of pandas-gbq*.\n\nSee Also\n--------\npandas_gbq.to_gbq : This function in the pandas-gbq library.\nread_gbq : Read a DataFrame from Google BigQuery.\n\nExamples\n--------\nExample taken from `Google BigQuery documentation\n`_\n\n>>> project_id = \"my-project\"\n>>> table_id = 'my_dataset.my_table'\n>>> df = pd.DataFrame({\n... \"my_string\": [\"a\", \"b\", \"c\"],\n... \"my_int64\": [1, 2, 3],\n... \"my_float64\": [4.0, 5.0, 6.0],\n... \"my_bool1\": [True, False, True],\n... \"my_bool2\": [False, True, False],\n... \"my_dates\": pd.date_range(\"now\", periods=3),\n... }\n... )\n\n>>> df.to_gbq(table_id, project_id=project_id) # doctest: +SKIP\n"}, "kind": 2, "label": "to_gbq", "sortText": "181"}, {"detail": "bound method DataFrame.to_hdf(path_or_buf: str | PathLike[str], key: str, mode: Literal[\"a\", \"w\", \"r+\"] = \"a\", complevel: int | None = None, complib: Literal[\"zlib\", \"lzo\", \"bzip2\", \"blosc\"] | None = None, append: bool = False, format: Literal[\"fixed\", \"table\"] | None = None, index: bool = True, min_itemsize: int | dict[str, int] | None = None, nan_rep=None, dropna: bool | None = None, data_columns: Literal[True] | list[str] | None = None, errors: Literal[\"strict\", \"ignore\", \"replace\", \"surrogateescape\", \"xmlcharrefreplace\", \"backslashreplace\", \"namereplace\"] = \"strict\", encoding: str = \"UTF-8\") -> None", "documentation": {"kind": "plaintext", "value": "Write the contained data to an HDF5 file using HDFStore.\n\nHierarchical Data Format (HDF) is self-describing, allowing an\napplication to interpret the structure and contents of a file with\nno outside information. One HDF file can hold a mix of related objects\nwhich can be accessed as a group or as individual objects.\n\nIn order to add another DataFrame or Series to an existing HDF file\nplease use append mode and a different a key.\n\n.. warning::\n\n One can store a subclass of ``DataFrame`` or ``Series`` to HDF5,\n but the type of the subclass is lost upon storing.\n\nFor more information see the :ref:`user guide `.\n\nParameters\n----------\npath_or_buf : str or pandas.HDFStore\n File path or HDFStore object.\nkey : str\n Identifier for the group in the store.\nmode : {'a', 'w', 'r+'}, default 'a'\n Mode to open file:\n\n - 'w': write, a new file is created (an existing file with\n the same name would be deleted).\n - 'a': append, an existing file is opened for reading and\n writing, and if the file does not exist it is created.\n - 'r+': similar to 'a', but the file must already exist.\ncomplevel : {0-9}, default None\n Specifies a compression level for data.\n A value of 0 or None disables compression.\ncomplib : {'zlib', 'lzo', 'bzip2', 'blosc'}, default 'zlib'\n Specifies the compression library to be used.\n These additional compressors for Blosc are supported\n (default if no compressor specified: 'blosc:blosclz'):\n {'blosc:blosclz', 'blosc:lz4', 'blosc:lz4hc', 'blosc:snappy',\n 'blosc:zlib', 'blosc:zstd'}.\n Specifying a compression library which is not available issues\n a ValueError.\nappend : bool, default False\n For Table formats, append the input data to the existing.\nformat : {'fixed', 'table', None}, default 'fixed'\n Possible values:\n\n - 'fixed': Fixed format. Fast writing/reading. Not-appendable,\n nor searchable.\n - 'table': Table format. Write as a PyTables Table structure\n which may perform worse but allow more flexible operations\n like searching / selecting subsets of the data.\n - If None, pd.get_option('io.hdf.default_format') is checked,\n followed by fallback to \"fixed\".\nindex : bool, default True\n Write DataFrame index as a column.\nmin_itemsize : dict or int, optional\n Map column names to minimum string sizes for columns.\nnan_rep : Any, optional\n How to represent null values as str.\n Not allowed with append=True.\ndropna : bool, default False, optional\n Remove missing values.\ndata_columns : list of columns or True, optional\n List of columns to create as indexed data columns for on-disk\n queries, or True to use all columns. By default only the axes\n of the object are indexed. See\n :ref:`Query via data columns`. for\n more information.\n Applicable only to format='table'.\nerrors : str, default 'strict'\n Specifies how encoding and decoding errors are to be handled.\n See the errors argument for :func:`open` for a full list\n of options.\nencoding : str, default \"UTF-8\"\n\nSee Also\n--------\nread_hdf : Read from HDF file.\nDataFrame.to_orc : Write a DataFrame to the binary orc format.\nDataFrame.to_parquet : Write a DataFrame to the binary parquet format.\nDataFrame.to_sql : Write to a SQL table.\nDataFrame.to_feather : Write out feather-format for DataFrames.\nDataFrame.to_csv : Write out to a csv file.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]},\n... index=['a', 'b', 'c']) # doctest: +SKIP\n>>> df.to_hdf('data.h5', key='df', mode='w') # doctest: +SKIP\n\nWe can add another object to the same file:\n\n>>> s = pd.Series([1, 2, 3, 4]) # doctest: +SKIP\n>>> s.to_hdf('data.h5', key='s') # doctest: +SKIP\n\nReading from HDF file:\n\n>>> pd.read_hdf('data.h5', 'df') # doctest: +SKIP\nA B\na 1 4\nb 2 5\nc 3 6\n>>> pd.read_hdf('data.h5', 's') # doctest: +SKIP\n0 1\n1 2\n2 3\n3 4\ndtype: int64\n"}, "kind": 2, "label": "to_hdf", "sortText": "182"}, {"detail": "Overload[(buf: str | PathLike[str] | WriteBuffer[str], columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = ..., col_space: Sequence[str | int] | int | Mapping[Hashable, str | int] | None = ..., header: bool = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., justify: str | None = ..., max_rows: int | None = ..., max_cols: int | None = ..., show_dimensions: bool | str = ..., decimal: str = ..., bold_rows: bool = ..., classes: str | list[Unknown] | tuple[Unknown, ...] | None = ..., escape: bool = ..., notebook: bool = ..., border: int | None = ..., table_id: str | None = ..., render_links: bool = ..., encoding: str | None = ...) -> None, (buf: None = ..., columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = ..., col_space: Sequence[str | int] | int | Mapping[Hashable, str | int] | None = ..., header: bool = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., justify: str | None = ..., max_rows: int | None = ..., max_cols: int | None = ..., show_dimensions: bool | str = ..., decimal: str = ..., bold_rows: bool = ..., classes: str | list[Unknown] | tuple[Unknown, ...] | None = ..., escape: bool = ..., notebook: bool = ..., border: int | None = ..., table_id: str | None = ..., render_links: bool = ..., encoding: str | None = ...) -> str]", "documentation": {"kind": "plaintext", "value": "Render a DataFrame as an HTML table.\n%(shared_params)s\nbold_rows : bool, default True\n Make the row labels bold in the output.\nclasses : str or list or tuple, default None\n CSS class(es) to apply to the resulting html table.\nescape : bool, default True\n Convert the characters <, >, and & to HTML-safe sequences.\nnotebook : {True, False}, default False\n Whether the generated HTML is for IPython Notebook.\nborder : int\n A ``border=border`` attribute is included in the opening\n `
` tag. Default ``pd.options.display.html.border``.\ntable_id : str, optional\n A css id is included in the opening `
` tag if specified.\nrender_links : bool, default False\n Convert URLs to HTML links.\nencoding : str, default \"utf-8\"\n Set character encoding.\n%(returns)s\nSee Also\n--------\nto_string : Convert DataFrame to a string.\n\nExamples\n--------\n>>> df = pd.DataFrame(data={'col1': [1, 2], 'col2': [4, 3]})\n>>> html_string = '''
\n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n...
col1col2
014
123
'''\n>>> assert html_string == df.to_html()\n"}, "kind": 2, "label": "to_html", "sortText": "183"}, {"detail": "bound method DataFrame.to_json(path_or_buf: str | PathLike[str] | WriteBuffer[bytes] | WriteBuffer[str] | None = None, orient: Literal[\"split\", \"records\", \"index\", \"table\", \"columns\", \"values\"] | None = None, date_format: str | None = None, double_precision: int = 10, force_ascii: bool = True, date_unit: Literal[\"s\", \"ms\", \"us\", \"ns\"] = \"ms\", default_handler: ((Any, /) -> str | float | list[Unknown] | dict[Unknown, Unknown] | None) | None = None, lines: bool = False, compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = \"infer\", index: bool | None = None, indent: int | None = None, storage_options: dict[str, Any] | None = None, mode: Literal[\"a\", \"w\"] = \"w\") -> str | None", "documentation": {"kind": "plaintext", "value": "Convert the object to a JSON string.\n\nNote NaN's and None will be converted to null and datetime objects\nwill be converted to UNIX timestamps.\n\nParameters\n----------\npath_or_buf : str, path object, file-like object, or None, default None\n String, path object (implementing os.PathLike[str]), or file-like\n object implementing a write() function. If None, the result is\n returned as a string.\norient : str\n Indication of expected JSON string format.\n\n * Series:\n\n - default is 'index'\n - allowed values are: {{'split', 'records', 'index', 'table'}}.\n\n * DataFrame:\n\n - default is 'columns'\n - allowed values are: {{'split', 'records', 'index', 'columns',\n 'values', 'table'}}.\n\n * The format of the JSON string:\n\n - 'split' : dict like {{'index' -> [index], 'columns' -> [columns],\n 'data' -> [values]}}\n - 'records' : list like [{{column -> value}}, ... , {{column -> value}}]\n - 'index' : dict like {{index -> {{column -> value}}}}\n - 'columns' : dict like {{column -> {{index -> value}}}}\n - 'values' : just the values array\n - 'table' : dict like {{'schema': {{schema}}, 'data': {{data}}}}\n\n Describing the data, where data component is like ``orient='records'``.\n\ndate_format : {{None, 'epoch', 'iso'}}\n Type of date conversion. 'epoch' = epoch milliseconds,\n 'iso' = ISO8601. The default depends on the `orient`. For\n ``orient='table'``, the default is 'iso'. For all other orients,\n the default is 'epoch'.\ndouble_precision : int, default 10\n The number of decimal places to use when encoding\n floating point values. The possible maximal value is 15.\n Passing double_precision greater than 15 will raise a ValueError.\nforce_ascii : bool, default True\n Force encoded string to be ASCII.\ndate_unit : str, default 'ms' (milliseconds)\n The time unit to encode to, governs timestamp and ISO8601\n precision. One of 's', 'ms', 'us', 'ns' for second, millisecond,\n microsecond, and nanosecond respectively.\ndefault_handler : callable, default None\n Handler to call if object cannot otherwise be converted to a\n suitable format for JSON. Should receive a single argument which is\n the object to convert and return a serialisable object.\nlines : bool, default False\n If 'orient' is 'records' write out line-delimited json format. Will\n throw ValueError if incorrect 'orient' since others are not\n list-like.\n{compression_options}\n\n .. versionchanged:: 1.4.0 Zstandard support.\n\nindex : bool or None, default None\n The index is only used when 'orient' is 'split', 'index', 'column',\n or 'table'. Of these, 'index' and 'column' do not support\n `index=False`.\n\nindent : int, optional\n Length of whitespace used to indent each record.\n\n{storage_options}\n\nmode : str, default 'w' (writing)\n Specify the IO mode for output when supplying a path_or_buf.\n Accepted args are 'w' (writing) and 'a' (append) only.\n mode='a' is only supported when lines is True and orient is 'records'.\n\nReturns\n-------\nNone or str\n If path_or_buf is None, returns the resulting json format as a\n string. Otherwise returns None.\n\nSee Also\n--------\nread_json : Convert a JSON string to pandas object.\n\nNotes\n-----\nThe behavior of ``indent=0`` varies from the stdlib, which does not\nindent the output but does insert newlines. Currently, ``indent=0``\nand the default ``indent=None`` are equivalent in pandas, though this\nmay change in a future release.\n\n``orient='table'`` contains a 'pandas_version' field under 'schema'.\nThis stores the version of `pandas` used in the latest revision of the\nschema.\n\nExamples\n--------\n>>> from json import loads, dumps\n>>> df = pd.DataFrame(\n... [[\"a\", \"b\"], [\"c\", \"d\"]],\n... index=[\"row 1\", \"row 2\"],\n... columns=[\"col 1\", \"col 2\"],\n... )\n\n>>> result = df.to_json(orient=\"split\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n{{\n \"columns\": [\n \"col 1\",\n \"col 2\"\n ],\n \"index\": [\n \"row 1\",\n \"row 2\"\n ],\n \"data\": [\n [\n \"a\",\n \"b\"\n ],\n [\n \"c\",\n \"d\"\n ]\n ]\n}}\n\nEncoding/decoding a Dataframe using ``'records'`` formatted JSON.\nNote that index labels are not preserved with this encoding.\n\n>>> result = df.to_json(orient=\"records\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n[\n {{\n \"col 1\": \"a\",\n \"col 2\": \"b\"\n }},\n {{\n \"col 1\": \"c\",\n \"col 2\": \"d\"\n }}\n]\n\nEncoding/decoding a Dataframe using ``'index'`` formatted JSON:\n\n>>> result = df.to_json(orient=\"index\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n{{\n \"row 1\": {{\n \"col 1\": \"a\",\n \"col 2\": \"b\"\n }},\n \"row 2\": {{\n \"col 1\": \"c\",\n \"col 2\": \"d\"\n }}\n}}\n\nEncoding/decoding a Dataframe using ``'columns'`` formatted JSON:\n\n>>> result = df.to_json(orient=\"columns\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n{{\n \"col 1\": {{\n \"row 1\": \"a\",\n \"row 2\": \"c\"\n }},\n \"col 2\": {{\n \"row 1\": \"b\",\n \"row 2\": \"d\"\n }}\n}}\n\nEncoding/decoding a Dataframe using ``'values'`` formatted JSON:\n\n>>> result = df.to_json(orient=\"values\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n[\n [\n \"a\",\n \"b\"\n ],\n [\n \"c\",\n \"d\"\n ]\n]\n\nEncoding with Table Schema:\n\n>>> result = df.to_json(orient=\"table\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n{{\n \"schema\": {{\n \"fields\": [\n {{\n \"name\": \"index\",\n \"type\": \"string\"\n }},\n {{\n \"name\": \"col 1\",\n \"type\": \"string\"\n }},\n {{\n \"name\": \"col 2\",\n \"type\": \"string\"\n }}\n ],\n \"primaryKey\": [\n \"index\"\n ],\n \"pandas_version\": \"1.4.0\"\n }},\n \"data\": [\n {{\n \"index\": \"row 1\",\n \"col 1\": \"a\",\n \"col 2\": \"b\"\n }},\n {{\n \"index\": \"row 2\",\n \"col 1\": \"c\",\n \"col 2\": \"d\"\n }}\n ]\n}}\n"}, "kind": 2, "label": "to_json", "sortText": "184"}, {"detail": "Overload[(buf: None = ..., columns: Sequence[Hashable] | None = ..., header: bool | SequenceNotStr[str] = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., bold_rows: bool = ..., column_format: str | None = ..., longtable: bool | None = ..., escape: bool | None = ..., encoding: str | None = ..., decimal: str = ..., multicolumn: bool | None = ..., multicolumn_format: str | None = ..., multirow: bool | None = ..., caption: str | tuple[str, str] | None = ..., label: str | None = ..., position: str | None = ...) -> str, (buf: str | PathLike[str] | WriteBuffer[str], columns: Sequence[Hashable] | None = ..., header: bool | SequenceNotStr[str] = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., bold_rows: bool = ..., column_format: str | None = ..., longtable: bool | None = ..., escape: bool | None = ..., encoding: str | None = ..., decimal: str = ..., multicolumn: bool | None = ..., multicolumn_format: str | None = ..., multirow: bool | None = ..., caption: str | tuple[str, str] | None = ..., label: str | None = ..., position: str | None = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Render object to a LaTeX tabular, longtable, or nested table.\n\nRequires ``\\usepackage{{booktabs}}``. The output can be copy/pasted\ninto a main LaTeX document or read from an external file\nwith ``\\input{{table.tex}}``.\n\n.. versionchanged:: 2.0.0\n Refactored to use the Styler implementation via jinja2 templating.\n\nParameters\n----------\nbuf : str, Path or StringIO-like, optional, default None\n Buffer to write to. If None, the output is returned as a string.\ncolumns : list of label, optional\n The subset of columns to write. Writes all columns by default.\nheader : bool or list of str, default True\n Write out the column names. If a list of strings is given,\n it is assumed to be aliases for the column names.\nindex : bool, default True\n Write row names (index).\nna_rep : str, default 'NaN'\n Missing data representation.\nformatters : list of functions or dict of {{str: function}}, optional\n Formatter functions to apply to columns' elements by position or\n name. The result of each function must be a unicode string.\n List must be of length equal to the number of columns.\nfloat_format : one-parameter function or str, optional, default None\n Formatter for floating point numbers. For example\n ``float_format=\"%.2f\"`` and ``float_format=\"{{:0.2f}}\".format`` will\n both result in 0.1234 being formatted as 0.12.\nsparsify : bool, optional\n Set to False for a DataFrame with a hierarchical index to print\n every multiindex key at each row. By default, the value will be\n read from the config module.\nindex_names : bool, default True\n Prints the names of the indexes.\nbold_rows : bool, default False\n Make the row labels bold in the output.\ncolumn_format : str, optional\n The columns format as specified in `LaTeX table format\n `__ e.g. 'rcl' for 3\n columns. By default, 'l' will be used for all columns except\n columns of numbers, which default to 'r'.\nlongtable : bool, optional\n Use a longtable environment instead of tabular. Requires\n adding a \\usepackage{{longtable}} to your LaTeX preamble.\n By default, the value will be read from the pandas config\n module, and set to `True` if the option ``styler.latex.environment`` is\n `\"longtable\"`.\n\n .. versionchanged:: 2.0.0\n The pandas option affecting this argument has changed.\nescape : bool, optional\n By default, the value will be read from the pandas config\n module and set to `True` if the option ``styler.format.escape`` is\n `\"latex\"`. When set to False prevents from escaping latex special\n characters in column names.\n\n .. versionchanged:: 2.0.0\n The pandas option affecting this argument has changed, as has the\n default value to `False`.\nencoding : str, optional\n A string representing the encoding to use in the output file,\n defaults to 'utf-8'.\ndecimal : str, default '.'\n Character recognized as decimal separator, e.g. ',' in Europe.\nmulticolumn : bool, default True\n Use \\multicolumn to enhance MultiIndex columns.\n The default will be read from the config module, and is set\n as the option ``styler.sparse.columns``.\n\n .. versionchanged:: 2.0.0\n The pandas option affecting this argument has changed.\nmulticolumn_format : str, default 'r'\n The alignment for multicolumns, similar to `column_format`\n The default will be read from the config module, and is set as the option\n ``styler.latex.multicol_align``.\n\n .. versionchanged:: 2.0.0\n The pandas option affecting this argument has changed, as has the\n default value to \"r\".\nmultirow : bool, default True\n Use \\multirow to enhance MultiIndex rows. Requires adding a\n \\usepackage{{multirow}} to your LaTeX preamble. Will print\n centered labels (instead of top-aligned) across the contained\n rows, separating groups via clines. The default will be read\n from the pandas config module, and is set as the option\n ``styler.sparse.index``.\n\n .. versionchanged:: 2.0.0\n The pandas option affecting this argument has changed, as has the\n default value to `True`.\ncaption : str or tuple, optional\n Tuple (full_caption, short_caption),\n which results in ``\\caption[short_caption]{{full_caption}}``;\n if a single string is passed, no short caption will be set.\nlabel : str, optional\n The LaTeX label to be placed inside ``\\label{{}}`` in the output.\n This is used with ``\\ref{{}}`` in the main ``.tex`` file.\n\nposition : str, optional\n The LaTeX positional argument for tables, to be placed after\n ``\\begin{{}}`` in the output.\n\nReturns\n-------\nstr or None\n If buf is None, returns the result as a string. Otherwise returns None.\n\nSee Also\n--------\nio.formats.style.Styler.to_latex : Render a DataFrame to LaTeX\n with conditional formatting.\nDataFrame.to_string : Render a DataFrame to a console-friendly\n tabular output.\nDataFrame.to_html : Render a DataFrame as an HTML table.\n\nNotes\n-----\nAs of v2.0.0 this method has changed to use the Styler implementation as\npart of :meth:`.Styler.to_latex` via ``jinja2`` templating. This means\nthat ``jinja2`` is a requirement, and needs to be installed, for this method\nto function. It is advised that users switch to using Styler, since that\nimplementation is more frequently updated and contains much more\nflexibility with the output.\n\nExamples\n--------\nConvert a general DataFrame to LaTeX with formatting:\n\n>>> df = pd.DataFrame(dict(name=['Raphael', 'Donatello'],\n... age=[26, 45],\n... height=[181.23, 177.65]))\n>>> print(df.to_latex(index=False,\n... formatters={\"name\": str.upper},\n... float_format=\"{:.1f}\".format,\n... )) # doctest: +SKIP\n\\begin{tabular}{lrr}\n\\toprule\nname & age & height \\\\\n\\midrule\nRAPHAEL & 26 & 181.2 \\\\\nDONATELLO & 45 & 177.7 \\\\\n\\bottomrule\n\\end{tabular}\n"}, "kind": 2, "label": "to_latex", "sortText": "185"}, {"detail": "bound method DataFrame.to_markdown(buf: str | PathLike[str] | WriteBuffer[str] | None = None, mode: str = \"wt\", index: bool = True, storage_options: dict[str, Any] | None = None, **kwargs) -> str | None", "kind": 2, "label": "to_markdown", "sortText": "186"}, {"detail": "bound method DataFrame.to_numpy(dtype: DTypeLike | None = None, copy: bool = False, na_value: object = ...) -> ndarray[_AnyShape, dtype[Any]]", "documentation": {"kind": "plaintext", "value": "Convert the DataFrame to a NumPy array.\n\nBy default, the dtype of the returned array will be the common NumPy\ndtype of all types in the DataFrame. For example, if the dtypes are\n``float16`` and ``float32``, the results dtype will be ``float32``.\nThis may require copying data and coercing values, which may be\nexpensive.\n\nParameters\n----------\ndtype : str or numpy.dtype, optional\n The dtype to pass to :meth:`numpy.asarray`.\ncopy : bool, default False\n Whether to ensure that the returned value is not a view on\n another array. Note that ``copy=False`` does not *ensure* that\n ``to_numpy()`` is no-copy. Rather, ``copy=True`` ensure that\n a copy is made, even if not strictly necessary.\nna_value : Any, optional\n The value to use for missing values. The default value depends\n on `dtype` and the dtypes of the DataFrame columns.\n\nReturns\n-------\nnumpy.ndarray\n\nSee Also\n--------\nSeries.to_numpy : Similar method for Series.\n\nExamples\n--------\n>>> pd.DataFrame({\"A\": [1, 2], \"B\": [3, 4]}).to_numpy()\narray([[1, 3],\n [2, 4]])\n\nWith heterogeneous data, the lowest common type will have to\nbe used.\n\n>>> df = pd.DataFrame({\"A\": [1, 2], \"B\": [3.0, 4.5]})\n>>> df.to_numpy()\narray([[1. , 3. ],\n [2. , 4.5]])\n\nFor a mix of numeric and non-numeric types, the output array will\nhave object dtype.\n\n>>> df['C'] = pd.date_range('2000', periods=2)\n>>> df.to_numpy()\narray([[1, 3.0, Timestamp('2000-01-01 00:00:00')],\n [2, 4.5, Timestamp('2000-01-02 00:00:00')]], dtype=object)\n"}, "kind": 2, "label": "to_numpy", "sortText": "187"}, {"detail": "bound method DataFrame.to_orc(path: str | PathLike[str] | WriteBuffer[bytes] | None = None, *, engine: Literal[\"pyarrow\"] = \"pyarrow\", index: bool | None = None, engine_kwargs: dict[str, Any] | None = None) -> bytes | None", "documentation": {"kind": "plaintext", "value": "Write a DataFrame to the ORC format.\n\n.. versionadded:: 1.5.0\n\nParameters\n----------\npath : str, file-like object or None, default None\n If a string, it will be used as Root Directory path\n when writing a partitioned dataset. By file-like object,\n we refer to objects with a write() method, such as a file handle\n (e.g. via builtin open function). If path is None,\n a bytes object is returned.\nengine : {'pyarrow'}, default 'pyarrow'\n ORC library to use.\nindex : bool, optional\n If ``True``, include the dataframe's index(es) in the file output.\n If ``False``, they will not be written to the file.\n If ``None``, similar to ``infer`` the dataframe's index(es)\n will be saved. However, instead of being saved as values,\n the RangeIndex will be stored as a range in the metadata so it\n doesn't require much space and is faster. Other indexes will\n be included as columns in the file output.\nengine_kwargs : dict[str, Any] or None, default None\n Additional keyword arguments passed to :func:`pyarrow.orc.write_table`.\n\nReturns\n-------\nbytes if no path argument is provided else None\n\nRaises\n------\nNotImplementedError\n Dtype of one or more columns is category, unsigned integers, interval,\n period or sparse.\nValueError\n engine is not pyarrow.\n\nSee Also\n--------\nread_orc : Read a ORC file.\nDataFrame.to_parquet : Write a parquet file.\nDataFrame.to_csv : Write a csv file.\nDataFrame.to_sql : Write to a sql table.\nDataFrame.to_hdf : Write to hdf.\n\nNotes\n-----\n* Before using this function you should read the :ref:`user guide about\n ORC ` and :ref:`install optional dependencies `.\n* This function requires `pyarrow `_\n library.\n* For supported dtypes please refer to `supported ORC features in Arrow\n `__.\n* Currently timezones in datetime columns are not preserved when a\n dataframe is converted into ORC files.\n\nExamples\n--------\n>>> df = pd.DataFrame(data={'col1': [1, 2], 'col2': [4, 3]})\n>>> df.to_orc('df.orc') # doctest: +SKIP\n>>> pd.read_orc('df.orc') # doctest: +SKIP\n col1 col2\n0 1 4\n1 2 3\n\nIf you want to get a buffer to the orc content you can write it to io.BytesIO\n\n>>> import io\n>>> b = io.BytesIO(df.to_orc()) # doctest: +SKIP\n>>> b.seek(0) # doctest: +SKIP\n0\n>>> content = b.read() # doctest: +SKIP\n"}, "kind": 2, "label": "to_orc", "sortText": "188"}, {"detail": "Overload[(path: None = ..., engine: Literal[\"auto\", \"pyarrow\", \"fastparquet\"] = ..., compression: str | None = ..., index: bool | None = ..., partition_cols: list[str] | None = ..., storage_options: dict[str, Any] | None = ..., **kwargs) -> bytes, (path: str | PathLike[str] | WriteBuffer[bytes], engine: Literal[\"auto\", \"pyarrow\", \"fastparquet\"] = ..., compression: str | None = ..., index: bool | None = ..., partition_cols: list[str] | None = ..., storage_options: dict[str, Any] | None = ..., **kwargs) -> None]", "documentation": {"kind": "plaintext", "value": "Write a DataFrame to the binary parquet format.\n\nThis function writes the dataframe as a `parquet file\n`_. You can choose different parquet\nbackends, and have the option of compression. See\n:ref:`the user guide ` for more details.\n\nParameters\n----------\npath : str, path object, file-like object, or None, default None\n String, path object (implementing ``os.PathLike[str]``), or file-like\n object implementing a binary ``write()`` function. If None, the result is\n returned as bytes. If a string or path, it will be used as Root Directory\n path when writing a partitioned dataset.\nengine : {{'auto', 'pyarrow', 'fastparquet'}}, default 'auto'\n Parquet library to use. If 'auto', then the option\n ``io.parquet.engine`` is used. The default ``io.parquet.engine``\n behavior is to try 'pyarrow', falling back to 'fastparquet' if\n 'pyarrow' is unavailable.\ncompression : str or None, default 'snappy'\n Name of the compression to use. Use ``None`` for no compression.\n Supported options: 'snappy', 'gzip', 'brotli', 'lz4', 'zstd'.\nindex : bool, default None\n If ``True``, include the dataframe's index(es) in the file output.\n If ``False``, they will not be written to the file.\n If ``None``, similar to ``True`` the dataframe's index(es)\n will be saved. However, instead of being saved as values,\n the RangeIndex will be stored as a range in the metadata so it\n doesn't require much space and is faster. Other indexes will\n be included as columns in the file output.\npartition_cols : list, optional, default None\n Column names by which to partition the dataset.\n Columns are partitioned in the order they are given.\n Must be None if path is not a string.\n{storage_options}\n\n**kwargs\n Additional arguments passed to the parquet library. See\n :ref:`pandas io ` for more details.\n\nReturns\n-------\nbytes if no path argument is provided else None\n\nSee Also\n--------\nread_parquet : Read a parquet file.\nDataFrame.to_orc : Write an orc file.\nDataFrame.to_csv : Write a csv file.\nDataFrame.to_sql : Write to a sql table.\nDataFrame.to_hdf : Write to hdf.\n\nNotes\n-----\nThis function requires either the `fastparquet\n`_ or `pyarrow\n`_ library.\n\nExamples\n--------\n>>> df = pd.DataFrame(data={{'col1': [1, 2], 'col2': [3, 4]}})\n>>> df.to_parquet('df.parquet.gzip',\n... compression='gzip') # doctest: +SKIP\n>>> pd.read_parquet('df.parquet.gzip') # doctest: +SKIP\n col1 col2\n0 1 3\n1 2 4\n\nIf you want to get a buffer to the parquet content you can use a io.BytesIO\nobject, as long as you don't use partition_cols, which creates multiple files.\n\n>>> import io\n>>> f = io.BytesIO()\n>>> df.to_parquet(f)\n>>> f.seek(0)\n0\n>>> content = f.read()\n"}, "kind": 2, "label": "to_parquet", "sortText": "189"}, {"detail": "bound method DataFrame.to_period(freq: str | BaseOffset | None = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Convert DataFrame from DatetimeIndex to PeriodIndex.\n\nConvert DataFrame from DatetimeIndex to PeriodIndex with desired\nfrequency (inferred from index if not passed).\n\nParameters\n----------\nfreq : str, default\n Frequency of the PeriodIndex.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to convert (the index by default).\ncopy : bool, default True\n If False then underlying input data is not copied.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\nDataFrame\n The DataFrame has a PeriodIndex.\n\nExamples\n--------\n>>> idx = pd.to_datetime(\n... [\n... \"2001-03-31 00:00:00\",\n... \"2002-05-31 00:00:00\",\n... \"2003-08-31 00:00:00\",\n... ]\n... )\n\n>>> idx\nDatetimeIndex(['2001-03-31', '2002-05-31', '2003-08-31'],\ndtype='datetime64[ns]', freq=None)\n\n>>> idx.to_period(\"M\")\nPeriodIndex(['2001-03', '2002-05', '2003-08'], dtype='period[M]')\n\nFor the yearly frequency\n\n>>> idx.to_period(\"Y\")\nPeriodIndex(['2001', '2002', '2003'], dtype='period[Y-DEC]')\n"}, "kind": 2, "label": "to_period", "sortText": "190"}, {"detail": "bound method DataFrame.to_pickle(path: str | PathLike[str] | WriteBuffer[bytes], compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = \"infer\", protocol: int = 5, storage_options: dict[str, Any] | None = None) -> None", "documentation": {"kind": "plaintext", "value": "Pickle (serialize) object to file.\n\nParameters\n----------\npath : str, path object, or file-like object\n String, path object (implementing ``os.PathLike[str]``), or file-like\n object implementing a binary ``write()`` function. File path where\n the pickled object will be stored.\n{compression_options}\nprotocol : int\n Int which indicates which protocol should be used by the pickler,\n default HIGHEST_PROTOCOL (see [1]_ paragraph 12.1.2). The possible\n values are 0, 1, 2, 3, 4, 5. A negative value for the protocol\n parameter is equivalent to setting its value to HIGHEST_PROTOCOL.\n\n .. [1] https://docs.python.org/3/library/pickle.html.\n\n{storage_options}\n\nSee Also\n--------\nread_pickle : Load pickled pandas object (or any object) from file.\nDataFrame.to_hdf : Write DataFrame to an HDF5 file.\nDataFrame.to_sql : Write DataFrame to a SQL database.\nDataFrame.to_parquet : Write a DataFrame to the binary parquet format.\n\nExamples\n--------\n>>> original_df = pd.DataFrame({{\"foo\": range(5), \"bar\": range(5, 10)}}) # doctest: +SKIP\n>>> original_df # doctest: +SKIP\n foo bar\n0 0 5\n1 1 6\n2 2 7\n3 3 8\n4 4 9\n>>> original_df.to_pickle(\"./dummy.pkl\") # doctest: +SKIP\n\n>>> unpickled_df = pd.read_pickle(\"./dummy.pkl\") # doctest: +SKIP\n>>> unpickled_df # doctest: +SKIP\n foo bar\n0 0 5\n1 1 6\n2 2 7\n3 3 8\n4 4 9\n"}, "kind": 2, "label": "to_pickle", "sortText": "191"}, {"detail": "bound method DataFrame.to_records(index: bool = True, column_dtypes=None, index_dtypes=None) -> recarray[_AnyShape, dtype[Any]]", "documentation": {"kind": "plaintext", "value": "Convert DataFrame to a NumPy record array.\n\nIndex will be included as the first field of the record array if\nrequested.\n\nParameters\n----------\nindex : bool, default True\n Include index in resulting record array, stored in 'index'\n field or using the index label, if set.\ncolumn_dtypes : str, type, dict, default None\n If a string or type, the data type to store all columns. If\n a dictionary, a mapping of column names and indices (zero-indexed)\n to specific data types.\nindex_dtypes : str, type, dict, default None\n If a string or type, the data type to store all index levels. If\n a dictionary, a mapping of index level names and indices\n (zero-indexed) to specific data types.\n\n This mapping is applied only if `index=True`.\n\nReturns\n-------\nnumpy.rec.recarray\n NumPy ndarray with the DataFrame labels as fields and each row\n of the DataFrame as entries.\n\nSee Also\n--------\nDataFrame.from_records: Convert structured or record ndarray\n to DataFrame.\nnumpy.rec.recarray: An ndarray that allows field access using\n attributes, analogous to typed columns in a\n spreadsheet.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [1, 2], 'B': [0.5, 0.75]},\n... index=['a', 'b'])\n>>> df\n A B\na 1 0.50\nb 2 0.75\n>>> df.to_records()\nrec.array([('a', 1, 0.5 ), ('b', 2, 0.75)],\n dtype=[('index', 'O'), ('A', '>> df.index = df.index.rename(\"I\")\n>>> df.to_records()\nrec.array([('a', 1, 0.5 ), ('b', 2, 0.75)],\n dtype=[('I', 'O'), ('A', '>> df.to_records(index=False)\nrec.array([(1, 0.5 ), (2, 0.75)],\n dtype=[('A', '>> df.to_records(column_dtypes={\"A\": \"int32\"})\nrec.array([('a', 1, 0.5 ), ('b', 2, 0.75)],\n dtype=[('I', 'O'), ('A', '>> df.to_records(index_dtypes=\">> index_dtypes = f\">> df.to_records(index_dtypes=index_dtypes)\nrec.array([(b'a', 1, 0.5 ), (b'b', 2, 0.75)],\n dtype=[('I', 'S1'), ('A', ' Unknown) | None = None) -> int | None", "documentation": {"kind": "plaintext", "value": "Write records stored in a DataFrame to a SQL database.\n\nDatabases supported by SQLAlchemy [1]_ are supported. Tables can be\nnewly created, appended to, or overwritten.\n\nParameters\n----------\nname : str\n Name of SQL table.\ncon : sqlalchemy.engine.(Engine or Connection) or sqlite3.Connection\n Using SQLAlchemy makes it possible to use any DB supported by that\n library. Legacy support is provided for sqlite3.Connection objects. The user\n is responsible for engine disposal and connection closure for the SQLAlchemy\n connectable. See `here `_.\n If passing a sqlalchemy.engine.Connection which is already in a transaction,\n the transaction will not be committed. If passing a sqlite3.Connection,\n it will not be possible to roll back the record insertion.\n\nschema : str, optional\n Specify the schema (if database flavor supports this). If None, use\n default schema.\nif_exists : {'fail', 'replace', 'append'}, default 'fail'\n How to behave if the table already exists.\n\n * fail: Raise a ValueError.\n * replace: Drop the table before inserting new values.\n * append: Insert new values to the existing table.\n\nindex : bool, default True\n Write DataFrame index as a column. Uses `index_label` as the column\n name in the table. Creates a table index for this column.\nindex_label : str or sequence, default None\n Column label for index column(s). If None is given (default) and\n `index` is True, then the index names are used.\n A sequence should be given if the DataFrame uses MultiIndex.\nchunksize : int, optional\n Specify the number of rows in each batch to be written at a time.\n By default, all rows will be written at once.\ndtype : dict or scalar, optional\n Specifying the datatype for columns. If a dictionary is used, the\n keys should be the column names and the values should be the\n SQLAlchemy types or strings for the sqlite3 legacy mode. If a\n scalar is provided, it will be applied to all columns.\nmethod : {None, 'multi', callable}, optional\n Controls the SQL insertion clause used:\n\n * None : Uses standard SQL ``INSERT`` clause (one per row).\n * 'multi': Pass multiple values in a single ``INSERT`` clause.\n * callable with signature ``(pd_table, conn, keys, data_iter)``.\n\n Details and a sample callable implementation can be found in the\n section :ref:`insert method `.\n\nReturns\n-------\nNone or int\n Number of rows affected by to_sql. None is returned if the callable\n passed into ``method`` does not return an integer number of rows.\n\n The number of returned rows affected is the sum of the ``rowcount``\n attribute of ``sqlite3.Cursor`` or SQLAlchemy connectable which may not\n reflect the exact number of written rows as stipulated in the\n `sqlite3 `__ or\n `SQLAlchemy `__.\n\n .. versionadded:: 1.4.0\n\nRaises\n------\nValueError\n When the table already exists and `if_exists` is 'fail' (the\n default).\n\nSee Also\n--------\nread_sql : Read a DataFrame from a table.\n\nNotes\n-----\nTimezone aware datetime columns will be written as\n``Timestamp with timezone`` type with SQLAlchemy if supported by the\ndatabase. Otherwise, the datetimes will be stored as timezone unaware\ntimestamps local to the original timezone.\n\nNot all datastores support ``method=\"multi\"``. Oracle, for example,\ndoes not support multi-value insert.\n\nReferences\n----------\n.. [1] https://docs.sqlalchemy.org\n.. [2] https://www.python.org/dev/peps/pep-0249/\n\nExamples\n--------\nCreate an in-memory SQLite database.\n\n>>> from sqlalchemy import create_engine\n>>> engine = create_engine('sqlite://', echo=False)\n\nCreate a table from scratch with 3 rows.\n\n>>> df = pd.DataFrame({'name' : ['User 1', 'User 2', 'User 3']})\n>>> df\n name\n0 User 1\n1 User 2\n2 User 3\n\n>>> df.to_sql(name='users', con=engine)\n3\n>>> from sqlalchemy import text\n>>> with engine.connect() as conn:\n... conn.execute(text(\"SELECT * FROM users\")).fetchall()\n[(0, 'User 1'), (1, 'User 2'), (2, 'User 3')]\n\nAn `sqlalchemy.engine.Connection` can also be passed to `con`:\n\n>>> with engine.begin() as connection:\n... df1 = pd.DataFrame({'name' : ['User 4', 'User 5']})\n... df1.to_sql(name='users', con=connection, if_exists='append')\n2\n\nThis is allowed to support operations that require that the same\nDBAPI connection is used for the entire operation.\n\n>>> df2 = pd.DataFrame({'name' : ['User 6', 'User 7']})\n>>> df2.to_sql(name='users', con=engine, if_exists='append')\n2\n>>> with engine.connect() as conn:\n... conn.execute(text(\"SELECT * FROM users\")).fetchall()\n[(0, 'User 1'), (1, 'User 2'), (2, 'User 3'),\n (0, 'User 4'), (1, 'User 5'), (0, 'User 6'),\n (1, 'User 7')]\n\nOverwrite the table with just ``df2``.\n\n>>> df2.to_sql(name='users', con=engine, if_exists='replace',\n... index_label='id')\n2\n>>> with engine.connect() as conn:\n... conn.execute(text(\"SELECT * FROM users\")).fetchall()\n[(0, 'User 6'), (1, 'User 7')]\n\nUse ``method`` to define a callable insertion method to do nothing\nif there's a primary key conflict on a table in a PostgreSQL database.\n\n>>> from sqlalchemy.dialects.postgresql import insert\n>>> def insert_on_conflict_nothing(table, conn, keys, data_iter):\n... # \"a\" is the primary key in \"conflict_table\"\n... data = [dict(zip(keys, row)) for row in data_iter]\n... stmt = insert(table.table).values(data).on_conflict_do_nothing(index_elements=[\"a\"])\n... result = conn.execute(stmt)\n... return result.rowcount\n>>> df_conflict.to_sql(name=\"conflict_table\", con=conn, if_exists=\"append\", method=insert_on_conflict_nothing) # doctest: +SKIP\n0\n\nFor MySQL, a callable to update columns ``b`` and ``c`` if there's a conflict\non a primary key.\n\n>>> from sqlalchemy.dialects.mysql import insert\n>>> def insert_on_conflict_update(table, conn, keys, data_iter):\n... # update columns \"b\" and \"c\" on primary key conflict\n... data = [dict(zip(keys, row)) for row in data_iter]\n... stmt = (\n... insert(table.table)\n... .values(data)\n... )\n... stmt = stmt.on_duplicate_key_update(b=stmt.inserted.b, c=stmt.inserted.c)\n... result = conn.execute(stmt)\n... return result.rowcount\n>>> df_conflict.to_sql(name=\"conflict_table\", con=conn, if_exists=\"append\", method=insert_on_conflict_update) # doctest: +SKIP\n2\n\nSpecify the dtype (especially useful for integers with missing values).\nNotice that while pandas is forced to store the data as floating point,\nthe database supports nullable integers. When fetching the data with\nPython, we get back integer scalars.\n\n>>> df = pd.DataFrame({\"A\": [1, None, 2]})\n>>> df\n A\n0 1.0\n1 NaN\n2 2.0\n\n>>> from sqlalchemy.types import Integer\n>>> df.to_sql(name='integers', con=engine, index=False,\n... dtype={\"A\": Integer()})\n3\n\n>>> with engine.connect() as conn:\n... conn.execute(text(\"SELECT * FROM integers\")).fetchall()\n[(1,), (None,), (2,)]\n"}, "kind": 2, "label": "to_sql", "sortText": "193"}, {"detail": "bound method DataFrame.to_stata(path: str | PathLike[str] | WriteBuffer[bytes], *, convert_dates: dict[Hashable, str] | None = None, write_index: bool = True, byteorder: Literal[\">\", \"<\", \"little\", \"big\"] | None = None, time_stamp: datetime | None = None, data_label: str | None = None, variable_labels: dict[Hashable, str] | None = None, version: int | None = 114, convert_strl: Sequence[Hashable] | None = None, compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = \"infer\", storage_options: dict[str, Any] | None = None, value_labels: dict[Hashable, dict[float, str]] | None = None) -> None", "documentation": {"kind": "plaintext", "value": "Export DataFrame object to Stata dta format.\n\nWrites the DataFrame to a Stata dataset file.\n\"dta\" files contain a Stata dataset.\n\nParameters\n----------\npath : str, path object, or buffer\n String, path object (implementing ``os.PathLike[str]``), or file-like\n object implementing a binary ``write()`` function.\n\nconvert_dates : dict\n Dictionary mapping columns containing datetime types to stata\n internal format to use when writing the dates. Options are 'tc',\n 'td', 'tm', 'tw', 'th', 'tq', 'ty'. Column can be either an integer\n or a name. Datetime columns that do not have a conversion type\n specified will be converted to 'tc'. Raises NotImplementedError if\n a datetime column has timezone information.\nwrite_index : bool\n Write the index to Stata dataset.\nbyteorder : str\n Can be \">\", \"<\", \"little\", or \"big\". default is `sys.byteorder`.\ntime_stamp : datetime\n A datetime to use as file creation date. Default is the current\n time.\ndata_label : str, optional\n A label for the data set. Must be 80 characters or smaller.\nvariable_labels : dict\n Dictionary containing columns as keys and variable labels as\n values. Each label must be 80 characters or smaller.\nversion : {{114, 117, 118, 119, None}}, default 114\n Version to use in the output dta file. Set to None to let pandas\n decide between 118 or 119 formats depending on the number of\n columns in the frame. Version 114 can be read by Stata 10 and\n later. Version 117 can be read by Stata 13 or later. Version 118\n is supported in Stata 14 and later. Version 119 is supported in\n Stata 15 and later. Version 114 limits string variables to 244\n characters or fewer while versions 117 and later allow strings\n with lengths up to 2,000,000 characters. Versions 118 and 119\n support Unicode characters, and version 119 supports more than\n 32,767 variables.\n\n Version 119 should usually only be used when the number of\n variables exceeds the capacity of dta format 118. Exporting\n smaller datasets in format 119 may have unintended consequences,\n and, as of November 2020, Stata SE cannot read version 119 files.\n\nconvert_strl : list, optional\n List of column names to convert to string columns to Stata StrL\n format. Only available if version is 117. Storing strings in the\n StrL format can produce smaller dta files if strings have more than\n 8 characters and values are repeated.\n{compression_options}\n\n .. versionchanged:: 1.4.0 Zstandard support.\n\n{storage_options}\n\nvalue_labels : dict of dicts\n Dictionary containing columns as keys and dictionaries of column value\n to labels as values. Labels for a single variable must be 32,000\n characters or smaller.\n\n .. versionadded:: 1.4.0\n\nRaises\n------\nNotImplementedError\n * If datetimes contain timezone information\n * Column dtype is not representable in Stata\nValueError\n * Columns listed in convert_dates are neither datetime64[ns]\n or datetime.datetime\n * Column listed in convert_dates is not in DataFrame\n * Categorical label contains more than 32,000 characters\n\nSee Also\n--------\nread_stata : Import Stata data files.\nio.stata.StataWriter : Low-level writer for Stata data files.\nio.stata.StataWriter117 : Low-level writer for version 117 files.\n\nExamples\n--------\n>>> df = pd.DataFrame({{'animal': ['falcon', 'parrot', 'falcon',\n... 'parrot'],\n... 'speed': [350, 18, 361, 15]}})\n>>> df.to_stata('animals.dta') # doctest: +SKIP\n"}, "kind": 2, "label": "to_stata", "sortText": "194"}, {"detail": "Overload[(buf: None = ..., columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = ..., col_space: int | list[int] | dict[Hashable, int] | None = ..., header: bool | SequenceNotStr[str] = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., justify: str | None = ..., max_rows: int | None = ..., max_cols: int | None = ..., show_dimensions: bool = ..., decimal: str = ..., line_width: int | None = ..., min_rows: int | None = ..., max_colwidth: int | None = ..., encoding: str | None = ...) -> str, (buf: str | PathLike[str] | WriteBuffer[str], columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = ..., col_space: int | list[int] | dict[Hashable, int] | None = ..., header: bool | SequenceNotStr[str] = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., justify: str | None = ..., max_rows: int | None = ..., max_cols: int | None = ..., show_dimensions: bool = ..., decimal: str = ..., line_width: int | None = ..., min_rows: int | None = ..., max_colwidth: int | None = ..., encoding: str | None = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Render a DataFrame to a console-friendly tabular output.\n%(shared_params)s\nline_width : int, optional\n Width to wrap a line in characters.\nmin_rows : int, optional\n The number of rows to display in the console in a truncated repr\n (when number of rows is above `max_rows`).\nmax_colwidth : int, optional\n Max width to truncate each column in characters. By default, no limit.\nencoding : str, default \"utf-8\"\n Set character encoding.\n%(returns)s\nSee Also\n--------\nto_html : Convert DataFrame to HTML.\n\nExamples\n--------\n>>> d = {'col1': [1, 2, 3], 'col2': [4, 5, 6]}\n>>> df = pd.DataFrame(d)\n>>> print(df.to_string())\n col1 col2\n0 1 4\n1 2 5\n2 3 6\n"}, "kind": 2, "label": "to_string", "sortText": "195"}, {"detail": "bound method DataFrame.to_timestamp(freq: str | BaseOffset | None = None, how: Literal[\"s\", \"e\", \"start\", \"end\"] = \"start\", axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Cast to DatetimeIndex of timestamps, at *beginning* of period.\n\nParameters\n----------\nfreq : str, default frequency of PeriodIndex\n Desired frequency.\nhow : {'s', 'e', 'start', 'end'}\n Convention for converting period to timestamp; start of period\n vs. end.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to convert (the index by default).\ncopy : bool, default True\n If False then underlying input data is not copied.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\nDataFrame\n The DataFrame has a DatetimeIndex.\n\nExamples\n--------\n>>> idx = pd.PeriodIndex(['2023', '2024'], freq='Y')\n>>> d = {'col1': [1, 2], 'col2': [3, 4]}\n>>> df1 = pd.DataFrame(data=d, index=idx)\n>>> df1\n col1 col2\n2023 1 3\n2024 2 4\n\nThe resulting timestamps will be at the beginning of the year in this case\n\n>>> df1 = df1.to_timestamp()\n>>> df1\n col1 col2\n2023-01-01 1 3\n2024-01-01 2 4\n>>> df1.index\nDatetimeIndex(['2023-01-01', '2024-01-01'], dtype='datetime64[ns]', freq=None)\n\nUsing `freq` which is the offset that the Timestamps will have\n\n>>> df2 = pd.DataFrame(data=d, index=idx)\n>>> df2 = df2.to_timestamp(freq='M')\n>>> df2\n col1 col2\n2023-01-31 1 3\n2024-01-31 2 4\n>>> df2.index\nDatetimeIndex(['2023-01-31', '2024-01-31'], dtype='datetime64[ns]', freq=None)\n"}, "kind": 2, "label": "to_timestamp", "sortText": "196"}, {"detail": "bound method DataFrame.to_xarray() -> Unknown", "documentation": {"kind": "plaintext", "value": "Return an xarray object from the pandas object.\n\nReturns\n-------\nxarray.DataArray or xarray.Dataset\n Data in the pandas structure converted to Dataset if the object is\n a DataFrame, or a DataArray if the object is a Series.\n\nSee Also\n--------\nDataFrame.to_hdf : Write DataFrame to an HDF5 file.\nDataFrame.to_parquet : Write a DataFrame to the binary parquet format.\n\nNotes\n-----\nSee the `xarray docs `__\n\nExamples\n--------\n>>> df = pd.DataFrame([('falcon', 'bird', 389.0, 2),\n... ('parrot', 'bird', 24.0, 2),\n... ('lion', 'mammal', 80.5, 4),\n... ('monkey', 'mammal', np.nan, 4)],\n... columns=['name', 'class', 'max_speed',\n... 'num_legs'])\n>>> df\n name class max_speed num_legs\n0 falcon bird 389.0 2\n1 parrot bird 24.0 2\n2 lion mammal 80.5 4\n3 monkey mammal NaN 4\n\n>>> df.to_xarray() # doctest: +SKIP\n\nDimensions: (index: 4)\nCoordinates:\n * index (index) int64 32B 0 1 2 3\nData variables:\n name (index) object 32B 'falcon' 'parrot' 'lion' 'monkey'\n class (index) object 32B 'bird' 'bird' 'mammal' 'mammal'\n max_speed (index) float64 32B 389.0 24.0 80.5 nan\n num_legs (index) int64 32B 2 2 4 4\n\n>>> df['max_speed'].to_xarray() # doctest: +SKIP\n\narray([389. , 24. , 80.5, nan])\nCoordinates:\n * index (index) int64 0 1 2 3\n\n>>> dates = pd.to_datetime(['2018-01-01', '2018-01-01',\n... '2018-01-02', '2018-01-02'])\n>>> df_multiindex = pd.DataFrame({'date': dates,\n... 'animal': ['falcon', 'parrot',\n... 'falcon', 'parrot'],\n... 'speed': [350, 18, 361, 15]})\n>>> df_multiindex = df_multiindex.set_index(['date', 'animal'])\n\n>>> df_multiindex\n speed\ndate animal\n2018-01-01 falcon 350\n parrot 18\n2018-01-02 falcon 361\n parrot 15\n\n>>> df_multiindex.to_xarray() # doctest: +SKIP\n\nDimensions: (date: 2, animal: 2)\nCoordinates:\n * date (date) datetime64[ns] 2018-01-01 2018-01-02\n * animal (animal) object 'falcon' 'parrot'\nData variables:\n speed (date, animal) int64 350 18 361 15\n"}, "kind": 2, "label": "to_xarray", "sortText": "197"}, {"detail": "Overload[(path_or_buffer: None = ..., *, index: bool = ..., root_name: str | None = ..., row_name: str | None = ..., na_rep: str | None = ..., attr_cols: list[str] | None = ..., elem_cols: list[str] | None = ..., namespaces: dict[str | None, str] | None = ..., prefix: str | None = ..., encoding: str = ..., xml_declaration: bool | None = ..., pretty_print: bool | None = ..., parser: Literal[\"lxml\", \"etree\"] | None = ..., stylesheet: str | PathLike[str] | ReadBuffer[str] | ReadBuffer[bytes] | None = ..., compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = ..., storage_options: dict[str, Any] | None = ...) -> str, (path_or_buffer: str | PathLike[str] | WriteBuffer[bytes] | WriteBuffer[str], *, index: bool = ..., root_name: str | None = ..., row_name: str | None = ..., na_rep: str | None = ..., attr_cols: list[str] | None = ..., elem_cols: list[str] | None = ..., namespaces: dict[str | None, str] | None = ..., prefix: str | None = ..., encoding: str = ..., xml_declaration: bool | None = ..., pretty_print: bool | None = ..., parser: Literal[\"lxml\", \"etree\"] | None = ..., stylesheet: str | PathLike[str] | ReadBuffer[str] | ReadBuffer[bytes] | None = ..., compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = ..., storage_options: dict[str, Any] | None = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Render a DataFrame to an XML document.\n\n.. versionadded:: 1.3.0\n\nParameters\n----------\npath_or_buffer : str, path object, file-like object, or None, default None\n String, path object (implementing ``os.PathLike[str]``), or file-like\n object implementing a ``write()`` function. If None, the result is returned\n as a string.\nindex : bool, default True\n Whether to include index in XML document.\nroot_name : str, default 'data'\n The name of root element in XML document.\nrow_name : str, default 'row'\n The name of row element in XML document.\nna_rep : str, optional\n Missing data representation.\nattr_cols : list-like, optional\n List of columns to write as attributes in row element.\n Hierarchical columns will be flattened with underscore\n delimiting the different levels.\nelem_cols : list-like, optional\n List of columns to write as children in row element. By default,\n all columns output as children of row element. Hierarchical\n columns will be flattened with underscore delimiting the\n different levels.\nnamespaces : dict, optional\n All namespaces to be defined in root element. Keys of dict\n should be prefix names and values of dict corresponding URIs.\n Default namespaces should be given empty string key. For\n example, ::\n\n namespaces = {{\"\": \"https://example.com\"}}\n\nprefix : str, optional\n Namespace prefix to be used for every element and/or attribute\n in document. This should be one of the keys in ``namespaces``\n dict.\nencoding : str, default 'utf-8'\n Encoding of the resulting document.\nxml_declaration : bool, default True\n Whether to include the XML declaration at start of document.\npretty_print : bool, default True\n Whether output should be pretty printed with indentation and\n line breaks.\nparser : {{'lxml','etree'}}, default 'lxml'\n Parser module to use for building of tree. Only 'lxml' and\n 'etree' are supported. With 'lxml', the ability to use XSLT\n stylesheet is supported.\nstylesheet : str, path object or file-like object, optional\n A URL, file-like object, or a raw string containing an XSLT\n script used to transform the raw XML output. Script should use\n layout of elements and attributes from original output. This\n argument requires ``lxml`` to be installed. Only XSLT 1.0\n scripts and not later versions is currently supported.\n{compression_options}\n\n .. versionchanged:: 1.4.0 Zstandard support.\n\n{storage_options}\n\nReturns\n-------\nNone or str\n If ``io`` is None, returns the resulting XML format as a\n string. Otherwise returns None.\n\nSee Also\n--------\nto_json : Convert the pandas object to a JSON string.\nto_html : Convert DataFrame to a html.\n\nExamples\n--------\n>>> df = pd.DataFrame({{'shape': ['square', 'circle', 'triangle'],\n... 'degrees': [360, 360, 180],\n... 'sides': [4, np.nan, 3]}})\n\n>>> df.to_xml() # doctest: +SKIP\n\n\n \n 0\n square\n 360\n 4.0\n \n \n 1\n circle\n 360\n \n \n \n 2\n triangle\n 180\n 3.0\n \n\n\n>>> df.to_xml(attr_cols=[\n... 'index', 'shape', 'degrees', 'sides'\n... ]) # doctest: +SKIP\n\n\n \n \n \n\n\n>>> df.to_xml(namespaces={{\"doc\": \"https://example.com\"}},\n... prefix=\"doc\") # doctest: +SKIP\n\n\n \n 0\n square\n 360\n 4.0\n \n \n 1\n circle\n 360\n \n \n \n 2\n triangle\n 180\n 3.0\n \n\n"}, "kind": 2, "label": "to_xml", "sortText": "198"}, {"detail": "bound method DataFrame.transform(func: ((...) -> Unknown) | str | list[((...) -> Unknown) | str] | MutableMapping[Hashable, ((...) -> Unknown) | str | list[((...) -> Unknown) | str]], axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, *args, **kwargs) -> DataFrame", "kind": 2, "label": "transform", "sortText": "199"}, {"detail": "bound method DataFrame.transpose(*args, copy: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Transpose index and columns.\n\nReflect the DataFrame over its main diagonal by writing rows as columns\nand vice-versa. The property :attr:`.T` is an accessor to the method\n:meth:`transpose`.\n\nParameters\n----------\n*args : tuple, optional\n Accepted for compatibility with NumPy.\ncopy : bool, default False\n Whether to copy the data after transposing, even for DataFrames\n with a single dtype.\n\n Note that a copy is always required for mixed dtype DataFrames,\n or for DataFrames with any extension types.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\nDataFrame\n The transposed DataFrame.\n\nSee Also\n--------\nnumpy.transpose : Permute the dimensions of a given array.\n\nNotes\n-----\nTransposing a DataFrame with mixed dtypes will result in a homogeneous\nDataFrame with the `object` dtype. In such a case, a copy of the data\nis always made.\n\nExamples\n--------\n**Square DataFrame with homogeneous dtype**\n\n>>> d1 = {'col1': [1, 2], 'col2': [3, 4]}\n>>> df1 = pd.DataFrame(data=d1)\n>>> df1\n col1 col2\n0 1 3\n1 2 4\n\n>>> df1_transposed = df1.T # or df1.transpose()\n>>> df1_transposed\n 0 1\ncol1 1 2\ncol2 3 4\n\nWhen the dtype is homogeneous in the original DataFrame, we get a\ntransposed DataFrame with the same dtype:\n\n>>> df1.dtypes\ncol1 int64\ncol2 int64\ndtype: object\n>>> df1_transposed.dtypes\n0 int64\n1 int64\ndtype: object\n\n**Non-square DataFrame with mixed dtypes**\n\n>>> d2 = {'name': ['Alice', 'Bob'],\n... 'score': [9.5, 8],\n... 'employed': [False, True],\n... 'kids': [0, 0]}\n>>> df2 = pd.DataFrame(data=d2)\n>>> df2\n name score employed kids\n0 Alice 9.5 False 0\n1 Bob 8.0 True 0\n\n>>> df2_transposed = df2.T # or df2.transpose()\n>>> df2_transposed\n 0 1\nname Alice Bob\nscore 9.5 8.0\nemployed False True\nkids 0 0\n\nWhen the DataFrame has mixed dtypes, we get a transposed DataFrame with\nthe `object` dtype:\n\n>>> df2.dtypes\nname object\nscore float64\nemployed bool\nkids int64\ndtype: object\n>>> df2_transposed.dtypes\n0 object\n1 object\ndtype: object\n"}, "kind": 2, "label": "transpose", "sortText": "200"}, {"detail": "bound method DataFrame.truediv(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "truediv", "sortText": "201"}, {"detail": "bound method DataFrame.truncate(before=None, after=None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Truncate a Series or DataFrame before and after some index value.\n\nThis is a useful shorthand for boolean indexing based on index\nvalues above or below certain thresholds.\n\nParameters\n----------\nbefore : date, str, int\n Truncate all rows before this index value.\nafter : date, str, int\n Truncate all rows after this index value.\naxis : {0 or 'index', 1 or 'columns'}, optional\n Axis to truncate. Truncates the index (rows) by default.\n For `Series` this parameter is unused and defaults to 0.\ncopy : bool, default is True,\n Return a copy of the truncated section.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\ntype of caller\n The truncated Series or DataFrame.\n\nSee Also\n--------\nDataFrame.loc : Select a subset of a DataFrame by label.\nDataFrame.iloc : Select a subset of a DataFrame by position.\n\nNotes\n-----\nIf the index being truncated contains only datetime values,\n`before` and `after` may be specified as strings instead of\nTimestamps.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': ['a', 'b', 'c', 'd', 'e'],\n... 'B': ['f', 'g', 'h', 'i', 'j'],\n... 'C': ['k', 'l', 'm', 'n', 'o']},\n... index=[1, 2, 3, 4, 5])\n>>> df\n A B C\n1 a f k\n2 b g l\n3 c h m\n4 d i n\n5 e j o\n\n>>> df.truncate(before=2, after=4)\n A B C\n2 b g l\n3 c h m\n4 d i n\n\nThe columns of a DataFrame can be truncated.\n\n>>> df.truncate(before=\"A\", after=\"B\", axis=\"columns\")\n A B\n1 a f\n2 b g\n3 c h\n4 d i\n5 e j\n\nFor Series, only rows can be truncated.\n\n>>> df['A'].truncate(before=2, after=4)\n2 b\n3 c\n4 d\nName: A, dtype: object\n\nThe index values in ``truncate`` can be datetimes or string\ndates.\n\n>>> dates = pd.date_range('2016-01-01', '2016-02-01', freq='s')\n>>> df = pd.DataFrame(index=dates, data={'A': 1})\n>>> df.tail()\n A\n2016-01-31 23:59:56 1\n2016-01-31 23:59:57 1\n2016-01-31 23:59:58 1\n2016-01-31 23:59:59 1\n2016-02-01 00:00:00 1\n\n>>> df.truncate(before=pd.Timestamp('2016-01-05'),\n... after=pd.Timestamp('2016-01-10')).tail()\n A\n2016-01-09 23:59:56 1\n2016-01-09 23:59:57 1\n2016-01-09 23:59:58 1\n2016-01-09 23:59:59 1\n2016-01-10 00:00:00 1\n\nBecause the index is a DatetimeIndex containing only dates, we can\nspecify `before` and `after` as strings. They will be coerced to\nTimestamps before truncation.\n\n>>> df.truncate('2016-01-05', '2016-01-10').tail()\n A\n2016-01-09 23:59:56 1\n2016-01-09 23:59:57 1\n2016-01-09 23:59:58 1\n2016-01-09 23:59:59 1\n2016-01-10 00:00:00 1\n\nNote that ``truncate`` assumes a 0 value for any unspecified time\ncomponent (midnight). This differs from partial string slicing, which\nreturns any partially matching dates.\n\n>>> df.loc['2016-01-05':'2016-01-10', :].tail()\n A\n2016-01-10 23:59:55 1\n2016-01-10 23:59:56 1\n2016-01-10 23:59:57 1\n2016-01-10 23:59:58 1\n2016-01-10 23:59:59 1\n"}, "kind": 2, "label": "truncate", "sortText": "202"}, {"detail": "bound method DataFrame.tz_convert(tz, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, level=None, copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Convert tz-aware axis to target time zone.\n\nParameters\n----------\ntz : str or tzinfo object or None\n Target time zone. Passing ``None`` will convert to\n UTC and remove the timezone information.\naxis : {{0 or 'index', 1 or 'columns'}}, default 0\n The axis to convert\nlevel : int, str, default None\n If axis is a MultiIndex, convert a specific level. Otherwise\n must be None.\ncopy : bool, default True\n Also make a copy of the underlying data.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\n{klass}\n Object with time zone converted axis.\n\nRaises\n------\nTypeError\n If the axis is tz-naive.\n\nExamples\n--------\nChange to another time zone:\n\n>>> s = pd.Series(\n... [1],\n... index=pd.DatetimeIndex(['2018-09-15 01:30:00+02:00']),\n... )\n>>> s.tz_convert('Asia/Shanghai')\n2018-09-15 07:30:00+08:00 1\ndtype: int64\n\nPass None to convert to UTC and get a tz-naive index:\n\n>>> s = pd.Series([1],\n... index=pd.DatetimeIndex(['2018-09-15 01:30:00+02:00']))\n>>> s.tz_convert(None)\n2018-09-14 23:30:00 1\ndtype: int64\n"}, "kind": 2, "label": "tz_convert", "sortText": "203"}, {"detail": "bound method DataFrame.tz_localize(tz, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, level=None, copy: builtins.bool | None = None, ambiguous: Literal[\"infer\", \"NaT\", \"raise\"] | ndarray[_AnyShape, dtype[numpy.bool[builtins.bool]]] = \"raise\", nonexistent: Literal[\"shift_forward\", \"shift_backward\", \"NaT\", \"raise\"] | timedelta = \"raise\") -> DataFrame", "documentation": {"kind": "plaintext", "value": "Localize tz-naive index of a Series or DataFrame to target time zone.\n\nThis operation localizes the Index. To localize the values in a\ntimezone-naive Series, use :meth:`Series.dt.tz_localize`.\n\nParameters\n----------\ntz : str or tzinfo or None\n Time zone to localize. Passing ``None`` will remove the\n time zone information and preserve local time.\naxis : {{0 or 'index', 1 or 'columns'}}, default 0\n The axis to localize\nlevel : int, str, default None\n If axis ia a MultiIndex, localize a specific level. Otherwise\n must be None.\ncopy : bool, default True\n Also make a copy of the underlying data.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\nambiguous : 'infer', bool-ndarray, 'NaT', default 'raise'\n When clocks moved backward due to DST, ambiguous times may arise.\n For example in Central European Time (UTC+01), when going from\n 03:00 DST to 02:00 non-DST, 02:30:00 local time occurs both at\n 00:30:00 UTC and at 01:30:00 UTC. In such a situation, the\n `ambiguous` parameter dictates how ambiguous times should be\n handled.\n\n - 'infer' will attempt to infer fall dst-transition hours based on\n order\n - bool-ndarray where True signifies a DST time, False designates\n a non-DST time (note that this flag is only applicable for\n ambiguous times)\n - 'NaT' will return NaT where there are ambiguous times\n - 'raise' will raise an AmbiguousTimeError if there are ambiguous\n times.\nnonexistent : str, default 'raise'\n A nonexistent time does not exist in a particular timezone\n where clocks moved forward due to DST. Valid values are:\n\n - 'shift_forward' will shift the nonexistent time forward to the\n closest existing time\n - 'shift_backward' will shift the nonexistent time backward to the\n closest existing time\n - 'NaT' will return NaT where there are nonexistent times\n - timedelta objects will shift nonexistent times by the timedelta\n - 'raise' will raise an NonExistentTimeError if there are\n nonexistent times.\n\nReturns\n-------\n{klass}\n Same type as the input.\n\nRaises\n------\nTypeError\n If the TimeSeries is tz-aware and tz is not None.\n\nExamples\n--------\nLocalize local times:\n\n>>> s = pd.Series(\n... [1],\n... index=pd.DatetimeIndex(['2018-09-15 01:30:00']),\n... )\n>>> s.tz_localize('CET')\n2018-09-15 01:30:00+02:00 1\ndtype: int64\n\nPass None to convert to tz-naive index and preserve local time:\n\n>>> s = pd.Series([1],\n... index=pd.DatetimeIndex(['2018-09-15 01:30:00+02:00']))\n>>> s.tz_localize(None)\n2018-09-15 01:30:00 1\ndtype: int64\n\nBe careful with DST changes. When there is sequential data, pandas\ncan infer the DST time:\n\n>>> s = pd.Series(range(7),\n... index=pd.DatetimeIndex(['2018-10-28 01:30:00',\n... '2018-10-28 02:00:00',\n... '2018-10-28 02:30:00',\n... '2018-10-28 02:00:00',\n... '2018-10-28 02:30:00',\n... '2018-10-28 03:00:00',\n... '2018-10-28 03:30:00']))\n>>> s.tz_localize('CET', ambiguous='infer')\n2018-10-28 01:30:00+02:00 0\n2018-10-28 02:00:00+02:00 1\n2018-10-28 02:30:00+02:00 2\n2018-10-28 02:00:00+01:00 3\n2018-10-28 02:30:00+01:00 4\n2018-10-28 03:00:00+01:00 5\n2018-10-28 03:30:00+01:00 6\ndtype: int64\n\nIn some cases, inferring the DST is impossible. In such cases, you can\npass an ndarray to the ambiguous parameter to set the DST explicitly\n\n>>> s = pd.Series(range(3),\n... index=pd.DatetimeIndex(['2018-10-28 01:20:00',\n... '2018-10-28 02:36:00',\n... '2018-10-28 03:46:00']))\n>>> s.tz_localize('CET', ambiguous=np.array([True, True, False]))\n2018-10-28 01:20:00+02:00 0\n2018-10-28 02:36:00+02:00 1\n2018-10-28 03:46:00+01:00 2\ndtype: int64\n\nIf the DST transition causes nonexistent times, you can shift these\ndates forward or backward with a timedelta object or `'shift_forward'`\nor `'shift_backward'`.\n\n>>> s = pd.Series(range(2),\n... index=pd.DatetimeIndex(['2015-03-29 02:30:00',\n... '2015-03-29 03:30:00']))\n>>> s.tz_localize('Europe/Warsaw', nonexistent='shift_forward')\n2015-03-29 03:00:00+02:00 0\n2015-03-29 03:30:00+02:00 1\ndtype: int64\n>>> s.tz_localize('Europe/Warsaw', nonexistent='shift_backward')\n2015-03-29 01:59:59.999999999+01:00 0\n2015-03-29 03:30:00+02:00 1\ndtype: int64\n>>> s.tz_localize('Europe/Warsaw', nonexistent=pd.Timedelta('1h'))\n2015-03-29 03:30:00+02:00 0\n2015-03-29 03:30:00+02:00 1\ndtype: int64\n"}, "kind": 2, "label": "tz_localize", "sortText": "204"}, {"detail": "bound method DataFrame.unstack(level: Hashable | Sequence[Hashable] = -1, fill_value=None, sort: bool = True) -> Unknown", "documentation": {"kind": "plaintext", "value": "Pivot a level of the (necessarily hierarchical) index labels.\n\nReturns a DataFrame having a new level of column labels whose inner-most level\nconsists of the pivoted index labels.\n\nIf the index is not a MultiIndex, the output will be a Series\n(the analogue of stack when the columns are not a MultiIndex).\n\nParameters\n----------\nlevel : int, str, or list of these, default -1 (last level)\n Level(s) of index to unstack, can pass level name.\nfill_value : int, str or dict\n Replace NaN with this value if the unstack produces missing values.\nsort : bool, default True\n Sort the level(s) in the resulting MultiIndex columns.\n\nReturns\n-------\nSeries or DataFrame\n\nSee Also\n--------\nDataFrame.pivot : Pivot a table based on column values.\nDataFrame.stack : Pivot a level of the column labels (inverse operation\n from `unstack`).\n\nNotes\n-----\nReference :ref:`the user guide ` for more examples.\n\nExamples\n--------\n>>> index = pd.MultiIndex.from_tuples([('one', 'a'), ('one', 'b'),\n... ('two', 'a'), ('two', 'b')])\n>>> s = pd.Series(np.arange(1.0, 5.0), index=index)\n>>> s\none a 1.0\n b 2.0\ntwo a 3.0\n b 4.0\ndtype: float64\n\n>>> s.unstack(level=-1)\n a b\none 1.0 2.0\ntwo 3.0 4.0\n\n>>> s.unstack(level=0)\n one two\na 1.0 3.0\nb 2.0 4.0\n\n>>> df = s.unstack(level=0)\n>>> df.unstack()\none a 1.0\n b 2.0\ntwo a 3.0\n b 4.0\ndtype: float64\n"}, "kind": 2, "label": "unstack", "sortText": "205"}, {"detail": "bound method DataFrame.update(other, join: Literal[\"left\"] = \"left\", overwrite: bool = True, filter_func=None, errors: Literal[\"ignore\", \"raise\"] = \"ignore\") -> None", "documentation": {"kind": "plaintext", "value": "Modify in place using non-NA values from another DataFrame.\n\nAligns on indices. There is no return value.\n\nParameters\n----------\nother : DataFrame, or object coercible into a DataFrame\n Should have at least one matching index/column label\n with the original DataFrame. If a Series is passed,\n its name attribute must be set, and that will be\n used as the column name to align with the original DataFrame.\njoin : {'left'}, default 'left'\n Only left join is implemented, keeping the index and columns of the\n original object.\noverwrite : bool, default True\n How to handle non-NA values for overlapping keys:\n\n * True: overwrite original DataFrame's values\n with values from `other`.\n * False: only update values that are NA in\n the original DataFrame.\n\nfilter_func : callable(1d-array) -> bool 1d-array, optional\n Can choose to replace values other than NA. Return True for values\n that should be updated.\nerrors : {'raise', 'ignore'}, default 'ignore'\n If 'raise', will raise a ValueError if the DataFrame and `other`\n both contain non-NA data in the same place.\n\nReturns\n-------\nNone\n This method directly changes calling object.\n\nRaises\n------\nValueError\n * When `errors='raise'` and there's overlapping non-NA data.\n * When `errors` is not either `'ignore'` or `'raise'`\nNotImplementedError\n * If `join != 'left'`\n\nSee Also\n--------\ndict.update : Similar method for dictionaries.\nDataFrame.merge : For column(s)-on-column(s) operations.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [1, 2, 3],\n... 'B': [400, 500, 600]})\n>>> new_df = pd.DataFrame({'B': [4, 5, 6],\n... 'C': [7, 8, 9]})\n>>> df.update(new_df)\n>>> df\n A B\n0 1 4\n1 2 5\n2 3 6\n\nThe DataFrame's length does not increase as a result of the update,\nonly values at matching index/column labels are updated.\n\n>>> df = pd.DataFrame({'A': ['a', 'b', 'c'],\n... 'B': ['x', 'y', 'z']})\n>>> new_df = pd.DataFrame({'B': ['d', 'e', 'f', 'g', 'h', 'i']})\n>>> df.update(new_df)\n>>> df\n A B\n0 a d\n1 b e\n2 c f\n\n>>> df = pd.DataFrame({'A': ['a', 'b', 'c'],\n... 'B': ['x', 'y', 'z']})\n>>> new_df = pd.DataFrame({'B': ['d', 'f']}, index=[0, 2])\n>>> df.update(new_df)\n>>> df\n A B\n0 a d\n1 b y\n2 c f\n\nFor Series, its name attribute must be set.\n\n>>> df = pd.DataFrame({'A': ['a', 'b', 'c'],\n... 'B': ['x', 'y', 'z']})\n>>> new_column = pd.Series(['d', 'e', 'f'], name='B')\n>>> df.update(new_column)\n>>> df\n A B\n0 a d\n1 b e\n2 c f\n\nIf `other` contains NaNs the corresponding values are not updated\nin the original dataframe.\n\n>>> df = pd.DataFrame({'A': [1, 2, 3],\n... 'B': [400., 500., 600.]})\n>>> new_df = pd.DataFrame({'B': [4, np.nan, 6]})\n>>> df.update(new_df)\n>>> df\n A B\n0 1 4.0\n1 2 500.0\n2 3 6.0\n"}, "kind": 2, "label": "update", "sortText": "206"}, {"detail": "bound method DataFrame.value_counts(subset: Hashable | Sequence[Hashable] = None, normalize: bool = False, sort: bool = True, ascending: bool = False, dropna: bool = True) -> Series", "documentation": {"kind": "plaintext", "value": "Return a Series containing the frequency of each distinct row in the Dataframe.\n\nParameters\n----------\nsubset : label or list of labels, optional\n Columns to use when counting unique combinations.\nnormalize : bool, default False\n Return proportions rather than frequencies.\nsort : bool, default True\n Sort by frequencies when True. Sort by DataFrame column values when False.\nascending : bool, default False\n Sort in ascending order.\ndropna : bool, default True\n Don't include counts of rows that contain NA values.\n\n .. versionadded:: 1.3.0\n\nReturns\n-------\nSeries\n\nSee Also\n--------\nSeries.value_counts: Equivalent method on Series.\n\nNotes\n-----\nThe returned Series will have a MultiIndex with one level per input\ncolumn but an Index (non-multi) for a single label. By default, rows\nthat contain any NA values are omitted from the result. By default,\nthe resulting Series will be in descending order so that the first\nelement is the most frequently-occurring row.\n\nExamples\n--------\n>>> df = pd.DataFrame({'num_legs': [2, 4, 4, 6],\n... 'num_wings': [2, 0, 0, 0]},\n... index=['falcon', 'dog', 'cat', 'ant'])\n>>> df\n num_legs num_wings\nfalcon 2 2\ndog 4 0\ncat 4 0\nant 6 0\n\n>>> df.value_counts()\nnum_legs num_wings\n4 0 2\n2 2 1\n6 0 1\nName: count, dtype: int64\n\n>>> df.value_counts(sort=False)\nnum_legs num_wings\n2 2 1\n4 0 2\n6 0 1\nName: count, dtype: int64\n\n>>> df.value_counts(ascending=True)\nnum_legs num_wings\n2 2 1\n6 0 1\n4 0 2\nName: count, dtype: int64\n\n>>> df.value_counts(normalize=True)\nnum_legs num_wings\n4 0 0.50\n2 2 0.25\n6 0 0.25\nName: proportion, dtype: float64\n\nWith `dropna` set to `False` we can also count rows with NA values.\n\n>>> df = pd.DataFrame({'first_name': ['John', 'Anne', 'John', 'Beth'],\n... 'middle_name': ['Smith', pd.NA, pd.NA, 'Louise']})\n>>> df\n first_name middle_name\n0 John Smith\n1 Anne \n2 John \n3 Beth Louise\n\n>>> df.value_counts()\nfirst_name middle_name\nBeth Louise 1\nJohn Smith 1\nName: count, dtype: int64\n\n>>> df.value_counts(dropna=False)\nfirst_name middle_name\nAnne NaN 1\nBeth Louise 1\nJohn Smith 1\n NaN 1\nName: count, dtype: int64\n\n>>> df.value_counts(\"first_name\")\nfirst_name\nJohn 2\nAnne 1\nBeth 1\nName: count, dtype: int64\n"}, "kind": 2, "label": "value_counts", "sortText": "207"}, {"detail": "ndarray[_AnyShape, dtype[Any]]", "kind": 22, "label": "values", "sortText": "208"}, {"detail": "bound method DataFrame.var(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, ddof: int = 1, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "var", "sortText": "209"}, {"detail": "Overload[(cond, other=..., *, inplace: Literal[False] = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> DataFrame, (cond, other=..., *, inplace: Literal[True], axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> None, (cond, other=..., *, inplace: bool = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Replace values where the condition is {cond_rev}.\n\nParameters\n----------\ncond : bool {klass}, array-like, or callable\n Where `cond` is {cond}, keep the original value. Where\n {cond_rev}, replace with corresponding value from `other`.\n If `cond` is callable, it is computed on the {klass} and\n should return boolean {klass} or array. The callable must\n not change input {klass} (though pandas doesn't check it).\nother : scalar, {klass}, or callable\n Entries where `cond` is {cond_rev} are replaced with\n corresponding value from `other`.\n If other is callable, it is computed on the {klass} and\n should return scalar or {klass}. The callable must not\n change input {klass} (though pandas doesn't check it).\n If not specified, entries will be filled with the corresponding\n NULL value (``np.nan`` for numpy dtypes, ``pd.NA`` for extension\n dtypes).\ninplace : bool, default False\n Whether to perform the operation in place on the data.\naxis : int, default None\n Alignment axis if needed. For `Series` this parameter is\n unused and defaults to 0.\nlevel : int, default None\n Alignment level if needed.\n\nReturns\n-------\nSame type as caller or None if ``inplace=True``.\n\nSee Also\n--------\n:func:`DataFrame.{name_other}` : Return an object of same shape as\n self.\n\nNotes\n-----\nThe {name} method is an application of the if-then idiom. For each\nelement in the calling DataFrame, if ``cond`` is ``{cond}`` the\nelement is used; otherwise the corresponding element from the DataFrame\n``other`` is used. If the axis of ``other`` does not align with axis of\n``cond`` {klass}, the misaligned index positions will be filled with\n{cond_rev}.\n\nThe signature for :func:`DataFrame.where` differs from\n:func:`numpy.where`. Roughly ``df1.where(m, df2)`` is equivalent to\n``np.where(m, df1, df2)``.\n\nFor further details and examples see the ``{name}`` documentation in\n:ref:`indexing `.\n\nThe dtype of the object takes precedence. The fill value is casted to\nthe object's dtype, if this can be done losslessly.\n\nExamples\n--------\n>>> s = pd.Series(range(5))\n>>> s.where(s > 0)\n0 NaN\n1 1.0\n2 2.0\n3 3.0\n4 4.0\ndtype: float64\n>>> s.mask(s > 0)\n0 0.0\n1 NaN\n2 NaN\n3 NaN\n4 NaN\ndtype: float64\n\n>>> s = pd.Series(range(5))\n>>> t = pd.Series([True, False])\n>>> s.where(t, 99)\n0 0\n1 99\n2 99\n3 99\n4 99\ndtype: int64\n>>> s.mask(t, 99)\n0 99\n1 1\n2 99\n3 99\n4 99\ndtype: int64\n\n>>> s.where(s > 1, 10)\n0 10\n1 10\n2 2\n3 3\n4 4\ndtype: int64\n>>> s.mask(s > 1, 10)\n0 0\n1 1\n2 10\n3 10\n4 10\ndtype: int64\n\n>>> df = pd.DataFrame(np.arange(10).reshape(-1, 2), columns=['A', 'B'])\n>>> df\n A B\n0 0 1\n1 2 3\n2 4 5\n3 6 7\n4 8 9\n>>> m = df % 3 == 0\n>>> df.where(m, -df)\n A B\n0 0 -1\n1 -2 3\n2 -4 -5\n3 6 -7\n4 -8 9\n>>> df.where(m, -df) == np.where(m, df, -df)\n A B\n0 True True\n1 True True\n2 True True\n3 True True\n4 True True\n>>> df.where(m, -df) == df.mask(~m, -df)\n A B\n0 True True\n1 True True\n2 True True\n3 True True\n4 True True\n"}, "kind": 2, "label": "where", "sortText": "210"}, {"detail": "bound method DataFrame.xs(key: Hashable | Sequence[Hashable], axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, level: Hashable | Sequence[Hashable] = None, drop_level: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return cross-section from the Series/DataFrame.\n\nThis method takes a `key` argument to select data at a particular\nlevel of a MultiIndex.\n\nParameters\n----------\nkey : label or tuple of label\n Label contained in the index, or partially in a MultiIndex.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Axis to retrieve cross-section on.\nlevel : object, defaults to first n levels (n=1 or len(key))\n In case of a key partially contained in a MultiIndex, indicate\n which levels are used. Levels can be referred by label or position.\ndrop_level : bool, default True\n If False, returns object with same levels as self.\n\nReturns\n-------\nSeries or DataFrame\n Cross-section from the original Series or DataFrame\n corresponding to the selected index levels.\n\nSee Also\n--------\nDataFrame.loc : Access a group of rows and columns\n by label(s) or a boolean array.\nDataFrame.iloc : Purely integer-location based indexing\n for selection by position.\n\nNotes\n-----\n`xs` can not be used to set values.\n\nMultiIndex Slicers is a generic way to get/set values on\nany level or levels.\nIt is a superset of `xs` functionality, see\n:ref:`MultiIndex Slicers `.\n\nExamples\n--------\n>>> d = {'num_legs': [4, 4, 2, 2],\n... 'num_wings': [0, 0, 2, 2],\n... 'class': ['mammal', 'mammal', 'mammal', 'bird'],\n... 'animal': ['cat', 'dog', 'bat', 'penguin'],\n... 'locomotion': ['walks', 'walks', 'flies', 'walks']}\n>>> df = pd.DataFrame(data=d)\n>>> df = df.set_index(['class', 'animal', 'locomotion'])\n>>> df\n num_legs num_wings\nclass animal locomotion\nmammal cat walks 4 0\n dog walks 4 0\n bat flies 2 2\nbird penguin walks 2 2\n\nGet values at specified index\n\n>>> df.xs('mammal')\n num_legs num_wings\nanimal locomotion\ncat walks 4 0\ndog walks 4 0\nbat flies 2 2\n\nGet values at several indexes\n\n>>> df.xs(('mammal', 'dog', 'walks'))\nnum_legs 4\nnum_wings 0\nName: (mammal, dog, walks), dtype: int64\n\nGet values at specified index and level\n\n>>> df.xs('cat', level=1)\n num_legs num_wings\nclass locomotion\nmammal walks 4 0\n\nGet values at several indexes and levels\n\n>>> df.xs(('bird', 'walks'),\n... level=[0, 'locomotion'])\n num_legs num_wings\nanimal\npenguin 2 2\n\nGet values at specified column and axis\n\n>>> df.xs('num_wings', axis=1)\nclass animal locomotion\nmammal cat walks 0\n dog walks 0\n bat flies 2\nbird penguin walks 2\nName: num_wings, dtype: int64\n"}, "kind": 2, "label": "xs", "sortText": "211"}, {"detail": "bound method DataFrame.__abs__() -> DataFrame", "kind": 2, "label": "__abs__", "sortText": "212"}, {"detail": "bound method DataFrame.__add__(other) -> Unknown", "documentation": {"kind": "plaintext", "value": "Get Addition of DataFrame and other, column-wise.\n\nEquivalent to ``DataFrame.add(other)``.\n\nParameters\n----------\nother : scalar, sequence, Series, dict or DataFrame\n Object to be added to the DataFrame.\n\nReturns\n-------\nDataFrame\n The result of adding ``other`` to DataFrame.\n\nSee Also\n--------\nDataFrame.add : Add a DataFrame and another object, with option for index-\n or column-oriented addition.\n\nExamples\n--------\n>>> df = pd.DataFrame({'height': [1.5, 2.6], 'weight': [500, 800]},\n... index=['elk', 'moose'])\n>>> df\n height weight\nelk 1.5 500\nmoose 2.6 800\n\nAdding a scalar affects all rows and columns.\n\n>>> df[['height', 'weight']] + 1.5\n height weight\nelk 3.0 501.5\nmoose 4.1 801.5\n\nEach element of a list is added to a column of the DataFrame, in order.\n\n>>> df[['height', 'weight']] + [0.5, 1.5]\n height weight\nelk 2.0 501.5\nmoose 3.1 801.5\n\nKeys of a dictionary are aligned to the DataFrame, based on column names;\neach value in the dictionary is added to the corresponding column.\n\n>>> df[['height', 'weight']] + {'height': 0.5, 'weight': 1.5}\n height weight\nelk 2.0 501.5\nmoose 3.1 801.5\n\nWhen `other` is a :class:`Series`, the index of `other` is aligned with the\ncolumns of the DataFrame.\n\n>>> s1 = pd.Series([0.5, 1.5], index=['weight', 'height'])\n>>> df[['height', 'weight']] + s1\n height weight\nelk 3.0 500.5\nmoose 4.1 800.5\n\nEven when the index of `other` is the same as the index of the DataFrame,\nthe :class:`Series` will not be reoriented. If index-wise alignment is desired,\n:meth:`DataFrame.add` should be used with `axis='index'`.\n\n>>> s2 = pd.Series([0.5, 1.5], index=['elk', 'moose'])\n>>> df[['height', 'weight']] + s2\n elk height moose weight\nelk NaN NaN NaN NaN\nmoose NaN NaN NaN NaN\n\n>>> df[['height', 'weight']].add(s2, axis='index')\n height weight\nelk 2.0 500.5\nmoose 4.1 801.5\n\nWhen `other` is a :class:`DataFrame`, both columns names and the\nindex are aligned.\n\n>>> other = pd.DataFrame({'height': [0.2, 0.4, 0.6]},\n... index=['elk', 'moose', 'deer'])\n>>> df[['height', 'weight']] + other\n height weight\ndeer NaN NaN\nelk 1.7 NaN\nmoose 3.0 NaN\n"}, "kind": 2, "label": "__add__", "sortText": "213"}, {"detail": "bound method DataFrame.__and__(other) -> Unknown", "kind": 2, "label": "__and__", "sortText": "214"}, {"detail": "dict[str, Any]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "__annotations__", "sortText": "215"}, {"detail": "bound method DataFrame.__array__(dtype: DTypeLike | None = None, copy: bool | None = None) -> ndarray[_AnyShape, dtype[Any]]", "kind": 2, "label": "__array__", "sortText": "216"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "__array_priority__", "sortText": "217"}, {"detail": "bound method DataFrame.__array_ufunc__(ufunc: ufunc, method: str, *inputs: Any, **kwargs: Any) -> Unknown", "kind": 2, "label": "__array_ufunc__", "sortText": "218"}, {"detail": "bound method DataFrame.__arrow_c_stream__(requested_schema=None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Export the pandas DataFrame as an Arrow C stream PyCapsule.\n\nThis relies on pyarrow to convert the pandas DataFrame to the Arrow\nformat (and follows the default behaviour of ``pyarrow.Table.from_pandas``\nin its handling of the index, i.e. store the index as a column except\nfor RangeIndex).\nThis conversion is not necessarily zero-copy.\n\nParameters\n----------\nrequested_schema : PyCapsule, default None\n The schema to which the dataframe should be casted, passed as a\n PyCapsule containing a C ArrowSchema representation of the\n requested schema.\n\nReturns\n-------\nPyCapsule\n"}, "kind": 2, "label": "__arrow_c_stream__", "sortText": "219"}, {"detail": "() -> Never", "kind": 2, "label": "__bool__", "sortText": "220"}, {"detail": "type[DataFrame]", "documentation": {"kind": "plaintext", "value": "Two-dimensional, size-mutable, potentially heterogeneous tabular data.\n\nData structure also contains labeled axes (rows and columns).\nArithmetic operations align on both row and column labels. Can be\nthought of as a dict-like container for Series objects. The primary\npandas data structure.\n\nParameters\n----------\ndata : ndarray (structured or homogeneous), Iterable, dict, or DataFrame\n Dict can contain Series, arrays, constants, dataclass or list-like objects. If\n data is a dict, column order follows insertion-order. If a dict contains Series\n which have an index defined, it is aligned by its index. This alignment also\n occurs if data is a Series or a DataFrame itself. Alignment is done on\n Series/DataFrame inputs.\n\n If data is a list of dicts, column order follows insertion-order.\n\nindex : Index or array-like\n Index to use for resulting frame. Will default to RangeIndex if\n no indexing information part of input data and no index provided.\ncolumns : Index or array-like\n Column labels to use for resulting frame when data does not have them,\n defaulting to RangeIndex(0, 1, 2, ..., n). If data contains column labels,\n will perform column selection instead.\ndtype : dtype, default None\n Data type to force. Only a single dtype is allowed. If None, infer.\ncopy : bool or None, default None\n Copy data from inputs.\n For dict data, the default of None behaves like ``copy=True``. For DataFrame\n or 2d ndarray input, the default of None behaves like ``copy=False``.\n If data is a dict containing one or more Series (possibly of different dtypes),\n ``copy=False`` will ensure that these inputs are not copied.\n\n .. versionchanged:: 1.3.0\n\nSee Also\n--------\nDataFrame.from_records : Constructor from tuples, also record arrays.\nDataFrame.from_dict : From dicts of Series, arrays, or dicts.\nread_csv : Read a comma-separated values (csv) file into DataFrame.\nread_table : Read general delimited file into DataFrame.\nread_clipboard : Read text from clipboard into DataFrame.\n\nNotes\n-----\nPlease reference the :ref:`User Guide ` for more information.\n\nExamples\n--------\nConstructing DataFrame from a dictionary.\n\n>>> d = {'col1': [1, 2], 'col2': [3, 4]}\n>>> df = pd.DataFrame(data=d)\n>>> df\n col1 col2\n0 1 3\n1 2 4\n\nNotice that the inferred dtype is int64.\n\n>>> df.dtypes\ncol1 int64\ncol2 int64\ndtype: object\n\nTo enforce a single dtype:\n\n>>> df = pd.DataFrame(data=d, dtype=np.int8)\n>>> df.dtypes\ncol1 int8\ncol2 int8\ndtype: object\n\nConstructing DataFrame from a dictionary including Series:\n\n>>> d = {'col1': [0, 1, 2, 3], 'col2': pd.Series([2, 3], index=[2, 3])}\n>>> pd.DataFrame(data=d, index=[0, 1, 2, 3])\n col1 col2\n0 0 NaN\n1 1 NaN\n2 2 2.0\n3 3 3.0\n\nConstructing DataFrame from numpy ndarray:\n\n>>> df2 = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]),\n... columns=['a', 'b', 'c'])\n>>> df2\n a b c\n0 1 2 3\n1 4 5 6\n2 7 8 9\n\nConstructing DataFrame from a numpy ndarray that has labeled columns:\n\n>>> data = np.array([(1, 2, 3), (4, 5, 6), (7, 8, 9)],\n... dtype=[(\"a\", \"i4\"), (\"b\", \"i4\"), (\"c\", \"i4\")])\n>>> df3 = pd.DataFrame(data, columns=['c', 'a'])\n...\n>>> df3\n c a\n0 3 1\n1 6 4\n2 9 7\n\nConstructing DataFrame from dataclass:\n\n>>> from dataclasses import make_dataclass\n>>> Point = make_dataclass(\"Point\", [(\"x\", int), (\"y\", int)])\n>>> pd.DataFrame([Point(0, 0), Point(0, 3), Point(2, 3)])\n x y\n0 0 0\n1 0 3\n2 2 3\n\nConstructing DataFrame from Series/DataFrame:\n\n>>> ser = pd.Series([1, 2, 3], index=[\"a\", \"b\", \"c\"])\n>>> df = pd.DataFrame(data=ser, index=[\"a\", \"c\"])\n>>> df\n 0\na 1\nc 3\n\n>>> df1 = pd.DataFrame([1, 2, 3], index=[\"a\", \"b\", \"c\"], columns=[\"x\"])\n>>> df2 = pd.DataFrame(data=df1, index=[\"a\", \"c\"])\n>>> df2\n x\na 1\nc 3\n"}, "kind": 7, "label": "__class__", "sortText": "221"}, {"detail": "bound method DataFrame.__contains__(key) -> bool", "documentation": {"kind": "plaintext", "value": "True if the key is in the info axis\n"}, "kind": 2, "label": "__contains__", "sortText": "222"}, {"detail": "bound method DataFrame.__copy__(deep: bool = True) -> DataFrame", "kind": 2, "label": "__copy__", "sortText": "223"}, {"detail": "bound method DataFrame.__dataframe__(nan_as_null: bool = False, allow_copy: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the dataframe interchange object implementing the interchange protocol.\n\nParameters\n----------\nnan_as_null : bool, default False\n `nan_as_null` is DEPRECATED and has no effect. Please avoid using\n it; it will be removed in a future release.\nallow_copy : bool, default True\n Whether to allow memory copying when exporting. If set to False\n it would cause non-zero-copy exports to fail.\n\nReturns\n-------\nDataFrame interchange object\n The object which consuming library can use to ingress the dataframe.\n\nNotes\n-----\nDetails on the interchange protocol:\nhttps://data-apis.org/dataframe-protocol/latest/index.html\n\nExamples\n--------\n>>> df_not_necessarily_pandas = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})\n>>> interchange_object = df_not_necessarily_pandas.__dataframe__()\n>>> interchange_object.column_names()\nIndex(['A', 'B'], dtype='object')\n>>> df_pandas = (pd.api.interchange.from_dataframe\n... (interchange_object.select_columns_by_name(['A'])))\n>>> df_pandas\n A\n0 1\n1 2\n\nThese methods (``column_names``, ``select_columns_by_name``) should work\nfor any dataframe library which implements the interchange protocol.\n"}, "kind": 2, "label": "__dataframe__", "sortText": "224"}, {"detail": "bound method DataFrame.__dataframe_consortium_standard__(*, api_version: str | None = None) -> Any", "documentation": {"kind": "plaintext", "value": "Provide entry point to the Consortium DataFrame Standard API.\n\nThis is developed and maintained outside of pandas.\nPlease report any issues to https://github.com/data-apis/dataframe-api-compat.\n"}, "kind": 2, "label": "__dataframe_consortium_standard__", "sortText": "225"}, {"detail": "bound method DataFrame.__deepcopy__(memo=None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Parameters\n----------\nmemo, default None\n Standard signature. Unused\n"}, "kind": 2, "label": "__deepcopy__", "sortText": "226"}, {"detail": "bound method DataFrame.__delattr__(name: str, /) -> None", "kind": 2, "label": "__delattr__", "sortText": "227"}, {"detail": "bound method DataFrame.__delitem__(key) -> None", "documentation": {"kind": "plaintext", "value": "Delete item\n"}, "kind": 2, "label": "__delitem__", "sortText": "228"}, {"detail": "dict[str, Any]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "__dict__", "sortText": "229"}, {"detail": "bound method DataFrame.__dir__() -> list[str]", "documentation": {"kind": "plaintext", "value": "Provide method name lookup and completion.\n\nNotes\n-----\nOnly provide 'public' methods.\n"}, "kind": 2, "label": "__dir__", "sortText": "230"}, {"detail": "bound method DataFrame.__divmod__(other) -> tuple[DataFrame, DataFrame]", "kind": 2, "label": "__divmod__", "sortText": "231"}, {"detail": "str | None", "kind": 22, "label": "__doc__", "sortText": "232"}, {"detail": "bound method DataFrame.__eq__(other) -> Unknown", "kind": 2, "label": "__eq__", "sortText": "233"}, {"detail": "bound method DataFrame.__finalize__(other, method: str | None = None, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Propagate metadata from other to self.\n\nParameters\n----------\nother : the object from which to get the attributes that we are going\n to propagate\nmethod : str, optional\n A passed method name providing context on where ``__finalize__``\n was called.\n\n .. warning::\n\n The value passed as `method` are not currently considered\n stable across pandas releases.\n"}, "kind": 2, "label": "__finalize__", "sortText": "234"}, {"detail": "bound method DataFrame.__floordiv__(other) -> Unknown", "kind": 2, "label": "__floordiv__", "sortText": "235"}, {"detail": "bound method DataFrame.__format__(format_spec: str, /) -> str", "kind": 2, "label": "__format__", "sortText": "236"}, {"detail": "bound method DataFrame.__ge__(other) -> Unknown", "kind": 2, "label": "__ge__", "sortText": "237"}, {"detail": "bound method DataFrame.__getattr__(name: str) -> Unknown", "documentation": {"kind": "plaintext", "value": "After regular attribute access, try looking up the name\nThis allows simpler access to columns for interactive use.\n"}, "kind": 2, "label": "__getattr__", "sortText": "238"}, {"detail": "bound method DataFrame.__getattribute__(name: str, /) -> Any", "kind": 2, "label": "__getattribute__", "sortText": "239"}, {"detail": "bound method DataFrame.__getitem__(key) -> Unknown", "kind": 2, "label": "__getitem__", "sortText": "240"}, {"detail": "bound method DataFrame.__getstate__() -> dict[str, Any]", "kind": 2, "label": "__getstate__", "sortText": "241"}, {"detail": "bound method DataFrame.__gt__(other) -> Unknown", "kind": 2, "label": "__gt__", "sortText": "242"}, {"detail": "None", "documentation": {"kind": "plaintext", "value": "The type of the None singleton.\n"}, "kind": 22, "label": "__hash__", "sortText": "243"}, {"detail": "bound method DataFrame.__iadd__(other) -> DataFrame", "kind": 2, "label": "__iadd__", "sortText": "244"}, {"detail": "bound method DataFrame.__iand__(other) -> DataFrame", "kind": 2, "label": "__iand__", "sortText": "245"}, {"detail": "bound method DataFrame.__ifloordiv__(other) -> DataFrame", "kind": 2, "label": "__ifloordiv__", "sortText": "246"}, {"detail": "bound method DataFrame.__imod__(other) -> DataFrame", "kind": 2, "label": "__imod__", "sortText": "247"}, {"detail": "bound method DataFrame.__imul__(other) -> DataFrame", "kind": 2, "label": "__imul__", "sortText": "248"}, {"detail": "bound method DataFrame.__init__(data=None, index: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = None, columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = None, dtype: ExtensionDtype | str | dtype[Any] | type | None = None, copy: bool | None = None) -> None", "kind": 2, "label": "__init__", "sortText": "249"}, {"detail": "bound method type[DataFrame].__init_subclass__() -> None", "kind": 2, "label": "__init_subclass__", "sortText": "250"}, {"detail": "bound method DataFrame.__invert__() -> DataFrame", "kind": 2, "label": "__invert__", "sortText": "251"}, {"detail": "bound method DataFrame.__ior__(other) -> DataFrame", "kind": 2, "label": "__ior__", "sortText": "252"}, {"detail": "bound method DataFrame.__ipow__(other) -> DataFrame", "kind": 2, "label": "__ipow__", "sortText": "253"}, {"detail": "bound method DataFrame.__isub__(other) -> DataFrame", "kind": 2, "label": "__isub__", "sortText": "254"}, {"detail": "bound method DataFrame.__iter__() -> Iterator[Unknown]", "documentation": {"kind": "plaintext", "value": "Iterate over info axis.\n\nReturns\n-------\niterator\n Info axis as iterator.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})\n>>> for x in df:\n... print(x)\nA\nB\n"}, "kind": 2, "label": "__iter__", "sortText": "255"}, {"detail": "bound method DataFrame.__itruediv__(other) -> DataFrame", "kind": 2, "label": "__itruediv__", "sortText": "256"}, {"detail": "bound method DataFrame.__ixor__(other) -> DataFrame", "kind": 2, "label": "__ixor__", "sortText": "257"}, {"detail": "bound method DataFrame.__le__(other) -> Unknown", "kind": 2, "label": "__le__", "sortText": "258"}, {"detail": "bound method DataFrame.__len__() -> int", "documentation": {"kind": "plaintext", "value": "Returns length of info axis, but here we use the index.\n"}, "kind": 2, "label": "__len__", "sortText": "259"}, {"detail": "bound method DataFrame.__lt__(other) -> Unknown", "kind": 2, "label": "__lt__", "sortText": "260"}, {"detail": "Overload[(other: Series) -> Series, (other: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | Series | DataFrame) -> DataFrame | Series]", "documentation": {"kind": "plaintext", "value": "Matrix multiplication using binary `@` operator.\n"}, "kind": 2, "label": "__matmul__", "sortText": "261"}, {"detail": "bound method DataFrame.__mod__(other) -> Unknown", "kind": 2, "label": "__mod__", "sortText": "262"}, {"detail": "str", "documentation": {"kind": "plaintext", "value": "str(object='') -> str\nstr(bytes_or_buffer[, encoding[, errors]]) -> str\n\nCreate a new string object from the given object. If encoding or\nerrors is specified, then the object must expose a data buffer\nthat will be decoded using the given encoding and error handler.\nOtherwise, returns the result of object.__str__() (if defined)\nor repr(object).\nencoding defaults to 'utf-8'.\nerrors defaults to 'strict'.\n"}, "kind": 22, "label": "__module__", "sortText": "263"}, {"detail": "bound method DataFrame.__mul__(other) -> Unknown", "kind": 2, "label": "__mul__", "sortText": "264"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "__name__", "sortText": "265"}, {"detail": "bound method DataFrame.__ne__(other) -> Unknown", "kind": 2, "label": "__ne__", "sortText": "266"}, {"detail": "bound method DataFrame.__neg__() -> DataFrame", "kind": 2, "label": "__neg__", "sortText": "267"}, {"detail": "def __new__[Self](cls) -> Self", "kind": 3, "label": "__new__", "sortText": "268"}, {"detail": "bound method DataFrame.__nonzero__() -> Never", "kind": 2, "label": "__nonzero__", "sortText": "269"}, {"detail": "bound method DataFrame.__or__(other) -> Unknown", "kind": 2, "label": "__or__", "sortText": "270"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "__pandas_priority__", "sortText": "271"}, {"detail": "bound method DataFrame.__pos__() -> DataFrame", "kind": 2, "label": "__pos__", "sortText": "272"}, {"detail": "bound method DataFrame.__pow__(other) -> Unknown", "kind": 2, "label": "__pow__", "sortText": "273"}, {"detail": "bound method DataFrame.__radd__(other) -> Unknown", "kind": 2, "label": "__radd__", "sortText": "274"}, {"detail": "bound method DataFrame.__rand__(other) -> Unknown", "kind": 2, "label": "__rand__", "sortText": "275"}, {"detail": "bound method DataFrame.__rdivmod__(other) -> tuple[DataFrame, DataFrame]", "kind": 2, "label": "__rdivmod__", "sortText": "276"}, {"detail": "bound method DataFrame.__reduce__() -> str | tuple[Any, ...]", "kind": 2, "label": "__reduce__", "sortText": "277"}, {"detail": "bound method DataFrame.__reduce_ex__(protocol: SupportsIndex, /) -> str | tuple[Any, ...]", "kind": 2, "label": "__reduce_ex__", "sortText": "278"}, {"detail": "bound method DataFrame.__repr__() -> str", "documentation": {"kind": "plaintext", "value": "Return a string representation for a particular DataFrame.\n"}, "kind": 2, "label": "__repr__", "sortText": "279"}, {"detail": "bound method DataFrame.__rfloordiv__(other) -> Unknown", "kind": 2, "label": "__rfloordiv__", "sortText": "280"}, {"detail": "bound method DataFrame.__rmatmul__(other) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Matrix multiplication using binary `@` operator.\n"}, "kind": 2, "label": "__rmatmul__", "sortText": "281"}, {"detail": "bound method DataFrame.__rmod__(other) -> Unknown", "kind": 2, "label": "__rmod__", "sortText": "282"}, {"detail": "bound method DataFrame.__rmul__(other) -> Unknown", "kind": 2, "label": "__rmul__", "sortText": "283"}, {"detail": "bound method DataFrame.__ror__(other) -> Unknown", "kind": 2, "label": "__ror__", "sortText": "284"}, {"detail": "bound method DataFrame.__round__(decimals: int = 0) -> DataFrame", "kind": 2, "label": "__round__", "sortText": "285"}, {"detail": "bound method DataFrame.__rpow__(other) -> Unknown", "kind": 2, "label": "__rpow__", "sortText": "286"}, {"detail": "bound method DataFrame.__rsub__(other) -> Unknown", "kind": 2, "label": "__rsub__", "sortText": "287"}, {"detail": "bound method DataFrame.__rtruediv__(other) -> Unknown", "kind": 2, "label": "__rtruediv__", "sortText": "288"}, {"detail": "bound method DataFrame.__rxor__(other) -> Unknown", "kind": 2, "label": "__rxor__", "sortText": "289"}, {"detail": "bound method DataFrame.__setattr__(name: str, value) -> None", "documentation": {"kind": "plaintext", "value": "After regular attribute access, try setting the name\nThis allows simpler access to columns for interactive use.\n"}, "kind": 2, "label": "__setattr__", "sortText": "290"}, {"detail": "bound method DataFrame.__setitem__(key, value) -> None", "kind": 2, "label": "__setitem__", "sortText": "291"}, {"detail": "bound method DataFrame.__setstate__(state) -> None", "kind": 2, "label": "__setstate__", "sortText": "292"}, {"detail": "bound method DataFrame.__sizeof__() -> int", "documentation": {"kind": "plaintext", "value": "Generates the total memory usage for an object that returns\neither a value or Series of values\n"}, "kind": 2, "label": "__sizeof__", "sortText": "293"}, {"detail": "bound method DataFrame.__str__() -> str", "kind": 2, "label": "__str__", "sortText": "294"}, {"detail": "bound method DataFrame.__sub__(other) -> Unknown", "kind": 2, "label": "__sub__", "sortText": "295"}, {"detail": "bound method type[DataFrame].__subclasshook__(subclass: type, /) -> bool", "kind": 2, "label": "__subclasshook__", "sortText": "296"}, {"detail": "bound method DataFrame.__truediv__(other) -> Unknown", "kind": 2, "label": "__truediv__", "sortText": "297"}, {"detail": "bound method DataFrame.__xor__(other) -> Unknown", "kind": 2, "label": "__xor__", "sortText": "298"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "_AXIS_LEN", "sortText": "299"}, {"detail": "list[Literal[\"index\", \"columns\"]]", "documentation": {"kind": "plaintext", "value": "Built-in mutable sequence.\n\nIf no argument is given, the constructor creates a new empty list.\nThe argument must be an iterable if specified.\n"}, "kind": 22, "label": "_AXIS_ORDERS", "sortText": "300"}, {"detail": "dict[int | Literal[\"index\", \"columns\", \"rows\"], int]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "_AXIS_TO_AXIS_NUMBER", "sortText": "301"}, {"detail": "tuple[type[Series], type[Index], type[ExtensionArray], type[ndarray[_AnyShape, dtype[Any]]]]", "documentation": {"kind": "plaintext", "value": "Built-in immutable sequence.\n\nIf no argument is given, the constructor returns an empty tuple.\nIf iterable is specified the tuple is initialized from iterable's items.\n\nIf the argument is a tuple, the return value is the same object.\n"}, "kind": 22, "label": "_HANDLED_TYPES", "sortText": "302"}, {"detail": "set[str]", "documentation": {"kind": "plaintext", "value": "Build an unordered collection of unique elements.\n"}, "kind": 22, "label": "_accessors", "sortText": "303"}, {"detail": "bound method DataFrame._accum_func(name: str, func, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, skipna: bool = True, *args, **kwargs) -> Unknown", "kind": 2, "label": "_accum_func", "sortText": "304"}, {"detail": "str", "documentation": {"kind": "plaintext", "value": "str(object='') -> str\nstr(bytes_or_buffer[, encoding[, errors]]) -> str\n\nCreate a new string object from the given object. If encoding or\nerrors is specified, then the object must expose a data buffer\nthat will be decoded using the given encoding and error handler.\nOtherwise, returns the result of object.__str__() (if defined)\nor repr(object).\nencoding defaults to 'utf-8'.\nerrors defaults to 'strict'.\n"}, "kind": 22, "label": "_agg_examples_doc", "sortText": "305"}, {"detail": "str", "documentation": {"kind": "plaintext", "value": "str(object='') -> str\nstr(bytes_or_buffer[, encoding[, errors]]) -> str\n\nCreate a new string object from the given object. If encoding or\nerrors is specified, then the object must expose a data buffer\nthat will be decoded using the given encoding and error handler.\nOtherwise, returns the result of object.__str__() (if defined)\nor repr(object).\nencoding defaults to 'utf-8'.\nerrors defaults to 'strict'.\n"}, "kind": 22, "label": "_agg_see_also_doc", "sortText": "306"}, {"detail": "bound method DataFrame._align_for_op(other, axis: int, flex: bool | None = False, level: Hashable = None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Convert rhs to meet lhs dims if input is list, tuple or np.ndarray.\n\nParameters\n----------\nleft : DataFrame\nright : Any\naxis : int\nflex : bool or None, default False\n Whether this is a flex op, in which case we reindex.\n None indicates not to check for alignment.\nlevel : int or level name, default None\n\nReturns\n-------\nleft : DataFrame\nright : Any\n"}, "kind": 2, "label": "_align_for_op", "sortText": "307"}, {"detail": "bound method DataFrame._align_frame(other: DataFrame, join: Literal[\"outer\", \"inner\", \"left\", \"right\"] = \"outer\", axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, level=None, copy: bool | None = None, fill_value=None, method=None, limit: int | None = None, fill_axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> tuple[DataFrame, DataFrame, Index | None]", "kind": 2, "label": "_align_frame", "sortText": "308"}, {"detail": "bound method DataFrame._align_series(other: Series, join: Literal[\"outer\", \"inner\", \"left\", \"right\"] = \"outer\", axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, level=None, copy: bool | None = None, fill_value=None, method=None, limit: int | None = None, fill_axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> tuple[DataFrame, Series, Index | None]", "kind": 2, "label": "_align_series", "sortText": "309"}, {"detail": "bound method DataFrame._append(other, ignore_index: bool = False, verify_integrity: bool = False, sort: bool = False) -> DataFrame", "kind": 2, "label": "_append", "sortText": "310"}, {"detail": "bound method DataFrame._arith_method(other, op) -> Unknown", "kind": 2, "label": "_arith_method", "sortText": "311"}, {"detail": "bound method DataFrame._arith_method_with_reindex(right: DataFrame, op) -> DataFrame", "documentation": {"kind": "plaintext", "value": "For DataFrame-with-DataFrame operations that require reindexing,\noperate only on shared columns, then reindex.\n\nParameters\n----------\nright : DataFrame\nop : binary operator\n\nReturns\n-------\nDataFrame\n"}, "kind": 2, "label": "_arith_method_with_reindex", "sortText": "312"}, {"detail": "bound method DataFrame._as_manager(typ: str, copy: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Private helper function to create a DataFrame with specific manager.\n\nParameters\n----------\ntyp : {\"block\", \"array\"}\ncopy : bool, default True\n Only controls whether the conversion from Block->ArrayManager\n copies the 1D arrays (to ensure proper/contiguous memory layout).\n\nReturns\n-------\nDataFrame\n New DataFrame using specified manager type. Is not guaranteed\n to be a copy or not.\n"}, "kind": 2, "label": "_as_manager", "sortText": "313"}, {"detail": "dict[Hashable, Any]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "_attrs", "sortText": "314"}, {"detail": "bound method DataFrame._box_col_values(values: SingleDataManager, loc: int) -> Series", "documentation": {"kind": "plaintext", "value": "Provide boxed values for a column.\n"}, "kind": 2, "label": "_box_col_values", "sortText": "315"}, {"detail": "dict[str, Any]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "_cache", "sortText": "316"}, {"detail": "bool", "documentation": {"kind": "plaintext", "value": "Returns True when the argument is true, False otherwise.\nThe builtins True and False are the only two instances of the class bool.\nThe class bool is a subclass of the class int, and cannot be subclassed.\n"}, "kind": 22, "label": "_can_fast_transpose", "sortText": "317"}, {"detail": "bound method DataFrame._check_inplace_and_allows_duplicate_labels(inplace: bool) -> Unknown", "kind": 2, "label": "_check_inplace_and_allows_duplicate_labels", "sortText": "318"}, {"detail": "bound method DataFrame._check_is_chained_assignment_possible() -> bool", "documentation": {"kind": "plaintext", "value": "Check if we are a view, have a cacher, and are of mixed type.\nIf so, then force a setitem_copy check.\n\nShould be called just near setting a value\n\nWill return a boolean if it we are a view and are cached, but a\nsingle-dtype meaning that the cacher should be updated following\nsetting.\n"}, "kind": 2, "label": "_check_is_chained_assignment_possible", "sortText": "319"}, {"detail": "bound method DataFrame._check_label_or_level_ambiguity(key: Hashable, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> None", "documentation": {"kind": "plaintext", "value": "Check whether `key` is ambiguous.\n\nBy ambiguous, we mean that it matches both a level of the input\n`axis` and a label of the other axis.\n\nParameters\n----------\nkey : Hashable\n Label or level name.\naxis : int, default 0\n Axis that levels are associated with (0 for index, 1 for columns).\n\nRaises\n------\nValueError: `key` is ambiguous\n"}, "kind": 2, "label": "_check_label_or_level_ambiguity", "sortText": "320"}, {"detail": "bound method DataFrame._check_setitem_copy(t: str = \"setting\", force: bool = False) -> Unknown", "documentation": {"kind": "plaintext", "value": "Parameters\n----------\nt : str, the type of setting error\nforce : bool, default False\n If True, then force showing an error.\n\nvalidate if we are doing a setitem on a chained copy.\n\nIt is technically possible to figure out that we are setting on\na copy even WITH a multi-dtyped pandas object. In other words, some\nblocks may be views while other are not. Currently _is_view will ALWAYS\nreturn False for multi-blocks to avoid having to handle this case.\n\ndf = DataFrame(np.arange(0,9), columns=['count'])\ndf['group'] = 'b'\n\n# This technically need not raise SettingWithCopy if both are view\n# (which is not generally guaranteed but is usually True. However,\n# this is in general not a good practice and we recommend using .loc.\ndf.iloc[0:5]['group'] = 'a'\n"}, "kind": 2, "label": "_check_setitem_copy", "sortText": "321"}, {"detail": "bound method DataFrame._clear_item_cache() -> None", "kind": 2, "label": "_clear_item_cache", "sortText": "322"}, {"detail": "bound method DataFrame._clip_with_one_bound(threshold, method, axis, inplace) -> Unknown", "kind": 2, "label": "_clip_with_one_bound", "sortText": "323"}, {"detail": "bound method DataFrame._clip_with_scalar(lower, upper, inplace: bool = False) -> Unknown", "kind": 2, "label": "_clip_with_scalar", "sortText": "324"}, {"detail": "bound method DataFrame._cmp_method(other, op) -> Unknown", "kind": 2, "label": "_cmp_method", "sortText": "325"}, {"detail": "bound method DataFrame._combine_frame(other: DataFrame, func, fill_value=None) -> Unknown", "kind": 2, "label": "_combine_frame", "sortText": "326"}, {"detail": "bound method DataFrame._consolidate() -> Unknown", "documentation": {"kind": "plaintext", "value": "Compute NDFrame with \"consolidated\" internals (data of each dtype\ngrouped together in a single ndarray).\n\nReturns\n-------\nconsolidated : same type as caller\n"}, "kind": 2, "label": "_consolidate", "sortText": "327"}, {"detail": "bound method DataFrame._consolidate_inplace() -> None", "documentation": {"kind": "plaintext", "value": "Consolidate data in place and return None\n"}, "kind": 2, "label": "_consolidate_inplace", "sortText": "328"}, {"detail": "bound method DataFrame._construct_axes_dict(axes: Sequence[int | Literal[\"index\", \"columns\", \"rows\"]] | None = None, **kwargs) -> Unknown", "documentation": {"kind": "plaintext", "value": "Return an axes dictionary for myself.\n"}, "kind": 2, "label": "_construct_axes_dict", "sortText": "329"}, {"detail": "bound method DataFrame._construct_result(result) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Wrap the result of an arithmetic, comparison, or logical operation.\n\nParameters\n----------\nresult : DataFrame\n\nReturns\n-------\nDataFrame\n"}, "kind": 2, "label": "_construct_result", "sortText": "330"}, {"detail": "(...) -> DataFrame", "kind": 3, "label": "_constructor", "sortText": "331"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_constructor_expanddim", "sortText": "332"}, {"detail": "bound method DataFrame._constructor_from_mgr(mgr, axes) -> DataFrame", "kind": 2, "label": "_constructor_from_mgr", "sortText": "333"}, {"detail": "(...) -> Series", "kind": 3, "label": "_constructor_sliced", "sortText": "334"}, {"detail": "bound method DataFrame._constructor_sliced_from_mgr(mgr, axes) -> Series", "kind": 2, "label": "_constructor_sliced_from_mgr", "sortText": "335"}, {"detail": "bound method DataFrame._create_data_for_split_and_tight_to_dict(are_all_object_dtype_cols: bool, object_dtype_indices: list[int]) -> list[Unknown]", "documentation": {"kind": "plaintext", "value": "Simple helper method to create data for to ``to_dict(orient=\"split\")`` and\n``to_dict(orient=\"tight\")`` to create the main output data\n"}, "kind": 2, "label": "_create_data_for_split_and_tight_to_dict", "sortText": "336"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_data", "sortText": "337"}, {"detail": "bound method DataFrame._deprecate_downcast(downcast, method_name: str) -> Unknown", "kind": 2, "label": "_deprecate_downcast", "sortText": "338"}, {"detail": "bound method DataFrame._dir_additions() -> set[str]", "documentation": {"kind": "plaintext", "value": "add the string-like attributes from the info_axis.\nIf info_axis is a MultiIndex, its first level values are used.\n"}, "kind": 2, "label": "_dir_additions", "sortText": "339"}, {"detail": "bound method DataFrame._dir_deletions() -> set[str]", "documentation": {"kind": "plaintext", "value": "Delete unwanted __dir__ for this object.\n"}, "kind": 2, "label": "_dir_deletions", "sortText": "340"}, {"detail": "bound method DataFrame._dispatch_frame_op(right, func: (...) -> Unknown, axis: int | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Evaluate the frame operation func(left, right) by evaluating\ncolumn-by-column, dispatching to the Series implementation.\n\nParameters\n----------\nright : scalar, Series, or DataFrame\nfunc : arithmetic or comparison operator\naxis : {None, 0, 1}\n\nReturns\n-------\nDataFrame\n\nNotes\n-----\nCaller is responsible for setting np.errstate where relevant.\n"}, "kind": 2, "label": "_dispatch_frame_op", "sortText": "341"}, {"detail": "bound method DataFrame._drop_axis(labels, axis, level=None, errors: Literal[\"ignore\", \"raise\"] = \"raise\", only_slice: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Drop labels from specified axis. Used in the ``drop`` method\ninternally.\n\nParameters\n----------\nlabels : single label or list-like\naxis : int or axis name\nlevel : int or level name, default None\n For MultiIndex\nerrors : {'ignore', 'raise'}, default 'raise'\n If 'ignore', suppress error and existing labels are dropped.\nonly_slice : bool, default False\n Whether indexing along columns should be view-only.\n"}, "kind": 2, "label": "_drop_axis", "sortText": "342"}, {"detail": "bound method DataFrame._drop_labels_or_levels(keys, axis: int = 0) -> Unknown", "documentation": {"kind": "plaintext", "value": "Drop labels and/or levels for the given `axis`.\n\nFor each key in `keys`:\n - (axis=0): If key matches a column label then drop the column.\n Otherwise if key matches an index level then drop the level.\n - (axis=1): If key matches an index label then drop the row.\n Otherwise if key matches a column level then drop the level.\n\nParameters\n----------\nkeys : str or list of str\n labels or levels to drop\naxis : int, default 0\n Axis that levels are associated with (0 for index, 1 for columns)\n\nReturns\n-------\ndropped: DataFrame\n\nRaises\n------\nValueError\n if any `keys` match neither a label nor a level\n"}, "kind": 2, "label": "_drop_labels_or_levels", "sortText": "343"}, {"detail": "bound method DataFrame._ensure_valid_index(value) -> None", "documentation": {"kind": "plaintext", "value": "Ensure that if we don't have an index, that we can create one from the\npassed value.\n"}, "kind": 2, "label": "_ensure_valid_index", "sortText": "344"}, {"detail": "bound method DataFrame._find_valid_index(*, how: str) -> Hashable", "documentation": {"kind": "plaintext", "value": "Retrieves the index of the first valid value.\n\nParameters\n----------\nhow : {'first', 'last'}\n Use this parameter to change between the first or last valid index.\n\nReturns\n-------\nidx_first_valid : type of index\n"}, "kind": 2, "label": "_find_valid_index", "sortText": "345"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_flags", "sortText": "346"}, {"detail": "bound method DataFrame._flex_arith_method(other, op, *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> Unknown", "kind": 2, "label": "_flex_arith_method", "sortText": "347"}, {"detail": "bound method DataFrame._flex_cmp_method(other, op, *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> Unknown", "kind": 2, "label": "_flex_cmp_method", "sortText": "348"}, {"detail": "bound method type[DataFrame]._from_arrays(arrays, columns, index, dtype: ExtensionDtype | str | dtype[Any] | type | None = None, verify_integrity: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Create DataFrame from a list of arrays corresponding to the columns.\n\nParameters\n----------\narrays : list-like of arrays\n Each array in the list corresponds to one column, in order.\ncolumns : list-like, Index\n The column names for the resulting DataFrame.\nindex : list-like, Index\n The rows labels for the resulting DataFrame.\ndtype : dtype, optional\n Optional dtype to enforce for all arrays.\nverify_integrity : bool, default True\n Validate and homogenize all input. If set to False, it is assumed\n that all elements of `arrays` are actual arrays how they will be\n stored in a block (numpy ndarray or ExtensionArray), have the same\n length as and are aligned with the index, and that `columns` and\n `index` are ensured to be an Index object.\n\nReturns\n-------\nDataFrame\n"}, "kind": 2, "label": "_from_arrays", "sortText": "349"}, {"detail": "bound method type[DataFrame]._from_mgr(mgr: ArrayManager | SingleArrayManager | BlockManager | SingleBlockManager, axes: list[Index]) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Construct a new object of this type from a Manager object and axes.\n\nParameters\n----------\nmgr : Manager\n Must have the same ndim as cls.\naxes : list[Index]\n\nNotes\n-----\nThe axes must match mgr.axes, but are required for future-proofing\nin the event that axes are refactored out of the Manager objects.\n"}, "kind": 2, "label": "_from_mgr", "sortText": "350"}, {"detail": "bound method DataFrame._get_agg_axis(axis_num: int) -> Index", "documentation": {"kind": "plaintext", "value": "Let's be explicit about this.\n"}, "kind": 2, "label": "_get_agg_axis", "sortText": "351"}, {"detail": "bound method DataFrame._get_axis(axis: int | Literal[\"index\", \"columns\", \"rows\"]) -> Index", "kind": 2, "label": "_get_axis", "sortText": "352"}, {"detail": "bound method type[DataFrame]._get_axis_name(axis: int | Literal[\"index\", \"columns\", \"rows\"]) -> Literal[\"index\", \"columns\"]", "kind": 2, "label": "_get_axis_name", "sortText": "353"}, {"detail": "bound method type[DataFrame]._get_axis_number(axis: int | Literal[\"index\", \"columns\", \"rows\"]) -> int", "kind": 2, "label": "_get_axis_number", "sortText": "354"}, {"detail": "bound method DataFrame._get_axis_resolvers(axis: str) -> dict[str, Series | MultiIndex]", "kind": 2, "label": "_get_axis_resolvers", "sortText": "355"}, {"detail": "bound method type[DataFrame]._get_block_manager_axis(axis: int | Literal[\"index\", \"columns\", \"rows\"]) -> int", "documentation": {"kind": "plaintext", "value": "Map the axis to the block_manager axis.\n"}, "kind": 2, "label": "_get_block_manager_axis", "sortText": "356"}, {"detail": "bound method DataFrame._get_bool_data() -> Unknown", "kind": 2, "label": "_get_bool_data", "sortText": "357"}, {"detail": "bound method DataFrame._get_cleaned_column_resolvers() -> dict[Hashable, Series]", "documentation": {"kind": "plaintext", "value": "Return the special character free column resolvers of a dataframe.\n\nColumn names with special characters are 'cleaned up' so that they can\nbe referred to by backtick quoting.\nUsed in :meth:`DataFrame.eval`.\n"}, "kind": 2, "label": "_get_cleaned_column_resolvers", "sortText": "358"}, {"detail": "bound method DataFrame._get_column_array(i: int) -> ExtensionArray | ndarray[_AnyShape, dtype[Any]]", "documentation": {"kind": "plaintext", "value": "Get the values of the i'th column (ndarray or ExtensionArray, as stored\nin the Block)\n\nWarning! The returned array is a view but doesn't handle Copy-on-Write,\nso this should be used with caution (for read-only purposes).\n"}, "kind": 2, "label": "_get_column_array", "sortText": "359"}, {"detail": "bound method DataFrame._get_index_resolvers() -> dict[Hashable, Series | MultiIndex]", "kind": 2, "label": "_get_index_resolvers", "sortText": "360"}, {"detail": "bound method DataFrame._get_item_cache(item: Hashable) -> Series", "documentation": {"kind": "plaintext", "value": "Return the cached item, item represents a label indexer.\n"}, "kind": 2, "label": "_get_item_cache", "sortText": "361"}, {"detail": "bound method DataFrame._get_label_or_level_values(key: Hashable, axis: int = 0) -> ExtensionArray | ndarray[_AnyShape, dtype[Any]]", "documentation": {"kind": "plaintext", "value": "Return a 1-D array of values associated with `key`, a label or level\nfrom the given `axis`.\n\nRetrieval logic:\n - (axis=0): Return column values if `key` matches a column label.\n Otherwise return index level values if `key` matches an index\n level.\n - (axis=1): Return row values if `key` matches an index label.\n Otherwise return column level values if 'key' matches a column\n level\n\nParameters\n----------\nkey : Hashable\n Label or level name.\naxis : int, default 0\n Axis that levels are associated with (0 for index, 1 for columns)\n\nReturns\n-------\nnp.ndarray or ExtensionArray\n\nRaises\n------\nKeyError\n if `key` matches neither a label nor a level\nValueError\n if `key` matches multiple labels\n"}, "kind": 2, "label": "_get_label_or_level_values", "sortText": "362"}, {"detail": "bound method DataFrame._get_numeric_data() -> DataFrame", "kind": 2, "label": "_get_numeric_data", "sortText": "363"}, {"detail": "bound method DataFrame._get_value(index, col, takeable: bool = False) -> str | float | Period | ... omitted 5 union elements", "documentation": {"kind": "plaintext", "value": "Quickly retrieve single value at passed column and index.\n\nParameters\n----------\nindex : row label\ncol : column label\ntakeable : interpret the index/col as indexers, default False\n\nReturns\n-------\nscalar\n\nNotes\n-----\nAssumes that both `self.index._index_as_unique` and\n`self.columns._index_as_unique`; Caller is responsible for checking.\n"}, "kind": 2, "label": "_get_value", "sortText": "364"}, {"detail": "bound method DataFrame._get_values_for_csv(*, float_format: str | ((...) -> Unknown) | EngFormatter | None, date_format: str | None, decimal: str, na_rep: str, quoting) -> DataFrame", "kind": 2, "label": "_get_values_for_csv", "sortText": "365"}, {"detail": "bound method DataFrame._getitem_bool_array(key) -> Unknown", "kind": 2, "label": "_getitem_bool_array", "sortText": "366"}, {"detail": "bound method DataFrame._getitem_multilevel(key) -> Unknown", "kind": 2, "label": "_getitem_multilevel", "sortText": "367"}, {"detail": "bound method DataFrame._getitem_nocopy(key: list[Unknown]) -> Unknown", "documentation": {"kind": "plaintext", "value": "Behaves like __getitem__, but returns a view in cases where __getitem__\nwould make a copy.\n"}, "kind": 2, "label": "_getitem_nocopy", "sortText": "368"}, {"detail": "bound method DataFrame._getitem_slice(key: slice[Any, Any, Any]) -> DataFrame", "documentation": {"kind": "plaintext", "value": "__getitem__ for the case where the key is a slice object.\n"}, "kind": 2, "label": "_getitem_slice", "sortText": "369"}, {"detail": "bound method DataFrame._gotitem(key: Hashable | Sequence[Hashable], ndim: int, subset: DataFrame | Series | None = None) -> DataFrame | Series", "documentation": {"kind": "plaintext", "value": "Sub-classes to define. Return a sliced object.\n\nParameters\n----------\nkey : string / list of selections\nndim : {1, 2}\n requested ndim of result\nsubset : object, default None\n subset to act on\n"}, "kind": 2, "label": "_gotitem", "sortText": "370"}, {"detail": "frozenset[str]", "documentation": {"kind": "plaintext", "value": "Build an immutable unordered collection of unique elements.\n"}, "kind": 22, "label": "_hidden_attrs", "sortText": "371"}, {"detail": "bound method DataFrame._indexed_same(other) -> bool", "kind": 2, "label": "_indexed_same", "sortText": "372"}, {"detail": "Index", "documentation": {"kind": "plaintext", "value": "Immutable sequence used for indexing and alignment.\n\nThe basic object storing axis labels for all pandas objects.\n\n.. versionchanged:: 2.0.0\n\n Index can hold all numpy numeric dtypes (except float16). Previously only\n int64/uint64/float64 dtypes were accepted.\n\nParameters\n----------\ndata : array-like (1-dimensional)\ndtype : str, numpy.dtype, or ExtensionDtype, optional\n Data type for the output Index. If not specified, this will be\n inferred from `data`.\n See the :ref:`user guide ` for more usages.\ncopy : bool, default False\n Copy input data.\nname : object\n Name to be stored in the index.\ntupleize_cols : bool (default: True)\n When True, attempt to create a MultiIndex if possible.\n\nSee Also\n--------\nRangeIndex : Index implementing a monotonic integer range.\nCategoricalIndex : Index of :class:`Categorical` s.\nMultiIndex : A multi-level, or hierarchical Index.\nIntervalIndex : An Index of :class:`Interval` s.\nDatetimeIndex : Index of datetime64 data.\nTimedeltaIndex : Index of timedelta64 data.\nPeriodIndex : Index of Period data.\n\nNotes\n-----\nAn Index instance can **only** contain hashable objects.\nAn Index instance *can not* hold numpy float16 dtype.\n\nExamples\n--------\n>>> pd.Index([1, 2, 3])\nIndex([1, 2, 3], dtype='int64')\n\n>>> pd.Index(list('abc'))\nIndex(['a', 'b', 'c'], dtype='object')\n\n>>> pd.Index([1, 2, 3], dtype=\"uint8\")\nIndex([1, 2, 3], dtype='uint8')\n"}, "kind": 22, "label": "_info_axis", "sortText": "373"}, {"detail": "Literal[\"columns\", \"index\"]", "kind": 12, "label": "_info_axis_name", "sortText": "374"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "_info_axis_number", "sortText": "375"}, {"detail": "bound method DataFrame._info_repr() -> bool", "documentation": {"kind": "plaintext", "value": "True if the repr should show the info view.\n"}, "kind": 2, "label": "_info_repr", "sortText": "376"}, {"detail": "bound method type[DataFrame]._init_mgr(mgr: ArrayManager | SingleArrayManager | BlockManager | SingleBlockManager, axes: dict[Literal[\"index\", \"columns\"], ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements], dtype: dtype[Any] | ExtensionDtype | None = None, copy: bool = False) -> ArrayManager | SingleArrayManager | BlockManager | SingleBlockManager", "documentation": {"kind": "plaintext", "value": "passed a manager and a axes dict\n"}, "kind": 2, "label": "_init_mgr", "sortText": "377"}, {"detail": "bound method DataFrame._inplace_method(other, op) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Wrap arithmetic method to operate inplace.\n"}, "kind": 2, "label": "_inplace_method", "sortText": "378"}, {"detail": "list[str]", "documentation": {"kind": "plaintext", "value": "Built-in mutable sequence.\n\nIf no argument is given, the constructor creates a new empty list.\nThe argument must be an iterable if specified.\n"}, "kind": 22, "label": "_internal_names", "sortText": "379"}, {"detail": "set[str]", "documentation": {"kind": "plaintext", "value": "Build an unordered collection of unique elements.\n"}, "kind": 22, "label": "_internal_names_set", "sortText": "380"}, {"detail": "ReferenceType[NDFrame] | str | None", "kind": 22, "label": "_is_copy", "sortText": "381"}, {"detail": "bool", "documentation": {"kind": "plaintext", "value": "Returns True when the argument is true, False otherwise.\nThe builtins True and False are the only two instances of the class bool.\nThe class bool is a subclass of the class int, and cannot be subclassed.\n"}, "kind": 22, "label": "_is_homogeneous_type", "sortText": "382"}, {"detail": "bound method DataFrame._is_label_or_level_reference(key: Hashable, axis: int = 0) -> bool", "documentation": {"kind": "plaintext", "value": "Test whether a key is a label or level reference for a given axis.\n\nTo be considered either a label or a level reference, `key` must be a\nstring that:\n - (axis=0): Matches a column label or an index level\n - (axis=1): Matches an index label or a column level\n\nParameters\n----------\nkey : Hashable\n Potential label or level name\naxis : int, default 0\n Axis that levels are associated with (0 for index, 1 for columns)\n\nReturns\n-------\nbool\n"}, "kind": 2, "label": "_is_label_or_level_reference", "sortText": "383"}, {"detail": "bound method DataFrame._is_label_reference(key: Hashable, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> bool", "documentation": {"kind": "plaintext", "value": "Test whether a key is a label reference for a given axis.\n\nTo be considered a label reference, `key` must be a string that:\n - (axis=0): Matches a column label\n - (axis=1): Matches an index label\n\nParameters\n----------\nkey : Hashable\n Potential label name, i.e. Index entry.\naxis : int, default 0\n Axis perpendicular to the axis that labels are associated with\n (0 means search for column labels, 1 means search for index labels)\n\nReturns\n-------\nis_label: bool\n"}, "kind": 2, "label": "_is_label_reference", "sortText": "384"}, {"detail": "bound method DataFrame._is_level_reference(key: Hashable, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> bool", "documentation": {"kind": "plaintext", "value": "Test whether a key is a level reference for a given axis.\n\nTo be considered a level reference, `key` must be a string that:\n - (axis=0): Matches the name of an index level and does NOT match\n a column label.\n - (axis=1): Matches the name of a column level and does NOT match\n an index label.\n\nParameters\n----------\nkey : Hashable\n Potential level name for the given axis\naxis : int, default 0\n Axis that levels are associated with (0 for index, 1 for columns)\n\nReturns\n-------\nis_level : bool\n"}, "kind": 2, "label": "_is_level_reference", "sortText": "385"}, {"detail": "bool", "documentation": {"kind": "plaintext", "value": "Returns True when the argument is true, False otherwise.\nThe builtins True and False are the only two instances of the class bool.\nThe class bool is a subclass of the class int, and cannot be subclassed.\n"}, "kind": 22, "label": "_is_mixed_type", "sortText": "386"}, {"detail": "bool", "documentation": {"kind": "plaintext", "value": "Returns True when the argument is true, False otherwise.\nThe builtins True and False are the only two instances of the class bool.\nThe class bool is a subclass of the class int, and cannot be subclassed.\n"}, "kind": 22, "label": "_is_view", "sortText": "387"}, {"detail": "bound method DataFrame._is_view_after_cow_rules() -> Unknown", "kind": 2, "label": "_is_view_after_cow_rules", "sortText": "388"}, {"detail": "bound method DataFrame._iset_item(loc: int, value: Series, inplace: bool = True) -> None", "kind": 2, "label": "_iset_item", "sortText": "389"}, {"detail": "bound method DataFrame._iset_item_mgr(loc: int | slice[Any, Any, Any] | ndarray[_AnyShape, dtype[Any]], value, inplace: bool = False, refs: BlockValuesRefs | None = None) -> None", "kind": 2, "label": "_iset_item_mgr", "sortText": "390"}, {"detail": "bound method DataFrame._iset_not_inplace(key, value) -> Unknown", "kind": 2, "label": "_iset_not_inplace", "sortText": "391"}, {"detail": "dict[Hashable, Series]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "_item_cache", "sortText": "392"}, {"detail": "bound method DataFrame._iter_column_arrays() -> Iterator[ExtensionArray | ndarray[_AnyShape, dtype[Any]]]", "documentation": {"kind": "plaintext", "value": "Iterate over the arrays of all columns in order.\nThis returns the values as stored in the Block (ndarray or ExtensionArray).\n\nWarning! The returned array is a view but doesn't handle Copy-on-Write,\nso this should be used with caution (for read-only purposes).\n"}, "kind": 2, "label": "_iter_column_arrays", "sortText": "393"}, {"detail": "bound method DataFrame._ixs(i: int, axis: int = 0) -> Series", "documentation": {"kind": "plaintext", "value": "Parameters\n----------\ni : int\naxis : int\n\nReturns\n-------\nSeries\n"}, "kind": 2, "label": "_ixs", "sortText": "394"}, {"detail": "bound method DataFrame._logical_func(name: str, func, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, bool_only: bool = False, skipna: bool = True, **kwargs) -> Series | bool", "kind": 2, "label": "_logical_func", "sortText": "395"}, {"detail": "(other, op) -> Unknown", "kind": 2, "label": "_logical_method", "sortText": "396"}, {"detail": "bound method DataFrame._maybe_align_series_as_frame(series: Series, axis: int) -> Unknown", "documentation": {"kind": "plaintext", "value": "If the Series operand is not EA-dtype, we can broadcast to 2D and operate\nblockwise.\n"}, "kind": 2, "label": "_maybe_align_series_as_frame", "sortText": "397"}, {"detail": "bound method DataFrame._maybe_cache_changed(item, value: Series, inplace: bool) -> None", "documentation": {"kind": "plaintext", "value": "The object has called back to us saying maybe it has changed.\n"}, "kind": 2, "label": "_maybe_cache_changed", "sortText": "398"}, {"detail": "bound method DataFrame._maybe_update_cacher(clear: bool = False, verify_is_copy: bool = True, inplace: bool = False) -> None", "documentation": {"kind": "plaintext", "value": "See if we need to update our parent cacher if clear, then clear our\ncache.\n\nParameters\n----------\nclear : bool, default False\n Clear the item cache.\nverify_is_copy : bool, default True\n Provide is_copy checks.\n"}, "kind": 2, "label": "_maybe_update_cacher", "sortText": "399"}, {"detail": "list[str]", "documentation": {"kind": "plaintext", "value": "Built-in mutable sequence.\n\nIf no argument is given, the constructor creates a new empty list.\nThe argument must be an iterable if specified.\n"}, "kind": 22, "label": "_metadata", "sortText": "400"}, {"detail": "BlockManager | ArrayManager", "kind": 22, "label": "_mgr", "sortText": "401"}, {"detail": "bound method DataFrame._min_count_stat_function(name: str, func, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None | _NoDefault = ..., skipna: bool = True, numeric_only: bool = False, min_count: int = 0, **kwargs) -> Unknown", "kind": 2, "label": "_min_count_stat_function", "sortText": "402"}, {"detail": "bound method DataFrame._needs_reindex_multi(axes, method, level: Hashable) -> bool", "documentation": {"kind": "plaintext", "value": "Check if we do need a multi reindex.\n"}, "kind": 2, "label": "_needs_reindex_multi", "sortText": "403"}, {"detail": "bound method DataFrame._pad_or_backfill(method: Literal[\"ffill\", \"bfill\", \"pad\", \"backfill\"], *, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = None, inplace: bool = False, limit: None | int = None, limit_area: Literal[\"inside\", \"outside\"] | None = None, downcast: dict[Unknown, Unknown] | None = None) -> Unknown", "kind": 2, "label": "_pad_or_backfill", "sortText": "404"}, {"detail": "bound method DataFrame._protect_consolidate(f) -> Unknown", "documentation": {"kind": "plaintext", "value": "Consolidate _mgr -- if the blocks have changed, then clear the\ncache\n"}, "kind": 2, "label": "_protect_consolidate", "sortText": "405"}, {"detail": "bound method DataFrame._reduce(op, name: str, *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, skipna: bool = True, numeric_only: bool = False, filter_type=None, **kwds) -> Unknown", "kind": 2, "label": "_reduce", "sortText": "406"}, {"detail": "bound method DataFrame._reduce_axis1(name: str, func, skipna: bool) -> Series", "documentation": {"kind": "plaintext", "value": "Special case for _reduce to try to avoid a potentially-expensive transpose.\n\nApply the reduction block-wise along axis=1 and then reduce the resulting\n1D arrays.\n"}, "kind": 2, "label": "_reduce_axis1", "sortText": "407"}, {"detail": "bound method DataFrame._reindex_axes(axes, level: Hashable, limit: int | None, tolerance, method, fill_value: str | float | Period | ... omitted 6 union elements, copy: bool | None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Perform the reindex for all the axes.\n"}, "kind": 2, "label": "_reindex_axes", "sortText": "408"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_reindex_indexer", "sortText": "409"}, {"detail": "bound method DataFrame._reindex_multi(axes: dict[str, Index], copy: bool, fill_value) -> DataFrame", "documentation": {"kind": "plaintext", "value": "We are guaranteed non-Nones in the axes.\n"}, "kind": 2, "label": "_reindex_multi", "sortText": "410"}, {"detail": "bound method DataFrame._reindex_with_indexers(reindexers, fill_value=None, copy: bool | None = False, allow_dups: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "allow_dups indicates an internal call here\n"}, "kind": 2, "label": "_reindex_with_indexers", "sortText": "411"}, {"detail": "bound method DataFrame._rename(mapper: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = None, *, index: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = None, columns: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, copy: bool | None = None, inplace: bool = False, level: Hashable = None, errors: str = \"ignore\") -> DataFrame | None", "kind": 2, "label": "_rename", "sortText": "412"}, {"detail": "bound method DataFrame._replace_columnwise(mapping: dict[Hashable, tuple[Any, Any]], inplace: bool, regex) -> Unknown", "documentation": {"kind": "plaintext", "value": "Dispatch to Series.replace column-wise.\n\nParameters\n----------\nmapping : dict\n of the form {col: (target, value)}\ninplace : bool\nregex : bool or same types as `to_replace` in DataFrame.replace\n\nReturns\n-------\nDataFrame or None\n"}, "kind": 2, "label": "_replace_columnwise", "sortText": "413"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_replace_single", "sortText": "414"}, {"detail": "bound method DataFrame._repr_data_resource_() -> Unknown", "documentation": {"kind": "plaintext", "value": "Not a real Jupyter special repr method, but we use the same\nnaming convention.\n"}, "kind": 2, "label": "_repr_data_resource_", "sortText": "415"}, {"detail": "bound method DataFrame._repr_fits_horizontal_() -> bool", "documentation": {"kind": "plaintext", "value": "Check if full repr fits in horizontal boundaries imposed by the display\noptions width and max_columns.\n"}, "kind": 2, "label": "_repr_fits_horizontal_", "sortText": "416"}, {"detail": "bound method DataFrame._repr_fits_vertical_() -> bool", "documentation": {"kind": "plaintext", "value": "Check length against max_rows.\n"}, "kind": 2, "label": "_repr_fits_vertical_", "sortText": "417"}, {"detail": "bound method DataFrame._repr_html_() -> str | None", "documentation": {"kind": "plaintext", "value": "Return a html representation for a particular DataFrame.\n\nMainly for IPython notebook.\n"}, "kind": 2, "label": "_repr_html_", "sortText": "418"}, {"detail": "bound method DataFrame._repr_latex_() -> Unknown", "documentation": {"kind": "plaintext", "value": "Returns a LaTeX representation for a particular object.\nMainly for use with nbconvert (jupyter notebook conversion to pdf).\n"}, "kind": 2, "label": "_repr_latex_", "sortText": "419"}, {"detail": "bound method DataFrame._reset_cache(key: str | None = None) -> None", "documentation": {"kind": "plaintext", "value": "Reset cached properties. If ``key`` is passed, only clears that key.\n"}, "kind": 2, "label": "_reset_cache", "sortText": "420"}, {"detail": "bound method DataFrame._reset_cacher() -> None", "kind": 2, "label": "_reset_cacher", "sortText": "421"}, {"detail": "bound method DataFrame._sanitize_column(value) -> tuple[ExtensionArray | ndarray[_AnyShape, dtype[Any]], BlockValuesRefs | None]", "documentation": {"kind": "plaintext", "value": "Ensures new columns (which go into the BlockManager as new blocks) are\nalways copied (or a reference is being tracked to them under CoW)\nand converted into an array.\n\nParameters\n----------\nvalue : scalar, Series, or array-like\n\nReturns\n-------\ntuple of numpy.ndarray or ExtensionArray and optional BlockValuesRefs\n"}, "kind": 2, "label": "_sanitize_column", "sortText": "422"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_series", "sortText": "423"}, {"detail": "bound method DataFrame._set_axis(axis: int, labels: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | Series | list[Unknown]) -> None", "documentation": {"kind": "plaintext", "value": "This is called from the cython code when we set the `index` attribute\ndirectly, e.g. `series.index = [1, 2, 3]`.\n"}, "kind": 2, "label": "_set_axis", "sortText": "424"}, {"detail": "bound method DataFrame._set_axis_name(name, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, inplace: bool = False, copy: bool | None = True) -> Unknown", "documentation": {"kind": "plaintext", "value": "Set the name(s) of the axis.\n\nParameters\n----------\nname : str or list of str\n Name(s) to set.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to set the label. The value 0 or 'index' specifies index,\n and the value 1 or 'columns' specifies columns.\ninplace : bool, default False\n If `True`, do operation inplace and return None.\ncopy:\n Whether to make a copy of the result.\n\nReturns\n-------\nSeries, DataFrame, or None\n The same type as the caller or `None` if `inplace` is `True`.\n\nSee Also\n--------\nDataFrame.rename : Alter the axis labels of :class:`DataFrame`.\nSeries.rename : Alter the index labels or set the index name\n of :class:`Series`.\nIndex.rename : Set the name of :class:`Index` or :class:`MultiIndex`.\n\nExamples\n--------\n>>> df = pd.DataFrame({\"num_legs\": [4, 4, 2]},\n... [\"dog\", \"cat\", \"monkey\"])\n>>> df\n num_legs\ndog 4\ncat 4\nmonkey 2\n>>> df._set_axis_name(\"animal\")\n num_legs\nanimal\ndog 4\ncat 4\nmonkey 2\n>>> df.index = pd.MultiIndex.from_product(\n... [[\"mammal\"], ['dog', 'cat', 'monkey']])\n>>> df._set_axis_name([\"type\", \"name\"])\n num_legs\ntype name\nmammal dog 4\n cat 4\n monkey 2\n"}, "kind": 2, "label": "_set_axis_name", "sortText": "425"}, {"detail": "bound method DataFrame._set_axis_nocheck(labels, axis: int | Literal[\"index\", \"columns\", \"rows\"], inplace: bool, copy: bool | None) -> Unknown", "kind": 2, "label": "_set_axis_nocheck", "sortText": "426"}, {"detail": "bound method DataFrame._set_is_copy(ref: NDFrame, copy: bool = True) -> None", "kind": 2, "label": "_set_is_copy", "sortText": "427"}, {"detail": "bound method DataFrame._set_item(key, value) -> None", "documentation": {"kind": "plaintext", "value": "Add series to DataFrame in specified column.\n\nIf series is a numpy-array (not a Series/TimeSeries), it must be the\nsame length as the DataFrames index or an error will be thrown.\n\nSeries/TimeSeries will be conformed to the DataFrames index to\nensure homogeneity.\n"}, "kind": 2, "label": "_set_item", "sortText": "428"}, {"detail": "bound method DataFrame._set_item_frame_value(key, value: DataFrame) -> None", "kind": 2, "label": "_set_item_frame_value", "sortText": "429"}, {"detail": "bound method DataFrame._set_item_mgr(key, value: ExtensionArray | ndarray[_AnyShape, dtype[Any]], refs: BlockValuesRefs | None = None) -> None", "kind": 2, "label": "_set_item_mgr", "sortText": "430"}, {"detail": "bound method DataFrame._set_value(index: Hashable | Sequence[Hashable], col, value: str | float | Period | ... omitted 5 union elements, takeable: bool = False) -> None", "documentation": {"kind": "plaintext", "value": "Put single value at passed column and index.\n\nParameters\n----------\nindex : Label\n row label\ncol : Label\n column label\nvalue : scalar\ntakeable : bool, default False\n Sets whether or not index/col interpreted as indexers\n"}, "kind": 2, "label": "_set_value", "sortText": "431"}, {"detail": "bound method DataFrame._setitem_array(key, value) -> Unknown", "kind": 2, "label": "_setitem_array", "sortText": "432"}, {"detail": "bound method DataFrame._setitem_frame(key, value) -> Unknown", "kind": 2, "label": "_setitem_frame", "sortText": "433"}, {"detail": "bound method DataFrame._setitem_slice(key: slice[Any, Any, Any], value) -> None", "kind": 2, "label": "_setitem_slice", "sortText": "434"}, {"detail": "bound method DataFrame._shift_with_freq(periods: int, axis: int, freq) -> DataFrame", "kind": 2, "label": "_shift_with_freq", "sortText": "435"}, {"detail": "bound method DataFrame._should_reindex_frame_op(right, op, axis: int, fill_value, level) -> bool", "documentation": {"kind": "plaintext", "value": "Check if this is an operation between DataFrames that will need to reindex.\n"}, "kind": 2, "label": "_should_reindex_frame_op", "sortText": "436"}, {"detail": "bound method DataFrame._slice(slobj: slice[Any, Any, Any], axis: int = 0) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Construct a slice of this container.\n\nSlicing with this method is *always* positional.\n"}, "kind": 2, "label": "_slice", "sortText": "437"}, {"detail": "bound method DataFrame._stat_function(name: str, func, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "_stat_function", "sortText": "438"}, {"detail": "bound method DataFrame._stat_function_ddof(name: str, func, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None | _NoDefault = ..., skipna: bool = True, ddof: int = 1, numeric_only: bool = False, **kwargs) -> Series | float", "kind": 2, "label": "_stat_function_ddof", "sortText": "439"}, {"detail": "bound method DataFrame._take_with_is_copy(indices, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Internal version of the `take` method that sets the `_is_copy`\nattribute to keep track of the parent dataframe (using in indexing\nfor the SettingWithCopyWarning).\n\nFor Series this does the same as the public take (it never sets `_is_copy`).\n\nSee the docstring of `take` for full explanation of the parameters.\n"}, "kind": 2, "label": "_take_with_is_copy", "sortText": "440"}, {"detail": "bound method DataFrame._to_dict_of_blocks() -> Unknown", "documentation": {"kind": "plaintext", "value": "Return a dict of dtype -> Constructor Types that\neach is a homogeneous dtype.\n\nInternal ONLY - only works for BlockManager\n"}, "kind": 2, "label": "_to_dict_of_blocks", "sortText": "441"}, {"detail": "bound method DataFrame._to_latex_via_styler(buf=None, *, hide: dict[Unknown, Unknown] | list[dict[Unknown, Unknown]] | None = None, relabel_index: dict[Unknown, Unknown] | list[dict[Unknown, Unknown]] | None = None, format: dict[Unknown, Unknown] | list[dict[Unknown, Unknown]] | None = None, format_index: dict[Unknown, Unknown] | list[dict[Unknown, Unknown]] | None = None, render_kwargs: dict[Unknown, Unknown] | None = None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Render object to a LaTeX tabular, longtable, or nested table.\n\nUses the ``Styler`` implementation with the following, ordered, method chaining:\n\n.. code-block:: python\n styler = Styler(DataFrame)\n styler.hide(**hide)\n styler.relabel_index(**relabel_index)\n styler.format(**format)\n styler.format_index(**format_index)\n styler.to_latex(buf=buf, **render_kwargs)\n\nParameters\n----------\nbuf : str, Path or StringIO-like, optional, default None\n Buffer to write to. If None, the output is returned as a string.\nhide : dict, list of dict\n Keyword args to pass to the method call of ``Styler.hide``. If a list will\n call the method numerous times.\nrelabel_index : dict, list of dict\n Keyword args to pass to the method of ``Styler.relabel_index``. If a list\n will call the method numerous times.\nformat : dict, list of dict\n Keyword args to pass to the method call of ``Styler.format``. If a list will\n call the method numerous times.\nformat_index : dict, list of dict\n Keyword args to pass to the method call of ``Styler.format_index``. If a\n list will call the method numerous times.\nrender_kwargs : dict\n Keyword args to pass to the method call of ``Styler.to_latex``.\n\nReturns\n-------\nstr or None\n If buf is None, returns the result as a string. Otherwise returns None.\n"}, "kind": 2, "label": "_to_latex_via_styler", "sortText": "442"}, {"detail": "str", "documentation": {"kind": "plaintext", "value": "str(object='') -> str\nstr(bytes_or_buffer[, encoding[, errors]]) -> str\n\nCreate a new string object from the given object. If encoding or\nerrors is specified, then the object must expose a data buffer\nthat will be decoded using the given encoding and error handler.\nOtherwise, returns the result of object.__str__() (if defined)\nor repr(object).\nencoding defaults to 'utf-8'.\nerrors defaults to 'strict'.\n"}, "kind": 22, "label": "_typ", "sortText": "443"}, {"detail": "bound method DataFrame._update_inplace(result, verify_is_copy: bool = True) -> None", "documentation": {"kind": "plaintext", "value": "Replace self internals with result.\n\nParameters\n----------\nresult : same type as self\nverify_is_copy : bool, default True\n Provide is_copy checks.\n"}, "kind": 2, "label": "_update_inplace", "sortText": "444"}, {"detail": "bound method type[DataFrame]._validate_dtype(dtype) -> dtype[Any] | ExtensionDtype | None", "documentation": {"kind": "plaintext", "value": "validate the passed dtype\n"}, "kind": 2, "label": "_validate_dtype", "sortText": "445"}, {"detail": "ndarray[_AnyShape, dtype[Any]] | DatetimeArray | TimedeltaArray | PeriodArray", "kind": 22, "label": "_values", "sortText": "446"}, {"detail": "bound method DataFrame._where(cond, other=..., inplace: bool = False, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, level=None, warn: bool = True) -> Unknown", "documentation": {"kind": "plaintext", "value": "Equivalent to public method `where`, except that `other` is not\napplied as a function even if callable. Used in __setitem__.\n"}, "kind": 2, "label": "_where", "sortText": "447"}]}} +{"suite": "pandas", "label": "edit dataframe then complete (edit+completion)", "method": "textDocument/completion", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py", "line": 17, "character": 39, "iteration": 5, "result": {"isIncomplete": true, "items": [{"detail": "DataFrame", "documentation": {"kind": "plaintext", "value": "Two-dimensional, size-mutable, potentially heterogeneous tabular data.\n\nData structure also contains labeled axes (rows and columns).\nArithmetic operations align on both row and column labels. Can be\nthought of as a dict-like container for Series objects. The primary\npandas data structure.\n\nParameters\n----------\ndata : ndarray (structured or homogeneous), Iterable, dict, or DataFrame\n Dict can contain Series, arrays, constants, dataclass or list-like objects. If\n data is a dict, column order follows insertion-order. If a dict contains Series\n which have an index defined, it is aligned by its index. This alignment also\n occurs if data is a Series or a DataFrame itself. Alignment is done on\n Series/DataFrame inputs.\n\n If data is a list of dicts, column order follows insertion-order.\n\nindex : Index or array-like\n Index to use for resulting frame. Will default to RangeIndex if\n no indexing information part of input data and no index provided.\ncolumns : Index or array-like\n Column labels to use for resulting frame when data does not have them,\n defaulting to RangeIndex(0, 1, 2, ..., n). If data contains column labels,\n will perform column selection instead.\ndtype : dtype, default None\n Data type to force. Only a single dtype is allowed. If None, infer.\ncopy : bool or None, default None\n Copy data from inputs.\n For dict data, the default of None behaves like ``copy=True``. For DataFrame\n or 2d ndarray input, the default of None behaves like ``copy=False``.\n If data is a dict containing one or more Series (possibly of different dtypes),\n ``copy=False`` will ensure that these inputs are not copied.\n\n .. versionchanged:: 1.3.0\n\nSee Also\n--------\nDataFrame.from_records : Constructor from tuples, also record arrays.\nDataFrame.from_dict : From dicts of Series, arrays, or dicts.\nread_csv : Read a comma-separated values (csv) file into DataFrame.\nread_table : Read general delimited file into DataFrame.\nread_clipboard : Read text from clipboard into DataFrame.\n\nNotes\n-----\nPlease reference the :ref:`User Guide ` for more information.\n\nExamples\n--------\nConstructing DataFrame from a dictionary.\n\n>>> d = {'col1': [1, 2], 'col2': [3, 4]}\n>>> df = pd.DataFrame(data=d)\n>>> df\n col1 col2\n0 1 3\n1 2 4\n\nNotice that the inferred dtype is int64.\n\n>>> df.dtypes\ncol1 int64\ncol2 int64\ndtype: object\n\nTo enforce a single dtype:\n\n>>> df = pd.DataFrame(data=d, dtype=np.int8)\n>>> df.dtypes\ncol1 int8\ncol2 int8\ndtype: object\n\nConstructing DataFrame from a dictionary including Series:\n\n>>> d = {'col1': [0, 1, 2, 3], 'col2': pd.Series([2, 3], index=[2, 3])}\n>>> pd.DataFrame(data=d, index=[0, 1, 2, 3])\n col1 col2\n0 0 NaN\n1 1 NaN\n2 2 2.0\n3 3 3.0\n\nConstructing DataFrame from numpy ndarray:\n\n>>> df2 = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]),\n... columns=['a', 'b', 'c'])\n>>> df2\n a b c\n0 1 2 3\n1 4 5 6\n2 7 8 9\n\nConstructing DataFrame from a numpy ndarray that has labeled columns:\n\n>>> data = np.array([(1, 2, 3), (4, 5, 6), (7, 8, 9)],\n... dtype=[(\"a\", \"i4\"), (\"b\", \"i4\"), (\"c\", \"i4\")])\n>>> df3 = pd.DataFrame(data, columns=['c', 'a'])\n...\n>>> df3\n c a\n0 3 1\n1 6 4\n2 9 7\n\nConstructing DataFrame from dataclass:\n\n>>> from dataclasses import make_dataclass\n>>> Point = make_dataclass(\"Point\", [(\"x\", int), (\"y\", int)])\n>>> pd.DataFrame([Point(0, 0), Point(0, 3), Point(2, 3)])\n x y\n0 0 0\n1 0 3\n2 2 3\n\nConstructing DataFrame from Series/DataFrame:\n\n>>> ser = pd.Series([1, 2, 3], index=[\"a\", \"b\", \"c\"])\n>>> df = pd.DataFrame(data=ser, index=[\"a\", \"c\"])\n>>> df\n 0\na 1\nc 3\n\n>>> df1 = pd.DataFrame([1, 2, 3], index=[\"a\", \"b\", \"c\"], columns=[\"x\"])\n>>> df2 = pd.DataFrame(data=df1, index=[\"a\", \"c\"])\n>>> df2\n x\na 1\nc 3\n"}, "kind": 22, "label": "T", "sortText": " 0"}, {"detail": "bound method DataFrame.abs() -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return a Series/DataFrame with absolute numeric value of each element.\n\nThis function only applies to elements that are all numeric.\n\nReturns\n-------\nabs\n Series/DataFrame containing the absolute value of each element.\n\nSee Also\n--------\nnumpy.absolute : Calculate the absolute value element-wise.\n\nNotes\n-----\nFor ``complex`` inputs, ``1.2 + 1j``, the absolute value is\n:math:`\\sqrt{ a^2 + b^2 }`.\n\nExamples\n--------\nAbsolute numeric values in a Series.\n\n>>> s = pd.Series([-1.10, 2, -3.33, 4])\n>>> s.abs()\n0 1.10\n1 2.00\n2 3.33\n3 4.00\ndtype: float64\n\nAbsolute numeric values in a Series with complex numbers.\n\n>>> s = pd.Series([1.2 + 1j])\n>>> s.abs()\n0 1.56205\ndtype: float64\n\nAbsolute numeric values in a Series with a Timedelta element.\n\n>>> s = pd.Series([pd.Timedelta('1 days')])\n>>> s.abs()\n0 1 days\ndtype: timedelta64[ns]\n\nSelect rows with data closest to certain value using argsort (from\n`StackOverflow `__).\n\n>>> df = pd.DataFrame({\n... 'a': [4, 5, 6, 7],\n... 'b': [10, 20, 30, 40],\n... 'c': [100, 50, -30, -50]\n... })\n>>> df\n a b c\n0 4 10 100\n1 5 20 50\n2 6 30 -30\n3 7 40 -50\n>>> df.loc[(df.c - 43).abs().argsort()]\n a b c\n1 5 20 50\n0 4 10 100\n2 6 30 -30\n3 7 40 -50\n"}, "kind": 2, "label": "abs", "sortText": " 1"}, {"detail": "bound method DataFrame.add(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "add", "sortText": " 2"}, {"detail": "bound method DataFrame.add_prefix(prefix: str, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Prefix labels with string `prefix`.\n\nFor Series, the row labels are prefixed.\nFor DataFrame, the column labels are prefixed.\n\nParameters\n----------\nprefix : str\n The string to add before each label.\naxis : {0 or 'index', 1 or 'columns', None}, default None\n Axis to add prefix on\n\n .. versionadded:: 2.0.0\n\nReturns\n-------\nSeries or DataFrame\n New Series or DataFrame with updated labels.\n\nSee Also\n--------\nSeries.add_suffix: Suffix row labels with string `suffix`.\nDataFrame.add_suffix: Suffix column labels with string `suffix`.\n\nExamples\n--------\n>>> s = pd.Series([1, 2, 3, 4])\n>>> s\n0 1\n1 2\n2 3\n3 4\ndtype: int64\n\n>>> s.add_prefix('item_')\nitem_0 1\nitem_1 2\nitem_2 3\nitem_3 4\ndtype: int64\n\n>>> df = pd.DataFrame({'A': [1, 2, 3, 4], 'B': [3, 4, 5, 6]})\n>>> df\n A B\n0 1 3\n1 2 4\n2 3 5\n3 4 6\n\n>>> df.add_prefix('col_')\n col_A col_B\n0 1 3\n1 2 4\n2 3 5\n3 4 6\n"}, "kind": 2, "label": "add_prefix", "sortText": " 3"}, {"detail": "bound method DataFrame.add_suffix(suffix: str, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Suffix labels with string `suffix`.\n\nFor Series, the row labels are suffixed.\nFor DataFrame, the column labels are suffixed.\n\nParameters\n----------\nsuffix : str\n The string to add after each label.\naxis : {0 or 'index', 1 or 'columns', None}, default None\n Axis to add suffix on\n\n .. versionadded:: 2.0.0\n\nReturns\n-------\nSeries or DataFrame\n New Series or DataFrame with updated labels.\n\nSee Also\n--------\nSeries.add_prefix: Prefix row labels with string `prefix`.\nDataFrame.add_prefix: Prefix column labels with string `prefix`.\n\nExamples\n--------\n>>> s = pd.Series([1, 2, 3, 4])\n>>> s\n0 1\n1 2\n2 3\n3 4\ndtype: int64\n\n>>> s.add_suffix('_item')\n0_item 1\n1_item 2\n2_item 3\n3_item 4\ndtype: int64\n\n>>> df = pd.DataFrame({'A': [1, 2, 3, 4], 'B': [3, 4, 5, 6]})\n>>> df\n A B\n0 1 3\n1 2 4\n2 3 5\n3 4 6\n\n>>> df.add_suffix('_col')\n A_col B_col\n0 1 3\n1 2 4\n2 3 5\n3 4 6\n"}, "kind": 2, "label": "add_suffix", "sortText": " 4"}, {"detail": "(func=None, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, *args, **kwargs) -> Unknown", "kind": 2, "label": "agg", "sortText": " 5"}, {"detail": "bound method DataFrame.aggregate(func=None, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, *args, **kwargs) -> Unknown", "kind": 2, "label": "aggregate", "sortText": " 6"}, {"detail": "bound method DataFrame.align[NDFrameT](other: NDFrameT, join: Literal[\"outer\", \"inner\", \"left\", \"right\"] = \"outer\", axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, level: Hashable = None, copy: bool | None = None, fill_value: Hashable = None, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None | _NoDefault = ..., limit: int | None | _NoDefault = ..., fill_axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., broadcast_axis: int | Literal[\"index\", \"columns\", \"rows\"] | None | _NoDefault = ...) -> tuple[DataFrame, NDFrameT]", "documentation": {"kind": "plaintext", "value": "Align two objects on their axes with the specified join method.\n\nJoin method is specified for each axis Index.\n\nParameters\n----------\nother : DataFrame or Series\njoin : {{'outer', 'inner', 'left', 'right'}}, default 'outer'\n Type of alignment to be performed.\n\n * left: use only keys from left frame, preserve key order.\n * right: use only keys from right frame, preserve key order.\n * outer: use union of keys from both frames, sort keys lexicographically.\n * inner: use intersection of keys from both frames,\n preserve the order of the left keys.\n\naxis : allowed axis of the other object, default None\n Align on index (0), columns (1), or both (None).\nlevel : int or level name, default None\n Broadcast across a level, matching Index values on the\n passed MultiIndex level.\ncopy : bool, default True\n Always returns new objects. If copy=False and no reindexing is\n required then original objects are returned.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\nfill_value : scalar, default np.nan\n Value to use for missing values. Defaults to NaN, but can be any\n \"compatible\" value.\nmethod : {{'backfill', 'bfill', 'pad', 'ffill', None}}, default None\n Method to use for filling holes in reindexed Series:\n\n - pad / ffill: propagate last valid observation forward to next valid.\n - backfill / bfill: use NEXT valid observation to fill gap.\n\n .. deprecated:: 2.1\n\nlimit : int, default None\n If method is specified, this is the maximum number of consecutive\n NaN values to forward/backward fill. In other words, if there is\n a gap with more than this number of consecutive NaNs, it will only\n be partially filled. If method is not specified, this is the\n maximum number of entries along the entire axis where NaNs will be\n filled. Must be greater than 0 if not None.\n\n .. deprecated:: 2.1\n\nfill_axis : {axes_single_arg}, default 0\n Filling axis, method and limit.\n\n .. deprecated:: 2.1\n\nbroadcast_axis : {axes_single_arg}, default None\n Broadcast values along this axis, if aligning two objects of\n different dimensions.\n\n .. deprecated:: 2.1\n\nReturns\n-------\ntuple of ({klass}, type of other)\n Aligned objects.\n\nExamples\n--------\n>>> df = pd.DataFrame(\n... [[1, 2, 3, 4], [6, 7, 8, 9]], columns=[\"D\", \"B\", \"E\", \"A\"], index=[1, 2]\n... )\n>>> other = pd.DataFrame(\n... [[10, 20, 30, 40], [60, 70, 80, 90], [600, 700, 800, 900]],\n... columns=[\"A\", \"B\", \"C\", \"D\"],\n... index=[2, 3, 4],\n... )\n>>> df\n D B E A\n1 1 2 3 4\n2 6 7 8 9\n>>> other\n A B C D\n2 10 20 30 40\n3 60 70 80 90\n4 600 700 800 900\n\nAlign on columns:\n\n>>> left, right = df.align(other, join=\"outer\", axis=1)\n>>> left\n A B C D E\n1 4 2 NaN 1 3\n2 9 7 NaN 6 8\n>>> right\n A B C D E\n2 10 20 30 40 NaN\n3 60 70 80 90 NaN\n4 600 700 800 900 NaN\n\nWe can also align on the index:\n\n>>> left, right = df.align(other, join=\"outer\", axis=0)\n>>> left\n D B E A\n1 1.0 2.0 3.0 4.0\n2 6.0 7.0 8.0 9.0\n3 NaN NaN NaN NaN\n4 NaN NaN NaN NaN\n>>> right\n A B C D\n1 NaN NaN NaN NaN\n2 10.0 20.0 30.0 40.0\n3 60.0 70.0 80.0 90.0\n4 600.0 700.0 800.0 900.0\n\nFinally, the default `axis=None` will align on both index and columns:\n\n>>> left, right = df.align(other, join=\"outer\", axis=None)\n>>> left\n A B C D E\n1 4.0 2.0 NaN 1.0 3.0\n2 9.0 7.0 NaN 6.0 8.0\n3 NaN NaN NaN NaN NaN\n4 NaN NaN NaN NaN NaN\n>>> right\n A B C D E\n1 NaN NaN NaN NaN NaN\n2 10.0 20.0 30.0 40.0 NaN\n3 60.0 70.0 80.0 90.0 NaN\n4 600.0 700.0 800.0 900.0 NaN\n"}, "kind": 2, "label": "align", "sortText": " 7"}, {"detail": "bound method DataFrame.all(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, bool_only: bool = False, skipna: bool = True, **kwargs) -> Series | bool", "kind": 2, "label": "all", "sortText": " 8"}, {"detail": "bound method DataFrame.any(*, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, bool_only: bool = False, skipna: bool = True, **kwargs) -> Series | bool", "kind": 2, "label": "any", "sortText": " 9"}, {"detail": "bound method DataFrame.apply(func: ((...) -> Unknown) | str | list[((...) -> Unknown) | str] | MutableMapping[Hashable, ((...) -> Unknown) | str | list[((...) -> Unknown) | str]], axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, raw: bool = False, result_type: Literal[\"expand\", \"reduce\", \"broadcast\"] | None = None, args=..., by_row: Literal[False, \"compat\"] = \"compat\", engine: Literal[\"python\", \"numba\"] = \"python\", engine_kwargs: dict[str, bool] | None = None, **kwargs) -> Unknown", "documentation": {"kind": "plaintext", "value": "Apply a function along an axis of the DataFrame.\n\nObjects passed to the function are Series objects whose index is\neither the DataFrame's index (``axis=0``) or the DataFrame's columns\n(``axis=1``). By default (``result_type=None``), the final return type\nis inferred from the return type of the applied function. Otherwise,\nit depends on the `result_type` argument.\n\nParameters\n----------\nfunc : function\n Function to apply to each column or row.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Axis along which the function is applied:\n\n * 0 or 'index': apply function to each column.\n * 1 or 'columns': apply function to each row.\n\nraw : bool, default False\n Determines if row or column is passed as a Series or ndarray object:\n\n * ``False`` : passes each row or column as a Series to the\n function.\n * ``True`` : the passed function will receive ndarray objects\n instead.\n If you are just applying a NumPy reduction function this will\n achieve much better performance.\n\nresult_type : {'expand', 'reduce', 'broadcast', None}, default None\n These only act when ``axis=1`` (columns):\n\n * 'expand' : list-like results will be turned into columns.\n * 'reduce' : returns a Series if possible rather than expanding\n list-like results. This is the opposite of 'expand'.\n * 'broadcast' : results will be broadcast to the original shape\n of the DataFrame, the original index and columns will be\n retained.\n\n The default behaviour (None) depends on the return value of the\n applied function: list-like results will be returned as a Series\n of those. However if the apply function returns a Series these\n are expanded to columns.\nargs : tuple\n Positional arguments to pass to `func` in addition to the\n array/series.\nby_row : False or \"compat\", default \"compat\"\n Only has an effect when ``func`` is a listlike or dictlike of funcs\n and the func isn't a string.\n If \"compat\", will if possible first translate the func into pandas\n methods (e.g. ``Series().apply(np.sum)`` will be translated to\n ``Series().sum()``). If that doesn't work, will try call to apply again with\n ``by_row=True`` and if that fails, will call apply again with\n ``by_row=False`` (backward compatible).\n If False, the funcs will be passed the whole Series at once.\n\n .. versionadded:: 2.1.0\n\nengine : {'python', 'numba'}, default 'python'\n Choose between the python (default) engine or the numba engine in apply.\n\n The numba engine will attempt to JIT compile the passed function,\n which may result in speedups for large DataFrames.\n It also supports the following engine_kwargs :\n\n - nopython (compile the function in nopython mode)\n - nogil (release the GIL inside the JIT compiled function)\n - parallel (try to apply the function in parallel over the DataFrame)\n\n Note: Due to limitations within numba/how pandas interfaces with numba,\n you should only use this if raw=True\n\n Note: The numba compiler only supports a subset of\n valid Python/numpy operations.\n\n Please read more about the `supported python features\n `_\n and `supported numpy features\n `_\n in numba to learn what you can or cannot use in the passed function.\n\n .. versionadded:: 2.2.0\n\nengine_kwargs : dict\n Pass keyword arguments to the engine.\n This is currently only used by the numba engine,\n see the documentation for the engine argument for more information.\n**kwargs\n Additional keyword arguments to pass as keywords arguments to\n `func`.\n\nReturns\n-------\nSeries or DataFrame\n Result of applying ``func`` along the given axis of the\n DataFrame.\n\nSee Also\n--------\nDataFrame.map: For elementwise operations.\nDataFrame.aggregate: Only perform aggregating type operations.\nDataFrame.transform: Only perform transforming type operations.\n\nNotes\n-----\nFunctions that mutate the passed object can produce unexpected\nbehavior or errors and are not supported. See :ref:`gotchas.udf-mutation`\nfor more details.\n\nExamples\n--------\n>>> df = pd.DataFrame([[4, 9]] * 3, columns=['A', 'B'])\n>>> df\n A B\n0 4 9\n1 4 9\n2 4 9\n\nUsing a numpy universal function (in this case the same as\n``np.sqrt(df)``):\n\n>>> df.apply(np.sqrt)\n A B\n0 2.0 3.0\n1 2.0 3.0\n2 2.0 3.0\n\nUsing a reducing function on either axis\n\n>>> df.apply(np.sum, axis=0)\nA 12\nB 27\ndtype: int64\n\n>>> df.apply(np.sum, axis=1)\n0 13\n1 13\n2 13\ndtype: int64\n\nReturning a list-like will result in a Series\n\n>>> df.apply(lambda x: [1, 2], axis=1)\n0 [1, 2]\n1 [1, 2]\n2 [1, 2]\ndtype: object\n\nPassing ``result_type='expand'`` will expand list-like results\nto columns of a Dataframe\n\n>>> df.apply(lambda x: [1, 2], axis=1, result_type='expand')\n 0 1\n0 1 2\n1 1 2\n2 1 2\n\nReturning a Series inside the function is similar to passing\n``result_type='expand'``. The resulting column names\nwill be the Series index.\n\n>>> df.apply(lambda x: pd.Series([1, 2], index=['foo', 'bar']), axis=1)\n foo bar\n0 1 2\n1 1 2\n2 1 2\n\nPassing ``result_type='broadcast'`` will ensure the same shape\nresult, whether list-like or scalar is returned by the function,\nand broadcast it along the axis. The resulting column names will\nbe the originals.\n\n>>> df.apply(lambda x: [1, 2], axis=1, result_type='broadcast')\n A B\n0 1 2\n1 1 2\n2 1 2\n"}, "kind": 2, "label": "apply", "sortText": " 10"}, {"detail": "bound method DataFrame.applymap(func: (Any, /) -> Any, na_action: Literal[\"ignore\"] | None = None, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Apply a function to a Dataframe elementwise.\n\n.. deprecated:: 2.1.0\n\n DataFrame.applymap has been deprecated. Use DataFrame.map instead.\n\nThis method applies a function that accepts and returns a scalar\nto every element of a DataFrame.\n\nParameters\n----------\nfunc : callable\n Python function, returns a single value from a single value.\nna_action : {None, 'ignore'}, default None\n If 'ignore', propagate NaN values, without passing them to func.\n**kwargs\n Additional keyword arguments to pass as keywords arguments to\n `func`.\n\nReturns\n-------\nDataFrame\n Transformed DataFrame.\n\nSee Also\n--------\nDataFrame.apply : Apply a function along input axis of DataFrame.\nDataFrame.map : Apply a function along input axis of DataFrame.\nDataFrame.replace: Replace values given in `to_replace` with `value`.\n\nExamples\n--------\n>>> df = pd.DataFrame([[1, 2.12], [3.356, 4.567]])\n>>> df\n 0 1\n0 1.000 2.120\n1 3.356 4.567\n\n>>> df.map(lambda x: len(str(x)))\n 0 1\n0 3 4\n1 5 5\n"}, "kind": 2, "label": "applymap", "sortText": " 11"}, {"detail": "bound method DataFrame.asfreq(freq: str | BaseOffset, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None = None, how: Literal[\"start\", \"end\"] | None = None, normalize: bool = False, fill_value: Hashable = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Convert time series to specified frequency.\n\nReturns the original data conformed to a new index with the specified\nfrequency.\n\nIf the index of this {klass} is a :class:`~pandas.PeriodIndex`, the new index\nis the result of transforming the original index with\n:meth:`PeriodIndex.asfreq ` (so the original index\nwill map one-to-one to the new index).\n\nOtherwise, the new index will be equivalent to ``pd.date_range(start, end,\nfreq=freq)`` where ``start`` and ``end`` are, respectively, the first and\nlast entries in the original index (see :func:`pandas.date_range`). The\nvalues corresponding to any timesteps in the new index which were not present\nin the original index will be null (``NaN``), unless a method for filling\nsuch unknowns is provided (see the ``method`` parameter below).\n\nThe :meth:`resample` method is more appropriate if an operation on each group of\ntimesteps (such as an aggregate) is necessary to represent the data at the new\nfrequency.\n\nParameters\n----------\nfreq : DateOffset or str\n Frequency DateOffset or string.\nmethod : {{'backfill'/'bfill', 'pad'/'ffill'}}, default None\n Method to use for filling holes in reindexed Series (note this\n does not fill NaNs that already were present):\n\n * 'pad' / 'ffill': propagate last valid observation forward to next\n valid\n * 'backfill' / 'bfill': use NEXT valid observation to fill.\nhow : {{'start', 'end'}}, default end\n For PeriodIndex only (see PeriodIndex.asfreq).\nnormalize : bool, default False\n Whether to reset output index to midnight.\nfill_value : scalar, optional\n Value to use for missing values, applied during upsampling (note\n this does not fill NaNs that already were present).\n\nReturns\n-------\n{klass}\n {klass} object reindexed to the specified frequency.\n\nSee Also\n--------\nreindex : Conform DataFrame to new index with optional filling logic.\n\nNotes\n-----\nTo learn more about the frequency strings, please see `this link\n`__.\n\nExamples\n--------\nStart by creating a series with 4 one minute timestamps.\n\n>>> index = pd.date_range('1/1/2000', periods=4, freq='min')\n>>> series = pd.Series([0.0, None, 2.0, 3.0], index=index)\n>>> df = pd.DataFrame({{'s': series}})\n>>> df\n s\n2000-01-01 00:00:00 0.0\n2000-01-01 00:01:00 NaN\n2000-01-01 00:02:00 2.0\n2000-01-01 00:03:00 3.0\n\nUpsample the series into 30 second bins.\n\n>>> df.asfreq(freq='30s')\n s\n2000-01-01 00:00:00 0.0\n2000-01-01 00:00:30 NaN\n2000-01-01 00:01:00 NaN\n2000-01-01 00:01:30 NaN\n2000-01-01 00:02:00 2.0\n2000-01-01 00:02:30 NaN\n2000-01-01 00:03:00 3.0\n\nUpsample again, providing a ``fill value``.\n\n>>> df.asfreq(freq='30s', fill_value=9.0)\n s\n2000-01-01 00:00:00 0.0\n2000-01-01 00:00:30 9.0\n2000-01-01 00:01:00 NaN\n2000-01-01 00:01:30 9.0\n2000-01-01 00:02:00 2.0\n2000-01-01 00:02:30 9.0\n2000-01-01 00:03:00 3.0\n\nUpsample again, providing a ``method``.\n\n>>> df.asfreq(freq='30s', method='bfill')\n s\n2000-01-01 00:00:00 0.0\n2000-01-01 00:00:30 NaN\n2000-01-01 00:01:00 NaN\n2000-01-01 00:01:30 2.0\n2000-01-01 00:02:00 2.0\n2000-01-01 00:02:30 3.0\n2000-01-01 00:03:00 3.0\n"}, "kind": 2, "label": "asfreq", "sortText": " 12"}, {"detail": "bound method DataFrame.asof(where, subset=None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Return the last row(s) without any NaNs before `where`.\n\nThe last row (for each element in `where`, if list) without any\nNaN is taken.\nIn case of a :class:`~pandas.DataFrame`, the last row without NaN\nconsidering only the subset of columns (if not `None`)\n\nIf there is no good value, NaN is returned for a Series or\na Series of NaN values for a DataFrame\n\nParameters\n----------\nwhere : date or array-like of dates\n Date(s) before which the last row(s) are returned.\nsubset : str or array-like of str, default `None`\n For DataFrame, if not `None`, only use these columns to\n check for NaNs.\n\nReturns\n-------\nscalar, Series, or DataFrame\n\n The return can be:\n\n * scalar : when `self` is a Series and `where` is a scalar\n * Series: when `self` is a Series and `where` is an array-like,\n or when `self` is a DataFrame and `where` is a scalar\n * DataFrame : when `self` is a DataFrame and `where` is an\n array-like\n\nSee Also\n--------\nmerge_asof : Perform an asof merge. Similar to left join.\n\nNotes\n-----\nDates are assumed to be sorted. Raises if this is not the case.\n\nExamples\n--------\nA Series and a scalar `where`.\n\n>>> s = pd.Series([1, 2, np.nan, 4], index=[10, 20, 30, 40])\n>>> s\n10 1.0\n20 2.0\n30 NaN\n40 4.0\ndtype: float64\n\n>>> s.asof(20)\n2.0\n\nFor a sequence `where`, a Series is returned. The first value is\nNaN, because the first element of `where` is before the first\nindex value.\n\n>>> s.asof([5, 20])\n5 NaN\n20 2.0\ndtype: float64\n\nMissing values are not considered. The following is ``2.0``, not\nNaN, even though NaN is at the index location for ``30``.\n\n>>> s.asof(30)\n2.0\n\nTake all columns into consideration\n\n>>> df = pd.DataFrame({'a': [10., 20., 30., 40., 50.],\n... 'b': [None, None, None, None, 500]},\n... index=pd.DatetimeIndex(['2018-02-27 09:01:00',\n... '2018-02-27 09:02:00',\n... '2018-02-27 09:03:00',\n... '2018-02-27 09:04:00',\n... '2018-02-27 09:05:00']))\n>>> df.asof(pd.DatetimeIndex(['2018-02-27 09:03:30',\n... '2018-02-27 09:04:30']))\n a b\n2018-02-27 09:03:30 NaN NaN\n2018-02-27 09:04:30 NaN NaN\n\nTake a single column into consideration\n\n>>> df.asof(pd.DatetimeIndex(['2018-02-27 09:03:30',\n... '2018-02-27 09:04:30']),\n... subset=['a'])\n a b\n2018-02-27 09:03:30 30.0 NaN\n2018-02-27 09:04:30 40.0 NaN\n"}, "kind": 2, "label": "asof", "sortText": " 13"}, {"detail": "bound method DataFrame.assign(**kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Assign new columns to a DataFrame.\n\nReturns a new object with all original columns in addition to new ones.\nExisting columns that are re-assigned will be overwritten.\n\nParameters\n----------\n**kwargs : dict of {str: callable or Series}\n The column names are keywords. If the values are\n callable, they are computed on the DataFrame and\n assigned to the new columns. The callable must not\n change input DataFrame (though pandas doesn't check it).\n If the values are not callable, (e.g. a Series, scalar, or array),\n they are simply assigned.\n\nReturns\n-------\nDataFrame\n A new DataFrame with the new columns in addition to\n all the existing columns.\n\nNotes\n-----\nAssigning multiple columns within the same ``assign`` is possible.\nLater items in '\\*\\*kwargs' may refer to newly created or modified\ncolumns in 'df'; items are computed and assigned into 'df' in order.\n\nExamples\n--------\n>>> df = pd.DataFrame({'temp_c': [17.0, 25.0]},\n... index=['Portland', 'Berkeley'])\n>>> df\n temp_c\nPortland 17.0\nBerkeley 25.0\n\nWhere the value is a callable, evaluated on `df`:\n\n>>> df.assign(temp_f=lambda x: x.temp_c * 9 / 5 + 32)\n temp_c temp_f\nPortland 17.0 62.6\nBerkeley 25.0 77.0\n\nAlternatively, the same behavior can be achieved by directly\nreferencing an existing Series or sequence:\n\n>>> df.assign(temp_f=df['temp_c'] * 9 / 5 + 32)\n temp_c temp_f\nPortland 17.0 62.6\nBerkeley 25.0 77.0\n\nYou can create multiple columns within the same assign where one\nof the columns depends on another one defined within the same assign:\n\n>>> df.assign(temp_f=lambda x: x['temp_c'] * 9 / 5 + 32,\n... temp_k=lambda x: (x['temp_f'] + 459.67) * 5 / 9)\n temp_c temp_f temp_k\nPortland 17.0 62.6 290.15\nBerkeley 25.0 77.0 298.15\n"}, "kind": 2, "label": "assign", "sortText": " 14"}, {"detail": "bound method DataFrame.astype(dtype, copy: bool | None = None, errors: Literal[\"ignore\", \"raise\"] = \"raise\") -> DataFrame", "documentation": {"kind": "plaintext", "value": "Cast a pandas object to a specified dtype ``dtype``.\n\nParameters\n----------\ndtype : str, data type, Series or Mapping of column name -> data type\n Use a str, numpy.dtype, pandas.ExtensionDtype or Python type to\n cast entire pandas object to the same type. Alternatively, use a\n mapping, e.g. {col: dtype, ...}, where col is a column label and dtype is\n a numpy.dtype or Python type to cast one or more of the DataFrame's\n columns to column-specific types.\ncopy : bool, default True\n Return a copy when ``copy=True`` (be very careful setting\n ``copy=False`` as changes to values then may propagate to other\n pandas objects).\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\nerrors : {'raise', 'ignore'}, default 'raise'\n Control raising of exceptions on invalid data for provided dtype.\n\n - ``raise`` : allow exceptions to be raised\n - ``ignore`` : suppress exceptions. On error return original object.\n\nReturns\n-------\nsame type as caller\n\nSee Also\n--------\nto_datetime : Convert argument to datetime.\nto_timedelta : Convert argument to timedelta.\nto_numeric : Convert argument to a numeric type.\nnumpy.ndarray.astype : Cast a numpy array to a specified type.\n\nNotes\n-----\n.. versionchanged:: 2.0.0\n\n Using ``astype`` to convert from timezone-naive dtype to\n timezone-aware dtype will raise an exception.\n Use :meth:`Series.dt.tz_localize` instead.\n\nExamples\n--------\nCreate a DataFrame:\n\n>>> d = {'col1': [1, 2], 'col2': [3, 4]}\n>>> df = pd.DataFrame(data=d)\n>>> df.dtypes\ncol1 int64\ncol2 int64\ndtype: object\n\nCast all columns to int32:\n\n>>> df.astype('int32').dtypes\ncol1 int32\ncol2 int32\ndtype: object\n\nCast col1 to int32 using a dictionary:\n\n>>> df.astype({'col1': 'int32'}).dtypes\ncol1 int32\ncol2 int64\ndtype: object\n\nCreate a series:\n\n>>> ser = pd.Series([1, 2], dtype='int32')\n>>> ser\n0 1\n1 2\ndtype: int32\n>>> ser.astype('int64')\n0 1\n1 2\ndtype: int64\n\nConvert to categorical type:\n\n>>> ser.astype('category')\n0 1\n1 2\ndtype: category\nCategories (2, int32): [1, 2]\n\nConvert to ordered categorical type with custom ordering:\n\n>>> from pandas.api.types import CategoricalDtype\n>>> cat_dtype = CategoricalDtype(\n... categories=[2, 1], ordered=True)\n>>> ser.astype(cat_dtype)\n0 1\n1 2\ndtype: category\nCategories (2, int64): [2 < 1]\n\nCreate a series of dates:\n\n>>> ser_date = pd.Series(pd.date_range('20200101', periods=3))\n>>> ser_date\n0 2020-01-01\n1 2020-01-02\n2 2020-01-03\ndtype: datetime64[ns]\n"}, "kind": 2, "label": "astype", "sortText": " 15"}, {"detail": "_AtIndexer", "kind": 22, "label": "at", "sortText": " 16"}, {"detail": "bound method DataFrame.at_time(time, asof: bool = False, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Select values at particular time of day (e.g., 9:30AM).\n\nParameters\n----------\ntime : datetime.time or str\n The values to select.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n For `Series` this parameter is unused and defaults to 0.\n\nReturns\n-------\nSeries or DataFrame\n\nRaises\n------\nTypeError\n If the index is not a :class:`DatetimeIndex`\n\nSee Also\n--------\nbetween_time : Select values between particular times of the day.\nfirst : Select initial periods of time series based on a date offset.\nlast : Select final periods of time series based on a date offset.\nDatetimeIndex.indexer_at_time : Get just the index locations for\n values at particular time of the day.\n\nExamples\n--------\n>>> i = pd.date_range('2018-04-09', periods=4, freq='12h')\n>>> ts = pd.DataFrame({'A': [1, 2, 3, 4]}, index=i)\n>>> ts\n A\n2018-04-09 00:00:00 1\n2018-04-09 12:00:00 2\n2018-04-10 00:00:00 3\n2018-04-10 12:00:00 4\n\n>>> ts.at_time('12:00')\n A\n2018-04-09 12:00:00 2\n2018-04-10 12:00:00 4\n"}, "kind": 2, "label": "at_time", "sortText": " 17"}, {"detail": "dict[Hashable, Any]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "attrs", "sortText": " 18"}, {"detail": "list[Index]", "documentation": {"kind": "plaintext", "value": "Built-in mutable sequence.\n\nIf no argument is given, the constructor creates a new empty list.\nThe argument must be an iterable if specified.\n"}, "kind": 22, "label": "axes", "sortText": " 19"}, {"detail": "bound method DataFrame.backfill(*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = None, inplace: bool = False, limit: None | int = None, downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame | None", "documentation": {"kind": "plaintext", "value": "Fill NA/NaN values by using the next valid observation to fill the gap.\n\n.. deprecated:: 2.0\n\n {klass}.backfill is deprecated. Use {klass}.bfill instead.\n\nReturns\n-------\n{klass} or None\n Object with missing values filled or None if ``inplace=True``.\n\nExamples\n--------\nPlease see examples for :meth:`DataFrame.bfill` or :meth:`Series.bfill`.\n"}, "kind": 2, "label": "backfill", "sortText": " 20"}, {"detail": "bound method DataFrame.between_time(start_time, end_time, inclusive: Literal[\"left\", \"right\", \"both\", \"neither\"] = \"both\", axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Select values between particular times of the day (e.g., 9:00-9:30 AM).\n\nBy setting ``start_time`` to be later than ``end_time``,\nyou can get the times that are *not* between the two times.\n\nParameters\n----------\nstart_time : datetime.time or str\n Initial time as a time filter limit.\nend_time : datetime.time or str\n End time as a time filter limit.\ninclusive : {\"both\", \"neither\", \"left\", \"right\"}, default \"both\"\n Include boundaries; whether to set each bound as closed or open.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Determine range time on index or columns value.\n For `Series` this parameter is unused and defaults to 0.\n\nReturns\n-------\nSeries or DataFrame\n Data from the original object filtered to the specified dates range.\n\nRaises\n------\nTypeError\n If the index is not a :class:`DatetimeIndex`\n\nSee Also\n--------\nat_time : Select values at a particular time of the day.\nfirst : Select initial periods of time series based on a date offset.\nlast : Select final periods of time series based on a date offset.\nDatetimeIndex.indexer_between_time : Get just the index locations for\n values between particular times of the day.\n\nExamples\n--------\n>>> i = pd.date_range('2018-04-09', periods=4, freq='1D20min')\n>>> ts = pd.DataFrame({'A': [1, 2, 3, 4]}, index=i)\n>>> ts\n A\n2018-04-09 00:00:00 1\n2018-04-10 00:20:00 2\n2018-04-11 00:40:00 3\n2018-04-12 01:00:00 4\n\n>>> ts.between_time('0:15', '0:45')\n A\n2018-04-10 00:20:00 2\n2018-04-11 00:40:00 3\n\nYou get the times that are *not* between two times by setting\n``start_time`` later than ``end_time``:\n\n>>> ts.between_time('0:45', '0:15')\n A\n2018-04-09 00:00:00 1\n2018-04-12 01:00:00 4\n"}, "kind": 2, "label": "between_time", "sortText": " 21"}, {"detail": "Overload[(*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: Literal[False] = ..., limit: None | int = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame, (*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: Literal[True], limit: None | int = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> None, (*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: bool = ..., limit: None | int = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Fill NA/NaN values by using the next valid observation to fill the gap.\n\nParameters\n----------\naxis : {axes_single_arg}\n Axis along which to fill missing values. For `Series`\n this parameter is unused and defaults to 0.\ninplace : bool, default False\n If True, fill in-place. Note: this will modify any\n other views on this object (e.g., a no-copy slice for a column in a\n DataFrame).\nlimit : int, default None\n If method is specified, this is the maximum number of consecutive\n NaN values to forward/backward fill. In other words, if there is\n a gap with more than this number of consecutive NaNs, it will only\n be partially filled. If method is not specified, this is the\n maximum number of entries along the entire axis where NaNs will be\n filled. Must be greater than 0 if not None.\nlimit_area : {{`None`, 'inside', 'outside'}}, default None\n If limit is specified, consecutive NaNs will be filled with this\n restriction.\n\n * ``None``: No fill restriction.\n * 'inside': Only fill NaNs surrounded by valid values\n (interpolate).\n * 'outside': Only fill NaNs outside valid values (extrapolate).\n\n .. versionadded:: 2.2.0\n\ndowncast : dict, default is None\n A dict of item->dtype of what to downcast if possible,\n or the string 'infer' which will try to downcast to an appropriate\n equal type (e.g. float64 to int64 if possible).\n\n .. deprecated:: 2.2.0\n\nReturns\n-------\n{klass} or None\n Object with missing values filled or None if ``inplace=True``.\n\nExamples\n--------\nFor Series:\n\n>>> s = pd.Series([1, None, None, 2])\n>>> s.bfill()\n0 1.0\n1 2.0\n2 2.0\n3 2.0\ndtype: float64\n>>> s.bfill(limit=1)\n0 1.0\n1 NaN\n2 2.0\n3 2.0\ndtype: float64\n\nWith DataFrame:\n\n>>> df = pd.DataFrame({{'A': [1, None, None, 4], 'B': [None, 5, None, 7]}})\n>>> df\n A B\n0 1.0 NaN\n1 NaN 5.0\n2 NaN NaN\n3 4.0 7.0\n>>> df.bfill()\n A B\n0 1.0 5.0\n1 4.0 5.0\n2 4.0 7.0\n3 4.0 7.0\n>>> df.bfill(limit=1)\n A B\n0 1.0 5.0\n1 NaN 5.0\n2 4.0 7.0\n3 4.0 7.0\n"}, "kind": 2, "label": "bfill", "sortText": " 22"}, {"detail": "bound method DataFrame.bool() -> bool", "documentation": {"kind": "plaintext", "value": "Return the bool of a single element Series or DataFrame.\n\n.. deprecated:: 2.1.0\n\n bool is deprecated and will be removed in future version of pandas.\n For ``Series`` use ``pandas.Series.item``.\n\nThis must be a boolean scalar value, either True or False. It will raise a\nValueError if the Series or DataFrame does not have exactly 1 element, or that\nelement is not boolean (integer values 0 and 1 will also raise an exception).\n\nReturns\n-------\nbool\n The value in the Series or DataFrame.\n\nSee Also\n--------\nSeries.astype : Change the data type of a Series, including to boolean.\nDataFrame.astype : Change the data type of a DataFrame, including to boolean.\nnumpy.bool_ : NumPy boolean data type, used by pandas for boolean values.\n\nExamples\n--------\nThe method will only work for single element objects with a boolean value:\n\n>>> pd.Series([True]).bool() # doctest: +SKIP\nTrue\n>>> pd.Series([False]).bool() # doctest: +SKIP\nFalse\n\n>>> pd.DataFrame({'col': [True]}).bool() # doctest: +SKIP\nTrue\n>>> pd.DataFrame({'col': [False]}).bool() # doctest: +SKIP\nFalse\n\nThis is an alternative method and will only work\nfor single element objects with a boolean value:\n\n>>> pd.Series([True]).item() # doctest: +SKIP\nTrue\n>>> pd.Series([False]).item() # doctest: +SKIP\nFalse\n"}, "kind": 2, "label": "bool", "sortText": " 23"}, {"detail": "(column=None, by=None, ax=None, fontsize: int | None = None, rot: int = 0, grid: bool = True, figsize: tuple[float, float] | None = None, layout=None, return_type=None, backend=None, **kwargs) -> Unknown", "kind": 2, "label": "boxplot", "sortText": " 24"}, {"detail": "Overload[(lower=..., upper=..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: Literal[False] = ..., **kwargs) -> DataFrame, (lower=..., upper=..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: Literal[True], **kwargs) -> None, (lower=..., upper=..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: bool = ..., **kwargs) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Trim values at input threshold(s).\n\nAssigns values outside boundary to boundary values. Thresholds\ncan be singular values or array like, and in the latter case\nthe clipping is performed element-wise in the specified axis.\n\nParameters\n----------\nlower : float or array-like, default None\n Minimum threshold value. All values below this\n threshold will be set to it. A missing\n threshold (e.g `NA`) will not clip the value.\nupper : float or array-like, default None\n Maximum threshold value. All values above this\n threshold will be set to it. A missing\n threshold (e.g `NA`) will not clip the value.\naxis : {{0 or 'index', 1 or 'columns', None}}, default None\n Align object with lower and upper along the given axis.\n For `Series` this parameter is unused and defaults to `None`.\ninplace : bool, default False\n Whether to perform the operation in place on the data.\n*args, **kwargs\n Additional keywords have no effect but might be accepted\n for compatibility with numpy.\n\nReturns\n-------\nSeries or DataFrame or None\n Same type as calling object with the values outside the\n clip boundaries replaced or None if ``inplace=True``.\n\nSee Also\n--------\nSeries.clip : Trim values at input threshold in series.\nDataFrame.clip : Trim values at input threshold in dataframe.\nnumpy.clip : Clip (limit) the values in an array.\n\nExamples\n--------\n>>> data = {'col_0': [9, -3, 0, -1, 5], 'col_1': [-2, -7, 6, 8, -5]}\n>>> df = pd.DataFrame(data)\n>>> df\n col_0 col_1\n0 9 -2\n1 -3 -7\n2 0 6\n3 -1 8\n4 5 -5\n\nClips per column using lower and upper thresholds:\n\n>>> df.clip(-4, 6)\n col_0 col_1\n0 6 -2\n1 -3 -4\n2 0 6\n3 -1 6\n4 5 -4\n\nClips using specific lower and upper thresholds per column:\n\n>>> df.clip([-2, -1], [4, 5])\n col_0 col_1\n0 4 -1\n1 -2 -1\n2 0 5\n3 -1 5\n4 4 -1\n\nClips using specific lower and upper thresholds per column element:\n\n>>> t = pd.Series([2, -4, -1, 6, 3])\n>>> t\n0 2\n1 -4\n2 -1\n3 6\n4 3\ndtype: int64\n\n>>> df.clip(t, t + 4, axis=0)\n col_0 col_1\n0 6 2\n1 -3 -4\n2 0 3\n3 6 8\n4 5 3\n\nClips using specific lower threshold per column element, with missing values:\n\n>>> t = pd.Series([2, -4, np.nan, 6, 3])\n>>> t\n0 2.0\n1 -4.0\n2 NaN\n3 6.0\n4 3.0\ndtype: float64\n\n>>> df.clip(t, axis=0)\ncol_0 col_1\n0 9 2\n1 -3 -4\n2 0 6\n3 6 8\n4 5 3\n"}, "kind": 2, "label": "clip", "sortText": " 25"}, {"detail": "Index", "documentation": {"kind": "plaintext", "value": "Immutable sequence used for indexing and alignment.\n\nThe basic object storing axis labels for all pandas objects.\n\n.. versionchanged:: 2.0.0\n\n Index can hold all numpy numeric dtypes (except float16). Previously only\n int64/uint64/float64 dtypes were accepted.\n\nParameters\n----------\ndata : array-like (1-dimensional)\ndtype : str, numpy.dtype, or ExtensionDtype, optional\n Data type for the output Index. If not specified, this will be\n inferred from `data`.\n See the :ref:`user guide ` for more usages.\ncopy : bool, default False\n Copy input data.\nname : object\n Name to be stored in the index.\ntupleize_cols : bool (default: True)\n When True, attempt to create a MultiIndex if possible.\n\nSee Also\n--------\nRangeIndex : Index implementing a monotonic integer range.\nCategoricalIndex : Index of :class:`Categorical` s.\nMultiIndex : A multi-level, or hierarchical Index.\nIntervalIndex : An Index of :class:`Interval` s.\nDatetimeIndex : Index of datetime64 data.\nTimedeltaIndex : Index of timedelta64 data.\nPeriodIndex : Index of Period data.\n\nNotes\n-----\nAn Index instance can **only** contain hashable objects.\nAn Index instance *can not* hold numpy float16 dtype.\n\nExamples\n--------\n>>> pd.Index([1, 2, 3])\nIndex([1, 2, 3], dtype='int64')\n\n>>> pd.Index(list('abc'))\nIndex(['a', 'b', 'c'], dtype='object')\n\n>>> pd.Index([1, 2, 3], dtype=\"uint8\")\nIndex([1, 2, 3], dtype='uint8')\n"}, "kind": 22, "label": "columns", "sortText": " 26"}, {"detail": "bound method DataFrame.combine(other: DataFrame, func: (Series, Series, /) -> Series | Hashable, fill_value=None, overwrite: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Perform column-wise combine with another DataFrame.\n\nCombines a DataFrame with `other` DataFrame using `func`\nto element-wise combine columns. The row and column indexes of the\nresulting DataFrame will be the union of the two.\n\nParameters\n----------\nother : DataFrame\n The DataFrame to merge column-wise.\nfunc : function\n Function that takes two series as inputs and return a Series or a\n scalar. Used to merge the two dataframes column by columns.\nfill_value : scalar value, default None\n The value to fill NaNs with prior to passing any column to the\n merge func.\noverwrite : bool, default True\n If True, columns in `self` that do not exist in `other` will be\n overwritten with NaNs.\n\nReturns\n-------\nDataFrame\n Combination of the provided DataFrames.\n\nSee Also\n--------\nDataFrame.combine_first : Combine two DataFrame objects and default to\n non-null values in frame calling the method.\n\nExamples\n--------\nCombine using a simple function that chooses the smaller column.\n\n>>> df1 = pd.DataFrame({'A': [0, 0], 'B': [4, 4]})\n>>> df2 = pd.DataFrame({'A': [1, 1], 'B': [3, 3]})\n>>> take_smaller = lambda s1, s2: s1 if s1.sum() < s2.sum() else s2\n>>> df1.combine(df2, take_smaller)\n A B\n0 0 3\n1 0 3\n\nExample using a true element-wise combine function.\n\n>>> df1 = pd.DataFrame({'A': [5, 0], 'B': [2, 4]})\n>>> df2 = pd.DataFrame({'A': [1, 1], 'B': [3, 3]})\n>>> df1.combine(df2, np.minimum)\n A B\n0 1 2\n1 0 3\n\nUsing `fill_value` fills Nones prior to passing the column to the\nmerge function.\n\n>>> df1 = pd.DataFrame({'A': [0, 0], 'B': [None, 4]})\n>>> df2 = pd.DataFrame({'A': [1, 1], 'B': [3, 3]})\n>>> df1.combine(df2, take_smaller, fill_value=-5)\n A B\n0 0 -5.0\n1 0 4.0\n\nHowever, if the same element in both dataframes is None, that None\nis preserved\n\n>>> df1 = pd.DataFrame({'A': [0, 0], 'B': [None, 4]})\n>>> df2 = pd.DataFrame({'A': [1, 1], 'B': [None, 3]})\n>>> df1.combine(df2, take_smaller, fill_value=-5)\n A B\n0 0 -5.0\n1 0 3.0\n\nExample that demonstrates the use of `overwrite` and behavior when\nthe axis differ between the dataframes.\n\n>>> df1 = pd.DataFrame({'A': [0, 0], 'B': [4, 4]})\n>>> df2 = pd.DataFrame({'B': [3, 3], 'C': [-10, 1], }, index=[1, 2])\n>>> df1.combine(df2, take_smaller)\n A B C\n0 NaN NaN NaN\n1 NaN 3.0 -10.0\n2 NaN 3.0 1.0\n\n>>> df1.combine(df2, take_smaller, overwrite=False)\n A B C\n0 0.0 NaN NaN\n1 0.0 3.0 -10.0\n2 NaN 3.0 1.0\n\nDemonstrating the preference of the passed in dataframe.\n\n>>> df2 = pd.DataFrame({'B': [3, 3], 'C': [1, 1], }, index=[1, 2])\n>>> df2.combine(df1, take_smaller)\n A B C\n0 0.0 NaN NaN\n1 0.0 3.0 NaN\n2 NaN 3.0 NaN\n\n>>> df2.combine(df1, take_smaller, overwrite=False)\n A B C\n0 0.0 NaN NaN\n1 0.0 3.0 1.0\n2 NaN 3.0 1.0\n"}, "kind": 2, "label": "combine", "sortText": " 27"}, {"detail": "bound method DataFrame.combine_first(other: DataFrame) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Update null elements with value in the same location in `other`.\n\nCombine two DataFrame objects by filling null values in one DataFrame\nwith non-null values from other DataFrame. The row and column indexes\nof the resulting DataFrame will be the union of the two. The resulting\ndataframe contains the 'first' dataframe values and overrides the\nsecond one values where both first.loc[index, col] and\nsecond.loc[index, col] are not missing values, upon calling\nfirst.combine_first(second).\n\nParameters\n----------\nother : DataFrame\n Provided DataFrame to use to fill null values.\n\nReturns\n-------\nDataFrame\n The result of combining the provided DataFrame with the other object.\n\nSee Also\n--------\nDataFrame.combine : Perform series-wise operation on two DataFrames\n using a given function.\n\nExamples\n--------\n>>> df1 = pd.DataFrame({'A': [None, 0], 'B': [None, 4]})\n>>> df2 = pd.DataFrame({'A': [1, 1], 'B': [3, 3]})\n>>> df1.combine_first(df2)\n A B\n0 1.0 3.0\n1 0.0 4.0\n\nNull values still persist if the location of that null value\ndoes not exist in `other`\n\n>>> df1 = pd.DataFrame({'A': [None, 0], 'B': [4, None]})\n>>> df2 = pd.DataFrame({'B': [3, 3], 'C': [1, 1]}, index=[1, 2])\n>>> df1.combine_first(df2)\n A B C\n0 NaN 4.0 NaN\n1 0.0 3.0 1.0\n2 NaN 3.0 1.0\n"}, "kind": 2, "label": "combine_first", "sortText": " 28"}, {"detail": "bound method DataFrame.compare(other: DataFrame, align_axis: int | Literal[\"index\", \"columns\", \"rows\"] = 1, keep_shape: bool = False, keep_equal: bool = False, result_names: tuple[str | None, str | None] = ...) -> DataFrame", "kind": 2, "label": "compare", "sortText": " 29"}, {"detail": "bound method DataFrame.convert_dtypes(infer_objects: bool = True, convert_string: bool = True, convert_integer: bool = True, convert_boolean: bool = True, convert_floating: bool = True, dtype_backend: Literal[\"pyarrow\", \"numpy_nullable\"] = \"numpy_nullable\") -> DataFrame", "documentation": {"kind": "plaintext", "value": "Convert columns to the best possible dtypes using dtypes supporting ``pd.NA``.\n\nParameters\n----------\ninfer_objects : bool, default True\n Whether object dtypes should be converted to the best possible types.\nconvert_string : bool, default True\n Whether object dtypes should be converted to ``StringDtype()``.\nconvert_integer : bool, default True\n Whether, if possible, conversion can be done to integer extension types.\nconvert_boolean : bool, defaults True\n Whether object dtypes should be converted to ``BooleanDtypes()``.\nconvert_floating : bool, defaults True\n Whether, if possible, conversion can be done to floating extension types.\n If `convert_integer` is also True, preference will be give to integer\n dtypes if the floats can be faithfully casted to integers.\ndtype_backend : {'numpy_nullable', 'pyarrow'}, default 'numpy_nullable'\n Back-end data type applied to the resultant :class:`DataFrame`\n (still experimental). Behaviour is as follows:\n\n * ``\"numpy_nullable\"``: returns nullable-dtype-backed :class:`DataFrame`\n (default).\n * ``\"pyarrow\"``: returns pyarrow-backed nullable :class:`ArrowDtype`\n DataFrame.\n\n .. versionadded:: 2.0\n\nReturns\n-------\nSeries or DataFrame\n Copy of input object with new dtype.\n\nSee Also\n--------\ninfer_objects : Infer dtypes of objects.\nto_datetime : Convert argument to datetime.\nto_timedelta : Convert argument to timedelta.\nto_numeric : Convert argument to a numeric type.\n\nNotes\n-----\nBy default, ``convert_dtypes`` will attempt to convert a Series (or each\nSeries in a DataFrame) to dtypes that support ``pd.NA``. By using the options\n``convert_string``, ``convert_integer``, ``convert_boolean`` and\n``convert_floating``, it is possible to turn off individual conversions\nto ``StringDtype``, the integer extension types, ``BooleanDtype``\nor floating extension types, respectively.\n\nFor object-dtyped columns, if ``infer_objects`` is ``True``, use the inference\nrules as during normal Series/DataFrame construction. Then, if possible,\nconvert to ``StringDtype``, ``BooleanDtype`` or an appropriate integer\nor floating extension type, otherwise leave as ``object``.\n\nIf the dtype is integer, convert to an appropriate integer extension type.\n\nIf the dtype is numeric, and consists of all integers, convert to an\nappropriate integer extension type. Otherwise, convert to an\nappropriate floating extension type.\n\nIn the future, as new dtypes are added that support ``pd.NA``, the results\nof this method will change to support those new dtypes.\n\nExamples\n--------\n>>> df = pd.DataFrame(\n... {\n... \"a\": pd.Series([1, 2, 3], dtype=np.dtype(\"int32\")),\n... \"b\": pd.Series([\"x\", \"y\", \"z\"], dtype=np.dtype(\"O\")),\n... \"c\": pd.Series([True, False, np.nan], dtype=np.dtype(\"O\")),\n... \"d\": pd.Series([\"h\", \"i\", np.nan], dtype=np.dtype(\"O\")),\n... \"e\": pd.Series([10, np.nan, 20], dtype=np.dtype(\"float\")),\n... \"f\": pd.Series([np.nan, 100.5, 200], dtype=np.dtype(\"float\")),\n... }\n... )\n\nStart with a DataFrame with default dtypes.\n\n>>> df\n a b c d e f\n0 1 x True h 10.0 NaN\n1 2 y False i NaN 100.5\n2 3 z NaN NaN 20.0 200.0\n\n>>> df.dtypes\na int32\nb object\nc object\nd object\ne float64\nf float64\ndtype: object\n\nConvert the DataFrame to use best possible dtypes.\n\n>>> dfn = df.convert_dtypes()\n>>> dfn\n a b c d e f\n0 1 x True h 10 \n1 2 y False i 100.5\n2 3 z 20 200.0\n\n>>> dfn.dtypes\na Int32\nb string[python]\nc boolean\nd string[python]\ne Int64\nf Float64\ndtype: object\n\nStart with a Series of strings and missing data represented by ``np.nan``.\n\n>>> s = pd.Series([\"a\", \"b\", np.nan])\n>>> s\n0 a\n1 b\n2 NaN\ndtype: object\n\nObtain a Series with dtype ``StringDtype``.\n\n>>> s.convert_dtypes()\n0 a\n1 b\n2 \ndtype: string\n"}, "kind": 2, "label": "convert_dtypes", "sortText": " 30"}, {"detail": "bound method DataFrame.copy(deep: bool | None = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Make a copy of this object's indices and data.\n\nWhen ``deep=True`` (default), a new object will be created with a\ncopy of the calling object's data and indices. Modifications to\nthe data or indices of the copy will not be reflected in the\noriginal object (see notes below).\n\nWhen ``deep=False``, a new object will be created without copying\nthe calling object's data or index (only references to the data\nand index are copied). Any changes to the data of the original\nwill be reflected in the shallow copy (and vice versa).\n\n.. note::\n The ``deep=False`` behaviour as described above will change\n in pandas 3.0. `Copy-on-Write\n `__\n will be enabled by default, which means that the \"shallow\" copy\n is that is returned with ``deep=False`` will still avoid making\n an eager copy, but changes to the data of the original will *no*\n longer be reflected in the shallow copy (or vice versa). Instead,\n it makes use of a lazy (deferred) copy mechanism that will copy\n the data only when any changes to the original or shallow copy is\n made.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nParameters\n----------\ndeep : bool, default True\n Make a deep copy, including a copy of the data and the indices.\n With ``deep=False`` neither the indices nor the data are copied.\n\nReturns\n-------\nSeries or DataFrame\n Object type matches caller.\n\nNotes\n-----\nWhen ``deep=True``, data is copied but actual Python objects\nwill not be copied recursively, only the reference to the object.\nThis is in contrast to `copy.deepcopy` in the Standard Library,\nwhich recursively copies object data (see examples below).\n\nWhile ``Index`` objects are copied when ``deep=True``, the underlying\nnumpy array is not copied for performance reasons. Since ``Index`` is\nimmutable, the underlying data can be safely shared and a copy\nis not needed.\n\nSince pandas is not thread safe, see the\n:ref:`gotchas ` when copying in a threading\nenvironment.\n\nWhen ``copy_on_write`` in pandas config is set to ``True``, the\n``copy_on_write`` config takes effect even when ``deep=False``.\nThis means that any changes to the copied data would make a new copy\nof the data upon write (and vice versa). Changes made to either the\noriginal or copied variable would not be reflected in the counterpart.\nSee :ref:`Copy_on_Write ` for more information.\n\nExamples\n--------\n>>> s = pd.Series([1, 2], index=[\"a\", \"b\"])\n>>> s\na 1\nb 2\ndtype: int64\n\n>>> s_copy = s.copy()\n>>> s_copy\na 1\nb 2\ndtype: int64\n\n**Shallow copy versus default (deep) copy:**\n\n>>> s = pd.Series([1, 2], index=[\"a\", \"b\"])\n>>> deep = s.copy()\n>>> shallow = s.copy(deep=False)\n\nShallow copy shares data and index with original.\n\n>>> s is shallow\nFalse\n>>> s.values is shallow.values and s.index is shallow.index\nTrue\n\nDeep copy has own copy of data and index.\n\n>>> s is deep\nFalse\n>>> s.values is deep.values or s.index is deep.index\nFalse\n\nUpdates to the data shared by shallow copy and original is reflected\nin both (NOTE: this will no longer be true for pandas >= 3.0);\ndeep copy remains unchanged.\n\n>>> s.iloc[0] = 3\n>>> shallow.iloc[1] = 4\n>>> s\na 3\nb 4\ndtype: int64\n>>> shallow\na 3\nb 4\ndtype: int64\n>>> deep\na 1\nb 2\ndtype: int64\n\nNote that when copying an object containing Python objects, a deep copy\nwill copy the data, but will not do so recursively. Updating a nested\ndata object will be reflected in the deep copy.\n\n>>> s = pd.Series([[1, 2], [3, 4]])\n>>> deep = s.copy()\n>>> s[0][0] = 10\n>>> s\n0 [10, 2]\n1 [3, 4]\ndtype: object\n>>> deep\n0 [10, 2]\n1 [3, 4]\ndtype: object\n\n**Copy-on-Write is set to true**, the shallow copy is not modified\nwhen the original data is changed:\n\n>>> with pd.option_context(\"mode.copy_on_write\", True):\n... s = pd.Series([1, 2], index=[\"a\", \"b\"])\n... copy = s.copy(deep=False)\n... s.iloc[0] = 100\n... s\na 100\nb 2\ndtype: int64\n>>> copy\na 1\nb 2\ndtype: int64\n"}, "kind": 2, "label": "copy", "sortText": " 31"}, {"detail": "bound method DataFrame.corr(method: Literal[\"pearson\", \"kendall\", \"spearman\"] | ((ndarray[_AnyShape, dtype[Any]], ndarray[_AnyShape, dtype[Any]], /) -> float) = \"pearson\", min_periods: int = 1, numeric_only: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Compute pairwise correlation of columns, excluding NA/null values.\n\nParameters\n----------\nmethod : {'pearson', 'kendall', 'spearman'} or callable\n Method of correlation:\n\n * pearson : standard correlation coefficient\n * kendall : Kendall Tau correlation coefficient\n * spearman : Spearman rank correlation\n * callable: callable with input two 1d ndarrays\n and returning a float. Note that the returned matrix from corr\n will have 1 along the diagonals and will be symmetric\n regardless of the callable's behavior.\nmin_periods : int, optional\n Minimum number of observations required per pair of columns\n to have a valid result. Currently only available for Pearson\n and Spearman correlation.\nnumeric_only : bool, default False\n Include only `float`, `int` or `boolean` data.\n\n .. versionadded:: 1.5.0\n\n .. versionchanged:: 2.0.0\n The default value of ``numeric_only`` is now ``False``.\n\nReturns\n-------\nDataFrame\n Correlation matrix.\n\nSee Also\n--------\nDataFrame.corrwith : Compute pairwise correlation with another\n DataFrame or Series.\nSeries.corr : Compute the correlation between two Series.\n\nNotes\n-----\nPearson, Kendall and Spearman correlation are currently computed using pairwise complete observations.\n\n* `Pearson correlation coefficient `_\n* `Kendall rank correlation coefficient `_\n* `Spearman's rank correlation coefficient `_\n\nExamples\n--------\n>>> def histogram_intersection(a, b):\n... v = np.minimum(a, b).sum().round(decimals=1)\n... return v\n>>> df = pd.DataFrame([(.2, .3), (.0, .6), (.6, .0), (.2, .1)],\n... columns=['dogs', 'cats'])\n>>> df.corr(method=histogram_intersection)\n dogs cats\ndogs 1.0 0.3\ncats 0.3 1.0\n\n>>> df = pd.DataFrame([(1, 1), (2, np.nan), (np.nan, 3), (4, 4)],\n... columns=['dogs', 'cats'])\n>>> df.corr(min_periods=3)\n dogs cats\ndogs 1.0 NaN\ncats NaN 1.0\n"}, "kind": 2, "label": "corr", "sortText": " 32"}, {"detail": "bound method DataFrame.corrwith(other: DataFrame | Series, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, drop: bool = False, method: Literal[\"pearson\", \"kendall\", \"spearman\"] | ((ndarray[_AnyShape, dtype[Any]], ndarray[_AnyShape, dtype[Any]], /) -> float) = \"pearson\", numeric_only: bool = False) -> Series", "documentation": {"kind": "plaintext", "value": "Compute pairwise correlation.\n\nPairwise correlation is computed between rows or columns of\nDataFrame with rows or columns of Series or DataFrame. DataFrames\nare first aligned along both axes before computing the\ncorrelations.\n\nParameters\n----------\nother : DataFrame, Series\n Object with which to compute correlations.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to use. 0 or 'index' to compute row-wise, 1 or 'columns' for\n column-wise.\ndrop : bool, default False\n Drop missing indices from result.\nmethod : {'pearson', 'kendall', 'spearman'} or callable\n Method of correlation:\n\n * pearson : standard correlation coefficient\n * kendall : Kendall Tau correlation coefficient\n * spearman : Spearman rank correlation\n * callable: callable with input two 1d ndarrays\n and returning a float.\n\nnumeric_only : bool, default False\n Include only `float`, `int` or `boolean` data.\n\n .. versionadded:: 1.5.0\n\n .. versionchanged:: 2.0.0\n The default value of ``numeric_only`` is now ``False``.\n\nReturns\n-------\nSeries\n Pairwise correlations.\n\nSee Also\n--------\nDataFrame.corr : Compute pairwise correlation of columns.\n\nExamples\n--------\n>>> index = [\"a\", \"b\", \"c\", \"d\", \"e\"]\n>>> columns = [\"one\", \"two\", \"three\", \"four\"]\n>>> df1 = pd.DataFrame(np.arange(20).reshape(5, 4), index=index, columns=columns)\n>>> df2 = pd.DataFrame(np.arange(16).reshape(4, 4), index=index[:4], columns=columns)\n>>> df1.corrwith(df2)\none 1.0\ntwo 1.0\nthree 1.0\nfour 1.0\ndtype: float64\n\n>>> df2.corrwith(df1, axis=1)\na 1.0\nb 1.0\nc 1.0\nd 1.0\ne NaN\ndtype: float64\n"}, "kind": 2, "label": "corrwith", "sortText": " 33"}, {"detail": "bound method DataFrame.count(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, numeric_only: bool = False) -> Unknown", "documentation": {"kind": "plaintext", "value": "Count non-NA cells for each column or row.\n\nThe values `None`, `NaN`, `NaT`, ``pandas.NA`` are considered NA.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n If 0 or 'index' counts are generated for each column.\n If 1 or 'columns' counts are generated for each row.\nnumeric_only : bool, default False\n Include only `float`, `int` or `boolean` data.\n\nReturns\n-------\nSeries\n For each column/row the number of non-NA/null entries.\n\nSee Also\n--------\nSeries.count: Number of non-NA elements in a Series.\nDataFrame.value_counts: Count unique combinations of columns.\nDataFrame.shape: Number of DataFrame rows and columns (including NA\n elements).\nDataFrame.isna: Boolean same-sized DataFrame showing places of NA\n elements.\n\nExamples\n--------\nConstructing DataFrame from a dictionary:\n\n>>> df = pd.DataFrame({\"Person\":\n... [\"John\", \"Myla\", \"Lewis\", \"John\", \"Myla\"],\n... \"Age\": [24., np.nan, 21., 33, 26],\n... \"Single\": [False, True, True, True, False]})\n>>> df\n Person Age Single\n0 John 24.0 False\n1 Myla NaN True\n2 Lewis 21.0 True\n3 John 33.0 True\n4 Myla 26.0 False\n\nNotice the uncounted NA values:\n\n>>> df.count()\nPerson 5\nAge 4\nSingle 5\ndtype: int64\n\nCounts for each **row**:\n\n>>> df.count(axis='columns')\n0 3\n1 2\n2 3\n3 3\n4 3\ndtype: int64\n"}, "kind": 2, "label": "count", "sortText": " 34"}, {"detail": "bound method DataFrame.cov(min_periods: int | None = None, ddof: int | None = 1, numeric_only: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Compute pairwise covariance of columns, excluding NA/null values.\n\nCompute the pairwise covariance among the series of a DataFrame.\nThe returned data frame is the `covariance matrix\n`__ of the columns\nof the DataFrame.\n\nBoth NA and null values are automatically excluded from the\ncalculation. (See the note below about bias from missing values.)\nA threshold can be set for the minimum number of\nobservations for each value created. Comparisons with observations\nbelow this threshold will be returned as ``NaN``.\n\nThis method is generally used for the analysis of time series data to\nunderstand the relationship between different measures\nacross time.\n\nParameters\n----------\nmin_periods : int, optional\n Minimum number of observations required per pair of columns\n to have a valid result.\n\nddof : int, default 1\n Delta degrees of freedom. The divisor used in calculations\n is ``N - ddof``, where ``N`` represents the number of elements.\n This argument is applicable only when no ``nan`` is in the dataframe.\n\nnumeric_only : bool, default False\n Include only `float`, `int` or `boolean` data.\n\n .. versionadded:: 1.5.0\n\n .. versionchanged:: 2.0.0\n The default value of ``numeric_only`` is now ``False``.\n\nReturns\n-------\nDataFrame\n The covariance matrix of the series of the DataFrame.\n\nSee Also\n--------\nSeries.cov : Compute covariance with another Series.\ncore.window.ewm.ExponentialMovingWindow.cov : Exponential weighted sample\n covariance.\ncore.window.expanding.Expanding.cov : Expanding sample covariance.\ncore.window.rolling.Rolling.cov : Rolling sample covariance.\n\nNotes\n-----\nReturns the covariance matrix of the DataFrame's time series.\nThe covariance is normalized by N-ddof.\n\nFor DataFrames that have Series that are missing data (assuming that\ndata is `missing at random\n`__)\nthe returned covariance matrix will be an unbiased estimate\nof the variance and covariance between the member Series.\n\nHowever, for many applications this estimate may not be acceptable\nbecause the estimate covariance matrix is not guaranteed to be positive\nsemi-definite. This could lead to estimate correlations having\nabsolute values which are greater than one, and/or a non-invertible\ncovariance matrix. See `Estimation of covariance matrices\n`__ for more details.\n\nExamples\n--------\n>>> df = pd.DataFrame([(1, 2), (0, 3), (2, 0), (1, 1)],\n... columns=['dogs', 'cats'])\n>>> df.cov()\n dogs cats\ndogs 0.666667 -1.000000\ncats -1.000000 1.666667\n\n>>> np.random.seed(42)\n>>> df = pd.DataFrame(np.random.randn(1000, 5),\n... columns=['a', 'b', 'c', 'd', 'e'])\n>>> df.cov()\n a b c d e\na 0.998438 -0.020161 0.059277 -0.008943 0.014144\nb -0.020161 1.059352 -0.008543 -0.024738 0.009826\nc 0.059277 -0.008543 1.010670 -0.001486 -0.000271\nd -0.008943 -0.024738 -0.001486 0.921297 -0.013692\ne 0.014144 0.009826 -0.000271 -0.013692 0.977795\n\n**Minimum number of periods**\n\nThis method also supports an optional ``min_periods`` keyword\nthat specifies the required minimum number of non-NA observations for\neach column pair in order to have a valid result:\n\n>>> np.random.seed(42)\n>>> df = pd.DataFrame(np.random.randn(20, 3),\n... columns=['a', 'b', 'c'])\n>>> df.loc[df.index[:5], 'a'] = np.nan\n>>> df.loc[df.index[5:10], 'b'] = np.nan\n>>> df.cov(min_periods=12)\n a b c\na 0.316741 NaN -0.150812\nb NaN 1.248003 0.191417\nc -0.150812 0.191417 0.895202\n"}, "kind": 2, "label": "cov", "sortText": " 35"}, {"detail": "bound method DataFrame.cummax(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, skipna: bool = True, *args, **kwargs) -> Unknown", "kind": 2, "label": "cummax", "sortText": " 36"}, {"detail": "bound method DataFrame.cummin(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, skipna: bool = True, *args, **kwargs) -> Unknown", "kind": 2, "label": "cummin", "sortText": " 37"}, {"detail": "bound method DataFrame.cumprod(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, skipna: bool = True, *args, **kwargs) -> Unknown", "kind": 2, "label": "cumprod", "sortText": " 38"}, {"detail": "bound method DataFrame.cumsum(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, skipna: bool = True, *args, **kwargs) -> Unknown", "kind": 2, "label": "cumsum", "sortText": " 39"}, {"detail": "bound method DataFrame.describe(percentiles=None, include=None, exclude=None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Generate descriptive statistics.\n\nDescriptive statistics include those that summarize the central\ntendency, dispersion and shape of a\ndataset's distribution, excluding ``NaN`` values.\n\nAnalyzes both numeric and object series, as well\nas ``DataFrame`` column sets of mixed data types. The output\nwill vary depending on what is provided. Refer to the notes\nbelow for more detail.\n\nParameters\n----------\npercentiles : list-like of numbers, optional\n The percentiles to include in the output. All should\n fall between 0 and 1. The default is\n ``[.25, .5, .75]``, which returns the 25th, 50th, and\n 75th percentiles.\ninclude : 'all', list-like of dtypes or None (default), optional\n A white list of data types to include in the result. Ignored\n for ``Series``. Here are the options:\n\n - 'all' : All columns of the input will be included in the output.\n - A list-like of dtypes : Limits the results to the\n provided data types.\n To limit the result to numeric types submit\n ``numpy.number``. To limit it instead to object columns submit\n the ``numpy.object`` data type. Strings\n can also be used in the style of\n ``select_dtypes`` (e.g. ``df.describe(include=['O'])``). To\n select pandas categorical columns, use ``'category'``\n - None (default) : The result will include all numeric columns.\nexclude : list-like of dtypes or None (default), optional,\n A black list of data types to omit from the result. Ignored\n for ``Series``. Here are the options:\n\n - A list-like of dtypes : Excludes the provided data types\n from the result. To exclude numeric types submit\n ``numpy.number``. To exclude object columns submit the data\n type ``numpy.object``. Strings can also be used in the style of\n ``select_dtypes`` (e.g. ``df.describe(exclude=['O'])``). To\n exclude pandas categorical columns, use ``'category'``\n - None (default) : The result will exclude nothing.\n\nReturns\n-------\nSeries or DataFrame\n Summary statistics of the Series or Dataframe provided.\n\nSee Also\n--------\nDataFrame.count: Count number of non-NA/null observations.\nDataFrame.max: Maximum of the values in the object.\nDataFrame.min: Minimum of the values in the object.\nDataFrame.mean: Mean of the values.\nDataFrame.std: Standard deviation of the observations.\nDataFrame.select_dtypes: Subset of a DataFrame including/excluding\n columns based on their dtype.\n\nNotes\n-----\nFor numeric data, the result's index will include ``count``,\n``mean``, ``std``, ``min``, ``max`` as well as lower, ``50`` and\nupper percentiles. By default the lower percentile is ``25`` and the\nupper percentile is ``75``. The ``50`` percentile is the\nsame as the median.\n\nFor object data (e.g. strings or timestamps), the result's index\nwill include ``count``, ``unique``, ``top``, and ``freq``. The ``top``\nis the most common value. The ``freq`` is the most common value's\nfrequency. Timestamps also include the ``first`` and ``last`` items.\n\nIf multiple object values have the highest count, then the\n``count`` and ``top`` results will be arbitrarily chosen from\namong those with the highest count.\n\nFor mixed data types provided via a ``DataFrame``, the default is to\nreturn only an analysis of numeric columns. If the dataframe consists\nonly of object and categorical data without any numeric columns, the\ndefault is to return an analysis of both the object and categorical\ncolumns. If ``include='all'`` is provided as an option, the result\nwill include a union of attributes of each type.\n\nThe `include` and `exclude` parameters can be used to limit\nwhich columns in a ``DataFrame`` are analyzed for the output.\nThe parameters are ignored when analyzing a ``Series``.\n\nExamples\n--------\nDescribing a numeric ``Series``.\n\n>>> s = pd.Series([1, 2, 3])\n>>> s.describe()\ncount 3.0\nmean 2.0\nstd 1.0\nmin 1.0\n25% 1.5\n50% 2.0\n75% 2.5\nmax 3.0\ndtype: float64\n\nDescribing a categorical ``Series``.\n\n>>> s = pd.Series(['a', 'a', 'b', 'c'])\n>>> s.describe()\ncount 4\nunique 3\ntop a\nfreq 2\ndtype: object\n\nDescribing a timestamp ``Series``.\n\n>>> s = pd.Series([\n... np.datetime64(\"2000-01-01\"),\n... np.datetime64(\"2010-01-01\"),\n... np.datetime64(\"2010-01-01\")\n... ])\n>>> s.describe()\ncount 3\nmean 2006-09-01 08:00:00\nmin 2000-01-01 00:00:00\n25% 2004-12-31 12:00:00\n50% 2010-01-01 00:00:00\n75% 2010-01-01 00:00:00\nmax 2010-01-01 00:00:00\ndtype: object\n\nDescribing a ``DataFrame``. By default only numeric fields\nare returned.\n\n>>> df = pd.DataFrame({'categorical': pd.Categorical(['d', 'e', 'f']),\n... 'numeric': [1, 2, 3],\n... 'object': ['a', 'b', 'c']\n... })\n>>> df.describe()\n numeric\ncount 3.0\nmean 2.0\nstd 1.0\nmin 1.0\n25% 1.5\n50% 2.0\n75% 2.5\nmax 3.0\n\nDescribing all columns of a ``DataFrame`` regardless of data type.\n\n>>> df.describe(include='all') # doctest: +SKIP\n categorical numeric object\ncount 3 3.0 3\nunique 3 NaN 3\ntop f NaN a\nfreq 1 NaN 1\nmean NaN 2.0 NaN\nstd NaN 1.0 NaN\nmin NaN 1.0 NaN\n25% NaN 1.5 NaN\n50% NaN 2.0 NaN\n75% NaN 2.5 NaN\nmax NaN 3.0 NaN\n\nDescribing a column from a ``DataFrame`` by accessing it as\nan attribute.\n\n>>> df.numeric.describe()\ncount 3.0\nmean 2.0\nstd 1.0\nmin 1.0\n25% 1.5\n50% 2.0\n75% 2.5\nmax 3.0\nName: numeric, dtype: float64\n\nIncluding only numeric columns in a ``DataFrame`` description.\n\n>>> df.describe(include=[np.number])\n numeric\ncount 3.0\nmean 2.0\nstd 1.0\nmin 1.0\n25% 1.5\n50% 2.0\n75% 2.5\nmax 3.0\n\nIncluding only string columns in a ``DataFrame`` description.\n\n>>> df.describe(include=[object]) # doctest: +SKIP\n object\ncount 3\nunique 3\ntop a\nfreq 1\n\nIncluding only categorical columns from a ``DataFrame`` description.\n\n>>> df.describe(include=['category'])\n categorical\ncount 3\nunique 3\ntop d\nfreq 1\n\nExcluding numeric columns from a ``DataFrame`` description.\n\n>>> df.describe(exclude=[np.number]) # doctest: +SKIP\n categorical object\ncount 3 3\nunique 3 3\ntop f a\nfreq 1 1\n\nExcluding object columns from a ``DataFrame`` description.\n\n>>> df.describe(exclude=[object]) # doctest: +SKIP\n categorical numeric\ncount 3 3.0\nunique 3 NaN\ntop f NaN\nfreq 1 NaN\nmean NaN 2.0\nstd NaN 1.0\nmin NaN 1.0\n25% NaN 1.5\n50% NaN 2.0\n75% NaN 2.5\nmax NaN 3.0\n"}, "kind": 2, "label": "describe", "sortText": " 40"}, {"detail": "bound method DataFrame.diff(periods: int = 1, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> DataFrame", "kind": 2, "label": "diff", "sortText": " 41"}, {"detail": "(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "div", "sortText": " 42"}, {"detail": "(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "divide", "sortText": " 43"}, {"detail": "Overload[(other: Series) -> Series, (other: DataFrame | Index | ExtensionArray | ndarray[_AnyShape, dtype[Any]]) -> DataFrame]", "documentation": {"kind": "plaintext", "value": "Compute the matrix multiplication between the DataFrame and other.\n\nThis method computes the matrix product between the DataFrame and the\nvalues of an other Series, DataFrame or a numpy array.\n\nIt can also be called using ``self @ other``.\n\nParameters\n----------\nother : Series, DataFrame or array-like\n The other object to compute the matrix product with.\n\nReturns\n-------\nSeries or DataFrame\n If other is a Series, return the matrix product between self and\n other as a Series. If other is a DataFrame or a numpy.array, return\n the matrix product of self and other in a DataFrame of a np.array.\n\nSee Also\n--------\nSeries.dot: Similar method for Series.\n\nNotes\n-----\nThe dimensions of DataFrame and other must be compatible in order to\ncompute the matrix multiplication. In addition, the column names of\nDataFrame and the index of other must contain the same values, as they\nwill be aligned prior to the multiplication.\n\nThe dot method for Series computes the inner product, instead of the\nmatrix product here.\n\nExamples\n--------\nHere we multiply a DataFrame with a Series.\n\n>>> df = pd.DataFrame([[0, 1, -2, -1], [1, 1, 1, 1]])\n>>> s = pd.Series([1, 1, 2, 1])\n>>> df.dot(s)\n0 -4\n1 5\ndtype: int64\n\nHere we multiply a DataFrame with another DataFrame.\n\n>>> other = pd.DataFrame([[0, 1], [1, 2], [-1, -1], [2, 0]])\n>>> df.dot(other)\n 0 1\n0 1 4\n1 2 2\n\nNote that the dot method give the same result as @\n\n>>> df @ other\n 0 1\n0 1 4\n1 2 2\n\nThe dot method works also if other is an np.array.\n\n>>> arr = np.array([[0, 1], [1, 2], [-1, -1], [2, 0]])\n>>> df.dot(arr)\n 0 1\n0 1 4\n1 2 2\n\nNote how shuffling of the objects does not change the result.\n\n>>> s2 = s.reindex([1, 0, 2, 3])\n>>> df.dot(s2)\n0 -4\n1 5\ndtype: int64\n"}, "kind": 2, "label": "dot", "sortText": " 44"}, {"detail": "Overload[(labels: Hashable | Sequence[Hashable] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., index: Hashable | Sequence[Hashable] = ..., columns: Hashable | Sequence[Hashable] = ..., level: Hashable = ..., inplace: Literal[True], errors: Literal[\"ignore\", \"raise\"] = ...) -> None, (labels: Hashable | Sequence[Hashable] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., index: Hashable | Sequence[Hashable] = ..., columns: Hashable | Sequence[Hashable] = ..., level: Hashable = ..., inplace: Literal[False] = ..., errors: Literal[\"ignore\", \"raise\"] = ...) -> DataFrame, (labels: Hashable | Sequence[Hashable] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., index: Hashable | Sequence[Hashable] = ..., columns: Hashable | Sequence[Hashable] = ..., level: Hashable = ..., inplace: bool = ..., errors: Literal[\"ignore\", \"raise\"] = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Drop specified labels from rows or columns.\n\nRemove rows or columns by specifying label names and corresponding\naxis, or by directly specifying index or column names. When using a\nmulti-index, labels on different levels can be removed by specifying\nthe level. See the :ref:`user guide `\nfor more information about the now unused levels.\n\nParameters\n----------\nlabels : single label or list-like\n Index or column labels to drop. A tuple will be used as a single\n label and not treated as a list-like.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Whether to drop labels from the index (0 or 'index') or\n columns (1 or 'columns').\nindex : single label or list-like\n Alternative to specifying axis (``labels, axis=0``\n is equivalent to ``index=labels``).\ncolumns : single label or list-like\n Alternative to specifying axis (``labels, axis=1``\n is equivalent to ``columns=labels``).\nlevel : int or level name, optional\n For MultiIndex, level from which the labels will be removed.\ninplace : bool, default False\n If False, return a copy. Otherwise, do operation\n in place and return None.\nerrors : {'ignore', 'raise'}, default 'raise'\n If 'ignore', suppress error and only existing labels are\n dropped.\n\nReturns\n-------\nDataFrame or None\n Returns DataFrame or None DataFrame with the specified\n index or column labels removed or None if inplace=True.\n\nRaises\n------\nKeyError\n If any of the labels is not found in the selected axis.\n\nSee Also\n--------\nDataFrame.loc : Label-location based indexer for selection by label.\nDataFrame.dropna : Return DataFrame with labels on given axis omitted\n where (all or any) data are missing.\nDataFrame.drop_duplicates : Return DataFrame with duplicate rows\n removed, optionally only considering certain columns.\nSeries.drop : Return Series with specified index labels removed.\n\nExamples\n--------\n>>> df = pd.DataFrame(np.arange(12).reshape(3, 4),\n... columns=['A', 'B', 'C', 'D'])\n>>> df\n A B C D\n0 0 1 2 3\n1 4 5 6 7\n2 8 9 10 11\n\nDrop columns\n\n>>> df.drop(['B', 'C'], axis=1)\n A D\n0 0 3\n1 4 7\n2 8 11\n\n>>> df.drop(columns=['B', 'C'])\n A D\n0 0 3\n1 4 7\n2 8 11\n\nDrop a row by index\n\n>>> df.drop([0, 1])\n A B C D\n2 8 9 10 11\n\nDrop columns and/or rows of MultiIndex DataFrame\n\n>>> midx = pd.MultiIndex(levels=[['llama', 'cow', 'falcon'],\n... ['speed', 'weight', 'length']],\n... codes=[[0, 0, 0, 1, 1, 1, 2, 2, 2],\n... [0, 1, 2, 0, 1, 2, 0, 1, 2]])\n>>> df = pd.DataFrame(index=midx, columns=['big', 'small'],\n... data=[[45, 30], [200, 100], [1.5, 1], [30, 20],\n... [250, 150], [1.5, 0.8], [320, 250],\n... [1, 0.8], [0.3, 0.2]])\n>>> df\n big small\nllama speed 45.0 30.0\n weight 200.0 100.0\n length 1.5 1.0\ncow speed 30.0 20.0\n weight 250.0 150.0\n length 1.5 0.8\nfalcon speed 320.0 250.0\n weight 1.0 0.8\n length 0.3 0.2\n\nDrop a specific index combination from the MultiIndex\nDataFrame, i.e., drop the combination ``'falcon'`` and\n``'weight'``, which deletes only the corresponding row\n\n>>> df.drop(index=('falcon', 'weight'))\n big small\nllama speed 45.0 30.0\n weight 200.0 100.0\n length 1.5 1.0\ncow speed 30.0 20.0\n weight 250.0 150.0\n length 1.5 0.8\nfalcon speed 320.0 250.0\n length 0.3 0.2\n\n>>> df.drop(index='cow', columns='small')\n big\nllama speed 45.0\n weight 200.0\n length 1.5\nfalcon speed 320.0\n weight 1.0\n length 0.3\n\n>>> df.drop(index='length', level=1)\n big small\nllama speed 45.0 30.0\n weight 200.0 100.0\ncow speed 30.0 20.0\n weight 250.0 150.0\nfalcon speed 320.0 250.0\n weight 1.0 0.8\n"}, "kind": 2, "label": "drop", "sortText": " 45"}, {"detail": "Overload[(subset: Hashable | Sequence[Hashable] = ..., *, keep: Literal[\"first\", \"last\", False] = ..., inplace: Literal[True], ignore_index: bool = ...) -> None, (subset: Hashable | Sequence[Hashable] = ..., *, keep: Literal[\"first\", \"last\", False] = ..., inplace: Literal[False] = ..., ignore_index: bool = ...) -> DataFrame, (subset: Hashable | Sequence[Hashable] = ..., *, keep: Literal[\"first\", \"last\", False] = ..., inplace: bool = ..., ignore_index: bool = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Return DataFrame with duplicate rows removed.\n\nConsidering certain columns is optional. Indexes, including time indexes\nare ignored.\n\nParameters\n----------\nsubset : column label or sequence of labels, optional\n Only consider certain columns for identifying duplicates, by\n default use all of the columns.\nkeep : {'first', 'last', ``False``}, default 'first'\n Determines which duplicates (if any) to keep.\n\n - 'first' : Drop duplicates except for the first occurrence.\n - 'last' : Drop duplicates except for the last occurrence.\n - ``False`` : Drop all duplicates.\n\ninplace : bool, default ``False``\n Whether to modify the DataFrame rather than creating a new one.\nignore_index : bool, default ``False``\n If ``True``, the resulting axis will be labeled 0, 1, \u2026, n - 1.\n\nReturns\n-------\nDataFrame or None\n DataFrame with duplicates removed or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.value_counts: Count unique combinations of columns.\n\nExamples\n--------\nConsider dataset containing ramen rating.\n\n>>> df = pd.DataFrame({\n... 'brand': ['Yum Yum', 'Yum Yum', 'Indomie', 'Indomie', 'Indomie'],\n... 'style': ['cup', 'cup', 'cup', 'pack', 'pack'],\n... 'rating': [4, 4, 3.5, 15, 5]\n... })\n>>> df\n brand style rating\n0 Yum Yum cup 4.0\n1 Yum Yum cup 4.0\n2 Indomie cup 3.5\n3 Indomie pack 15.0\n4 Indomie pack 5.0\n\nBy default, it removes duplicate rows based on all columns.\n\n>>> df.drop_duplicates()\n brand style rating\n0 Yum Yum cup 4.0\n2 Indomie cup 3.5\n3 Indomie pack 15.0\n4 Indomie pack 5.0\n\nTo remove duplicates on specific column(s), use ``subset``.\n\n>>> df.drop_duplicates(subset=['brand'])\n brand style rating\n0 Yum Yum cup 4.0\n2 Indomie cup 3.5\n\nTo remove duplicates and keep last occurrences, use ``keep``.\n\n>>> df.drop_duplicates(subset=['brand', 'style'], keep='last')\n brand style rating\n1 Yum Yum cup 4.0\n2 Indomie cup 3.5\n4 Indomie pack 5.0\n"}, "kind": 2, "label": "drop_duplicates", "sortText": " 46"}, {"detail": "bound method DataFrame.droplevel(level: Hashable | Sequence[Hashable], axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return {klass} with requested index / column level(s) removed.\n\nParameters\n----------\nlevel : int, str, or list-like\n If a string is given, must be the name of a level\n If list-like, elements must be names or positional indexes\n of levels.\n\naxis : {{0 or 'index', 1 or 'columns'}}, default 0\n Axis along which the level(s) is removed:\n\n * 0 or 'index': remove level(s) in column.\n * 1 or 'columns': remove level(s) in row.\n\n For `Series` this parameter is unused and defaults to 0.\n\nReturns\n-------\n{klass}\n {klass} with requested index / column level(s) removed.\n\nExamples\n--------\n>>> df = pd.DataFrame([\n... [1, 2, 3, 4],\n... [5, 6, 7, 8],\n... [9, 10, 11, 12]\n... ]).set_index([0, 1]).rename_axis(['a', 'b'])\n\n>>> df.columns = pd.MultiIndex.from_tuples([\n... ('c', 'e'), ('d', 'f')\n... ], names=['level_1', 'level_2'])\n\n>>> df\nlevel_1 c d\nlevel_2 e f\na b\n1 2 3 4\n5 6 7 8\n9 10 11 12\n\n>>> df.droplevel('a')\nlevel_1 c d\nlevel_2 e f\nb\n2 3 4\n6 7 8\n10 11 12\n\n>>> df.droplevel('level_2', axis=1)\nlevel_1 c d\na b\n1 2 3 4\n5 6 7 8\n9 10 11 12\n"}, "kind": 2, "label": "droplevel", "sortText": " 47"}, {"detail": "Overload[(*, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., how: Literal[\"any\", \"all\"] | _NoDefault = ..., thresh: int | _NoDefault = ..., subset: Hashable | Sequence[Hashable] = ..., inplace: Literal[False] = ..., ignore_index: bool = ...) -> DataFrame, (*, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., how: Literal[\"any\", \"all\"] | _NoDefault = ..., thresh: int | _NoDefault = ..., subset: Hashable | Sequence[Hashable] = ..., inplace: Literal[True], ignore_index: bool = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Remove missing values.\n\nSee the :ref:`User Guide ` for more on which values are\nconsidered missing, and how to work with missing data.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Determine if rows or columns which contain missing values are\n removed.\n\n * 0, or 'index' : Drop rows which contain missing values.\n * 1, or 'columns' : Drop columns which contain missing value.\n\n Only a single axis is allowed.\n\nhow : {'any', 'all'}, default 'any'\n Determine if row or column is removed from DataFrame, when we have\n at least one NA or all NA.\n\n * 'any' : If any NA values are present, drop that row or column.\n * 'all' : If all values are NA, drop that row or column.\n\nthresh : int, optional\n Require that many non-NA values. Cannot be combined with how.\nsubset : column label or sequence of labels, optional\n Labels along other axis to consider, e.g. if you are dropping rows\n these would be a list of columns to include.\ninplace : bool, default False\n Whether to modify the DataFrame rather than creating a new one.\nignore_index : bool, default ``False``\n If ``True``, the resulting axis will be labeled 0, 1, \u2026, n - 1.\n\n .. versionadded:: 2.0.0\n\nReturns\n-------\nDataFrame or None\n DataFrame with NA entries dropped from it or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.isna: Indicate missing values.\nDataFrame.notna : Indicate existing (non-missing) values.\nDataFrame.fillna : Replace missing values.\nSeries.dropna : Drop missing values.\nIndex.dropna : Drop missing indices.\n\nExamples\n--------\n>>> df = pd.DataFrame({\"name\": ['Alfred', 'Batman', 'Catwoman'],\n... \"toy\": [np.nan, 'Batmobile', 'Bullwhip'],\n... \"born\": [pd.NaT, pd.Timestamp(\"1940-04-25\"),\n... pd.NaT]})\n>>> df\n name toy born\n0 Alfred NaN NaT\n1 Batman Batmobile 1940-04-25\n2 Catwoman Bullwhip NaT\n\nDrop the rows where at least one element is missing.\n\n>>> df.dropna()\n name toy born\n1 Batman Batmobile 1940-04-25\n\nDrop the columns where at least one element is missing.\n\n>>> df.dropna(axis='columns')\n name\n0 Alfred\n1 Batman\n2 Catwoman\n\nDrop the rows where all elements are missing.\n\n>>> df.dropna(how='all')\n name toy born\n0 Alfred NaN NaT\n1 Batman Batmobile 1940-04-25\n2 Catwoman Bullwhip NaT\n\nKeep only the rows with at least 2 non-NA values.\n\n>>> df.dropna(thresh=2)\n name toy born\n1 Batman Batmobile 1940-04-25\n2 Catwoman Bullwhip NaT\n\nDefine in which columns to look for missing values.\n\n>>> df.dropna(subset=['name', 'toy'])\n name toy born\n1 Batman Batmobile 1940-04-25\n2 Catwoman Bullwhip NaT\n"}, "kind": 2, "label": "dropna", "sortText": " 48"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "dtype", "sortText": " 49"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "dtypes", "sortText": " 50"}, {"detail": "bound method DataFrame.duplicated(subset: Hashable | Sequence[Hashable] = None, keep: Literal[\"first\", \"last\", False] = \"first\") -> Series", "documentation": {"kind": "plaintext", "value": "Return boolean Series denoting duplicate rows.\n\nConsidering certain columns is optional.\n\nParameters\n----------\nsubset : column label or sequence of labels, optional\n Only consider certain columns for identifying duplicates, by\n default use all of the columns.\nkeep : {'first', 'last', False}, default 'first'\n Determines which duplicates (if any) to mark.\n\n - ``first`` : Mark duplicates as ``True`` except for the first occurrence.\n - ``last`` : Mark duplicates as ``True`` except for the last occurrence.\n - False : Mark all duplicates as ``True``.\n\nReturns\n-------\nSeries\n Boolean series for each duplicated rows.\n\nSee Also\n--------\nIndex.duplicated : Equivalent method on index.\nSeries.duplicated : Equivalent method on Series.\nSeries.drop_duplicates : Remove duplicate values from Series.\nDataFrame.drop_duplicates : Remove duplicate values from DataFrame.\n\nExamples\n--------\nConsider dataset containing ramen rating.\n\n>>> df = pd.DataFrame({\n... 'brand': ['Yum Yum', 'Yum Yum', 'Indomie', 'Indomie', 'Indomie'],\n... 'style': ['cup', 'cup', 'cup', 'pack', 'pack'],\n... 'rating': [4, 4, 3.5, 15, 5]\n... })\n>>> df\n brand style rating\n0 Yum Yum cup 4.0\n1 Yum Yum cup 4.0\n2 Indomie cup 3.5\n3 Indomie pack 15.0\n4 Indomie pack 5.0\n\nBy default, for each set of duplicated values, the first occurrence\nis set on False and all others on True.\n\n>>> df.duplicated()\n0 False\n1 True\n2 False\n3 False\n4 False\ndtype: bool\n\nBy using 'last', the last occurrence of each set of duplicated values\nis set on False and all others on True.\n\n>>> df.duplicated(keep='last')\n0 True\n1 False\n2 False\n3 False\n4 False\ndtype: bool\n\nBy setting ``keep`` on False, all duplicates are True.\n\n>>> df.duplicated(keep=False)\n0 True\n1 True\n2 False\n3 False\n4 False\ndtype: bool\n\nTo find duplicates on specific column(s), use ``subset``.\n\n>>> df.duplicated(subset=['brand'])\n0 False\n1 True\n2 False\n3 True\n4 True\ndtype: bool\n"}, "kind": 2, "label": "duplicated", "sortText": " 51"}, {"detail": "bool", "documentation": {"kind": "plaintext", "value": "Returns True when the argument is true, False otherwise.\nThe builtins True and False are the only two instances of the class bool.\nThe class bool is a subclass of the class int, and cannot be subclassed.\n"}, "kind": 22, "label": "empty", "sortText": " 52"}, {"detail": "bound method DataFrame.eq(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "eq", "sortText": " 53"}, {"detail": "bound method DataFrame.equals(other: object) -> bool", "documentation": {"kind": "plaintext", "value": "Test whether two objects contain the same elements.\n\nThis function allows two Series or DataFrames to be compared against\neach other to see if they have the same shape and elements. NaNs in\nthe same location are considered equal.\n\nThe row/column index do not need to have the same type, as long\nas the values are considered equal. Corresponding columns and\nindex must be of the same dtype.\n\nParameters\n----------\nother : Series or DataFrame\n The other Series or DataFrame to be compared with the first.\n\nReturns\n-------\nbool\n True if all elements are the same in both objects, False\n otherwise.\n\nSee Also\n--------\nSeries.eq : Compare two Series objects of the same length\n and return a Series where each element is True if the element\n in each Series is equal, False otherwise.\nDataFrame.eq : Compare two DataFrame objects of the same shape and\n return a DataFrame where each element is True if the respective\n element in each DataFrame is equal, False otherwise.\ntesting.assert_series_equal : Raises an AssertionError if left and\n right are not equal. Provides an easy interface to ignore\n inequality in dtypes, indexes and precision among others.\ntesting.assert_frame_equal : Like assert_series_equal, but targets\n DataFrames.\nnumpy.array_equal : Return True if two arrays have the same shape\n and elements, False otherwise.\n\nExamples\n--------\n>>> df = pd.DataFrame({1: [10], 2: [20]})\n>>> df\n 1 2\n0 10 20\n\nDataFrames df and exactly_equal have the same types and values for\ntheir elements and column labels, which will return True.\n\n>>> exactly_equal = pd.DataFrame({1: [10], 2: [20]})\n>>> exactly_equal\n 1 2\n0 10 20\n>>> df.equals(exactly_equal)\nTrue\n\nDataFrames df and different_column_type have the same element\ntypes and values, but have different types for the column labels,\nwhich will still return True.\n\n>>> different_column_type = pd.DataFrame({1.0: [10], 2.0: [20]})\n>>> different_column_type\n 1.0 2.0\n0 10 20\n>>> df.equals(different_column_type)\nTrue\n\nDataFrames df and different_data_type have different types for the\nsame values for their elements, and will return False even though\ntheir column labels are the same values and types.\n\n>>> different_data_type = pd.DataFrame({1: [10.0], 2: [20.0]})\n>>> different_data_type\n 1 2\n0 10.0 20.0\n>>> df.equals(different_data_type)\nFalse\n"}, "kind": 2, "label": "equals", "sortText": " 54"}, {"detail": "Overload[(expr: str, *, inplace: Literal[False] = ..., **kwargs) -> Any, (expr: str, *, inplace: Literal[True], **kwargs) -> None]", "documentation": {"kind": "plaintext", "value": "Evaluate a string describing operations on DataFrame columns.\n\nOperates on columns only, not specific rows or elements. This allows\n`eval` to run arbitrary code, which can make you vulnerable to code\ninjection if you pass user input to this function.\n\nParameters\n----------\nexpr : str\n The expression string to evaluate.\ninplace : bool, default False\n If the expression contains an assignment, whether to perform the\n operation inplace and mutate the existing DataFrame. Otherwise,\n a new DataFrame is returned.\n**kwargs\n See the documentation for :func:`eval` for complete details\n on the keyword arguments accepted by\n :meth:`~pandas.DataFrame.query`.\n\nReturns\n-------\nndarray, scalar, pandas object, or None\n The result of the evaluation or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.query : Evaluates a boolean expression to query the columns\n of a frame.\nDataFrame.assign : Can evaluate an expression or function to create new\n values for a column.\neval : Evaluate a Python expression as a string using various\n backends.\n\nNotes\n-----\nFor more details see the API documentation for :func:`~eval`.\nFor detailed examples see :ref:`enhancing performance with eval\n`.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': range(1, 6), 'B': range(10, 0, -2)})\n>>> df\n A B\n0 1 10\n1 2 8\n2 3 6\n3 4 4\n4 5 2\n>>> df.eval('A + B')\n0 11\n1 10\n2 9\n3 8\n4 7\ndtype: int64\n\nAssignment is allowed though by default the original DataFrame is not\nmodified.\n\n>>> df.eval('C = A + B')\n A B C\n0 1 10 11\n1 2 8 10\n2 3 6 9\n3 4 4 8\n4 5 2 7\n>>> df\n A B\n0 1 10\n1 2 8\n2 3 6\n3 4 4\n4 5 2\n\nMultiple columns can be assigned to using multi-line expressions:\n\n>>> df.eval(\n... '''\n... C = A + B\n... D = A - B\n... '''\n... )\n A B C D\n0 1 10 11 -9\n1 2 8 10 -6\n2 3 6 9 -3\n3 4 4 8 0\n4 5 2 7 3\n"}, "kind": 2, "label": "eval", "sortText": " 55"}, {"detail": "bound method DataFrame.ewm(com: float | None = None, span: float | None = None, halflife: float | timedelta | timedelta64[Any] | ... omitted 3 union elements = None, alpha: float | None = None, min_periods: int | None = 0, adjust: bool = True, ignore_na: bool = False, axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., times: ndarray[_AnyShape, dtype[Any]] | DataFrame | Series | None = None, method: Literal[\"single\", \"table\"] = \"single\") -> ExponentialMovingWindow", "kind": 2, "label": "ewm", "sortText": " 56"}, {"detail": "bound method DataFrame.expanding(min_periods: int = 1, axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., method: Literal[\"single\", \"table\"] = \"single\") -> Expanding", "kind": 2, "label": "expanding", "sortText": " 57"}, {"detail": "bound method DataFrame.explode(column: Hashable | Sequence[Hashable], ignore_index: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Transform each element of a list-like to a row, replicating index values.\n\nParameters\n----------\ncolumn : IndexLabel\n Column(s) to explode.\n For multiple columns, specify a non-empty list with each element\n be str or tuple, and all specified columns their list-like data\n on same row of the frame must have matching length.\n\n .. versionadded:: 1.3.0\n Multi-column explode\n\nignore_index : bool, default False\n If True, the resulting index will be labeled 0, 1, \u2026, n - 1.\n\nReturns\n-------\nDataFrame\n Exploded lists to rows of the subset columns;\n index will be duplicated for these rows.\n\nRaises\n------\nValueError :\n * If columns of the frame are not unique.\n * If specified columns to explode is empty list.\n * If specified columns to explode have not matching count of\n elements rowwise in the frame.\n\nSee Also\n--------\nDataFrame.unstack : Pivot a level of the (necessarily hierarchical)\n index labels.\nDataFrame.melt : Unpivot a DataFrame from wide format to long format.\nSeries.explode : Explode a DataFrame from list-like columns to long format.\n\nNotes\n-----\nThis routine will explode list-likes including lists, tuples, sets,\nSeries, and np.ndarray. The result dtype of the subset rows will\nbe object. Scalars will be returned unchanged, and empty list-likes will\nresult in a np.nan for that row. In addition, the ordering of rows in the\noutput will be non-deterministic when exploding sets.\n\nReference :ref:`the user guide ` for more examples.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [[0, 1, 2], 'foo', [], [3, 4]],\n... 'B': 1,\n... 'C': [['a', 'b', 'c'], np.nan, [], ['d', 'e']]})\n>>> df\n A B C\n0 [0, 1, 2] 1 [a, b, c]\n1 foo 1 NaN\n2 [] 1 []\n3 [3, 4] 1 [d, e]\n\nSingle-column explode.\n\n>>> df.explode('A')\n A B C\n0 0 1 [a, b, c]\n0 1 1 [a, b, c]\n0 2 1 [a, b, c]\n1 foo 1 NaN\n2 NaN 1 []\n3 3 1 [d, e]\n3 4 1 [d, e]\n\nMulti-column explode.\n\n>>> df.explode(list('AC'))\n A B C\n0 0 1 a\n0 1 1 b\n0 2 1 c\n1 foo 1 NaN\n2 NaN 1 NaN\n3 3 1 d\n3 4 1 e\n"}, "kind": 2, "label": "explode", "sortText": " 58"}, {"detail": "Overload[(*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: Literal[False] = ..., limit: None | int = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame, (*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: Literal[True], limit: None | int = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> None, (*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = ..., inplace: bool = ..., limit: None | int = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Fill NA/NaN values by propagating the last valid observation to next valid.\n\nParameters\n----------\naxis : {axes_single_arg}\n Axis along which to fill missing values. For `Series`\n this parameter is unused and defaults to 0.\ninplace : bool, default False\n If True, fill in-place. Note: this will modify any\n other views on this object (e.g., a no-copy slice for a column in a\n DataFrame).\nlimit : int, default None\n If method is specified, this is the maximum number of consecutive\n NaN values to forward/backward fill. In other words, if there is\n a gap with more than this number of consecutive NaNs, it will only\n be partially filled. If method is not specified, this is the\n maximum number of entries along the entire axis where NaNs will be\n filled. Must be greater than 0 if not None.\nlimit_area : {{`None`, 'inside', 'outside'}}, default None\n If limit is specified, consecutive NaNs will be filled with this\n restriction.\n\n * ``None``: No fill restriction.\n * 'inside': Only fill NaNs surrounded by valid values\n (interpolate).\n * 'outside': Only fill NaNs outside valid values (extrapolate).\n\n .. versionadded:: 2.2.0\n\ndowncast : dict, default is None\n A dict of item->dtype of what to downcast if possible,\n or the string 'infer' which will try to downcast to an appropriate\n equal type (e.g. float64 to int64 if possible).\n\n .. deprecated:: 2.2.0\n\nReturns\n-------\n{klass} or None\n Object with missing values filled or None if ``inplace=True``.\n\nExamples\n--------\n>>> df = pd.DataFrame([[np.nan, 2, np.nan, 0],\n... [3, 4, np.nan, 1],\n... [np.nan, np.nan, np.nan, np.nan],\n... [np.nan, 3, np.nan, 4]],\n... columns=list(\"ABCD\"))\n>>> df\n A B C D\n0 NaN 2.0 NaN 0.0\n1 3.0 4.0 NaN 1.0\n2 NaN NaN NaN NaN\n3 NaN 3.0 NaN 4.0\n\n>>> df.ffill()\n A B C D\n0 NaN 2.0 NaN 0.0\n1 3.0 4.0 NaN 1.0\n2 3.0 4.0 NaN 1.0\n3 3.0 3.0 NaN 4.0\n\n>>> ser = pd.Series([1, np.nan, 2, 3])\n>>> ser.ffill()\n0 1.0\n1 1.0\n2 2.0\n3 3.0\ndtype: float64\n"}, "kind": 2, "label": "ffill", "sortText": " 59"}, {"detail": "Overload[(value: Hashable | Mapping[Unknown, Unknown] | Series | DataFrame = ..., *, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: Literal[False] = ..., limit: int | None = ..., downcast: dict[Unknown, Unknown] | None = ...) -> DataFrame, (value: Hashable | Mapping[Unknown, Unknown] | Series | DataFrame = ..., *, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: Literal[True], limit: int | None = ..., downcast: dict[Unknown, Unknown] | None = ...) -> None, (value: Hashable | Mapping[Unknown, Unknown] | Series | DataFrame = ..., *, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., inplace: bool = ..., limit: int | None = ..., downcast: dict[Unknown, Unknown] | None = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Fill NA/NaN values using the specified method.\n\nParameters\n----------\nvalue : scalar, dict, Series, or DataFrame\n Value to use to fill holes (e.g. 0), alternately a\n dict/Series/DataFrame of values specifying which value to use for\n each index (for a Series) or column (for a DataFrame). Values not\n in the dict/Series/DataFrame will not be filled. This value cannot\n be a list.\nmethod : {{'backfill', 'bfill', 'ffill', None}}, default None\n Method to use for filling holes in reindexed Series:\n\n * ffill: propagate last valid observation forward to next valid.\n * backfill / bfill: use next valid observation to fill gap.\n\n .. deprecated:: 2.1.0\n Use ffill or bfill instead.\n\naxis : {axes_single_arg}\n Axis along which to fill missing values. For `Series`\n this parameter is unused and defaults to 0.\ninplace : bool, default False\n If True, fill in-place. Note: this will modify any\n other views on this object (e.g., a no-copy slice for a column in a\n DataFrame).\nlimit : int, default None\n If method is specified, this is the maximum number of consecutive\n NaN values to forward/backward fill. In other words, if there is\n a gap with more than this number of consecutive NaNs, it will only\n be partially filled. If method is not specified, this is the\n maximum number of entries along the entire axis where NaNs will be\n filled. Must be greater than 0 if not None.\ndowncast : dict, default is None\n A dict of item->dtype of what to downcast if possible,\n or the string 'infer' which will try to downcast to an appropriate\n equal type (e.g. float64 to int64 if possible).\n\n .. deprecated:: 2.2.0\n\nReturns\n-------\n{klass} or None\n Object with missing values filled or None if ``inplace=True``.\n\nSee Also\n--------\nffill : Fill values by propagating the last valid observation to next valid.\nbfill : Fill values by using the next valid observation to fill the gap.\ninterpolate : Fill NaN values using interpolation.\nreindex : Conform object to new index.\nasfreq : Convert TimeSeries to specified frequency.\n\nExamples\n--------\n>>> df = pd.DataFrame([[np.nan, 2, np.nan, 0],\n... [3, 4, np.nan, 1],\n... [np.nan, np.nan, np.nan, np.nan],\n... [np.nan, 3, np.nan, 4]],\n... columns=list(\"ABCD\"))\n>>> df\n A B C D\n0 NaN 2.0 NaN 0.0\n1 3.0 4.0 NaN 1.0\n2 NaN NaN NaN NaN\n3 NaN 3.0 NaN 4.0\n\nReplace all NaN elements with 0s.\n\n>>> df.fillna(0)\n A B C D\n0 0.0 2.0 0.0 0.0\n1 3.0 4.0 0.0 1.0\n2 0.0 0.0 0.0 0.0\n3 0.0 3.0 0.0 4.0\n\nReplace all NaN elements in column 'A', 'B', 'C', and 'D', with 0, 1,\n2, and 3 respectively.\n\n>>> values = {{\"A\": 0, \"B\": 1, \"C\": 2, \"D\": 3}}\n>>> df.fillna(value=values)\n A B C D\n0 0.0 2.0 2.0 0.0\n1 3.0 4.0 2.0 1.0\n2 0.0 1.0 2.0 3.0\n3 0.0 3.0 2.0 4.0\n\nOnly replace the first NaN element.\n\n>>> df.fillna(value=values, limit=1)\n A B C D\n0 0.0 2.0 2.0 0.0\n1 3.0 4.0 NaN 1.0\n2 NaN 1.0 NaN 3.0\n3 NaN 3.0 NaN 4.0\n\nWhen filling using a DataFrame, replacement happens along\nthe same column names and same indices\n\n>>> df2 = pd.DataFrame(np.zeros((4, 4)), columns=list(\"ABCE\"))\n>>> df.fillna(df2)\n A B C D\n0 0.0 2.0 0.0 0.0\n1 3.0 4.0 0.0 1.0\n2 0.0 0.0 0.0 NaN\n3 0.0 3.0 0.0 4.0\n\nNote that column D is not affected since it is not present in df2.\n"}, "kind": 2, "label": "fillna", "sortText": " 60"}, {"detail": "bound method DataFrame.filter(items=None, like: str | None = None, regex: str | None = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Subset the dataframe rows or columns according to the specified index labels.\n\nNote that this routine does not filter a dataframe on its\ncontents. The filter is applied to the labels of the index.\n\nParameters\n----------\nitems : list-like\n Keep labels from axis which are in items.\nlike : str\n Keep labels from axis for which \"like in label == True\".\nregex : str (regular expression)\n Keep labels from axis for which re.search(regex, label) == True.\naxis : {0 or 'index', 1 or 'columns', None}, default None\n The axis to filter on, expressed either as an index (int)\n or axis name (str). By default this is the info axis, 'columns' for\n DataFrame. For `Series` this parameter is unused and defaults to `None`.\n\nReturns\n-------\nsame type as input object\n\nSee Also\n--------\nDataFrame.loc : Access a group of rows and columns\n by label(s) or a boolean array.\n\nNotes\n-----\nThe ``items``, ``like``, and ``regex`` parameters are\nenforced to be mutually exclusive.\n\n``axis`` defaults to the info axis that is used when indexing\nwith ``[]``.\n\nExamples\n--------\n>>> df = pd.DataFrame(np.array(([1, 2, 3], [4, 5, 6])),\n... index=['mouse', 'rabbit'],\n... columns=['one', 'two', 'three'])\n>>> df\n one two three\nmouse 1 2 3\nrabbit 4 5 6\n\n>>> # select columns by name\n>>> df.filter(items=['one', 'three'])\n one three\nmouse 1 3\nrabbit 4 6\n\n>>> # select columns by regular expression\n>>> df.filter(regex='e$', axis=1)\n one three\nmouse 1 3\nrabbit 4 6\n\n>>> # select rows containing 'bbi'\n>>> df.filter(like='bbi', axis=0)\n one two three\nrabbit 4 5 6\n"}, "kind": 2, "label": "filter", "sortText": " 61"}, {"detail": "bound method DataFrame.first(offset) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Select initial periods of time series data based on a date offset.\n\n.. deprecated:: 2.1\n :meth:`.first` is deprecated and will be removed in a future version.\n Please create a mask and filter using `.loc` instead.\n\nFor a DataFrame with a sorted DatetimeIndex, this function can\nselect the first few rows based on a date offset.\n\nParameters\n----------\noffset : str, DateOffset or dateutil.relativedelta\n The offset length of the data that will be selected. For instance,\n '1ME' will display all the rows having their index within the first month.\n\nReturns\n-------\nSeries or DataFrame\n A subset of the caller.\n\nRaises\n------\nTypeError\n If the index is not a :class:`DatetimeIndex`\n\nSee Also\n--------\nlast : Select final periods of time series based on a date offset.\nat_time : Select values at a particular time of the day.\nbetween_time : Select values between particular times of the day.\n\nExamples\n--------\n>>> i = pd.date_range('2018-04-09', periods=4, freq='2D')\n>>> ts = pd.DataFrame({'A': [1, 2, 3, 4]}, index=i)\n>>> ts\n A\n2018-04-09 1\n2018-04-11 2\n2018-04-13 3\n2018-04-15 4\n\nGet the rows for the first 3 days:\n\n>>> ts.first('3D')\n A\n2018-04-09 1\n2018-04-11 2\n\nNotice the data for 3 first calendar days were returned, not the first\n3 days observed in the dataset, and therefore data for 2018-04-13 was\nnot returned.\n"}, "kind": 2, "label": "first", "sortText": " 62"}, {"detail": "bound method DataFrame.first_valid_index() -> Hashable", "documentation": {"kind": "plaintext", "value": "Return index for {position} non-NA value or None, if no non-NA value is found.\n\nReturns\n-------\ntype of index\n\nExamples\n--------\nFor Series:\n\n>>> s = pd.Series([None, 3, 4])\n>>> s.first_valid_index()\n1\n>>> s.last_valid_index()\n2\n\n>>> s = pd.Series([None, None])\n>>> print(s.first_valid_index())\nNone\n>>> print(s.last_valid_index())\nNone\n\nIf all elements in Series are NA/null, returns None.\n\n>>> s = pd.Series()\n>>> print(s.first_valid_index())\nNone\n>>> print(s.last_valid_index())\nNone\n\nIf Series is empty, returns None.\n\nFor DataFrame:\n\n>>> df = pd.DataFrame({{'A': [None, None, 2], 'B': [None, 3, 4]}})\n>>> df\n A B\n0 NaN NaN\n1 NaN 3.0\n2 2.0 4.0\n>>> df.first_valid_index()\n1\n>>> df.last_valid_index()\n2\n\n>>> df = pd.DataFrame({{'A': [None, None, None], 'B': [None, None, None]}})\n>>> df\n A B\n0 None None\n1 None None\n2 None None\n>>> print(df.first_valid_index())\nNone\n>>> print(df.last_valid_index())\nNone\n\nIf all elements in DataFrame are NA/null, returns None.\n\n>>> df = pd.DataFrame()\n>>> df\nEmpty DataFrame\nColumns: []\nIndex: []\n>>> print(df.first_valid_index())\nNone\n>>> print(df.last_valid_index())\nNone\n\nIf DataFrame is empty, returns None.\n"}, "kind": 2, "label": "first_valid_index", "sortText": " 63"}, {"detail": "Flags", "documentation": {"kind": "plaintext", "value": "Flags that apply to pandas objects.\n\nParameters\n----------\nobj : Series or DataFrame\n The object these flags are associated with.\nallows_duplicate_labels : bool, default True\n Whether to allow duplicate labels in this object. By default,\n duplicate labels are permitted. Setting this to ``False`` will\n cause an :class:`errors.DuplicateLabelError` to be raised when\n `index` (or columns for DataFrame) is not unique, or any\n subsequent operation on introduces duplicates.\n See :ref:`duplicates.disallow` for more.\n\n .. warning::\n\n This is an experimental feature. Currently, many methods fail to\n propagate the ``allows_duplicate_labels`` value. In future versions\n it is expected that every method taking or returning one or more\n DataFrame or Series objects will propagate ``allows_duplicate_labels``.\n\nExamples\n--------\nAttributes can be set in two ways:\n\n>>> df = pd.DataFrame()\n>>> df.flags\n\n>>> df.flags.allows_duplicate_labels = False\n>>> df.flags\n\n\n>>> df.flags['allows_duplicate_labels'] = True\n>>> df.flags\n\n"}, "kind": 22, "label": "flags", "sortText": " 64"}, {"detail": "bound method DataFrame.floordiv(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "floordiv", "sortText": " 65"}, {"detail": "bound method type[DataFrame].from_dict(data: dict[Unknown, Unknown], orient: Literal[\"columns\", \"index\", \"tight\"] = \"columns\", dtype: ExtensionDtype | str | dtype[Any] | type | None = None, columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Construct DataFrame from dict of array-like or dicts.\n\nCreates DataFrame object from dictionary by columns or by index\nallowing dtype specification.\n\nParameters\n----------\ndata : dict\n Of the form {field : array-like} or {field : dict}.\norient : {'columns', 'index', 'tight'}, default 'columns'\n The \"orientation\" of the data. If the keys of the passed dict\n should be the columns of the resulting DataFrame, pass 'columns'\n (default). Otherwise if the keys should be rows, pass 'index'.\n If 'tight', assume a dict with keys ['index', 'columns', 'data',\n 'index_names', 'column_names'].\n\n .. versionadded:: 1.4.0\n 'tight' as an allowed value for the ``orient`` argument\n\ndtype : dtype, default None\n Data type to force after DataFrame construction, otherwise infer.\ncolumns : list, default None\n Column labels to use when ``orient='index'``. Raises a ValueError\n if used with ``orient='columns'`` or ``orient='tight'``.\n\nReturns\n-------\nDataFrame\n\nSee Also\n--------\nDataFrame.from_records : DataFrame from structured ndarray, sequence\n of tuples or dicts, or DataFrame.\nDataFrame : DataFrame object creation using constructor.\nDataFrame.to_dict : Convert the DataFrame to a dictionary.\n\nExamples\n--------\nBy default the keys of the dict become the DataFrame columns:\n\n>>> data = {'col_1': [3, 2, 1, 0], 'col_2': ['a', 'b', 'c', 'd']}\n>>> pd.DataFrame.from_dict(data)\n col_1 col_2\n0 3 a\n1 2 b\n2 1 c\n3 0 d\n\nSpecify ``orient='index'`` to create the DataFrame using dictionary\nkeys as rows:\n\n>>> data = {'row_1': [3, 2, 1, 0], 'row_2': ['a', 'b', 'c', 'd']}\n>>> pd.DataFrame.from_dict(data, orient='index')\n 0 1 2 3\nrow_1 3 2 1 0\nrow_2 a b c d\n\nWhen using the 'index' orientation, the column names can be\nspecified manually:\n\n>>> pd.DataFrame.from_dict(data, orient='index',\n... columns=['A', 'B', 'C', 'D'])\n A B C D\nrow_1 3 2 1 0\nrow_2 a b c d\n\nSpecify ``orient='tight'`` to create the DataFrame using a 'tight'\nformat:\n\n>>> data = {'index': [('a', 'b'), ('a', 'c')],\n... 'columns': [('x', 1), ('y', 2)],\n... 'data': [[1, 3], [2, 4]],\n... 'index_names': ['n1', 'n2'],\n... 'column_names': ['z1', 'z2']}\n>>> pd.DataFrame.from_dict(data, orient='tight')\nz1 x y\nz2 1 2\nn1 n2\na b 1 3\n c 2 4\n"}, "kind": 2, "label": "from_dict", "sortText": " 66"}, {"detail": "bound method type[DataFrame].from_records(data, index=None, exclude=None, columns=None, coerce_float: bool = False, nrows: int | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Convert structured or record ndarray to DataFrame.\n\nCreates a DataFrame object from a structured ndarray, sequence of\ntuples or dicts, or DataFrame.\n\nParameters\n----------\ndata : structured ndarray, sequence of tuples or dicts, or DataFrame\n Structured input data.\n\n .. deprecated:: 2.1.0\n Passing a DataFrame is deprecated.\nindex : str, list of fields, array-like\n Field of array to use as the index, alternately a specific set of\n input labels to use.\nexclude : sequence, default None\n Columns or fields to exclude.\ncolumns : sequence, default None\n Column names to use. If the passed data do not have names\n associated with them, this argument provides names for the\n columns. Otherwise this argument indicates the order of the columns\n in the result (any names not found in the data will become all-NA\n columns).\ncoerce_float : bool, default False\n Attempt to convert values of non-string, non-numeric objects (like\n decimal.Decimal) to floating point, useful for SQL result sets.\nnrows : int, default None\n Number of rows to read if data is an iterator.\n\nReturns\n-------\nDataFrame\n\nSee Also\n--------\nDataFrame.from_dict : DataFrame from dict of array-like or dicts.\nDataFrame : DataFrame object creation using constructor.\n\nExamples\n--------\nData can be provided as a structured ndarray:\n\n>>> data = np.array([(3, 'a'), (2, 'b'), (1, 'c'), (0, 'd')],\n... dtype=[('col_1', 'i4'), ('col_2', 'U1')])\n>>> pd.DataFrame.from_records(data)\n col_1 col_2\n0 3 a\n1 2 b\n2 1 c\n3 0 d\n\nData can be provided as a list of dicts:\n\n>>> data = [{'col_1': 3, 'col_2': 'a'},\n... {'col_1': 2, 'col_2': 'b'},\n... {'col_1': 1, 'col_2': 'c'},\n... {'col_1': 0, 'col_2': 'd'}]\n>>> pd.DataFrame.from_records(data)\n col_1 col_2\n0 3 a\n1 2 b\n2 1 c\n3 0 d\n\nData can be provided as a list of tuples with corresponding columns:\n\n>>> data = [(3, 'a'), (2, 'b'), (1, 'c'), (0, 'd')]\n>>> pd.DataFrame.from_records(data, columns=['col_1', 'col_2'])\n col_1 col_2\n0 3 a\n1 2 b\n2 1 c\n3 0 d\n"}, "kind": 2, "label": "from_records", "sortText": " 67"}, {"detail": "bound method DataFrame.ge(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "ge", "sortText": " 68"}, {"detail": "bound method DataFrame.get(key, default=None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Get item from object for given key (ex: DataFrame column).\n\nReturns default value if not found.\n\nParameters\n----------\nkey : object\n\nReturns\n-------\nsame type as items contained in object\n\nExamples\n--------\n>>> df = pd.DataFrame(\n... [\n... [24.3, 75.7, \"high\"],\n... [31, 87.8, \"high\"],\n... [22, 71.6, \"medium\"],\n... [35, 95, \"medium\"],\n... ],\n... columns=[\"temp_celsius\", \"temp_fahrenheit\", \"windspeed\"],\n... index=pd.date_range(start=\"2014-02-12\", end=\"2014-02-15\", freq=\"D\"),\n... )\n\n>>> df\n temp_celsius temp_fahrenheit windspeed\n2014-02-12 24.3 75.7 high\n2014-02-13 31.0 87.8 high\n2014-02-14 22.0 71.6 medium\n2014-02-15 35.0 95.0 medium\n\n>>> df.get([\"temp_celsius\", \"windspeed\"])\n temp_celsius windspeed\n2014-02-12 24.3 high\n2014-02-13 31.0 high\n2014-02-14 22.0 medium\n2014-02-15 35.0 medium\n\n>>> ser = df['windspeed']\n>>> ser.get('2014-02-13')\n'high'\n\nIf the key isn't found, the default value will be used.\n\n>>> df.get([\"temp_celsius\", \"temp_kelvin\"], default=\"default_value\")\n'default_value'\n\n>>> ser.get('2014-02-10', '[unknown]')\n'[unknown]'\n"}, "kind": 2, "label": "get", "sortText": " 69"}, {"detail": "bound method DataFrame.groupby(by=None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., level: Hashable | Sequence[Hashable] = None, as_index: bool = True, sort: bool = True, group_keys: bool = True, observed: bool | _NoDefault = ..., dropna: bool = True) -> DataFrameGroupBy", "kind": 2, "label": "groupby", "sortText": " 70"}, {"detail": "bound method DataFrame.gt(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "gt", "sortText": " 71"}, {"detail": "bound method DataFrame.head(n: int = 5) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the first `n` rows.\n\nThis function returns the first `n` rows for the object based\non position. It is useful for quickly testing if your object\nhas the right type of data in it.\n\nFor negative values of `n`, this function returns all rows except\nthe last `|n|` rows, equivalent to ``df[:n]``.\n\nIf n is larger than the number of rows, this function returns all rows.\n\nParameters\n----------\nn : int, default 5\n Number of rows to select.\n\nReturns\n-------\nsame type as caller\n The first `n` rows of the caller object.\n\nSee Also\n--------\nDataFrame.tail: Returns the last `n` rows.\n\nExamples\n--------\n>>> df = pd.DataFrame({'animal': ['alligator', 'bee', 'falcon', 'lion',\n... 'monkey', 'parrot', 'shark', 'whale', 'zebra']})\n>>> df\n animal\n0 alligator\n1 bee\n2 falcon\n3 lion\n4 monkey\n5 parrot\n6 shark\n7 whale\n8 zebra\n\nViewing the first 5 lines\n\n>>> df.head()\n animal\n0 alligator\n1 bee\n2 falcon\n3 lion\n4 monkey\n\nViewing the first `n` lines (three in this case)\n\n>>> df.head(3)\n animal\n0 alligator\n1 bee\n2 falcon\n\nFor negative values of `n`\n\n>>> df.head(-3)\n animal\n0 alligator\n1 bee\n2 falcon\n3 lion\n4 monkey\n5 parrot\n"}, "kind": 2, "label": "head", "sortText": " 72"}, {"detail": "(column: Hashable | Sequence[Hashable] = None, by=None, grid: bool = True, xlabelsize: int | None = None, xrot: float | None = None, ylabelsize: int | None = None, yrot: float | None = None, ax=None, sharex: bool = False, sharey: bool = False, figsize: tuple[int, int] | None = None, layout: tuple[int, int] | None = None, bins: int | Sequence[int] = 10, backend: str | None = None, legend: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "hist", "sortText": " 73"}, {"detail": "_iAtIndexer", "kind": 22, "label": "iat", "sortText": " 74"}, {"detail": "bound method DataFrame.idxmax(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, skipna: bool = True, numeric_only: bool = False) -> Series", "kind": 2, "label": "idxmax", "sortText": " 75"}, {"detail": "bound method DataFrame.idxmin(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, skipna: bool = True, numeric_only: bool = False) -> Series", "kind": 2, "label": "idxmin", "sortText": " 76"}, {"detail": "_iLocIndexer", "kind": 22, "label": "iloc", "sortText": " 77"}, {"detail": "Index", "documentation": {"kind": "plaintext", "value": "Immutable sequence used for indexing and alignment.\n\nThe basic object storing axis labels for all pandas objects.\n\n.. versionchanged:: 2.0.0\n\n Index can hold all numpy numeric dtypes (except float16). Previously only\n int64/uint64/float64 dtypes were accepted.\n\nParameters\n----------\ndata : array-like (1-dimensional)\ndtype : str, numpy.dtype, or ExtensionDtype, optional\n Data type for the output Index. If not specified, this will be\n inferred from `data`.\n See the :ref:`user guide ` for more usages.\ncopy : bool, default False\n Copy input data.\nname : object\n Name to be stored in the index.\ntupleize_cols : bool (default: True)\n When True, attempt to create a MultiIndex if possible.\n\nSee Also\n--------\nRangeIndex : Index implementing a monotonic integer range.\nCategoricalIndex : Index of :class:`Categorical` s.\nMultiIndex : A multi-level, or hierarchical Index.\nIntervalIndex : An Index of :class:`Interval` s.\nDatetimeIndex : Index of datetime64 data.\nTimedeltaIndex : Index of timedelta64 data.\nPeriodIndex : Index of Period data.\n\nNotes\n-----\nAn Index instance can **only** contain hashable objects.\nAn Index instance *can not* hold numpy float16 dtype.\n\nExamples\n--------\n>>> pd.Index([1, 2, 3])\nIndex([1, 2, 3], dtype='int64')\n\n>>> pd.Index(list('abc'))\nIndex(['a', 'b', 'c'], dtype='object')\n\n>>> pd.Index([1, 2, 3], dtype=\"uint8\")\nIndex([1, 2, 3], dtype='uint8')\n"}, "kind": 22, "label": "index", "sortText": " 78"}, {"detail": "bound method DataFrame.infer_objects(copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Attempt to infer better dtypes for object columns.\n\nAttempts soft conversion of object-dtyped\ncolumns, leaving non-object and unconvertible\ncolumns unchanged. The inference rules are the\nsame as during normal Series/DataFrame construction.\n\nParameters\n----------\ncopy : bool, default True\n Whether to make a copy for non-object or non-inferable columns\n or Series.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\nsame type as input object\n\nSee Also\n--------\nto_datetime : Convert argument to datetime.\nto_timedelta : Convert argument to timedelta.\nto_numeric : Convert argument to numeric type.\nconvert_dtypes : Convert argument to best possible dtype.\n\nExamples\n--------\n>>> df = pd.DataFrame({\"A\": [\"a\", 1, 2, 3]})\n>>> df = df.iloc[1:]\n>>> df\n A\n1 1\n2 2\n3 3\n\n>>> df.dtypes\nA object\ndtype: object\n\n>>> df.infer_objects().dtypes\nA int64\ndtype: object\n"}, "kind": 2, "label": "infer_objects", "sortText": " 79"}, {"detail": "bound method DataFrame.info(verbose: bool | None = None, buf: WriteBuffer[str] | None = None, max_cols: int | None = None, memory_usage: bool | str | None = None, show_counts: bool | None = None) -> None", "kind": 2, "label": "info", "sortText": " 80"}, {"detail": "bound method DataFrame.insert(loc: int, column: Hashable, value: str | float | Period | ... omitted 9 union elements, allow_duplicates: bool | _NoDefault = ...) -> None", "documentation": {"kind": "plaintext", "value": "Insert column into DataFrame at specified location.\n\nRaises a ValueError if `column` is already contained in the DataFrame,\nunless `allow_duplicates` is set to True.\n\nParameters\n----------\nloc : int\n Insertion index. Must verify 0 <= loc <= len(columns).\ncolumn : str, number, or hashable object\n Label of the inserted column.\nvalue : Scalar, Series, or array-like\n Content of the inserted column.\nallow_duplicates : bool, optional, default lib.no_default\n Allow duplicate column labels to be created.\n\nSee Also\n--------\nIndex.insert : Insert new item by index.\n\nExamples\n--------\n>>> df = pd.DataFrame({'col1': [1, 2], 'col2': [3, 4]})\n>>> df\n col1 col2\n0 1 3\n1 2 4\n>>> df.insert(1, \"newcol\", [99, 99])\n>>> df\n col1 newcol col2\n0 1 99 3\n1 2 99 4\n>>> df.insert(0, \"col1\", [100, 100], allow_duplicates=True)\n>>> df\n col1 col1 newcol col2\n0 100 1 99 3\n1 100 2 99 4\n\nNotice that pandas uses index alignment in case of `value` from type `Series`:\n\n>>> df.insert(0, \"col0\", pd.Series([5, 6], index=[1, 2]))\n>>> df\n col0 col1 col1 newcol col2\n0 NaN 100 1 99 3\n1 5.0 100 2 99 4\n"}, "kind": 2, "label": "insert", "sortText": " 81"}, {"detail": "Overload[(method: Literal[\"linear\", \"time\", \"index\", \"values\", \"nearest\", ... omitted 13 literals] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., limit: int | None = ..., inplace: Literal[False] = ..., limit_direction: Literal[\"forward\", \"backward\", \"both\"] | None = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: Literal[\"infer\"] | None | _NoDefault = ..., **kwargs) -> DataFrame, (method: Literal[\"linear\", \"time\", \"index\", \"values\", \"nearest\", ... omitted 13 literals] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., limit: int | None = ..., inplace: Literal[True], limit_direction: Literal[\"forward\", \"backward\", \"both\"] | None = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: Literal[\"infer\"] | None | _NoDefault = ..., **kwargs) -> None, (method: Literal[\"linear\", \"time\", \"index\", \"values\", \"nearest\", ... omitted 13 literals] = ..., *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., limit: int | None = ..., inplace: bool = ..., limit_direction: Literal[\"forward\", \"backward\", \"both\"] | None = ..., limit_area: Literal[\"inside\", \"outside\"] | None = ..., downcast: Literal[\"infer\"] | None | _NoDefault = ..., **kwargs) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Fill NaN values using an interpolation method.\n\nPlease note that only ``method='linear'`` is supported for\nDataFrame/Series with a MultiIndex.\n\nParameters\n----------\nmethod : str, default 'linear'\n Interpolation technique to use. One of:\n\n * 'linear': Ignore the index and treat the values as equally\n spaced. This is the only method supported on MultiIndexes.\n * 'time': Works on daily and higher resolution data to interpolate\n given length of interval.\n * 'index', 'values': use the actual numerical values of the index.\n * 'pad': Fill in NaNs using existing values.\n * 'nearest', 'zero', 'slinear', 'quadratic', 'cubic',\n 'barycentric', 'polynomial': Passed to\n `scipy.interpolate.interp1d`, whereas 'spline' is passed to\n `scipy.interpolate.UnivariateSpline`. These methods use the numerical\n values of the index. Both 'polynomial' and 'spline' require that\n you also specify an `order` (int), e.g.\n ``df.interpolate(method='polynomial', order=5)``. Note that,\n `slinear` method in Pandas refers to the Scipy first order `spline`\n instead of Pandas first order `spline`.\n * 'krogh', 'piecewise_polynomial', 'spline', 'pchip', 'akima',\n 'cubicspline': Wrappers around the SciPy interpolation methods of\n similar names. See `Notes`.\n * 'from_derivatives': Refers to\n `scipy.interpolate.BPoly.from_derivatives`.\n\naxis : {{0 or 'index', 1 or 'columns', None}}, default None\n Axis to interpolate along. For `Series` this parameter is unused\n and defaults to 0.\nlimit : int, optional\n Maximum number of consecutive NaNs to fill. Must be greater than\n 0.\ninplace : bool, default False\n Update the data in place if possible.\nlimit_direction : {{'forward', 'backward', 'both'}}, Optional\n Consecutive NaNs will be filled in this direction.\n\n If limit is specified:\n * If 'method' is 'pad' or 'ffill', 'limit_direction' must be 'forward'.\n * If 'method' is 'backfill' or 'bfill', 'limit_direction' must be\n 'backwards'.\n\n If 'limit' is not specified:\n * If 'method' is 'backfill' or 'bfill', the default is 'backward'\n * else the default is 'forward'\n\n raises ValueError if `limit_direction` is 'forward' or 'both' and\n method is 'backfill' or 'bfill'.\n raises ValueError if `limit_direction` is 'backward' or 'both' and\n method is 'pad' or 'ffill'.\n\nlimit_area : {{`None`, 'inside', 'outside'}}, default None\n If limit is specified, consecutive NaNs will be filled with this\n restriction.\n\n * ``None``: No fill restriction.\n * 'inside': Only fill NaNs surrounded by valid values\n (interpolate).\n * 'outside': Only fill NaNs outside valid values (extrapolate).\n\ndowncast : optional, 'infer' or None, defaults to None\n Downcast dtypes if possible.\n\n .. deprecated:: 2.1.0\n\n``**kwargs`` : optional\n Keyword arguments to pass on to the interpolating function.\n\nReturns\n-------\nSeries or DataFrame or None\n Returns the same object type as the caller, interpolated at\n some or all ``NaN`` values or None if ``inplace=True``.\n\nSee Also\n--------\nfillna : Fill missing values using different methods.\nscipy.interpolate.Akima1DInterpolator : Piecewise cubic polynomials\n (Akima interpolator).\nscipy.interpolate.BPoly.from_derivatives : Piecewise polynomial in the\n Bernstein basis.\nscipy.interpolate.interp1d : Interpolate a 1-D function.\nscipy.interpolate.KroghInterpolator : Interpolate polynomial (Krogh\n interpolator).\nscipy.interpolate.PchipInterpolator : PCHIP 1-d monotonic cubic\n interpolation.\nscipy.interpolate.CubicSpline : Cubic spline data interpolator.\n\nNotes\n-----\nThe 'krogh', 'piecewise_polynomial', 'spline', 'pchip' and 'akima'\nmethods are wrappers around the respective SciPy implementations of\nsimilar names. These use the actual numerical values of the index.\nFor more information on their behavior, see the\n`SciPy documentation\n`__.\n\nExamples\n--------\nFilling in ``NaN`` in a :class:`~pandas.Series` via linear\ninterpolation.\n\n>>> s = pd.Series([0, 1, np.nan, 3])\n>>> s\n0 0.0\n1 1.0\n2 NaN\n3 3.0\ndtype: float64\n>>> s.interpolate()\n0 0.0\n1 1.0\n2 2.0\n3 3.0\ndtype: float64\n\nFilling in ``NaN`` in a Series via polynomial interpolation or splines:\nBoth 'polynomial' and 'spline' methods require that you also specify\nan ``order`` (int).\n\n>>> s = pd.Series([0, 2, np.nan, 8])\n>>> s.interpolate(method='polynomial', order=2)\n0 0.000000\n1 2.000000\n2 4.666667\n3 8.000000\ndtype: float64\n\nFill the DataFrame forward (that is, going down) along each column\nusing linear interpolation.\n\nNote how the last entry in column 'a' is interpolated differently,\nbecause there is no entry after it to use for interpolation.\nNote how the first entry in column 'b' remains ``NaN``, because there\nis no entry before it to use for interpolation.\n\n>>> df = pd.DataFrame([(0.0, np.nan, -1.0, 1.0),\n... (np.nan, 2.0, np.nan, np.nan),\n... (2.0, 3.0, np.nan, 9.0),\n... (np.nan, 4.0, -4.0, 16.0)],\n... columns=list('abcd'))\n>>> df\n a b c d\n0 0.0 NaN -1.0 1.0\n1 NaN 2.0 NaN NaN\n2 2.0 3.0 NaN 9.0\n3 NaN 4.0 -4.0 16.0\n>>> df.interpolate(method='linear', limit_direction='forward', axis=0)\n a b c d\n0 0.0 NaN -1.0 1.0\n1 1.0 2.0 -2.0 5.0\n2 2.0 3.0 -3.0 9.0\n3 2.0 4.0 -4.0 16.0\n\nUsing polynomial interpolation.\n\n>>> df['d'].interpolate(method='polynomial', order=2)\n0 1.0\n1 4.0\n2 9.0\n3 16.0\nName: d, dtype: float64\n"}, "kind": 2, "label": "interpolate", "sortText": " 82"}, {"detail": "bound method DataFrame.isetitem(loc, value) -> None", "documentation": {"kind": "plaintext", "value": "Set the given value in the column with position `loc`.\n\nThis is a positional analogue to ``__setitem__``.\n\nParameters\n----------\nloc : int or sequence of ints\n Index position for the column.\nvalue : scalar or arraylike\n Value(s) for the column.\n\nNotes\n-----\n``frame.isetitem(loc, value)`` is an in-place method as it will\nmodify the DataFrame in place (not returning a new object). In contrast to\n``frame.iloc[:, i] = value`` which will try to update the existing values in\nplace, ``frame.isetitem(loc, value)`` will not update the values of the column\nitself in place, it will instead insert a new array.\n\nIn cases where ``frame.columns`` is unique, this is equivalent to\n``frame[frame.columns[i]] = value``.\n"}, "kind": 2, "label": "isetitem", "sortText": " 83"}, {"detail": "bound method DataFrame.isin(values: Series | DataFrame | Sequence[Unknown] | Mapping[Unknown, Unknown]) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Whether each element in the DataFrame is contained in values.\n\nParameters\n----------\nvalues : iterable, Series, DataFrame or dict\n The result will only be true at a location if all the\n labels match. If `values` is a Series, that's the index. If\n `values` is a dict, the keys must be the column names,\n which must match. If `values` is a DataFrame,\n then both the index and column labels must match.\n\nReturns\n-------\nDataFrame\n DataFrame of booleans showing whether each element in the DataFrame\n is contained in values.\n\nSee Also\n--------\nDataFrame.eq: Equality test for DataFrame.\nSeries.isin: Equivalent method on Series.\nSeries.str.contains: Test if pattern or regex is contained within a\n string of a Series or Index.\n\nExamples\n--------\n>>> df = pd.DataFrame({'num_legs': [2, 4], 'num_wings': [2, 0]},\n... index=['falcon', 'dog'])\n>>> df\n num_legs num_wings\nfalcon 2 2\ndog 4 0\n\nWhen ``values`` is a list check whether every value in the DataFrame\nis present in the list (which animals have 0 or 2 legs or wings)\n\n>>> df.isin([0, 2])\n num_legs num_wings\nfalcon True True\ndog False True\n\nTo check if ``values`` is *not* in the DataFrame, use the ``~`` operator:\n\n>>> ~df.isin([0, 2])\n num_legs num_wings\nfalcon False False\ndog True False\n\nWhen ``values`` is a dict, we can pass values to check for each\ncolumn separately:\n\n>>> df.isin({'num_wings': [0, 3]})\n num_legs num_wings\nfalcon False False\ndog False True\n\nWhen ``values`` is a Series or DataFrame the index and column must\nmatch. Note that 'falcon' does not match based on the number of legs\nin other.\n\n>>> other = pd.DataFrame({'num_legs': [8, 3], 'num_wings': [0, 2]},\n... index=['spider', 'falcon'])\n>>> df.isin(other)\n num_legs num_wings\nfalcon False True\ndog False False\n"}, "kind": 2, "label": "isin", "sortText": " 84"}, {"detail": "bound method DataFrame.isna() -> DataFrame", "kind": 2, "label": "isna", "sortText": " 85"}, {"detail": "bound method DataFrame.isnull() -> DataFrame", "documentation": {"kind": "plaintext", "value": "DataFrame.isnull is an alias for DataFrame.isna.\n"}, "kind": 2, "label": "isnull", "sortText": " 86"}, {"detail": "bound method DataFrame.items() -> Iterable[tuple[Hashable, Series]]", "kind": 2, "label": "items", "sortText": " 87"}, {"detail": "bound method DataFrame.iterrows() -> Iterable[tuple[Hashable, Series]]", "documentation": {"kind": "plaintext", "value": "Iterate over DataFrame rows as (index, Series) pairs.\n\nYields\n------\nindex : label or tuple of label\n The index of the row. A tuple for a `MultiIndex`.\ndata : Series\n The data of the row as a Series.\n\nSee Also\n--------\nDataFrame.itertuples : Iterate over DataFrame rows as namedtuples of the values.\nDataFrame.items : Iterate over (column name, Series) pairs.\n\nNotes\n-----\n1. Because ``iterrows`` returns a Series for each row,\n it does **not** preserve dtypes across the rows (dtypes are\n preserved across columns for DataFrames).\n\n To preserve dtypes while iterating over the rows, it is better\n to use :meth:`itertuples` which returns namedtuples of the values\n and which is generally faster than ``iterrows``.\n\n2. You should **never modify** something you are iterating over.\n This is not guaranteed to work in all cases. Depending on the\n data types, the iterator returns a copy and not a view, and writing\n to it will have no effect.\n\nExamples\n--------\n\n>>> df = pd.DataFrame([[1, 1.5]], columns=['int', 'float'])\n>>> row = next(df.iterrows())[1]\n>>> row\nint 1.0\nfloat 1.5\nName: 0, dtype: float64\n>>> print(row['int'].dtype)\nfloat64\n>>> print(df['int'].dtype)\nint64\n"}, "kind": 2, "label": "iterrows", "sortText": " 88"}, {"detail": "bound method DataFrame.itertuples(index: bool = True, name: str | None = \"Pandas\") -> Iterable[tuple[Any, ...]]", "documentation": {"kind": "plaintext", "value": "Iterate over DataFrame rows as namedtuples.\n\nParameters\n----------\nindex : bool, default True\n If True, return the index as the first element of the tuple.\nname : str or None, default \"Pandas\"\n The name of the returned namedtuples or None to return regular\n tuples.\n\nReturns\n-------\niterator\n An object to iterate over namedtuples for each row in the\n DataFrame with the first field possibly being the index and\n following fields being the column values.\n\nSee Also\n--------\nDataFrame.iterrows : Iterate over DataFrame rows as (index, Series)\n pairs.\nDataFrame.items : Iterate over (column name, Series) pairs.\n\nNotes\n-----\nThe column names will be renamed to positional names if they are\ninvalid Python identifiers, repeated, or start with an underscore.\n\nExamples\n--------\n>>> df = pd.DataFrame({'num_legs': [4, 2], 'num_wings': [0, 2]},\n... index=['dog', 'hawk'])\n>>> df\n num_legs num_wings\ndog 4 0\nhawk 2 2\n>>> for row in df.itertuples():\n... print(row)\n...\nPandas(Index='dog', num_legs=4, num_wings=0)\nPandas(Index='hawk', num_legs=2, num_wings=2)\n\nBy setting the `index` parameter to False we can remove the index\nas the first element of the tuple:\n\n>>> for row in df.itertuples(index=False):\n... print(row)\n...\nPandas(num_legs=4, num_wings=0)\nPandas(num_legs=2, num_wings=2)\n\nWith the `name` parameter set we set a custom name for the yielded\nnamedtuples:\n\n>>> for row in df.itertuples(name='Animal'):\n... print(row)\n...\nAnimal(Index='dog', num_legs=4, num_wings=0)\nAnimal(Index='hawk', num_legs=2, num_wings=2)\n"}, "kind": 2, "label": "itertuples", "sortText": " 89"}, {"detail": "bound method DataFrame.join(other: DataFrame | Series | Iterable[DataFrame | Series], on: Hashable | Sequence[Hashable] = None, how: Literal[\"left\", \"right\", \"inner\", \"outer\", \"cross\"] = \"left\", lsuffix: str = \"\", rsuffix: str = \"\", sort: bool = False, validate: Literal[\"one_to_one\", \"1:1\", \"one_to_many\", \"1:m\", \"many_to_one\", ... omitted 3 literals] | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Join columns of another DataFrame.\n\nJoin columns with `other` DataFrame either on index or on a key\ncolumn. Efficiently join multiple DataFrame objects by index at once by\npassing a list.\n\nParameters\n----------\nother : DataFrame, Series, or a list containing any combination of them\n Index should be similar to one of the columns in this one. If a\n Series is passed, its name attribute must be set, and that will be\n used as the column name in the resulting joined DataFrame.\non : str, list of str, or array-like, optional\n Column or index level name(s) in the caller to join on the index\n in `other`, otherwise joins index-on-index. If multiple\n values given, the `other` DataFrame must have a MultiIndex. Can\n pass an array as the join key if it is not already contained in\n the calling DataFrame. Like an Excel VLOOKUP operation.\nhow : {'left', 'right', 'outer', 'inner', 'cross'}, default 'left'\n How to handle the operation of the two objects.\n\n * left: use calling frame's index (or column if on is specified)\n * right: use `other`'s index.\n * outer: form union of calling frame's index (or column if on is\n specified) with `other`'s index, and sort it lexicographically.\n * inner: form intersection of calling frame's index (or column if\n on is specified) with `other`'s index, preserving the order\n of the calling's one.\n * cross: creates the cartesian product from both frames, preserves the order\n of the left keys.\nlsuffix : str, default ''\n Suffix to use from left frame's overlapping columns.\nrsuffix : str, default ''\n Suffix to use from right frame's overlapping columns.\nsort : bool, default False\n Order result DataFrame lexicographically by the join key. If False,\n the order of the join key depends on the join type (how keyword).\nvalidate : str, optional\n If specified, checks if join is of specified type.\n\n * \"one_to_one\" or \"1:1\": check if join keys are unique in both left\n and right datasets.\n * \"one_to_many\" or \"1:m\": check if join keys are unique in left dataset.\n * \"many_to_one\" or \"m:1\": check if join keys are unique in right dataset.\n * \"many_to_many\" or \"m:m\": allowed, but does not result in checks.\n\n .. versionadded:: 1.5.0\n\nReturns\n-------\nDataFrame\n A dataframe containing columns from both the caller and `other`.\n\nSee Also\n--------\nDataFrame.merge : For column(s)-on-column(s) operations.\n\nNotes\n-----\nParameters `on`, `lsuffix`, and `rsuffix` are not supported when\npassing a list of `DataFrame` objects.\n\nExamples\n--------\n>>> df = pd.DataFrame({'key': ['K0', 'K1', 'K2', 'K3', 'K4', 'K5'],\n... 'A': ['A0', 'A1', 'A2', 'A3', 'A4', 'A5']})\n\n>>> df\n key A\n0 K0 A0\n1 K1 A1\n2 K2 A2\n3 K3 A3\n4 K4 A4\n5 K5 A5\n\n>>> other = pd.DataFrame({'key': ['K0', 'K1', 'K2'],\n... 'B': ['B0', 'B1', 'B2']})\n\n>>> other\n key B\n0 K0 B0\n1 K1 B1\n2 K2 B2\n\nJoin DataFrames using their indexes.\n\n>>> df.join(other, lsuffix='_caller', rsuffix='_other')\n key_caller A key_other B\n0 K0 A0 K0 B0\n1 K1 A1 K1 B1\n2 K2 A2 K2 B2\n3 K3 A3 NaN NaN\n4 K4 A4 NaN NaN\n5 K5 A5 NaN NaN\n\nIf we want to join using the key columns, we need to set key to be\nthe index in both `df` and `other`. The joined DataFrame will have\nkey as its index.\n\n>>> df.set_index('key').join(other.set_index('key'))\n A B\nkey\nK0 A0 B0\nK1 A1 B1\nK2 A2 B2\nK3 A3 NaN\nK4 A4 NaN\nK5 A5 NaN\n\nAnother option to join using the key columns is to use the `on`\nparameter. DataFrame.join always uses `other`'s index but we can use\nany column in `df`. This method preserves the original DataFrame's\nindex in the result.\n\n>>> df.join(other.set_index('key'), on='key')\n key A B\n0 K0 A0 B0\n1 K1 A1 B1\n2 K2 A2 B2\n3 K3 A3 NaN\n4 K4 A4 NaN\n5 K5 A5 NaN\n\nUsing non-unique key values shows how they are matched.\n\n>>> df = pd.DataFrame({'key': ['K0', 'K1', 'K1', 'K3', 'K0', 'K1'],\n... 'A': ['A0', 'A1', 'A2', 'A3', 'A4', 'A5']})\n\n>>> df\n key A\n0 K0 A0\n1 K1 A1\n2 K1 A2\n3 K3 A3\n4 K0 A4\n5 K1 A5\n\n>>> df.join(other.set_index('key'), on='key', validate='m:1')\n key A B\n0 K0 A0 B0\n1 K1 A1 B1\n2 K1 A2 B1\n3 K3 A3 NaN\n4 K0 A4 B0\n5 K1 A5 B1\n"}, "kind": 2, "label": "join", "sortText": " 90"}, {"detail": "bound method DataFrame.keys() -> Index", "documentation": {"kind": "plaintext", "value": "Get the 'info axis' (see Indexing for more).\n\nThis is index for Series, columns for DataFrame.\n\nReturns\n-------\nIndex\n Info axis.\n\nExamples\n--------\n>>> d = pd.DataFrame(data={'A': [1, 2, 3], 'B': [0, 4, 8]},\n... index=['a', 'b', 'c'])\n>>> d\n A B\na 1 0\nb 2 4\nc 3 8\n>>> d.keys()\nIndex(['A', 'B'], dtype='object')\n"}, "kind": 2, "label": "keys", "sortText": " 91"}, {"detail": "bound method DataFrame.kurt(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "kurt", "sortText": " 92"}, {"detail": "(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "kurtosis", "sortText": " 93"}, {"detail": "bound method DataFrame.last(offset) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Select final periods of time series data based on a date offset.\n\n.. deprecated:: 2.1\n :meth:`.last` is deprecated and will be removed in a future version.\n Please create a mask and filter using `.loc` instead.\n\nFor a DataFrame with a sorted DatetimeIndex, this function\nselects the last few rows based on a date offset.\n\nParameters\n----------\noffset : str, DateOffset, dateutil.relativedelta\n The offset length of the data that will be selected. For instance,\n '3D' will display all the rows having their index within the last 3 days.\n\nReturns\n-------\nSeries or DataFrame\n A subset of the caller.\n\nRaises\n------\nTypeError\n If the index is not a :class:`DatetimeIndex`\n\nSee Also\n--------\nfirst : Select initial periods of time series based on a date offset.\nat_time : Select values at a particular time of the day.\nbetween_time : Select values between particular times of the day.\n\nNotes\n-----\n.. deprecated:: 2.1.0\n Please create a mask and filter using `.loc` instead\n\nExamples\n--------\n>>> i = pd.date_range('2018-04-09', periods=4, freq='2D')\n>>> ts = pd.DataFrame({'A': [1, 2, 3, 4]}, index=i)\n>>> ts\n A\n2018-04-09 1\n2018-04-11 2\n2018-04-13 3\n2018-04-15 4\n\nGet the rows for the last 3 days:\n\n>>> ts.last('3D') # doctest: +SKIP\n A\n2018-04-13 3\n2018-04-15 4\n\nNotice the data for 3 last calendar days were returned, not the last\n3 observed days in the dataset, and therefore data for 2018-04-11 was\nnot returned.\n"}, "kind": 2, "label": "last", "sortText": " 94"}, {"detail": "bound method DataFrame.last_valid_index() -> Hashable", "kind": 2, "label": "last_valid_index", "sortText": " 95"}, {"detail": "bound method DataFrame.le(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "le", "sortText": " 96"}, {"detail": "_LocIndexer", "kind": 22, "label": "loc", "sortText": " 97"}, {"detail": "bound method DataFrame.lt(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "lt", "sortText": " 98"}, {"detail": "bound method DataFrame.map(func: (Any, /) -> Any, na_action: str | None = None, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Apply a function to a Dataframe elementwise.\n\n.. versionadded:: 2.1.0\n\n DataFrame.applymap was deprecated and renamed to DataFrame.map.\n\nThis method applies a function that accepts and returns a scalar\nto every element of a DataFrame.\n\nParameters\n----------\nfunc : callable\n Python function, returns a single value from a single value.\nna_action : {None, 'ignore'}, default None\n If 'ignore', propagate NaN values, without passing them to func.\n**kwargs\n Additional keyword arguments to pass as keywords arguments to\n `func`.\n\nReturns\n-------\nDataFrame\n Transformed DataFrame.\n\nSee Also\n--------\nDataFrame.apply : Apply a function along input axis of DataFrame.\nDataFrame.replace: Replace values given in `to_replace` with `value`.\nSeries.map : Apply a function elementwise on a Series.\n\nExamples\n--------\n>>> df = pd.DataFrame([[1, 2.12], [3.356, 4.567]])\n>>> df\n 0 1\n0 1.000 2.120\n1 3.356 4.567\n\n>>> df.map(lambda x: len(str(x)))\n 0 1\n0 3 4\n1 5 5\n\nLike Series.map, NA values can be ignored:\n\n>>> df_copy = df.copy()\n>>> df_copy.iloc[0, 0] = pd.NA\n>>> df_copy.map(lambda x: len(str(x)), na_action='ignore')\n 0 1\n0 NaN 4\n1 5.0 5\n\nIt is also possible to use `map` with functions that are not\n`lambda` functions:\n\n>>> df.map(round, ndigits=1)\n 0 1\n0 1.0 2.1\n1 3.4 4.6\n\nNote that a vectorized version of `func` often exists, which will\nbe much faster. You could square each number elementwise.\n\n>>> df.map(lambda x: x**2)\n 0 1\n0 1.000000 4.494400\n1 11.262736 20.857489\n\nBut it's better to avoid map in that case.\n\n>>> df ** 2\n 0 1\n0 1.000000 4.494400\n1 11.262736 20.857489\n"}, "kind": 2, "label": "map", "sortText": " 99"}, {"detail": "Overload[(cond, other=..., *, inplace: Literal[False] = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> DataFrame, (cond, other=..., *, inplace: Literal[True], axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> None, (cond, other=..., *, inplace: bool = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> DataFrame | None]", "kind": 2, "label": "mask", "sortText": "100"}, {"detail": "bound method DataFrame.max(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "max", "sortText": "101"}, {"detail": "bound method DataFrame.mean(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "mean", "sortText": "102"}, {"detail": "bound method DataFrame.median(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "median", "sortText": "103"}, {"detail": "bound method DataFrame.melt(id_vars=None, value_vars=None, var_name=None, value_name: Hashable = \"value\", col_level: Hashable = None, ignore_index: bool = True) -> DataFrame", "kind": 2, "label": "melt", "sortText": "104"}, {"detail": "bound method DataFrame.memory_usage(index: bool = True, deep: bool = False) -> Series", "documentation": {"kind": "plaintext", "value": "Return the memory usage of each column in bytes.\n\nThe memory usage can optionally include the contribution of\nthe index and elements of `object` dtype.\n\nThis value is displayed in `DataFrame.info` by default. This can be\nsuppressed by setting ``pandas.options.display.memory_usage`` to False.\n\nParameters\n----------\nindex : bool, default True\n Specifies whether to include the memory usage of the DataFrame's\n index in returned Series. If ``index=True``, the memory usage of\n the index is the first item in the output.\ndeep : bool, default False\n If True, introspect the data deeply by interrogating\n `object` dtypes for system-level memory consumption, and include\n it in the returned values.\n\nReturns\n-------\nSeries\n A Series whose index is the original column names and whose values\n is the memory usage of each column in bytes.\n\nSee Also\n--------\nnumpy.ndarray.nbytes : Total bytes consumed by the elements of an\n ndarray.\nSeries.memory_usage : Bytes consumed by a Series.\nCategorical : Memory-efficient array for string values with\n many repeated values.\nDataFrame.info : Concise summary of a DataFrame.\n\nNotes\n-----\nSee the :ref:`Frequently Asked Questions ` for more\ndetails.\n\nExamples\n--------\n>>> dtypes = ['int64', 'float64', 'complex128', 'object', 'bool']\n>>> data = dict([(t, np.ones(shape=5000, dtype=int).astype(t))\n... for t in dtypes])\n>>> df = pd.DataFrame(data)\n>>> df.head()\n int64 float64 complex128 object bool\n0 1 1.0 1.0+0.0j 1 True\n1 1 1.0 1.0+0.0j 1 True\n2 1 1.0 1.0+0.0j 1 True\n3 1 1.0 1.0+0.0j 1 True\n4 1 1.0 1.0+0.0j 1 True\n\n>>> df.memory_usage()\nIndex 128\nint64 40000\nfloat64 40000\ncomplex128 80000\nobject 40000\nbool 5000\ndtype: int64\n\n>>> df.memory_usage(index=False)\nint64 40000\nfloat64 40000\ncomplex128 80000\nobject 40000\nbool 5000\ndtype: int64\n\nThe memory footprint of `object` dtype columns is ignored by default:\n\n>>> df.memory_usage(deep=True)\nIndex 128\nint64 40000\nfloat64 40000\ncomplex128 80000\nobject 180000\nbool 5000\ndtype: int64\n\nUse a Categorical for efficient storage of an object-dtype column with\nmany repeated values.\n\n>>> df['object'].astype('category').memory_usage(deep=True)\n5244\n"}, "kind": 2, "label": "memory_usage", "sortText": "105"}, {"detail": "bound method DataFrame.merge(right: DataFrame | Series, how: Literal[\"left\", \"right\", \"inner\", \"outer\", \"cross\"] = \"inner\", on: Hashable | Sequence[Hashable] | ExtensionArray | ... omitted 3 union elements = None, left_on: Hashable | Sequence[Hashable] | ExtensionArray | ... omitted 3 union elements = None, right_on: Hashable | Sequence[Hashable] | ExtensionArray | ... omitted 3 union elements = None, left_index: bool = False, right_index: bool = False, sort: bool = False, suffixes: tuple[str | None, str | None] = ..., copy: bool | None = None, indicator: str | bool = False, validate: Literal[\"one_to_one\", \"1:1\", \"one_to_many\", \"1:m\", \"many_to_one\", ... omitted 3 literals] | None = None) -> DataFrame", "kind": 2, "label": "merge", "sortText": "106"}, {"detail": "bound method DataFrame.min(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "min", "sortText": "107"}, {"detail": "bound method DataFrame.mod(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "mod", "sortText": "108"}, {"detail": "bound method DataFrame.mode(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, numeric_only: bool = False, dropna: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Get the mode(s) of each element along the selected axis.\n\nThe mode of a set of values is the value that appears most often.\nIt can be multiple values.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to iterate over while searching for the mode:\n\n * 0 or 'index' : get mode of each column\n * 1 or 'columns' : get mode of each row.\n\nnumeric_only : bool, default False\n If True, only apply to numeric columns.\ndropna : bool, default True\n Don't consider counts of NaN/NaT.\n\nReturns\n-------\nDataFrame\n The modes of each column or row.\n\nSee Also\n--------\nSeries.mode : Return the highest frequency value in a Series.\nSeries.value_counts : Return the counts of values in a Series.\n\nExamples\n--------\n>>> df = pd.DataFrame([('bird', 2, 2),\n... ('mammal', 4, np.nan),\n... ('arthropod', 8, 0),\n... ('bird', 2, np.nan)],\n... index=('falcon', 'horse', 'spider', 'ostrich'),\n... columns=('species', 'legs', 'wings'))\n>>> df\n species legs wings\nfalcon bird 2 2.0\nhorse mammal 4 NaN\nspider arthropod 8 0.0\nostrich bird 2 NaN\n\nBy default, missing values are not considered, and the mode of wings\nare both 0 and 2. Because the resulting DataFrame has two rows,\nthe second row of ``species`` and ``legs`` contains ``NaN``.\n\n>>> df.mode()\n species legs wings\n0 bird 2.0 0.0\n1 NaN NaN 2.0\n\nSetting ``dropna=False`` ``NaN`` values are considered and they can be\nthe mode (like for wings).\n\n>>> df.mode(dropna=False)\n species legs wings\n0 bird 2 NaN\n\nSetting ``numeric_only=True``, only the mode of numeric columns is\ncomputed, and columns of other types are ignored.\n\n>>> df.mode(numeric_only=True)\n legs wings\n0 2.0 0.0\n1 NaN 2.0\n\nTo compute the mode over columns and not rows, use the axis parameter:\n\n>>> df.mode(axis='columns', numeric_only=True)\n 0 1\nfalcon 2.0 NaN\nhorse 4.0 NaN\nspider 0.0 8.0\nostrich 2.0 NaN\n"}, "kind": 2, "label": "mode", "sortText": "109"}, {"detail": "bound method DataFrame.mul(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "mul", "sortText": "110"}, {"detail": "(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "multiply", "sortText": "111"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "name", "sortText": "112"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "ndim", "sortText": "113"}, {"detail": "bound method DataFrame.ne(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> DataFrame", "kind": 2, "label": "ne", "sortText": "114"}, {"detail": "bound method DataFrame.nlargest(n: int, columns: Hashable | Sequence[Hashable], keep: Literal[\"first\", \"last\", \"all\"] = \"first\") -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the first `n` rows ordered by `columns` in descending order.\n\nReturn the first `n` rows with the largest values in `columns`, in\ndescending order. The columns that are not specified are returned as\nwell, but not used for ordering.\n\nThis method is equivalent to\n``df.sort_values(columns, ascending=False).head(n)``, but more\nperformant.\n\nParameters\n----------\nn : int\n Number of rows to return.\ncolumns : label or list of labels\n Column label(s) to order by.\nkeep : {'first', 'last', 'all'}, default 'first'\n Where there are duplicate values:\n\n - ``first`` : prioritize the first occurrence(s)\n - ``last`` : prioritize the last occurrence(s)\n - ``all`` : keep all the ties of the smallest item even if it means\n selecting more than ``n`` items.\n\nReturns\n-------\nDataFrame\n The first `n` rows ordered by the given columns in descending\n order.\n\nSee Also\n--------\nDataFrame.nsmallest : Return the first `n` rows ordered by `columns` in\n ascending order.\nDataFrame.sort_values : Sort DataFrame by the values.\nDataFrame.head : Return the first `n` rows without re-ordering.\n\nNotes\n-----\nThis function cannot be used with all column types. For example, when\nspecifying columns with `object` or `category` dtypes, ``TypeError`` is\nraised.\n\nExamples\n--------\n>>> df = pd.DataFrame({'population': [59000000, 65000000, 434000,\n... 434000, 434000, 337000, 11300,\n... 11300, 11300],\n... 'GDP': [1937894, 2583560 , 12011, 4520, 12128,\n... 17036, 182, 38, 311],\n... 'alpha-2': [\"IT\", \"FR\", \"MT\", \"MV\", \"BN\",\n... \"IS\", \"NR\", \"TV\", \"AI\"]},\n... index=[\"Italy\", \"France\", \"Malta\",\n... \"Maldives\", \"Brunei\", \"Iceland\",\n... \"Nauru\", \"Tuvalu\", \"Anguilla\"])\n>>> df\n population GDP alpha-2\nItaly 59000000 1937894 IT\nFrance 65000000 2583560 FR\nMalta 434000 12011 MT\nMaldives 434000 4520 MV\nBrunei 434000 12128 BN\nIceland 337000 17036 IS\nNauru 11300 182 NR\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\n\nIn the following example, we will use ``nlargest`` to select the three\nrows having the largest values in column \"population\".\n\n>>> df.nlargest(3, 'population')\n population GDP alpha-2\nFrance 65000000 2583560 FR\nItaly 59000000 1937894 IT\nMalta 434000 12011 MT\n\nWhen using ``keep='last'``, ties are resolved in reverse order:\n\n>>> df.nlargest(3, 'population', keep='last')\n population GDP alpha-2\nFrance 65000000 2583560 FR\nItaly 59000000 1937894 IT\nBrunei 434000 12128 BN\n\nWhen using ``keep='all'``, the number of element kept can go beyond ``n``\nif there are duplicate values for the smallest element, all the\nties are kept:\n\n>>> df.nlargest(3, 'population', keep='all')\n population GDP alpha-2\nFrance 65000000 2583560 FR\nItaly 59000000 1937894 IT\nMalta 434000 12011 MT\nMaldives 434000 4520 MV\nBrunei 434000 12128 BN\n\nHowever, ``nlargest`` does not keep ``n`` distinct largest elements:\n\n>>> df.nlargest(5, 'population', keep='all')\n population GDP alpha-2\nFrance 65000000 2583560 FR\nItaly 59000000 1937894 IT\nMalta 434000 12011 MT\nMaldives 434000 4520 MV\nBrunei 434000 12128 BN\n\nTo order by the largest values in column \"population\" and then \"GDP\",\nwe can specify multiple columns like in the next example.\n\n>>> df.nlargest(3, ['population', 'GDP'])\n population GDP alpha-2\nFrance 65000000 2583560 FR\nItaly 59000000 1937894 IT\nBrunei 434000 12128 BN\n"}, "kind": 2, "label": "nlargest", "sortText": "115"}, {"detail": "bound method DataFrame.notna() -> DataFrame", "kind": 2, "label": "notna", "sortText": "116"}, {"detail": "bound method DataFrame.notnull() -> DataFrame", "documentation": {"kind": "plaintext", "value": "DataFrame.notnull is an alias for DataFrame.notna.\n"}, "kind": 2, "label": "notnull", "sortText": "117"}, {"detail": "bound method DataFrame.nsmallest(n: int, columns: Hashable | Sequence[Hashable], keep: Literal[\"first\", \"last\", \"all\"] = \"first\") -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the first `n` rows ordered by `columns` in ascending order.\n\nReturn the first `n` rows with the smallest values in `columns`, in\nascending order. The columns that are not specified are returned as\nwell, but not used for ordering.\n\nThis method is equivalent to\n``df.sort_values(columns, ascending=True).head(n)``, but more\nperformant.\n\nParameters\n----------\nn : int\n Number of items to retrieve.\ncolumns : list or str\n Column name or names to order by.\nkeep : {'first', 'last', 'all'}, default 'first'\n Where there are duplicate values:\n\n - ``first`` : take the first occurrence.\n - ``last`` : take the last occurrence.\n - ``all`` : keep all the ties of the largest item even if it means\n selecting more than ``n`` items.\n\nReturns\n-------\nDataFrame\n\nSee Also\n--------\nDataFrame.nlargest : Return the first `n` rows ordered by `columns` in\n descending order.\nDataFrame.sort_values : Sort DataFrame by the values.\nDataFrame.head : Return the first `n` rows without re-ordering.\n\nExamples\n--------\n>>> df = pd.DataFrame({'population': [59000000, 65000000, 434000,\n... 434000, 434000, 337000, 337000,\n... 11300, 11300],\n... 'GDP': [1937894, 2583560 , 12011, 4520, 12128,\n... 17036, 182, 38, 311],\n... 'alpha-2': [\"IT\", \"FR\", \"MT\", \"MV\", \"BN\",\n... \"IS\", \"NR\", \"TV\", \"AI\"]},\n... index=[\"Italy\", \"France\", \"Malta\",\n... \"Maldives\", \"Brunei\", \"Iceland\",\n... \"Nauru\", \"Tuvalu\", \"Anguilla\"])\n>>> df\n population GDP alpha-2\nItaly 59000000 1937894 IT\nFrance 65000000 2583560 FR\nMalta 434000 12011 MT\nMaldives 434000 4520 MV\nBrunei 434000 12128 BN\nIceland 337000 17036 IS\nNauru 337000 182 NR\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\n\nIn the following example, we will use ``nsmallest`` to select the\nthree rows having the smallest values in column \"population\".\n\n>>> df.nsmallest(3, 'population')\n population GDP alpha-2\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\nIceland 337000 17036 IS\n\nWhen using ``keep='last'``, ties are resolved in reverse order:\n\n>>> df.nsmallest(3, 'population', keep='last')\n population GDP alpha-2\nAnguilla 11300 311 AI\nTuvalu 11300 38 TV\nNauru 337000 182 NR\n\nWhen using ``keep='all'``, the number of element kept can go beyond ``n``\nif there are duplicate values for the largest element, all the\nties are kept.\n\n>>> df.nsmallest(3, 'population', keep='all')\n population GDP alpha-2\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\nIceland 337000 17036 IS\nNauru 337000 182 NR\n\nHowever, ``nsmallest`` does not keep ``n`` distinct\nsmallest elements:\n\n>>> df.nsmallest(4, 'population', keep='all')\n population GDP alpha-2\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\nIceland 337000 17036 IS\nNauru 337000 182 NR\n\nTo order by the smallest values in column \"population\" and then \"GDP\", we can\nspecify multiple columns like in the next example.\n\n>>> df.nsmallest(3, ['population', 'GDP'])\n population GDP alpha-2\nTuvalu 11300 38 TV\nAnguilla 11300 311 AI\nNauru 337000 182 NR\n"}, "kind": 2, "label": "nsmallest", "sortText": "118"}, {"detail": "bound method DataFrame.nunique(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, dropna: bool = True) -> Series", "documentation": {"kind": "plaintext", "value": "Count number of distinct elements in specified axis.\n\nReturn Series with number of distinct elements. Can ignore NaN\nvalues.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to use. 0 or 'index' for row-wise, 1 or 'columns' for\n column-wise.\ndropna : bool, default True\n Don't include NaN in the counts.\n\nReturns\n-------\nSeries\n\nSee Also\n--------\nSeries.nunique: Method nunique for Series.\nDataFrame.count: Count non-NA cells for each column or row.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [4, 5, 6], 'B': [4, 1, 1]})\n>>> df.nunique()\nA 3\nB 2\ndtype: int64\n\n>>> df.nunique(axis=1)\n0 1\n1 2\n2 2\ndtype: int64\n"}, "kind": 2, "label": "nunique", "sortText": "119"}, {"detail": "bound method DataFrame.pad(*, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = None, inplace: bool = False, limit: None | int = None, downcast: dict[Unknown, Unknown] | None | _NoDefault = ...) -> DataFrame | None", "documentation": {"kind": "plaintext", "value": "Fill NA/NaN values by propagating the last valid observation to next valid.\n\n.. deprecated:: 2.0\n\n {klass}.pad is deprecated. Use {klass}.ffill instead.\n\nReturns\n-------\n{klass} or None\n Object with missing values filled or None if ``inplace=True``.\n\nExamples\n--------\nPlease see examples for :meth:`DataFrame.ffill` or :meth:`Series.ffill`.\n"}, "kind": 2, "label": "pad", "sortText": "120"}, {"detail": "bound method DataFrame.pct_change(periods: int = 1, fill_method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\"] | None | _NoDefault = ..., limit: int | None | _NoDefault = ..., freq=None, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Fractional change between the current and a prior element.\n\nComputes the fractional change from the immediately previous row by\ndefault. This is useful in comparing the fraction of change in a time\nseries of elements.\n\n.. note::\n\n Despite the name of this method, it calculates fractional change\n (also known as per unit change or relative change) and not\n percentage change. If you need the percentage change, multiply\n these values by 100.\n\nParameters\n----------\nperiods : int, default 1\n Periods to shift for forming percent change.\nfill_method : {'backfill', 'bfill', 'pad', 'ffill', None}, default 'pad'\n How to handle NAs **before** computing percent changes.\n\n .. deprecated:: 2.1\n All options of `fill_method` are deprecated except `fill_method=None`.\n\nlimit : int, default None\n The number of consecutive NAs to fill before stopping.\n\n .. deprecated:: 2.1\n\nfreq : DateOffset, timedelta, or str, optional\n Increment to use from time series API (e.g. 'ME' or BDay()).\n**kwargs\n Additional keyword arguments are passed into\n `DataFrame.shift` or `Series.shift`.\n\nReturns\n-------\nSeries or DataFrame\n The same type as the calling object.\n\nSee Also\n--------\nSeries.diff : Compute the difference of two elements in a Series.\nDataFrame.diff : Compute the difference of two elements in a DataFrame.\nSeries.shift : Shift the index by some number of periods.\nDataFrame.shift : Shift the index by some number of periods.\n\nExamples\n--------\n**Series**\n\n>>> s = pd.Series([90, 91, 85])\n>>> s\n0 90\n1 91\n2 85\ndtype: int64\n\n>>> s.pct_change()\n0 NaN\n1 0.011111\n2 -0.065934\ndtype: float64\n\n>>> s.pct_change(periods=2)\n0 NaN\n1 NaN\n2 -0.055556\ndtype: float64\n\nSee the percentage change in a Series where filling NAs with last\nvalid observation forward to next valid.\n\n>>> s = pd.Series([90, 91, None, 85])\n>>> s\n0 90.0\n1 91.0\n2 NaN\n3 85.0\ndtype: float64\n\n>>> s.ffill().pct_change()\n0 NaN\n1 0.011111\n2 0.000000\n3 -0.065934\ndtype: float64\n\n**DataFrame**\n\nPercentage change in French franc, Deutsche Mark, and Italian lira from\n1980-01-01 to 1980-03-01.\n\n>>> df = pd.DataFrame({\n... 'FR': [4.0405, 4.0963, 4.3149],\n... 'GR': [1.7246, 1.7482, 1.8519],\n... 'IT': [804.74, 810.01, 860.13]},\n... index=['1980-01-01', '1980-02-01', '1980-03-01'])\n>>> df\n FR GR IT\n1980-01-01 4.0405 1.7246 804.74\n1980-02-01 4.0963 1.7482 810.01\n1980-03-01 4.3149 1.8519 860.13\n\n>>> df.pct_change()\n FR GR IT\n1980-01-01 NaN NaN NaN\n1980-02-01 0.013810 0.013684 0.006549\n1980-03-01 0.053365 0.059318 0.061876\n\nPercentage of change in GOOG and APPL stock volume. Shows computing\nthe percentage change between columns.\n\n>>> df = pd.DataFrame({\n... '2016': [1769950, 30586265],\n... '2015': [1500923, 40912316],\n... '2014': [1371819, 41403351]},\n... index=['GOOG', 'APPL'])\n>>> df\n 2016 2015 2014\nGOOG 1769950 1500923 1371819\nAPPL 30586265 40912316 41403351\n\n>>> df.pct_change(axis='columns', periods=-1)\n 2016 2015 2014\nGOOG 0.179241 0.094112 NaN\nAPPL -0.252395 -0.011860 NaN\n"}, "kind": 2, "label": "pct_change", "sortText": "121"}, {"detail": "bound method DataFrame.pipe[T](func: ((...) -> T) | tuple[(...) -> T, str], *args, **kwargs) -> T", "documentation": {"kind": "plaintext", "value": "Apply chainable functions that expect Series or DataFrames.\n\nParameters\n----------\nfunc : function\n Function to apply to the {klass}.\n ``args``, and ``kwargs`` are passed into ``func``.\n Alternatively a ``(callable, data_keyword)`` tuple where\n ``data_keyword`` is a string indicating the keyword of\n ``callable`` that expects the {klass}.\n*args : iterable, optional\n Positional arguments passed into ``func``.\n**kwargs : mapping, optional\n A dictionary of keyword arguments passed into ``func``.\n\nReturns\n-------\nthe return type of ``func``.\n\nSee Also\n--------\nDataFrame.apply : Apply a function along input axis of DataFrame.\nDataFrame.map : Apply a function elementwise on a whole DataFrame.\nSeries.map : Apply a mapping correspondence on a\n :class:`~pandas.Series`.\n\nNotes\n-----\nUse ``.pipe`` when chaining together functions that expect\nSeries, DataFrames or GroupBy objects.\n\nExamples\n--------\nConstructing a income DataFrame from a dictionary.\n\n>>> data = [[8000, 1000], [9500, np.nan], [5000, 2000]]\n>>> df = pd.DataFrame(data, columns=['Salary', 'Others'])\n>>> df\n Salary Others\n0 8000 1000.0\n1 9500 NaN\n2 5000 2000.0\n\nFunctions that perform tax reductions on an income DataFrame.\n\n>>> def subtract_federal_tax(df):\n... return df * 0.9\n>>> def subtract_state_tax(df, rate):\n... return df * (1 - rate)\n>>> def subtract_national_insurance(df, rate, rate_increase):\n... new_rate = rate + rate_increase\n... return df * (1 - new_rate)\n\nInstead of writing\n\n>>> subtract_national_insurance(\n... subtract_state_tax(subtract_federal_tax(df), rate=0.12),\n... rate=0.05,\n... rate_increase=0.02) # doctest: +SKIP\n\nYou can write\n\n>>> (\n... df.pipe(subtract_federal_tax)\n... .pipe(subtract_state_tax, rate=0.12)\n... .pipe(subtract_national_insurance, rate=0.05, rate_increase=0.02)\n... )\n Salary Others\n0 5892.48 736.56\n1 6997.32 NaN\n2 3682.80 1473.12\n\nIf you have a function that takes the data as (say) the second\nargument, pass a tuple indicating which keyword expects the\ndata. For example, suppose ``national_insurance`` takes its data as ``df``\nin the second argument:\n\n>>> def subtract_national_insurance(rate, df, rate_increase):\n... new_rate = rate + rate_increase\n... return df * (1 - new_rate)\n>>> (\n... df.pipe(subtract_federal_tax)\n... .pipe(subtract_state_tax, rate=0.12)\n... .pipe(\n... (subtract_national_insurance, 'df'),\n... rate=0.05,\n... rate_increase=0.02\n... )\n... )\n Salary Others\n0 5892.48 736.56\n1 6997.32 NaN\n2 3682.80 1473.12\n"}, "kind": 2, "label": "pipe", "sortText": "122"}, {"detail": "bound method DataFrame.pivot(*, columns, index=..., values=...) -> DataFrame", "kind": 2, "label": "pivot", "sortText": "123"}, {"detail": "bound method DataFrame.pivot_table(values=None, index=None, columns=None, aggfunc: ((...) -> Unknown) | str | list[((...) -> Unknown) | str] | MutableMapping[Hashable, ((...) -> Unknown) | str | list[((...) -> Unknown) | str]] = \"mean\", fill_value=None, margins: bool = False, dropna: bool = True, margins_name: Hashable = \"All\", observed: bool | _NoDefault = ..., sort: bool = True) -> DataFrame", "kind": 2, "label": "pivot_table", "sortText": "124"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "plot", "sortText": "125"}, {"detail": "bound method DataFrame.pop(item: Hashable) -> Series", "documentation": {"kind": "plaintext", "value": "Return item and drop from frame. Raise KeyError if not found.\n\nParameters\n----------\nitem : label\n Label of column to be popped.\n\nReturns\n-------\nSeries\n\nExamples\n--------\n>>> df = pd.DataFrame([('falcon', 'bird', 389.0),\n... ('parrot', 'bird', 24.0),\n... ('lion', 'mammal', 80.5),\n... ('monkey', 'mammal', np.nan)],\n... columns=('name', 'class', 'max_speed'))\n>>> df\n name class max_speed\n0 falcon bird 389.0\n1 parrot bird 24.0\n2 lion mammal 80.5\n3 monkey mammal NaN\n\n>>> df.pop('class')\n0 bird\n1 bird\n2 mammal\n3 mammal\nName: class, dtype: object\n\n>>> df\n name max_speed\n0 falcon 389.0\n1 parrot 24.0\n2 lion 80.5\n3 monkey NaN\n"}, "kind": 2, "label": "pop", "sortText": "126"}, {"detail": "bound method DataFrame.pow(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "pow", "sortText": "127"}, {"detail": "bound method DataFrame.prod(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, min_count: int = 0, **kwargs) -> Unknown", "kind": 2, "label": "prod", "sortText": "128"}, {"detail": "(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, min_count: int = 0, **kwargs) -> Unknown", "kind": 2, "label": "product", "sortText": "129"}, {"detail": "Overload[(q: float = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., numeric_only: bool = ..., interpolation: Literal[\"linear\", \"lower\", \"higher\", \"midpoint\", \"nearest\"] = ..., method: Literal[\"single\", \"table\"] = ...) -> Series, (q: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | Series | Sequence[float], axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., numeric_only: bool = ..., interpolation: Literal[\"linear\", \"lower\", \"higher\", \"midpoint\", \"nearest\"] = ..., method: Literal[\"single\", \"table\"] = ...) -> Series | DataFrame, (q: float | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | ... omitted 3 union elements = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., numeric_only: bool = ..., interpolation: Literal[\"linear\", \"lower\", \"higher\", \"midpoint\", \"nearest\"] = ..., method: Literal[\"single\", \"table\"] = ...) -> Series | DataFrame]", "documentation": {"kind": "plaintext", "value": "Return values at the given quantile over requested axis.\n\nParameters\n----------\nq : float or array-like, default 0.5 (50% quantile)\n Value between 0 <= q <= 1, the quantile(s) to compute.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Equals 0 or 'index' for row-wise, 1 or 'columns' for column-wise.\nnumeric_only : bool, default False\n Include only `float`, `int` or `boolean` data.\n\n .. versionchanged:: 2.0.0\n The default value of ``numeric_only`` is now ``False``.\n\ninterpolation : {'linear', 'lower', 'higher', 'midpoint', 'nearest'}\n This optional parameter specifies the interpolation method to use,\n when the desired quantile lies between two data points `i` and `j`:\n\n * linear: `i + (j - i) * fraction`, where `fraction` is the\n fractional part of the index surrounded by `i` and `j`.\n * lower: `i`.\n * higher: `j`.\n * nearest: `i` or `j` whichever is nearest.\n * midpoint: (`i` + `j`) / 2.\nmethod : {'single', 'table'}, default 'single'\n Whether to compute quantiles per-column ('single') or over all columns\n ('table'). When 'table', the only allowed interpolation methods are\n 'nearest', 'lower', and 'higher'.\n\nReturns\n-------\nSeries or DataFrame\n\n If ``q`` is an array, a DataFrame will be returned where the\n index is ``q``, the columns are the columns of self, and the\n values are the quantiles.\n If ``q`` is a float, a Series will be returned where the\n index is the columns of self and the values are the quantiles.\n\nSee Also\n--------\ncore.window.rolling.Rolling.quantile: Rolling quantile.\nnumpy.percentile: Numpy function to compute the percentile.\n\nExamples\n--------\n>>> df = pd.DataFrame(np.array([[1, 1], [2, 10], [3, 100], [4, 100]]),\n... columns=['a', 'b'])\n>>> df.quantile(.1)\na 1.3\nb 3.7\nName: 0.1, dtype: float64\n>>> df.quantile([.1, .5])\n a b\n0.1 1.3 3.7\n0.5 2.5 55.0\n\nSpecifying `method='table'` will compute the quantile over all columns.\n\n>>> df.quantile(.1, method=\"table\", interpolation=\"nearest\")\na 1\nb 1\nName: 0.1, dtype: int64\n>>> df.quantile([.1, .5], method=\"table\", interpolation=\"nearest\")\n a b\n0.1 1 1\n0.5 3 100\n\nSpecifying `numeric_only=False` will also compute the quantile of\ndatetime and timedelta data.\n\n>>> df = pd.DataFrame({'A': [1, 2],\n... 'B': [pd.Timestamp('2010'),\n... pd.Timestamp('2011')],\n... 'C': [pd.Timedelta('1 days'),\n... pd.Timedelta('2 days')]})\n>>> df.quantile(0.5, numeric_only=False)\nA 1.5\nB 2010-07-02 12:00:00\nC 1 days 12:00:00\nName: 0.5, dtype: object\n"}, "kind": 2, "label": "quantile", "sortText": "130"}, {"detail": "Overload[(expr: str, *, inplace: Literal[False] = ..., **kwargs) -> DataFrame, (expr: str, *, inplace: Literal[True], **kwargs) -> None, (expr: str, *, inplace: bool = ..., **kwargs) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Query the columns of a DataFrame with a boolean expression.\n\nParameters\n----------\nexpr : str\n The query string to evaluate.\n\n You can refer to variables\n in the environment by prefixing them with an '@' character like\n ``@a + b``.\n\n You can refer to column names that are not valid Python variable names\n by surrounding them in backticks. Thus, column names containing spaces\n or punctuations (besides underscores) or starting with digits must be\n surrounded by backticks. (For example, a column named \"Area (cm^2)\" would\n be referenced as ```Area (cm^2)```). Column names which are Python keywords\n (like \"list\", \"for\", \"import\", etc) cannot be used.\n\n For example, if one of your columns is called ``a a`` and you want\n to sum it with ``b``, your query should be ```a a` + b``.\n\ninplace : bool\n Whether to modify the DataFrame rather than creating a new one.\n**kwargs\n See the documentation for :func:`eval` for complete details\n on the keyword arguments accepted by :meth:`DataFrame.query`.\n\nReturns\n-------\nDataFrame or None\n DataFrame resulting from the provided query expression or\n None if ``inplace=True``.\n\nSee Also\n--------\neval : Evaluate a string describing operations on\n DataFrame columns.\nDataFrame.eval : Evaluate a string describing operations on\n DataFrame columns.\n\nNotes\n-----\nThe result of the evaluation of this expression is first passed to\n:attr:`DataFrame.loc` and if that fails because of a\nmultidimensional key (e.g., a DataFrame) then the result will be passed\nto :meth:`DataFrame.__getitem__`.\n\nThis method uses the top-level :func:`eval` function to\nevaluate the passed query.\n\nThe :meth:`~pandas.DataFrame.query` method uses a slightly\nmodified Python syntax by default. For example, the ``&`` and ``|``\n(bitwise) operators have the precedence of their boolean cousins,\n:keyword:`and` and :keyword:`or`. This *is* syntactically valid Python,\nhowever the semantics are different.\n\nYou can change the semantics of the expression by passing the keyword\nargument ``parser='python'``. This enforces the same semantics as\nevaluation in Python space. Likewise, you can pass ``engine='python'``\nto evaluate an expression using Python itself as a backend. This is not\nrecommended as it is inefficient compared to using ``numexpr`` as the\nengine.\n\nThe :attr:`DataFrame.index` and\n:attr:`DataFrame.columns` attributes of the\n:class:`~pandas.DataFrame` instance are placed in the query namespace\nby default, which allows you to treat both the index and columns of the\nframe as a column in the frame.\nThe identifier ``index`` is used for the frame index; you can also\nuse the name of the index to identify it in a query. Please note that\nPython keywords may not be used as identifiers.\n\nFor further details and examples see the ``query`` documentation in\n:ref:`indexing `.\n\n*Backtick quoted variables*\n\nBacktick quoted variables are parsed as literal Python code and\nare converted internally to a Python valid identifier.\nThis can lead to the following problems.\n\nDuring parsing a number of disallowed characters inside the backtick\nquoted string are replaced by strings that are allowed as a Python identifier.\nThese characters include all operators in Python, the space character, the\nquestion mark, the exclamation mark, the dollar sign, and the euro sign.\nFor other characters that fall outside the ASCII range (U+0001..U+007F)\nand those that are not further specified in PEP 3131,\nthe query parser will raise an error.\nThis excludes whitespace different than the space character,\nbut also the hashtag (as it is used for comments) and the backtick\nitself (backtick can also not be escaped).\n\nIn a special case, quotes that make a pair around a backtick can\nconfuse the parser.\nFor example, ```it's` > `that's``` will raise an error,\nas it forms a quoted string (``'s > `that'``) with a backtick inside.\n\nSee also the Python documentation about lexical analysis\n(https://docs.python.org/3/reference/lexical_analysis.html)\nin combination with the source code in :mod:`pandas.core.computation.parsing`.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': range(1, 6),\n... 'B': range(10, 0, -2),\n... 'C C': range(10, 5, -1)})\n>>> df\n A B C C\n0 1 10 10\n1 2 8 9\n2 3 6 8\n3 4 4 7\n4 5 2 6\n>>> df.query('A > B')\n A B C C\n4 5 2 6\n\nThe previous expression is equivalent to\n\n>>> df[df.A > df.B]\n A B C C\n4 5 2 6\n\nFor columns with spaces in their name, you can use backtick quoting.\n\n>>> df.query('B == `C C`')\n A B C C\n0 1 10 10\n\nThe previous expression is equivalent to\n\n>>> df[df.B == df['C C']]\n A B C C\n0 1 10 10\n"}, "kind": 2, "label": "query", "sortText": "131"}, {"detail": "bound method DataFrame.radd(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "radd", "sortText": "132"}, {"detail": "bound method DataFrame.rank(axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, method: Literal[\"average\", \"min\", \"max\", \"first\", \"dense\"] = \"average\", numeric_only: bool = False, na_option: Literal[\"keep\", \"top\", \"bottom\"] = \"keep\", ascending: bool = True, pct: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Compute numerical data ranks (1 through n) along axis.\n\nBy default, equal values are assigned a rank that is the average of the\nranks of those values.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Index to direct ranking.\n For `Series` this parameter is unused and defaults to 0.\nmethod : {'average', 'min', 'max', 'first', 'dense'}, default 'average'\n How to rank the group of records that have the same value (i.e. ties):\n\n * average: average rank of the group\n * min: lowest rank in the group\n * max: highest rank in the group\n * first: ranks assigned in order they appear in the array\n * dense: like 'min', but rank always increases by 1 between groups.\n\nnumeric_only : bool, default False\n For DataFrame objects, rank only numeric columns if set to True.\n\n .. versionchanged:: 2.0.0\n The default value of ``numeric_only`` is now ``False``.\n\nna_option : {'keep', 'top', 'bottom'}, default 'keep'\n How to rank NaN values:\n\n * keep: assign NaN rank to NaN values\n * top: assign lowest rank to NaN values\n * bottom: assign highest rank to NaN values\n\nascending : bool, default True\n Whether or not the elements should be ranked in ascending order.\npct : bool, default False\n Whether or not to display the returned rankings in percentile\n form.\n\nReturns\n-------\nsame type as caller\n Return a Series or DataFrame with data ranks as values.\n\nSee Also\n--------\ncore.groupby.DataFrameGroupBy.rank : Rank of values within each group.\ncore.groupby.SeriesGroupBy.rank : Rank of values within each group.\n\nExamples\n--------\n>>> df = pd.DataFrame(data={'Animal': ['cat', 'penguin', 'dog',\n... 'spider', 'snake'],\n... 'Number_legs': [4, 2, 4, 8, np.nan]})\n>>> df\n Animal Number_legs\n0 cat 4.0\n1 penguin 2.0\n2 dog 4.0\n3 spider 8.0\n4 snake NaN\n\nTies are assigned the mean of the ranks (by default) for the group.\n\n>>> s = pd.Series(range(5), index=list(\"abcde\"))\n>>> s[\"d\"] = s[\"b\"]\n>>> s.rank()\na 1.0\nb 2.5\nc 4.0\nd 2.5\ne 5.0\ndtype: float64\n\nThe following example shows how the method behaves with the above\nparameters:\n\n* default_rank: this is the default behaviour obtained without using\n any parameter.\n* max_rank: setting ``method = 'max'`` the records that have the\n same values are ranked using the highest rank (e.g.: since 'cat'\n and 'dog' are both in the 2nd and 3rd position, rank 3 is assigned.)\n* NA_bottom: choosing ``na_option = 'bottom'``, if there are records\n with NaN values they are placed at the bottom of the ranking.\n* pct_rank: when setting ``pct = True``, the ranking is expressed as\n percentile rank.\n\n>>> df['default_rank'] = df['Number_legs'].rank()\n>>> df['max_rank'] = df['Number_legs'].rank(method='max')\n>>> df['NA_bottom'] = df['Number_legs'].rank(na_option='bottom')\n>>> df['pct_rank'] = df['Number_legs'].rank(pct=True)\n>>> df\n Animal Number_legs default_rank max_rank NA_bottom pct_rank\n0 cat 4.0 2.5 3.0 2.5 0.625\n1 penguin 2.0 1.0 1.0 1.0 0.250\n2 dog 4.0 2.5 3.0 2.5 0.625\n3 spider 8.0 4.0 4.0 4.0 1.000\n4 snake NaN NaN NaN 5.0 NaN\n"}, "kind": 2, "label": "rank", "sortText": "133"}, {"detail": "(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rdiv", "sortText": "134"}, {"detail": "bound method DataFrame.reindex(labels=None, *, index=None, columns=None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, method: Literal[\"backfill\", \"bfill\", \"ffill\", \"pad\", \"nearest\"] | None = None, copy: bool | None = None, level: Hashable = None, fill_value: str | float | Period | ... omitted 6 union elements = ..., limit: int | None = None, tolerance=None) -> DataFrame", "kind": 2, "label": "reindex", "sortText": "135"}, {"detail": "bound method DataFrame.reindex_like(other, method: Literal[\"backfill\", \"bfill\", \"pad\", \"ffill\", \"nearest\"] | None = None, copy: bool | None = None, limit: int | None = None, tolerance=None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return an object with matching indices as other object.\n\nConform the object to the same index on all axes. Optional\nfilling logic, placing NaN in locations having no value\nin the previous index. A new object is produced unless the\nnew index is equivalent to the current one and copy=False.\n\nParameters\n----------\nother : Object of the same data type\n Its row and column indices are used to define the new indices\n of this object.\nmethod : {None, 'backfill'/'bfill', 'pad'/'ffill', 'nearest'}\n Method to use for filling holes in reindexed DataFrame.\n Please note: this is only applicable to DataFrames/Series with a\n monotonically increasing/decreasing index.\n\n * None (default): don't fill gaps\n * pad / ffill: propagate last valid observation forward to next\n valid\n * backfill / bfill: use next valid observation to fill gap\n * nearest: use nearest valid observations to fill gap.\n\ncopy : bool, default True\n Return a new object, even if the passed indexes are the same.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\nlimit : int, default None\n Maximum number of consecutive labels to fill for inexact matches.\ntolerance : optional\n Maximum distance between original and new labels for inexact\n matches. The values of the index at the matching locations must\n satisfy the equation ``abs(index[indexer] - target) <= tolerance``.\n\n Tolerance may be a scalar value, which applies the same tolerance\n to all values, or list-like, which applies variable tolerance per\n element. List-like includes list, tuple, array, Series, and must be\n the same size as the index and its dtype must exactly match the\n index's type.\n\nReturns\n-------\nSeries or DataFrame\n Same type as caller, but with changed indices on each axis.\n\nSee Also\n--------\nDataFrame.set_index : Set row labels.\nDataFrame.reset_index : Remove row labels or move them to new columns.\nDataFrame.reindex : Change to new indices or expand indices.\n\nNotes\n-----\nSame as calling\n``.reindex(index=other.index, columns=other.columns,...)``.\n\nExamples\n--------\n>>> df1 = pd.DataFrame([[24.3, 75.7, 'high'],\n... [31, 87.8, 'high'],\n... [22, 71.6, 'medium'],\n... [35, 95, 'medium']],\n... columns=['temp_celsius', 'temp_fahrenheit',\n... 'windspeed'],\n... index=pd.date_range(start='2014-02-12',\n... end='2014-02-15', freq='D'))\n\n>>> df1\n temp_celsius temp_fahrenheit windspeed\n2014-02-12 24.3 75.7 high\n2014-02-13 31.0 87.8 high\n2014-02-14 22.0 71.6 medium\n2014-02-15 35.0 95.0 medium\n\n>>> df2 = pd.DataFrame([[28, 'low'],\n... [30, 'low'],\n... [35.1, 'medium']],\n... columns=['temp_celsius', 'windspeed'],\n... index=pd.DatetimeIndex(['2014-02-12', '2014-02-13',\n... '2014-02-15']))\n\n>>> df2\n temp_celsius windspeed\n2014-02-12 28.0 low\n2014-02-13 30.0 low\n2014-02-15 35.1 medium\n\n>>> df2.reindex_like(df1)\n temp_celsius temp_fahrenheit windspeed\n2014-02-12 28.0 NaN low\n2014-02-13 30.0 NaN low\n2014-02-14 NaN NaN NaN\n2014-02-15 35.1 NaN medium\n"}, "kind": 2, "label": "reindex_like", "sortText": "136"}, {"detail": "Overload[(mapper: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., *, index: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., columns: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., copy: bool | None = ..., inplace: Literal[True], level: Hashable = ..., errors: Literal[\"ignore\", \"raise\"] = ...) -> None, (mapper: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., *, index: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., columns: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., copy: bool | None = ..., inplace: Literal[False] = ..., level: Hashable = ..., errors: Literal[\"ignore\", \"raise\"] = ...) -> DataFrame, (mapper: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., *, index: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., columns: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., copy: bool | None = ..., inplace: bool = ..., level: Hashable = ..., errors: Literal[\"ignore\", \"raise\"] = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Rename columns or index labels.\n\nFunction / dict values must be unique (1-to-1). Labels not contained in\na dict / Series will be left as-is. Extra labels listed don't throw an\nerror.\n\nSee the :ref:`user guide ` for more.\n\nParameters\n----------\nmapper : dict-like or function\n Dict-like or function transformations to apply to\n that axis' values. Use either ``mapper`` and ``axis`` to\n specify the axis to target with ``mapper``, or ``index`` and\n ``columns``.\nindex : dict-like or function\n Alternative to specifying axis (``mapper, axis=0``\n is equivalent to ``index=mapper``).\ncolumns : dict-like or function\n Alternative to specifying axis (``mapper, axis=1``\n is equivalent to ``columns=mapper``).\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Axis to target with ``mapper``. Can be either the axis name\n ('index', 'columns') or number (0, 1). The default is 'index'.\ncopy : bool, default True\n Also copy underlying data.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\ninplace : bool, default False\n Whether to modify the DataFrame rather than creating a new one.\n If True then value of copy is ignored.\nlevel : int or level name, default None\n In case of a MultiIndex, only rename labels in the specified\n level.\nerrors : {'ignore', 'raise'}, default 'ignore'\n If 'raise', raise a `KeyError` when a dict-like `mapper`, `index`,\n or `columns` contains labels that are not present in the Index\n being transformed.\n If 'ignore', existing keys will be renamed and extra keys will be\n ignored.\n\nReturns\n-------\nDataFrame or None\n DataFrame with the renamed axis labels or None if ``inplace=True``.\n\nRaises\n------\nKeyError\n If any of the labels is not found in the selected axis and\n \"errors='raise'\".\n\nSee Also\n--------\nDataFrame.rename_axis : Set the name of the axis.\n\nExamples\n--------\n``DataFrame.rename`` supports two calling conventions\n\n* ``(index=index_mapper, columns=columns_mapper, ...)``\n* ``(mapper, axis={'index', 'columns'}, ...)``\n\nWe *highly* recommend using keyword arguments to clarify your\nintent.\n\nRename columns using a mapping:\n\n>>> df = pd.DataFrame({\"A\": [1, 2, 3], \"B\": [4, 5, 6]})\n>>> df.rename(columns={\"A\": \"a\", \"B\": \"c\"})\n a c\n0 1 4\n1 2 5\n2 3 6\n\nRename index using a mapping:\n\n>>> df.rename(index={0: \"x\", 1: \"y\", 2: \"z\"})\n A B\nx 1 4\ny 2 5\nz 3 6\n\nCast index labels to a different type:\n\n>>> df.index\nRangeIndex(start=0, stop=3, step=1)\n>>> df.rename(index=str).index\nIndex(['0', '1', '2'], dtype='object')\n\n>>> df.rename(columns={\"A\": \"a\", \"B\": \"b\", \"C\": \"c\"}, errors=\"raise\")\nTraceback (most recent call last):\nKeyError: ['C'] not found in axis\n\nUsing axis-style parameters:\n\n>>> df.rename(str.lower, axis='columns')\n a b\n0 1 4\n1 2 5\n2 3 6\n\n>>> df.rename({1: 2, 2: 4}, axis='index')\n A B\n0 1 4\n2 2 5\n4 3 6\n"}, "kind": 2, "label": "rename", "sortText": "137"}, {"detail": "Overload[(mapper: Hashable | Sequence[Hashable] = ..., *, index=..., columns=..., axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., copy: bool | None = ..., inplace: Literal[False] = ...) -> DataFrame, (mapper: Hashable | Sequence[Hashable] = ..., *, index=..., columns=..., axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., copy: bool | None = ..., inplace: Literal[True]) -> None, (mapper: Hashable | Sequence[Hashable] = ..., *, index=..., columns=..., axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., copy: bool | None = ..., inplace: bool = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Set the name of the axis for the index or columns.\n\nParameters\n----------\nmapper : scalar, list-like, optional\n Value to set the axis name attribute.\nindex, columns : scalar, list-like, dict-like or function, optional\n A scalar, list-like, dict-like or functions transformations to\n apply to that axis' values.\n Note that the ``columns`` parameter is not allowed if the\n object is a Series. This parameter only apply for DataFrame\n type objects.\n\n Use either ``mapper`` and ``axis`` to\n specify the axis to target with ``mapper``, or ``index``\n and/or ``columns``.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to rename. For `Series` this parameter is unused and defaults to 0.\ncopy : bool, default None\n Also copy underlying data.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\ninplace : bool, default False\n Modifies the object directly, instead of creating a new Series\n or DataFrame.\n\nReturns\n-------\nSeries, DataFrame, or None\n The same type as the caller or None if ``inplace=True``.\n\nSee Also\n--------\nSeries.rename : Alter Series index labels or name.\nDataFrame.rename : Alter DataFrame index labels or name.\nIndex.rename : Set new names on index.\n\nNotes\n-----\n``DataFrame.rename_axis`` supports two calling conventions\n\n* ``(index=index_mapper, columns=columns_mapper, ...)``\n* ``(mapper, axis={'index', 'columns'}, ...)``\n\nThe first calling convention will only modify the names of\nthe index and/or the names of the Index object that is the columns.\nIn this case, the parameter ``copy`` is ignored.\n\nThe second calling convention will modify the names of the\ncorresponding index if mapper is a list or a scalar.\nHowever, if mapper is dict-like or a function, it will use the\ndeprecated behavior of modifying the axis *labels*.\n\nWe *highly* recommend using keyword arguments to clarify your\nintent.\n\nExamples\n--------\n**Series**\n\n>>> s = pd.Series([\"dog\", \"cat\", \"monkey\"])\n>>> s\n0 dog\n1 cat\n2 monkey\ndtype: object\n>>> s.rename_axis(\"animal\")\nanimal\n0 dog\n1 cat\n2 monkey\ndtype: object\n\n**DataFrame**\n\n>>> df = pd.DataFrame({\"num_legs\": [4, 4, 2],\n... \"num_arms\": [0, 0, 2]},\n... [\"dog\", \"cat\", \"monkey\"])\n>>> df\n num_legs num_arms\ndog 4 0\ncat 4 0\nmonkey 2 2\n>>> df = df.rename_axis(\"animal\")\n>>> df\n num_legs num_arms\nanimal\ndog 4 0\ncat 4 0\nmonkey 2 2\n>>> df = df.rename_axis(\"limbs\", axis=\"columns\")\n>>> df\nlimbs num_legs num_arms\nanimal\ndog 4 0\ncat 4 0\nmonkey 2 2\n\n**MultiIndex**\n\n>>> df.index = pd.MultiIndex.from_product([['mammal'],\n... ['dog', 'cat', 'monkey']],\n... names=['type', 'name'])\n>>> df\nlimbs num_legs num_arms\ntype name\nmammal dog 4 0\n cat 4 0\n monkey 2 2\n\n>>> df.rename_axis(index={'type': 'class'})\nlimbs num_legs num_arms\nclass name\nmammal dog 4 0\n cat 4 0\n monkey 2 2\n\n>>> df.rename_axis(columns=str.upper)\nLIMBS num_legs num_arms\ntype name\nmammal dog 4 0\n cat 4 0\n monkey 2 2\n"}, "kind": 2, "label": "rename_axis", "sortText": "138"}, {"detail": "bound method DataFrame.reorder_levels(order: Sequence[int | str], axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Rearrange index levels using input order. May not drop or duplicate levels.\n\nParameters\n----------\norder : list of int or list of str\n List representing new level order. Reference level by number\n (position) or by key (label).\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Where to reorder levels.\n\nReturns\n-------\nDataFrame\n\nExamples\n--------\n>>> data = {\n... \"class\": [\"Mammals\", \"Mammals\", \"Reptiles\"],\n... \"diet\": [\"Omnivore\", \"Carnivore\", \"Carnivore\"],\n... \"species\": [\"Humans\", \"Dogs\", \"Snakes\"],\n... }\n>>> df = pd.DataFrame(data, columns=[\"class\", \"diet\", \"species\"])\n>>> df = df.set_index([\"class\", \"diet\"])\n>>> df\n species\nclass diet\nMammals Omnivore Humans\n Carnivore Dogs\nReptiles Carnivore Snakes\n\nLet's reorder the levels of the index:\n\n>>> df.reorder_levels([\"diet\", \"class\"])\n species\ndiet class\nOmnivore Mammals Humans\nCarnivore Mammals Dogs\n Reptiles Snakes\n"}, "kind": 2, "label": "reorder_levels", "sortText": "139"}, {"detail": "Overload[(to_replace=..., value=..., *, inplace: Literal[False] = ..., limit: int | None = ..., regex: bool = ..., method: Literal[\"pad\", \"ffill\", \"bfill\"] | _NoDefault = ...) -> DataFrame, (to_replace=..., value=..., *, inplace: Literal[True], limit: int | None = ..., regex: bool = ..., method: Literal[\"pad\", \"ffill\", \"bfill\"] | _NoDefault = ...) -> None, (to_replace=..., value=..., *, inplace: bool = ..., limit: int | None = ..., regex: bool = ..., method: Literal[\"pad\", \"ffill\", \"bfill\"] | _NoDefault = ...) -> DataFrame | None]", "kind": 2, "label": "replace", "sortText": "140"}, {"detail": "bound method DataFrame.resample(rule, axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., closed: Literal[\"right\", \"left\"] | None = None, label: Literal[\"right\", \"left\"] | None = None, convention: Literal[\"start\", \"end\", \"s\", \"e\"] = \"start\", kind: Literal[\"timestamp\", \"period\"] | None | _NoDefault = ..., on: Hashable = None, level: Hashable = None, origin: str | date | datetime64[Any] | signedinteger[_64Bit] | float = \"start_day\", offset: timedelta | timedelta64[Any] | signedinteger[_64Bit] | ... omitted 3 union elements = None, group_keys: bool = False) -> Resampler", "documentation": {"kind": "plaintext", "value": "Resample time-series data.\n\nConvenience method for frequency conversion and resampling of time series.\nThe object must have a datetime-like index (`DatetimeIndex`, `PeriodIndex`,\nor `TimedeltaIndex`), or the caller must pass the label of a datetime-like\nseries/index to the ``on``/``level`` keyword parameter.\n\nParameters\n----------\nrule : DateOffset, Timedelta or str\n The offset string or object representing target conversion.\naxis : {{0 or 'index', 1 or 'columns'}}, default 0\n Which axis to use for up- or down-sampling. For `Series` this parameter\n is unused and defaults to 0. Must be\n `DatetimeIndex`, `TimedeltaIndex` or `PeriodIndex`.\n\n .. deprecated:: 2.0.0\n Use frame.T.resample(...) instead.\nclosed : {{'right', 'left'}}, default None\n Which side of bin interval is closed. The default is 'left'\n for all frequency offsets except for 'ME', 'YE', 'QE', 'BME',\n 'BA', 'BQE', and 'W' which all have a default of 'right'.\nlabel : {{'right', 'left'}}, default None\n Which bin edge label to label bucket with. The default is 'left'\n for all frequency offsets except for 'ME', 'YE', 'QE', 'BME',\n 'BA', 'BQE', and 'W' which all have a default of 'right'.\nconvention : {{'start', 'end', 's', 'e'}}, default 'start'\n For `PeriodIndex` only, controls whether to use the start or\n end of `rule`.\n\nkind : {{'timestamp', 'period'}}, optional, default None\n Pass 'timestamp' to convert the resulting index to a\n `DateTimeIndex` or 'period' to convert it to a `PeriodIndex`.\n By default the input representation is retained.\n\n .. deprecated:: 2.2.0\n Convert index to desired type explicitly instead.\n\non : str, optional\n For a DataFrame, column to use instead of index for resampling.\n Column must be datetime-like.\nlevel : str or int, optional\n For a MultiIndex, level (name or number) to use for\n resampling. `level` must be datetime-like.\norigin : Timestamp or str, default 'start_day'\n The timestamp on which to adjust the grouping. The timezone of origin\n must match the timezone of the index.\n If string, must be one of the following:\n\n - 'epoch': `origin` is 1970-01-01\n - 'start': `origin` is the first value of the timeseries\n - 'start_day': `origin` is the first day at midnight of the timeseries\n\n - 'end': `origin` is the last value of the timeseries\n - 'end_day': `origin` is the ceiling midnight of the last day\n\n .. versionadded:: 1.3.0\n\n .. note::\n\n Only takes effect for Tick-frequencies (i.e. fixed frequencies like\n days, hours, and minutes, rather than months or quarters).\noffset : Timedelta or str, default is None\n An offset timedelta added to the origin.\n\ngroup_keys : bool, default False\n Whether to include the group keys in the result index when using\n ``.apply()`` on the resampled object.\n\n .. versionadded:: 1.5.0\n\n Not specifying ``group_keys`` will retain values-dependent behavior\n from pandas 1.4 and earlier (see :ref:`pandas 1.5.0 Release notes\n ` for examples).\n\n .. versionchanged:: 2.0.0\n\n ``group_keys`` now defaults to ``False``.\n\nReturns\n-------\npandas.api.typing.Resampler\n :class:`~pandas.core.Resampler` object.\n\nSee Also\n--------\nSeries.resample : Resample a Series.\nDataFrame.resample : Resample a DataFrame.\ngroupby : Group {klass} by mapping, function, label, or list of labels.\nasfreq : Reindex a {klass} with the given frequency without grouping.\n\nNotes\n-----\nSee the `user guide\n`__\nfor more.\n\nTo learn more about the offset strings, please see `this link\n`__.\n\nExamples\n--------\nStart by creating a series with 9 one minute timestamps.\n\n>>> index = pd.date_range('1/1/2000', periods=9, freq='min')\n>>> series = pd.Series(range(9), index=index)\n>>> series\n2000-01-01 00:00:00 0\n2000-01-01 00:01:00 1\n2000-01-01 00:02:00 2\n2000-01-01 00:03:00 3\n2000-01-01 00:04:00 4\n2000-01-01 00:05:00 5\n2000-01-01 00:06:00 6\n2000-01-01 00:07:00 7\n2000-01-01 00:08:00 8\nFreq: min, dtype: int64\n\nDownsample the series into 3 minute bins and sum the values\nof the timestamps falling into a bin.\n\n>>> series.resample('3min').sum()\n2000-01-01 00:00:00 3\n2000-01-01 00:03:00 12\n2000-01-01 00:06:00 21\nFreq: 3min, dtype: int64\n\nDownsample the series into 3 minute bins as above, but label each\nbin using the right edge instead of the left. Please note that the\nvalue in the bucket used as the label is not included in the bucket,\nwhich it labels. For example, in the original series the\nbucket ``2000-01-01 00:03:00`` contains the value 3, but the summed\nvalue in the resampled bucket with the label ``2000-01-01 00:03:00``\ndoes not include 3 (if it did, the summed value would be 6, not 3).\n\n>>> series.resample('3min', label='right').sum()\n2000-01-01 00:03:00 3\n2000-01-01 00:06:00 12\n2000-01-01 00:09:00 21\nFreq: 3min, dtype: int64\n\nTo include this value close the right side of the bin interval,\nas shown below.\n\n>>> series.resample('3min', label='right', closed='right').sum()\n2000-01-01 00:00:00 0\n2000-01-01 00:03:00 6\n2000-01-01 00:06:00 15\n2000-01-01 00:09:00 15\nFreq: 3min, dtype: int64\n\nUpsample the series into 30 second bins.\n\n>>> series.resample('30s').asfreq()[0:5] # Select first 5 rows\n2000-01-01 00:00:00 0.0\n2000-01-01 00:00:30 NaN\n2000-01-01 00:01:00 1.0\n2000-01-01 00:01:30 NaN\n2000-01-01 00:02:00 2.0\nFreq: 30s, dtype: float64\n\nUpsample the series into 30 second bins and fill the ``NaN``\nvalues using the ``ffill`` method.\n\n>>> series.resample('30s').ffill()[0:5]\n2000-01-01 00:00:00 0\n2000-01-01 00:00:30 0\n2000-01-01 00:01:00 1\n2000-01-01 00:01:30 1\n2000-01-01 00:02:00 2\nFreq: 30s, dtype: int64\n\nUpsample the series into 30 second bins and fill the\n``NaN`` values using the ``bfill`` method.\n\n>>> series.resample('30s').bfill()[0:5]\n2000-01-01 00:00:00 0\n2000-01-01 00:00:30 1\n2000-01-01 00:01:00 1\n2000-01-01 00:01:30 2\n2000-01-01 00:02:00 2\nFreq: 30s, dtype: int64\n\nPass a custom function via ``apply``\n\n>>> def custom_resampler(arraylike):\n... return np.sum(arraylike) + 5\n...\n>>> series.resample('3min').apply(custom_resampler)\n2000-01-01 00:00:00 8\n2000-01-01 00:03:00 17\n2000-01-01 00:06:00 26\nFreq: 3min, dtype: int64\n\nFor a Series with a PeriodIndex, the keyword `convention` can be\nused to control whether to use the start or end of `rule`.\n\nResample a year by quarter using 'start' `convention`. Values are\nassigned to the first quarter of the period.\n\n>>> s = pd.Series(\n... [1, 2], index=pd.period_range(\"2012-01-01\", freq=\"Y\", periods=2)\n... )\n>>> s\n2012 1\n2013 2\nFreq: Y-DEC, dtype: int64\n>>> s.resample(\"Q\", convention=\"start\").asfreq()\n2012Q1 1.0\n2012Q2 NaN\n2012Q3 NaN\n2012Q4 NaN\n2013Q1 2.0\n2013Q2 NaN\n2013Q3 NaN\n2013Q4 NaN\nFreq: Q-DEC, dtype: float64\n\nResample quarters by month using 'end' `convention`. Values are\nassigned to the last month of the period.\n\n>>> q = pd.Series(\n... [1, 2, 3, 4], index=pd.period_range(\"2018-01-01\", freq=\"Q\", periods=4)\n... )\n>>> q\n2018Q1 1\n2018Q2 2\n2018Q3 3\n2018Q4 4\nFreq: Q-DEC, dtype: int64\n>>> q.resample(\"M\", convention=\"end\").asfreq()\n2018-03 1.0\n2018-04 NaN\n2018-05 NaN\n2018-06 2.0\n2018-07 NaN\n2018-08 NaN\n2018-09 3.0\n2018-10 NaN\n2018-11 NaN\n2018-12 4.0\nFreq: M, dtype: float64\n\nFor DataFrame objects, the keyword `on` can be used to specify the\ncolumn instead of the index for resampling.\n\n>>> d = {{'price': [10, 11, 9, 13, 14, 18, 17, 19],\n... 'volume': [50, 60, 40, 100, 50, 100, 40, 50]}}\n>>> df = pd.DataFrame(d)\n>>> df['week_starting'] = pd.date_range('01/01/2018',\n... periods=8,\n... freq='W')\n>>> df\n price volume week_starting\n0 10 50 2018-01-07\n1 11 60 2018-01-14\n2 9 40 2018-01-21\n3 13 100 2018-01-28\n4 14 50 2018-02-04\n5 18 100 2018-02-11\n6 17 40 2018-02-18\n7 19 50 2018-02-25\n>>> df.resample('ME', on='week_starting').mean()\n price volume\nweek_starting\n2018-01-31 10.75 62.5\n2018-02-28 17.00 60.0\n\nFor a DataFrame with MultiIndex, the keyword `level` can be used to\nspecify on which level the resampling needs to take place.\n\n>>> days = pd.date_range('1/1/2000', periods=4, freq='D')\n>>> d2 = {{'price': [10, 11, 9, 13, 14, 18, 17, 19],\n... 'volume': [50, 60, 40, 100, 50, 100, 40, 50]}}\n>>> df2 = pd.DataFrame(\n... d2,\n... index=pd.MultiIndex.from_product(\n... [days, ['morning', 'afternoon']]\n... )\n... )\n>>> df2\n price volume\n2000-01-01 morning 10 50\n afternoon 11 60\n2000-01-02 morning 9 40\n afternoon 13 100\n2000-01-03 morning 14 50\n afternoon 18 100\n2000-01-04 morning 17 40\n afternoon 19 50\n>>> df2.resample('D', level=0).sum()\n price volume\n2000-01-01 21 110\n2000-01-02 22 140\n2000-01-03 32 150\n2000-01-04 36 90\n\nIf you want to adjust the start of the bins based on a fixed timestamp:\n\n>>> start, end = '2000-10-01 23:30:00', '2000-10-02 00:30:00'\n>>> rng = pd.date_range(start, end, freq='7min')\n>>> ts = pd.Series(np.arange(len(rng)) * 3, index=rng)\n>>> ts\n2000-10-01 23:30:00 0\n2000-10-01 23:37:00 3\n2000-10-01 23:44:00 6\n2000-10-01 23:51:00 9\n2000-10-01 23:58:00 12\n2000-10-02 00:05:00 15\n2000-10-02 00:12:00 18\n2000-10-02 00:19:00 21\n2000-10-02 00:26:00 24\nFreq: 7min, dtype: int64\n\n>>> ts.resample('17min').sum()\n2000-10-01 23:14:00 0\n2000-10-01 23:31:00 9\n2000-10-01 23:48:00 21\n2000-10-02 00:05:00 54\n2000-10-02 00:22:00 24\nFreq: 17min, dtype: int64\n\n>>> ts.resample('17min', origin='epoch').sum()\n2000-10-01 23:18:00 0\n2000-10-01 23:35:00 18\n2000-10-01 23:52:00 27\n2000-10-02 00:09:00 39\n2000-10-02 00:26:00 24\nFreq: 17min, dtype: int64\n\n>>> ts.resample('17min', origin='2000-01-01').sum()\n2000-10-01 23:24:00 3\n2000-10-01 23:41:00 15\n2000-10-01 23:58:00 45\n2000-10-02 00:15:00 45\nFreq: 17min, dtype: int64\n\nIf you want to adjust the start of the bins with an `offset` Timedelta, the two\nfollowing lines are equivalent:\n\n>>> ts.resample('17min', origin='start').sum()\n2000-10-01 23:30:00 9\n2000-10-01 23:47:00 21\n2000-10-02 00:04:00 54\n2000-10-02 00:21:00 24\nFreq: 17min, dtype: int64\n\n>>> ts.resample('17min', offset='23h30min').sum()\n2000-10-01 23:30:00 9\n2000-10-01 23:47:00 21\n2000-10-02 00:04:00 54\n2000-10-02 00:21:00 24\nFreq: 17min, dtype: int64\n\nIf you want to take the largest Timestamp as the end of the bins:\n\n>>> ts.resample('17min', origin='end').sum()\n2000-10-01 23:35:00 0\n2000-10-01 23:52:00 18\n2000-10-02 00:09:00 27\n2000-10-02 00:26:00 63\nFreq: 17min, dtype: int64\n\nIn contrast with the `start_day`, you can use `end_day` to take the ceiling\nmidnight of the largest Timestamp as the end of the bins and drop the bins\nnot containing data:\n\n>>> ts.resample('17min', origin='end_day').sum()\n2000-10-01 23:38:00 3\n2000-10-01 23:55:00 15\n2000-10-02 00:12:00 45\n2000-10-02 00:29:00 45\nFreq: 17min, dtype: int64\n"}, "kind": 2, "label": "resample", "sortText": "141"}, {"detail": "Overload[(level: Hashable | Sequence[Hashable] = ..., *, drop: bool = ..., inplace: Literal[False] = ..., col_level: Hashable = ..., col_fill: Hashable = ..., allow_duplicates: bool | _NoDefault = ..., names: Hashable | Sequence[Hashable] = None) -> DataFrame, (level: Hashable | Sequence[Hashable] = ..., *, drop: bool = ..., inplace: Literal[True], col_level: Hashable = ..., col_fill: Hashable = ..., allow_duplicates: bool | _NoDefault = ..., names: Hashable | Sequence[Hashable] = None) -> None, (level: Hashable | Sequence[Hashable] = ..., *, drop: bool = ..., inplace: bool = ..., col_level: Hashable = ..., col_fill: Hashable = ..., allow_duplicates: bool | _NoDefault = ..., names: Hashable | Sequence[Hashable] = None) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Reset the index, or a level of it.\n\nReset the index of the DataFrame, and use the default one instead.\nIf the DataFrame has a MultiIndex, this method can remove one or more\nlevels.\n\nParameters\n----------\nlevel : int, str, tuple, or list, default None\n Only remove the given levels from the index. Removes all levels by\n default.\ndrop : bool, default False\n Do not try to insert index into dataframe columns. This resets\n the index to the default integer index.\ninplace : bool, default False\n Whether to modify the DataFrame rather than creating a new one.\ncol_level : int or str, default 0\n If the columns have multiple levels, determines which level the\n labels are inserted into. By default it is inserted into the first\n level.\ncol_fill : object, default ''\n If the columns have multiple levels, determines how the other\n levels are named. If None then the index name is repeated.\nallow_duplicates : bool, optional, default lib.no_default\n Allow duplicate column labels to be created.\n\n .. versionadded:: 1.5.0\n\nnames : int, str or 1-dimensional list, default None\n Using the given string, rename the DataFrame column which contains the\n index data. If the DataFrame has a MultiIndex, this has to be a list or\n tuple with length equal to the number of levels.\n\n .. versionadded:: 1.5.0\n\nReturns\n-------\nDataFrame or None\n DataFrame with the new index or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.set_index : Opposite of reset_index.\nDataFrame.reindex : Change to new indices or expand indices.\nDataFrame.reindex_like : Change to same indices as other DataFrame.\n\nExamples\n--------\n>>> df = pd.DataFrame([('bird', 389.0),\n... ('bird', 24.0),\n... ('mammal', 80.5),\n... ('mammal', np.nan)],\n... index=['falcon', 'parrot', 'lion', 'monkey'],\n... columns=('class', 'max_speed'))\n>>> df\n class max_speed\nfalcon bird 389.0\nparrot bird 24.0\nlion mammal 80.5\nmonkey mammal NaN\n\nWhen we reset the index, the old index is added as a column, and a\nnew sequential index is used:\n\n>>> df.reset_index()\n index class max_speed\n0 falcon bird 389.0\n1 parrot bird 24.0\n2 lion mammal 80.5\n3 monkey mammal NaN\n\nWe can use the `drop` parameter to avoid the old index being added as\na column:\n\n>>> df.reset_index(drop=True)\n class max_speed\n0 bird 389.0\n1 bird 24.0\n2 mammal 80.5\n3 mammal NaN\n\nYou can also use `reset_index` with `MultiIndex`.\n\n>>> index = pd.MultiIndex.from_tuples([('bird', 'falcon'),\n... ('bird', 'parrot'),\n... ('mammal', 'lion'),\n... ('mammal', 'monkey')],\n... names=['class', 'name'])\n>>> columns = pd.MultiIndex.from_tuples([('speed', 'max'),\n... ('species', 'type')])\n>>> df = pd.DataFrame([(389.0, 'fly'),\n... (24.0, 'fly'),\n... (80.5, 'run'),\n... (np.nan, 'jump')],\n... index=index,\n... columns=columns)\n>>> df\n speed species\n max type\nclass name\nbird falcon 389.0 fly\n parrot 24.0 fly\nmammal lion 80.5 run\n monkey NaN jump\n\nUsing the `names` parameter, choose a name for the index column:\n\n>>> df.reset_index(names=['classes', 'names'])\n classes names speed species\n max type\n0 bird falcon 389.0 fly\n1 bird parrot 24.0 fly\n2 mammal lion 80.5 run\n3 mammal monkey NaN jump\n\nIf the index has multiple levels, we can reset a subset of them:\n\n>>> df.reset_index(level='class')\n class speed species\n max type\nname\nfalcon bird 389.0 fly\nparrot bird 24.0 fly\nlion mammal 80.5 run\nmonkey mammal NaN jump\n\nIf we are not dropping the index, by default, it is placed in the top\nlevel. We can place it in another level:\n\n>>> df.reset_index(level='class', col_level=1)\n speed species\n class max type\nname\nfalcon bird 389.0 fly\nparrot bird 24.0 fly\nlion mammal 80.5 run\nmonkey mammal NaN jump\n\nWhen the index is inserted under another level, we can specify under\nwhich one with the parameter `col_fill`:\n\n>>> df.reset_index(level='class', col_level=1, col_fill='species')\n species speed species\n class max type\nname\nfalcon bird 389.0 fly\nparrot bird 24.0 fly\nlion mammal 80.5 run\nmonkey mammal NaN jump\n\nIf we specify a nonexistent level for `col_fill`, it is created:\n\n>>> df.reset_index(level='class', col_level=1, col_fill='genus')\n genus speed species\n class max type\nname\nfalcon bird 389.0 fly\nparrot bird 24.0 fly\nlion mammal 80.5 run\nmonkey mammal NaN jump\n"}, "kind": 2, "label": "reset_index", "sortText": "142"}, {"detail": "bound method DataFrame.rfloordiv(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rfloordiv", "sortText": "143"}, {"detail": "bound method DataFrame.rmod(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rmod", "sortText": "144"}, {"detail": "bound method DataFrame.rmul(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rmul", "sortText": "145"}, {"detail": "bound method DataFrame.rolling(window: int | timedelta | str | BaseOffset | BaseIndexer, min_periods: int | None = None, center: bool = False, win_type: str | None = None, on: str | None = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | _NoDefault = ..., closed: Literal[\"left\", \"right\", \"both\", \"neither\"] | None = None, step: int | None = None, method: str = \"single\") -> Window | Rolling", "kind": 2, "label": "rolling", "sortText": "146"}, {"detail": "bound method DataFrame.round(decimals: int | dict[Hashable | Sequence[Hashable], int] | Series = 0, *args, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Round a DataFrame to a variable number of decimal places.\n\nParameters\n----------\ndecimals : int, dict, Series\n Number of decimal places to round each column to. If an int is\n given, round each column to the same number of places.\n Otherwise dict and Series round to variable numbers of places.\n Column names should be in the keys if `decimals` is a\n dict-like, or in the index if `decimals` is a Series. Any\n columns not included in `decimals` will be left as is. Elements\n of `decimals` which are not columns of the input will be\n ignored.\n*args\n Additional keywords have no effect but might be accepted for\n compatibility with numpy.\n**kwargs\n Additional keywords have no effect but might be accepted for\n compatibility with numpy.\n\nReturns\n-------\nDataFrame\n A DataFrame with the affected columns rounded to the specified\n number of decimal places.\n\nSee Also\n--------\nnumpy.around : Round a numpy array to the given number of decimals.\nSeries.round : Round a Series to the given number of decimals.\n\nExamples\n--------\n>>> df = pd.DataFrame([(.21, .32), (.01, .67), (.66, .03), (.21, .18)],\n... columns=['dogs', 'cats'])\n>>> df\n dogs cats\n0 0.21 0.32\n1 0.01 0.67\n2 0.66 0.03\n3 0.21 0.18\n\nBy providing an integer each column is rounded to the same number\nof decimal places\n\n>>> df.round(1)\n dogs cats\n0 0.2 0.3\n1 0.0 0.7\n2 0.7 0.0\n3 0.2 0.2\n\nWith a dict, the number of places for specific columns can be\nspecified with the column names as key and the number of decimal\nplaces as value\n\n>>> df.round({'dogs': 1, 'cats': 0})\n dogs cats\n0 0.2 0.0\n1 0.0 1.0\n2 0.7 0.0\n3 0.2 0.0\n\nUsing a Series, the number of places for specific columns can be\nspecified with the column names as index and the number of\ndecimal places as value\n\n>>> decimals = pd.Series([0, 1], index=['cats', 'dogs'])\n>>> df.round(decimals)\n dogs cats\n0 0.2 0.0\n1 0.0 1.0\n2 0.7 0.0\n3 0.2 0.0\n"}, "kind": 2, "label": "round", "sortText": "147"}, {"detail": "bound method DataFrame.rpow(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rpow", "sortText": "148"}, {"detail": "bound method DataFrame.rsub(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rsub", "sortText": "149"}, {"detail": "bound method DataFrame.rtruediv(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "rtruediv", "sortText": "150"}, {"detail": "bound method DataFrame.sample(n: int | None = None, frac: float | None = None, replace: bool = False, weights=None, random_state: int | ndarray[_AnyShape, dtype[Any]] | Generator | ... omitted 3 union elements = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, ignore_index: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return a random sample of items from an axis of object.\n\nYou can use `random_state` for reproducibility.\n\nParameters\n----------\nn : int, optional\n Number of items from axis to return. Cannot be used with `frac`.\n Default = 1 if `frac` = None.\nfrac : float, optional\n Fraction of axis items to return. Cannot be used with `n`.\nreplace : bool, default False\n Allow or disallow sampling of the same row more than once.\nweights : str or ndarray-like, optional\n Default 'None' results in equal probability weighting.\n If passed a Series, will align with target object on index. Index\n values in weights not found in sampled object will be ignored and\n index values in sampled object not in weights will be assigned\n weights of zero.\n If called on a DataFrame, will accept the name of a column\n when axis = 0.\n Unless weights are a Series, weights must be same length as axis\n being sampled.\n If weights do not sum to 1, they will be normalized to sum to 1.\n Missing values in the weights column will be treated as zero.\n Infinite values not allowed.\nrandom_state : int, array-like, BitGenerator, np.random.RandomState, np.random.Generator, optional\n If int, array-like, or BitGenerator, seed for random number generator.\n If np.random.RandomState or np.random.Generator, use as given.\n\n .. versionchanged:: 1.4.0\n\n np.random.Generator objects now accepted\n\naxis : {0 or 'index', 1 or 'columns', None}, default None\n Axis to sample. Accepts axis number or name. Default is stat axis\n for given data type. For `Series` this parameter is unused and defaults to `None`.\nignore_index : bool, default False\n If True, the resulting index will be labeled 0, 1, \u2026, n - 1.\n\n .. versionadded:: 1.3.0\n\nReturns\n-------\nSeries or DataFrame\n A new object of same type as caller containing `n` items randomly\n sampled from the caller object.\n\nSee Also\n--------\nDataFrameGroupBy.sample: Generates random samples from each group of a\n DataFrame object.\nSeriesGroupBy.sample: Generates random samples from each group of a\n Series object.\nnumpy.random.choice: Generates a random sample from a given 1-D numpy\n array.\n\nNotes\n-----\nIf `frac` > 1, `replacement` should be set to `True`.\n\nExamples\n--------\n>>> df = pd.DataFrame({'num_legs': [2, 4, 8, 0],\n... 'num_wings': [2, 0, 0, 0],\n... 'num_specimen_seen': [10, 2, 1, 8]},\n... index=['falcon', 'dog', 'spider', 'fish'])\n>>> df\n num_legs num_wings num_specimen_seen\nfalcon 2 2 10\ndog 4 0 2\nspider 8 0 1\nfish 0 0 8\n\nExtract 3 random elements from the ``Series`` ``df['num_legs']``:\nNote that we use `random_state` to ensure the reproducibility of\nthe examples.\n\n>>> df['num_legs'].sample(n=3, random_state=1)\nfish 0\nspider 8\nfalcon 2\nName: num_legs, dtype: int64\n\nA random 50% sample of the ``DataFrame`` with replacement:\n\n>>> df.sample(frac=0.5, replace=True, random_state=1)\n num_legs num_wings num_specimen_seen\ndog 4 0 2\nfish 0 0 8\n\nAn upsample sample of the ``DataFrame`` with replacement:\nNote that `replace` parameter has to be `True` for `frac` parameter > 1.\n\n>>> df.sample(frac=2, replace=True, random_state=1)\n num_legs num_wings num_specimen_seen\ndog 4 0 2\nfish 0 0 8\nfalcon 2 2 10\nfalcon 2 2 10\nfish 0 0 8\ndog 4 0 2\nfish 0 0 8\ndog 4 0 2\n\nUsing a DataFrame column as weights. Rows with larger value in the\n`num_specimen_seen` column are more likely to be sampled.\n\n>>> df.sample(n=2, weights='num_specimen_seen', random_state=1)\n num_legs num_wings num_specimen_seen\nfalcon 2 2 10\nfish 0 0 8\n"}, "kind": 2, "label": "sample", "sortText": "151"}, {"detail": "bound method DataFrame.select_dtypes(include=None, exclude=None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return a subset of the DataFrame's columns based on the column dtypes.\n\nParameters\n----------\ninclude, exclude : scalar or list-like\n A selection of dtypes or strings to be included/excluded. At least\n one of these parameters must be supplied.\n\nReturns\n-------\nDataFrame\n The subset of the frame including the dtypes in ``include`` and\n excluding the dtypes in ``exclude``.\n\nRaises\n------\nValueError\n * If both of ``include`` and ``exclude`` are empty\n * If ``include`` and ``exclude`` have overlapping elements\n * If any kind of string dtype is passed in.\n\nSee Also\n--------\nDataFrame.dtypes: Return Series with the data type of each column.\n\nNotes\n-----\n* To select all *numeric* types, use ``np.number`` or ``'number'``\n* To select strings you must use the ``object`` dtype, but note that\n this will return *all* object dtype columns. With\n ``pd.options.future.infer_string`` enabled, using ``\"str\"`` will\n work to select all string columns.\n* See the `numpy dtype hierarchy\n `__\n* To select datetimes, use ``np.datetime64``, ``'datetime'`` or\n ``'datetime64'``\n* To select timedeltas, use ``np.timedelta64``, ``'timedelta'`` or\n ``'timedelta64'``\n* To select Pandas categorical dtypes, use ``'category'``\n* To select Pandas datetimetz dtypes, use ``'datetimetz'``\n or ``'datetime64[ns, tz]'``\n\nExamples\n--------\n>>> df = pd.DataFrame({'a': [1, 2] * 3,\n... 'b': [True, False] * 3,\n... 'c': [1.0, 2.0] * 3})\n>>> df\n a b c\n0 1 True 1.0\n1 2 False 2.0\n2 1 True 1.0\n3 2 False 2.0\n4 1 True 1.0\n5 2 False 2.0\n\n>>> df.select_dtypes(include='bool')\n b\n0 True\n1 False\n2 True\n3 False\n4 True\n5 False\n\n>>> df.select_dtypes(include=['float64'])\n c\n0 1.0\n1 2.0\n2 1.0\n3 2.0\n4 1.0\n5 2.0\n\n>>> df.select_dtypes(exclude=['int64'])\n b c\n0 True 1.0\n1 False 2.0\n2 True 1.0\n3 False 2.0\n4 True 1.0\n5 False 2.0\n"}, "kind": 2, "label": "select_dtypes", "sortText": "152"}, {"detail": "bound method DataFrame.sem(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, ddof: int = 1, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "sem", "sortText": "153"}, {"detail": "bound method DataFrame.set_axis(labels, *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, copy: bool | None = None) -> DataFrame", "kind": 2, "label": "set_axis", "sortText": "154"}, {"detail": "bound method DataFrame.set_flags(*, copy: bool = False, allows_duplicate_labels: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return a new object with updated flags.\n\nParameters\n----------\ncopy : bool, default False\n Specify if a copy of the object should be made.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\nallows_duplicate_labels : bool, optional\n Whether the returned object allows duplicate labels.\n\nReturns\n-------\nSeries or DataFrame\n The same type as the caller.\n\nSee Also\n--------\nDataFrame.attrs : Global metadata applying to this dataset.\nDataFrame.flags : Global flags applying to this object.\n\nNotes\n-----\nThis method returns a new object that's a view on the same data\nas the input. Mutating the input or the output values will be reflected\nin the other.\n\nThis method is intended to be used in method chains.\n\n\"Flags\" differ from \"metadata\". Flags reflect properties of the\npandas object (the Series or DataFrame). Metadata refer to properties\nof the dataset, and should be stored in :attr:`DataFrame.attrs`.\n\nExamples\n--------\n>>> df = pd.DataFrame({\"A\": [1, 2]})\n>>> df.flags.allows_duplicate_labels\nTrue\n>>> df2 = df.set_flags(allows_duplicate_labels=False)\n>>> df2.flags.allows_duplicate_labels\nFalse\n"}, "kind": 2, "label": "set_flags", "sortText": "155"}, {"detail": "Overload[(keys, *, drop: bool = ..., append: bool = ..., inplace: Literal[False] = ..., verify_integrity: bool = ...) -> DataFrame, (keys, *, drop: bool = ..., append: bool = ..., inplace: Literal[True], verify_integrity: bool = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Set the DataFrame index using existing columns.\n\nSet the DataFrame index (row labels) using one or more existing\ncolumns or arrays (of the correct length). The index can replace the\nexisting index or expand on it.\n\nParameters\n----------\nkeys : label or array-like or list of labels/arrays\n This parameter can be either a single column key, a single array of\n the same length as the calling DataFrame, or a list containing an\n arbitrary combination of column keys and arrays. Here, \"array\"\n encompasses :class:`Series`, :class:`Index`, ``np.ndarray``, and\n instances of :class:`~collections.abc.Iterator`.\ndrop : bool, default True\n Delete columns to be used as the new index.\nappend : bool, default False\n Whether to append columns to existing index.\ninplace : bool, default False\n Whether to modify the DataFrame rather than creating a new one.\nverify_integrity : bool, default False\n Check the new index for duplicates. Otherwise defer the check until\n necessary. Setting to False will improve the performance of this\n method.\n\nReturns\n-------\nDataFrame or None\n Changed row labels or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.reset_index : Opposite of set_index.\nDataFrame.reindex : Change to new indices or expand indices.\nDataFrame.reindex_like : Change to same indices as other DataFrame.\n\nExamples\n--------\n>>> df = pd.DataFrame({'month': [1, 4, 7, 10],\n... 'year': [2012, 2014, 2013, 2014],\n... 'sale': [55, 40, 84, 31]})\n>>> df\n month year sale\n0 1 2012 55\n1 4 2014 40\n2 7 2013 84\n3 10 2014 31\n\nSet the index to become the 'month' column:\n\n>>> df.set_index('month')\n year sale\nmonth\n1 2012 55\n4 2014 40\n7 2013 84\n10 2014 31\n\nCreate a MultiIndex using columns 'year' and 'month':\n\n>>> df.set_index(['year', 'month'])\n sale\nyear month\n2012 1 55\n2014 4 40\n2013 7 84\n2014 10 31\n\nCreate a MultiIndex using an Index and a column:\n\n>>> df.set_index([pd.Index([1, 2, 3, 4]), 'year'])\n month sale\n year\n1 2012 1 55\n2 2014 4 40\n3 2013 7 84\n4 2014 10 31\n\nCreate a MultiIndex using two Series:\n\n>>> s = pd.Series([1, 2, 3, 4])\n>>> df.set_index([s, s**2])\n month year sale\n1 1 1 2012 55\n2 4 4 2014 40\n3 9 7 2013 84\n4 16 10 2014 31\n"}, "kind": 2, "label": "set_index", "sortText": "156"}, {"detail": "tuple[int, int]", "documentation": {"kind": "plaintext", "value": "Built-in immutable sequence.\n\nIf no argument is given, the constructor returns an empty tuple.\nIf iterable is specified the tuple is initialized from iterable's items.\n\nIf the argument is a tuple, the return value is the same object.\n"}, "kind": 22, "label": "shape", "sortText": "157"}, {"detail": "bound method DataFrame.shift(periods: int | Sequence[int] = 1, freq: str | BaseOffset | None = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, fill_value: Hashable = ..., suffix: str | None = None) -> DataFrame", "kind": 2, "label": "shift", "sortText": "158"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "size", "sortText": "159"}, {"detail": "bound method DataFrame.skew(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "skew", "sortText": "160"}, {"detail": "Overload[(*, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., level: Hashable | Sequence[Hashable] = ..., ascending: bool | Sequence[bool] = ..., inplace: Literal[True], kind: Literal[\"quicksort\", \"mergesort\", \"heapsort\", \"stable\"] = ..., na_position: Literal[\"first\", \"last\"] = ..., sort_remaining: bool = ..., ignore_index: bool = ..., key: ((Index, /) -> Index | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Series) | None = ...) -> None, (*, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., level: Hashable | Sequence[Hashable] = ..., ascending: bool | Sequence[bool] = ..., inplace: Literal[False] = ..., kind: Literal[\"quicksort\", \"mergesort\", \"heapsort\", \"stable\"] = ..., na_position: Literal[\"first\", \"last\"] = ..., sort_remaining: bool = ..., ignore_index: bool = ..., key: ((Index, /) -> Index | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Series) | None = ...) -> DataFrame, (*, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., level: Hashable | Sequence[Hashable] = ..., ascending: bool | Sequence[bool] = ..., inplace: bool = ..., kind: Literal[\"quicksort\", \"mergesort\", \"heapsort\", \"stable\"] = ..., na_position: Literal[\"first\", \"last\"] = ..., sort_remaining: bool = ..., ignore_index: bool = ..., key: ((Index, /) -> Index | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Series) | None = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Sort object by labels (along an axis).\n\nReturns a new DataFrame sorted by label if `inplace` argument is\n``False``, otherwise updates the original DataFrame and returns None.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis along which to sort. The value 0 identifies the rows,\n and 1 identifies the columns.\nlevel : int or level name or list of ints or list of level names\n If not None, sort on values in specified index level(s).\nascending : bool or list-like of bools, default True\n Sort ascending vs. descending. When the index is a MultiIndex the\n sort direction can be controlled for each level individually.\ninplace : bool, default False\n Whether to modify the DataFrame rather than creating a new one.\nkind : {'quicksort', 'mergesort', 'heapsort', 'stable'}, default 'quicksort'\n Choice of sorting algorithm. See also :func:`numpy.sort` for more\n information. `mergesort` and `stable` are the only stable algorithms. For\n DataFrames, this option is only applied when sorting on a single\n column or label.\nna_position : {'first', 'last'}, default 'last'\n Puts NaNs at the beginning if `first`; `last` puts NaNs at the end.\n Not implemented for MultiIndex.\nsort_remaining : bool, default True\n If True and sorting by level and index is multilevel, sort by other\n levels too (in order) after sorting by specified level.\nignore_index : bool, default False\n If True, the resulting axis will be labeled 0, 1, \u2026, n - 1.\nkey : callable, optional\n If not None, apply the key function to the index values\n before sorting. This is similar to the `key` argument in the\n builtin :meth:`sorted` function, with the notable difference that\n this `key` function should be *vectorized*. It should expect an\n ``Index`` and return an ``Index`` of the same shape. For MultiIndex\n inputs, the key is applied *per level*.\n\nReturns\n-------\nDataFrame or None\n The original DataFrame sorted by the labels or None if ``inplace=True``.\n\nSee Also\n--------\nSeries.sort_index : Sort Series by the index.\nDataFrame.sort_values : Sort DataFrame by the value.\nSeries.sort_values : Sort Series by the value.\n\nExamples\n--------\n>>> df = pd.DataFrame([1, 2, 3, 4, 5], index=[100, 29, 234, 1, 150],\n... columns=['A'])\n>>> df.sort_index()\n A\n1 4\n29 2\n100 1\n150 5\n234 3\n\nBy default, it sorts in ascending order, to sort in descending order,\nuse ``ascending=False``\n\n>>> df.sort_index(ascending=False)\n A\n234 3\n150 5\n100 1\n29 2\n1 4\n\nA key function can be specified which is applied to the index before\nsorting. For a ``MultiIndex`` this is applied to each level separately.\n\n>>> df = pd.DataFrame({\"a\": [1, 2, 3, 4]}, index=['A', 'b', 'C', 'd'])\n>>> df.sort_index(key=lambda x: x.str.lower())\n a\nA 1\nb 2\nC 3\nd 4\n"}, "kind": 2, "label": "sort_index", "sortText": "161"}, {"detail": "Overload[(by: Hashable | Sequence[Hashable], *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., ascending=..., inplace: Literal[False] = ..., kind: Literal[\"quicksort\", \"mergesort\", \"heapsort\", \"stable\"] = ..., na_position: Literal[\"first\", \"last\"] = ..., ignore_index: bool = ..., key: ((Series, /) -> Series | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index) | None = ...) -> DataFrame, (by: Hashable | Sequence[Hashable], *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = ..., ascending=..., inplace: Literal[True], kind: Literal[\"quicksort\", \"mergesort\", \"heapsort\", \"stable\"] = ..., na_position: str = ..., ignore_index: bool = ..., key: ((Series, /) -> Series | ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index) | None = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Sort by the values along either axis.\n\nParameters\n----------\nby : str or list of str\n Name or list of names to sort by.\n\n - if `axis` is 0 or `'index'` then `by` may contain index\n levels and/or column labels.\n - if `axis` is 1 or `'columns'` then `by` may contain column\n levels and/or index labels.\naxis : \"{0 or 'index', 1 or 'columns'}\", default 0\n Axis to be sorted.\nascending : bool or list of bool, default True\n Sort ascending vs. descending. Specify list for multiple sort\n orders. If this is a list of bools, must match the length of\n the by.\ninplace : bool, default False\n If True, perform operation in-place.\nkind : {'quicksort', 'mergesort', 'heapsort', 'stable'}, default 'quicksort'\n Choice of sorting algorithm. See also :func:`numpy.sort` for more\n information. `mergesort` and `stable` are the only stable algorithms. For\n DataFrames, this option is only applied when sorting on a single\n column or label.\nna_position : {'first', 'last'}, default 'last'\n Puts NaNs at the beginning if `first`; `last` puts NaNs at the\n end.\nignore_index : bool, default False\n If True, the resulting axis will be labeled 0, 1, \u2026, n - 1.\nkey : callable, optional\n Apply the key function to the values\n before sorting. This is similar to the `key` argument in the\n builtin :meth:`sorted` function, with the notable difference that\n this `key` function should be *vectorized*. It should expect a\n ``Series`` and return a Series with the same shape as the input.\n It will be applied to each column in `by` independently.\n\nReturns\n-------\nDataFrame or None\n DataFrame with sorted values or None if ``inplace=True``.\n\nSee Also\n--------\nDataFrame.sort_index : Sort a DataFrame by the index.\nSeries.sort_values : Similar method for a Series.\n\nExamples\n--------\n>>> df = pd.DataFrame({\n... 'col1': ['A', 'A', 'B', np.nan, 'D', 'C'],\n... 'col2': [2, 1, 9, 8, 7, 4],\n... 'col3': [0, 1, 9, 4, 2, 3],\n... 'col4': ['a', 'B', 'c', 'D', 'e', 'F']\n... })\n>>> df\n col1 col2 col3 col4\n0 A 2 0 a\n1 A 1 1 B\n2 B 9 9 c\n3 NaN 8 4 D\n4 D 7 2 e\n5 C 4 3 F\n\nSort by col1\n\n>>> df.sort_values(by=['col1'])\n col1 col2 col3 col4\n0 A 2 0 a\n1 A 1 1 B\n2 B 9 9 c\n5 C 4 3 F\n4 D 7 2 e\n3 NaN 8 4 D\n\nSort by multiple columns\n\n>>> df.sort_values(by=['col1', 'col2'])\n col1 col2 col3 col4\n1 A 1 1 B\n0 A 2 0 a\n2 B 9 9 c\n5 C 4 3 F\n4 D 7 2 e\n3 NaN 8 4 D\n\nSort Descending\n\n>>> df.sort_values(by='col1', ascending=False)\n col1 col2 col3 col4\n4 D 7 2 e\n5 C 4 3 F\n2 B 9 9 c\n0 A 2 0 a\n1 A 1 1 B\n3 NaN 8 4 D\n\nPutting NAs first\n\n>>> df.sort_values(by='col1', ascending=False, na_position='first')\n col1 col2 col3 col4\n3 NaN 8 4 D\n4 D 7 2 e\n5 C 4 3 F\n2 B 9 9 c\n0 A 2 0 a\n1 A 1 1 B\n\nSorting with a key function\n\n>>> df.sort_values(by='col4', key=lambda col: col.str.lower())\n col1 col2 col3 col4\n0 A 2 0 a\n1 A 1 1 B\n2 B 9 9 c\n3 NaN 8 4 D\n4 D 7 2 e\n5 C 4 3 F\n\nNatural sort with the key argument,\nusing the `natsort ` package.\n\n>>> df = pd.DataFrame({\n... \"time\": ['0hr', '128hr', '72hr', '48hr', '96hr'],\n... \"value\": [10, 20, 30, 40, 50]\n... })\n>>> df\n time value\n0 0hr 10\n1 128hr 20\n2 72hr 30\n3 48hr 40\n4 96hr 50\n>>> from natsort import index_natsorted\n>>> df.sort_values(\n... by=\"time\",\n... key=lambda x: np.argsort(index_natsorted(df[\"time\"]))\n... )\n time value\n0 0hr 10\n3 48hr 40\n2 72hr 30\n4 96hr 50\n1 128hr 20\n"}, "kind": 2, "label": "sort_values", "sortText": "162"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "sparse", "sortText": "163"}, {"detail": "bound method DataFrame.squeeze(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Squeeze 1 dimensional axis objects into scalars.\n\nSeries or DataFrames with a single element are squeezed to a scalar.\nDataFrames with a single column or a single row are squeezed to a\nSeries. Otherwise the object is unchanged.\n\nThis method is most useful when you don't know if your\nobject is a Series or DataFrame, but you do know it has just a single\ncolumn. In that case you can safely call `squeeze` to ensure you have a\nSeries.\n\nParameters\n----------\naxis : {0 or 'index', 1 or 'columns', None}, default None\n A specific axis to squeeze. By default, all length-1 axes are\n squeezed. For `Series` this parameter is unused and defaults to `None`.\n\nReturns\n-------\nDataFrame, Series, or scalar\n The projection after squeezing `axis` or all the axes.\n\nSee Also\n--------\nSeries.iloc : Integer-location based indexing for selecting scalars.\nDataFrame.iloc : Integer-location based indexing for selecting Series.\nSeries.to_frame : Inverse of DataFrame.squeeze for a\n single-column DataFrame.\n\nExamples\n--------\n>>> primes = pd.Series([2, 3, 5, 7])\n\nSlicing might produce a Series with a single value:\n\n>>> even_primes = primes[primes % 2 == 0]\n>>> even_primes\n0 2\ndtype: int64\n\n>>> even_primes.squeeze()\n2\n\nSqueezing objects with more than one value in every axis does nothing:\n\n>>> odd_primes = primes[primes % 2 == 1]\n>>> odd_primes\n1 3\n2 5\n3 7\ndtype: int64\n\n>>> odd_primes.squeeze()\n1 3\n2 5\n3 7\ndtype: int64\n\nSqueezing is even more effective when used with DataFrames.\n\n>>> df = pd.DataFrame([[1, 2], [3, 4]], columns=['a', 'b'])\n>>> df\n a b\n0 1 2\n1 3 4\n\nSlicing a single column will produce a DataFrame with the columns\nhaving only one value:\n\n>>> df_a = df[['a']]\n>>> df_a\n a\n0 1\n1 3\n\nSo the columns can be squeezed down, resulting in a Series:\n\n>>> df_a.squeeze('columns')\n0 1\n1 3\nName: a, dtype: int64\n\nSlicing a single row from a single column will produce a single\nscalar DataFrame:\n\n>>> df_0a = df.loc[df.index < 1, ['a']]\n>>> df_0a\n a\n0 1\n\nSqueezing the rows produces a single scalar Series:\n\n>>> df_0a.squeeze('rows')\na 1\nName: 0, dtype: int64\n\nSqueezing all axes will project directly into a scalar:\n\n>>> df_0a.squeeze()\n1\n"}, "kind": 2, "label": "squeeze", "sortText": "164"}, {"detail": "bound method DataFrame.stack(level: Hashable | Sequence[Hashable] = -1, dropna: bool | _NoDefault = ..., sort: bool | _NoDefault = ..., future_stack: bool = False) -> Unknown", "documentation": {"kind": "plaintext", "value": "Stack the prescribed level(s) from columns to index.\n\nReturn a reshaped DataFrame or Series having a multi-level\nindex with one or more new inner-most levels compared to the current\nDataFrame. The new inner-most levels are created by pivoting the\ncolumns of the current dataframe:\n\n - if the columns have a single level, the output is a Series;\n - if the columns have multiple levels, the new index\n level(s) is (are) taken from the prescribed level(s) and\n the output is a DataFrame.\n\nParameters\n----------\nlevel : int, str, list, default -1\n Level(s) to stack from the column axis onto the index\n axis, defined as one index or label, or a list of indices\n or labels.\ndropna : bool, default True\n Whether to drop rows in the resulting Frame/Series with\n missing values. Stacking a column level onto the index\n axis can create combinations of index and column values\n that are missing from the original dataframe. See Examples\n section.\nsort : bool, default True\n Whether to sort the levels of the resulting MultiIndex.\nfuture_stack : bool, default False\n Whether to use the new implementation that will replace the current\n implementation in pandas 3.0. When True, dropna and sort have no impact\n on the result and must remain unspecified. See :ref:`pandas 2.1.0 Release\n notes ` for more details.\n\nReturns\n-------\nDataFrame or Series\n Stacked dataframe or series.\n\nSee Also\n--------\nDataFrame.unstack : Unstack prescribed level(s) from index axis\n onto column axis.\nDataFrame.pivot : Reshape dataframe from long format to wide\n format.\nDataFrame.pivot_table : Create a spreadsheet-style pivot table\n as a DataFrame.\n\nNotes\n-----\nThe function is named by analogy with a collection of books\nbeing reorganized from being side by side on a horizontal\nposition (the columns of the dataframe) to being stacked\nvertically on top of each other (in the index of the\ndataframe).\n\nReference :ref:`the user guide ` for more examples.\n\nExamples\n--------\n**Single level columns**\n\n>>> df_single_level_cols = pd.DataFrame([[0, 1], [2, 3]],\n... index=['cat', 'dog'],\n... columns=['weight', 'height'])\n\nStacking a dataframe with a single level column axis returns a Series:\n\n>>> df_single_level_cols\n weight height\ncat 0 1\ndog 2 3\n>>> df_single_level_cols.stack(future_stack=True)\ncat weight 0\n height 1\ndog weight 2\n height 3\ndtype: int64\n\n**Multi level columns: simple case**\n\n>>> multicol1 = pd.MultiIndex.from_tuples([('weight', 'kg'),\n... ('weight', 'pounds')])\n>>> df_multi_level_cols1 = pd.DataFrame([[1, 2], [2, 4]],\n... index=['cat', 'dog'],\n... columns=multicol1)\n\nStacking a dataframe with a multi-level column axis:\n\n>>> df_multi_level_cols1\n weight\n kg pounds\ncat 1 2\ndog 2 4\n>>> df_multi_level_cols1.stack(future_stack=True)\n weight\ncat kg 1\n pounds 2\ndog kg 2\n pounds 4\n\n**Missing values**\n\n>>> multicol2 = pd.MultiIndex.from_tuples([('weight', 'kg'),\n... ('height', 'm')])\n>>> df_multi_level_cols2 = pd.DataFrame([[1.0, 2.0], [3.0, 4.0]],\n... index=['cat', 'dog'],\n... columns=multicol2)\n\nIt is common to have missing values when stacking a dataframe\nwith multi-level columns, as the stacked dataframe typically\nhas more values than the original dataframe. Missing values\nare filled with NaNs:\n\n>>> df_multi_level_cols2\n weight height\n kg m\ncat 1.0 2.0\ndog 3.0 4.0\n>>> df_multi_level_cols2.stack(future_stack=True)\n weight height\ncat kg 1.0 NaN\n m NaN 2.0\ndog kg 3.0 NaN\n m NaN 4.0\n\n**Prescribing the level(s) to be stacked**\n\nThe first parameter controls which level or levels are stacked:\n\n>>> df_multi_level_cols2.stack(0, future_stack=True)\n kg m\ncat weight 1.0 NaN\n height NaN 2.0\ndog weight 3.0 NaN\n height NaN 4.0\n>>> df_multi_level_cols2.stack([0, 1], future_stack=True)\ncat weight kg 1.0\n height m 2.0\ndog weight kg 3.0\n height m 4.0\ndtype: float64\n"}, "kind": 2, "label": "stack", "sortText": "165"}, {"detail": "bound method DataFrame.std(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, ddof: int = 1, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "std", "sortText": "166"}, {"detail": "Styler", "documentation": {"kind": "plaintext", "value": "Helps style a DataFrame or Series according to the data with HTML and CSS.\n\nParameters\n----------\ndata : Series or DataFrame\n Data to be styled - either a Series or DataFrame.\nprecision : int, optional\n Precision to round floats to. If not given defaults to\n ``pandas.options.styler.format.precision``.\n\n .. versionchanged:: 1.4.0\ntable_styles : list-like, default None\n List of {selector: (attr, value)} dicts; see Notes.\nuuid : str, default None\n A unique identifier to avoid CSS collisions; generated automatically.\ncaption : str, tuple, default None\n String caption to attach to the table. Tuple only used for LaTeX dual captions.\ntable_attributes : str, default None\n Items that show up in the opening ```` tag\n in addition to automatic (by default) id.\ncell_ids : bool, default True\n If True, each cell will have an ``id`` attribute in their HTML tag.\n The ``id`` takes the form ``T__row_col``\n where ```` is the unique identifier, ```` is the row\n number and ```` is the column number.\nna_rep : str, optional\n Representation for missing values.\n If ``na_rep`` is None, no special formatting is applied, and falls back to\n ``pandas.options.styler.format.na_rep``.\n\nuuid_len : int, default 5\n If ``uuid`` is not specified, the length of the ``uuid`` to randomly generate\n expressed in hex characters, in range [0, 32].\ndecimal : str, optional\n Character used as decimal separator for floats, complex and integers. If not\n given uses ``pandas.options.styler.format.decimal``.\n\n .. versionadded:: 1.3.0\n\nthousands : str, optional, default None\n Character used as thousands separator for floats, complex and integers. If not\n given uses ``pandas.options.styler.format.thousands``.\n\n .. versionadded:: 1.3.0\n\nescape : str, optional\n Use 'html' to replace the characters ``&``, ``<``, ``>``, ``'``, and ``\"``\n in cell display string with HTML-safe sequences.\n Use 'latex' to replace the characters ``&``, ``%``, ``$``, ``#``, ``_``,\n ``{``, ``}``, ``~``, ``^``, and ``\\`` in the cell display string with\n LaTeX-safe sequences. Use 'latex-math' to replace the characters\n the same way as in 'latex' mode, except for math substrings,\n which either are surrounded by two characters ``$`` or start with\n the character ``\\(`` and end with ``\\)``.\n If not given uses ``pandas.options.styler.format.escape``.\n\n .. versionadded:: 1.3.0\nformatter : str, callable, dict, optional\n Object to define how values are displayed. See ``Styler.format``. If not given\n uses ``pandas.options.styler.format.formatter``.\n\n .. versionadded:: 1.4.0\n\nAttributes\n----------\nenv : Jinja2 jinja2.Environment\ntemplate_html : Jinja2 Template\ntemplate_html_table : Jinja2 Template\ntemplate_html_style : Jinja2 Template\ntemplate_latex : Jinja2 Template\nloader : Jinja2 Loader\n\nSee Also\n--------\nDataFrame.style : Return a Styler object containing methods for building\n a styled HTML representation for the DataFrame.\n\nNotes\n-----\nMost styling will be done by passing style functions into\n``Styler.apply`` or ``Styler.map``. Style functions should\nreturn values with strings containing CSS ``'attr: value'`` that will\nbe applied to the indicated cells.\n\nIf using in the Jupyter notebook, Styler has defined a ``_repr_html_``\nto automatically render itself. Otherwise call Styler.to_html to get\nthe generated HTML.\n\nCSS classes are attached to the generated HTML\n\n* Index and Column names include ``index_name`` and ``level``\n where `k` is its level in a MultiIndex\n* Index label cells include\n\n * ``row_heading``\n * ``row`` where `n` is the numeric position of the row\n * ``level`` where `k` is the level in a MultiIndex\n\n* Column label cells include\n * ``col_heading``\n * ``col`` where `n` is the numeric position of the column\n * ``level`` where `k` is the level in a MultiIndex\n\n* Blank cells include ``blank``\n* Data cells include ``data``\n* Trimmed cells include ``col_trim`` or ``row_trim``.\n\nAny, or all, or these classes can be renamed by using the ``css_class_names``\nargument in ``Styler.set_table_classes``, giving a value such as\n*{\"row\": \"MY_ROW_CLASS\", \"col_trim\": \"\", \"row_trim\": \"\"}*.\n\nExamples\n--------\n>>> df = pd.DataFrame([[1.0, 2.0, 3.0], [4, 5, 6]], index=['a', 'b'],\n... columns=['A', 'B', 'C'])\n>>> pd.io.formats.style.Styler(df, precision=2,\n... caption=\"My table\") # doctest: +SKIP\n\nPlease see:\n`Table Visualization <../../user_guide/style.ipynb>`_ for more examples.\n"}, "kind": 22, "label": "style", "sortText": "167"}, {"detail": "bound method DataFrame.sub(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "sub", "sortText": "168"}, {"detail": "(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "subtract", "sortText": "169"}, {"detail": "bound method DataFrame.sum(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, min_count: int = 0, **kwargs) -> Unknown", "kind": 2, "label": "sum", "sortText": "170"}, {"detail": "bound method DataFrame.swapaxes(axis1: int | Literal[\"index\", \"columns\", \"rows\"], axis2: int | Literal[\"index\", \"columns\", \"rows\"], copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Interchange axes and swap values axes appropriately.\n\n.. deprecated:: 2.1.0\n ``swapaxes`` is deprecated and will be removed.\n Please use ``transpose`` instead.\n\nReturns\n-------\nsame as input\n\nExamples\n--------\nPlease see examples for :meth:`DataFrame.transpose`.\n"}, "kind": 2, "label": "swapaxes", "sortText": "171"}, {"detail": "bound method DataFrame.swaplevel(i: int | Literal[\"index\", \"columns\", \"rows\"] = -2, j: int | Literal[\"index\", \"columns\", \"rows\"] = -1, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> DataFrame", "kind": 2, "label": "swaplevel", "sortText": "172"}, {"detail": "bound method DataFrame.tail(n: int = 5) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the last `n` rows.\n\nThis function returns last `n` rows from the object based on\nposition. It is useful for quickly verifying data, for example,\nafter sorting or appending rows.\n\nFor negative values of `n`, this function returns all rows except\nthe first `|n|` rows, equivalent to ``df[|n|:]``.\n\nIf n is larger than the number of rows, this function returns all rows.\n\nParameters\n----------\nn : int, default 5\n Number of rows to select.\n\nReturns\n-------\ntype of caller\n The last `n` rows of the caller object.\n\nSee Also\n--------\nDataFrame.head : The first `n` rows of the caller object.\n\nExamples\n--------\n>>> df = pd.DataFrame({'animal': ['alligator', 'bee', 'falcon', 'lion',\n... 'monkey', 'parrot', 'shark', 'whale', 'zebra']})\n>>> df\n animal\n0 alligator\n1 bee\n2 falcon\n3 lion\n4 monkey\n5 parrot\n6 shark\n7 whale\n8 zebra\n\nViewing the last 5 lines\n\n>>> df.tail()\n animal\n4 monkey\n5 parrot\n6 shark\n7 whale\n8 zebra\n\nViewing the last `n` lines (three in this case)\n\n>>> df.tail(3)\n animal\n6 shark\n7 whale\n8 zebra\n\nFor negative values of `n`\n\n>>> df.tail(-3)\n animal\n3 lion\n4 monkey\n5 parrot\n6 shark\n7 whale\n8 zebra\n"}, "kind": 2, "label": "tail", "sortText": "173"}, {"detail": "bound method DataFrame.take(indices, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the elements in the given *positional* indices along an axis.\n\nThis means that we are not indexing according to actual values in\nthe index attribute of the object. We are indexing according to the\nactual position of the element in the object.\n\nParameters\n----------\nindices : array-like\n An array of ints indicating which positions to take.\naxis : {0 or 'index', 1 or 'columns', None}, default 0\n The axis on which to select elements. ``0`` means that we are\n selecting rows, ``1`` means that we are selecting columns.\n For `Series` this parameter is unused and defaults to 0.\n**kwargs\n For compatibility with :meth:`numpy.take`. Has no effect on the\n output.\n\nReturns\n-------\nsame type as caller\n An array-like containing the elements taken from the object.\n\nSee Also\n--------\nDataFrame.loc : Select a subset of a DataFrame by labels.\nDataFrame.iloc : Select a subset of a DataFrame by positions.\nnumpy.take : Take elements from an array along an axis.\n\nExamples\n--------\n>>> df = pd.DataFrame([('falcon', 'bird', 389.0),\n... ('parrot', 'bird', 24.0),\n... ('lion', 'mammal', 80.5),\n... ('monkey', 'mammal', np.nan)],\n... columns=['name', 'class', 'max_speed'],\n... index=[0, 2, 3, 1])\n>>> df\n name class max_speed\n0 falcon bird 389.0\n2 parrot bird 24.0\n3 lion mammal 80.5\n1 monkey mammal NaN\n\nTake elements at positions 0 and 3 along the axis 0 (default).\n\nNote how the actual indices selected (0 and 1) do not correspond to\nour selected indices 0 and 3. That's because we are selecting the 0th\nand 3rd rows, not rows whose indices equal 0 and 3.\n\n>>> df.take([0, 3])\n name class max_speed\n0 falcon bird 389.0\n1 monkey mammal NaN\n\nTake elements at indices 1 and 2 along the axis 1 (column selection).\n\n>>> df.take([1, 2], axis=1)\n class max_speed\n0 bird 389.0\n2 bird 24.0\n3 mammal 80.5\n1 mammal NaN\n\nWe may take elements using negative integers for positive indices,\nstarting from the end of the object, just like with Python lists.\n\n>>> df.take([-1, -2])\n name class max_speed\n1 monkey mammal NaN\n3 lion mammal 80.5\n"}, "kind": 2, "label": "take", "sortText": "174"}, {"detail": "bound method DataFrame.to_clipboard(excel: bool = True, sep: str | None = None, **kwargs) -> None", "documentation": {"kind": "plaintext", "value": "Copy object to the system clipboard.\n\nWrite a text representation of object to the system clipboard.\nThis can be pasted into Excel, for example.\n\nParameters\n----------\nexcel : bool, default True\n Produce output in a csv format for easy pasting into excel.\n\n - True, use the provided separator for csv pasting.\n - False, write a string representation of the object to the clipboard.\n\nsep : str, default ``'\\t'``\n Field delimiter.\n**kwargs\n These parameters will be passed to DataFrame.to_csv.\n\nSee Also\n--------\nDataFrame.to_csv : Write a DataFrame to a comma-separated values\n (csv) file.\nread_clipboard : Read text from clipboard and pass to read_csv.\n\nNotes\n-----\nRequirements for your platform.\n\n - Linux : `xclip`, or `xsel` (with `PyQt4` modules)\n - Windows : none\n - macOS : none\n\nThis method uses the processes developed for the package `pyperclip`. A\nsolution to render any output string format is given in the examples.\n\nExamples\n--------\nCopy the contents of a DataFrame to the clipboard.\n\n>>> df = pd.DataFrame([[1, 2, 3], [4, 5, 6]], columns=['A', 'B', 'C'])\n\n>>> df.to_clipboard(sep=',') # doctest: +SKIP\n... # Wrote the following to the system clipboard:\n... # ,A,B,C\n... # 0,1,2,3\n... # 1,4,5,6\n\nWe can omit the index by passing the keyword `index` and setting\nit to false.\n\n>>> df.to_clipboard(sep=',', index=False) # doctest: +SKIP\n... # Wrote the following to the system clipboard:\n... # A,B,C\n... # 1,2,3\n... # 4,5,6\n\nUsing the original `pyperclip` package for any string output format.\n\n.. code-block:: python\n\n import pyperclip\n html = df.style.to_html()\n pyperclip.copy(html)\n"}, "kind": 2, "label": "to_clipboard", "sortText": "175"}, {"detail": "Overload[(path_or_buf: None = ..., sep: str = ..., na_rep: str = ..., float_format: str | ((...) -> Unknown) | None = ..., columns: Sequence[Hashable] | None = ..., header: bool | list[str] = ..., index: bool = ..., index_label: Hashable | Sequence[Hashable] = ..., mode: str = ..., encoding: str | None = ..., compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = ..., quoting: int | None = ..., quotechar: str = ..., lineterminator: str | None = ..., chunksize: int | None = ..., date_format: str | None = ..., doublequote: bool = ..., escapechar: str | None = ..., decimal: str = ..., errors: Literal[\"strict\", \"ignore\", \"replace\", \"surrogateescape\", \"xmlcharrefreplace\", \"backslashreplace\", \"namereplace\"] = ..., storage_options: dict[str, Any] | None = ...) -> str, (path_or_buf: str | PathLike[str] | WriteBuffer[bytes] | WriteBuffer[str], sep: str = ..., na_rep: str = ..., float_format: str | ((...) -> Unknown) | None = ..., columns: Sequence[Hashable] | None = ..., header: bool | list[str] = ..., index: bool = ..., index_label: Hashable | Sequence[Hashable] = ..., mode: str = ..., encoding: str | None = ..., compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = ..., quoting: int | None = ..., quotechar: str = ..., lineterminator: str | None = ..., chunksize: int | None = ..., date_format: str | None = ..., doublequote: bool = ..., escapechar: str | None = ..., decimal: str = ..., errors: Literal[\"strict\", \"ignore\", \"replace\", \"surrogateescape\", \"xmlcharrefreplace\", \"backslashreplace\", \"namereplace\"] = ..., storage_options: dict[str, Any] | None = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Write object to a comma-separated values (csv) file.\n\nParameters\n----------\npath_or_buf : str, path object, file-like object, or None, default None\n String, path object (implementing os.PathLike[str]), or file-like\n object implementing a write() function. If None, the result is\n returned as a string. If a non-binary file object is passed, it should\n be opened with `newline=''`, disabling universal newlines. If a binary\n file object is passed, `mode` might need to contain a `'b'`.\nsep : str, default ','\n String of length 1. Field delimiter for the output file.\nna_rep : str, default ''\n Missing data representation.\nfloat_format : str, Callable, default None\n Format string for floating point numbers. If a Callable is given, it takes\n precedence over other numeric formatting parameters, like decimal.\ncolumns : sequence, optional\n Columns to write.\nheader : bool or list of str, default True\n Write out the column names. If a list of strings is given it is\n assumed to be aliases for the column names.\nindex : bool, default True\n Write row names (index).\nindex_label : str or sequence, or False, default None\n Column label for index column(s) if desired. If None is given, and\n `header` and `index` are True, then the index names are used. A\n sequence should be given if the object uses MultiIndex. If\n False do not print fields for index names. Use index_label=False\n for easier importing in R.\nmode : {{'w', 'x', 'a'}}, default 'w'\n Forwarded to either `open(mode=)` or `fsspec.open(mode=)` to control\n the file opening. Typical values include:\n\n - 'w', truncate the file first.\n - 'x', exclusive creation, failing if the file already exists.\n - 'a', append to the end of file if it exists.\n\nencoding : str, optional\n A string representing the encoding to use in the output file,\n defaults to 'utf-8'. `encoding` is not supported if `path_or_buf`\n is a non-binary file object.\n{compression_options}\n\n May be a dict with key 'method' as compression mode\n and other entries as additional compression options if\n compression mode is 'zip'.\n\n Passing compression options as keys in dict is\n supported for compression modes 'gzip', 'bz2', 'zstd', and 'zip'.\nquoting : optional constant from csv module\n Defaults to csv.QUOTE_MINIMAL. If you have set a `float_format`\n then floats are converted to strings and thus csv.QUOTE_NONNUMERIC\n will treat them as non-numeric.\nquotechar : str, default '\\\"'\n String of length 1. Character used to quote fields.\nlineterminator : str, optional\n The newline character or character sequence to use in the output\n file. Defaults to `os.linesep`, which depends on the OS in which\n this method is called ('\\\\n' for linux, '\\\\r\\\\n' for Windows, i.e.).\n\n .. versionchanged:: 1.5.0\n\n Previously was line_terminator, changed for consistency with\n read_csv and the standard library 'csv' module.\n\nchunksize : int or None\n Rows to write at a time.\ndate_format : str, default None\n Format string for datetime objects.\ndoublequote : bool, default True\n Control quoting of `quotechar` inside a field.\nescapechar : str, default None\n String of length 1. Character used to escape `sep` and `quotechar`\n when appropriate.\ndecimal : str, default '.'\n Character recognized as decimal separator. E.g. use ',' for\n European data.\nerrors : str, default 'strict'\n Specifies how encoding and decoding errors are to be handled.\n See the errors argument for :func:`open` for a full list\n of options.\n\n{storage_options}\n\nReturns\n-------\nNone or str\n If path_or_buf is None, returns the resulting csv format as a\n string. Otherwise returns None.\n\nSee Also\n--------\nread_csv : Load a CSV file into a DataFrame.\nto_excel : Write DataFrame to an Excel file.\n\nExamples\n--------\nCreate 'out.csv' containing 'df' without indices\n\n>>> df = pd.DataFrame({{'name': ['Raphael', 'Donatello'],\n... 'mask': ['red', 'purple'],\n... 'weapon': ['sai', 'bo staff']}})\n>>> df.to_csv('out.csv', index=False) # doctest: +SKIP\n\nCreate 'out.zip' containing 'out.csv'\n\n>>> df.to_csv(index=False)\n'name,mask,weapon\\nRaphael,red,sai\\nDonatello,purple,bo staff\\n'\n>>> compression_opts = dict(method='zip',\n... archive_name='out.csv') # doctest: +SKIP\n>>> df.to_csv('out.zip', index=False,\n... compression=compression_opts) # doctest: +SKIP\n\nTo write a csv file to a new folder or nested folder you will first\nneed to create it using either Pathlib or os:\n\n>>> from pathlib import Path # doctest: +SKIP\n>>> filepath = Path('folder/subfolder/out.csv') # doctest: +SKIP\n>>> filepath.parent.mkdir(parents=True, exist_ok=True) # doctest: +SKIP\n>>> df.to_csv(filepath) # doctest: +SKIP\n\n>>> import os # doctest: +SKIP\n>>> os.makedirs('folder/subfolder', exist_ok=True) # doctest: +SKIP\n>>> df.to_csv('folder/subfolder/out.csv') # doctest: +SKIP\n"}, "kind": 2, "label": "to_csv", "sortText": "176"}, {"detail": "Overload[[MutableMappingT](orient: Literal[\"dict\", \"list\", \"series\", \"split\", \"tight\", \"index\"] = ..., *, into: type[MutableMappingT] | MutableMappingT, index: bool = ...) -> MutableMappingT, [MutableMappingT](orient: Literal[\"records\"], *, into: type[MutableMappingT] | MutableMappingT, index: bool = ...) -> list[MutableMappingT], (orient: Literal[\"dict\", \"list\", \"series\", \"split\", \"tight\", \"index\"] = ..., *, into: type[dict[Unknown, Unknown]] = ..., index: bool = ...) -> dict[Unknown, Unknown], (orient: Literal[\"records\"], *, into: type[dict[Unknown, Unknown]] = ..., index: bool = ...) -> list[dict[Unknown, Unknown]]]", "documentation": {"kind": "plaintext", "value": "Convert the DataFrame to a dictionary.\n\nThe type of the key-value pairs can be customized with the parameters\n(see below).\n\nParameters\n----------\norient : str {'dict', 'list', 'series', 'split', 'tight', 'records', 'index'}\n Determines the type of the values of the dictionary.\n\n - 'dict' (default) : dict like {column -> {index -> value}}\n - 'list' : dict like {column -> [values]}\n - 'series' : dict like {column -> Series(values)}\n - 'split' : dict like\n {'index' -> [index], 'columns' -> [columns], 'data' -> [values]}\n - 'tight' : dict like\n {'index' -> [index], 'columns' -> [columns], 'data' -> [values],\n 'index_names' -> [index.names], 'column_names' -> [column.names]}\n - 'records' : list like\n [{column -> value}, ... , {column -> value}]\n - 'index' : dict like {index -> {column -> value}}\n\n .. versionadded:: 1.4.0\n 'tight' as an allowed value for the ``orient`` argument\n\ninto : class, default dict\n The collections.abc.MutableMapping subclass used for all Mappings\n in the return value. Can be the actual class or an empty\n instance of the mapping type you want. If you want a\n collections.defaultdict, you must pass it initialized.\n\nindex : bool, default True\n Whether to include the index item (and index_names item if `orient`\n is 'tight') in the returned dictionary. Can only be ``False``\n when `orient` is 'split' or 'tight'.\n\n .. versionadded:: 2.0.0\n\nReturns\n-------\ndict, list or collections.abc.MutableMapping\n Return a collections.abc.MutableMapping object representing the\n DataFrame. The resulting transformation depends on the `orient`\n parameter.\n\nSee Also\n--------\nDataFrame.from_dict: Create a DataFrame from a dictionary.\nDataFrame.to_json: Convert a DataFrame to JSON format.\n\nExamples\n--------\n>>> df = pd.DataFrame({'col1': [1, 2],\n... 'col2': [0.5, 0.75]},\n... index=['row1', 'row2'])\n>>> df\n col1 col2\nrow1 1 0.50\nrow2 2 0.75\n>>> df.to_dict()\n{'col1': {'row1': 1, 'row2': 2}, 'col2': {'row1': 0.5, 'row2': 0.75}}\n\nYou can specify the return orientation.\n\n>>> df.to_dict('series')\n{'col1': row1 1\n row2 2\nName: col1, dtype: int64,\n'col2': row1 0.50\n row2 0.75\nName: col2, dtype: float64}\n\n>>> df.to_dict('split')\n{'index': ['row1', 'row2'], 'columns': ['col1', 'col2'],\n 'data': [[1, 0.5], [2, 0.75]]}\n\n>>> df.to_dict('records')\n[{'col1': 1, 'col2': 0.5}, {'col1': 2, 'col2': 0.75}]\n\n>>> df.to_dict('index')\n{'row1': {'col1': 1, 'col2': 0.5}, 'row2': {'col1': 2, 'col2': 0.75}}\n\n>>> df.to_dict('tight')\n{'index': ['row1', 'row2'], 'columns': ['col1', 'col2'],\n 'data': [[1, 0.5], [2, 0.75]], 'index_names': [None], 'column_names': [None]}\n\nYou can also specify the mapping type.\n\n>>> from collections import OrderedDict, defaultdict\n>>> df.to_dict(into=OrderedDict)\nOrderedDict([('col1', OrderedDict([('row1', 1), ('row2', 2)])),\n ('col2', OrderedDict([('row1', 0.5), ('row2', 0.75)]))])\n\nIf you want a `defaultdict`, you need to initialize it:\n\n>>> dd = defaultdict(list)\n>>> df.to_dict('records', into=dd)\n[defaultdict(, {'col1': 1, 'col2': 0.5}),\n defaultdict(, {'col1': 2, 'col2': 0.75})]\n"}, "kind": 2, "label": "to_dict", "sortText": "177"}, {"detail": "bound method DataFrame.to_excel(excel_writer: str | PathLike[str] | WriteExcelBuffer, sheet_name: str = \"Sheet1\", na_rep: str = \"\", float_format: str | None = None, columns: Sequence[Hashable] | None = None, header: Sequence[Hashable] | bool = True, index: bool = True, index_label: Hashable | Sequence[Hashable] = None, startrow: int = 0, startcol: int = 0, engine: Literal[\"openpyxl\", \"xlsxwriter\"] | None = None, merge_cells: bool = True, inf_rep: str = \"inf\", freeze_panes: tuple[int, int] | None = None, storage_options: dict[str, Any] | None = None, engine_kwargs: dict[str, Any] | None = None) -> None", "documentation": {"kind": "plaintext", "value": "Write {klass} to an Excel sheet.\n\nTo write a single {klass} to an Excel .xlsx file it is only necessary to\nspecify a target file name. To write to multiple sheets it is necessary to\ncreate an `ExcelWriter` object with a target file name, and specify a sheet\nin the file to write to.\n\nMultiple sheets may be written to by specifying unique `sheet_name`.\nWith all data written to the file it is necessary to save the changes.\nNote that creating an `ExcelWriter` object with a file name that already\nexists will result in the contents of the existing file being erased.\n\nParameters\n----------\nexcel_writer : path-like, file-like, or ExcelWriter object\n File path or existing ExcelWriter.\nsheet_name : str, default 'Sheet1'\n Name of sheet which will contain DataFrame.\nna_rep : str, default ''\n Missing data representation.\nfloat_format : str, optional\n Format string for floating point numbers. For example\n ``float_format=\"%.2f\"`` will format 0.1234 to 0.12.\ncolumns : sequence or list of str, optional\n Columns to write.\nheader : bool or list of str, default True\n Write out the column names. If a list of string is given it is\n assumed to be aliases for the column names.\nindex : bool, default True\n Write row names (index).\nindex_label : str or sequence, optional\n Column label for index column(s) if desired. If not specified, and\n `header` and `index` are True, then the index names are used. A\n sequence should be given if the DataFrame uses MultiIndex.\nstartrow : int, default 0\n Upper left cell row to dump data frame.\nstartcol : int, default 0\n Upper left cell column to dump data frame.\nengine : str, optional\n Write engine to use, 'openpyxl' or 'xlsxwriter'. You can also set this\n via the options ``io.excel.xlsx.writer`` or\n ``io.excel.xlsm.writer``.\n\nmerge_cells : bool, default True\n Write MultiIndex and Hierarchical Rows as merged cells.\ninf_rep : str, default 'inf'\n Representation for infinity (there is no native representation for\n infinity in Excel).\nfreeze_panes : tuple of int (length 2), optional\n Specifies the one-based bottommost row and rightmost column that\n is to be frozen.\n{storage_options}\n\n .. versionadded:: {storage_options_versionadded}\nengine_kwargs : dict, optional\n Arbitrary keyword arguments passed to excel engine.\n\nSee Also\n--------\nto_csv : Write DataFrame to a comma-separated values (csv) file.\nExcelWriter : Class for writing DataFrame objects into excel sheets.\nread_excel : Read an Excel file into a pandas DataFrame.\nread_csv : Read a comma-separated values (csv) file into DataFrame.\nio.formats.style.Styler.to_excel : Add styles to Excel sheet.\n\nNotes\n-----\nFor compatibility with :meth:`~DataFrame.to_csv`,\nto_excel serializes lists and dicts to strings before writing.\n\nOnce a workbook has been saved it is not possible to write further\ndata without rewriting the whole workbook.\n\nExamples\n--------\n\nCreate, write to and save a workbook:\n\n>>> df1 = pd.DataFrame([['a', 'b'], ['c', 'd']],\n... index=['row 1', 'row 2'],\n... columns=['col 1', 'col 2'])\n>>> df1.to_excel(\"output.xlsx\") # doctest: +SKIP\n\nTo specify the sheet name:\n\n>>> df1.to_excel(\"output.xlsx\",\n... sheet_name='Sheet_name_1') # doctest: +SKIP\n\nIf you wish to write to more than one sheet in the workbook, it is\nnecessary to specify an ExcelWriter object:\n\n>>> df2 = df1.copy()\n>>> with pd.ExcelWriter('output.xlsx') as writer: # doctest: +SKIP\n... df1.to_excel(writer, sheet_name='Sheet_name_1')\n... df2.to_excel(writer, sheet_name='Sheet_name_2')\n\nExcelWriter can also be used to append to an existing Excel file:\n\n>>> with pd.ExcelWriter('output.xlsx',\n... mode='a') as writer: # doctest: +SKIP\n... df1.to_excel(writer, sheet_name='Sheet_name_3')\n\nTo set the library that is used to write the Excel file,\nyou can pass the `engine` keyword (the default engine is\nautomatically chosen depending on the file extension):\n\n>>> df1.to_excel('output1.xlsx', engine='xlsxwriter') # doctest: +SKIP\n"}, "kind": 2, "label": "to_excel", "sortText": "178"}, {"detail": "bound method DataFrame.to_feather(path: str | PathLike[str] | WriteBuffer[bytes], **kwargs) -> None", "documentation": {"kind": "plaintext", "value": "Write a DataFrame to the binary Feather format.\n\nParameters\n----------\npath : str, path object, file-like object\n String, path object (implementing ``os.PathLike[str]``), or file-like\n object implementing a binary ``write()`` function. If a string or a path,\n it will be used as Root Directory path when writing a partitioned dataset.\n**kwargs :\n Additional keywords passed to :func:`pyarrow.feather.write_feather`.\n This includes the `compression`, `compression_level`, `chunksize`\n and `version` keywords.\n\nNotes\n-----\nThis function writes the dataframe as a `feather file\n`_. Requires a default\nindex. For saving the DataFrame with your custom index use a method that\nsupports custom indices e.g. `to_parquet`.\n\nExamples\n--------\n>>> df = pd.DataFrame([[1, 2, 3], [4, 5, 6]])\n>>> df.to_feather(\"file.feather\") # doctest: +SKIP\n"}, "kind": 2, "label": "to_feather", "sortText": "179"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "to_frame", "sortText": "180"}, {"detail": "bound method DataFrame.to_gbq(destination_table: str, project_id: str | None = None, chunksize: int | None = None, reauth: bool = False, if_exists: Literal[\"fail\", \"replace\", \"append\"] = \"fail\", auth_local_webserver: bool = True, table_schema: list[dict[str, str]] | None = None, location: str | None = None, progress_bar: bool = True, credentials=None) -> None", "documentation": {"kind": "plaintext", "value": "Write a DataFrame to a Google BigQuery table.\n\n.. deprecated:: 2.2.0\n\n Please use ``pandas_gbq.to_gbq`` instead.\n\nThis function requires the `pandas-gbq package\n`__.\n\nSee the `How to authenticate with Google BigQuery\n`__\nguide for authentication instructions.\n\nParameters\n----------\ndestination_table : str\n Name of table to be written, in the form ``dataset.tablename``.\nproject_id : str, optional\n Google BigQuery Account project ID. Optional when available from\n the environment.\nchunksize : int, optional\n Number of rows to be inserted in each chunk from the dataframe.\n Set to ``None`` to load the whole dataframe at once.\nreauth : bool, default False\n Force Google BigQuery to re-authenticate the user. This is useful\n if multiple accounts are used.\nif_exists : str, default 'fail'\n Behavior when the destination table exists. Value can be one of:\n\n ``'fail'``\n If table exists raise pandas_gbq.gbq.TableCreationError.\n ``'replace'``\n If table exists, drop it, recreate it, and insert data.\n ``'append'``\n If table exists, insert data. Create if does not exist.\nauth_local_webserver : bool, default True\n Use the `local webserver flow`_ instead of the `console flow`_\n when getting user credentials.\n\n .. _local webserver flow:\n https://google-auth-oauthlib.readthedocs.io/en/latest/reference/google_auth_oauthlib.flow.html#google_auth_oauthlib.flow.InstalledAppFlow.run_local_server\n .. _console flow:\n https://google-auth-oauthlib.readthedocs.io/en/latest/reference/google_auth_oauthlib.flow.html#google_auth_oauthlib.flow.InstalledAppFlow.run_console\n\n *New in version 0.2.0 of pandas-gbq*.\n\n .. versionchanged:: 1.5.0\n Default value is changed to ``True``. Google has deprecated the\n ``auth_local_webserver = False`` `\"out of band\" (copy-paste)\n flow\n `_.\ntable_schema : list of dicts, optional\n List of BigQuery table fields to which according DataFrame\n columns conform to, e.g. ``[{'name': 'col1', 'type':\n 'STRING'},...]``. If schema is not provided, it will be\n generated according to dtypes of DataFrame columns. See\n BigQuery API documentation on available names of a field.\n\n *New in version 0.3.1 of pandas-gbq*.\nlocation : str, optional\n Location where the load job should run. See the `BigQuery locations\n documentation\n `__ for a\n list of available locations. The location must match that of the\n target dataset.\n\n *New in version 0.5.0 of pandas-gbq*.\nprogress_bar : bool, default True\n Use the library `tqdm` to show the progress bar for the upload,\n chunk by chunk.\n\n *New in version 0.5.0 of pandas-gbq*.\ncredentials : google.auth.credentials.Credentials, optional\n Credentials for accessing Google APIs. Use this parameter to\n override default credentials, such as to use Compute Engine\n :class:`google.auth.compute_engine.Credentials` or Service\n Account :class:`google.oauth2.service_account.Credentials`\n directly.\n\n *New in version 0.8.0 of pandas-gbq*.\n\nSee Also\n--------\npandas_gbq.to_gbq : This function in the pandas-gbq library.\nread_gbq : Read a DataFrame from Google BigQuery.\n\nExamples\n--------\nExample taken from `Google BigQuery documentation\n`_\n\n>>> project_id = \"my-project\"\n>>> table_id = 'my_dataset.my_table'\n>>> df = pd.DataFrame({\n... \"my_string\": [\"a\", \"b\", \"c\"],\n... \"my_int64\": [1, 2, 3],\n... \"my_float64\": [4.0, 5.0, 6.0],\n... \"my_bool1\": [True, False, True],\n... \"my_bool2\": [False, True, False],\n... \"my_dates\": pd.date_range(\"now\", periods=3),\n... }\n... )\n\n>>> df.to_gbq(table_id, project_id=project_id) # doctest: +SKIP\n"}, "kind": 2, "label": "to_gbq", "sortText": "181"}, {"detail": "bound method DataFrame.to_hdf(path_or_buf: str | PathLike[str], key: str, mode: Literal[\"a\", \"w\", \"r+\"] = \"a\", complevel: int | None = None, complib: Literal[\"zlib\", \"lzo\", \"bzip2\", \"blosc\"] | None = None, append: bool = False, format: Literal[\"fixed\", \"table\"] | None = None, index: bool = True, min_itemsize: int | dict[str, int] | None = None, nan_rep=None, dropna: bool | None = None, data_columns: Literal[True] | list[str] | None = None, errors: Literal[\"strict\", \"ignore\", \"replace\", \"surrogateescape\", \"xmlcharrefreplace\", \"backslashreplace\", \"namereplace\"] = \"strict\", encoding: str = \"UTF-8\") -> None", "documentation": {"kind": "plaintext", "value": "Write the contained data to an HDF5 file using HDFStore.\n\nHierarchical Data Format (HDF) is self-describing, allowing an\napplication to interpret the structure and contents of a file with\nno outside information. One HDF file can hold a mix of related objects\nwhich can be accessed as a group or as individual objects.\n\nIn order to add another DataFrame or Series to an existing HDF file\nplease use append mode and a different a key.\n\n.. warning::\n\n One can store a subclass of ``DataFrame`` or ``Series`` to HDF5,\n but the type of the subclass is lost upon storing.\n\nFor more information see the :ref:`user guide `.\n\nParameters\n----------\npath_or_buf : str or pandas.HDFStore\n File path or HDFStore object.\nkey : str\n Identifier for the group in the store.\nmode : {'a', 'w', 'r+'}, default 'a'\n Mode to open file:\n\n - 'w': write, a new file is created (an existing file with\n the same name would be deleted).\n - 'a': append, an existing file is opened for reading and\n writing, and if the file does not exist it is created.\n - 'r+': similar to 'a', but the file must already exist.\ncomplevel : {0-9}, default None\n Specifies a compression level for data.\n A value of 0 or None disables compression.\ncomplib : {'zlib', 'lzo', 'bzip2', 'blosc'}, default 'zlib'\n Specifies the compression library to be used.\n These additional compressors for Blosc are supported\n (default if no compressor specified: 'blosc:blosclz'):\n {'blosc:blosclz', 'blosc:lz4', 'blosc:lz4hc', 'blosc:snappy',\n 'blosc:zlib', 'blosc:zstd'}.\n Specifying a compression library which is not available issues\n a ValueError.\nappend : bool, default False\n For Table formats, append the input data to the existing.\nformat : {'fixed', 'table', None}, default 'fixed'\n Possible values:\n\n - 'fixed': Fixed format. Fast writing/reading. Not-appendable,\n nor searchable.\n - 'table': Table format. Write as a PyTables Table structure\n which may perform worse but allow more flexible operations\n like searching / selecting subsets of the data.\n - If None, pd.get_option('io.hdf.default_format') is checked,\n followed by fallback to \"fixed\".\nindex : bool, default True\n Write DataFrame index as a column.\nmin_itemsize : dict or int, optional\n Map column names to minimum string sizes for columns.\nnan_rep : Any, optional\n How to represent null values as str.\n Not allowed with append=True.\ndropna : bool, default False, optional\n Remove missing values.\ndata_columns : list of columns or True, optional\n List of columns to create as indexed data columns for on-disk\n queries, or True to use all columns. By default only the axes\n of the object are indexed. See\n :ref:`Query via data columns`. for\n more information.\n Applicable only to format='table'.\nerrors : str, default 'strict'\n Specifies how encoding and decoding errors are to be handled.\n See the errors argument for :func:`open` for a full list\n of options.\nencoding : str, default \"UTF-8\"\n\nSee Also\n--------\nread_hdf : Read from HDF file.\nDataFrame.to_orc : Write a DataFrame to the binary orc format.\nDataFrame.to_parquet : Write a DataFrame to the binary parquet format.\nDataFrame.to_sql : Write to a SQL table.\nDataFrame.to_feather : Write out feather-format for DataFrames.\nDataFrame.to_csv : Write out to a csv file.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]},\n... index=['a', 'b', 'c']) # doctest: +SKIP\n>>> df.to_hdf('data.h5', key='df', mode='w') # doctest: +SKIP\n\nWe can add another object to the same file:\n\n>>> s = pd.Series([1, 2, 3, 4]) # doctest: +SKIP\n>>> s.to_hdf('data.h5', key='s') # doctest: +SKIP\n\nReading from HDF file:\n\n>>> pd.read_hdf('data.h5', 'df') # doctest: +SKIP\nA B\na 1 4\nb 2 5\nc 3 6\n>>> pd.read_hdf('data.h5', 's') # doctest: +SKIP\n0 1\n1 2\n2 3\n3 4\ndtype: int64\n"}, "kind": 2, "label": "to_hdf", "sortText": "182"}, {"detail": "Overload[(buf: str | PathLike[str] | WriteBuffer[str], columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = ..., col_space: Sequence[str | int] | int | Mapping[Hashable, str | int] | None = ..., header: bool = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., justify: str | None = ..., max_rows: int | None = ..., max_cols: int | None = ..., show_dimensions: bool | str = ..., decimal: str = ..., bold_rows: bool = ..., classes: str | list[Unknown] | tuple[Unknown, ...] | None = ..., escape: bool = ..., notebook: bool = ..., border: int | None = ..., table_id: str | None = ..., render_links: bool = ..., encoding: str | None = ...) -> None, (buf: None = ..., columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = ..., col_space: Sequence[str | int] | int | Mapping[Hashable, str | int] | None = ..., header: bool = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., justify: str | None = ..., max_rows: int | None = ..., max_cols: int | None = ..., show_dimensions: bool | str = ..., decimal: str = ..., bold_rows: bool = ..., classes: str | list[Unknown] | tuple[Unknown, ...] | None = ..., escape: bool = ..., notebook: bool = ..., border: int | None = ..., table_id: str | None = ..., render_links: bool = ..., encoding: str | None = ...) -> str]", "documentation": {"kind": "plaintext", "value": "Render a DataFrame as an HTML table.\n%(shared_params)s\nbold_rows : bool, default True\n Make the row labels bold in the output.\nclasses : str or list or tuple, default None\n CSS class(es) to apply to the resulting html table.\nescape : bool, default True\n Convert the characters <, >, and & to HTML-safe sequences.\nnotebook : {True, False}, default False\n Whether the generated HTML is for IPython Notebook.\nborder : int\n A ``border=border`` attribute is included in the opening\n `
` tag. Default ``pd.options.display.html.border``.\ntable_id : str, optional\n A css id is included in the opening `
` tag if specified.\nrender_links : bool, default False\n Convert URLs to HTML links.\nencoding : str, default \"utf-8\"\n Set character encoding.\n%(returns)s\nSee Also\n--------\nto_string : Convert DataFrame to a string.\n\nExamples\n--------\n>>> df = pd.DataFrame(data={'col1': [1, 2], 'col2': [4, 3]})\n>>> html_string = '''
\n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n... \n...
col1col2
014
123
'''\n>>> assert html_string == df.to_html()\n"}, "kind": 2, "label": "to_html", "sortText": "183"}, {"detail": "bound method DataFrame.to_json(path_or_buf: str | PathLike[str] | WriteBuffer[bytes] | WriteBuffer[str] | None = None, orient: Literal[\"split\", \"records\", \"index\", \"table\", \"columns\", \"values\"] | None = None, date_format: str | None = None, double_precision: int = 10, force_ascii: bool = True, date_unit: Literal[\"s\", \"ms\", \"us\", \"ns\"] = \"ms\", default_handler: ((Any, /) -> str | float | list[Unknown] | dict[Unknown, Unknown] | None) | None = None, lines: bool = False, compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = \"infer\", index: bool | None = None, indent: int | None = None, storage_options: dict[str, Any] | None = None, mode: Literal[\"a\", \"w\"] = \"w\") -> str | None", "documentation": {"kind": "plaintext", "value": "Convert the object to a JSON string.\n\nNote NaN's and None will be converted to null and datetime objects\nwill be converted to UNIX timestamps.\n\nParameters\n----------\npath_or_buf : str, path object, file-like object, or None, default None\n String, path object (implementing os.PathLike[str]), or file-like\n object implementing a write() function. If None, the result is\n returned as a string.\norient : str\n Indication of expected JSON string format.\n\n * Series:\n\n - default is 'index'\n - allowed values are: {{'split', 'records', 'index', 'table'}}.\n\n * DataFrame:\n\n - default is 'columns'\n - allowed values are: {{'split', 'records', 'index', 'columns',\n 'values', 'table'}}.\n\n * The format of the JSON string:\n\n - 'split' : dict like {{'index' -> [index], 'columns' -> [columns],\n 'data' -> [values]}}\n - 'records' : list like [{{column -> value}}, ... , {{column -> value}}]\n - 'index' : dict like {{index -> {{column -> value}}}}\n - 'columns' : dict like {{column -> {{index -> value}}}}\n - 'values' : just the values array\n - 'table' : dict like {{'schema': {{schema}}, 'data': {{data}}}}\n\n Describing the data, where data component is like ``orient='records'``.\n\ndate_format : {{None, 'epoch', 'iso'}}\n Type of date conversion. 'epoch' = epoch milliseconds,\n 'iso' = ISO8601. The default depends on the `orient`. For\n ``orient='table'``, the default is 'iso'. For all other orients,\n the default is 'epoch'.\ndouble_precision : int, default 10\n The number of decimal places to use when encoding\n floating point values. The possible maximal value is 15.\n Passing double_precision greater than 15 will raise a ValueError.\nforce_ascii : bool, default True\n Force encoded string to be ASCII.\ndate_unit : str, default 'ms' (milliseconds)\n The time unit to encode to, governs timestamp and ISO8601\n precision. One of 's', 'ms', 'us', 'ns' for second, millisecond,\n microsecond, and nanosecond respectively.\ndefault_handler : callable, default None\n Handler to call if object cannot otherwise be converted to a\n suitable format for JSON. Should receive a single argument which is\n the object to convert and return a serialisable object.\nlines : bool, default False\n If 'orient' is 'records' write out line-delimited json format. Will\n throw ValueError if incorrect 'orient' since others are not\n list-like.\n{compression_options}\n\n .. versionchanged:: 1.4.0 Zstandard support.\n\nindex : bool or None, default None\n The index is only used when 'orient' is 'split', 'index', 'column',\n or 'table'. Of these, 'index' and 'column' do not support\n `index=False`.\n\nindent : int, optional\n Length of whitespace used to indent each record.\n\n{storage_options}\n\nmode : str, default 'w' (writing)\n Specify the IO mode for output when supplying a path_or_buf.\n Accepted args are 'w' (writing) and 'a' (append) only.\n mode='a' is only supported when lines is True and orient is 'records'.\n\nReturns\n-------\nNone or str\n If path_or_buf is None, returns the resulting json format as a\n string. Otherwise returns None.\n\nSee Also\n--------\nread_json : Convert a JSON string to pandas object.\n\nNotes\n-----\nThe behavior of ``indent=0`` varies from the stdlib, which does not\nindent the output but does insert newlines. Currently, ``indent=0``\nand the default ``indent=None`` are equivalent in pandas, though this\nmay change in a future release.\n\n``orient='table'`` contains a 'pandas_version' field under 'schema'.\nThis stores the version of `pandas` used in the latest revision of the\nschema.\n\nExamples\n--------\n>>> from json import loads, dumps\n>>> df = pd.DataFrame(\n... [[\"a\", \"b\"], [\"c\", \"d\"]],\n... index=[\"row 1\", \"row 2\"],\n... columns=[\"col 1\", \"col 2\"],\n... )\n\n>>> result = df.to_json(orient=\"split\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n{{\n \"columns\": [\n \"col 1\",\n \"col 2\"\n ],\n \"index\": [\n \"row 1\",\n \"row 2\"\n ],\n \"data\": [\n [\n \"a\",\n \"b\"\n ],\n [\n \"c\",\n \"d\"\n ]\n ]\n}}\n\nEncoding/decoding a Dataframe using ``'records'`` formatted JSON.\nNote that index labels are not preserved with this encoding.\n\n>>> result = df.to_json(orient=\"records\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n[\n {{\n \"col 1\": \"a\",\n \"col 2\": \"b\"\n }},\n {{\n \"col 1\": \"c\",\n \"col 2\": \"d\"\n }}\n]\n\nEncoding/decoding a Dataframe using ``'index'`` formatted JSON:\n\n>>> result = df.to_json(orient=\"index\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n{{\n \"row 1\": {{\n \"col 1\": \"a\",\n \"col 2\": \"b\"\n }},\n \"row 2\": {{\n \"col 1\": \"c\",\n \"col 2\": \"d\"\n }}\n}}\n\nEncoding/decoding a Dataframe using ``'columns'`` formatted JSON:\n\n>>> result = df.to_json(orient=\"columns\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n{{\n \"col 1\": {{\n \"row 1\": \"a\",\n \"row 2\": \"c\"\n }},\n \"col 2\": {{\n \"row 1\": \"b\",\n \"row 2\": \"d\"\n }}\n}}\n\nEncoding/decoding a Dataframe using ``'values'`` formatted JSON:\n\n>>> result = df.to_json(orient=\"values\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n[\n [\n \"a\",\n \"b\"\n ],\n [\n \"c\",\n \"d\"\n ]\n]\n\nEncoding with Table Schema:\n\n>>> result = df.to_json(orient=\"table\")\n>>> parsed = loads(result)\n>>> dumps(parsed, indent=4) # doctest: +SKIP\n{{\n \"schema\": {{\n \"fields\": [\n {{\n \"name\": \"index\",\n \"type\": \"string\"\n }},\n {{\n \"name\": \"col 1\",\n \"type\": \"string\"\n }},\n {{\n \"name\": \"col 2\",\n \"type\": \"string\"\n }}\n ],\n \"primaryKey\": [\n \"index\"\n ],\n \"pandas_version\": \"1.4.0\"\n }},\n \"data\": [\n {{\n \"index\": \"row 1\",\n \"col 1\": \"a\",\n \"col 2\": \"b\"\n }},\n {{\n \"index\": \"row 2\",\n \"col 1\": \"c\",\n \"col 2\": \"d\"\n }}\n ]\n}}\n"}, "kind": 2, "label": "to_json", "sortText": "184"}, {"detail": "Overload[(buf: None = ..., columns: Sequence[Hashable] | None = ..., header: bool | SequenceNotStr[str] = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., bold_rows: bool = ..., column_format: str | None = ..., longtable: bool | None = ..., escape: bool | None = ..., encoding: str | None = ..., decimal: str = ..., multicolumn: bool | None = ..., multicolumn_format: str | None = ..., multirow: bool | None = ..., caption: str | tuple[str, str] | None = ..., label: str | None = ..., position: str | None = ...) -> str, (buf: str | PathLike[str] | WriteBuffer[str], columns: Sequence[Hashable] | None = ..., header: bool | SequenceNotStr[str] = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., bold_rows: bool = ..., column_format: str | None = ..., longtable: bool | None = ..., escape: bool | None = ..., encoding: str | None = ..., decimal: str = ..., multicolumn: bool | None = ..., multicolumn_format: str | None = ..., multirow: bool | None = ..., caption: str | tuple[str, str] | None = ..., label: str | None = ..., position: str | None = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Render object to a LaTeX tabular, longtable, or nested table.\n\nRequires ``\\usepackage{{booktabs}}``. The output can be copy/pasted\ninto a main LaTeX document or read from an external file\nwith ``\\input{{table.tex}}``.\n\n.. versionchanged:: 2.0.0\n Refactored to use the Styler implementation via jinja2 templating.\n\nParameters\n----------\nbuf : str, Path or StringIO-like, optional, default None\n Buffer to write to. If None, the output is returned as a string.\ncolumns : list of label, optional\n The subset of columns to write. Writes all columns by default.\nheader : bool or list of str, default True\n Write out the column names. If a list of strings is given,\n it is assumed to be aliases for the column names.\nindex : bool, default True\n Write row names (index).\nna_rep : str, default 'NaN'\n Missing data representation.\nformatters : list of functions or dict of {{str: function}}, optional\n Formatter functions to apply to columns' elements by position or\n name. The result of each function must be a unicode string.\n List must be of length equal to the number of columns.\nfloat_format : one-parameter function or str, optional, default None\n Formatter for floating point numbers. For example\n ``float_format=\"%.2f\"`` and ``float_format=\"{{:0.2f}}\".format`` will\n both result in 0.1234 being formatted as 0.12.\nsparsify : bool, optional\n Set to False for a DataFrame with a hierarchical index to print\n every multiindex key at each row. By default, the value will be\n read from the config module.\nindex_names : bool, default True\n Prints the names of the indexes.\nbold_rows : bool, default False\n Make the row labels bold in the output.\ncolumn_format : str, optional\n The columns format as specified in `LaTeX table format\n `__ e.g. 'rcl' for 3\n columns. By default, 'l' will be used for all columns except\n columns of numbers, which default to 'r'.\nlongtable : bool, optional\n Use a longtable environment instead of tabular. Requires\n adding a \\usepackage{{longtable}} to your LaTeX preamble.\n By default, the value will be read from the pandas config\n module, and set to `True` if the option ``styler.latex.environment`` is\n `\"longtable\"`.\n\n .. versionchanged:: 2.0.0\n The pandas option affecting this argument has changed.\nescape : bool, optional\n By default, the value will be read from the pandas config\n module and set to `True` if the option ``styler.format.escape`` is\n `\"latex\"`. When set to False prevents from escaping latex special\n characters in column names.\n\n .. versionchanged:: 2.0.0\n The pandas option affecting this argument has changed, as has the\n default value to `False`.\nencoding : str, optional\n A string representing the encoding to use in the output file,\n defaults to 'utf-8'.\ndecimal : str, default '.'\n Character recognized as decimal separator, e.g. ',' in Europe.\nmulticolumn : bool, default True\n Use \\multicolumn to enhance MultiIndex columns.\n The default will be read from the config module, and is set\n as the option ``styler.sparse.columns``.\n\n .. versionchanged:: 2.0.0\n The pandas option affecting this argument has changed.\nmulticolumn_format : str, default 'r'\n The alignment for multicolumns, similar to `column_format`\n The default will be read from the config module, and is set as the option\n ``styler.latex.multicol_align``.\n\n .. versionchanged:: 2.0.0\n The pandas option affecting this argument has changed, as has the\n default value to \"r\".\nmultirow : bool, default True\n Use \\multirow to enhance MultiIndex rows. Requires adding a\n \\usepackage{{multirow}} to your LaTeX preamble. Will print\n centered labels (instead of top-aligned) across the contained\n rows, separating groups via clines. The default will be read\n from the pandas config module, and is set as the option\n ``styler.sparse.index``.\n\n .. versionchanged:: 2.0.0\n The pandas option affecting this argument has changed, as has the\n default value to `True`.\ncaption : str or tuple, optional\n Tuple (full_caption, short_caption),\n which results in ``\\caption[short_caption]{{full_caption}}``;\n if a single string is passed, no short caption will be set.\nlabel : str, optional\n The LaTeX label to be placed inside ``\\label{{}}`` in the output.\n This is used with ``\\ref{{}}`` in the main ``.tex`` file.\n\nposition : str, optional\n The LaTeX positional argument for tables, to be placed after\n ``\\begin{{}}`` in the output.\n\nReturns\n-------\nstr or None\n If buf is None, returns the result as a string. Otherwise returns None.\n\nSee Also\n--------\nio.formats.style.Styler.to_latex : Render a DataFrame to LaTeX\n with conditional formatting.\nDataFrame.to_string : Render a DataFrame to a console-friendly\n tabular output.\nDataFrame.to_html : Render a DataFrame as an HTML table.\n\nNotes\n-----\nAs of v2.0.0 this method has changed to use the Styler implementation as\npart of :meth:`.Styler.to_latex` via ``jinja2`` templating. This means\nthat ``jinja2`` is a requirement, and needs to be installed, for this method\nto function. It is advised that users switch to using Styler, since that\nimplementation is more frequently updated and contains much more\nflexibility with the output.\n\nExamples\n--------\nConvert a general DataFrame to LaTeX with formatting:\n\n>>> df = pd.DataFrame(dict(name=['Raphael', 'Donatello'],\n... age=[26, 45],\n... height=[181.23, 177.65]))\n>>> print(df.to_latex(index=False,\n... formatters={\"name\": str.upper},\n... float_format=\"{:.1f}\".format,\n... )) # doctest: +SKIP\n\\begin{tabular}{lrr}\n\\toprule\nname & age & height \\\\\n\\midrule\nRAPHAEL & 26 & 181.2 \\\\\nDONATELLO & 45 & 177.7 \\\\\n\\bottomrule\n\\end{tabular}\n"}, "kind": 2, "label": "to_latex", "sortText": "185"}, {"detail": "bound method DataFrame.to_markdown(buf: str | PathLike[str] | WriteBuffer[str] | None = None, mode: str = \"wt\", index: bool = True, storage_options: dict[str, Any] | None = None, **kwargs) -> str | None", "kind": 2, "label": "to_markdown", "sortText": "186"}, {"detail": "bound method DataFrame.to_numpy(dtype: DTypeLike | None = None, copy: bool = False, na_value: object = ...) -> ndarray[_AnyShape, dtype[Any]]", "documentation": {"kind": "plaintext", "value": "Convert the DataFrame to a NumPy array.\n\nBy default, the dtype of the returned array will be the common NumPy\ndtype of all types in the DataFrame. For example, if the dtypes are\n``float16`` and ``float32``, the results dtype will be ``float32``.\nThis may require copying data and coercing values, which may be\nexpensive.\n\nParameters\n----------\ndtype : str or numpy.dtype, optional\n The dtype to pass to :meth:`numpy.asarray`.\ncopy : bool, default False\n Whether to ensure that the returned value is not a view on\n another array. Note that ``copy=False`` does not *ensure* that\n ``to_numpy()`` is no-copy. Rather, ``copy=True`` ensure that\n a copy is made, even if not strictly necessary.\nna_value : Any, optional\n The value to use for missing values. The default value depends\n on `dtype` and the dtypes of the DataFrame columns.\n\nReturns\n-------\nnumpy.ndarray\n\nSee Also\n--------\nSeries.to_numpy : Similar method for Series.\n\nExamples\n--------\n>>> pd.DataFrame({\"A\": [1, 2], \"B\": [3, 4]}).to_numpy()\narray([[1, 3],\n [2, 4]])\n\nWith heterogeneous data, the lowest common type will have to\nbe used.\n\n>>> df = pd.DataFrame({\"A\": [1, 2], \"B\": [3.0, 4.5]})\n>>> df.to_numpy()\narray([[1. , 3. ],\n [2. , 4.5]])\n\nFor a mix of numeric and non-numeric types, the output array will\nhave object dtype.\n\n>>> df['C'] = pd.date_range('2000', periods=2)\n>>> df.to_numpy()\narray([[1, 3.0, Timestamp('2000-01-01 00:00:00')],\n [2, 4.5, Timestamp('2000-01-02 00:00:00')]], dtype=object)\n"}, "kind": 2, "label": "to_numpy", "sortText": "187"}, {"detail": "bound method DataFrame.to_orc(path: str | PathLike[str] | WriteBuffer[bytes] | None = None, *, engine: Literal[\"pyarrow\"] = \"pyarrow\", index: bool | None = None, engine_kwargs: dict[str, Any] | None = None) -> bytes | None", "documentation": {"kind": "plaintext", "value": "Write a DataFrame to the ORC format.\n\n.. versionadded:: 1.5.0\n\nParameters\n----------\npath : str, file-like object or None, default None\n If a string, it will be used as Root Directory path\n when writing a partitioned dataset. By file-like object,\n we refer to objects with a write() method, such as a file handle\n (e.g. via builtin open function). If path is None,\n a bytes object is returned.\nengine : {'pyarrow'}, default 'pyarrow'\n ORC library to use.\nindex : bool, optional\n If ``True``, include the dataframe's index(es) in the file output.\n If ``False``, they will not be written to the file.\n If ``None``, similar to ``infer`` the dataframe's index(es)\n will be saved. However, instead of being saved as values,\n the RangeIndex will be stored as a range in the metadata so it\n doesn't require much space and is faster. Other indexes will\n be included as columns in the file output.\nengine_kwargs : dict[str, Any] or None, default None\n Additional keyword arguments passed to :func:`pyarrow.orc.write_table`.\n\nReturns\n-------\nbytes if no path argument is provided else None\n\nRaises\n------\nNotImplementedError\n Dtype of one or more columns is category, unsigned integers, interval,\n period or sparse.\nValueError\n engine is not pyarrow.\n\nSee Also\n--------\nread_orc : Read a ORC file.\nDataFrame.to_parquet : Write a parquet file.\nDataFrame.to_csv : Write a csv file.\nDataFrame.to_sql : Write to a sql table.\nDataFrame.to_hdf : Write to hdf.\n\nNotes\n-----\n* Before using this function you should read the :ref:`user guide about\n ORC ` and :ref:`install optional dependencies `.\n* This function requires `pyarrow `_\n library.\n* For supported dtypes please refer to `supported ORC features in Arrow\n `__.\n* Currently timezones in datetime columns are not preserved when a\n dataframe is converted into ORC files.\n\nExamples\n--------\n>>> df = pd.DataFrame(data={'col1': [1, 2], 'col2': [4, 3]})\n>>> df.to_orc('df.orc') # doctest: +SKIP\n>>> pd.read_orc('df.orc') # doctest: +SKIP\n col1 col2\n0 1 4\n1 2 3\n\nIf you want to get a buffer to the orc content you can write it to io.BytesIO\n\n>>> import io\n>>> b = io.BytesIO(df.to_orc()) # doctest: +SKIP\n>>> b.seek(0) # doctest: +SKIP\n0\n>>> content = b.read() # doctest: +SKIP\n"}, "kind": 2, "label": "to_orc", "sortText": "188"}, {"detail": "Overload[(path: None = ..., engine: Literal[\"auto\", \"pyarrow\", \"fastparquet\"] = ..., compression: str | None = ..., index: bool | None = ..., partition_cols: list[str] | None = ..., storage_options: dict[str, Any] | None = ..., **kwargs) -> bytes, (path: str | PathLike[str] | WriteBuffer[bytes], engine: Literal[\"auto\", \"pyarrow\", \"fastparquet\"] = ..., compression: str | None = ..., index: bool | None = ..., partition_cols: list[str] | None = ..., storage_options: dict[str, Any] | None = ..., **kwargs) -> None]", "documentation": {"kind": "plaintext", "value": "Write a DataFrame to the binary parquet format.\n\nThis function writes the dataframe as a `parquet file\n`_. You can choose different parquet\nbackends, and have the option of compression. See\n:ref:`the user guide ` for more details.\n\nParameters\n----------\npath : str, path object, file-like object, or None, default None\n String, path object (implementing ``os.PathLike[str]``), or file-like\n object implementing a binary ``write()`` function. If None, the result is\n returned as bytes. If a string or path, it will be used as Root Directory\n path when writing a partitioned dataset.\nengine : {{'auto', 'pyarrow', 'fastparquet'}}, default 'auto'\n Parquet library to use. If 'auto', then the option\n ``io.parquet.engine`` is used. The default ``io.parquet.engine``\n behavior is to try 'pyarrow', falling back to 'fastparquet' if\n 'pyarrow' is unavailable.\ncompression : str or None, default 'snappy'\n Name of the compression to use. Use ``None`` for no compression.\n Supported options: 'snappy', 'gzip', 'brotli', 'lz4', 'zstd'.\nindex : bool, default None\n If ``True``, include the dataframe's index(es) in the file output.\n If ``False``, they will not be written to the file.\n If ``None``, similar to ``True`` the dataframe's index(es)\n will be saved. However, instead of being saved as values,\n the RangeIndex will be stored as a range in the metadata so it\n doesn't require much space and is faster. Other indexes will\n be included as columns in the file output.\npartition_cols : list, optional, default None\n Column names by which to partition the dataset.\n Columns are partitioned in the order they are given.\n Must be None if path is not a string.\n{storage_options}\n\n**kwargs\n Additional arguments passed to the parquet library. See\n :ref:`pandas io ` for more details.\n\nReturns\n-------\nbytes if no path argument is provided else None\n\nSee Also\n--------\nread_parquet : Read a parquet file.\nDataFrame.to_orc : Write an orc file.\nDataFrame.to_csv : Write a csv file.\nDataFrame.to_sql : Write to a sql table.\nDataFrame.to_hdf : Write to hdf.\n\nNotes\n-----\nThis function requires either the `fastparquet\n`_ or `pyarrow\n`_ library.\n\nExamples\n--------\n>>> df = pd.DataFrame(data={{'col1': [1, 2], 'col2': [3, 4]}})\n>>> df.to_parquet('df.parquet.gzip',\n... compression='gzip') # doctest: +SKIP\n>>> pd.read_parquet('df.parquet.gzip') # doctest: +SKIP\n col1 col2\n0 1 3\n1 2 4\n\nIf you want to get a buffer to the parquet content you can use a io.BytesIO\nobject, as long as you don't use partition_cols, which creates multiple files.\n\n>>> import io\n>>> f = io.BytesIO()\n>>> df.to_parquet(f)\n>>> f.seek(0)\n0\n>>> content = f.read()\n"}, "kind": 2, "label": "to_parquet", "sortText": "189"}, {"detail": "bound method DataFrame.to_period(freq: str | BaseOffset | None = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Convert DataFrame from DatetimeIndex to PeriodIndex.\n\nConvert DataFrame from DatetimeIndex to PeriodIndex with desired\nfrequency (inferred from index if not passed).\n\nParameters\n----------\nfreq : str, default\n Frequency of the PeriodIndex.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to convert (the index by default).\ncopy : bool, default True\n If False then underlying input data is not copied.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\nDataFrame\n The DataFrame has a PeriodIndex.\n\nExamples\n--------\n>>> idx = pd.to_datetime(\n... [\n... \"2001-03-31 00:00:00\",\n... \"2002-05-31 00:00:00\",\n... \"2003-08-31 00:00:00\",\n... ]\n... )\n\n>>> idx\nDatetimeIndex(['2001-03-31', '2002-05-31', '2003-08-31'],\ndtype='datetime64[ns]', freq=None)\n\n>>> idx.to_period(\"M\")\nPeriodIndex(['2001-03', '2002-05', '2003-08'], dtype='period[M]')\n\nFor the yearly frequency\n\n>>> idx.to_period(\"Y\")\nPeriodIndex(['2001', '2002', '2003'], dtype='period[Y-DEC]')\n"}, "kind": 2, "label": "to_period", "sortText": "190"}, {"detail": "bound method DataFrame.to_pickle(path: str | PathLike[str] | WriteBuffer[bytes], compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = \"infer\", protocol: int = 5, storage_options: dict[str, Any] | None = None) -> None", "documentation": {"kind": "plaintext", "value": "Pickle (serialize) object to file.\n\nParameters\n----------\npath : str, path object, or file-like object\n String, path object (implementing ``os.PathLike[str]``), or file-like\n object implementing a binary ``write()`` function. File path where\n the pickled object will be stored.\n{compression_options}\nprotocol : int\n Int which indicates which protocol should be used by the pickler,\n default HIGHEST_PROTOCOL (see [1]_ paragraph 12.1.2). The possible\n values are 0, 1, 2, 3, 4, 5. A negative value for the protocol\n parameter is equivalent to setting its value to HIGHEST_PROTOCOL.\n\n .. [1] https://docs.python.org/3/library/pickle.html.\n\n{storage_options}\n\nSee Also\n--------\nread_pickle : Load pickled pandas object (or any object) from file.\nDataFrame.to_hdf : Write DataFrame to an HDF5 file.\nDataFrame.to_sql : Write DataFrame to a SQL database.\nDataFrame.to_parquet : Write a DataFrame to the binary parquet format.\n\nExamples\n--------\n>>> original_df = pd.DataFrame({{\"foo\": range(5), \"bar\": range(5, 10)}}) # doctest: +SKIP\n>>> original_df # doctest: +SKIP\n foo bar\n0 0 5\n1 1 6\n2 2 7\n3 3 8\n4 4 9\n>>> original_df.to_pickle(\"./dummy.pkl\") # doctest: +SKIP\n\n>>> unpickled_df = pd.read_pickle(\"./dummy.pkl\") # doctest: +SKIP\n>>> unpickled_df # doctest: +SKIP\n foo bar\n0 0 5\n1 1 6\n2 2 7\n3 3 8\n4 4 9\n"}, "kind": 2, "label": "to_pickle", "sortText": "191"}, {"detail": "bound method DataFrame.to_records(index: bool = True, column_dtypes=None, index_dtypes=None) -> recarray[_AnyShape, dtype[Any]]", "documentation": {"kind": "plaintext", "value": "Convert DataFrame to a NumPy record array.\n\nIndex will be included as the first field of the record array if\nrequested.\n\nParameters\n----------\nindex : bool, default True\n Include index in resulting record array, stored in 'index'\n field or using the index label, if set.\ncolumn_dtypes : str, type, dict, default None\n If a string or type, the data type to store all columns. If\n a dictionary, a mapping of column names and indices (zero-indexed)\n to specific data types.\nindex_dtypes : str, type, dict, default None\n If a string or type, the data type to store all index levels. If\n a dictionary, a mapping of index level names and indices\n (zero-indexed) to specific data types.\n\n This mapping is applied only if `index=True`.\n\nReturns\n-------\nnumpy.rec.recarray\n NumPy ndarray with the DataFrame labels as fields and each row\n of the DataFrame as entries.\n\nSee Also\n--------\nDataFrame.from_records: Convert structured or record ndarray\n to DataFrame.\nnumpy.rec.recarray: An ndarray that allows field access using\n attributes, analogous to typed columns in a\n spreadsheet.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [1, 2], 'B': [0.5, 0.75]},\n... index=['a', 'b'])\n>>> df\n A B\na 1 0.50\nb 2 0.75\n>>> df.to_records()\nrec.array([('a', 1, 0.5 ), ('b', 2, 0.75)],\n dtype=[('index', 'O'), ('A', '>> df.index = df.index.rename(\"I\")\n>>> df.to_records()\nrec.array([('a', 1, 0.5 ), ('b', 2, 0.75)],\n dtype=[('I', 'O'), ('A', '>> df.to_records(index=False)\nrec.array([(1, 0.5 ), (2, 0.75)],\n dtype=[('A', '>> df.to_records(column_dtypes={\"A\": \"int32\"})\nrec.array([('a', 1, 0.5 ), ('b', 2, 0.75)],\n dtype=[('I', 'O'), ('A', '>> df.to_records(index_dtypes=\">> index_dtypes = f\">> df.to_records(index_dtypes=index_dtypes)\nrec.array([(b'a', 1, 0.5 ), (b'b', 2, 0.75)],\n dtype=[('I', 'S1'), ('A', ' Unknown) | None = None) -> int | None", "documentation": {"kind": "plaintext", "value": "Write records stored in a DataFrame to a SQL database.\n\nDatabases supported by SQLAlchemy [1]_ are supported. Tables can be\nnewly created, appended to, or overwritten.\n\nParameters\n----------\nname : str\n Name of SQL table.\ncon : sqlalchemy.engine.(Engine or Connection) or sqlite3.Connection\n Using SQLAlchemy makes it possible to use any DB supported by that\n library. Legacy support is provided for sqlite3.Connection objects. The user\n is responsible for engine disposal and connection closure for the SQLAlchemy\n connectable. See `here `_.\n If passing a sqlalchemy.engine.Connection which is already in a transaction,\n the transaction will not be committed. If passing a sqlite3.Connection,\n it will not be possible to roll back the record insertion.\n\nschema : str, optional\n Specify the schema (if database flavor supports this). If None, use\n default schema.\nif_exists : {'fail', 'replace', 'append'}, default 'fail'\n How to behave if the table already exists.\n\n * fail: Raise a ValueError.\n * replace: Drop the table before inserting new values.\n * append: Insert new values to the existing table.\n\nindex : bool, default True\n Write DataFrame index as a column. Uses `index_label` as the column\n name in the table. Creates a table index for this column.\nindex_label : str or sequence, default None\n Column label for index column(s). If None is given (default) and\n `index` is True, then the index names are used.\n A sequence should be given if the DataFrame uses MultiIndex.\nchunksize : int, optional\n Specify the number of rows in each batch to be written at a time.\n By default, all rows will be written at once.\ndtype : dict or scalar, optional\n Specifying the datatype for columns. If a dictionary is used, the\n keys should be the column names and the values should be the\n SQLAlchemy types or strings for the sqlite3 legacy mode. If a\n scalar is provided, it will be applied to all columns.\nmethod : {None, 'multi', callable}, optional\n Controls the SQL insertion clause used:\n\n * None : Uses standard SQL ``INSERT`` clause (one per row).\n * 'multi': Pass multiple values in a single ``INSERT`` clause.\n * callable with signature ``(pd_table, conn, keys, data_iter)``.\n\n Details and a sample callable implementation can be found in the\n section :ref:`insert method `.\n\nReturns\n-------\nNone or int\n Number of rows affected by to_sql. None is returned if the callable\n passed into ``method`` does not return an integer number of rows.\n\n The number of returned rows affected is the sum of the ``rowcount``\n attribute of ``sqlite3.Cursor`` or SQLAlchemy connectable which may not\n reflect the exact number of written rows as stipulated in the\n `sqlite3 `__ or\n `SQLAlchemy `__.\n\n .. versionadded:: 1.4.0\n\nRaises\n------\nValueError\n When the table already exists and `if_exists` is 'fail' (the\n default).\n\nSee Also\n--------\nread_sql : Read a DataFrame from a table.\n\nNotes\n-----\nTimezone aware datetime columns will be written as\n``Timestamp with timezone`` type with SQLAlchemy if supported by the\ndatabase. Otherwise, the datetimes will be stored as timezone unaware\ntimestamps local to the original timezone.\n\nNot all datastores support ``method=\"multi\"``. Oracle, for example,\ndoes not support multi-value insert.\n\nReferences\n----------\n.. [1] https://docs.sqlalchemy.org\n.. [2] https://www.python.org/dev/peps/pep-0249/\n\nExamples\n--------\nCreate an in-memory SQLite database.\n\n>>> from sqlalchemy import create_engine\n>>> engine = create_engine('sqlite://', echo=False)\n\nCreate a table from scratch with 3 rows.\n\n>>> df = pd.DataFrame({'name' : ['User 1', 'User 2', 'User 3']})\n>>> df\n name\n0 User 1\n1 User 2\n2 User 3\n\n>>> df.to_sql(name='users', con=engine)\n3\n>>> from sqlalchemy import text\n>>> with engine.connect() as conn:\n... conn.execute(text(\"SELECT * FROM users\")).fetchall()\n[(0, 'User 1'), (1, 'User 2'), (2, 'User 3')]\n\nAn `sqlalchemy.engine.Connection` can also be passed to `con`:\n\n>>> with engine.begin() as connection:\n... df1 = pd.DataFrame({'name' : ['User 4', 'User 5']})\n... df1.to_sql(name='users', con=connection, if_exists='append')\n2\n\nThis is allowed to support operations that require that the same\nDBAPI connection is used for the entire operation.\n\n>>> df2 = pd.DataFrame({'name' : ['User 6', 'User 7']})\n>>> df2.to_sql(name='users', con=engine, if_exists='append')\n2\n>>> with engine.connect() as conn:\n... conn.execute(text(\"SELECT * FROM users\")).fetchall()\n[(0, 'User 1'), (1, 'User 2'), (2, 'User 3'),\n (0, 'User 4'), (1, 'User 5'), (0, 'User 6'),\n (1, 'User 7')]\n\nOverwrite the table with just ``df2``.\n\n>>> df2.to_sql(name='users', con=engine, if_exists='replace',\n... index_label='id')\n2\n>>> with engine.connect() as conn:\n... conn.execute(text(\"SELECT * FROM users\")).fetchall()\n[(0, 'User 6'), (1, 'User 7')]\n\nUse ``method`` to define a callable insertion method to do nothing\nif there's a primary key conflict on a table in a PostgreSQL database.\n\n>>> from sqlalchemy.dialects.postgresql import insert\n>>> def insert_on_conflict_nothing(table, conn, keys, data_iter):\n... # \"a\" is the primary key in \"conflict_table\"\n... data = [dict(zip(keys, row)) for row in data_iter]\n... stmt = insert(table.table).values(data).on_conflict_do_nothing(index_elements=[\"a\"])\n... result = conn.execute(stmt)\n... return result.rowcount\n>>> df_conflict.to_sql(name=\"conflict_table\", con=conn, if_exists=\"append\", method=insert_on_conflict_nothing) # doctest: +SKIP\n0\n\nFor MySQL, a callable to update columns ``b`` and ``c`` if there's a conflict\non a primary key.\n\n>>> from sqlalchemy.dialects.mysql import insert\n>>> def insert_on_conflict_update(table, conn, keys, data_iter):\n... # update columns \"b\" and \"c\" on primary key conflict\n... data = [dict(zip(keys, row)) for row in data_iter]\n... stmt = (\n... insert(table.table)\n... .values(data)\n... )\n... stmt = stmt.on_duplicate_key_update(b=stmt.inserted.b, c=stmt.inserted.c)\n... result = conn.execute(stmt)\n... return result.rowcount\n>>> df_conflict.to_sql(name=\"conflict_table\", con=conn, if_exists=\"append\", method=insert_on_conflict_update) # doctest: +SKIP\n2\n\nSpecify the dtype (especially useful for integers with missing values).\nNotice that while pandas is forced to store the data as floating point,\nthe database supports nullable integers. When fetching the data with\nPython, we get back integer scalars.\n\n>>> df = pd.DataFrame({\"A\": [1, None, 2]})\n>>> df\n A\n0 1.0\n1 NaN\n2 2.0\n\n>>> from sqlalchemy.types import Integer\n>>> df.to_sql(name='integers', con=engine, index=False,\n... dtype={\"A\": Integer()})\n3\n\n>>> with engine.connect() as conn:\n... conn.execute(text(\"SELECT * FROM integers\")).fetchall()\n[(1,), (None,), (2,)]\n"}, "kind": 2, "label": "to_sql", "sortText": "193"}, {"detail": "bound method DataFrame.to_stata(path: str | PathLike[str] | WriteBuffer[bytes], *, convert_dates: dict[Hashable, str] | None = None, write_index: bool = True, byteorder: Literal[\">\", \"<\", \"little\", \"big\"] | None = None, time_stamp: datetime | None = None, data_label: str | None = None, variable_labels: dict[Hashable, str] | None = None, version: int | None = 114, convert_strl: Sequence[Hashable] | None = None, compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = \"infer\", storage_options: dict[str, Any] | None = None, value_labels: dict[Hashable, dict[float, str]] | None = None) -> None", "documentation": {"kind": "plaintext", "value": "Export DataFrame object to Stata dta format.\n\nWrites the DataFrame to a Stata dataset file.\n\"dta\" files contain a Stata dataset.\n\nParameters\n----------\npath : str, path object, or buffer\n String, path object (implementing ``os.PathLike[str]``), or file-like\n object implementing a binary ``write()`` function.\n\nconvert_dates : dict\n Dictionary mapping columns containing datetime types to stata\n internal format to use when writing the dates. Options are 'tc',\n 'td', 'tm', 'tw', 'th', 'tq', 'ty'. Column can be either an integer\n or a name. Datetime columns that do not have a conversion type\n specified will be converted to 'tc'. Raises NotImplementedError if\n a datetime column has timezone information.\nwrite_index : bool\n Write the index to Stata dataset.\nbyteorder : str\n Can be \">\", \"<\", \"little\", or \"big\". default is `sys.byteorder`.\ntime_stamp : datetime\n A datetime to use as file creation date. Default is the current\n time.\ndata_label : str, optional\n A label for the data set. Must be 80 characters or smaller.\nvariable_labels : dict\n Dictionary containing columns as keys and variable labels as\n values. Each label must be 80 characters or smaller.\nversion : {{114, 117, 118, 119, None}}, default 114\n Version to use in the output dta file. Set to None to let pandas\n decide between 118 or 119 formats depending on the number of\n columns in the frame. Version 114 can be read by Stata 10 and\n later. Version 117 can be read by Stata 13 or later. Version 118\n is supported in Stata 14 and later. Version 119 is supported in\n Stata 15 and later. Version 114 limits string variables to 244\n characters or fewer while versions 117 and later allow strings\n with lengths up to 2,000,000 characters. Versions 118 and 119\n support Unicode characters, and version 119 supports more than\n 32,767 variables.\n\n Version 119 should usually only be used when the number of\n variables exceeds the capacity of dta format 118. Exporting\n smaller datasets in format 119 may have unintended consequences,\n and, as of November 2020, Stata SE cannot read version 119 files.\n\nconvert_strl : list, optional\n List of column names to convert to string columns to Stata StrL\n format. Only available if version is 117. Storing strings in the\n StrL format can produce smaller dta files if strings have more than\n 8 characters and values are repeated.\n{compression_options}\n\n .. versionchanged:: 1.4.0 Zstandard support.\n\n{storage_options}\n\nvalue_labels : dict of dicts\n Dictionary containing columns as keys and dictionaries of column value\n to labels as values. Labels for a single variable must be 32,000\n characters or smaller.\n\n .. versionadded:: 1.4.0\n\nRaises\n------\nNotImplementedError\n * If datetimes contain timezone information\n * Column dtype is not representable in Stata\nValueError\n * Columns listed in convert_dates are neither datetime64[ns]\n or datetime.datetime\n * Column listed in convert_dates is not in DataFrame\n * Categorical label contains more than 32,000 characters\n\nSee Also\n--------\nread_stata : Import Stata data files.\nio.stata.StataWriter : Low-level writer for Stata data files.\nio.stata.StataWriter117 : Low-level writer for version 117 files.\n\nExamples\n--------\n>>> df = pd.DataFrame({{'animal': ['falcon', 'parrot', 'falcon',\n... 'parrot'],\n... 'speed': [350, 18, 361, 15]}})\n>>> df.to_stata('animals.dta') # doctest: +SKIP\n"}, "kind": 2, "label": "to_stata", "sortText": "194"}, {"detail": "Overload[(buf: None = ..., columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = ..., col_space: int | list[int] | dict[Hashable, int] | None = ..., header: bool | SequenceNotStr[str] = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., justify: str | None = ..., max_rows: int | None = ..., max_cols: int | None = ..., show_dimensions: bool = ..., decimal: str = ..., line_width: int | None = ..., min_rows: int | None = ..., max_colwidth: int | None = ..., encoding: str | None = ...) -> str, (buf: str | PathLike[str] | WriteBuffer[str], columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = ..., col_space: int | list[int] | dict[Hashable, int] | None = ..., header: bool | SequenceNotStr[str] = ..., index: bool = ..., na_rep: str = ..., formatters: list[(...) -> Unknown] | tuple[(...) -> Unknown, ...] | Mapping[str | int, (...) -> Unknown] | None = ..., float_format: str | ((...) -> Unknown) | EngFormatter | None = ..., sparsify: bool | None = ..., index_names: bool = ..., justify: str | None = ..., max_rows: int | None = ..., max_cols: int | None = ..., show_dimensions: bool = ..., decimal: str = ..., line_width: int | None = ..., min_rows: int | None = ..., max_colwidth: int | None = ..., encoding: str | None = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Render a DataFrame to a console-friendly tabular output.\n%(shared_params)s\nline_width : int, optional\n Width to wrap a line in characters.\nmin_rows : int, optional\n The number of rows to display in the console in a truncated repr\n (when number of rows is above `max_rows`).\nmax_colwidth : int, optional\n Max width to truncate each column in characters. By default, no limit.\nencoding : str, default \"utf-8\"\n Set character encoding.\n%(returns)s\nSee Also\n--------\nto_html : Convert DataFrame to HTML.\n\nExamples\n--------\n>>> d = {'col1': [1, 2, 3], 'col2': [4, 5, 6]}\n>>> df = pd.DataFrame(d)\n>>> print(df.to_string())\n col1 col2\n0 1 4\n1 2 5\n2 3 6\n"}, "kind": 2, "label": "to_string", "sortText": "195"}, {"detail": "bound method DataFrame.to_timestamp(freq: str | BaseOffset | None = None, how: Literal[\"s\", \"e\", \"start\", \"end\"] = \"start\", axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Cast to DatetimeIndex of timestamps, at *beginning* of period.\n\nParameters\n----------\nfreq : str, default frequency of PeriodIndex\n Desired frequency.\nhow : {'s', 'e', 'start', 'end'}\n Convention for converting period to timestamp; start of period\n vs. end.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to convert (the index by default).\ncopy : bool, default True\n If False then underlying input data is not copied.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\nDataFrame\n The DataFrame has a DatetimeIndex.\n\nExamples\n--------\n>>> idx = pd.PeriodIndex(['2023', '2024'], freq='Y')\n>>> d = {'col1': [1, 2], 'col2': [3, 4]}\n>>> df1 = pd.DataFrame(data=d, index=idx)\n>>> df1\n col1 col2\n2023 1 3\n2024 2 4\n\nThe resulting timestamps will be at the beginning of the year in this case\n\n>>> df1 = df1.to_timestamp()\n>>> df1\n col1 col2\n2023-01-01 1 3\n2024-01-01 2 4\n>>> df1.index\nDatetimeIndex(['2023-01-01', '2024-01-01'], dtype='datetime64[ns]', freq=None)\n\nUsing `freq` which is the offset that the Timestamps will have\n\n>>> df2 = pd.DataFrame(data=d, index=idx)\n>>> df2 = df2.to_timestamp(freq='M')\n>>> df2\n col1 col2\n2023-01-31 1 3\n2024-01-31 2 4\n>>> df2.index\nDatetimeIndex(['2023-01-31', '2024-01-31'], dtype='datetime64[ns]', freq=None)\n"}, "kind": 2, "label": "to_timestamp", "sortText": "196"}, {"detail": "bound method DataFrame.to_xarray() -> Unknown", "documentation": {"kind": "plaintext", "value": "Return an xarray object from the pandas object.\n\nReturns\n-------\nxarray.DataArray or xarray.Dataset\n Data in the pandas structure converted to Dataset if the object is\n a DataFrame, or a DataArray if the object is a Series.\n\nSee Also\n--------\nDataFrame.to_hdf : Write DataFrame to an HDF5 file.\nDataFrame.to_parquet : Write a DataFrame to the binary parquet format.\n\nNotes\n-----\nSee the `xarray docs `__\n\nExamples\n--------\n>>> df = pd.DataFrame([('falcon', 'bird', 389.0, 2),\n... ('parrot', 'bird', 24.0, 2),\n... ('lion', 'mammal', 80.5, 4),\n... ('monkey', 'mammal', np.nan, 4)],\n... columns=['name', 'class', 'max_speed',\n... 'num_legs'])\n>>> df\n name class max_speed num_legs\n0 falcon bird 389.0 2\n1 parrot bird 24.0 2\n2 lion mammal 80.5 4\n3 monkey mammal NaN 4\n\n>>> df.to_xarray() # doctest: +SKIP\n\nDimensions: (index: 4)\nCoordinates:\n * index (index) int64 32B 0 1 2 3\nData variables:\n name (index) object 32B 'falcon' 'parrot' 'lion' 'monkey'\n class (index) object 32B 'bird' 'bird' 'mammal' 'mammal'\n max_speed (index) float64 32B 389.0 24.0 80.5 nan\n num_legs (index) int64 32B 2 2 4 4\n\n>>> df['max_speed'].to_xarray() # doctest: +SKIP\n\narray([389. , 24. , 80.5, nan])\nCoordinates:\n * index (index) int64 0 1 2 3\n\n>>> dates = pd.to_datetime(['2018-01-01', '2018-01-01',\n... '2018-01-02', '2018-01-02'])\n>>> df_multiindex = pd.DataFrame({'date': dates,\n... 'animal': ['falcon', 'parrot',\n... 'falcon', 'parrot'],\n... 'speed': [350, 18, 361, 15]})\n>>> df_multiindex = df_multiindex.set_index(['date', 'animal'])\n\n>>> df_multiindex\n speed\ndate animal\n2018-01-01 falcon 350\n parrot 18\n2018-01-02 falcon 361\n parrot 15\n\n>>> df_multiindex.to_xarray() # doctest: +SKIP\n\nDimensions: (date: 2, animal: 2)\nCoordinates:\n * date (date) datetime64[ns] 2018-01-01 2018-01-02\n * animal (animal) object 'falcon' 'parrot'\nData variables:\n speed (date, animal) int64 350 18 361 15\n"}, "kind": 2, "label": "to_xarray", "sortText": "197"}, {"detail": "Overload[(path_or_buffer: None = ..., *, index: bool = ..., root_name: str | None = ..., row_name: str | None = ..., na_rep: str | None = ..., attr_cols: list[str] | None = ..., elem_cols: list[str] | None = ..., namespaces: dict[str | None, str] | None = ..., prefix: str | None = ..., encoding: str = ..., xml_declaration: bool | None = ..., pretty_print: bool | None = ..., parser: Literal[\"lxml\", \"etree\"] | None = ..., stylesheet: str | PathLike[str] | ReadBuffer[str] | ReadBuffer[bytes] | None = ..., compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = ..., storage_options: dict[str, Any] | None = ...) -> str, (path_or_buffer: str | PathLike[str] | WriteBuffer[bytes] | WriteBuffer[str], *, index: bool = ..., root_name: str | None = ..., row_name: str | None = ..., na_rep: str | None = ..., attr_cols: list[str] | None = ..., elem_cols: list[str] | None = ..., namespaces: dict[str | None, str] | None = ..., prefix: str | None = ..., encoding: str = ..., xml_declaration: bool | None = ..., pretty_print: bool | None = ..., parser: Literal[\"lxml\", \"etree\"] | None = ..., stylesheet: str | PathLike[str] | ReadBuffer[str] | ReadBuffer[bytes] | None = ..., compression: Literal[\"infer\", \"gzip\", \"bz2\", \"zip\", \"xz\", \"zstd\", \"tar\"] | dict[str, Any] | None = ..., storage_options: dict[str, Any] | None = ...) -> None]", "documentation": {"kind": "plaintext", "value": "Render a DataFrame to an XML document.\n\n.. versionadded:: 1.3.0\n\nParameters\n----------\npath_or_buffer : str, path object, file-like object, or None, default None\n String, path object (implementing ``os.PathLike[str]``), or file-like\n object implementing a ``write()`` function. If None, the result is returned\n as a string.\nindex : bool, default True\n Whether to include index in XML document.\nroot_name : str, default 'data'\n The name of root element in XML document.\nrow_name : str, default 'row'\n The name of row element in XML document.\nna_rep : str, optional\n Missing data representation.\nattr_cols : list-like, optional\n List of columns to write as attributes in row element.\n Hierarchical columns will be flattened with underscore\n delimiting the different levels.\nelem_cols : list-like, optional\n List of columns to write as children in row element. By default,\n all columns output as children of row element. Hierarchical\n columns will be flattened with underscore delimiting the\n different levels.\nnamespaces : dict, optional\n All namespaces to be defined in root element. Keys of dict\n should be prefix names and values of dict corresponding URIs.\n Default namespaces should be given empty string key. For\n example, ::\n\n namespaces = {{\"\": \"https://example.com\"}}\n\nprefix : str, optional\n Namespace prefix to be used for every element and/or attribute\n in document. This should be one of the keys in ``namespaces``\n dict.\nencoding : str, default 'utf-8'\n Encoding of the resulting document.\nxml_declaration : bool, default True\n Whether to include the XML declaration at start of document.\npretty_print : bool, default True\n Whether output should be pretty printed with indentation and\n line breaks.\nparser : {{'lxml','etree'}}, default 'lxml'\n Parser module to use for building of tree. Only 'lxml' and\n 'etree' are supported. With 'lxml', the ability to use XSLT\n stylesheet is supported.\nstylesheet : str, path object or file-like object, optional\n A URL, file-like object, or a raw string containing an XSLT\n script used to transform the raw XML output. Script should use\n layout of elements and attributes from original output. This\n argument requires ``lxml`` to be installed. Only XSLT 1.0\n scripts and not later versions is currently supported.\n{compression_options}\n\n .. versionchanged:: 1.4.0 Zstandard support.\n\n{storage_options}\n\nReturns\n-------\nNone or str\n If ``io`` is None, returns the resulting XML format as a\n string. Otherwise returns None.\n\nSee Also\n--------\nto_json : Convert the pandas object to a JSON string.\nto_html : Convert DataFrame to a html.\n\nExamples\n--------\n>>> df = pd.DataFrame({{'shape': ['square', 'circle', 'triangle'],\n... 'degrees': [360, 360, 180],\n... 'sides': [4, np.nan, 3]}})\n\n>>> df.to_xml() # doctest: +SKIP\n\n\n \n 0\n square\n 360\n 4.0\n \n \n 1\n circle\n 360\n \n \n \n 2\n triangle\n 180\n 3.0\n \n\n\n>>> df.to_xml(attr_cols=[\n... 'index', 'shape', 'degrees', 'sides'\n... ]) # doctest: +SKIP\n\n\n \n \n \n\n\n>>> df.to_xml(namespaces={{\"doc\": \"https://example.com\"}},\n... prefix=\"doc\") # doctest: +SKIP\n\n\n \n 0\n square\n 360\n 4.0\n \n \n 1\n circle\n 360\n \n \n \n 2\n triangle\n 180\n 3.0\n \n\n"}, "kind": 2, "label": "to_xml", "sortText": "198"}, {"detail": "bound method DataFrame.transform(func: ((...) -> Unknown) | str | list[((...) -> Unknown) | str] | MutableMapping[Hashable, ((...) -> Unknown) | str | list[((...) -> Unknown) | str]], axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, *args, **kwargs) -> DataFrame", "kind": 2, "label": "transform", "sortText": "199"}, {"detail": "bound method DataFrame.transpose(*args, copy: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Transpose index and columns.\n\nReflect the DataFrame over its main diagonal by writing rows as columns\nand vice-versa. The property :attr:`.T` is an accessor to the method\n:meth:`transpose`.\n\nParameters\n----------\n*args : tuple, optional\n Accepted for compatibility with NumPy.\ncopy : bool, default False\n Whether to copy the data after transposing, even for DataFrames\n with a single dtype.\n\n Note that a copy is always required for mixed dtype DataFrames,\n or for DataFrames with any extension types.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\nDataFrame\n The transposed DataFrame.\n\nSee Also\n--------\nnumpy.transpose : Permute the dimensions of a given array.\n\nNotes\n-----\nTransposing a DataFrame with mixed dtypes will result in a homogeneous\nDataFrame with the `object` dtype. In such a case, a copy of the data\nis always made.\n\nExamples\n--------\n**Square DataFrame with homogeneous dtype**\n\n>>> d1 = {'col1': [1, 2], 'col2': [3, 4]}\n>>> df1 = pd.DataFrame(data=d1)\n>>> df1\n col1 col2\n0 1 3\n1 2 4\n\n>>> df1_transposed = df1.T # or df1.transpose()\n>>> df1_transposed\n 0 1\ncol1 1 2\ncol2 3 4\n\nWhen the dtype is homogeneous in the original DataFrame, we get a\ntransposed DataFrame with the same dtype:\n\n>>> df1.dtypes\ncol1 int64\ncol2 int64\ndtype: object\n>>> df1_transposed.dtypes\n0 int64\n1 int64\ndtype: object\n\n**Non-square DataFrame with mixed dtypes**\n\n>>> d2 = {'name': ['Alice', 'Bob'],\n... 'score': [9.5, 8],\n... 'employed': [False, True],\n... 'kids': [0, 0]}\n>>> df2 = pd.DataFrame(data=d2)\n>>> df2\n name score employed kids\n0 Alice 9.5 False 0\n1 Bob 8.0 True 0\n\n>>> df2_transposed = df2.T # or df2.transpose()\n>>> df2_transposed\n 0 1\nname Alice Bob\nscore 9.5 8.0\nemployed False True\nkids 0 0\n\nWhen the DataFrame has mixed dtypes, we get a transposed DataFrame with\nthe `object` dtype:\n\n>>> df2.dtypes\nname object\nscore float64\nemployed bool\nkids int64\ndtype: object\n>>> df2_transposed.dtypes\n0 object\n1 object\ndtype: object\n"}, "kind": 2, "label": "transpose", "sortText": "200"}, {"detail": "bound method DataFrame.truediv(other, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> DataFrame", "kind": 2, "label": "truediv", "sortText": "201"}, {"detail": "bound method DataFrame.truncate(before=None, after=None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Truncate a Series or DataFrame before and after some index value.\n\nThis is a useful shorthand for boolean indexing based on index\nvalues above or below certain thresholds.\n\nParameters\n----------\nbefore : date, str, int\n Truncate all rows before this index value.\nafter : date, str, int\n Truncate all rows after this index value.\naxis : {0 or 'index', 1 or 'columns'}, optional\n Axis to truncate. Truncates the index (rows) by default.\n For `Series` this parameter is unused and defaults to 0.\ncopy : bool, default is True,\n Return a copy of the truncated section.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\ntype of caller\n The truncated Series or DataFrame.\n\nSee Also\n--------\nDataFrame.loc : Select a subset of a DataFrame by label.\nDataFrame.iloc : Select a subset of a DataFrame by position.\n\nNotes\n-----\nIf the index being truncated contains only datetime values,\n`before` and `after` may be specified as strings instead of\nTimestamps.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': ['a', 'b', 'c', 'd', 'e'],\n... 'B': ['f', 'g', 'h', 'i', 'j'],\n... 'C': ['k', 'l', 'm', 'n', 'o']},\n... index=[1, 2, 3, 4, 5])\n>>> df\n A B C\n1 a f k\n2 b g l\n3 c h m\n4 d i n\n5 e j o\n\n>>> df.truncate(before=2, after=4)\n A B C\n2 b g l\n3 c h m\n4 d i n\n\nThe columns of a DataFrame can be truncated.\n\n>>> df.truncate(before=\"A\", after=\"B\", axis=\"columns\")\n A B\n1 a f\n2 b g\n3 c h\n4 d i\n5 e j\n\nFor Series, only rows can be truncated.\n\n>>> df['A'].truncate(before=2, after=4)\n2 b\n3 c\n4 d\nName: A, dtype: object\n\nThe index values in ``truncate`` can be datetimes or string\ndates.\n\n>>> dates = pd.date_range('2016-01-01', '2016-02-01', freq='s')\n>>> df = pd.DataFrame(index=dates, data={'A': 1})\n>>> df.tail()\n A\n2016-01-31 23:59:56 1\n2016-01-31 23:59:57 1\n2016-01-31 23:59:58 1\n2016-01-31 23:59:59 1\n2016-02-01 00:00:00 1\n\n>>> df.truncate(before=pd.Timestamp('2016-01-05'),\n... after=pd.Timestamp('2016-01-10')).tail()\n A\n2016-01-09 23:59:56 1\n2016-01-09 23:59:57 1\n2016-01-09 23:59:58 1\n2016-01-09 23:59:59 1\n2016-01-10 00:00:00 1\n\nBecause the index is a DatetimeIndex containing only dates, we can\nspecify `before` and `after` as strings. They will be coerced to\nTimestamps before truncation.\n\n>>> df.truncate('2016-01-05', '2016-01-10').tail()\n A\n2016-01-09 23:59:56 1\n2016-01-09 23:59:57 1\n2016-01-09 23:59:58 1\n2016-01-09 23:59:59 1\n2016-01-10 00:00:00 1\n\nNote that ``truncate`` assumes a 0 value for any unspecified time\ncomponent (midnight). This differs from partial string slicing, which\nreturns any partially matching dates.\n\n>>> df.loc['2016-01-05':'2016-01-10', :].tail()\n A\n2016-01-10 23:59:55 1\n2016-01-10 23:59:56 1\n2016-01-10 23:59:57 1\n2016-01-10 23:59:58 1\n2016-01-10 23:59:59 1\n"}, "kind": 2, "label": "truncate", "sortText": "202"}, {"detail": "bound method DataFrame.tz_convert(tz, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, level=None, copy: bool | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Convert tz-aware axis to target time zone.\n\nParameters\n----------\ntz : str or tzinfo object or None\n Target time zone. Passing ``None`` will convert to\n UTC and remove the timezone information.\naxis : {{0 or 'index', 1 or 'columns'}}, default 0\n The axis to convert\nlevel : int, str, default None\n If axis is a MultiIndex, convert a specific level. Otherwise\n must be None.\ncopy : bool, default True\n Also make a copy of the underlying data.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\n\nReturns\n-------\n{klass}\n Object with time zone converted axis.\n\nRaises\n------\nTypeError\n If the axis is tz-naive.\n\nExamples\n--------\nChange to another time zone:\n\n>>> s = pd.Series(\n... [1],\n... index=pd.DatetimeIndex(['2018-09-15 01:30:00+02:00']),\n... )\n>>> s.tz_convert('Asia/Shanghai')\n2018-09-15 07:30:00+08:00 1\ndtype: int64\n\nPass None to convert to UTC and get a tz-naive index:\n\n>>> s = pd.Series([1],\n... index=pd.DatetimeIndex(['2018-09-15 01:30:00+02:00']))\n>>> s.tz_convert(None)\n2018-09-14 23:30:00 1\ndtype: int64\n"}, "kind": 2, "label": "tz_convert", "sortText": "203"}, {"detail": "bound method DataFrame.tz_localize(tz, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, level=None, copy: builtins.bool | None = None, ambiguous: Literal[\"infer\", \"NaT\", \"raise\"] | ndarray[_AnyShape, dtype[numpy.bool[builtins.bool]]] = \"raise\", nonexistent: Literal[\"shift_forward\", \"shift_backward\", \"NaT\", \"raise\"] | timedelta = \"raise\") -> DataFrame", "documentation": {"kind": "plaintext", "value": "Localize tz-naive index of a Series or DataFrame to target time zone.\n\nThis operation localizes the Index. To localize the values in a\ntimezone-naive Series, use :meth:`Series.dt.tz_localize`.\n\nParameters\n----------\ntz : str or tzinfo or None\n Time zone to localize. Passing ``None`` will remove the\n time zone information and preserve local time.\naxis : {{0 or 'index', 1 or 'columns'}}, default 0\n The axis to localize\nlevel : int, str, default None\n If axis ia a MultiIndex, localize a specific level. Otherwise\n must be None.\ncopy : bool, default True\n Also make a copy of the underlying data.\n\n .. note::\n The `copy` keyword will change behavior in pandas 3.0.\n `Copy-on-Write\n `__\n will be enabled by default, which means that all methods with a\n `copy` keyword will use a lazy copy mechanism to defer the copy and\n ignore the `copy` keyword. The `copy` keyword will be removed in a\n future version of pandas.\n\n You can already get the future behavior and improvements through\n enabling copy on write ``pd.options.mode.copy_on_write = True``\nambiguous : 'infer', bool-ndarray, 'NaT', default 'raise'\n When clocks moved backward due to DST, ambiguous times may arise.\n For example in Central European Time (UTC+01), when going from\n 03:00 DST to 02:00 non-DST, 02:30:00 local time occurs both at\n 00:30:00 UTC and at 01:30:00 UTC. In such a situation, the\n `ambiguous` parameter dictates how ambiguous times should be\n handled.\n\n - 'infer' will attempt to infer fall dst-transition hours based on\n order\n - bool-ndarray where True signifies a DST time, False designates\n a non-DST time (note that this flag is only applicable for\n ambiguous times)\n - 'NaT' will return NaT where there are ambiguous times\n - 'raise' will raise an AmbiguousTimeError if there are ambiguous\n times.\nnonexistent : str, default 'raise'\n A nonexistent time does not exist in a particular timezone\n where clocks moved forward due to DST. Valid values are:\n\n - 'shift_forward' will shift the nonexistent time forward to the\n closest existing time\n - 'shift_backward' will shift the nonexistent time backward to the\n closest existing time\n - 'NaT' will return NaT where there are nonexistent times\n - timedelta objects will shift nonexistent times by the timedelta\n - 'raise' will raise an NonExistentTimeError if there are\n nonexistent times.\n\nReturns\n-------\n{klass}\n Same type as the input.\n\nRaises\n------\nTypeError\n If the TimeSeries is tz-aware and tz is not None.\n\nExamples\n--------\nLocalize local times:\n\n>>> s = pd.Series(\n... [1],\n... index=pd.DatetimeIndex(['2018-09-15 01:30:00']),\n... )\n>>> s.tz_localize('CET')\n2018-09-15 01:30:00+02:00 1\ndtype: int64\n\nPass None to convert to tz-naive index and preserve local time:\n\n>>> s = pd.Series([1],\n... index=pd.DatetimeIndex(['2018-09-15 01:30:00+02:00']))\n>>> s.tz_localize(None)\n2018-09-15 01:30:00 1\ndtype: int64\n\nBe careful with DST changes. When there is sequential data, pandas\ncan infer the DST time:\n\n>>> s = pd.Series(range(7),\n... index=pd.DatetimeIndex(['2018-10-28 01:30:00',\n... '2018-10-28 02:00:00',\n... '2018-10-28 02:30:00',\n... '2018-10-28 02:00:00',\n... '2018-10-28 02:30:00',\n... '2018-10-28 03:00:00',\n... '2018-10-28 03:30:00']))\n>>> s.tz_localize('CET', ambiguous='infer')\n2018-10-28 01:30:00+02:00 0\n2018-10-28 02:00:00+02:00 1\n2018-10-28 02:30:00+02:00 2\n2018-10-28 02:00:00+01:00 3\n2018-10-28 02:30:00+01:00 4\n2018-10-28 03:00:00+01:00 5\n2018-10-28 03:30:00+01:00 6\ndtype: int64\n\nIn some cases, inferring the DST is impossible. In such cases, you can\npass an ndarray to the ambiguous parameter to set the DST explicitly\n\n>>> s = pd.Series(range(3),\n... index=pd.DatetimeIndex(['2018-10-28 01:20:00',\n... '2018-10-28 02:36:00',\n... '2018-10-28 03:46:00']))\n>>> s.tz_localize('CET', ambiguous=np.array([True, True, False]))\n2018-10-28 01:20:00+02:00 0\n2018-10-28 02:36:00+02:00 1\n2018-10-28 03:46:00+01:00 2\ndtype: int64\n\nIf the DST transition causes nonexistent times, you can shift these\ndates forward or backward with a timedelta object or `'shift_forward'`\nor `'shift_backward'`.\n\n>>> s = pd.Series(range(2),\n... index=pd.DatetimeIndex(['2015-03-29 02:30:00',\n... '2015-03-29 03:30:00']))\n>>> s.tz_localize('Europe/Warsaw', nonexistent='shift_forward')\n2015-03-29 03:00:00+02:00 0\n2015-03-29 03:30:00+02:00 1\ndtype: int64\n>>> s.tz_localize('Europe/Warsaw', nonexistent='shift_backward')\n2015-03-29 01:59:59.999999999+01:00 0\n2015-03-29 03:30:00+02:00 1\ndtype: int64\n>>> s.tz_localize('Europe/Warsaw', nonexistent=pd.Timedelta('1h'))\n2015-03-29 03:30:00+02:00 0\n2015-03-29 03:30:00+02:00 1\ndtype: int64\n"}, "kind": 2, "label": "tz_localize", "sortText": "204"}, {"detail": "bound method DataFrame.unstack(level: Hashable | Sequence[Hashable] = -1, fill_value=None, sort: bool = True) -> Unknown", "documentation": {"kind": "plaintext", "value": "Pivot a level of the (necessarily hierarchical) index labels.\n\nReturns a DataFrame having a new level of column labels whose inner-most level\nconsists of the pivoted index labels.\n\nIf the index is not a MultiIndex, the output will be a Series\n(the analogue of stack when the columns are not a MultiIndex).\n\nParameters\n----------\nlevel : int, str, or list of these, default -1 (last level)\n Level(s) of index to unstack, can pass level name.\nfill_value : int, str or dict\n Replace NaN with this value if the unstack produces missing values.\nsort : bool, default True\n Sort the level(s) in the resulting MultiIndex columns.\n\nReturns\n-------\nSeries or DataFrame\n\nSee Also\n--------\nDataFrame.pivot : Pivot a table based on column values.\nDataFrame.stack : Pivot a level of the column labels (inverse operation\n from `unstack`).\n\nNotes\n-----\nReference :ref:`the user guide ` for more examples.\n\nExamples\n--------\n>>> index = pd.MultiIndex.from_tuples([('one', 'a'), ('one', 'b'),\n... ('two', 'a'), ('two', 'b')])\n>>> s = pd.Series(np.arange(1.0, 5.0), index=index)\n>>> s\none a 1.0\n b 2.0\ntwo a 3.0\n b 4.0\ndtype: float64\n\n>>> s.unstack(level=-1)\n a b\none 1.0 2.0\ntwo 3.0 4.0\n\n>>> s.unstack(level=0)\n one two\na 1.0 3.0\nb 2.0 4.0\n\n>>> df = s.unstack(level=0)\n>>> df.unstack()\none a 1.0\n b 2.0\ntwo a 3.0\n b 4.0\ndtype: float64\n"}, "kind": 2, "label": "unstack", "sortText": "205"}, {"detail": "bound method DataFrame.update(other, join: Literal[\"left\"] = \"left\", overwrite: bool = True, filter_func=None, errors: Literal[\"ignore\", \"raise\"] = \"ignore\") -> None", "documentation": {"kind": "plaintext", "value": "Modify in place using non-NA values from another DataFrame.\n\nAligns on indices. There is no return value.\n\nParameters\n----------\nother : DataFrame, or object coercible into a DataFrame\n Should have at least one matching index/column label\n with the original DataFrame. If a Series is passed,\n its name attribute must be set, and that will be\n used as the column name to align with the original DataFrame.\njoin : {'left'}, default 'left'\n Only left join is implemented, keeping the index and columns of the\n original object.\noverwrite : bool, default True\n How to handle non-NA values for overlapping keys:\n\n * True: overwrite original DataFrame's values\n with values from `other`.\n * False: only update values that are NA in\n the original DataFrame.\n\nfilter_func : callable(1d-array) -> bool 1d-array, optional\n Can choose to replace values other than NA. Return True for values\n that should be updated.\nerrors : {'raise', 'ignore'}, default 'ignore'\n If 'raise', will raise a ValueError if the DataFrame and `other`\n both contain non-NA data in the same place.\n\nReturns\n-------\nNone\n This method directly changes calling object.\n\nRaises\n------\nValueError\n * When `errors='raise'` and there's overlapping non-NA data.\n * When `errors` is not either `'ignore'` or `'raise'`\nNotImplementedError\n * If `join != 'left'`\n\nSee Also\n--------\ndict.update : Similar method for dictionaries.\nDataFrame.merge : For column(s)-on-column(s) operations.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [1, 2, 3],\n... 'B': [400, 500, 600]})\n>>> new_df = pd.DataFrame({'B': [4, 5, 6],\n... 'C': [7, 8, 9]})\n>>> df.update(new_df)\n>>> df\n A B\n0 1 4\n1 2 5\n2 3 6\n\nThe DataFrame's length does not increase as a result of the update,\nonly values at matching index/column labels are updated.\n\n>>> df = pd.DataFrame({'A': ['a', 'b', 'c'],\n... 'B': ['x', 'y', 'z']})\n>>> new_df = pd.DataFrame({'B': ['d', 'e', 'f', 'g', 'h', 'i']})\n>>> df.update(new_df)\n>>> df\n A B\n0 a d\n1 b e\n2 c f\n\n>>> df = pd.DataFrame({'A': ['a', 'b', 'c'],\n... 'B': ['x', 'y', 'z']})\n>>> new_df = pd.DataFrame({'B': ['d', 'f']}, index=[0, 2])\n>>> df.update(new_df)\n>>> df\n A B\n0 a d\n1 b y\n2 c f\n\nFor Series, its name attribute must be set.\n\n>>> df = pd.DataFrame({'A': ['a', 'b', 'c'],\n... 'B': ['x', 'y', 'z']})\n>>> new_column = pd.Series(['d', 'e', 'f'], name='B')\n>>> df.update(new_column)\n>>> df\n A B\n0 a d\n1 b e\n2 c f\n\nIf `other` contains NaNs the corresponding values are not updated\nin the original dataframe.\n\n>>> df = pd.DataFrame({'A': [1, 2, 3],\n... 'B': [400., 500., 600.]})\n>>> new_df = pd.DataFrame({'B': [4, np.nan, 6]})\n>>> df.update(new_df)\n>>> df\n A B\n0 1 4.0\n1 2 500.0\n2 3 6.0\n"}, "kind": 2, "label": "update", "sortText": "206"}, {"detail": "bound method DataFrame.value_counts(subset: Hashable | Sequence[Hashable] = None, normalize: bool = False, sort: bool = True, ascending: bool = False, dropna: bool = True) -> Series", "documentation": {"kind": "plaintext", "value": "Return a Series containing the frequency of each distinct row in the Dataframe.\n\nParameters\n----------\nsubset : label or list of labels, optional\n Columns to use when counting unique combinations.\nnormalize : bool, default False\n Return proportions rather than frequencies.\nsort : bool, default True\n Sort by frequencies when True. Sort by DataFrame column values when False.\nascending : bool, default False\n Sort in ascending order.\ndropna : bool, default True\n Don't include counts of rows that contain NA values.\n\n .. versionadded:: 1.3.0\n\nReturns\n-------\nSeries\n\nSee Also\n--------\nSeries.value_counts: Equivalent method on Series.\n\nNotes\n-----\nThe returned Series will have a MultiIndex with one level per input\ncolumn but an Index (non-multi) for a single label. By default, rows\nthat contain any NA values are omitted from the result. By default,\nthe resulting Series will be in descending order so that the first\nelement is the most frequently-occurring row.\n\nExamples\n--------\n>>> df = pd.DataFrame({'num_legs': [2, 4, 4, 6],\n... 'num_wings': [2, 0, 0, 0]},\n... index=['falcon', 'dog', 'cat', 'ant'])\n>>> df\n num_legs num_wings\nfalcon 2 2\ndog 4 0\ncat 4 0\nant 6 0\n\n>>> df.value_counts()\nnum_legs num_wings\n4 0 2\n2 2 1\n6 0 1\nName: count, dtype: int64\n\n>>> df.value_counts(sort=False)\nnum_legs num_wings\n2 2 1\n4 0 2\n6 0 1\nName: count, dtype: int64\n\n>>> df.value_counts(ascending=True)\nnum_legs num_wings\n2 2 1\n6 0 1\n4 0 2\nName: count, dtype: int64\n\n>>> df.value_counts(normalize=True)\nnum_legs num_wings\n4 0 0.50\n2 2 0.25\n6 0 0.25\nName: proportion, dtype: float64\n\nWith `dropna` set to `False` we can also count rows with NA values.\n\n>>> df = pd.DataFrame({'first_name': ['John', 'Anne', 'John', 'Beth'],\n... 'middle_name': ['Smith', pd.NA, pd.NA, 'Louise']})\n>>> df\n first_name middle_name\n0 John Smith\n1 Anne \n2 John \n3 Beth Louise\n\n>>> df.value_counts()\nfirst_name middle_name\nBeth Louise 1\nJohn Smith 1\nName: count, dtype: int64\n\n>>> df.value_counts(dropna=False)\nfirst_name middle_name\nAnne NaN 1\nBeth Louise 1\nJohn Smith 1\n NaN 1\nName: count, dtype: int64\n\n>>> df.value_counts(\"first_name\")\nfirst_name\nJohn 2\nAnne 1\nBeth 1\nName: count, dtype: int64\n"}, "kind": 2, "label": "value_counts", "sortText": "207"}, {"detail": "ndarray[_AnyShape, dtype[Any]]", "kind": 22, "label": "values", "sortText": "208"}, {"detail": "bound method DataFrame.var(axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, ddof: int = 1, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "var", "sortText": "209"}, {"detail": "Overload[(cond, other=..., *, inplace: Literal[False] = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> DataFrame, (cond, other=..., *, inplace: Literal[True], axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> None, (cond, other=..., *, inplace: bool = ..., axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = ..., level: Hashable = ...) -> DataFrame | None]", "documentation": {"kind": "plaintext", "value": "Replace values where the condition is {cond_rev}.\n\nParameters\n----------\ncond : bool {klass}, array-like, or callable\n Where `cond` is {cond}, keep the original value. Where\n {cond_rev}, replace with corresponding value from `other`.\n If `cond` is callable, it is computed on the {klass} and\n should return boolean {klass} or array. The callable must\n not change input {klass} (though pandas doesn't check it).\nother : scalar, {klass}, or callable\n Entries where `cond` is {cond_rev} are replaced with\n corresponding value from `other`.\n If other is callable, it is computed on the {klass} and\n should return scalar or {klass}. The callable must not\n change input {klass} (though pandas doesn't check it).\n If not specified, entries will be filled with the corresponding\n NULL value (``np.nan`` for numpy dtypes, ``pd.NA`` for extension\n dtypes).\ninplace : bool, default False\n Whether to perform the operation in place on the data.\naxis : int, default None\n Alignment axis if needed. For `Series` this parameter is\n unused and defaults to 0.\nlevel : int, default None\n Alignment level if needed.\n\nReturns\n-------\nSame type as caller or None if ``inplace=True``.\n\nSee Also\n--------\n:func:`DataFrame.{name_other}` : Return an object of same shape as\n self.\n\nNotes\n-----\nThe {name} method is an application of the if-then idiom. For each\nelement in the calling DataFrame, if ``cond`` is ``{cond}`` the\nelement is used; otherwise the corresponding element from the DataFrame\n``other`` is used. If the axis of ``other`` does not align with axis of\n``cond`` {klass}, the misaligned index positions will be filled with\n{cond_rev}.\n\nThe signature for :func:`DataFrame.where` differs from\n:func:`numpy.where`. Roughly ``df1.where(m, df2)`` is equivalent to\n``np.where(m, df1, df2)``.\n\nFor further details and examples see the ``{name}`` documentation in\n:ref:`indexing `.\n\nThe dtype of the object takes precedence. The fill value is casted to\nthe object's dtype, if this can be done losslessly.\n\nExamples\n--------\n>>> s = pd.Series(range(5))\n>>> s.where(s > 0)\n0 NaN\n1 1.0\n2 2.0\n3 3.0\n4 4.0\ndtype: float64\n>>> s.mask(s > 0)\n0 0.0\n1 NaN\n2 NaN\n3 NaN\n4 NaN\ndtype: float64\n\n>>> s = pd.Series(range(5))\n>>> t = pd.Series([True, False])\n>>> s.where(t, 99)\n0 0\n1 99\n2 99\n3 99\n4 99\ndtype: int64\n>>> s.mask(t, 99)\n0 99\n1 1\n2 99\n3 99\n4 99\ndtype: int64\n\n>>> s.where(s > 1, 10)\n0 10\n1 10\n2 2\n3 3\n4 4\ndtype: int64\n>>> s.mask(s > 1, 10)\n0 0\n1 1\n2 10\n3 10\n4 10\ndtype: int64\n\n>>> df = pd.DataFrame(np.arange(10).reshape(-1, 2), columns=['A', 'B'])\n>>> df\n A B\n0 0 1\n1 2 3\n2 4 5\n3 6 7\n4 8 9\n>>> m = df % 3 == 0\n>>> df.where(m, -df)\n A B\n0 0 -1\n1 -2 3\n2 -4 -5\n3 6 -7\n4 -8 9\n>>> df.where(m, -df) == np.where(m, df, -df)\n A B\n0 True True\n1 True True\n2 True True\n3 True True\n4 True True\n>>> df.where(m, -df) == df.mask(~m, -df)\n A B\n0 True True\n1 True True\n2 True True\n3 True True\n4 True True\n"}, "kind": 2, "label": "where", "sortText": "210"}, {"detail": "bound method DataFrame.xs(key: Hashable | Sequence[Hashable], axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, level: Hashable | Sequence[Hashable] = None, drop_level: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return cross-section from the Series/DataFrame.\n\nThis method takes a `key` argument to select data at a particular\nlevel of a MultiIndex.\n\nParameters\n----------\nkey : label or tuple of label\n Label contained in the index, or partially in a MultiIndex.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Axis to retrieve cross-section on.\nlevel : object, defaults to first n levels (n=1 or len(key))\n In case of a key partially contained in a MultiIndex, indicate\n which levels are used. Levels can be referred by label or position.\ndrop_level : bool, default True\n If False, returns object with same levels as self.\n\nReturns\n-------\nSeries or DataFrame\n Cross-section from the original Series or DataFrame\n corresponding to the selected index levels.\n\nSee Also\n--------\nDataFrame.loc : Access a group of rows and columns\n by label(s) or a boolean array.\nDataFrame.iloc : Purely integer-location based indexing\n for selection by position.\n\nNotes\n-----\n`xs` can not be used to set values.\n\nMultiIndex Slicers is a generic way to get/set values on\nany level or levels.\nIt is a superset of `xs` functionality, see\n:ref:`MultiIndex Slicers `.\n\nExamples\n--------\n>>> d = {'num_legs': [4, 4, 2, 2],\n... 'num_wings': [0, 0, 2, 2],\n... 'class': ['mammal', 'mammal', 'mammal', 'bird'],\n... 'animal': ['cat', 'dog', 'bat', 'penguin'],\n... 'locomotion': ['walks', 'walks', 'flies', 'walks']}\n>>> df = pd.DataFrame(data=d)\n>>> df = df.set_index(['class', 'animal', 'locomotion'])\n>>> df\n num_legs num_wings\nclass animal locomotion\nmammal cat walks 4 0\n dog walks 4 0\n bat flies 2 2\nbird penguin walks 2 2\n\nGet values at specified index\n\n>>> df.xs('mammal')\n num_legs num_wings\nanimal locomotion\ncat walks 4 0\ndog walks 4 0\nbat flies 2 2\n\nGet values at several indexes\n\n>>> df.xs(('mammal', 'dog', 'walks'))\nnum_legs 4\nnum_wings 0\nName: (mammal, dog, walks), dtype: int64\n\nGet values at specified index and level\n\n>>> df.xs('cat', level=1)\n num_legs num_wings\nclass locomotion\nmammal walks 4 0\n\nGet values at several indexes and levels\n\n>>> df.xs(('bird', 'walks'),\n... level=[0, 'locomotion'])\n num_legs num_wings\nanimal\npenguin 2 2\n\nGet values at specified column and axis\n\n>>> df.xs('num_wings', axis=1)\nclass animal locomotion\nmammal cat walks 0\n dog walks 0\n bat flies 2\nbird penguin walks 2\nName: num_wings, dtype: int64\n"}, "kind": 2, "label": "xs", "sortText": "211"}, {"detail": "bound method DataFrame.__abs__() -> DataFrame", "kind": 2, "label": "__abs__", "sortText": "212"}, {"detail": "bound method DataFrame.__add__(other) -> Unknown", "documentation": {"kind": "plaintext", "value": "Get Addition of DataFrame and other, column-wise.\n\nEquivalent to ``DataFrame.add(other)``.\n\nParameters\n----------\nother : scalar, sequence, Series, dict or DataFrame\n Object to be added to the DataFrame.\n\nReturns\n-------\nDataFrame\n The result of adding ``other`` to DataFrame.\n\nSee Also\n--------\nDataFrame.add : Add a DataFrame and another object, with option for index-\n or column-oriented addition.\n\nExamples\n--------\n>>> df = pd.DataFrame({'height': [1.5, 2.6], 'weight': [500, 800]},\n... index=['elk', 'moose'])\n>>> df\n height weight\nelk 1.5 500\nmoose 2.6 800\n\nAdding a scalar affects all rows and columns.\n\n>>> df[['height', 'weight']] + 1.5\n height weight\nelk 3.0 501.5\nmoose 4.1 801.5\n\nEach element of a list is added to a column of the DataFrame, in order.\n\n>>> df[['height', 'weight']] + [0.5, 1.5]\n height weight\nelk 2.0 501.5\nmoose 3.1 801.5\n\nKeys of a dictionary are aligned to the DataFrame, based on column names;\neach value in the dictionary is added to the corresponding column.\n\n>>> df[['height', 'weight']] + {'height': 0.5, 'weight': 1.5}\n height weight\nelk 2.0 501.5\nmoose 3.1 801.5\n\nWhen `other` is a :class:`Series`, the index of `other` is aligned with the\ncolumns of the DataFrame.\n\n>>> s1 = pd.Series([0.5, 1.5], index=['weight', 'height'])\n>>> df[['height', 'weight']] + s1\n height weight\nelk 3.0 500.5\nmoose 4.1 800.5\n\nEven when the index of `other` is the same as the index of the DataFrame,\nthe :class:`Series` will not be reoriented. If index-wise alignment is desired,\n:meth:`DataFrame.add` should be used with `axis='index'`.\n\n>>> s2 = pd.Series([0.5, 1.5], index=['elk', 'moose'])\n>>> df[['height', 'weight']] + s2\n elk height moose weight\nelk NaN NaN NaN NaN\nmoose NaN NaN NaN NaN\n\n>>> df[['height', 'weight']].add(s2, axis='index')\n height weight\nelk 2.0 500.5\nmoose 4.1 801.5\n\nWhen `other` is a :class:`DataFrame`, both columns names and the\nindex are aligned.\n\n>>> other = pd.DataFrame({'height': [0.2, 0.4, 0.6]},\n... index=['elk', 'moose', 'deer'])\n>>> df[['height', 'weight']] + other\n height weight\ndeer NaN NaN\nelk 1.7 NaN\nmoose 3.0 NaN\n"}, "kind": 2, "label": "__add__", "sortText": "213"}, {"detail": "bound method DataFrame.__and__(other) -> Unknown", "kind": 2, "label": "__and__", "sortText": "214"}, {"detail": "dict[str, Any]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "__annotations__", "sortText": "215"}, {"detail": "bound method DataFrame.__array__(dtype: DTypeLike | None = None, copy: bool | None = None) -> ndarray[_AnyShape, dtype[Any]]", "kind": 2, "label": "__array__", "sortText": "216"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "__array_priority__", "sortText": "217"}, {"detail": "bound method DataFrame.__array_ufunc__(ufunc: ufunc, method: str, *inputs: Any, **kwargs: Any) -> Unknown", "kind": 2, "label": "__array_ufunc__", "sortText": "218"}, {"detail": "bound method DataFrame.__arrow_c_stream__(requested_schema=None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Export the pandas DataFrame as an Arrow C stream PyCapsule.\n\nThis relies on pyarrow to convert the pandas DataFrame to the Arrow\nformat (and follows the default behaviour of ``pyarrow.Table.from_pandas``\nin its handling of the index, i.e. store the index as a column except\nfor RangeIndex).\nThis conversion is not necessarily zero-copy.\n\nParameters\n----------\nrequested_schema : PyCapsule, default None\n The schema to which the dataframe should be casted, passed as a\n PyCapsule containing a C ArrowSchema representation of the\n requested schema.\n\nReturns\n-------\nPyCapsule\n"}, "kind": 2, "label": "__arrow_c_stream__", "sortText": "219"}, {"detail": "() -> Never", "kind": 2, "label": "__bool__", "sortText": "220"}, {"detail": "type[DataFrame]", "documentation": {"kind": "plaintext", "value": "Two-dimensional, size-mutable, potentially heterogeneous tabular data.\n\nData structure also contains labeled axes (rows and columns).\nArithmetic operations align on both row and column labels. Can be\nthought of as a dict-like container for Series objects. The primary\npandas data structure.\n\nParameters\n----------\ndata : ndarray (structured or homogeneous), Iterable, dict, or DataFrame\n Dict can contain Series, arrays, constants, dataclass or list-like objects. If\n data is a dict, column order follows insertion-order. If a dict contains Series\n which have an index defined, it is aligned by its index. This alignment also\n occurs if data is a Series or a DataFrame itself. Alignment is done on\n Series/DataFrame inputs.\n\n If data is a list of dicts, column order follows insertion-order.\n\nindex : Index or array-like\n Index to use for resulting frame. Will default to RangeIndex if\n no indexing information part of input data and no index provided.\ncolumns : Index or array-like\n Column labels to use for resulting frame when data does not have them,\n defaulting to RangeIndex(0, 1, 2, ..., n). If data contains column labels,\n will perform column selection instead.\ndtype : dtype, default None\n Data type to force. Only a single dtype is allowed. If None, infer.\ncopy : bool or None, default None\n Copy data from inputs.\n For dict data, the default of None behaves like ``copy=True``. For DataFrame\n or 2d ndarray input, the default of None behaves like ``copy=False``.\n If data is a dict containing one or more Series (possibly of different dtypes),\n ``copy=False`` will ensure that these inputs are not copied.\n\n .. versionchanged:: 1.3.0\n\nSee Also\n--------\nDataFrame.from_records : Constructor from tuples, also record arrays.\nDataFrame.from_dict : From dicts of Series, arrays, or dicts.\nread_csv : Read a comma-separated values (csv) file into DataFrame.\nread_table : Read general delimited file into DataFrame.\nread_clipboard : Read text from clipboard into DataFrame.\n\nNotes\n-----\nPlease reference the :ref:`User Guide ` for more information.\n\nExamples\n--------\nConstructing DataFrame from a dictionary.\n\n>>> d = {'col1': [1, 2], 'col2': [3, 4]}\n>>> df = pd.DataFrame(data=d)\n>>> df\n col1 col2\n0 1 3\n1 2 4\n\nNotice that the inferred dtype is int64.\n\n>>> df.dtypes\ncol1 int64\ncol2 int64\ndtype: object\n\nTo enforce a single dtype:\n\n>>> df = pd.DataFrame(data=d, dtype=np.int8)\n>>> df.dtypes\ncol1 int8\ncol2 int8\ndtype: object\n\nConstructing DataFrame from a dictionary including Series:\n\n>>> d = {'col1': [0, 1, 2, 3], 'col2': pd.Series([2, 3], index=[2, 3])}\n>>> pd.DataFrame(data=d, index=[0, 1, 2, 3])\n col1 col2\n0 0 NaN\n1 1 NaN\n2 2 2.0\n3 3 3.0\n\nConstructing DataFrame from numpy ndarray:\n\n>>> df2 = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]),\n... columns=['a', 'b', 'c'])\n>>> df2\n a b c\n0 1 2 3\n1 4 5 6\n2 7 8 9\n\nConstructing DataFrame from a numpy ndarray that has labeled columns:\n\n>>> data = np.array([(1, 2, 3), (4, 5, 6), (7, 8, 9)],\n... dtype=[(\"a\", \"i4\"), (\"b\", \"i4\"), (\"c\", \"i4\")])\n>>> df3 = pd.DataFrame(data, columns=['c', 'a'])\n...\n>>> df3\n c a\n0 3 1\n1 6 4\n2 9 7\n\nConstructing DataFrame from dataclass:\n\n>>> from dataclasses import make_dataclass\n>>> Point = make_dataclass(\"Point\", [(\"x\", int), (\"y\", int)])\n>>> pd.DataFrame([Point(0, 0), Point(0, 3), Point(2, 3)])\n x y\n0 0 0\n1 0 3\n2 2 3\n\nConstructing DataFrame from Series/DataFrame:\n\n>>> ser = pd.Series([1, 2, 3], index=[\"a\", \"b\", \"c\"])\n>>> df = pd.DataFrame(data=ser, index=[\"a\", \"c\"])\n>>> df\n 0\na 1\nc 3\n\n>>> df1 = pd.DataFrame([1, 2, 3], index=[\"a\", \"b\", \"c\"], columns=[\"x\"])\n>>> df2 = pd.DataFrame(data=df1, index=[\"a\", \"c\"])\n>>> df2\n x\na 1\nc 3\n"}, "kind": 7, "label": "__class__", "sortText": "221"}, {"detail": "bound method DataFrame.__contains__(key) -> bool", "documentation": {"kind": "plaintext", "value": "True if the key is in the info axis\n"}, "kind": 2, "label": "__contains__", "sortText": "222"}, {"detail": "bound method DataFrame.__copy__(deep: bool = True) -> DataFrame", "kind": 2, "label": "__copy__", "sortText": "223"}, {"detail": "bound method DataFrame.__dataframe__(nan_as_null: bool = False, allow_copy: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Return the dataframe interchange object implementing the interchange protocol.\n\nParameters\n----------\nnan_as_null : bool, default False\n `nan_as_null` is DEPRECATED and has no effect. Please avoid using\n it; it will be removed in a future release.\nallow_copy : bool, default True\n Whether to allow memory copying when exporting. If set to False\n it would cause non-zero-copy exports to fail.\n\nReturns\n-------\nDataFrame interchange object\n The object which consuming library can use to ingress the dataframe.\n\nNotes\n-----\nDetails on the interchange protocol:\nhttps://data-apis.org/dataframe-protocol/latest/index.html\n\nExamples\n--------\n>>> df_not_necessarily_pandas = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})\n>>> interchange_object = df_not_necessarily_pandas.__dataframe__()\n>>> interchange_object.column_names()\nIndex(['A', 'B'], dtype='object')\n>>> df_pandas = (pd.api.interchange.from_dataframe\n... (interchange_object.select_columns_by_name(['A'])))\n>>> df_pandas\n A\n0 1\n1 2\n\nThese methods (``column_names``, ``select_columns_by_name``) should work\nfor any dataframe library which implements the interchange protocol.\n"}, "kind": 2, "label": "__dataframe__", "sortText": "224"}, {"detail": "bound method DataFrame.__dataframe_consortium_standard__(*, api_version: str | None = None) -> Any", "documentation": {"kind": "plaintext", "value": "Provide entry point to the Consortium DataFrame Standard API.\n\nThis is developed and maintained outside of pandas.\nPlease report any issues to https://github.com/data-apis/dataframe-api-compat.\n"}, "kind": 2, "label": "__dataframe_consortium_standard__", "sortText": "225"}, {"detail": "bound method DataFrame.__deepcopy__(memo=None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Parameters\n----------\nmemo, default None\n Standard signature. Unused\n"}, "kind": 2, "label": "__deepcopy__", "sortText": "226"}, {"detail": "bound method DataFrame.__delattr__(name: str, /) -> None", "kind": 2, "label": "__delattr__", "sortText": "227"}, {"detail": "bound method DataFrame.__delitem__(key) -> None", "documentation": {"kind": "plaintext", "value": "Delete item\n"}, "kind": 2, "label": "__delitem__", "sortText": "228"}, {"detail": "dict[str, Any]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "__dict__", "sortText": "229"}, {"detail": "bound method DataFrame.__dir__() -> list[str]", "documentation": {"kind": "plaintext", "value": "Provide method name lookup and completion.\n\nNotes\n-----\nOnly provide 'public' methods.\n"}, "kind": 2, "label": "__dir__", "sortText": "230"}, {"detail": "bound method DataFrame.__divmod__(other) -> tuple[DataFrame, DataFrame]", "kind": 2, "label": "__divmod__", "sortText": "231"}, {"detail": "str | None", "kind": 22, "label": "__doc__", "sortText": "232"}, {"detail": "bound method DataFrame.__eq__(other) -> Unknown", "kind": 2, "label": "__eq__", "sortText": "233"}, {"detail": "bound method DataFrame.__finalize__(other, method: str | None = None, **kwargs) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Propagate metadata from other to self.\n\nParameters\n----------\nother : the object from which to get the attributes that we are going\n to propagate\nmethod : str, optional\n A passed method name providing context on where ``__finalize__``\n was called.\n\n .. warning::\n\n The value passed as `method` are not currently considered\n stable across pandas releases.\n"}, "kind": 2, "label": "__finalize__", "sortText": "234"}, {"detail": "bound method DataFrame.__floordiv__(other) -> Unknown", "kind": 2, "label": "__floordiv__", "sortText": "235"}, {"detail": "bound method DataFrame.__format__(format_spec: str, /) -> str", "kind": 2, "label": "__format__", "sortText": "236"}, {"detail": "bound method DataFrame.__ge__(other) -> Unknown", "kind": 2, "label": "__ge__", "sortText": "237"}, {"detail": "bound method DataFrame.__getattr__(name: str) -> Unknown", "documentation": {"kind": "plaintext", "value": "After regular attribute access, try looking up the name\nThis allows simpler access to columns for interactive use.\n"}, "kind": 2, "label": "__getattr__", "sortText": "238"}, {"detail": "bound method DataFrame.__getattribute__(name: str, /) -> Any", "kind": 2, "label": "__getattribute__", "sortText": "239"}, {"detail": "bound method DataFrame.__getitem__(key) -> Unknown", "kind": 2, "label": "__getitem__", "sortText": "240"}, {"detail": "bound method DataFrame.__getstate__() -> dict[str, Any]", "kind": 2, "label": "__getstate__", "sortText": "241"}, {"detail": "bound method DataFrame.__gt__(other) -> Unknown", "kind": 2, "label": "__gt__", "sortText": "242"}, {"detail": "None", "documentation": {"kind": "plaintext", "value": "The type of the None singleton.\n"}, "kind": 22, "label": "__hash__", "sortText": "243"}, {"detail": "bound method DataFrame.__iadd__(other) -> DataFrame", "kind": 2, "label": "__iadd__", "sortText": "244"}, {"detail": "bound method DataFrame.__iand__(other) -> DataFrame", "kind": 2, "label": "__iand__", "sortText": "245"}, {"detail": "bound method DataFrame.__ifloordiv__(other) -> DataFrame", "kind": 2, "label": "__ifloordiv__", "sortText": "246"}, {"detail": "bound method DataFrame.__imod__(other) -> DataFrame", "kind": 2, "label": "__imod__", "sortText": "247"}, {"detail": "bound method DataFrame.__imul__(other) -> DataFrame", "kind": 2, "label": "__imul__", "sortText": "248"}, {"detail": "bound method DataFrame.__init__(data=None, index: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = None, columns: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements = None, dtype: ExtensionDtype | str | dtype[Any] | type | None = None, copy: bool | None = None) -> None", "kind": 2, "label": "__init__", "sortText": "249"}, {"detail": "bound method type[DataFrame].__init_subclass__() -> None", "kind": 2, "label": "__init_subclass__", "sortText": "250"}, {"detail": "bound method DataFrame.__invert__() -> DataFrame", "kind": 2, "label": "__invert__", "sortText": "251"}, {"detail": "bound method DataFrame.__ior__(other) -> DataFrame", "kind": 2, "label": "__ior__", "sortText": "252"}, {"detail": "bound method DataFrame.__ipow__(other) -> DataFrame", "kind": 2, "label": "__ipow__", "sortText": "253"}, {"detail": "bound method DataFrame.__isub__(other) -> DataFrame", "kind": 2, "label": "__isub__", "sortText": "254"}, {"detail": "bound method DataFrame.__iter__() -> Iterator[Unknown]", "documentation": {"kind": "plaintext", "value": "Iterate over info axis.\n\nReturns\n-------\niterator\n Info axis as iterator.\n\nExamples\n--------\n>>> df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})\n>>> for x in df:\n... print(x)\nA\nB\n"}, "kind": 2, "label": "__iter__", "sortText": "255"}, {"detail": "bound method DataFrame.__itruediv__(other) -> DataFrame", "kind": 2, "label": "__itruediv__", "sortText": "256"}, {"detail": "bound method DataFrame.__ixor__(other) -> DataFrame", "kind": 2, "label": "__ixor__", "sortText": "257"}, {"detail": "bound method DataFrame.__le__(other) -> Unknown", "kind": 2, "label": "__le__", "sortText": "258"}, {"detail": "bound method DataFrame.__len__() -> int", "documentation": {"kind": "plaintext", "value": "Returns length of info axis, but here we use the index.\n"}, "kind": 2, "label": "__len__", "sortText": "259"}, {"detail": "bound method DataFrame.__lt__(other) -> Unknown", "kind": 2, "label": "__lt__", "sortText": "260"}, {"detail": "Overload[(other: Series) -> Series, (other: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | Series | DataFrame) -> DataFrame | Series]", "documentation": {"kind": "plaintext", "value": "Matrix multiplication using binary `@` operator.\n"}, "kind": 2, "label": "__matmul__", "sortText": "261"}, {"detail": "bound method DataFrame.__mod__(other) -> Unknown", "kind": 2, "label": "__mod__", "sortText": "262"}, {"detail": "str", "documentation": {"kind": "plaintext", "value": "str(object='') -> str\nstr(bytes_or_buffer[, encoding[, errors]]) -> str\n\nCreate a new string object from the given object. If encoding or\nerrors is specified, then the object must expose a data buffer\nthat will be decoded using the given encoding and error handler.\nOtherwise, returns the result of object.__str__() (if defined)\nor repr(object).\nencoding defaults to 'utf-8'.\nerrors defaults to 'strict'.\n"}, "kind": 22, "label": "__module__", "sortText": "263"}, {"detail": "bound method DataFrame.__mul__(other) -> Unknown", "kind": 2, "label": "__mul__", "sortText": "264"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "__name__", "sortText": "265"}, {"detail": "bound method DataFrame.__ne__(other) -> Unknown", "kind": 2, "label": "__ne__", "sortText": "266"}, {"detail": "bound method DataFrame.__neg__() -> DataFrame", "kind": 2, "label": "__neg__", "sortText": "267"}, {"detail": "def __new__[Self](cls) -> Self", "kind": 3, "label": "__new__", "sortText": "268"}, {"detail": "bound method DataFrame.__nonzero__() -> Never", "kind": 2, "label": "__nonzero__", "sortText": "269"}, {"detail": "bound method DataFrame.__or__(other) -> Unknown", "kind": 2, "label": "__or__", "sortText": "270"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "__pandas_priority__", "sortText": "271"}, {"detail": "bound method DataFrame.__pos__() -> DataFrame", "kind": 2, "label": "__pos__", "sortText": "272"}, {"detail": "bound method DataFrame.__pow__(other) -> Unknown", "kind": 2, "label": "__pow__", "sortText": "273"}, {"detail": "bound method DataFrame.__radd__(other) -> Unknown", "kind": 2, "label": "__radd__", "sortText": "274"}, {"detail": "bound method DataFrame.__rand__(other) -> Unknown", "kind": 2, "label": "__rand__", "sortText": "275"}, {"detail": "bound method DataFrame.__rdivmod__(other) -> tuple[DataFrame, DataFrame]", "kind": 2, "label": "__rdivmod__", "sortText": "276"}, {"detail": "bound method DataFrame.__reduce__() -> str | tuple[Any, ...]", "kind": 2, "label": "__reduce__", "sortText": "277"}, {"detail": "bound method DataFrame.__reduce_ex__(protocol: SupportsIndex, /) -> str | tuple[Any, ...]", "kind": 2, "label": "__reduce_ex__", "sortText": "278"}, {"detail": "bound method DataFrame.__repr__() -> str", "documentation": {"kind": "plaintext", "value": "Return a string representation for a particular DataFrame.\n"}, "kind": 2, "label": "__repr__", "sortText": "279"}, {"detail": "bound method DataFrame.__rfloordiv__(other) -> Unknown", "kind": 2, "label": "__rfloordiv__", "sortText": "280"}, {"detail": "bound method DataFrame.__rmatmul__(other) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Matrix multiplication using binary `@` operator.\n"}, "kind": 2, "label": "__rmatmul__", "sortText": "281"}, {"detail": "bound method DataFrame.__rmod__(other) -> Unknown", "kind": 2, "label": "__rmod__", "sortText": "282"}, {"detail": "bound method DataFrame.__rmul__(other) -> Unknown", "kind": 2, "label": "__rmul__", "sortText": "283"}, {"detail": "bound method DataFrame.__ror__(other) -> Unknown", "kind": 2, "label": "__ror__", "sortText": "284"}, {"detail": "bound method DataFrame.__round__(decimals: int = 0) -> DataFrame", "kind": 2, "label": "__round__", "sortText": "285"}, {"detail": "bound method DataFrame.__rpow__(other) -> Unknown", "kind": 2, "label": "__rpow__", "sortText": "286"}, {"detail": "bound method DataFrame.__rsub__(other) -> Unknown", "kind": 2, "label": "__rsub__", "sortText": "287"}, {"detail": "bound method DataFrame.__rtruediv__(other) -> Unknown", "kind": 2, "label": "__rtruediv__", "sortText": "288"}, {"detail": "bound method DataFrame.__rxor__(other) -> Unknown", "kind": 2, "label": "__rxor__", "sortText": "289"}, {"detail": "bound method DataFrame.__setattr__(name: str, value) -> None", "documentation": {"kind": "plaintext", "value": "After regular attribute access, try setting the name\nThis allows simpler access to columns for interactive use.\n"}, "kind": 2, "label": "__setattr__", "sortText": "290"}, {"detail": "bound method DataFrame.__setitem__(key, value) -> None", "kind": 2, "label": "__setitem__", "sortText": "291"}, {"detail": "bound method DataFrame.__setstate__(state) -> None", "kind": 2, "label": "__setstate__", "sortText": "292"}, {"detail": "bound method DataFrame.__sizeof__() -> int", "documentation": {"kind": "plaintext", "value": "Generates the total memory usage for an object that returns\neither a value or Series of values\n"}, "kind": 2, "label": "__sizeof__", "sortText": "293"}, {"detail": "bound method DataFrame.__str__() -> str", "kind": 2, "label": "__str__", "sortText": "294"}, {"detail": "bound method DataFrame.__sub__(other) -> Unknown", "kind": 2, "label": "__sub__", "sortText": "295"}, {"detail": "bound method type[DataFrame].__subclasshook__(subclass: type, /) -> bool", "kind": 2, "label": "__subclasshook__", "sortText": "296"}, {"detail": "bound method DataFrame.__truediv__(other) -> Unknown", "kind": 2, "label": "__truediv__", "sortText": "297"}, {"detail": "bound method DataFrame.__xor__(other) -> Unknown", "kind": 2, "label": "__xor__", "sortText": "298"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "_AXIS_LEN", "sortText": "299"}, {"detail": "list[Literal[\"index\", \"columns\"]]", "documentation": {"kind": "plaintext", "value": "Built-in mutable sequence.\n\nIf no argument is given, the constructor creates a new empty list.\nThe argument must be an iterable if specified.\n"}, "kind": 22, "label": "_AXIS_ORDERS", "sortText": "300"}, {"detail": "dict[int | Literal[\"index\", \"columns\", \"rows\"], int]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "_AXIS_TO_AXIS_NUMBER", "sortText": "301"}, {"detail": "tuple[type[Series], type[Index], type[ExtensionArray], type[ndarray[_AnyShape, dtype[Any]]]]", "documentation": {"kind": "plaintext", "value": "Built-in immutable sequence.\n\nIf no argument is given, the constructor returns an empty tuple.\nIf iterable is specified the tuple is initialized from iterable's items.\n\nIf the argument is a tuple, the return value is the same object.\n"}, "kind": 22, "label": "_HANDLED_TYPES", "sortText": "302"}, {"detail": "set[str]", "documentation": {"kind": "plaintext", "value": "Build an unordered collection of unique elements.\n"}, "kind": 22, "label": "_accessors", "sortText": "303"}, {"detail": "bound method DataFrame._accum_func(name: str, func, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, skipna: bool = True, *args, **kwargs) -> Unknown", "kind": 2, "label": "_accum_func", "sortText": "304"}, {"detail": "str", "documentation": {"kind": "plaintext", "value": "str(object='') -> str\nstr(bytes_or_buffer[, encoding[, errors]]) -> str\n\nCreate a new string object from the given object. If encoding or\nerrors is specified, then the object must expose a data buffer\nthat will be decoded using the given encoding and error handler.\nOtherwise, returns the result of object.__str__() (if defined)\nor repr(object).\nencoding defaults to 'utf-8'.\nerrors defaults to 'strict'.\n"}, "kind": 22, "label": "_agg_examples_doc", "sortText": "305"}, {"detail": "str", "documentation": {"kind": "plaintext", "value": "str(object='') -> str\nstr(bytes_or_buffer[, encoding[, errors]]) -> str\n\nCreate a new string object from the given object. If encoding or\nerrors is specified, then the object must expose a data buffer\nthat will be decoded using the given encoding and error handler.\nOtherwise, returns the result of object.__str__() (if defined)\nor repr(object).\nencoding defaults to 'utf-8'.\nerrors defaults to 'strict'.\n"}, "kind": 22, "label": "_agg_see_also_doc", "sortText": "306"}, {"detail": "bound method DataFrame._align_for_op(other, axis: int, flex: bool | None = False, level: Hashable = None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Convert rhs to meet lhs dims if input is list, tuple or np.ndarray.\n\nParameters\n----------\nleft : DataFrame\nright : Any\naxis : int\nflex : bool or None, default False\n Whether this is a flex op, in which case we reindex.\n None indicates not to check for alignment.\nlevel : int or level name, default None\n\nReturns\n-------\nleft : DataFrame\nright : Any\n"}, "kind": 2, "label": "_align_for_op", "sortText": "307"}, {"detail": "bound method DataFrame._align_frame(other: DataFrame, join: Literal[\"outer\", \"inner\", \"left\", \"right\"] = \"outer\", axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, level=None, copy: bool | None = None, fill_value=None, method=None, limit: int | None = None, fill_axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> tuple[DataFrame, DataFrame, Index | None]", "kind": 2, "label": "_align_frame", "sortText": "308"}, {"detail": "bound method DataFrame._align_series(other: Series, join: Literal[\"outer\", \"inner\", \"left\", \"right\"] = \"outer\", axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, level=None, copy: bool | None = None, fill_value=None, method=None, limit: int | None = None, fill_axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> tuple[DataFrame, Series, Index | None]", "kind": 2, "label": "_align_series", "sortText": "309"}, {"detail": "bound method DataFrame._append(other, ignore_index: bool = False, verify_integrity: bool = False, sort: bool = False) -> DataFrame", "kind": 2, "label": "_append", "sortText": "310"}, {"detail": "bound method DataFrame._arith_method(other, op) -> Unknown", "kind": 2, "label": "_arith_method", "sortText": "311"}, {"detail": "bound method DataFrame._arith_method_with_reindex(right: DataFrame, op) -> DataFrame", "documentation": {"kind": "plaintext", "value": "For DataFrame-with-DataFrame operations that require reindexing,\noperate only on shared columns, then reindex.\n\nParameters\n----------\nright : DataFrame\nop : binary operator\n\nReturns\n-------\nDataFrame\n"}, "kind": 2, "label": "_arith_method_with_reindex", "sortText": "312"}, {"detail": "bound method DataFrame._as_manager(typ: str, copy: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Private helper function to create a DataFrame with specific manager.\n\nParameters\n----------\ntyp : {\"block\", \"array\"}\ncopy : bool, default True\n Only controls whether the conversion from Block->ArrayManager\n copies the 1D arrays (to ensure proper/contiguous memory layout).\n\nReturns\n-------\nDataFrame\n New DataFrame using specified manager type. Is not guaranteed\n to be a copy or not.\n"}, "kind": 2, "label": "_as_manager", "sortText": "313"}, {"detail": "dict[Hashable, Any]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "_attrs", "sortText": "314"}, {"detail": "bound method DataFrame._box_col_values(values: SingleDataManager, loc: int) -> Series", "documentation": {"kind": "plaintext", "value": "Provide boxed values for a column.\n"}, "kind": 2, "label": "_box_col_values", "sortText": "315"}, {"detail": "dict[str, Any]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "_cache", "sortText": "316"}, {"detail": "bool", "documentation": {"kind": "plaintext", "value": "Returns True when the argument is true, False otherwise.\nThe builtins True and False are the only two instances of the class bool.\nThe class bool is a subclass of the class int, and cannot be subclassed.\n"}, "kind": 22, "label": "_can_fast_transpose", "sortText": "317"}, {"detail": "bound method DataFrame._check_inplace_and_allows_duplicate_labels(inplace: bool) -> Unknown", "kind": 2, "label": "_check_inplace_and_allows_duplicate_labels", "sortText": "318"}, {"detail": "bound method DataFrame._check_is_chained_assignment_possible() -> bool", "documentation": {"kind": "plaintext", "value": "Check if we are a view, have a cacher, and are of mixed type.\nIf so, then force a setitem_copy check.\n\nShould be called just near setting a value\n\nWill return a boolean if it we are a view and are cached, but a\nsingle-dtype meaning that the cacher should be updated following\nsetting.\n"}, "kind": 2, "label": "_check_is_chained_assignment_possible", "sortText": "319"}, {"detail": "bound method DataFrame._check_label_or_level_ambiguity(key: Hashable, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> None", "documentation": {"kind": "plaintext", "value": "Check whether `key` is ambiguous.\n\nBy ambiguous, we mean that it matches both a level of the input\n`axis` and a label of the other axis.\n\nParameters\n----------\nkey : Hashable\n Label or level name.\naxis : int, default 0\n Axis that levels are associated with (0 for index, 1 for columns).\n\nRaises\n------\nValueError: `key` is ambiguous\n"}, "kind": 2, "label": "_check_label_or_level_ambiguity", "sortText": "320"}, {"detail": "bound method DataFrame._check_setitem_copy(t: str = \"setting\", force: bool = False) -> Unknown", "documentation": {"kind": "plaintext", "value": "Parameters\n----------\nt : str, the type of setting error\nforce : bool, default False\n If True, then force showing an error.\n\nvalidate if we are doing a setitem on a chained copy.\n\nIt is technically possible to figure out that we are setting on\na copy even WITH a multi-dtyped pandas object. In other words, some\nblocks may be views while other are not. Currently _is_view will ALWAYS\nreturn False for multi-blocks to avoid having to handle this case.\n\ndf = DataFrame(np.arange(0,9), columns=['count'])\ndf['group'] = 'b'\n\n# This technically need not raise SettingWithCopy if both are view\n# (which is not generally guaranteed but is usually True. However,\n# this is in general not a good practice and we recommend using .loc.\ndf.iloc[0:5]['group'] = 'a'\n"}, "kind": 2, "label": "_check_setitem_copy", "sortText": "321"}, {"detail": "bound method DataFrame._clear_item_cache() -> None", "kind": 2, "label": "_clear_item_cache", "sortText": "322"}, {"detail": "bound method DataFrame._clip_with_one_bound(threshold, method, axis, inplace) -> Unknown", "kind": 2, "label": "_clip_with_one_bound", "sortText": "323"}, {"detail": "bound method DataFrame._clip_with_scalar(lower, upper, inplace: bool = False) -> Unknown", "kind": 2, "label": "_clip_with_scalar", "sortText": "324"}, {"detail": "bound method DataFrame._cmp_method(other, op) -> Unknown", "kind": 2, "label": "_cmp_method", "sortText": "325"}, {"detail": "bound method DataFrame._combine_frame(other: DataFrame, func, fill_value=None) -> Unknown", "kind": 2, "label": "_combine_frame", "sortText": "326"}, {"detail": "bound method DataFrame._consolidate() -> Unknown", "documentation": {"kind": "plaintext", "value": "Compute NDFrame with \"consolidated\" internals (data of each dtype\ngrouped together in a single ndarray).\n\nReturns\n-------\nconsolidated : same type as caller\n"}, "kind": 2, "label": "_consolidate", "sortText": "327"}, {"detail": "bound method DataFrame._consolidate_inplace() -> None", "documentation": {"kind": "plaintext", "value": "Consolidate data in place and return None\n"}, "kind": 2, "label": "_consolidate_inplace", "sortText": "328"}, {"detail": "bound method DataFrame._construct_axes_dict(axes: Sequence[int | Literal[\"index\", \"columns\", \"rows\"]] | None = None, **kwargs) -> Unknown", "documentation": {"kind": "plaintext", "value": "Return an axes dictionary for myself.\n"}, "kind": 2, "label": "_construct_axes_dict", "sortText": "329"}, {"detail": "bound method DataFrame._construct_result(result) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Wrap the result of an arithmetic, comparison, or logical operation.\n\nParameters\n----------\nresult : DataFrame\n\nReturns\n-------\nDataFrame\n"}, "kind": 2, "label": "_construct_result", "sortText": "330"}, {"detail": "(...) -> DataFrame", "kind": 3, "label": "_constructor", "sortText": "331"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_constructor_expanddim", "sortText": "332"}, {"detail": "bound method DataFrame._constructor_from_mgr(mgr, axes) -> DataFrame", "kind": 2, "label": "_constructor_from_mgr", "sortText": "333"}, {"detail": "(...) -> Series", "kind": 3, "label": "_constructor_sliced", "sortText": "334"}, {"detail": "bound method DataFrame._constructor_sliced_from_mgr(mgr, axes) -> Series", "kind": 2, "label": "_constructor_sliced_from_mgr", "sortText": "335"}, {"detail": "bound method DataFrame._create_data_for_split_and_tight_to_dict(are_all_object_dtype_cols: bool, object_dtype_indices: list[int]) -> list[Unknown]", "documentation": {"kind": "plaintext", "value": "Simple helper method to create data for to ``to_dict(orient=\"split\")`` and\n``to_dict(orient=\"tight\")`` to create the main output data\n"}, "kind": 2, "label": "_create_data_for_split_and_tight_to_dict", "sortText": "336"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_data", "sortText": "337"}, {"detail": "bound method DataFrame._deprecate_downcast(downcast, method_name: str) -> Unknown", "kind": 2, "label": "_deprecate_downcast", "sortText": "338"}, {"detail": "bound method DataFrame._dir_additions() -> set[str]", "documentation": {"kind": "plaintext", "value": "add the string-like attributes from the info_axis.\nIf info_axis is a MultiIndex, its first level values are used.\n"}, "kind": 2, "label": "_dir_additions", "sortText": "339"}, {"detail": "bound method DataFrame._dir_deletions() -> set[str]", "documentation": {"kind": "plaintext", "value": "Delete unwanted __dir__ for this object.\n"}, "kind": 2, "label": "_dir_deletions", "sortText": "340"}, {"detail": "bound method DataFrame._dispatch_frame_op(right, func: (...) -> Unknown, axis: int | None = None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Evaluate the frame operation func(left, right) by evaluating\ncolumn-by-column, dispatching to the Series implementation.\n\nParameters\n----------\nright : scalar, Series, or DataFrame\nfunc : arithmetic or comparison operator\naxis : {None, 0, 1}\n\nReturns\n-------\nDataFrame\n\nNotes\n-----\nCaller is responsible for setting np.errstate where relevant.\n"}, "kind": 2, "label": "_dispatch_frame_op", "sortText": "341"}, {"detail": "bound method DataFrame._drop_axis(labels, axis, level=None, errors: Literal[\"ignore\", \"raise\"] = \"raise\", only_slice: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Drop labels from specified axis. Used in the ``drop`` method\ninternally.\n\nParameters\n----------\nlabels : single label or list-like\naxis : int or axis name\nlevel : int or level name, default None\n For MultiIndex\nerrors : {'ignore', 'raise'}, default 'raise'\n If 'ignore', suppress error and existing labels are dropped.\nonly_slice : bool, default False\n Whether indexing along columns should be view-only.\n"}, "kind": 2, "label": "_drop_axis", "sortText": "342"}, {"detail": "bound method DataFrame._drop_labels_or_levels(keys, axis: int = 0) -> Unknown", "documentation": {"kind": "plaintext", "value": "Drop labels and/or levels for the given `axis`.\n\nFor each key in `keys`:\n - (axis=0): If key matches a column label then drop the column.\n Otherwise if key matches an index level then drop the level.\n - (axis=1): If key matches an index label then drop the row.\n Otherwise if key matches a column level then drop the level.\n\nParameters\n----------\nkeys : str or list of str\n labels or levels to drop\naxis : int, default 0\n Axis that levels are associated with (0 for index, 1 for columns)\n\nReturns\n-------\ndropped: DataFrame\n\nRaises\n------\nValueError\n if any `keys` match neither a label nor a level\n"}, "kind": 2, "label": "_drop_labels_or_levels", "sortText": "343"}, {"detail": "bound method DataFrame._ensure_valid_index(value) -> None", "documentation": {"kind": "plaintext", "value": "Ensure that if we don't have an index, that we can create one from the\npassed value.\n"}, "kind": 2, "label": "_ensure_valid_index", "sortText": "344"}, {"detail": "bound method DataFrame._find_valid_index(*, how: str) -> Hashable", "documentation": {"kind": "plaintext", "value": "Retrieves the index of the first valid value.\n\nParameters\n----------\nhow : {'first', 'last'}\n Use this parameter to change between the first or last valid index.\n\nReturns\n-------\nidx_first_valid : type of index\n"}, "kind": 2, "label": "_find_valid_index", "sortText": "345"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_flags", "sortText": "346"}, {"detail": "bound method DataFrame._flex_arith_method(other, op, *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None, fill_value=None) -> Unknown", "kind": 2, "label": "_flex_arith_method", "sortText": "347"}, {"detail": "bound method DataFrame._flex_cmp_method(other, op, *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = \"columns\", level=None) -> Unknown", "kind": 2, "label": "_flex_cmp_method", "sortText": "348"}, {"detail": "bound method type[DataFrame]._from_arrays(arrays, columns, index, dtype: ExtensionDtype | str | dtype[Any] | type | None = None, verify_integrity: bool = True) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Create DataFrame from a list of arrays corresponding to the columns.\n\nParameters\n----------\narrays : list-like of arrays\n Each array in the list corresponds to one column, in order.\ncolumns : list-like, Index\n The column names for the resulting DataFrame.\nindex : list-like, Index\n The rows labels for the resulting DataFrame.\ndtype : dtype, optional\n Optional dtype to enforce for all arrays.\nverify_integrity : bool, default True\n Validate and homogenize all input. If set to False, it is assumed\n that all elements of `arrays` are actual arrays how they will be\n stored in a block (numpy ndarray or ExtensionArray), have the same\n length as and are aligned with the index, and that `columns` and\n `index` are ensured to be an Index object.\n\nReturns\n-------\nDataFrame\n"}, "kind": 2, "label": "_from_arrays", "sortText": "349"}, {"detail": "bound method type[DataFrame]._from_mgr(mgr: ArrayManager | SingleArrayManager | BlockManager | SingleBlockManager, axes: list[Index]) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Construct a new object of this type from a Manager object and axes.\n\nParameters\n----------\nmgr : Manager\n Must have the same ndim as cls.\naxes : list[Index]\n\nNotes\n-----\nThe axes must match mgr.axes, but are required for future-proofing\nin the event that axes are refactored out of the Manager objects.\n"}, "kind": 2, "label": "_from_mgr", "sortText": "350"}, {"detail": "bound method DataFrame._get_agg_axis(axis_num: int) -> Index", "documentation": {"kind": "plaintext", "value": "Let's be explicit about this.\n"}, "kind": 2, "label": "_get_agg_axis", "sortText": "351"}, {"detail": "bound method DataFrame._get_axis(axis: int | Literal[\"index\", \"columns\", \"rows\"]) -> Index", "kind": 2, "label": "_get_axis", "sortText": "352"}, {"detail": "bound method type[DataFrame]._get_axis_name(axis: int | Literal[\"index\", \"columns\", \"rows\"]) -> Literal[\"index\", \"columns\"]", "kind": 2, "label": "_get_axis_name", "sortText": "353"}, {"detail": "bound method type[DataFrame]._get_axis_number(axis: int | Literal[\"index\", \"columns\", \"rows\"]) -> int", "kind": 2, "label": "_get_axis_number", "sortText": "354"}, {"detail": "bound method DataFrame._get_axis_resolvers(axis: str) -> dict[str, Series | MultiIndex]", "kind": 2, "label": "_get_axis_resolvers", "sortText": "355"}, {"detail": "bound method type[DataFrame]._get_block_manager_axis(axis: int | Literal[\"index\", \"columns\", \"rows\"]) -> int", "documentation": {"kind": "plaintext", "value": "Map the axis to the block_manager axis.\n"}, "kind": 2, "label": "_get_block_manager_axis", "sortText": "356"}, {"detail": "bound method DataFrame._get_bool_data() -> Unknown", "kind": 2, "label": "_get_bool_data", "sortText": "357"}, {"detail": "bound method DataFrame._get_cleaned_column_resolvers() -> dict[Hashable, Series]", "documentation": {"kind": "plaintext", "value": "Return the special character free column resolvers of a dataframe.\n\nColumn names with special characters are 'cleaned up' so that they can\nbe referred to by backtick quoting.\nUsed in :meth:`DataFrame.eval`.\n"}, "kind": 2, "label": "_get_cleaned_column_resolvers", "sortText": "358"}, {"detail": "bound method DataFrame._get_column_array(i: int) -> ExtensionArray | ndarray[_AnyShape, dtype[Any]]", "documentation": {"kind": "plaintext", "value": "Get the values of the i'th column (ndarray or ExtensionArray, as stored\nin the Block)\n\nWarning! The returned array is a view but doesn't handle Copy-on-Write,\nso this should be used with caution (for read-only purposes).\n"}, "kind": 2, "label": "_get_column_array", "sortText": "359"}, {"detail": "bound method DataFrame._get_index_resolvers() -> dict[Hashable, Series | MultiIndex]", "kind": 2, "label": "_get_index_resolvers", "sortText": "360"}, {"detail": "bound method DataFrame._get_item_cache(item: Hashable) -> Series", "documentation": {"kind": "plaintext", "value": "Return the cached item, item represents a label indexer.\n"}, "kind": 2, "label": "_get_item_cache", "sortText": "361"}, {"detail": "bound method DataFrame._get_label_or_level_values(key: Hashable, axis: int = 0) -> ExtensionArray | ndarray[_AnyShape, dtype[Any]]", "documentation": {"kind": "plaintext", "value": "Return a 1-D array of values associated with `key`, a label or level\nfrom the given `axis`.\n\nRetrieval logic:\n - (axis=0): Return column values if `key` matches a column label.\n Otherwise return index level values if `key` matches an index\n level.\n - (axis=1): Return row values if `key` matches an index label.\n Otherwise return column level values if 'key' matches a column\n level\n\nParameters\n----------\nkey : Hashable\n Label or level name.\naxis : int, default 0\n Axis that levels are associated with (0 for index, 1 for columns)\n\nReturns\n-------\nnp.ndarray or ExtensionArray\n\nRaises\n------\nKeyError\n if `key` matches neither a label nor a level\nValueError\n if `key` matches multiple labels\n"}, "kind": 2, "label": "_get_label_or_level_values", "sortText": "362"}, {"detail": "bound method DataFrame._get_numeric_data() -> DataFrame", "kind": 2, "label": "_get_numeric_data", "sortText": "363"}, {"detail": "bound method DataFrame._get_value(index, col, takeable: bool = False) -> str | float | Period | ... omitted 5 union elements", "documentation": {"kind": "plaintext", "value": "Quickly retrieve single value at passed column and index.\n\nParameters\n----------\nindex : row label\ncol : column label\ntakeable : interpret the index/col as indexers, default False\n\nReturns\n-------\nscalar\n\nNotes\n-----\nAssumes that both `self.index._index_as_unique` and\n`self.columns._index_as_unique`; Caller is responsible for checking.\n"}, "kind": 2, "label": "_get_value", "sortText": "364"}, {"detail": "bound method DataFrame._get_values_for_csv(*, float_format: str | ((...) -> Unknown) | EngFormatter | None, date_format: str | None, decimal: str, na_rep: str, quoting) -> DataFrame", "kind": 2, "label": "_get_values_for_csv", "sortText": "365"}, {"detail": "bound method DataFrame._getitem_bool_array(key) -> Unknown", "kind": 2, "label": "_getitem_bool_array", "sortText": "366"}, {"detail": "bound method DataFrame._getitem_multilevel(key) -> Unknown", "kind": 2, "label": "_getitem_multilevel", "sortText": "367"}, {"detail": "bound method DataFrame._getitem_nocopy(key: list[Unknown]) -> Unknown", "documentation": {"kind": "plaintext", "value": "Behaves like __getitem__, but returns a view in cases where __getitem__\nwould make a copy.\n"}, "kind": 2, "label": "_getitem_nocopy", "sortText": "368"}, {"detail": "bound method DataFrame._getitem_slice(key: slice[Any, Any, Any]) -> DataFrame", "documentation": {"kind": "plaintext", "value": "__getitem__ for the case where the key is a slice object.\n"}, "kind": 2, "label": "_getitem_slice", "sortText": "369"}, {"detail": "bound method DataFrame._gotitem(key: Hashable | Sequence[Hashable], ndim: int, subset: DataFrame | Series | None = None) -> DataFrame | Series", "documentation": {"kind": "plaintext", "value": "Sub-classes to define. Return a sliced object.\n\nParameters\n----------\nkey : string / list of selections\nndim : {1, 2}\n requested ndim of result\nsubset : object, default None\n subset to act on\n"}, "kind": 2, "label": "_gotitem", "sortText": "370"}, {"detail": "frozenset[str]", "documentation": {"kind": "plaintext", "value": "Build an immutable unordered collection of unique elements.\n"}, "kind": 22, "label": "_hidden_attrs", "sortText": "371"}, {"detail": "bound method DataFrame._indexed_same(other) -> bool", "kind": 2, "label": "_indexed_same", "sortText": "372"}, {"detail": "Index", "documentation": {"kind": "plaintext", "value": "Immutable sequence used for indexing and alignment.\n\nThe basic object storing axis labels for all pandas objects.\n\n.. versionchanged:: 2.0.0\n\n Index can hold all numpy numeric dtypes (except float16). Previously only\n int64/uint64/float64 dtypes were accepted.\n\nParameters\n----------\ndata : array-like (1-dimensional)\ndtype : str, numpy.dtype, or ExtensionDtype, optional\n Data type for the output Index. If not specified, this will be\n inferred from `data`.\n See the :ref:`user guide ` for more usages.\ncopy : bool, default False\n Copy input data.\nname : object\n Name to be stored in the index.\ntupleize_cols : bool (default: True)\n When True, attempt to create a MultiIndex if possible.\n\nSee Also\n--------\nRangeIndex : Index implementing a monotonic integer range.\nCategoricalIndex : Index of :class:`Categorical` s.\nMultiIndex : A multi-level, or hierarchical Index.\nIntervalIndex : An Index of :class:`Interval` s.\nDatetimeIndex : Index of datetime64 data.\nTimedeltaIndex : Index of timedelta64 data.\nPeriodIndex : Index of Period data.\n\nNotes\n-----\nAn Index instance can **only** contain hashable objects.\nAn Index instance *can not* hold numpy float16 dtype.\n\nExamples\n--------\n>>> pd.Index([1, 2, 3])\nIndex([1, 2, 3], dtype='int64')\n\n>>> pd.Index(list('abc'))\nIndex(['a', 'b', 'c'], dtype='object')\n\n>>> pd.Index([1, 2, 3], dtype=\"uint8\")\nIndex([1, 2, 3], dtype='uint8')\n"}, "kind": 22, "label": "_info_axis", "sortText": "373"}, {"detail": "Literal[\"columns\", \"index\"]", "kind": 12, "label": "_info_axis_name", "sortText": "374"}, {"detail": "int", "documentation": {"kind": "plaintext", "value": "int([x]) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating-point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer\niteral.\n>>> int('0b100', base=0)\n4\n"}, "kind": 22, "label": "_info_axis_number", "sortText": "375"}, {"detail": "bound method DataFrame._info_repr() -> bool", "documentation": {"kind": "plaintext", "value": "True if the repr should show the info view.\n"}, "kind": 2, "label": "_info_repr", "sortText": "376"}, {"detail": "bound method type[DataFrame]._init_mgr(mgr: ArrayManager | SingleArrayManager | BlockManager | SingleBlockManager, axes: dict[Literal[\"index\", \"columns\"], ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | ... omitted 4 union elements], dtype: dtype[Any] | ExtensionDtype | None = None, copy: bool = False) -> ArrayManager | SingleArrayManager | BlockManager | SingleBlockManager", "documentation": {"kind": "plaintext", "value": "passed a manager and a axes dict\n"}, "kind": 2, "label": "_init_mgr", "sortText": "377"}, {"detail": "bound method DataFrame._inplace_method(other, op) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Wrap arithmetic method to operate inplace.\n"}, "kind": 2, "label": "_inplace_method", "sortText": "378"}, {"detail": "list[str]", "documentation": {"kind": "plaintext", "value": "Built-in mutable sequence.\n\nIf no argument is given, the constructor creates a new empty list.\nThe argument must be an iterable if specified.\n"}, "kind": 22, "label": "_internal_names", "sortText": "379"}, {"detail": "set[str]", "documentation": {"kind": "plaintext", "value": "Build an unordered collection of unique elements.\n"}, "kind": 22, "label": "_internal_names_set", "sortText": "380"}, {"detail": "ReferenceType[NDFrame] | str | None", "kind": 22, "label": "_is_copy", "sortText": "381"}, {"detail": "bool", "documentation": {"kind": "plaintext", "value": "Returns True when the argument is true, False otherwise.\nThe builtins True and False are the only two instances of the class bool.\nThe class bool is a subclass of the class int, and cannot be subclassed.\n"}, "kind": 22, "label": "_is_homogeneous_type", "sortText": "382"}, {"detail": "bound method DataFrame._is_label_or_level_reference(key: Hashable, axis: int = 0) -> bool", "documentation": {"kind": "plaintext", "value": "Test whether a key is a label or level reference for a given axis.\n\nTo be considered either a label or a level reference, `key` must be a\nstring that:\n - (axis=0): Matches a column label or an index level\n - (axis=1): Matches an index label or a column level\n\nParameters\n----------\nkey : Hashable\n Potential label or level name\naxis : int, default 0\n Axis that levels are associated with (0 for index, 1 for columns)\n\nReturns\n-------\nbool\n"}, "kind": 2, "label": "_is_label_or_level_reference", "sortText": "383"}, {"detail": "bound method DataFrame._is_label_reference(key: Hashable, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> bool", "documentation": {"kind": "plaintext", "value": "Test whether a key is a label reference for a given axis.\n\nTo be considered a label reference, `key` must be a string that:\n - (axis=0): Matches a column label\n - (axis=1): Matches an index label\n\nParameters\n----------\nkey : Hashable\n Potential label name, i.e. Index entry.\naxis : int, default 0\n Axis perpendicular to the axis that labels are associated with\n (0 means search for column labels, 1 means search for index labels)\n\nReturns\n-------\nis_label: bool\n"}, "kind": 2, "label": "_is_label_reference", "sortText": "384"}, {"detail": "bound method DataFrame._is_level_reference(key: Hashable, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> bool", "documentation": {"kind": "plaintext", "value": "Test whether a key is a level reference for a given axis.\n\nTo be considered a level reference, `key` must be a string that:\n - (axis=0): Matches the name of an index level and does NOT match\n a column label.\n - (axis=1): Matches the name of a column level and does NOT match\n an index label.\n\nParameters\n----------\nkey : Hashable\n Potential level name for the given axis\naxis : int, default 0\n Axis that levels are associated with (0 for index, 1 for columns)\n\nReturns\n-------\nis_level : bool\n"}, "kind": 2, "label": "_is_level_reference", "sortText": "385"}, {"detail": "bool", "documentation": {"kind": "plaintext", "value": "Returns True when the argument is true, False otherwise.\nThe builtins True and False are the only two instances of the class bool.\nThe class bool is a subclass of the class int, and cannot be subclassed.\n"}, "kind": 22, "label": "_is_mixed_type", "sortText": "386"}, {"detail": "bool", "documentation": {"kind": "plaintext", "value": "Returns True when the argument is true, False otherwise.\nThe builtins True and False are the only two instances of the class bool.\nThe class bool is a subclass of the class int, and cannot be subclassed.\n"}, "kind": 22, "label": "_is_view", "sortText": "387"}, {"detail": "bound method DataFrame._is_view_after_cow_rules() -> Unknown", "kind": 2, "label": "_is_view_after_cow_rules", "sortText": "388"}, {"detail": "bound method DataFrame._iset_item(loc: int, value: Series, inplace: bool = True) -> None", "kind": 2, "label": "_iset_item", "sortText": "389"}, {"detail": "bound method DataFrame._iset_item_mgr(loc: int | slice[Any, Any, Any] | ndarray[_AnyShape, dtype[Any]], value, inplace: bool = False, refs: BlockValuesRefs | None = None) -> None", "kind": 2, "label": "_iset_item_mgr", "sortText": "390"}, {"detail": "bound method DataFrame._iset_not_inplace(key, value) -> Unknown", "kind": 2, "label": "_iset_not_inplace", "sortText": "391"}, {"detail": "dict[Hashable, Series]", "documentation": {"kind": "plaintext", "value": "dict() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)\n"}, "kind": 22, "label": "_item_cache", "sortText": "392"}, {"detail": "bound method DataFrame._iter_column_arrays() -> Iterator[ExtensionArray | ndarray[_AnyShape, dtype[Any]]]", "documentation": {"kind": "plaintext", "value": "Iterate over the arrays of all columns in order.\nThis returns the values as stored in the Block (ndarray or ExtensionArray).\n\nWarning! The returned array is a view but doesn't handle Copy-on-Write,\nso this should be used with caution (for read-only purposes).\n"}, "kind": 2, "label": "_iter_column_arrays", "sortText": "393"}, {"detail": "bound method DataFrame._ixs(i: int, axis: int = 0) -> Series", "documentation": {"kind": "plaintext", "value": "Parameters\n----------\ni : int\naxis : int\n\nReturns\n-------\nSeries\n"}, "kind": 2, "label": "_ixs", "sortText": "394"}, {"detail": "bound method DataFrame._logical_func(name: str, func, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, bool_only: bool = False, skipna: bool = True, **kwargs) -> Series | bool", "kind": 2, "label": "_logical_func", "sortText": "395"}, {"detail": "(other, op) -> Unknown", "kind": 2, "label": "_logical_method", "sortText": "396"}, {"detail": "bound method DataFrame._maybe_align_series_as_frame(series: Series, axis: int) -> Unknown", "documentation": {"kind": "plaintext", "value": "If the Series operand is not EA-dtype, we can broadcast to 2D and operate\nblockwise.\n"}, "kind": 2, "label": "_maybe_align_series_as_frame", "sortText": "397"}, {"detail": "bound method DataFrame._maybe_cache_changed(item, value: Series, inplace: bool) -> None", "documentation": {"kind": "plaintext", "value": "The object has called back to us saying maybe it has changed.\n"}, "kind": 2, "label": "_maybe_cache_changed", "sortText": "398"}, {"detail": "bound method DataFrame._maybe_update_cacher(clear: bool = False, verify_is_copy: bool = True, inplace: bool = False) -> None", "documentation": {"kind": "plaintext", "value": "See if we need to update our parent cacher if clear, then clear our\ncache.\n\nParameters\n----------\nclear : bool, default False\n Clear the item cache.\nverify_is_copy : bool, default True\n Provide is_copy checks.\n"}, "kind": 2, "label": "_maybe_update_cacher", "sortText": "399"}, {"detail": "list[str]", "documentation": {"kind": "plaintext", "value": "Built-in mutable sequence.\n\nIf no argument is given, the constructor creates a new empty list.\nThe argument must be an iterable if specified.\n"}, "kind": 22, "label": "_metadata", "sortText": "400"}, {"detail": "BlockManager | ArrayManager", "kind": 22, "label": "_mgr", "sortText": "401"}, {"detail": "bound method DataFrame._min_count_stat_function(name: str, func, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None | _NoDefault = ..., skipna: bool = True, numeric_only: bool = False, min_count: int = 0, **kwargs) -> Unknown", "kind": 2, "label": "_min_count_stat_function", "sortText": "402"}, {"detail": "bound method DataFrame._needs_reindex_multi(axes, method, level: Hashable) -> bool", "documentation": {"kind": "plaintext", "value": "Check if we do need a multi reindex.\n"}, "kind": 2, "label": "_needs_reindex_multi", "sortText": "403"}, {"detail": "bound method DataFrame._pad_or_backfill(method: Literal[\"ffill\", \"bfill\", \"pad\", \"backfill\"], *, axis: None | int | Literal[\"index\", \"columns\", \"rows\"] = None, inplace: bool = False, limit: None | int = None, limit_area: Literal[\"inside\", \"outside\"] | None = None, downcast: dict[Unknown, Unknown] | None = None) -> Unknown", "kind": 2, "label": "_pad_or_backfill", "sortText": "404"}, {"detail": "bound method DataFrame._protect_consolidate(f) -> Unknown", "documentation": {"kind": "plaintext", "value": "Consolidate _mgr -- if the blocks have changed, then clear the\ncache\n"}, "kind": 2, "label": "_protect_consolidate", "sortText": "405"}, {"detail": "bound method DataFrame._reduce(op, name: str, *, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, skipna: bool = True, numeric_only: bool = False, filter_type=None, **kwds) -> Unknown", "kind": 2, "label": "_reduce", "sortText": "406"}, {"detail": "bound method DataFrame._reduce_axis1(name: str, func, skipna: bool) -> Series", "documentation": {"kind": "plaintext", "value": "Special case for _reduce to try to avoid a potentially-expensive transpose.\n\nApply the reduction block-wise along axis=1 and then reduce the resulting\n1D arrays.\n"}, "kind": 2, "label": "_reduce_axis1", "sortText": "407"}, {"detail": "bound method DataFrame._reindex_axes(axes, level: Hashable, limit: int | None, tolerance, method, fill_value: str | float | Period | ... omitted 6 union elements, copy: bool | None) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Perform the reindex for all the axes.\n"}, "kind": 2, "label": "_reindex_axes", "sortText": "408"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_reindex_indexer", "sortText": "409"}, {"detail": "bound method DataFrame._reindex_multi(axes: dict[str, Index], copy: bool, fill_value) -> DataFrame", "documentation": {"kind": "plaintext", "value": "We are guaranteed non-Nones in the axes.\n"}, "kind": 2, "label": "_reindex_multi", "sortText": "410"}, {"detail": "bound method DataFrame._reindex_with_indexers(reindexers, fill_value=None, copy: bool | None = False, allow_dups: bool = False) -> DataFrame", "documentation": {"kind": "plaintext", "value": "allow_dups indicates an internal call here\n"}, "kind": 2, "label": "_reindex_with_indexers", "sortText": "411"}, {"detail": "bound method DataFrame._rename(mapper: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = None, *, index: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = None, columns: Mapping[Any, Hashable] | ((Any, /) -> Hashable) | None = None, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, copy: bool | None = None, inplace: bool = False, level: Hashable = None, errors: str = \"ignore\") -> DataFrame | None", "kind": 2, "label": "_rename", "sortText": "412"}, {"detail": "bound method DataFrame._replace_columnwise(mapping: dict[Hashable, tuple[Any, Any]], inplace: bool, regex) -> Unknown", "documentation": {"kind": "plaintext", "value": "Dispatch to Series.replace column-wise.\n\nParameters\n----------\nmapping : dict\n of the form {col: (target, value)}\ninplace : bool\nregex : bool or same types as `to_replace` in DataFrame.replace\n\nReturns\n-------\nDataFrame or None\n"}, "kind": 2, "label": "_replace_columnwise", "sortText": "413"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_replace_single", "sortText": "414"}, {"detail": "bound method DataFrame._repr_data_resource_() -> Unknown", "documentation": {"kind": "plaintext", "value": "Not a real Jupyter special repr method, but we use the same\nnaming convention.\n"}, "kind": 2, "label": "_repr_data_resource_", "sortText": "415"}, {"detail": "bound method DataFrame._repr_fits_horizontal_() -> bool", "documentation": {"kind": "plaintext", "value": "Check if full repr fits in horizontal boundaries imposed by the display\noptions width and max_columns.\n"}, "kind": 2, "label": "_repr_fits_horizontal_", "sortText": "416"}, {"detail": "bound method DataFrame._repr_fits_vertical_() -> bool", "documentation": {"kind": "plaintext", "value": "Check length against max_rows.\n"}, "kind": 2, "label": "_repr_fits_vertical_", "sortText": "417"}, {"detail": "bound method DataFrame._repr_html_() -> str | None", "documentation": {"kind": "plaintext", "value": "Return a html representation for a particular DataFrame.\n\nMainly for IPython notebook.\n"}, "kind": 2, "label": "_repr_html_", "sortText": "418"}, {"detail": "bound method DataFrame._repr_latex_() -> Unknown", "documentation": {"kind": "plaintext", "value": "Returns a LaTeX representation for a particular object.\nMainly for use with nbconvert (jupyter notebook conversion to pdf).\n"}, "kind": 2, "label": "_repr_latex_", "sortText": "419"}, {"detail": "bound method DataFrame._reset_cache(key: str | None = None) -> None", "documentation": {"kind": "plaintext", "value": "Reset cached properties. If ``key`` is passed, only clears that key.\n"}, "kind": 2, "label": "_reset_cache", "sortText": "420"}, {"detail": "bound method DataFrame._reset_cacher() -> None", "kind": 2, "label": "_reset_cacher", "sortText": "421"}, {"detail": "bound method DataFrame._sanitize_column(value) -> tuple[ExtensionArray | ndarray[_AnyShape, dtype[Any]], BlockValuesRefs | None]", "documentation": {"kind": "plaintext", "value": "Ensures new columns (which go into the BlockManager as new blocks) are\nalways copied (or a reference is being tracked to them under CoW)\nand converted into an array.\n\nParameters\n----------\nvalue : scalar, Series, or array-like\n\nReturns\n-------\ntuple of numpy.ndarray or ExtensionArray and optional BlockValuesRefs\n"}, "kind": 2, "label": "_sanitize_column", "sortText": "422"}, {"detail": "Unknown", "documentation": {"kind": "plaintext", "value": "`Unknown` is a dynamic type inferred due to missing type information or an inference error.\n\nty infers `Unknown` for unannotated values with insufficient type information. It also uses it as a\nfallback after certain type errors. This contrasts with `Any`, which represents an *explicitly*\nannotated dynamic type. Like `Any`, however, it is a dynamic type, so ty allows any operation on it.\n"}, "label": "_series", "sortText": "423"}, {"detail": "bound method DataFrame._set_axis(axis: int, labels: ExtensionArray | ndarray[_AnyShape, dtype[Any]] | Index | Series | list[Unknown]) -> None", "documentation": {"kind": "plaintext", "value": "This is called from the cython code when we set the `index` attribute\ndirectly, e.g. `series.index = [1, 2, 3]`.\n"}, "kind": 2, "label": "_set_axis", "sortText": "424"}, {"detail": "bound method DataFrame._set_axis_name(name, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0, inplace: bool = False, copy: bool | None = True) -> Unknown", "documentation": {"kind": "plaintext", "value": "Set the name(s) of the axis.\n\nParameters\n----------\nname : str or list of str\n Name(s) to set.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n The axis to set the label. The value 0 or 'index' specifies index,\n and the value 1 or 'columns' specifies columns.\ninplace : bool, default False\n If `True`, do operation inplace and return None.\ncopy:\n Whether to make a copy of the result.\n\nReturns\n-------\nSeries, DataFrame, or None\n The same type as the caller or `None` if `inplace` is `True`.\n\nSee Also\n--------\nDataFrame.rename : Alter the axis labels of :class:`DataFrame`.\nSeries.rename : Alter the index labels or set the index name\n of :class:`Series`.\nIndex.rename : Set the name of :class:`Index` or :class:`MultiIndex`.\n\nExamples\n--------\n>>> df = pd.DataFrame({\"num_legs\": [4, 4, 2]},\n... [\"dog\", \"cat\", \"monkey\"])\n>>> df\n num_legs\ndog 4\ncat 4\nmonkey 2\n>>> df._set_axis_name(\"animal\")\n num_legs\nanimal\ndog 4\ncat 4\nmonkey 2\n>>> df.index = pd.MultiIndex.from_product(\n... [[\"mammal\"], ['dog', 'cat', 'monkey']])\n>>> df._set_axis_name([\"type\", \"name\"])\n num_legs\ntype name\nmammal dog 4\n cat 4\n monkey 2\n"}, "kind": 2, "label": "_set_axis_name", "sortText": "425"}, {"detail": "bound method DataFrame._set_axis_nocheck(labels, axis: int | Literal[\"index\", \"columns\", \"rows\"], inplace: bool, copy: bool | None) -> Unknown", "kind": 2, "label": "_set_axis_nocheck", "sortText": "426"}, {"detail": "bound method DataFrame._set_is_copy(ref: NDFrame, copy: bool = True) -> None", "kind": 2, "label": "_set_is_copy", "sortText": "427"}, {"detail": "bound method DataFrame._set_item(key, value) -> None", "documentation": {"kind": "plaintext", "value": "Add series to DataFrame in specified column.\n\nIf series is a numpy-array (not a Series/TimeSeries), it must be the\nsame length as the DataFrames index or an error will be thrown.\n\nSeries/TimeSeries will be conformed to the DataFrames index to\nensure homogeneity.\n"}, "kind": 2, "label": "_set_item", "sortText": "428"}, {"detail": "bound method DataFrame._set_item_frame_value(key, value: DataFrame) -> None", "kind": 2, "label": "_set_item_frame_value", "sortText": "429"}, {"detail": "bound method DataFrame._set_item_mgr(key, value: ExtensionArray | ndarray[_AnyShape, dtype[Any]], refs: BlockValuesRefs | None = None) -> None", "kind": 2, "label": "_set_item_mgr", "sortText": "430"}, {"detail": "bound method DataFrame._set_value(index: Hashable | Sequence[Hashable], col, value: str | float | Period | ... omitted 5 union elements, takeable: bool = False) -> None", "documentation": {"kind": "plaintext", "value": "Put single value at passed column and index.\n\nParameters\n----------\nindex : Label\n row label\ncol : Label\n column label\nvalue : scalar\ntakeable : bool, default False\n Sets whether or not index/col interpreted as indexers\n"}, "kind": 2, "label": "_set_value", "sortText": "431"}, {"detail": "bound method DataFrame._setitem_array(key, value) -> Unknown", "kind": 2, "label": "_setitem_array", "sortText": "432"}, {"detail": "bound method DataFrame._setitem_frame(key, value) -> Unknown", "kind": 2, "label": "_setitem_frame", "sortText": "433"}, {"detail": "bound method DataFrame._setitem_slice(key: slice[Any, Any, Any], value) -> None", "kind": 2, "label": "_setitem_slice", "sortText": "434"}, {"detail": "bound method DataFrame._shift_with_freq(periods: int, axis: int, freq) -> DataFrame", "kind": 2, "label": "_shift_with_freq", "sortText": "435"}, {"detail": "bound method DataFrame._should_reindex_frame_op(right, op, axis: int, fill_value, level) -> bool", "documentation": {"kind": "plaintext", "value": "Check if this is an operation between DataFrames that will need to reindex.\n"}, "kind": 2, "label": "_should_reindex_frame_op", "sortText": "436"}, {"detail": "bound method DataFrame._slice(slobj: slice[Any, Any, Any], axis: int = 0) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Construct a slice of this container.\n\nSlicing with this method is *always* positional.\n"}, "kind": 2, "label": "_slice", "sortText": "437"}, {"detail": "bound method DataFrame._stat_function(name: str, func, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = 0, skipna: bool = True, numeric_only: bool = False, **kwargs) -> Unknown", "kind": 2, "label": "_stat_function", "sortText": "438"}, {"detail": "bound method DataFrame._stat_function_ddof(name: str, func, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None | _NoDefault = ..., skipna: bool = True, ddof: int = 1, numeric_only: bool = False, **kwargs) -> Series | float", "kind": 2, "label": "_stat_function_ddof", "sortText": "439"}, {"detail": "bound method DataFrame._take_with_is_copy(indices, axis: int | Literal[\"index\", \"columns\", \"rows\"] = 0) -> DataFrame", "documentation": {"kind": "plaintext", "value": "Internal version of the `take` method that sets the `_is_copy`\nattribute to keep track of the parent dataframe (using in indexing\nfor the SettingWithCopyWarning).\n\nFor Series this does the same as the public take (it never sets `_is_copy`).\n\nSee the docstring of `take` for full explanation of the parameters.\n"}, "kind": 2, "label": "_take_with_is_copy", "sortText": "440"}, {"detail": "bound method DataFrame._to_dict_of_blocks() -> Unknown", "documentation": {"kind": "plaintext", "value": "Return a dict of dtype -> Constructor Types that\neach is a homogeneous dtype.\n\nInternal ONLY - only works for BlockManager\n"}, "kind": 2, "label": "_to_dict_of_blocks", "sortText": "441"}, {"detail": "bound method DataFrame._to_latex_via_styler(buf=None, *, hide: dict[Unknown, Unknown] | list[dict[Unknown, Unknown]] | None = None, relabel_index: dict[Unknown, Unknown] | list[dict[Unknown, Unknown]] | None = None, format: dict[Unknown, Unknown] | list[dict[Unknown, Unknown]] | None = None, format_index: dict[Unknown, Unknown] | list[dict[Unknown, Unknown]] | None = None, render_kwargs: dict[Unknown, Unknown] | None = None) -> Unknown", "documentation": {"kind": "plaintext", "value": "Render object to a LaTeX tabular, longtable, or nested table.\n\nUses the ``Styler`` implementation with the following, ordered, method chaining:\n\n.. code-block:: python\n styler = Styler(DataFrame)\n styler.hide(**hide)\n styler.relabel_index(**relabel_index)\n styler.format(**format)\n styler.format_index(**format_index)\n styler.to_latex(buf=buf, **render_kwargs)\n\nParameters\n----------\nbuf : str, Path or StringIO-like, optional, default None\n Buffer to write to. If None, the output is returned as a string.\nhide : dict, list of dict\n Keyword args to pass to the method call of ``Styler.hide``. If a list will\n call the method numerous times.\nrelabel_index : dict, list of dict\n Keyword args to pass to the method of ``Styler.relabel_index``. If a list\n will call the method numerous times.\nformat : dict, list of dict\n Keyword args to pass to the method call of ``Styler.format``. If a list will\n call the method numerous times.\nformat_index : dict, list of dict\n Keyword args to pass to the method call of ``Styler.format_index``. If a\n list will call the method numerous times.\nrender_kwargs : dict\n Keyword args to pass to the method call of ``Styler.to_latex``.\n\nReturns\n-------\nstr or None\n If buf is None, returns the result as a string. Otherwise returns None.\n"}, "kind": 2, "label": "_to_latex_via_styler", "sortText": "442"}, {"detail": "str", "documentation": {"kind": "plaintext", "value": "str(object='') -> str\nstr(bytes_or_buffer[, encoding[, errors]]) -> str\n\nCreate a new string object from the given object. If encoding or\nerrors is specified, then the object must expose a data buffer\nthat will be decoded using the given encoding and error handler.\nOtherwise, returns the result of object.__str__() (if defined)\nor repr(object).\nencoding defaults to 'utf-8'.\nerrors defaults to 'strict'.\n"}, "kind": 22, "label": "_typ", "sortText": "443"}, {"detail": "bound method DataFrame._update_inplace(result, verify_is_copy: bool = True) -> None", "documentation": {"kind": "plaintext", "value": "Replace self internals with result.\n\nParameters\n----------\nresult : same type as self\nverify_is_copy : bool, default True\n Provide is_copy checks.\n"}, "kind": 2, "label": "_update_inplace", "sortText": "444"}, {"detail": "bound method type[DataFrame]._validate_dtype(dtype) -> dtype[Any] | ExtensionDtype | None", "documentation": {"kind": "plaintext", "value": "validate the passed dtype\n"}, "kind": 2, "label": "_validate_dtype", "sortText": "445"}, {"detail": "ndarray[_AnyShape, dtype[Any]] | DatetimeArray | TimedeltaArray | PeriodArray", "kind": 22, "label": "_values", "sortText": "446"}, {"detail": "bound method DataFrame._where(cond, other=..., inplace: bool = False, axis: int | Literal[\"index\", \"columns\", \"rows\"] | None = None, level=None, warn: bool = True) -> Unknown", "documentation": {"kind": "plaintext", "value": "Equivalent to public method `where`, except that `other` is not\napplied as a function even if callable. Used in __setitem__.\n"}, "kind": 2, "label": "_where", "sortText": "447"}]}} {"suite": "pandas", "label": "edit dataframe then hover (edit+hover)", "method": "textDocument/hover", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py", "line": 17, "character": 20, "iteration": 1, "result": {"contents": {"kind": "plaintext", "value": "def drop(\n labels: Hashable | Sequence[Hashable] = ...,\n *,\n axis: int | Literal[\"index\", \"columns\", \"rows\"] = ...,\n index: Hashable | Sequence[Hashable] = ...,\n columns: Hashable | Sequence[Hashable] = ...,\n level: Hashable = ...,\n inplace: Literal[False] = ...,\n errors: Literal[\"ignore\", \"raise\"] = ...\n) -> DataFrame\n---------------------------------------------\nDrop specified labels from rows or columns.\n\nRemove rows or columns by specifying label names and corresponding\naxis, or by directly specifying index or column names. When using a\nmulti-index, labels on different levels can be removed by specifying\nthe level. See the :ref:`user guide `\nfor more information about the now unused levels.\n\nParameters\n----------\nlabels : single label or list-like\n Index or column labels to drop. A tuple will be used as a single\n label and not treated as a list-like.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Whether to drop labels from the index (0 or 'index') or\n columns (1 or 'columns').\nindex : single label or list-like\n Alternative to specifying axis (``labels, axis=0``\n is equivalent to ``index=labels``).\ncolumns : single label or list-like\n Alternative to specifying axis (``labels, axis=1``\n is equivalent to ``columns=labels``).\nlevel : int or level name, optional\n For MultiIndex, level from which the labels will be removed.\ninplace : bool, default False\n If False, return a copy. Otherwise, do operation\n in place and return None.\nerrors : {'ignore', 'raise'}, default 'raise'\n If 'ignore', suppress error and only existing labels are\n dropped.\n\nReturns\n-------\nDataFrame or None\n Returns DataFrame or None DataFrame with the specified\n index or column labels removed or None if inplace=True.\n\nRaises\n------\nKeyError\n If any of the labels is not found in the selected axis.\n\nSee Also\n--------\nDataFrame.loc : Label-location based indexer for selection by label.\nDataFrame.dropna : Return DataFrame with labels on given axis omitted\n where (all or any) data are missing.\nDataFrame.drop_duplicates : Return DataFrame with duplicate rows\n removed, optionally only considering certain columns.\nSeries.drop : Return Series with specified index labels removed.\n\nExamples\n--------\n>>> df = pd.DataFrame(np.arange(12).reshape(3, 4),\n... columns=['A', 'B', 'C', 'D'])\n>>> df\n A B C D\n0 0 1 2 3\n1 4 5 6 7\n2 8 9 10 11\n\nDrop columns\n\n>>> df.drop(['B', 'C'], axis=1)\n A D\n0 0 3\n1 4 7\n2 8 11\n\n>>> df.drop(columns=['B', 'C'])\n A D\n0 0 3\n1 4 7\n2 8 11\n\nDrop a row by index\n\n>>> df.drop([0, 1])\n A B C D\n2 8 9 10 11\n\nDrop columns and/or rows of MultiIndex DataFrame\n\n>>> midx = pd.MultiIndex(levels=[['llama', 'cow', 'falcon'],\n... ['speed', 'weight', 'length']],\n... codes=[[0, 0, 0, 1, 1, 1, 2, 2, 2],\n... [0, 1, 2, 0, 1, 2, 0, 1, 2]])\n>>> df = pd.DataFrame(index=midx, columns=['big', 'small'],\n... data=[[45, 30], [200, 100], [1.5, 1], [30, 20],\n... [250, 150], [1.5, 0.8], [320, 250],\n... [1, 0.8], [0.3, 0.2]])\n>>> df\n big small\nllama speed 45.0 30.0\n weight 200.0 100.0\n length 1.5 1.0\ncow speed 30.0 20.0\n weight 250.0 150.0\n length 1.5 0.8\nfalcon speed 320.0 250.0\n weight 1.0 0.8\n length 0.3 0.2\n\nDrop a specific index combination from the MultiIndex\nDataFrame, i.e., drop the combination ``'falcon'`` and\n``'weight'``, which deletes only the corresponding row\n\n>>> df.drop(index=('falcon', 'weight'))\n big small\nllama speed 45.0 30.0\n weight 200.0 100.0\n length 1.5 1.0\ncow speed 30.0 20.0\n weight 250.0 150.0\n length 1.5 0.8\nfalcon speed 320.0 250.0\n length 0.3 0.2\n\n>>> df.drop(index='cow', columns='small')\n big\nllama speed 45.0\n weight 200.0\n length 1.5\nfalcon speed 320.0\n weight 1.0\n length 0.3\n\n>>> df.drop(index='length', level=1)\n big small\nllama speed 45.0 30.0\n weight 200.0 100.0\ncow speed 30.0 20.0\n weight 250.0 150.0\nfalcon speed 320.0 250.0\n weight 1.0 0.8\n"}, "range": {"end": {"character": 20, "line": 17}, "start": {"character": 16, "line": 17}}}} {"suite": "pandas", "label": "edit dataframe then hover (edit+hover)", "method": "textDocument/hover", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py", "line": 17, "character": 20, "iteration": 2, "result": {"contents": {"kind": "plaintext", "value": "def drop(\n labels: Hashable | Sequence[Hashable] = ...,\n *,\n axis: int | Literal[\"index\", \"columns\", \"rows\"] = ...,\n index: Hashable | Sequence[Hashable] = ...,\n columns: Hashable | Sequence[Hashable] = ...,\n level: Hashable = ...,\n inplace: Literal[False] = ...,\n errors: Literal[\"ignore\", \"raise\"] = ...\n) -> DataFrame\n---------------------------------------------\nDrop specified labels from rows or columns.\n\nRemove rows or columns by specifying label names and corresponding\naxis, or by directly specifying index or column names. When using a\nmulti-index, labels on different levels can be removed by specifying\nthe level. See the :ref:`user guide `\nfor more information about the now unused levels.\n\nParameters\n----------\nlabels : single label or list-like\n Index or column labels to drop. A tuple will be used as a single\n label and not treated as a list-like.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Whether to drop labels from the index (0 or 'index') or\n columns (1 or 'columns').\nindex : single label or list-like\n Alternative to specifying axis (``labels, axis=0``\n is equivalent to ``index=labels``).\ncolumns : single label or list-like\n Alternative to specifying axis (``labels, axis=1``\n is equivalent to ``columns=labels``).\nlevel : int or level name, optional\n For MultiIndex, level from which the labels will be removed.\ninplace : bool, default False\n If False, return a copy. Otherwise, do operation\n in place and return None.\nerrors : {'ignore', 'raise'}, default 'raise'\n If 'ignore', suppress error and only existing labels are\n dropped.\n\nReturns\n-------\nDataFrame or None\n Returns DataFrame or None DataFrame with the specified\n index or column labels removed or None if inplace=True.\n\nRaises\n------\nKeyError\n If any of the labels is not found in the selected axis.\n\nSee Also\n--------\nDataFrame.loc : Label-location based indexer for selection by label.\nDataFrame.dropna : Return DataFrame with labels on given axis omitted\n where (all or any) data are missing.\nDataFrame.drop_duplicates : Return DataFrame with duplicate rows\n removed, optionally only considering certain columns.\nSeries.drop : Return Series with specified index labels removed.\n\nExamples\n--------\n>>> df = pd.DataFrame(np.arange(12).reshape(3, 4),\n... columns=['A', 'B', 'C', 'D'])\n>>> df\n A B C D\n0 0 1 2 3\n1 4 5 6 7\n2 8 9 10 11\n\nDrop columns\n\n>>> df.drop(['B', 'C'], axis=1)\n A D\n0 0 3\n1 4 7\n2 8 11\n\n>>> df.drop(columns=['B', 'C'])\n A D\n0 0 3\n1 4 7\n2 8 11\n\nDrop a row by index\n\n>>> df.drop([0, 1])\n A B C D\n2 8 9 10 11\n\nDrop columns and/or rows of MultiIndex DataFrame\n\n>>> midx = pd.MultiIndex(levels=[['llama', 'cow', 'falcon'],\n... ['speed', 'weight', 'length']],\n... codes=[[0, 0, 0, 1, 1, 1, 2, 2, 2],\n... [0, 1, 2, 0, 1, 2, 0, 1, 2]])\n>>> df = pd.DataFrame(index=midx, columns=['big', 'small'],\n... data=[[45, 30], [200, 100], [1.5, 1], [30, 20],\n... [250, 150], [1.5, 0.8], [320, 250],\n... [1, 0.8], [0.3, 0.2]])\n>>> df\n big small\nllama speed 45.0 30.0\n weight 200.0 100.0\n length 1.5 1.0\ncow speed 30.0 20.0\n weight 250.0 150.0\n length 1.5 0.8\nfalcon speed 320.0 250.0\n weight 1.0 0.8\n length 0.3 0.2\n\nDrop a specific index combination from the MultiIndex\nDataFrame, i.e., drop the combination ``'falcon'`` and\n``'weight'``, which deletes only the corresponding row\n\n>>> df.drop(index=('falcon', 'weight'))\n big small\nllama speed 45.0 30.0\n weight 200.0 100.0\n length 1.5 1.0\ncow speed 30.0 20.0\n weight 250.0 150.0\n length 1.5 0.8\nfalcon speed 320.0 250.0\n length 0.3 0.2\n\n>>> df.drop(index='cow', columns='small')\n big\nllama speed 45.0\n weight 200.0\n length 1.5\nfalcon speed 320.0\n weight 1.0\n length 0.3\n\n>>> df.drop(index='length', level=1)\n big small\nllama speed 45.0 30.0\n weight 200.0 100.0\ncow speed 30.0 20.0\n weight 250.0 150.0\nfalcon speed 320.0 250.0\n weight 1.0 0.8\n"}, "range": {"end": {"character": 20, "line": 17}, "start": {"character": 16, "line": 17}}}} {"suite": "pandas", "label": "edit dataframe then hover (edit+hover)", "method": "textDocument/hover", "file_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/src/report.py", "line": 17, "character": 20, "iteration": 3, "result": {"contents": {"kind": "plaintext", "value": "def drop(\n labels: Hashable | Sequence[Hashable] = ...,\n *,\n axis: int | Literal[\"index\", \"columns\", \"rows\"] = ...,\n index: Hashable | Sequence[Hashable] = ...,\n columns: Hashable | Sequence[Hashable] = ...,\n level: Hashable = ...,\n inplace: Literal[False] = ...,\n errors: Literal[\"ignore\", \"raise\"] = ...\n) -> DataFrame\n---------------------------------------------\nDrop specified labels from rows or columns.\n\nRemove rows or columns by specifying label names and corresponding\naxis, or by directly specifying index or column names. When using a\nmulti-index, labels on different levels can be removed by specifying\nthe level. See the :ref:`user guide `\nfor more information about the now unused levels.\n\nParameters\n----------\nlabels : single label or list-like\n Index or column labels to drop. A tuple will be used as a single\n label and not treated as a list-like.\naxis : {0 or 'index', 1 or 'columns'}, default 0\n Whether to drop labels from the index (0 or 'index') or\n columns (1 or 'columns').\nindex : single label or list-like\n Alternative to specifying axis (``labels, axis=0``\n is equivalent to ``index=labels``).\ncolumns : single label or list-like\n Alternative to specifying axis (``labels, axis=1``\n is equivalent to ``columns=labels``).\nlevel : int or level name, optional\n For MultiIndex, level from which the labels will be removed.\ninplace : bool, default False\n If False, return a copy. Otherwise, do operation\n in place and return None.\nerrors : {'ignore', 'raise'}, default 'raise'\n If 'ignore', suppress error and only existing labels are\n dropped.\n\nReturns\n-------\nDataFrame or None\n Returns DataFrame or None DataFrame with the specified\n index or column labels removed or None if inplace=True.\n\nRaises\n------\nKeyError\n If any of the labels is not found in the selected axis.\n\nSee Also\n--------\nDataFrame.loc : Label-location based indexer for selection by label.\nDataFrame.dropna : Return DataFrame with labels on given axis omitted\n where (all or any) data are missing.\nDataFrame.drop_duplicates : Return DataFrame with duplicate rows\n removed, optionally only considering certain columns.\nSeries.drop : Return Series with specified index labels removed.\n\nExamples\n--------\n>>> df = pd.DataFrame(np.arange(12).reshape(3, 4),\n... columns=['A', 'B', 'C', 'D'])\n>>> df\n A B C D\n0 0 1 2 3\n1 4 5 6 7\n2 8 9 10 11\n\nDrop columns\n\n>>> df.drop(['B', 'C'], axis=1)\n A D\n0 0 3\n1 4 7\n2 8 11\n\n>>> df.drop(columns=['B', 'C'])\n A D\n0 0 3\n1 4 7\n2 8 11\n\nDrop a row by index\n\n>>> df.drop([0, 1])\n A B C D\n2 8 9 10 11\n\nDrop columns and/or rows of MultiIndex DataFrame\n\n>>> midx = pd.MultiIndex(levels=[['llama', 'cow', 'falcon'],\n... ['speed', 'weight', 'length']],\n... codes=[[0, 0, 0, 1, 1, 1, 2, 2, 2],\n... [0, 1, 2, 0, 1, 2, 0, 1, 2]])\n>>> df = pd.DataFrame(index=midx, columns=['big', 'small'],\n... data=[[45, 30], [200, 100], [1.5, 1], [30, 20],\n... [250, 150], [1.5, 0.8], [320, 250],\n... [1, 0.8], [0.3, 0.2]])\n>>> df\n big small\nllama speed 45.0 30.0\n weight 200.0 100.0\n length 1.5 1.0\ncow speed 30.0 20.0\n weight 250.0 150.0\n length 1.5 0.8\nfalcon speed 320.0 250.0\n weight 1.0 0.8\n length 0.3 0.2\n\nDrop a specific index combination from the MultiIndex\nDataFrame, i.e., drop the combination ``'falcon'`` and\n``'weight'``, which deletes only the corresponding row\n\n>>> df.drop(index=('falcon', 'weight'))\n big small\nllama speed 45.0 30.0\n weight 200.0 100.0\n length 1.5 1.0\ncow speed 30.0 20.0\n weight 250.0 150.0\n length 1.5 0.8\nfalcon speed 320.0 250.0\n length 0.3 0.2\n\n>>> df.drop(index='cow', columns='small')\n big\nllama speed 45.0\n weight 200.0\n length 1.5\nfalcon speed 320.0\n weight 1.0\n length 0.3\n\n>>> df.drop(index='length', level=1)\n big small\nllama speed 45.0 30.0\n weight 200.0 100.0\ncow speed 30.0 20.0\n weight 250.0 150.0\nfalcon speed 320.0 250.0\n weight 1.0 0.8\n"}, "range": {"end": {"character": 20, "line": 17}, "start": {"character": 16, "line": 17}}}} diff --git a/latest-results/ty-20260921T060722Z.json b/latest-results/ty-20260922T060545Z.json similarity index 90% rename from latest-results/ty-20260921T060722Z.json rename to latest-results/ty-20260922T060545Z.json index 4bb93ad..42ceb59 100644 --- a/latest-results/ty-20260921T060722Z.json +++ b/latest-results/ty-20260922T060545Z.json @@ -1,6 +1,6 @@ { "server_command": [ - "/home/runner/work/python-lsp-compare/python-lsp-compare/.python-lsp-compare/servers/ty/0.0.82/ty-x86_64-unknown-linux-gnu/ty", + "/home/runner/work/python-lsp-compare/python-lsp-compare/.python-lsp-compare/servers/ty/0.0.83/ty-x86_64-unknown-linux-gnu/ty", "server" ], "requested_scenarios": [], @@ -12,8 +12,8 @@ "transformers", "web" ], - "started_at_unix": 1789970933.1179457, - "finished_at_unix": 1789970938.766339, + "started_at_unix": 1790057237.3548574, + "finished_at_unix": 1790057242.4522736, "scenario_reports": [], "benchmark_reports": [ { @@ -26,7 +26,7 @@ "environment_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/data_science/.venv", "python_executable": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/data_science/.venv/bin/python", "success": true, - "total_duration_ms": 548.297926999993, + "total_duration_ms": 493.6825190000036, "error_message": null, "summary": { "request_count": 32, @@ -35,11 +35,11 @@ "failure_count": 0, "bytes_sent": 18656, "bytes_received": 878182, - "min_ms": 0.2182169999969119, - "max_ms": 297.2880000000089, - "mean_ms": 16.420566968750272, - "median_ms": 1.8149610000079974, - "p95_ms": 48.943393499995075, + "min_ms": 0.20790799999304, + "max_ms": 274.19899499994926, + "mean_ms": 14.726232031256004, + "median_ms": 1.8220110000015666, + "p95_ms": 45.252164350020465, "result_summary": { "present_count": 31, "empty_count": 1, @@ -95,27 +95,27 @@ "by_method": { "textDocument/completion": { "point_count": 2, - "min_ms": 1.524469000003137, - "max_ms": 18.554177999988042, - "mean_ms": 9.024643800000831, - "median_ms": 8.826219499994181, - "p95_ms": 17.378495849992245 + "min_ms": 1.521894000006796, + "max_ms": 14.533372000016698, + "mean_ms": 7.178447300015023, + "median_ms": 6.923510000035549, + "p95_ms": 13.771420750018136 }, "textDocument/hover": { "point_count": 2, - "min_ms": 0.315096999997877, - "max_ms": 7.238362000009602, - "mean_ms": 3.47134639999922, - "median_ms": 3.28625099999158, - "p95_ms": 7.049324649999278 + "min_ms": 0.30404799997540977, + "max_ms": 5.380526000010377, + "mean_ms": 2.8403884999988804, + "median_ms": 2.8381695000234686, + "p95_ms": 5.380336549993103 }, "textDocument/definition": { "point_count": 1, - "min_ms": 0.2182169999969119, - "max_ms": 0.23227200000519588, - "mean_ms": 0.2245821999963482, - "median_ms": 0.22527899997726308, - "p95_ms": 0.23132640000653737 + "min_ms": 0.20790799999304, + "max_ms": 0.2164539999967019, + "mean_ms": 0.21170740001252852, + "median_ms": 0.21077400003832736, + "p95_ms": 0.2157348000082493 } }, "validation": { @@ -141,11 +141,11 @@ "failure_count": 0, "bytes_sent": 1425, "bytes_received": 306250, - "min_ms": 1.524469000003137, - "max_ms": 1.9206979999921714, - "mean_ms": 1.6740320000053543, - "median_ms": 1.6330210000035095, - "p95_ms": 1.8784031999985016, + "min_ms": 1.521894000006796, + "max_ms": 1.9540630000278725, + "mean_ms": 1.6749368000091636, + "median_ms": 1.6368400000033034, + "p95_ms": 1.90124220001735, "result_summary": { "present_count": 5, "empty_count": 0, @@ -205,9 +205,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 297.2880000000089, + "duration_ms": 274.19899499994926, "success": true, - "started_at_unix": 1789970933.1358798, + "started_at_unix": 1790057237.3727586, "bytes_sent": 285, "bytes_received": 61250, "request_id": 2, @@ -235,9 +235,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 1.9206979999921714, + "duration_ms": 1.9540630000278725, "success": true, - "started_at_unix": 1789970933.4342196, + "started_at_unix": 1790057237.6487615, "bytes_sent": 285, "bytes_received": 61250, "request_id": 3, @@ -265,9 +265,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 1.7092240000238235, + "duration_ms": 1.6899589999752607, "success": true, - "started_at_unix": 1789970933.4374375, + "started_at_unix": 1790057237.652049, "bytes_sent": 285, "bytes_received": 61250, "request_id": 4, @@ -295,9 +295,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 1.6330210000035095, + "duration_ms": 1.6368400000033034, "success": true, - "started_at_unix": 1789970933.4404106, + "started_at_unix": 1790057237.6550267, "bytes_sent": 285, "bytes_received": 61250, "request_id": 5, @@ -325,9 +325,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 1.5827480000041305, + "duration_ms": 1.5719280000325853, "success": true, - "started_at_unix": 1789970933.4432993, + "started_at_unix": 1790057237.6579306, "bytes_sent": 285, "bytes_received": 61250, "request_id": 6, @@ -355,9 +355,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 1.524469000003137, + "duration_ms": 1.521894000006796, "success": true, - "started_at_unix": 1789970933.4461584, + "started_at_unix": 1790057237.6607826, "bytes_sent": 285, "bytes_received": 61250, "request_id": 7, @@ -400,11 +400,11 @@ "failure_count": 0, "bytes_sent": 1269, "bytes_received": 22949, - "min_ms": 0.315096999997877, - "max_ms": 0.35141499998303516, - "mean_ms": 0.32937720000063564, - "median_ms": 0.3230810000047768, - "p95_ms": 0.348992199985787, + "min_ms": 0.30404799997540977, + "max_ms": 0.34187900001825255, + "mean_ms": 0.31926660000181073, + "median_ms": 0.31898600002477906, + "p95_ms": 0.33791160001328535, "result_summary": { "present_count": 5, "empty_count": 0, @@ -464,9 +464,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.47449300001289885, + "duration_ms": 0.4557419999855483, "success": true, - "started_at_unix": 1789970933.4490683, + "started_at_unix": 1790057237.6636736, "bytes_sent": 253, "bytes_received": 4589, "request_id": 8, @@ -494,9 +494,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.35141499998303516, + "duration_ms": 0.34187900001825255, "success": true, - "started_at_unix": 1789970933.4496143, + "started_at_unix": 1790057237.664208, "bytes_sent": 253, "bytes_received": 4589, "request_id": 9, @@ -524,9 +524,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.3230810000047768, + "duration_ms": 0.32204199999341654, "success": true, - "started_at_unix": 1789970933.450057, + "started_at_unix": 1790057237.6646752, "bytes_sent": 254, "bytes_received": 4590, "request_id": 10, @@ -554,9 +554,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.3393009999967944, + "duration_ms": 0.31898600002477906, "success": true, - "started_at_unix": 1789970933.450487, + "started_at_unix": 1790057237.665103, "bytes_sent": 254, "bytes_received": 4590, "request_id": 11, @@ -584,9 +584,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.31799200002069483, + "duration_ms": 0.30937799999719573, "success": true, - "started_at_unix": 1789970933.4509168, + "started_at_unix": 1790057237.6655097, "bytes_sent": 254, "bytes_received": 4590, "request_id": 12, @@ -614,9 +614,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.315096999997877, + "duration_ms": 0.30404799997540977, "success": true, - "started_at_unix": 1789970933.4513378, + "started_at_unix": 1790057237.665927, "bytes_sent": 254, "bytes_received": 4590, "request_id": 13, @@ -659,11 +659,11 @@ "failure_count": 0, "bytes_sent": 1300, "bytes_received": 1235, - "min_ms": 0.2182169999969119, - "max_ms": 0.23227200000519588, - "mean_ms": 0.2245821999963482, - "median_ms": 0.22527899997726308, - "p95_ms": 0.23132640000653737, + "min_ms": 0.20790799999304, + "max_ms": 0.2164539999967019, + "mean_ms": 0.21170740001252852, + "median_ms": 0.21077400003832736, + "p95_ms": 0.2157348000082493, "result_summary": { "present_count": 5, "empty_count": 0, @@ -723,9 +723,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.2383940000072471, + "duration_ms": 0.2266239999926256, "success": true, - "started_at_unix": 1789970933.4518359, + "started_at_unix": 1790057237.6663847, "bytes_sent": 260, "bytes_received": 247, "request_id": 14, @@ -753,9 +753,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.22527899997726308, + "duration_ms": 0.2128580000544389, "success": true, - "started_at_unix": 1789970933.4521127, + "started_at_unix": 1790057237.6666465, "bytes_sent": 260, "bytes_received": 247, "request_id": 15, @@ -783,9 +783,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.23227200000519588, + "duration_ms": 0.2164539999967019, "success": true, - "started_at_unix": 1789970933.4523888, + "started_at_unix": 1790057237.666905, "bytes_sent": 260, "bytes_received": 247, "request_id": 16, @@ -813,9 +813,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.22754400001190334, + "duration_ms": 0.21077400003832736, "success": true, - "started_at_unix": 1789970933.452666, + "started_at_unix": 1790057237.6671696, "bytes_sent": 260, "bytes_received": 247, "request_id": 17, @@ -843,9 +843,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.21959899999046684, + "duration_ms": 0.21054299998013448, "success": true, - "started_at_unix": 1789970933.4529374, + "started_at_unix": 1790057237.6674228, "bytes_sent": 260, "bytes_received": 247, "request_id": 18, @@ -873,9 +873,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.2182169999969119, + "duration_ms": 0.20790799999304, "success": true, - "started_at_unix": 1789970933.4531999, + "started_at_unix": 1790057237.6676736, "bytes_sent": 260, "bytes_received": 247, "request_id": 19, @@ -918,11 +918,11 @@ "failure_count": 0, "bytes_sent": 1440, "bytes_received": 397715, - "min_ms": 15.731740999996191, - "max_ms": 18.554177999988042, - "mean_ms": 16.375255599996308, - "median_ms": 15.874287000002596, - "p95_ms": 18.03165259998991, + "min_ms": 11.892957000043225, + "max_ms": 14.533372000016698, + "mean_ms": 12.681957800020882, + "median_ms": 12.174113000014586, + "p95_ms": 14.194727000017338, "result_summary": { "present_count": 5, "empty_count": 0, @@ -982,9 +982,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 86.08576800000378, + "duration_ms": 82.79735500002516, "success": true, - "started_at_unix": 1789970933.453649, + "started_at_unix": 1790057237.6680932, "bytes_sent": 288, "bytes_received": 79543, "request_id": 20, @@ -1012,9 +1012,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 18.554177999988042, + "duration_ms": 14.533372000016698, "success": true, - "started_at_unix": 1789970933.541478, + "started_at_unix": 1790057237.7522452, "bytes_sent": 288, "bytes_received": 79543, "request_id": 21, @@ -1042,9 +1042,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 15.774520999997321, + "duration_ms": 12.840147000019897, "success": true, - "started_at_unix": 1789970933.5612702, + "started_at_unix": 1790057237.7679124, "bytes_sent": 288, "bytes_received": 79543, "request_id": 22, @@ -1072,9 +1072,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 15.731740999996191, + "duration_ms": 12.174113000014586, "success": true, - "started_at_unix": 1789970933.5783825, + "started_at_unix": 1790057237.7819026, "bytes_sent": 288, "bytes_received": 79543, "request_id": 23, @@ -1102,9 +1102,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 15.94155099999739, + "duration_ms": 11.892957000043225, "success": true, - "started_at_unix": 1789970933.5955658, + "started_at_unix": 1790057237.795352, "bytes_sent": 288, "bytes_received": 79543, "request_id": 24, @@ -1132,9 +1132,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 15.874287000002596, + "duration_ms": 11.969200000010005, "success": true, - "started_at_unix": 1789970933.6128643, + "started_at_unix": 1790057237.8085191, "bytes_sent": 288, "bytes_received": 79543, "request_id": 25, @@ -1177,11 +1177,11 @@ "failure_count": 0, "bytes_sent": 1275, "bytes_received": 2295, - "min_ms": 6.221087000000125, - "max_ms": 7.238362000009602, - "mean_ms": 6.613315599997804, - "median_ms": 6.479869000003191, - "p95_ms": 7.154345400005013, + "min_ms": 5.334460000028685, + "max_ms": 5.380526000010377, + "mean_ms": 5.36151039999595, + "median_ms": 5.362501999968572, + "p95_ms": 5.3804418000027, "result_summary": { "present_count": 5, "empty_count": 0, @@ -1241,9 +1241,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 8.103341999998293, + "duration_ms": 5.691908000017065, "success": true, - "started_at_unix": 1789970933.6304011, + "started_at_unix": 1790057237.8219564, "bytes_sent": 255, "bytes_received": 459, "request_id": 26, @@ -1271,9 +1271,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 7.238362000009602, + "duration_ms": 5.362501999968572, "success": true, - "started_at_unix": 1789970933.6386385, + "started_at_unix": 1790057237.8277693, "bytes_sent": 255, "bytes_received": 459, "request_id": 27, @@ -1301,9 +1301,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 6.81827899998666, + "duration_ms": 5.380104999971991, "success": true, - "started_at_unix": 1789970933.6460478, + "started_at_unix": 1790057237.8332672, "bytes_sent": 255, "bytes_received": 459, "request_id": 28, @@ -1331,9 +1331,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 6.479869000003191, + "duration_ms": 5.380526000010377, "success": true, - "started_at_unix": 1789970933.6530266, + "started_at_unix": 1790057237.8387995, "bytes_sent": 255, "bytes_received": 459, "request_id": 29, @@ -1361,9 +1361,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 6.221087000000125, + "duration_ms": 5.349959000000126, "success": true, - "started_at_unix": 1789970933.6596367, + "started_at_unix": 1790057237.8443289, "bytes_sent": 255, "bytes_received": 459, "request_id": 30, @@ -1391,9 +1391,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 6.308980999989444, + "duration_ms": 5.334460000028685, "success": true, - "started_at_unix": 1789970933.666009, + "started_at_unix": 1790057237.8498256, "bytes_sent": 255, "bytes_received": 459, "request_id": 31, @@ -1425,9 +1425,9 @@ { "kind": "request", "method": "initialize", - "duration_ms": 3.956608999999389, + "duration_ms": 3.822544000001926, "success": true, - "started_at_unix": 1789970933.131577, + "started_at_unix": 1790057237.3686273, "bytes_sent": 673, "bytes_received": 1589, "request_id": 1, @@ -1446,9 +1446,9 @@ { "kind": "notification", "method": "initialized", - "duration_ms": 0.02028800000175579, + "duration_ms": 0.020157999983894115, "success": true, - "started_at_unix": 1789970933.1356263, + "started_at_unix": 1790057237.3725333, "bytes_sent": 74, "bytes_received": 0, "request_id": null, @@ -1461,9 +1461,9 @@ { "kind": "notification", "method": "workspace/didChangeConfiguration", - "duration_ms": 0.018474000000878732, + "duration_ms": 0.04758899996204491, "success": true, - "started_at_unix": 1789970933.1356685, + "started_at_unix": 1790057237.3726022, "bytes_sent": 659, "bytes_received": 0, "request_id": null, @@ -1479,9 +1479,9 @@ { "kind": "notification", "method": "textDocument/didOpen", - "duration_ms": 0.021470000007184353, + "duration_ms": 0.019065999993017613, "success": true, - "started_at_unix": 1789970933.1358225, + "started_at_unix": 1790057237.3727098, "bytes_sent": 492, "bytes_received": 0, "request_id": null, @@ -1497,9 +1497,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 297.2880000000089, + "duration_ms": 274.19899499994926, "success": true, - "started_at_unix": 1789970933.1358798, + "started_at_unix": 1790057237.3727586, "bytes_sent": 285, "bytes_received": 61250, "request_id": 2, @@ -1527,9 +1527,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 1.9206979999921714, + "duration_ms": 1.9540630000278725, "success": true, - "started_at_unix": 1789970933.4342196, + "started_at_unix": 1790057237.6487615, "bytes_sent": 285, "bytes_received": 61250, "request_id": 3, @@ -1557,9 +1557,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 1.7092240000238235, + "duration_ms": 1.6899589999752607, "success": true, - "started_at_unix": 1789970933.4374375, + "started_at_unix": 1790057237.652049, "bytes_sent": 285, "bytes_received": 61250, "request_id": 4, @@ -1587,9 +1587,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 1.6330210000035095, + "duration_ms": 1.6368400000033034, "success": true, - "started_at_unix": 1789970933.4404106, + "started_at_unix": 1790057237.6550267, "bytes_sent": 285, "bytes_received": 61250, "request_id": 5, @@ -1617,9 +1617,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 1.5827480000041305, + "duration_ms": 1.5719280000325853, "success": true, - "started_at_unix": 1789970933.4432993, + "started_at_unix": 1790057237.6579306, "bytes_sent": 285, "bytes_received": 61250, "request_id": 6, @@ -1647,9 +1647,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 1.524469000003137, + "duration_ms": 1.521894000006796, "success": true, - "started_at_unix": 1789970933.4461584, + "started_at_unix": 1790057237.6607826, "bytes_sent": 285, "bytes_received": 61250, "request_id": 7, @@ -1677,9 +1677,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.47449300001289885, + "duration_ms": 0.4557419999855483, "success": true, - "started_at_unix": 1789970933.4490683, + "started_at_unix": 1790057237.6636736, "bytes_sent": 253, "bytes_received": 4589, "request_id": 8, @@ -1707,9 +1707,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.35141499998303516, + "duration_ms": 0.34187900001825255, "success": true, - "started_at_unix": 1789970933.4496143, + "started_at_unix": 1790057237.664208, "bytes_sent": 253, "bytes_received": 4589, "request_id": 9, @@ -1737,9 +1737,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.3230810000047768, + "duration_ms": 0.32204199999341654, "success": true, - "started_at_unix": 1789970933.450057, + "started_at_unix": 1790057237.6646752, "bytes_sent": 254, "bytes_received": 4590, "request_id": 10, @@ -1767,9 +1767,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.3393009999967944, + "duration_ms": 0.31898600002477906, "success": true, - "started_at_unix": 1789970933.450487, + "started_at_unix": 1790057237.665103, "bytes_sent": 254, "bytes_received": 4590, "request_id": 11, @@ -1797,9 +1797,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.31799200002069483, + "duration_ms": 0.30937799999719573, "success": true, - "started_at_unix": 1789970933.4509168, + "started_at_unix": 1790057237.6655097, "bytes_sent": 254, "bytes_received": 4590, "request_id": 12, @@ -1827,9 +1827,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.315096999997877, + "duration_ms": 0.30404799997540977, "success": true, - "started_at_unix": 1789970933.4513378, + "started_at_unix": 1790057237.665927, "bytes_sent": 254, "bytes_received": 4590, "request_id": 13, @@ -1857,9 +1857,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.2383940000072471, + "duration_ms": 0.2266239999926256, "success": true, - "started_at_unix": 1789970933.4518359, + "started_at_unix": 1790057237.6663847, "bytes_sent": 260, "bytes_received": 247, "request_id": 14, @@ -1887,9 +1887,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.22527899997726308, + "duration_ms": 0.2128580000544389, "success": true, - "started_at_unix": 1789970933.4521127, + "started_at_unix": 1790057237.6666465, "bytes_sent": 260, "bytes_received": 247, "request_id": 15, @@ -1917,9 +1917,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.23227200000519588, + "duration_ms": 0.2164539999967019, "success": true, - "started_at_unix": 1789970933.4523888, + "started_at_unix": 1790057237.666905, "bytes_sent": 260, "bytes_received": 247, "request_id": 16, @@ -1947,9 +1947,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.22754400001190334, + "duration_ms": 0.21077400003832736, "success": true, - "started_at_unix": 1789970933.452666, + "started_at_unix": 1790057237.6671696, "bytes_sent": 260, "bytes_received": 247, "request_id": 17, @@ -1977,9 +1977,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.21959899999046684, + "duration_ms": 0.21054299998013448, "success": true, - "started_at_unix": 1789970933.4529374, + "started_at_unix": 1790057237.6674228, "bytes_sent": 260, "bytes_received": 247, "request_id": 18, @@ -2007,9 +2007,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.2182169999969119, + "duration_ms": 0.20790799999304, "success": true, - "started_at_unix": 1789970933.4531999, + "started_at_unix": 1790057237.6676736, "bytes_sent": 260, "bytes_received": 247, "request_id": 19, @@ -2037,9 +2037,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.029696000012791046, + "duration_ms": 0.025187000005644222, "success": true, - "started_at_unix": 1789970933.4536061, + "started_at_unix": 1790057237.668059, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -2056,9 +2056,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 86.08576800000378, + "duration_ms": 82.79735500002516, "success": true, - "started_at_unix": 1789970933.453649, + "started_at_unix": 1790057237.6680932, "bytes_sent": 288, "bytes_received": 79543, "request_id": 20, @@ -2086,9 +2086,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.043409999989307835, + "duration_ms": 0.03860200001781777, "success": true, - "started_at_unix": 1789970933.541384, + "started_at_unix": 1790057237.7521605, "bytes_sent": 332, "bytes_received": 0, "request_id": null, @@ -2105,9 +2105,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.023133000013331184, + "duration_ms": 0.022080999997342587, "success": true, - "started_at_unix": 1789970933.5414414, + "started_at_unix": 1790057237.7522123, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -2124,9 +2124,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 18.554177999988042, + "duration_ms": 14.533372000016698, "success": true, - "started_at_unix": 1789970933.541478, + "started_at_unix": 1790057237.7522452, "bytes_sent": 288, "bytes_received": 79543, "request_id": 21, @@ -2154,9 +2154,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.029936000004227026, + "duration_ms": 0.026279999985945324, "success": true, - "started_at_unix": 1789970933.561189, + "started_at_unix": 1790057237.767855, "bytes_sent": 332, "bytes_received": 0, "request_id": null, @@ -2173,9 +2173,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.024646000014172387, + "duration_ms": 0.013765000005605543, "success": true, - "started_at_unix": 1789970933.5612326, + "started_at_unix": 1790057237.7678905, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -2192,9 +2192,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 15.774520999997321, + "duration_ms": 12.840147000019897, "success": true, - "started_at_unix": 1789970933.5612702, + "started_at_unix": 1790057237.7679124, "bytes_sent": 288, "bytes_received": 79543, "request_id": 22, @@ -2222,9 +2222,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02863299999944502, + "duration_ms": 0.02790199999935794, "success": true, - "started_at_unix": 1789970933.578305, + "started_at_unix": 1790057237.781828, "bytes_sent": 332, "bytes_received": 0, "request_id": null, @@ -2241,9 +2241,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02326399999219575, + "duration_ms": 0.0240949999579243, "success": true, - "started_at_unix": 1789970933.5783472, + "started_at_unix": 1790057237.7818673, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -2260,9 +2260,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 15.731740999996191, + "duration_ms": 12.174113000014586, "success": true, - "started_at_unix": 1789970933.5783825, + "started_at_unix": 1790057237.7819026, "bytes_sent": 288, "bytes_received": 79543, "request_id": 23, @@ -2290,9 +2290,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.030938000008973177, + "duration_ms": 0.027751999994052312, "success": true, - "started_at_unix": 1789970933.5954835, + "started_at_unix": 1790057237.7952776, "bytes_sent": 332, "bytes_received": 0, "request_id": null, @@ -2309,9 +2309,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.022892999993473495, + "duration_ms": 0.024246000009497948, "success": true, - "started_at_unix": 1789970933.5955288, + "started_at_unix": 1790057237.7953167, "bytes_sent": 366, "bytes_received": 0, "request_id": null, @@ -2328,9 +2328,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 15.94155099999739, + "duration_ms": 11.892957000043225, "success": true, - "started_at_unix": 1789970933.5955658, + "started_at_unix": 1790057237.795352, "bytes_sent": 288, "bytes_received": 79543, "request_id": 24, @@ -2358,9 +2358,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.034223000000110915, + "duration_ms": 0.02673000000186221, "success": true, - "started_at_unix": 1789970933.6127756, + "started_at_unix": 1790057237.8084457, "bytes_sent": 333, "bytes_received": 0, "request_id": null, @@ -2377,9 +2377,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.023773999998866202, + "duration_ms": 0.024856999971234472, "success": true, - "started_at_unix": 1789970933.612825, + "started_at_unix": 1790057237.8084831, "bytes_sent": 366, "bytes_received": 0, "request_id": null, @@ -2396,9 +2396,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 15.874287000002596, + "duration_ms": 11.969200000010005, "success": true, - "started_at_unix": 1789970933.6128643, + "started_at_unix": 1790057237.8085191, "bytes_sent": 288, "bytes_received": 79543, "request_id": 25, @@ -2426,9 +2426,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.0432909999972253, + "duration_ms": 0.027611000007254916, "success": true, - "started_at_unix": 1789970933.630117, + "started_at_unix": 1790057237.821705, "bytes_sent": 333, "bytes_received": 0, "request_id": null, @@ -2445,9 +2445,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.031648000003769994, + "duration_ms": 0.030578000007608352, "success": true, - "started_at_unix": 1789970933.6303532, + "started_at_unix": 1790057237.8219123, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -2464,9 +2464,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 8.103341999998293, + "duration_ms": 5.691908000017065, "success": true, - "started_at_unix": 1789970933.6304011, + "started_at_unix": 1790057237.8219564, "bytes_sent": 255, "bytes_received": 459, "request_id": 26, @@ -2494,9 +2494,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.027711999990742697, + "duration_ms": 0.026098999967416603, "success": true, - "started_at_unix": 1789970933.638557, + "started_at_unix": 1790057237.8276916, "bytes_sent": 333, "bytes_received": 0, "request_id": null, @@ -2513,9 +2513,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.029775999990988566, + "duration_ms": 0.027792000025783636, "success": true, - "started_at_unix": 1789970933.638596, + "started_at_unix": 1790057237.8277278, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -2532,9 +2532,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 7.238362000009602, + "duration_ms": 5.362501999968572, "success": true, - "started_at_unix": 1789970933.6386385, + "started_at_unix": 1790057237.8277693, "bytes_sent": 255, "bytes_received": 459, "request_id": 27, @@ -2562,9 +2562,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.031237999991162724, + "duration_ms": 0.025286999971285695, "success": true, - "started_at_unix": 1789970933.6459546, + "started_at_unix": 1790057237.8331902, "bytes_sent": 333, "bytes_received": 0, "request_id": null, @@ -2581,9 +2581,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03352199999540062, + "duration_ms": 0.030917999993107514, "success": true, - "started_at_unix": 1789970933.645999, + "started_at_unix": 1790057237.833225, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -2600,9 +2600,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 6.81827899998666, + "duration_ms": 5.380104999971991, "success": true, - "started_at_unix": 1789970933.6460478, + "started_at_unix": 1790057237.8332672, "bytes_sent": 255, "bytes_received": 459, "request_id": 28, @@ -2630,9 +2630,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.028593999985560004, + "duration_ms": 0.02846299997827373, "success": true, - "started_at_unix": 1789970933.6529372, + "started_at_unix": 1790057237.8387113, "bytes_sent": 333, "bytes_received": 0, "request_id": null, @@ -2649,9 +2649,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03534500001478591, + "duration_ms": 0.032980999947085365, "success": true, - "started_at_unix": 1789970933.6529777, + "started_at_unix": 1790057237.838752, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -2668,9 +2668,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 6.479869000003191, + "duration_ms": 5.380526000010377, "success": true, - "started_at_unix": 1789970933.6530266, + "started_at_unix": 1790057237.8387995, "bytes_sent": 255, "bytes_received": 459, "request_id": 29, @@ -2698,9 +2698,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.023254000012684628, + "duration_ms": 0.027931999966313015, "success": true, - "started_at_unix": 1789970933.6595638, + "started_at_unix": 1790057237.844243, "bytes_sent": 333, "bytes_received": 0, "request_id": null, @@ -2717,9 +2717,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02838300000007621, + "duration_ms": 0.032991000011861615, "success": true, - "started_at_unix": 1789970933.6595972, + "started_at_unix": 1790057237.8442829, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -2736,9 +2736,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 6.221087000000125, + "duration_ms": 5.349959000000126, "success": true, - "started_at_unix": 1789970933.6596367, + "started_at_unix": 1790057237.8443289, "bytes_sent": 255, "bytes_received": 459, "request_id": 30, @@ -2766,9 +2766,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.027541000008568517, + "duration_ms": 0.028543999974317558, "success": true, - "started_at_unix": 1789970933.6659226, + "started_at_unix": 1790057237.8497388, "bytes_sent": 333, "bytes_received": 0, "request_id": null, @@ -2785,9 +2785,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03392399997892426, + "duration_ms": 0.03309199996692769, "success": true, - "started_at_unix": 1789970933.6659613, + "started_at_unix": 1790057237.8497784, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -2804,9 +2804,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 6.308980999989444, + "duration_ms": 5.334460000028685, "success": true, - "started_at_unix": 1789970933.666009, + "started_at_unix": 1790057237.8498256, "bytes_sent": 255, "bytes_received": 459, "request_id": 31, @@ -2834,9 +2834,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.028041999996730738, + "duration_ms": 0.02734200000986675, "success": true, - "started_at_unix": 1789970933.6723847, + "started_at_unix": 1790057237.8552206, "bytes_sent": 333, "bytes_received": 0, "request_id": null, @@ -2853,9 +2853,9 @@ { "kind": "notification", "method": "textDocument/didClose", - "duration_ms": 0.024396000014803576, + "duration_ms": 0.028994999979659042, "success": true, - "started_at_unix": 1789970933.6725242, + "started_at_unix": 1790057237.855355, "bytes_sent": 212, "bytes_received": 0, "request_id": null, @@ -2868,9 +2868,9 @@ { "kind": "request", "method": "shutdown", - "duration_ms": 3.228723999995964, + "duration_ms": 2.7993620000188457, "success": true, - "started_at_unix": 1789970933.672559, + "started_at_unix": 1790057237.8553967, "bytes_sent": 67, "bytes_received": 61, "request_id": 32, @@ -2888,9 +2888,9 @@ { "kind": "notification", "method": "exit", - "duration_ms": 0.02657999999655658, + "duration_ms": 0.02631899997140863, "success": true, - "started_at_unix": 1789970933.6758075, + "started_at_unix": 1790057237.8582144, "bytes_sent": 55, "bytes_received": 0, "request_id": null, @@ -2912,7 +2912,7 @@ "environment_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/django/.venv", "python_executable": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/django/.venv/bin/python", "success": true, - "total_duration_ms": 272.793901, + "total_duration_ms": 261.7770420000056, "error_message": null, "summary": { "request_count": 32, @@ -2921,11 +2921,11 @@ "failure_count": 0, "bytes_sent": 18652, "bytes_received": 617974, - "min_ms": 0.1934899999866957, - "max_ms": 140.34554899998852, - "mean_ms": 7.60960809375355, - "median_ms": 3.1981670000078566, - "p95_ms": 15.180199349994428, + "min_ms": 0.17222200000333032, + "max_ms": 135.88420899998255, + "mean_ms": 7.283853749997959, + "median_ms": 3.0744554999841966, + "p95_ms": 14.195800599998154, "result_summary": { "present_count": 31, "empty_count": 1, @@ -2981,27 +2981,27 @@ "by_method": { "textDocument/completion": { "point_count": 2, - "min_ms": 4.341906999997036, - "max_ms": 8.158245000004172, - "mean_ms": 5.041072200003782, - "median_ms": 4.656818499995552, - "p95_ms": 7.0173136500059705 + "min_ms": 3.7557190000256924, + "max_ms": 7.1654019999982665, + "mean_ms": 4.578749500001322, + "median_ms": 4.399275999986685, + "p95_ms": 6.16683984998758 }, "textDocument/hover": { "point_count": 2, - "min_ms": 0.22020000000111395, - "max_ms": 3.2903379999993376, - "mean_ms": 1.7145776000063506, - "median_ms": 1.6841715000168733, - "p95_ms": 3.249311949998912 + "min_ms": 0.19610700002203885, + "max_ms": 4.124809000018104, + "mean_ms": 1.7418071999884432, + "median_ms": 1.6315344999782155, + "p95_ms": 3.655297000000245 }, "textDocument/definition": { "point_count": 1, - "min_ms": 0.1934899999866957, - "max_ms": 0.20486200000391364, - "mean_ms": 0.19840780000208724, - "median_ms": 0.19785900002489143, - "p95_ms": 0.20390820000102394 + "min_ms": 0.17222200000333032, + "max_ms": 0.20055499999216408, + "mean_ms": 0.18328639999936058, + "median_ms": 0.176609999982702, + "p95_ms": 0.19877959999803352 } }, "validation": { @@ -3027,11 +3027,11 @@ "failure_count": 0, "bytes_sent": 1385, "bytes_received": 379490, - "min_ms": 4.341906999997036, - "max_ms": 8.158245000004172, - "mean_ms": 5.217117000000826, - "median_ms": 4.517254000006687, - "p95_ms": 7.459327200001552, + "min_ms": 3.7557190000256924, + "max_ms": 7.1654019999982665, + "mean_ms": 4.586584000014682, + "median_ms": 3.919986000028075, + "p95_ms": 6.572862600000917, "result_summary": { "present_count": 5, "empty_count": 0, @@ -3091,9 +3091,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 140.34554899998852, + "duration_ms": 135.88420899998255, "success": true, - "started_at_unix": 1789970933.6982512, + "started_at_unix": 1790057237.8798313, "bytes_sent": 277, "bytes_received": 75898, "request_id": 2, @@ -3121,9 +3121,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 8.158245000004172, + "duration_ms": 7.1654019999982665, "success": true, - "started_at_unix": 1789970933.840357, + "started_at_unix": 1790057238.017457, "bytes_sent": 277, "bytes_received": 75898, "request_id": 3, @@ -3151,9 +3151,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.404523000005156, + "duration_ms": 4.20270500001152, "success": true, - "started_at_unix": 1789970933.8511732, + "started_at_unix": 1790057238.0270925, "bytes_sent": 277, "bytes_received": 75898, "request_id": 4, @@ -3181,9 +3181,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.517254000006687, + "duration_ms": 3.8891080000098555, "success": true, - "started_at_unix": 1789970933.858158, + "started_at_unix": 1790057238.033761, "bytes_sent": 277, "bytes_received": 75898, "request_id": 5, @@ -3211,9 +3211,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.663655999991079, + "duration_ms": 3.919986000028075, "success": true, - "started_at_unix": 1789970933.8652806, + "started_at_unix": 1790057238.040085, "bytes_sent": 277, "bytes_received": 75898, "request_id": 6, @@ -3241,9 +3241,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.341906999997036, + "duration_ms": 3.7557190000256924, "success": true, - "started_at_unix": 1789970933.872446, + "started_at_unix": 1790057238.0464587, "bytes_sent": 277, "bytes_received": 75898, "request_id": 7, @@ -3286,11 +3286,11 @@ "failure_count": 0, "bytes_sent": 1224, "bytes_received": 1129, - "min_ms": 0.22020000000111395, - "max_ms": 0.24922400001514688, - "mean_ms": 0.23280980000777163, - "median_ms": 0.23229300001048614, - "p95_ms": 0.24732260001201212, + "min_ms": 0.19610700002203885, + "max_ms": 0.22779599999012135, + "mean_ms": 0.21202619998348382, + "median_ms": 0.21330799995666894, + "p95_ms": 0.22626899998385852, "result_summary": { "present_count": 5, "empty_count": 0, @@ -3350,9 +3350,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.4486950000170964, + "duration_ms": 0.39723300000105155, "success": true, - "started_at_unix": 1789970933.879402, + "started_at_unix": 1790057238.0527499, "bytes_sent": 244, "bytes_received": 225, "request_id": 8, @@ -3380,9 +3380,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.24922400001514688, + "duration_ms": 0.22016099995880722, "success": true, - "started_at_unix": 1789970933.879896, + "started_at_unix": 1790057238.0531886, "bytes_sent": 244, "bytes_received": 225, "request_id": 9, @@ -3410,9 +3410,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.23229300001048614, + "duration_ms": 0.21330799995666894, "success": true, - "started_at_unix": 1789970933.8801975, + "started_at_unix": 1790057238.0534577, "bytes_sent": 245, "bytes_received": 226, "request_id": 10, @@ -3440,9 +3440,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.23971699999947305, + "duration_ms": 0.22779599999012135, "success": true, - "started_at_unix": 1789970933.8804796, + "started_at_unix": 1790057238.053718, "bytes_sent": 245, "bytes_received": 226, "request_id": 11, @@ -3470,9 +3470,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.22261500001263812, + "duration_ms": 0.19610700002203885, "success": true, - "started_at_unix": 1789970933.8807657, + "started_at_unix": 1790057238.0539963, "bytes_sent": 245, "bytes_received": 226, "request_id": 12, @@ -3500,9 +3500,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.22020000000111395, + "duration_ms": 0.20275899998978275, "success": true, - "started_at_unix": 1789970933.8810332, + "started_at_unix": 1790057238.0542357, "bytes_sent": 245, "bytes_received": 226, "request_id": 13, @@ -3545,11 +3545,11 @@ "failure_count": 0, "bytes_sent": 1250, "bytes_received": 1185, - "min_ms": 0.1934899999866957, - "max_ms": 0.20486200000391364, - "mean_ms": 0.19840780000208724, - "median_ms": 0.19785900002489143, - "p95_ms": 0.20390820000102394, + "min_ms": 0.17222200000333032, + "max_ms": 0.20055499999216408, + "mean_ms": 0.18328639999936058, + "median_ms": 0.176609999982702, + "p95_ms": 0.19877959999803352, "result_summary": { "present_count": 5, "empty_count": 0, @@ -3609,9 +3609,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.20563200001788573, + "duration_ms": 0.21157600002652543, "success": true, - "started_at_unix": 1789970933.881373, + "started_at_unix": 1790057238.0545516, "bytes_sent": 250, "bytes_received": 237, "request_id": 14, @@ -3639,9 +3639,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.20486200000391364, + "duration_ms": 0.20055499999216408, "success": true, - "started_at_unix": 1789970933.881616, + "started_at_unix": 1790057238.0547988, "bytes_sent": 250, "bytes_received": 237, "request_id": 15, @@ -3669,9 +3669,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.19573500000547028, + "duration_ms": 0.17222200000333032, "success": true, - "started_at_unix": 1789970933.8818653, + "started_at_unix": 1790057238.0550468, "bytes_sent": 250, "bytes_received": 237, "request_id": 16, @@ -3699,9 +3699,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.19785900002489143, + "duration_ms": 0.176609999982702, "success": true, - "started_at_unix": 1789970933.8821044, + "started_at_unix": 1790057238.0552626, "bytes_sent": 250, "bytes_received": 237, "request_id": 17, @@ -3729,9 +3729,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.1934899999866957, + "duration_ms": 0.17536699999709526, "success": true, - "started_at_unix": 1789970933.8823464, + "started_at_unix": 1790057238.055482, "bytes_sent": 250, "bytes_received": 237, "request_id": 18, @@ -3759,9 +3759,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.20009299998946517, + "duration_ms": 0.19167800002151125, "success": true, - "started_at_unix": 1789970933.882584, + "started_at_unix": 1790057238.0556986, "bytes_sent": 250, "bytes_received": 237, "request_id": 19, @@ -3804,11 +3804,11 @@ "failure_count": 0, "bytes_sent": 1390, "bytes_received": 130400, - "min_ms": 4.595539999996845, - "max_ms": 5.622842000008177, - "mean_ms": 4.865027400006738, - "median_ms": 4.67015800001036, - "p95_ms": 5.455596800010198, + "min_ms": 4.394671000000017, + "max_ms": 4.946374999974523, + "mean_ms": 4.570914999987963, + "median_ms": 4.4975559999898, + "p95_ms": 4.879518399980043, "result_summary": { "present_count": 5, "empty_count": 0, @@ -3868,9 +3868,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 23.762587999982543, + "duration_ms": 22.78850999999804, "success": true, - "started_at_unix": 1789970933.8830042, + "started_at_unix": 1790057238.0561047, "bytes_sent": 278, "bytes_received": 26080, "request_id": 20, @@ -3898,9 +3898,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 5.622842000008177, + "duration_ms": 4.946374999974523, "success": true, - "started_at_unix": 1789970933.907369, + "started_at_unix": 1790057238.0793667, "bytes_sent": 278, "bytes_received": 26080, "request_id": 21, @@ -3928,9 +3928,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.7866160000182845, + "duration_ms": 4.6120920000021215, "success": true, - "started_at_unix": 1789970933.9136379, + "started_at_unix": 1790057238.0849981, "bytes_sent": 278, "bytes_received": 26080, "request_id": 22, @@ -3958,9 +3958,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.649981000000025, + "duration_ms": 4.4975559999898, "success": true, - "started_at_unix": 1789970933.9190927, + "started_at_unix": 1790057238.0903885, "bytes_sent": 278, "bytes_received": 26080, "request_id": 23, @@ -3988,9 +3988,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.67015800001036, + "duration_ms": 4.403880999973353, "success": true, - "started_at_unix": 1789970933.9244678, + "started_at_unix": 1790057238.095627, "bytes_sent": 278, "bytes_received": 26080, "request_id": 24, @@ -4018,9 +4018,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.595539999996845, + "duration_ms": 4.394671000000017, "success": true, - "started_at_unix": 1789970933.9298036, + "started_at_unix": 1790057238.100783, "bytes_sent": 278, "bytes_received": 26080, "request_id": 25, @@ -4063,11 +4063,11 @@ "failure_count": 0, "bytes_sent": 1225, "bytes_received": 1400, - "min_ms": 3.1191190000185998, - "max_ms": 3.2903379999993376, - "mean_ms": 3.1963454000049296, - "median_ms": 3.1971650000173213, - "p95_ms": 3.2721041999991485, + "min_ms": 3.0352729999663097, + "max_ms": 4.124809000018104, + "mean_ms": 3.2715881999934027, + "median_ms": 3.0674619999899733, + "p95_ms": 3.9161370000101665, "result_summary": { "present_count": 5, "empty_count": 0, @@ -4127,9 +4127,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 3.8959260000126505, + "duration_ms": 3.689979000000676, "success": true, - "started_at_unix": 1789970933.9353087, + "started_at_unix": 1790057238.1060464, "bytes_sent": 245, "bytes_received": 280, "request_id": 26, @@ -4157,9 +4157,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 3.2903379999993376, + "duration_ms": 3.08144899997842, "success": true, - "started_at_unix": 1789970933.9393237, + "started_at_unix": 1790057238.109857, "bytes_sent": 245, "bytes_received": 280, "request_id": 27, @@ -4187,9 +4187,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 3.1971650000173213, + "duration_ms": 3.0674619999899733, "success": true, - "started_at_unix": 1789970933.942739, + "started_at_unix": 1790057238.1130629, "bytes_sent": 245, "bytes_received": 280, "request_id": 28, @@ -4217,9 +4217,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 3.1759359999909975, + "duration_ms": 3.0352729999663097, "success": true, - "started_at_unix": 1789970933.9460871, + "started_at_unix": 1790057238.1162486, "bytes_sent": 245, "bytes_received": 280, "request_id": 29, @@ -4247,9 +4247,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 3.1191190000185998, + "duration_ms": 4.124809000018104, "success": true, - "started_at_unix": 1789970933.949404, + "started_at_unix": 1790057238.1193984, "bytes_sent": 245, "bytes_received": 280, "request_id": 30, @@ -4277,9 +4277,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 3.199168999998392, + "duration_ms": 3.0489480000142066, "success": true, - "started_at_unix": 1789970933.9526398, + "started_at_unix": 1790057238.1236954, "bytes_sent": 245, "bytes_received": 280, "request_id": 31, @@ -4311,9 +4311,9 @@ { "kind": "request", "method": "initialize", - "duration_ms": 4.236921000000393, + "duration_ms": 3.907763000029263, "success": true, - "started_at_unix": 1789970933.6937099, + "started_at_unix": 1790057237.875559, "bytes_sent": 655, "bytes_received": 1589, "request_id": 1, @@ -4332,9 +4332,9 @@ { "kind": "notification", "method": "initialized", - "duration_ms": 0.020969000019022133, + "duration_ms": 0.049542999988716474, "success": true, - "started_at_unix": 1789970933.6980386, + "started_at_unix": 1790057237.879552, "bytes_sent": 74, "bytes_received": 0, "request_id": null, @@ -4347,9 +4347,9 @@ { "kind": "notification", "method": "workspace/didChangeConfiguration", - "duration_ms": 0.01770299999748204, + "duration_ms": 0.038040999982058565, "success": true, - "started_at_unix": 1789970933.6980815, + "started_at_unix": 1790057237.8796365, "bytes_sent": 635, "bytes_received": 0, "request_id": null, @@ -4365,9 +4365,9 @@ { "kind": "notification", "method": "textDocument/didOpen", - "duration_ms": 0.021239000005834896, + "duration_ms": 0.02252199999475124, "success": true, - "started_at_unix": 1789970933.6981928, + "started_at_unix": 1790057237.8797731, "bytes_sent": 858, "bytes_received": 0, "request_id": null, @@ -4383,9 +4383,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 140.34554899998852, + "duration_ms": 135.88420899998255, "success": true, - "started_at_unix": 1789970933.6982512, + "started_at_unix": 1790057237.8798313, "bytes_sent": 277, "bytes_received": 75898, "request_id": 2, @@ -4413,9 +4413,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 8.158245000004172, + "duration_ms": 7.1654019999982665, "success": true, - "started_at_unix": 1789970933.840357, + "started_at_unix": 1790057238.017457, "bytes_sent": 277, "bytes_received": 75898, "request_id": 3, @@ -4443,9 +4443,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.404523000005156, + "duration_ms": 4.20270500001152, "success": true, - "started_at_unix": 1789970933.8511732, + "started_at_unix": 1790057238.0270925, "bytes_sent": 277, "bytes_received": 75898, "request_id": 4, @@ -4473,9 +4473,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.517254000006687, + "duration_ms": 3.8891080000098555, "success": true, - "started_at_unix": 1789970933.858158, + "started_at_unix": 1790057238.033761, "bytes_sent": 277, "bytes_received": 75898, "request_id": 5, @@ -4503,9 +4503,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.663655999991079, + "duration_ms": 3.919986000028075, "success": true, - "started_at_unix": 1789970933.8652806, + "started_at_unix": 1790057238.040085, "bytes_sent": 277, "bytes_received": 75898, "request_id": 6, @@ -4533,9 +4533,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.341906999997036, + "duration_ms": 3.7557190000256924, "success": true, - "started_at_unix": 1789970933.872446, + "started_at_unix": 1790057238.0464587, "bytes_sent": 277, "bytes_received": 75898, "request_id": 7, @@ -4563,9 +4563,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.4486950000170964, + "duration_ms": 0.39723300000105155, "success": true, - "started_at_unix": 1789970933.879402, + "started_at_unix": 1790057238.0527499, "bytes_sent": 244, "bytes_received": 225, "request_id": 8, @@ -4593,9 +4593,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.24922400001514688, + "duration_ms": 0.22016099995880722, "success": true, - "started_at_unix": 1789970933.879896, + "started_at_unix": 1790057238.0531886, "bytes_sent": 244, "bytes_received": 225, "request_id": 9, @@ -4623,9 +4623,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.23229300001048614, + "duration_ms": 0.21330799995666894, "success": true, - "started_at_unix": 1789970933.8801975, + "started_at_unix": 1790057238.0534577, "bytes_sent": 245, "bytes_received": 226, "request_id": 10, @@ -4653,9 +4653,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.23971699999947305, + "duration_ms": 0.22779599999012135, "success": true, - "started_at_unix": 1789970933.8804796, + "started_at_unix": 1790057238.053718, "bytes_sent": 245, "bytes_received": 226, "request_id": 11, @@ -4683,9 +4683,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.22261500001263812, + "duration_ms": 0.19610700002203885, "success": true, - "started_at_unix": 1789970933.8807657, + "started_at_unix": 1790057238.0539963, "bytes_sent": 245, "bytes_received": 226, "request_id": 12, @@ -4713,9 +4713,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.22020000000111395, + "duration_ms": 0.20275899998978275, "success": true, - "started_at_unix": 1789970933.8810332, + "started_at_unix": 1790057238.0542357, "bytes_sent": 245, "bytes_received": 226, "request_id": 13, @@ -4743,9 +4743,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.20563200001788573, + "duration_ms": 0.21157600002652543, "success": true, - "started_at_unix": 1789970933.881373, + "started_at_unix": 1790057238.0545516, "bytes_sent": 250, "bytes_received": 237, "request_id": 14, @@ -4773,9 +4773,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.20486200000391364, + "duration_ms": 0.20055499999216408, "success": true, - "started_at_unix": 1789970933.881616, + "started_at_unix": 1790057238.0547988, "bytes_sent": 250, "bytes_received": 237, "request_id": 15, @@ -4803,9 +4803,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.19573500000547028, + "duration_ms": 0.17222200000333032, "success": true, - "started_at_unix": 1789970933.8818653, + "started_at_unix": 1790057238.0550468, "bytes_sent": 250, "bytes_received": 237, "request_id": 16, @@ -4833,9 +4833,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.19785900002489143, + "duration_ms": 0.176609999982702, "success": true, - "started_at_unix": 1789970933.8821044, + "started_at_unix": 1790057238.0552626, "bytes_sent": 250, "bytes_received": 237, "request_id": 17, @@ -4863,9 +4863,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.1934899999866957, + "duration_ms": 0.17536699999709526, "success": true, - "started_at_unix": 1789970933.8823464, + "started_at_unix": 1790057238.055482, "bytes_sent": 250, "bytes_received": 237, "request_id": 18, @@ -4893,9 +4893,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.20009299998946517, + "duration_ms": 0.19167800002151125, "success": true, - "started_at_unix": 1789970933.882584, + "started_at_unix": 1790057238.0556986, "bytes_sent": 250, "bytes_received": 237, "request_id": 19, @@ -4923,9 +4923,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.025848000007044902, + "duration_ms": 0.025308000033419376, "success": true, - "started_at_unix": 1789970933.882969, + "started_at_unix": 1790057238.05607, "bytes_sent": 372, "bytes_received": 0, "request_id": null, @@ -4942,9 +4942,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 23.762587999982543, + "duration_ms": 22.78850999999804, "success": true, - "started_at_unix": 1789970933.8830042, + "started_at_unix": 1790057238.0561047, "bytes_sent": 278, "bytes_received": 26080, "request_id": 20, @@ -4972,9 +4972,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.027450999994016456, + "duration_ms": 0.02692000003889916, "success": true, - "started_at_unix": 1789970933.9073102, + "started_at_unix": 1790057238.0792968, "bytes_sent": 322, "bytes_received": 0, "request_id": null, @@ -4991,9 +4991,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.01373499998180705, + "duration_ms": 0.02178099998673133, "success": true, - "started_at_unix": 1789970933.9073474, + "started_at_unix": 1790057238.079333, "bytes_sent": 372, "bytes_received": 0, "request_id": null, @@ -5010,9 +5010,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 5.622842000008177, + "duration_ms": 4.946374999974523, "success": true, - "started_at_unix": 1789970933.907369, + "started_at_unix": 1790057238.0793667, "bytes_sent": 278, "bytes_received": 26080, "request_id": 21, @@ -5040,9 +5040,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.024284999994961254, + "duration_ms": 0.023733999967134878, "success": true, - "started_at_unix": 1789970933.9135828, + "started_at_unix": 1790057238.0849254, "bytes_sent": 322, "bytes_received": 0, "request_id": null, @@ -5059,9 +5059,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.01332499999762149, + "duration_ms": 0.026919999982055742, "success": true, - "started_at_unix": 1789970933.9136164, + "started_at_unix": 1790057238.0849578, "bytes_sent": 372, "bytes_received": 0, "request_id": null, @@ -5078,9 +5078,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.7866160000182845, + "duration_ms": 4.6120920000021215, "success": true, - "started_at_unix": 1789970933.9136379, + "started_at_unix": 1790057238.0849981, "bytes_sent": 278, "bytes_received": 26080, "request_id": 22, @@ -5108,9 +5108,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02631899999983034, + "duration_ms": 0.028623000048355607, "success": true, - "started_at_unix": 1789970933.9190173, + "started_at_unix": 1790057238.0903037, "bytes_sent": 322, "bytes_received": 0, "request_id": null, @@ -5127,9 +5127,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.024956999993719364, + "duration_ms": 0.03055700000231809, "success": true, - "started_at_unix": 1789970933.9190557, + "started_at_unix": 1790057238.0903444, "bytes_sent": 372, "bytes_received": 0, "request_id": null, @@ -5146,9 +5146,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.649981000000025, + "duration_ms": 4.4975559999898, "success": true, - "started_at_unix": 1789970933.9190927, + "started_at_unix": 1790057238.0903885, "bytes_sent": 278, "bytes_received": 26080, "request_id": 23, @@ -5176,9 +5176,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.026439000009759184, + "duration_ms": 0.026939999997921404, "success": true, - "started_at_unix": 1789970933.9243937, + "started_at_unix": 1790057238.0955138, "bytes_sent": 322, "bytes_received": 0, "request_id": null, @@ -5195,9 +5195,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.024616000018795603, + "duration_ms": 0.06145499997955994, "success": true, - "started_at_unix": 1789970933.9244318, + "started_at_unix": 1790057238.0955513, "bytes_sent": 373, "bytes_received": 0, "request_id": null, @@ -5214,9 +5214,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.67015800001036, + "duration_ms": 4.403880999973353, "success": true, - "started_at_unix": 1789970933.9244678, + "started_at_unix": 1790057238.095627, "bytes_sent": 278, "bytes_received": 26080, "request_id": 24, @@ -5244,9 +5244,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02756099999601247, + "duration_ms": 0.030076000030021532, "success": true, - "started_at_unix": 1789970933.9296951, + "started_at_unix": 1790057238.1007025, "bytes_sent": 323, "bytes_received": 0, "request_id": null, @@ -5263,9 +5263,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.05552300001454569, + "duration_ms": 0.026390000016363047, "success": true, - "started_at_unix": 1789970933.9297335, + "started_at_unix": 1790057238.1007442, "bytes_sent": 373, "bytes_received": 0, "request_id": null, @@ -5282,9 +5282,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.595539999996845, + "duration_ms": 4.394671000000017, "success": true, - "started_at_unix": 1789970933.9298036, + "started_at_unix": 1790057238.100783, "bytes_sent": 278, "bytes_received": 26080, "request_id": 25, @@ -5312,9 +5312,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.026007999991861652, + "duration_ms": 0.02350399995521002, "success": true, - "started_at_unix": 1789970933.9350584, + "started_at_unix": 1790057238.1057673, "bytes_sent": 323, "bytes_received": 0, "request_id": null, @@ -5331,9 +5331,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.030336000008901465, + "duration_ms": 0.037279999958172994, "success": true, - "started_at_unix": 1789970933.9352643, + "started_at_unix": 1790057238.105996, "bytes_sent": 372, "bytes_received": 0, "request_id": null, @@ -5350,9 +5350,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 3.8959260000126505, + "duration_ms": 3.689979000000676, "success": true, - "started_at_unix": 1789970933.9353087, + "started_at_unix": 1790057238.1060464, "bytes_sent": 245, "bytes_received": 280, "request_id": 26, @@ -5380,9 +5380,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.028603000004068235, + "duration_ms": 0.028011999972932244, "success": true, - "started_at_unix": 1789970933.939246, + "started_at_unix": 1790057238.1097794, "bytes_sent": 323, "bytes_received": 0, "request_id": null, @@ -5399,9 +5399,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.025227000008953837, + "duration_ms": 0.02650999999787018, "success": true, - "started_at_unix": 1789970933.9392853, + "started_at_unix": 1790057238.1098182, "bytes_sent": 372, "bytes_received": 0, "request_id": null, @@ -5418,9 +5418,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 3.2903379999993376, + "duration_ms": 3.08144899997842, "success": true, - "started_at_unix": 1789970933.9393237, + "started_at_unix": 1790057238.109857, "bytes_sent": 245, "bytes_received": 280, "request_id": 27, @@ -5448,9 +5448,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.023873999992929384, + "duration_ms": 0.023904999977730768, "success": true, - "started_at_unix": 1789970933.9426658, + "started_at_unix": 1790057238.1129882, "bytes_sent": 323, "bytes_received": 0, "request_id": null, @@ -5467,9 +5467,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.028012000001353954, + "duration_ms": 0.028673999963757524, "success": true, - "started_at_unix": 1789970933.9426994, + "started_at_unix": 1790057238.1130219, "bytes_sent": 372, "bytes_received": 0, "request_id": null, @@ -5486,9 +5486,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 3.1971650000173213, + "duration_ms": 3.0674619999899733, "success": true, - "started_at_unix": 1789970933.942739, + "started_at_unix": 1790057238.1130629, "bytes_sent": 245, "bytes_received": 280, "request_id": 28, @@ -5516,9 +5516,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.029023999985611226, + "duration_ms": 0.023153000029196846, "success": true, - "started_at_unix": 1789970933.945994, + "started_at_unix": 1790057238.1161768, "bytes_sent": 323, "bytes_received": 0, "request_id": null, @@ -5535,9 +5535,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03735999999321393, + "duration_ms": 0.028063000002021, "success": true, - "started_at_unix": 1789970933.9460363, + "started_at_unix": 1790057238.1162095, "bytes_sent": 372, "bytes_received": 0, "request_id": null, @@ -5554,9 +5554,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 3.1759359999909975, + "duration_ms": 3.0352729999663097, "success": true, - "started_at_unix": 1789970933.9460871, + "started_at_unix": 1790057238.1162486, "bytes_sent": 245, "bytes_received": 280, "request_id": 29, @@ -5584,9 +5584,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02747099998146041, + "duration_ms": 0.022001000047566777, "success": true, - "started_at_unix": 1789970933.9493194, + "started_at_unix": 1790057238.1193283, "bytes_sent": 323, "bytes_received": 0, "request_id": null, @@ -5603,9 +5603,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.031909999989920834, + "duration_ms": 0.028111999995417136, "success": true, - "started_at_unix": 1789970933.9493582, + "started_at_unix": 1790057238.1193593, "bytes_sent": 372, "bytes_received": 0, "request_id": null, @@ -5622,9 +5622,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 3.1191190000185998, + "duration_ms": 4.124809000018104, "success": true, - "started_at_unix": 1789970933.949404, + "started_at_unix": 1790057238.1193984, "bytes_sent": 245, "bytes_received": 280, "request_id": 30, @@ -5652,9 +5652,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02159999999662432, + "duration_ms": 0.051365999979680055, "success": true, - "started_at_unix": 1789970933.95257, + "started_at_unix": 1790057238.1235878, "bytes_sent": 323, "bytes_received": 0, "request_id": null, @@ -5671,9 +5671,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02831300000138981, + "duration_ms": 0.03251999999065447, "success": true, - "started_at_unix": 1789970933.9526002, + "started_at_unix": 1790057238.1236508, "bytes_sent": 372, "bytes_received": 0, "request_id": null, @@ -5690,9 +5690,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 3.199168999998392, + "duration_ms": 3.0489480000142066, "success": true, - "started_at_unix": 1789970933.9526398, + "started_at_unix": 1790057238.1236954, "bytes_sent": 245, "bytes_received": 280, "request_id": 31, @@ -5720,9 +5720,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.022983000008025556, + "duration_ms": 0.023974999976417166, "success": true, - "started_at_unix": 1789970933.955887, + "started_at_unix": 1790057238.1267927, "bytes_sent": 323, "bytes_received": 0, "request_id": null, @@ -5739,9 +5739,9 @@ { "kind": "notification", "method": "textDocument/didClose", - "duration_ms": 0.02376500000877968, + "duration_ms": 0.02457599998706428, "success": true, - "started_at_unix": 1789970933.9560108, + "started_at_unix": 1790057238.1269095, "bytes_sent": 202, "bytes_received": 0, "request_id": null, @@ -5754,9 +5754,9 @@ { "kind": "request", "method": "shutdown", - "duration_ms": 2.0636109999827568, + "duration_ms": 2.0820510000021386, "success": true, - "started_at_unix": 1789970933.9560783, + "started_at_unix": 1790057238.1269715, "bytes_sent": 67, "bytes_received": 61, "request_id": 32, @@ -5774,9 +5774,9 @@ { "kind": "notification", "method": "exit", - "duration_ms": 0.02774199998611948, + "duration_ms": 0.02657900000713198, "success": true, - "started_at_unix": 1789970933.9581647, + "started_at_unix": 1790057238.129074, "bytes_sent": 55, "bytes_received": 0, "request_id": null, @@ -5798,7 +5798,7 @@ "environment_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/.venv", "python_executable": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/pandas/.venv/bin/python", "success": true, - "total_duration_ms": 909.3637139999942, + "total_duration_ms": 830.3572549999672, "error_message": null, "summary": { "request_count": 32, @@ -5807,11 +5807,11 @@ "failure_count": 0, "bytes_sent": 18582, "bytes_received": 4497316, - "min_ms": 0.21563200002105987, - "max_ms": 385.9473820000119, - "mean_ms": 25.226212374998447, - "median_ms": 6.089814999995724, - "p95_ms": 90.3567120999951, + "min_ms": 0.20763899999565183, + "max_ms": 352.7553230000535, + "mean_ms": 22.81832475000556, + "median_ms": 4.478250500000058, + "p95_ms": 86.31756130000942, "result_summary": { "present_count": 31, "empty_count": 1, @@ -5867,27 +5867,27 @@ "by_method": { "textDocument/completion": { "point_count": 2, - "min_ms": 18.17036300002428, - "max_ms": 23.97105699998292, - "mean_ms": 20.011547399994356, - "median_ms": 20.056892499994206, - "p95_ms": 22.576740549985175 + "min_ms": 16.095012999983282, + "max_ms": 22.63899100000799, + "mean_ms": 17.631352000006473, + "median_ms": 17.05072650000261, + "p95_ms": 20.699726800006594 }, "textDocument/hover": { "point_count": 2, - "min_ms": 0.27681599999596074, - "max_ms": 6.31053300000417, - "mean_ms": 3.212786899996445, - "median_ms": 3.1645465000025297, - "p95_ms": 6.241419299999507 + "min_ms": 0.26706900001727263, + "max_ms": 4.567034999979569, + "mean_ms": 2.3916500000041196, + "median_ms": 2.3730890000024374, + "p95_ms": 4.554264000003627 }, "textDocument/definition": { "point_count": 1, - "min_ms": 0.21563200002105987, - "max_ms": 0.23567899998511166, - "mean_ms": 0.22373720000246067, - "median_ms": 0.22198400000661422, - "p95_ms": 0.23429859998600477 + "min_ms": 0.20763899999565183, + "max_ms": 0.22307700004375874, + "mean_ms": 0.21561520001114332, + "median_ms": 0.21734599999945203, + "p95_ms": 0.222015000031206 } }, "validation": { @@ -5913,11 +5913,11 @@ "failure_count": 0, "bytes_sent": 1395, "bytes_received": 1307350, - "min_ms": 18.17036300002428, - "max_ms": 23.97105699998292, - "mean_ms": 19.61909319999222, - "median_ms": 18.509423999972796, - "p95_ms": 23.02445599998464, + "min_ms": 16.648635000024115, + "max_ms": 22.63899100000799, + "mean_ms": 18.239466200009247, + "median_ms": 17.224972000008165, + "p95_ms": 21.672843200008174, "result_summary": { "present_count": 5, "empty_count": 0, @@ -5977,9 +5977,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 385.9473820000119, + "duration_ms": 352.7553230000535, "success": true, - "started_at_unix": 1789970933.9856079, + "started_at_unix": 1790057238.1542687, "bytes_sent": 279, "bytes_received": 261470, "request_id": 2, @@ -6007,9 +6007,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 23.97105699998292, + "duration_ms": 22.63899100000799, "success": true, - "started_at_unix": 1789970934.3775694, + "started_at_unix": 1790057238.513206, "bytes_sent": 279, "bytes_received": 261470, "request_id": 3, @@ -6037,9 +6037,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 19.238051999991512, + "duration_ms": 17.808252000008906, "success": true, - "started_at_unix": 1789970934.4105322, + "started_at_unix": 1790057238.5445364, "bytes_sent": 279, "bytes_received": 261470, "request_id": 4, @@ -6067,9 +6067,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 18.17036300002428, + "duration_ms": 16.876480999997057, "success": true, - "started_at_unix": 1789970934.4385867, + "started_at_unix": 1790057238.5708542, "bytes_sent": 279, "bytes_received": 261470, "request_id": 5, @@ -6097,9 +6097,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 18.509423999972796, + "duration_ms": 16.648635000024115, "success": true, - "started_at_unix": 1789970934.4659393, + "started_at_unix": 1790057238.5962398, "bytes_sent": 279, "bytes_received": 261470, "request_id": 6, @@ -6127,9 +6127,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 18.206569999989597, + "duration_ms": 17.224972000008165, "success": true, - "started_at_unix": 1789970934.4932783, + "started_at_unix": 1790057238.6217504, "bytes_sent": 279, "bytes_received": 261470, "request_id": 7, @@ -6172,11 +6172,11 @@ "failure_count": 0, "bytes_sent": 1234, "bytes_received": 2619, - "min_ms": 0.27681599999596074, - "max_ms": 0.3650099999958911, - "mean_ms": 0.30333519999317105, - "median_ms": 0.29661299998906543, - "p95_ms": 0.3519657999959236, + "min_ms": 0.26706900001727263, + "max_ms": 0.30710400000089066, + "mean_ms": 0.283047000004899, + "median_ms": 0.28001300000823903, + "p95_ms": 0.303260800001226, "result_summary": { "present_count": 5, "empty_count": 0, @@ -6236,9 +6236,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.9471950000090601, + "duration_ms": 0.7444720000080451, "success": true, - "started_at_unix": 1789970934.5205705, + "started_at_unix": 1790057238.6476665, "bytes_sent": 246, "bytes_received": 523, "request_id": 8, @@ -6266,9 +6266,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.3650099999958911, + "duration_ms": 0.30710400000089066, "success": true, - "started_at_unix": 1789970934.5215664, + "started_at_unix": 1790057238.6484582, "bytes_sent": 246, "bytes_received": 523, "request_id": 9, @@ -6296,9 +6296,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.29661299998906543, + "duration_ms": 0.28001300000823903, "success": true, - "started_at_unix": 1789970934.521992, + "started_at_unix": 1790057238.648824, "bytes_sent": 247, "bytes_received": 524, "request_id": 10, @@ -6326,9 +6326,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.29978899999605346, + "duration_ms": 0.2878880000025674, "success": true, - "started_at_unix": 1789970934.5223432, + "started_at_unix": 1790057238.6491592, "bytes_sent": 247, "bytes_received": 524, "request_id": 11, @@ -6356,9 +6356,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.2784479999888845, + "duration_ms": 0.27316099999552534, "success": true, - "started_at_unix": 1789970934.5226924, + "started_at_unix": 1790057238.6494977, "bytes_sent": 247, "bytes_received": 524, "request_id": 12, @@ -6386,9 +6386,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.27681599999596074, + "duration_ms": 0.26706900001727263, "success": true, - "started_at_unix": 1789970934.5230181, + "started_at_unix": 1790057238.6498237, "bytes_sent": 247, "bytes_received": 524, "request_id": 13, @@ -6431,11 +6431,11 @@ "failure_count": 0, "bytes_sent": 1260, "bytes_received": 1195, - "min_ms": 0.21563200002105987, - "max_ms": 0.23567899998511166, - "mean_ms": 0.22373720000246067, - "median_ms": 0.22198400000661422, - "p95_ms": 0.23429859998600477, + "min_ms": 0.20763899999565183, + "max_ms": 0.22307700004375874, + "mean_ms": 0.21561520001114332, + "median_ms": 0.21734599999945203, + "p95_ms": 0.222015000031206, "result_summary": { "present_count": 5, "empty_count": 0, @@ -6495,9 +6495,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.23264300000391813, + "duration_ms": 0.218668999991678, "success": true, - "started_at_unix": 1789970934.523424, + "started_at_unix": 1790057238.6502123, "bytes_sent": 252, "bytes_received": 239, "request_id": 14, @@ -6525,9 +6525,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.23567899998511166, + "duration_ms": 0.22307700004375874, "success": true, - "started_at_unix": 1789970934.523696, + "started_at_unix": 1790057238.6504695, "bytes_sent": 252, "bytes_received": 239, "request_id": 15, @@ -6555,9 +6555,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.22198400000661422, + "duration_ms": 0.21776699998099502, "success": true, - "started_at_unix": 1789970934.5239766, + "started_at_unix": 1790057238.6507385, "bytes_sent": 252, "bytes_received": 239, "request_id": 16, @@ -6585,9 +6585,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.21661400000994036, + "duration_ms": 0.20763899999565183, "success": true, - "started_at_unix": 1789970934.5242436, + "started_at_unix": 1790057238.651006, "bytes_sent": 252, "bytes_received": 239, "request_id": 17, @@ -6615,9 +6615,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.22877699998957723, + "duration_ms": 0.21224700003585895, "success": true, - "started_at_unix": 1789970934.5245059, + "started_at_unix": 1790057238.65126, "bytes_sent": 252, "bytes_received": 239, "request_id": 18, @@ -6645,9 +6645,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.21563200002105987, + "duration_ms": 0.21734599999945203, "success": true, - "started_at_unix": 1789970934.524781, + "started_at_unix": 1790057238.651519, "bytes_sent": 252, "bytes_received": 239, "request_id": 19, @@ -6690,11 +6690,11 @@ "failure_count": 0, "bytes_sent": 1400, "bytes_received": 2411335, - "min_ms": 20.029365999988613, - "max_ms": 20.87257599998793, - "mean_ms": 20.40400159999649, - "median_ms": 20.374978999996074, - "p95_ms": 20.829794399992352, + "min_ms": 16.095012999983282, + "max_ms": 18.329515000004903, + "mean_ms": 17.0232378000037, + "median_ms": 16.691015000048992, + "p95_ms": 18.147168200005126, "result_summary": { "present_count": 5, "empty_count": 0, @@ -6754,9 +6754,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 171.49473500001022, + "duration_ms": 164.14692500001138, "success": true, - "started_at_unix": 1789970934.5252254, + "started_at_unix": 1790057238.6519637, "bytes_sent": 280, "bytes_received": 482267, "request_id": 20, @@ -6784,9 +6784,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 20.65866800001004, + "duration_ms": 18.329515000004903, "success": true, - "started_at_unix": 1789970934.7015803, + "started_at_unix": 1790057238.82116, "bytes_sent": 280, "bytes_received": 482267, "request_id": 21, @@ -6814,9 +6814,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 20.029365999988613, + "duration_ms": 16.5828649999753, "success": true, - "started_at_unix": 1789970934.729302, + "started_at_unix": 1790057238.8464532, "bytes_sent": 280, "bytes_received": 482267, "request_id": 22, @@ -6844,9 +6844,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 20.084418999999798, + "duration_ms": 17.417781000006016, "success": true, - "started_at_unix": 1789970934.7563448, + "started_at_unix": 1790057238.8699455, "bytes_sent": 280, "bytes_received": 482267, "request_id": 23, @@ -6874,9 +6874,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 20.374978999996074, + "duration_ms": 16.095012999983282, "success": true, - "started_at_unix": 1789970934.7834408, + "started_at_unix": 1790057238.8943594, "bytes_sent": 280, "bytes_received": 482267, "request_id": 24, @@ -6904,9 +6904,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 20.87257599998793, + "duration_ms": 16.691015000048992, "success": true, - "started_at_unix": 1789970934.8107965, + "started_at_unix": 1790057238.91729, "bytes_sent": 280, "bytes_received": 482267, "request_id": 25, @@ -6949,11 +6949,11 @@ "failure_count": 0, "bytes_sent": 1235, "bytes_received": 23890, - "min_ms": 5.964083000009168, - "max_ms": 6.31053300000417, - "mean_ms": 6.122238599999719, - "median_ms": 6.131525000000693, - "p95_ms": 6.279815800002098, + "min_ms": 4.439074000003984, + "max_ms": 4.567034999979569, + "mean_ms": 4.50025300000334, + "median_ms": 4.49887999997145, + "p95_ms": 4.5613589999902615, "result_summary": { "present_count": 5, "empty_count": 0, @@ -7013,9 +7013,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 7.569809000017358, + "duration_ms": 4.6618899999657515, "success": true, - "started_at_unix": 1789970934.8389003, + "started_at_unix": 1790057238.9410102, "bytes_sent": 247, "bytes_received": 4778, "request_id": 26, @@ -7043,9 +7043,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 6.1569469999938065, + "duration_ms": 4.538655000033032, "success": true, - "started_at_unix": 1789970934.8466284, + "started_at_unix": 1790057238.9458067, "bytes_sent": 247, "bytes_received": 4778, "request_id": 27, @@ -7073,9 +7073,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 5.964083000009168, + "duration_ms": 4.567034999979569, "success": true, - "started_at_unix": 1789970934.8530068, + "started_at_unix": 1790057238.9505308, "bytes_sent": 247, "bytes_received": 4778, "request_id": 28, @@ -7103,9 +7103,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 6.131525000000693, + "duration_ms": 4.4576210000286665, "success": true, - "started_at_unix": 1789970934.859213, + "started_at_unix": 1790057238.955338, "bytes_sent": 247, "bytes_received": 4778, "request_id": 29, @@ -7133,9 +7133,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 6.0481049999907555, + "duration_ms": 4.439074000003984, "success": true, - "started_at_unix": 1789970934.8655841, + "started_at_unix": 1790057238.9600053, "bytes_sent": 247, "bytes_received": 4778, "request_id": 30, @@ -7163,9 +7163,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 6.31053300000417, + "duration_ms": 4.49887999997145, "success": true, - "started_at_unix": 1789970934.8718991, + "started_at_unix": 1790057238.9646432, "bytes_sent": 247, "bytes_received": 4778, "request_id": 31, @@ -7197,9 +7197,9 @@ { "kind": "request", "method": "initialize", - "duration_ms": 4.297713999989128, + "duration_ms": 3.631386999984443, "success": true, - "started_at_unix": 1789970933.980998, + "started_at_unix": 1790057238.1503377, "bytes_sent": 655, "bytes_received": 1589, "request_id": 1, @@ -7218,9 +7218,9 @@ { "kind": "notification", "method": "initialized", - "duration_ms": 0.022301000001334614, + "duration_ms": 0.020468000002438203, "success": true, - "started_at_unix": 1789970933.985396, + "started_at_unix": 1790057238.154058, "bytes_sent": 74, "bytes_received": 0, "request_id": null, @@ -7233,9 +7233,9 @@ { "kind": "notification", "method": "workspace/didChangeConfiguration", - "duration_ms": 0.03139800000440118, + "duration_ms": 0.022451999996064842, "success": true, - "started_at_unix": 1789970933.9854412, + "started_at_unix": 1790057238.1541, "bytes_sent": 635, "bytes_received": 0, "request_id": null, @@ -7251,9 +7251,9 @@ { "kind": "notification", "method": "textDocument/didOpen", - "duration_ms": 0.020798999997850842, + "duration_ms": 0.021410000044852495, "success": true, - "started_at_unix": 1789970933.9855509, + "started_at_unix": 1790057238.154211, "bytes_sent": 786, "bytes_received": 0, "request_id": null, @@ -7269,9 +7269,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 385.9473820000119, + "duration_ms": 352.7553230000535, "success": true, - "started_at_unix": 1789970933.9856079, + "started_at_unix": 1790057238.1542687, "bytes_sent": 279, "bytes_received": 261470, "request_id": 2, @@ -7299,9 +7299,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 23.97105699998292, + "duration_ms": 22.63899100000799, "success": true, - "started_at_unix": 1789970934.3775694, + "started_at_unix": 1790057238.513206, "bytes_sent": 279, "bytes_received": 261470, "request_id": 3, @@ -7329,9 +7329,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 19.238051999991512, + "duration_ms": 17.808252000008906, "success": true, - "started_at_unix": 1789970934.4105322, + "started_at_unix": 1790057238.5445364, "bytes_sent": 279, "bytes_received": 261470, "request_id": 4, @@ -7359,9 +7359,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 18.17036300002428, + "duration_ms": 16.876480999997057, "success": true, - "started_at_unix": 1789970934.4385867, + "started_at_unix": 1790057238.5708542, "bytes_sent": 279, "bytes_received": 261470, "request_id": 5, @@ -7389,9 +7389,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 18.509423999972796, + "duration_ms": 16.648635000024115, "success": true, - "started_at_unix": 1789970934.4659393, + "started_at_unix": 1790057238.5962398, "bytes_sent": 279, "bytes_received": 261470, "request_id": 6, @@ -7419,9 +7419,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 18.206569999989597, + "duration_ms": 17.224972000008165, "success": true, - "started_at_unix": 1789970934.4932783, + "started_at_unix": 1790057238.6217504, "bytes_sent": 279, "bytes_received": 261470, "request_id": 7, @@ -7449,9 +7449,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.9471950000090601, + "duration_ms": 0.7444720000080451, "success": true, - "started_at_unix": 1789970934.5205705, + "started_at_unix": 1790057238.6476665, "bytes_sent": 246, "bytes_received": 523, "request_id": 8, @@ -7479,9 +7479,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.3650099999958911, + "duration_ms": 0.30710400000089066, "success": true, - "started_at_unix": 1789970934.5215664, + "started_at_unix": 1790057238.6484582, "bytes_sent": 246, "bytes_received": 523, "request_id": 9, @@ -7509,9 +7509,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.29661299998906543, + "duration_ms": 0.28001300000823903, "success": true, - "started_at_unix": 1789970934.521992, + "started_at_unix": 1790057238.648824, "bytes_sent": 247, "bytes_received": 524, "request_id": 10, @@ -7539,9 +7539,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.29978899999605346, + "duration_ms": 0.2878880000025674, "success": true, - "started_at_unix": 1789970934.5223432, + "started_at_unix": 1790057238.6491592, "bytes_sent": 247, "bytes_received": 524, "request_id": 11, @@ -7569,9 +7569,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.2784479999888845, + "duration_ms": 0.27316099999552534, "success": true, - "started_at_unix": 1789970934.5226924, + "started_at_unix": 1790057238.6494977, "bytes_sent": 247, "bytes_received": 524, "request_id": 12, @@ -7599,9 +7599,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.27681599999596074, + "duration_ms": 0.26706900001727263, "success": true, - "started_at_unix": 1789970934.5230181, + "started_at_unix": 1790057238.6498237, "bytes_sent": 247, "bytes_received": 524, "request_id": 13, @@ -7629,9 +7629,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.23264300000391813, + "duration_ms": 0.218668999991678, "success": true, - "started_at_unix": 1789970934.523424, + "started_at_unix": 1790057238.6502123, "bytes_sent": 252, "bytes_received": 239, "request_id": 14, @@ -7659,9 +7659,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.23567899998511166, + "duration_ms": 0.22307700004375874, "success": true, - "started_at_unix": 1789970934.523696, + "started_at_unix": 1790057238.6504695, "bytes_sent": 252, "bytes_received": 239, "request_id": 15, @@ -7689,9 +7689,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.22198400000661422, + "duration_ms": 0.21776699998099502, "success": true, - "started_at_unix": 1789970934.5239766, + "started_at_unix": 1790057238.6507385, "bytes_sent": 252, "bytes_received": 239, "request_id": 16, @@ -7719,9 +7719,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.21661400000994036, + "duration_ms": 0.20763899999565183, "success": true, - "started_at_unix": 1789970934.5242436, + "started_at_unix": 1790057238.651006, "bytes_sent": 252, "bytes_received": 239, "request_id": 17, @@ -7749,9 +7749,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.22877699998957723, + "duration_ms": 0.21224700003585895, "success": true, - "started_at_unix": 1789970934.5245059, + "started_at_unix": 1790057238.65126, "bytes_sent": 252, "bytes_received": 239, "request_id": 18, @@ -7779,9 +7779,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.21563200002105987, + "duration_ms": 0.21734599999945203, "success": true, - "started_at_unix": 1789970934.524781, + "started_at_unix": 1790057238.651519, "bytes_sent": 252, "bytes_received": 239, "request_id": 19, @@ -7809,9 +7809,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.026530000013735844, + "duration_ms": 0.029494999978396663, "success": true, - "started_at_unix": 1789970934.5251892, + "started_at_unix": 1790057238.6519206, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -7828,9 +7828,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 171.49473500001022, + "duration_ms": 164.14692500001138, "success": true, - "started_at_unix": 1789970934.5252254, + "started_at_unix": 1790057238.6519637, "bytes_sent": 280, "bytes_received": 482267, "request_id": 20, @@ -7858,9 +7858,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03922300001590884, + "duration_ms": 0.041266999971867335, "success": true, - "started_at_unix": 1789970934.701503, + "started_at_unix": 1790057238.8210618, "bytes_sent": 324, "bytes_received": 0, "request_id": null, @@ -7877,9 +7877,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.015429000001176973, + "duration_ms": 0.02506699996729367, "success": true, - "started_at_unix": 1789970934.7015533, + "started_at_unix": 1790057238.8211184, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -7896,9 +7896,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 20.65866800001004, + "duration_ms": 18.329515000004903, "success": true, - "started_at_unix": 1789970934.7015803, + "started_at_unix": 1790057238.82116, "bytes_sent": 280, "bytes_received": 482267, "request_id": 21, @@ -7926,9 +7926,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03336200001058387, + "duration_ms": 0.02848300005098281, "success": true, - "started_at_unix": 1789970934.72923, + "started_at_unix": 1790057238.8463895, "bytes_sent": 324, "bytes_received": 0, "request_id": null, @@ -7945,9 +7945,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.014856999996482045, + "duration_ms": 0.014848000034817233, "success": true, - "started_at_unix": 1789970934.729276, + "started_at_unix": 1790057238.8464284, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -7964,9 +7964,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 20.029365999988613, + "duration_ms": 16.5828649999753, "success": true, - "started_at_unix": 1789970934.729302, + "started_at_unix": 1790057238.8464532, "bytes_sent": 280, "bytes_received": 482267, "request_id": 22, @@ -7994,9 +7994,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.030116000004909438, + "duration_ms": 0.03393299999743249, "success": true, - "started_at_unix": 1789970934.7562776, + "started_at_unix": 1790057238.8698552, "bytes_sent": 324, "bytes_received": 0, "request_id": null, @@ -8013,9 +8013,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.014386999993121208, + "duration_ms": 0.024807000045257155, "success": true, - "started_at_unix": 1789970934.7563186, + "started_at_unix": 1790057238.8699052, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -8032,9 +8032,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 20.084418999999798, + "duration_ms": 17.417781000006016, "success": true, - "started_at_unix": 1789970934.7563448, + "started_at_unix": 1790057238.8699455, "bytes_sent": 280, "bytes_received": 482267, "request_id": 23, @@ -8062,9 +8062,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03030600001352468, + "duration_ms": 0.027932000023156434, "success": true, - "started_at_unix": 1789970934.783373, + "started_at_unix": 1790057238.8942957, "bytes_sent": 324, "bytes_received": 0, "request_id": null, @@ -8081,9 +8081,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.014136999993752397, + "duration_ms": 0.015017999999145104, "success": true, - "started_at_unix": 1789970934.7834148, + "started_at_unix": 1790057238.8943338, "bytes_sent": 366, "bytes_received": 0, "request_id": null, @@ -8100,9 +8100,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 20.374978999996074, + "duration_ms": 16.095012999983282, "success": true, - "started_at_unix": 1789970934.7834408, + "started_at_unix": 1790057238.8943594, "bytes_sent": 280, "bytes_received": 482267, "request_id": 24, @@ -8130,9 +8130,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.0312290000010762, + "duration_ms": 0.03248100000519116, "success": true, - "started_at_unix": 1789970934.8107078, + "started_at_unix": 1790057238.917204, "bytes_sent": 325, "bytes_received": 0, "request_id": null, @@ -8149,9 +8149,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.017412999994803613, + "duration_ms": 0.024474999975154788, "success": true, - "started_at_unix": 1789970934.810767, + "started_at_unix": 1790057238.9172506, "bytes_sent": 366, "bytes_received": 0, "request_id": null, @@ -8168,9 +8168,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 20.87257599998793, + "duration_ms": 16.691015000048992, "success": true, - "started_at_unix": 1789970934.8107965, + "started_at_unix": 1790057238.91729, "bytes_sent": 280, "bytes_received": 482267, "request_id": 25, @@ -8198,9 +8198,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.031839000001809836, + "duration_ms": 0.03178999997999199, "success": true, - "started_at_unix": 1789970934.8386214, + "started_at_unix": 1790057238.9407437, "bytes_sent": 325, "bytes_received": 0, "request_id": null, @@ -8217,9 +8217,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.028743000001441033, + "duration_ms": 0.03102799996668182, "success": true, - "started_at_unix": 1789970934.838859, + "started_at_unix": 1790057238.9409637, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -8236,9 +8236,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 7.569809000017358, + "duration_ms": 4.6618899999657515, "success": true, - "started_at_unix": 1789970934.8389003, + "started_at_unix": 1790057238.9410102, "bytes_sent": 247, "bytes_received": 4778, "request_id": 26, @@ -8266,9 +8266,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02755099998807964, + "duration_ms": 0.024416000030669238, "success": true, - "started_at_unix": 1789970934.8465695, + "started_at_unix": 1790057238.9457517, "bytes_sent": 325, "bytes_received": 0, "request_id": null, @@ -8285,9 +8285,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.014386999993121208, + "duration_ms": 0.01531899999918096, "success": true, - "started_at_unix": 1789970934.8466055, + "started_at_unix": 1790057238.9457839, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -8304,9 +8304,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 6.1569469999938065, + "duration_ms": 4.538655000033032, "success": true, - "started_at_unix": 1789970934.8466284, + "started_at_unix": 1790057238.9458067, "bytes_sent": 247, "bytes_received": 4778, "request_id": 27, @@ -8334,9 +8334,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03276099999993676, + "duration_ms": 0.027440999986083625, "success": true, - "started_at_unix": 1789970934.8529174, + "started_at_unix": 1790057238.9504492, "bytes_sent": 325, "bytes_received": 0, "request_id": null, @@ -8353,9 +8353,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02904400000147689, + "duration_ms": 0.029674999950657366, "success": true, - "started_at_unix": 1789970934.852964, + "started_at_unix": 1790057238.950488, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -8372,9 +8372,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 5.964083000009168, + "duration_ms": 4.567034999979569, "success": true, - "started_at_unix": 1789970934.8530068, + "started_at_unix": 1790057238.9505308, "bytes_sent": 247, "bytes_received": 4778, "request_id": 28, @@ -8402,9 +8402,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.026929999989988573, + "duration_ms": 0.03227000001970737, "success": true, - "started_at_unix": 1789970934.8591523, + "started_at_unix": 1790057238.955241, "bytes_sent": 325, "bytes_received": 0, "request_id": null, @@ -8421,9 +8421,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.014666999987866802, + "duration_ms": 0.037711000004492234, "success": true, - "started_at_unix": 1789970934.859189, + "started_at_unix": 1790057238.955286, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -8440,9 +8440,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 6.131525000000693, + "duration_ms": 4.4576210000286665, "success": true, - "started_at_unix": 1789970934.859213, + "started_at_unix": 1790057238.955338, "bytes_sent": 247, "bytes_received": 4778, "request_id": 29, @@ -8470,9 +8470,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03338199999802782, + "duration_ms": 0.030167000033998193, "success": true, - "started_at_unix": 1789970934.8654876, + "started_at_unix": 1790057238.9599137, "bytes_sent": 325, "bytes_received": 0, "request_id": null, @@ -8489,9 +8489,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03168899999650421, + "duration_ms": 0.03501600002664418, "success": true, - "started_at_unix": 1789970934.8655357, + "started_at_unix": 1790057238.959956, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -8508,9 +8508,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 6.0481049999907555, + "duration_ms": 4.439074000003984, "success": true, - "started_at_unix": 1789970934.8655841, + "started_at_unix": 1790057238.9600053, "bytes_sent": 247, "bytes_received": 4778, "request_id": 30, @@ -8538,9 +8538,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.031147999976610663, + "duration_ms": 0.02459600000292994, "success": true, - "started_at_unix": 1789970934.8718162, + "started_at_unix": 1790057238.9645877, "bytes_sent": 325, "bytes_received": 0, "request_id": null, @@ -8557,9 +8557,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.023893999980373337, + "duration_ms": 0.014136000004327798, "success": true, - "started_at_unix": 1789970934.8718605, + "started_at_unix": 1790057238.9646208, "bytes_sent": 365, "bytes_received": 0, "request_id": null, @@ -8576,9 +8576,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 6.31053300000417, + "duration_ms": 4.49887999997145, "success": true, - "started_at_unix": 1789970934.8718991, + "started_at_unix": 1790057238.9646432, "bytes_sent": 247, "bytes_received": 4778, "request_id": 31, @@ -8606,9 +8606,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03234999999790489, + "duration_ms": 0.02706999998736137, "success": true, - "started_at_unix": 1789970934.8783462, + "started_at_unix": 1790057238.969245, "bytes_sent": 325, "bytes_received": 0, "request_id": null, @@ -8625,9 +8625,9 @@ { "kind": "notification", "method": "textDocument/didClose", - "duration_ms": 0.0308770000003733, + "duration_ms": 0.02558799997132155, "success": true, - "started_at_unix": 1789970934.8785055, + "started_at_unix": 1790057238.9693694, "bytes_sent": 204, "bytes_received": 0, "request_id": null, @@ -8640,9 +8640,9 @@ { "kind": "request", "method": "shutdown", - "duration_ms": 3.3872889999884137, + "duration_ms": 2.719630000001416, "success": true, - "started_at_unix": 1789970934.8785496, + "started_at_unix": 1790057238.969406, "bytes_sent": 67, "bytes_received": 61, "request_id": 32, @@ -8660,9 +8660,9 @@ { "kind": "notification", "method": "exit", - "duration_ms": 0.023964000007481445, + "duration_ms": 0.022130999980163324, "success": true, - "started_at_unix": 1789970934.8819556, + "started_at_unix": 1790057238.9721434, "bytes_sent": 55, "bytes_received": 0, "request_id": null, @@ -8684,7 +8684,7 @@ "environment_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/sqlalchemy/.venv", "python_executable": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/sqlalchemy/.venv/bin/python", "success": true, - "total_duration_ms": 384.84443100000476, + "total_duration_ms": 363.9360440000132, "error_message": null, "summary": { "request_count": 32, @@ -8693,11 +8693,11 @@ "failure_count": 0, "bytes_sent": 18918, "bytes_received": 122056, - "min_ms": 0.20578299998419425, - "max_ms": 270.0129400000151, - "mean_ms": 11.589536281251256, - "median_ms": 2.417953999994893, - "p95_ms": 13.709674899997985, + "min_ms": 0.20078599999351354, + "max_ms": 255.10678300003065, + "mean_ms": 10.958862718753792, + "median_ms": 2.316930000006323, + "p95_ms": 12.972023900010747, "result_summary": { "present_count": 31, "empty_count": 1, @@ -8753,27 +8753,27 @@ "by_method": { "textDocument/completion": { "point_count": 2, - "min_ms": 1.9870339999954467, - "max_ms": 9.522054999990814, - "mean_ms": 4.382914500001789, - "median_ms": 4.707758000009221, - "p95_ms": 8.226621100000383 + "min_ms": 1.8379659999823161, + "max_ms": 9.184355000002142, + "mean_ms": 4.0888571000039065, + "median_ms": 4.658452000001034, + "p95_ms": 7.359010100003611 }, "textDocument/hover": { "point_count": 2, - "min_ms": 0.3941840000152297, - "max_ms": 4.5800409999969816, - "mean_ms": 2.469066700007261, - "median_ms": 2.4591954999948484, - "p95_ms": 4.568061999997042 + "min_ms": 0.3702120000070863, + "max_ms": 4.597462999981872, + "mean_ms": 2.4354184000060286, + "median_ms": 2.410899000011568, + "p95_ms": 4.561338800004933 }, "textDocument/definition": { "point_count": 1, - "min_ms": 0.20578299998419425, - "max_ms": 0.2233460000127252, - "mean_ms": 0.2140785999927175, - "median_ms": 0.21324699997649077, - "p95_ms": 0.22273880001080215 + "min_ms": 0.20078599999351354, + "max_ms": 0.2150519999872813, + "mean_ms": 0.20912699999371398, + "median_ms": 0.21331799996460177, + "p95_ms": 0.21484159999545227 } }, "validation": { @@ -8799,11 +8799,11 @@ "failure_count": 0, "bytes_sent": 1415, "bytes_received": 17600, - "min_ms": 1.9870339999954467, - "max_ms": 9.522054999990814, - "mean_ms": 3.5923695999997562, - "median_ms": 2.1255389999907948, - "p95_ms": 8.075164199993877, + "min_ms": 1.8379659999823161, + "max_ms": 9.184355000002142, + "mean_ms": 3.3790296000006492, + "median_ms": 1.9027370000230803, + "p95_ms": 7.762377400001695, "result_summary": { "present_count": 5, "empty_count": 0, @@ -8863,9 +8863,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 270.0129400000151, + "duration_ms": 255.10678300003065, "success": true, - "started_at_unix": 1789970934.9088988, + "started_at_unix": 1790057238.998353, "bytes_sent": 283, "bytes_received": 3520, "request_id": 2, @@ -8893,9 +8893,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 9.522054999990814, + "duration_ms": 9.184355000002142, "success": true, - "started_at_unix": 1789970935.1790106, + "started_at_unix": 1790057239.2535837, "bytes_sent": 283, "bytes_received": 3520, "request_id": 3, @@ -8923,9 +8923,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 2.287601000006134, + "duration_ms": 2.0744669999999132, "success": true, - "started_at_unix": 1789970935.1887002, + "started_at_unix": 1790057239.2629182, "bytes_sent": 283, "bytes_received": 3520, "request_id": 4, @@ -8953,9 +8953,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 2.1255389999907948, + "duration_ms": 1.9027370000230803, "success": true, - "started_at_unix": 1789970935.1910827, + "started_at_unix": 1790057239.265083, "bytes_sent": 283, "bytes_received": 3520, "request_id": 5, @@ -8983,9 +8983,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 2.039619000015591, + "duration_ms": 1.895622999995794, "success": true, - "started_at_unix": 1789970935.1933017, + "started_at_unix": 1790057239.2670734, "bytes_sent": 283, "bytes_received": 3520, "request_id": 6, @@ -9013,9 +9013,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 1.9870339999954467, + "duration_ms": 1.8379659999823161, "success": true, - "started_at_unix": 1789970935.1954637, + "started_at_unix": 1790057239.2690713, "bytes_sent": 283, "bytes_received": 3520, "request_id": 7, @@ -9058,11 +9058,11 @@ "failure_count": 0, "bytes_sent": 1254, "bytes_received": 55374, - "min_ms": 0.3941840000152297, - "max_ms": 0.43925800000010895, - "mean_ms": 0.41001540001275316, - "median_ms": 0.4002650000245467, - "p95_ms": 0.43515440000305716, + "min_ms": 0.3702120000070863, + "max_ms": 0.4266779999966275, + "mean_ms": 0.3879352000126346, + "median_ms": 0.3836370000271927, + "p95_ms": 0.41869899999937843, "result_summary": { "present_count": 5, "empty_count": 0, @@ -9122,9 +9122,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.7007849999922655, + "duration_ms": 0.613326000006964, "success": true, - "started_at_unix": 1789970935.1976364, + "started_at_unix": 1790057239.2710824, "bytes_sent": 250, "bytes_received": 11074, "request_id": 8, @@ -9152,9 +9152,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.43925800000010895, + "duration_ms": 0.3836370000271927, "success": true, - "started_at_unix": 1789970935.198455, + "started_at_unix": 1790057239.2718127, "bytes_sent": 250, "bytes_received": 11074, "request_id": 9, @@ -9182,9 +9182,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.4002650000245467, + "duration_ms": 0.4266779999966275, "success": true, - "started_at_unix": 1789970935.1990795, + "started_at_unix": 1790057239.272373, "bytes_sent": 251, "bytes_received": 11075, "request_id": 10, @@ -9212,9 +9212,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.41874000001485, + "duration_ms": 0.38678300001038224, "success": true, - "started_at_unix": 1789970935.1996408, + "started_at_unix": 1790057239.2729628, "bytes_sent": 251, "bytes_received": 11075, "request_id": 11, @@ -9242,9 +9242,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.3976300000090305, + "duration_ms": 0.37236600002188425, "success": true, - "started_at_unix": 1789970935.2002182, + "started_at_unix": 1790057239.2735102, "bytes_sent": 251, "bytes_received": 11075, "request_id": 12, @@ -9272,9 +9272,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.3941840000152297, + "duration_ms": 0.3702120000070863, "success": true, - "started_at_unix": 1789970935.200809, + "started_at_unix": 1790057239.274047, "bytes_sent": 251, "bytes_received": 11075, "request_id": 13, @@ -9317,11 +9317,11 @@ "failure_count": 0, "bytes_sent": 1280, "bytes_received": 2410, - "min_ms": 0.20578299998419425, - "max_ms": 0.2233460000127252, - "mean_ms": 0.2140785999927175, - "median_ms": 0.21324699997649077, - "p95_ms": 0.22273880001080215, + "min_ms": 0.20078599999351354, + "max_ms": 0.2150519999872813, + "mean_ms": 0.20912699999371398, + "median_ms": 0.21331799996460177, + "p95_ms": 0.21484159999545227, "result_summary": { "present_count": 5, "empty_count": 0, @@ -9381,9 +9381,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.5027459999951134, + "duration_ms": 0.34490500001993496, "success": true, - "started_at_unix": 1789970935.201437, + "started_at_unix": 1790057239.2746673, "bytes_sent": 256, "bytes_received": 482, "request_id": 14, @@ -9411,9 +9411,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.22031000000310996, + "duration_ms": 0.2150519999872813, "success": true, - "started_at_unix": 1789970935.201986, + "started_at_unix": 1790057239.2750554, "bytes_sent": 256, "bytes_received": 482, "request_id": 15, @@ -9441,9 +9441,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.2233460000127252, + "duration_ms": 0.21331799996460177, "success": true, - "started_at_unix": 1789970935.2022634, + "started_at_unix": 1790057239.2753284, "bytes_sent": 256, "bytes_received": 482, "request_id": 16, @@ -9471,9 +9471,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.21324699997649077, + "duration_ms": 0.20247899999503716, "success": true, - "started_at_unix": 1789970935.2025452, + "started_at_unix": 1790057239.2755964, "bytes_sent": 256, "bytes_received": 482, "request_id": 17, @@ -9501,9 +9501,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.20770699998706732, + "duration_ms": 0.21400000002813613, "success": true, - "started_at_unix": 1789970935.2028124, + "started_at_unix": 1790057239.2758534, "bytes_sent": 256, "bytes_received": 482, "request_id": 18, @@ -9531,9 +9531,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.20578299998419425, + "duration_ms": 0.20078599999351354, "success": true, - "started_at_unix": 1789970935.2030723, + "started_at_unix": 1790057239.2761164, "bytes_sent": 256, "bytes_received": 482, "request_id": 19, @@ -9576,11 +9576,11 @@ "failure_count": 0, "bytes_sent": 1420, "bytes_received": 19130, - "min_ms": 4.706235000014658, - "max_ms": 6.6433130000120855, - "mean_ms": 5.173459400003821, - "median_ms": 4.795621999988953, - "p95_ms": 6.317219600009594, + "min_ms": 4.649545000006583, + "max_ms": 5.128033000005416, + "mean_ms": 4.798684600007164, + "median_ms": 4.703129999995781, + "p95_ms": 5.071497600010844, "result_summary": { "present_count": 5, "empty_count": 0, @@ -9640,9 +9640,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 18.827877000006765, + "duration_ms": 17.60139700002128, "success": true, - "started_at_unix": 1789970935.2035143, + "started_at_unix": 1790057239.2765381, "bytes_sent": 284, "bytes_received": 3826, "request_id": 20, @@ -9670,9 +9670,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 6.6433130000120855, + "duration_ms": 5.128033000005416, "success": true, - "started_at_unix": 1789970935.2225869, + "started_at_unix": 1790057239.2943113, "bytes_sent": 284, "bytes_received": 3826, "request_id": 21, @@ -9700,9 +9700,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 5.012845999999627, + "duration_ms": 4.703129999995781, "success": true, - "started_at_unix": 1789970935.229503, + "started_at_unix": 1790057239.2996888, "bytes_sent": 284, "bytes_received": 3826, "request_id": 22, @@ -9730,9 +9730,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.706235000014658, + "duration_ms": 4.667358999995486, "success": true, - "started_at_unix": 1789970935.2348204, + "started_at_unix": 1790057239.3046792, "bytes_sent": 284, "bytes_received": 3826, "request_id": 23, @@ -9760,9 +9760,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.795621999988953, + "duration_ms": 4.649545000006583, "success": true, - "started_at_unix": 1789970935.2397487, + "started_at_unix": 1790057239.3095486, "bytes_sent": 284, "bytes_received": 3826, "request_id": 24, @@ -9790,9 +9790,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.709281000003784, + "duration_ms": 4.845356000032552, "success": true, - "started_at_unix": 1789970935.2448313, + "started_at_unix": 1790057239.3144157, "bytes_sent": 284, "bytes_received": 3826, "request_id": 25, @@ -9835,11 +9835,11 @@ "failure_count": 0, "bytes_sent": 1255, "bytes_received": 5825, - "min_ms": 4.479132999989588, - "max_ms": 4.5800409999969816, - "mean_ms": 4.5281180000017685, - "median_ms": 4.547810000019581, - "p95_ms": 4.574716999997008, + "min_ms": 4.395120000026509, + "max_ms": 4.597462999981872, + "mean_ms": 4.482901599999423, + "median_ms": 4.49046799997177, + "p95_ms": 4.581407799992121, "result_summary": { "present_count": 5, "empty_count": 0, @@ -9899,9 +9899,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 4.411616999988155, + "duration_ms": 4.296354999951291, "success": true, - "started_at_unix": 1789970935.250008, + "started_at_unix": 1790057239.3196957, "bytes_sent": 251, "bytes_received": 1165, "request_id": 26, @@ -9929,9 +9929,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 4.553420999997115, + "duration_ms": 4.49046799997177, "success": true, - "started_at_unix": 1789970935.25454, + "started_at_unix": 1790057239.3240979, "bytes_sent": 251, "bytes_received": 1165, "request_id": 27, @@ -9959,9 +9959,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 4.547810000019581, + "duration_ms": 4.597462999981872, "success": true, - "started_at_unix": 1789970935.2592242, + "started_at_unix": 1790057239.328708, "bytes_sent": 251, "bytes_received": 1165, "request_id": 28, @@ -9989,9 +9989,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 4.4801850000055765, + "duration_ms": 4.395120000026509, "success": true, - "started_at_unix": 1789970935.2639046, + "started_at_unix": 1790057239.3334386, "bytes_sent": 251, "bytes_received": 1165, "request_id": 29, @@ -10019,9 +10019,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 4.5800409999969816, + "duration_ms": 4.517187000033118, "success": true, - "started_at_unix": 1789970935.268556, + "started_at_unix": 1790057239.3379827, "bytes_sent": 251, "bytes_received": 1165, "request_id": 30, @@ -10049,9 +10049,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 4.479132999989588, + "duration_ms": 4.414269999983844, "success": true, - "started_at_unix": 1789970935.273269, + "started_at_unix": 1790057239.3426428, "bytes_sent": 251, "bytes_received": 1165, "request_id": 31, @@ -10083,9 +10083,9 @@ { "kind": "request", "method": "initialize", - "duration_ms": 4.270684000005076, + "duration_ms": 3.8730580000105874, "success": true, - "started_at_unix": 1789970934.9041402, + "started_at_unix": 1790057238.9941392, "bytes_sent": 667, "bytes_received": 1589, "request_id": 1, @@ -10104,9 +10104,9 @@ { "kind": "notification", "method": "initialized", - "duration_ms": 0.024144999997588457, + "duration_ms": 0.01919599998245758, "success": true, - "started_at_unix": 1789970934.9085255, + "started_at_unix": 1790057238.9980931, "bytes_sent": 74, "bytes_received": 0, "request_id": null, @@ -10119,9 +10119,9 @@ { "kind": "notification", "method": "workspace/didChangeConfiguration", - "duration_ms": 0.038201000023718734, + "duration_ms": 0.03486500003191395, "success": true, - "started_at_unix": 1789970934.908602, + "started_at_unix": 1790057238.9981644, "bytes_sent": 651, "bytes_received": 0, "request_id": null, @@ -10137,9 +10137,9 @@ { "kind": "notification", "method": "textDocument/didOpen", - "duration_ms": 0.03243999998403524, + "duration_ms": 0.022130999980163324, "success": true, - "started_at_unix": 1789970934.908817, + "started_at_unix": 1790057238.9982967, "bytes_sent": 730, "bytes_received": 0, "request_id": null, @@ -10155,9 +10155,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 270.0129400000151, + "duration_ms": 255.10678300003065, "success": true, - "started_at_unix": 1789970934.9088988, + "started_at_unix": 1790057238.998353, "bytes_sent": 283, "bytes_received": 3520, "request_id": 2, @@ -10185,9 +10185,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 9.522054999990814, + "duration_ms": 9.184355000002142, "success": true, - "started_at_unix": 1789970935.1790106, + "started_at_unix": 1790057239.2535837, "bytes_sent": 283, "bytes_received": 3520, "request_id": 3, @@ -10215,9 +10215,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 2.287601000006134, + "duration_ms": 2.0744669999999132, "success": true, - "started_at_unix": 1789970935.1887002, + "started_at_unix": 1790057239.2629182, "bytes_sent": 283, "bytes_received": 3520, "request_id": 4, @@ -10245,9 +10245,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 2.1255389999907948, + "duration_ms": 1.9027370000230803, "success": true, - "started_at_unix": 1789970935.1910827, + "started_at_unix": 1790057239.265083, "bytes_sent": 283, "bytes_received": 3520, "request_id": 5, @@ -10275,9 +10275,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 2.039619000015591, + "duration_ms": 1.895622999995794, "success": true, - "started_at_unix": 1789970935.1933017, + "started_at_unix": 1790057239.2670734, "bytes_sent": 283, "bytes_received": 3520, "request_id": 6, @@ -10305,9 +10305,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 1.9870339999954467, + "duration_ms": 1.8379659999823161, "success": true, - "started_at_unix": 1789970935.1954637, + "started_at_unix": 1790057239.2690713, "bytes_sent": 283, "bytes_received": 3520, "request_id": 7, @@ -10335,9 +10335,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.7007849999922655, + "duration_ms": 0.613326000006964, "success": true, - "started_at_unix": 1789970935.1976364, + "started_at_unix": 1790057239.2710824, "bytes_sent": 250, "bytes_received": 11074, "request_id": 8, @@ -10365,9 +10365,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.43925800000010895, + "duration_ms": 0.3836370000271927, "success": true, - "started_at_unix": 1789970935.198455, + "started_at_unix": 1790057239.2718127, "bytes_sent": 250, "bytes_received": 11074, "request_id": 9, @@ -10395,9 +10395,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.4002650000245467, + "duration_ms": 0.4266779999966275, "success": true, - "started_at_unix": 1789970935.1990795, + "started_at_unix": 1790057239.272373, "bytes_sent": 251, "bytes_received": 11075, "request_id": 10, @@ -10425,9 +10425,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.41874000001485, + "duration_ms": 0.38678300001038224, "success": true, - "started_at_unix": 1789970935.1996408, + "started_at_unix": 1790057239.2729628, "bytes_sent": 251, "bytes_received": 11075, "request_id": 11, @@ -10455,9 +10455,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.3976300000090305, + "duration_ms": 0.37236600002188425, "success": true, - "started_at_unix": 1789970935.2002182, + "started_at_unix": 1790057239.2735102, "bytes_sent": 251, "bytes_received": 11075, "request_id": 12, @@ -10485,9 +10485,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.3941840000152297, + "duration_ms": 0.3702120000070863, "success": true, - "started_at_unix": 1789970935.200809, + "started_at_unix": 1790057239.274047, "bytes_sent": 251, "bytes_received": 11075, "request_id": 13, @@ -10515,9 +10515,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.5027459999951134, + "duration_ms": 0.34490500001993496, "success": true, - "started_at_unix": 1789970935.201437, + "started_at_unix": 1790057239.2746673, "bytes_sent": 256, "bytes_received": 482, "request_id": 14, @@ -10545,9 +10545,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.22031000000310996, + "duration_ms": 0.2150519999872813, "success": true, - "started_at_unix": 1789970935.201986, + "started_at_unix": 1790057239.2750554, "bytes_sent": 256, "bytes_received": 482, "request_id": 15, @@ -10575,9 +10575,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.2233460000127252, + "duration_ms": 0.21331799996460177, "success": true, - "started_at_unix": 1789970935.2022634, + "started_at_unix": 1790057239.2753284, "bytes_sent": 256, "bytes_received": 482, "request_id": 16, @@ -10605,9 +10605,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.21324699997649077, + "duration_ms": 0.20247899999503716, "success": true, - "started_at_unix": 1789970935.2025452, + "started_at_unix": 1790057239.2755964, "bytes_sent": 256, "bytes_received": 482, "request_id": 17, @@ -10635,9 +10635,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.20770699998706732, + "duration_ms": 0.21400000002813613, "success": true, - "started_at_unix": 1789970935.2028124, + "started_at_unix": 1790057239.2758534, "bytes_sent": 256, "bytes_received": 482, "request_id": 18, @@ -10665,9 +10665,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.20578299998419425, + "duration_ms": 0.20078599999351354, "success": true, - "started_at_unix": 1789970935.2030723, + "started_at_unix": 1790057239.2761164, "bytes_sent": 256, "bytes_received": 482, "request_id": 19, @@ -10695,9 +10695,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.026308999991897508, + "duration_ms": 0.025568000012299308, "success": true, - "started_at_unix": 1789970935.203478, + "started_at_unix": 1790057239.2765033, "bytes_sent": 381, "bytes_received": 0, "request_id": null, @@ -10714,9 +10714,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 18.827877000006765, + "duration_ms": 17.60139700002128, "success": true, - "started_at_unix": 1789970935.2035143, + "started_at_unix": 1790057239.2765381, "bytes_sent": 284, "bytes_received": 3826, "request_id": 20, @@ -10744,9 +10744,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.034313000014662975, + "duration_ms": 0.026300000001810986, "success": true, - "started_at_unix": 1789970935.2225022, + "started_at_unix": 1790057239.2942538, "bytes_sent": 328, "bytes_received": 0, "request_id": null, @@ -10763,9 +10763,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.018263000015394937, + "duration_ms": 0.014397000029475748, "success": true, - "started_at_unix": 1789970935.2225492, + "started_at_unix": 1790057239.2942896, "bytes_sent": 381, "bytes_received": 0, "request_id": null, @@ -10782,9 +10782,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 6.6433130000120855, + "duration_ms": 5.128033000005416, "success": true, - "started_at_unix": 1789970935.2225869, + "started_at_unix": 1790057239.2943113, "bytes_sent": 284, "bytes_received": 3826, "request_id": 21, @@ -10812,9 +10812,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03602700002147685, + "duration_ms": 0.02210100001320825, "success": true, - "started_at_unix": 1789970935.2294078, + "started_at_unix": 1790057239.299639, "bytes_sent": 328, "bytes_received": 0, "request_id": null, @@ -10831,9 +10831,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03201900000249225, + "duration_ms": 0.013113999955294275, "success": true, - "started_at_unix": 1789970935.2294576, + "started_at_unix": 1790057239.2996688, "bytes_sent": 381, "bytes_received": 0, "request_id": null, @@ -10850,9 +10850,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 5.012845999999627, + "duration_ms": 4.703129999995781, "success": true, - "started_at_unix": 1789970935.229503, + "started_at_unix": 1790057239.2996888, "bytes_sent": 284, "bytes_received": 3826, "request_id": 22, @@ -10880,9 +10880,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02441499998440122, + "duration_ms": 0.028592999967713695, "success": true, - "started_at_unix": 1789970935.2347124, + "started_at_unix": 1790057239.3046193, "bytes_sent": 328, "bytes_received": 0, "request_id": null, @@ -10899,9 +10899,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.059400999987246905, + "duration_ms": 0.014276999991125194, "success": true, - "started_at_unix": 1789970935.2347462, + "started_at_unix": 1790057239.304658, "bytes_sent": 381, "bytes_received": 0, "request_id": null, @@ -10918,9 +10918,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.706235000014658, + "duration_ms": 4.667358999995486, "success": true, - "started_at_unix": 1789970935.2348204, + "started_at_unix": 1790057239.3046792, "bytes_sent": 284, "bytes_received": 3826, "request_id": 23, @@ -10948,9 +10948,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02352399999949739, + "duration_ms": 0.02319300000408475, "success": true, - "started_at_unix": 1789970935.2396848, + "started_at_unix": 1790057239.309495, "bytes_sent": 328, "bytes_received": 0, "request_id": null, @@ -10967,9 +10967,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.015529000023661865, + "duration_ms": 0.014397000029475748, "success": true, - "started_at_unix": 1789970935.2397168, + "started_at_unix": 1790057239.3095264, "bytes_sent": 382, "bytes_received": 0, "request_id": null, @@ -10986,9 +10986,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.795621999988953, + "duration_ms": 4.649545000006583, "success": true, - "started_at_unix": 1789970935.2397487, + "started_at_unix": 1790057239.3095486, "bytes_sent": 284, "bytes_received": 3826, "request_id": 24, @@ -11016,9 +11016,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.04372199998670112, + "duration_ms": 0.023564000002807006, "success": true, - "started_at_unix": 1789970935.2447298, + "started_at_unix": 1790057239.3143628, "bytes_sent": 329, "bytes_received": 0, "request_id": null, @@ -11035,9 +11035,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03363199999739663, + "duration_ms": 0.013875999968604447, "success": true, - "started_at_unix": 1789970935.244784, + "started_at_unix": 1790057239.3143947, "bytes_sent": 382, "bytes_received": 0, "request_id": null, @@ -11054,9 +11054,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 4.709281000003784, + "duration_ms": 4.845356000032552, "success": true, - "started_at_unix": 1789970935.2448313, + "started_at_unix": 1790057239.3144157, "bytes_sent": 284, "bytes_received": 3826, "request_id": 25, @@ -11084,9 +11084,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02376399999093337, + "duration_ms": 0.026529000024311244, "success": true, - "started_at_unix": 1789970935.2496936, + "started_at_unix": 1790057239.319431, "bytes_sent": 329, "bytes_received": 0, "request_id": null, @@ -11103,9 +11103,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03748000000314278, + "duration_ms": 0.024977000009585026, "success": true, - "started_at_unix": 1789970935.2499576, + "started_at_unix": 1790057239.3196619, "bytes_sent": 381, "bytes_received": 0, "request_id": null, @@ -11122,9 +11122,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 4.411616999988155, + "duration_ms": 4.296354999951291, "success": true, - "started_at_unix": 1789970935.250008, + "started_at_unix": 1790057239.3196957, "bytes_sent": 251, "bytes_received": 1165, "request_id": 26, @@ -11152,9 +11152,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02515699998184573, + "duration_ms": 0.024725999992369907, "success": true, - "started_at_unix": 1789970935.2544746, + "started_at_unix": 1790057239.3240433, "bytes_sent": 329, "bytes_received": 0, "request_id": null, @@ -11171,9 +11171,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.020218000003069392, + "duration_ms": 0.014797999995153077, "success": true, - "started_at_unix": 1789970935.2545085, + "started_at_unix": 1790057239.324076, "bytes_sent": 381, "bytes_received": 0, "request_id": null, @@ -11190,9 +11190,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 4.553420999997115, + "duration_ms": 4.49046799997177, "success": true, - "started_at_unix": 1789970935.25454, + "started_at_unix": 1790057239.3240979, "bytes_sent": 251, "bytes_received": 1165, "request_id": 27, @@ -11220,9 +11220,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.021960999987413743, + "duration_ms": 0.023142999964420596, "success": true, - "started_at_unix": 1789970935.2591658, + "started_at_unix": 1790057239.3286548, "bytes_sent": 329, "bytes_received": 0, "request_id": null, @@ -11239,9 +11239,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.014457000020229316, + "duration_ms": 0.014426999996430823, "success": true, - "started_at_unix": 1789970935.2591958, + "started_at_unix": 1790057239.3286855, "bytes_sent": 381, "bytes_received": 0, "request_id": null, @@ -11258,9 +11258,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 4.547810000019581, + "duration_ms": 4.597462999981872, "success": true, - "started_at_unix": 1789970935.2592242, + "started_at_unix": 1790057239.328708, "bytes_sent": 251, "bytes_received": 1165, "request_id": 28, @@ -11288,9 +11288,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.023143000021264015, + "duration_ms": 0.026359000003139954, "success": true, - "started_at_unix": 1789970935.2638457, + "started_at_unix": 1790057239.33338, "bytes_sent": 329, "bytes_received": 0, "request_id": null, @@ -11307,9 +11307,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.014195999995081365, + "duration_ms": 0.01580999997941035, "success": true, - "started_at_unix": 1789970935.263877, + "started_at_unix": 1790057239.3334148, "bytes_sent": 381, "bytes_received": 0, "request_id": null, @@ -11326,9 +11326,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 4.4801850000055765, + "duration_ms": 4.395120000026509, "success": true, - "started_at_unix": 1789970935.2639046, + "started_at_unix": 1790057239.3334386, "bytes_sent": 251, "bytes_received": 1165, "request_id": 29, @@ -11356,9 +11356,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.023463000019319225, + "duration_ms": 0.023824999971111538, "success": true, - "started_at_unix": 1789970935.26849, + "started_at_unix": 1790057239.3379285, "bytes_sent": 329, "bytes_received": 0, "request_id": null, @@ -11375,9 +11375,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02119000001243876, + "duration_ms": 0.014217000000371627, "success": true, - "started_at_unix": 1789970935.268522, + "started_at_unix": 1790057239.3379605, "bytes_sent": 381, "bytes_received": 0, "request_id": null, @@ -11394,9 +11394,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 4.5800409999969816, + "duration_ms": 4.517187000033118, "success": true, - "started_at_unix": 1789970935.268556, + "started_at_unix": 1790057239.3379827, "bytes_sent": 251, "bytes_received": 1165, "request_id": 30, @@ -11424,9 +11424,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.022712000003366484, + "duration_ms": 0.044492999961676105, "success": true, - "started_at_unix": 1789970935.27321, + "started_at_unix": 1790057239.3425663, "bytes_sent": 329, "bytes_received": 0, "request_id": null, @@ -11443,9 +11443,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.014005999986466122, + "duration_ms": 0.015770000004522444, "success": true, - "started_at_unix": 1789970935.273241, + "started_at_unix": 1790057239.3426194, "bytes_sent": 381, "bytes_received": 0, "request_id": null, @@ -11462,9 +11462,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 4.479132999989588, + "duration_ms": 4.414269999983844, "success": true, - "started_at_unix": 1789970935.273269, + "started_at_unix": 1790057239.3426428, "bytes_sent": 251, "bytes_received": 1165, "request_id": 31, @@ -11492,9 +11492,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.04381200000125318, + "duration_ms": 0.0271499999939806, "success": true, - "started_at_unix": 1789970935.27782, + "started_at_unix": 1790057239.347135, "bytes_sent": 329, "bytes_received": 0, "request_id": null, @@ -11511,9 +11511,9 @@ { "kind": "notification", "method": "textDocument/didClose", - "duration_ms": 0.03154899999913141, + "duration_ms": 0.02076900000247406, "success": true, - "started_at_unix": 1789970935.2779856, + "started_at_unix": 1790057239.3472497, "bytes_sent": 208, "bytes_received": 0, "request_id": null, @@ -11526,9 +11526,9 @@ { "kind": "request", "method": "shutdown", - "duration_ms": 2.5483069999836516, + "duration_ms": 2.559393000012733, "success": true, - "started_at_unix": 1789970935.2780273, + "started_at_unix": 1790057239.3472788, "bytes_sent": 67, "bytes_received": 61, "request_id": 32, @@ -11546,9 +11546,9 @@ { "kind": "notification", "method": "exit", - "duration_ms": 0.022481999991441626, + "duration_ms": 0.019506000001001667, "success": true, - "started_at_unix": 1789970935.2805958, + "started_at_unix": 1790057239.349854, "bytes_sent": 55, "bytes_received": 0, "request_id": null, @@ -11570,7 +11570,7 @@ "environment_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/transformers/.venv", "python_executable": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/transformers/.venv/bin/python", "success": true, - "total_duration_ms": 3026.4050940000116, + "total_duration_ms": 2726.387487000011, "error_message": null, "summary": { "request_count": 32, @@ -11579,11 +11579,11 @@ "failure_count": 0, "bytes_sent": 19004, "bytes_received": 1486960, - "min_ms": 0.20019300001195006, - "max_ms": 2798.166754999983, - "mean_ms": 92.81864118750161, - "median_ms": 6.024029999991853, - "p95_ms": 15.416149399990786, + "min_ms": 0.2080489999798374, + "max_ms": 2529.209116000004, + "mean_ms": 83.52931168749755, + "median_ms": 5.6706775000066045, + "p95_ms": 11.941477450000093, "result_summary": { "present_count": 31, "empty_count": 1, @@ -11639,27 +11639,27 @@ "by_method": { "textDocument/completion": { "point_count": 2, - "min_ms": 6.4329719999989265, - "max_ms": 16.32036699999162, - "mean_ms": 10.811956799997802, - "median_ms": 11.09071700000186, - "p95_ms": 15.580552599990936 + "min_ms": 5.829995999988569, + "max_ms": 13.051312000015969, + "mean_ms": 8.627863999998908, + "median_ms": 8.525509000008924, + "p95_ms": 12.143265550002976 }, "textDocument/hover": { "point_count": 2, - "min_ms": 0.20019300001195006, - "max_ms": 6.132661999998845, - "mean_ms": 3.215099600001281, - "median_ms": 3.467836500007593, - "p95_ms": 6.116102900000442 + "min_ms": 0.2080489999798374, + "max_ms": 5.754865000028531, + "mean_ms": 2.96633119999683, + "median_ms": 2.9573445000039555, + "p95_ms": 5.738197450000371 }, "textDocument/definition": { "point_count": 1, - "min_ms": 0.2781080000033853, - "max_ms": 0.3319380000164074, - "mean_ms": 0.3015816000072391, - "median_ms": 0.2920340000116539, - "p95_ms": 0.3296658000124353 + "min_ms": 0.25433600001179, + "max_ms": 0.2781000000027234, + "mean_ms": 0.2620339999907628, + "median_ms": 0.2580929999567161, + "p95_ms": 0.27520659999709096 } }, "validation": { @@ -11685,11 +11685,11 @@ "failure_count": 0, "bytes_sent": 1440, "bytes_received": 1215005, - "min_ms": 13.077487000003885, - "max_ms": 16.32036699999162, - "mean_ms": 14.382595999995829, - "median_ms": 14.574876000011727, - "p95_ms": 15.991560599991317, + "min_ms": 10.628924999991796, + "max_ms": 13.051312000015969, + "mean_ms": 11.269538199996987, + "median_ms": 10.874393999984022, + "p95_ms": 12.647735800010196, "result_summary": { "present_count": 5, "empty_count": 0, @@ -11749,9 +11749,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 2798.166754999983, + "duration_ms": 2529.209116000004, "success": true, - "started_at_unix": 1789970935.307251, + "started_at_unix": 1790057239.3752036, "bytes_sent": 288, "bytes_received": 243001, "request_id": 2, @@ -11779,9 +11779,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 14.574876000011727, + "duration_ms": 13.051312000015969, "success": true, - "started_at_unix": 1789970938.1106994, + "started_at_unix": 1790057241.909462, "bytes_sent": 288, "bytes_received": 243001, "request_id": 3, @@ -11809,9 +11809,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 16.32036699999162, + "duration_ms": 10.628924999991796, "success": true, - "started_at_unix": 1789970938.1328542, + "started_at_unix": 1790057241.9296775, "bytes_sent": 288, "bytes_received": 243001, "request_id": 4, @@ -11839,9 +11839,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 13.077487000003885, + "duration_ms": 10.759629000006043, "success": true, - "started_at_unix": 1789970938.1567392, + "started_at_unix": 1790057241.9475753, "bytes_sent": 288, "bytes_received": 243001, "request_id": 5, @@ -11869,9 +11869,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 14.676334999990104, + "duration_ms": 10.874393999984022, "success": true, - "started_at_unix": 1789970938.1774023, + "started_at_unix": 1790057241.9655788, "bytes_sent": 288, "bytes_received": 243001, "request_id": 6, @@ -11899,9 +11899,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 13.263914999981807, + "duration_ms": 11.033430999987104, "success": true, - "started_at_unix": 1789970938.1999056, + "started_at_unix": 1790057241.9836543, "bytes_sent": 288, "bytes_received": 243001, "request_id": 7, @@ -11944,11 +11944,11 @@ "failure_count": 0, "bytes_sent": 1274, "bytes_received": 919, - "min_ms": 0.20019300001195006, - "max_ms": 0.9402459999989787, - "mean_ms": 0.3757966000023316, - "median_ms": 0.2359690000162118, - "p95_ms": 0.8056883999984163, + "min_ms": 0.2080489999798374, + "max_ms": 0.2560940000080336, + "mean_ms": 0.23045179998462118, + "median_ms": 0.2312319999759893, + "p95_ms": 0.25138400000059846, "result_summary": { "present_count": 5, "empty_count": 0, @@ -12008,9 +12008,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.5541419999985919, + "duration_ms": 0.48440500000879183, "success": true, - "started_at_unix": 1789970938.220673, + "started_at_unix": 1790057242.0018408, "bytes_sent": 254, "bytes_received": 183, "request_id": 8, @@ -12038,9 +12038,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.2674579999961679, + "duration_ms": 0.2312319999759893, "success": true, - "started_at_unix": 1789970938.2212715, + "started_at_unix": 1790057242.0023673, "bytes_sent": 254, "bytes_received": 183, "request_id": 9, @@ -12068,9 +12068,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.23511699998834956, + "duration_ms": 0.2080489999798374, "success": true, - "started_at_unix": 1789970938.2215898, + "started_at_unix": 1790057242.002648, "bytes_sent": 255, "bytes_received": 184, "request_id": 10, @@ -12098,9 +12098,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.9402459999989787, + "duration_ms": 0.2560940000080336, "success": true, - "started_at_unix": 1789970938.2219007, + "started_at_unix": 1790057242.0029216, "bytes_sent": 255, "bytes_received": 184, "request_id": 11, @@ -12128,9 +12128,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.2359690000162118, + "duration_ms": 0.23254399997085784, "success": true, - "started_at_unix": 1789970938.2229152, + "started_at_unix": 1790057242.003256, "bytes_sent": 255, "bytes_received": 184, "request_id": 12, @@ -12158,9 +12158,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.20019300001195006, + "duration_ms": 0.22433999998838772, "success": true, - "started_at_unix": 1789970938.2232158, + "started_at_unix": 1790057242.0035574, "bytes_sent": 255, "bytes_received": 184, "request_id": 13, @@ -12203,11 +12203,11 @@ "failure_count": 0, "bytes_sent": 1300, "bytes_received": 1580, - "min_ms": 0.2781080000033853, - "max_ms": 0.3319380000164074, - "mean_ms": 0.3015816000072391, - "median_ms": 0.2920340000116539, - "p95_ms": 0.3296658000124353, + "min_ms": 0.25433600001179, + "max_ms": 0.2781000000027234, + "mean_ms": 0.2620339999907628, + "median_ms": 0.2580929999567161, + "p95_ms": 0.27520659999709096, "result_summary": { "present_count": 5, "empty_count": 0, @@ -12267,9 +12267,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 4.677512000000661, + "duration_ms": 2.97450199997229, "success": true, - "started_at_unix": 1789970938.2235713, + "started_at_unix": 1790057242.0039396, "bytes_sent": 260, "bytes_received": 316, "request_id": 14, @@ -12297,9 +12297,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.3205769999965469, + "duration_ms": 0.2781000000027234, "success": true, - "started_at_unix": 1789970938.2283068, + "started_at_unix": 1790057242.0069609, "bytes_sent": 260, "bytes_received": 316, "request_id": 15, @@ -12327,9 +12327,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.3319380000164074, + "duration_ms": 0.26363299997456124, "success": true, - "started_at_unix": 1789970938.228694, + "started_at_unix": 1790057242.0072978, "bytes_sent": 260, "bytes_received": 316, "request_id": 16, @@ -12357,9 +12357,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.2920340000116539, + "duration_ms": 0.2580929999567161, "success": true, - "started_at_unix": 1789970938.229091, + "started_at_unix": 1790057242.0076272, "bytes_sent": 260, "bytes_received": 316, "request_id": 17, @@ -12387,9 +12387,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.2781080000033853, + "duration_ms": 0.25433600001179, "success": true, - "started_at_unix": 1789970938.229443, + "started_at_unix": 1790057242.0079348, "bytes_sent": 260, "bytes_received": 316, "request_id": 18, @@ -12417,9 +12417,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.285251000008202, + "duration_ms": 0.2560080000080234, "success": true, - "started_at_unix": 1789970938.2297826, + "started_at_unix": 1790057242.0082378, "bytes_sent": 260, "bytes_received": 316, "request_id": 19, @@ -12462,11 +12462,11 @@ "failure_count": 0, "bytes_sent": 1445, "bytes_received": 19320, - "min_ms": 6.4329719999989265, - "max_ms": 9.103946999999835, - "mean_ms": 7.241317599999775, - "median_ms": 7.0213480000234085, - "p95_ms": 8.697671199996648, + "min_ms": 5.829995999988569, + "max_ms": 6.422093000026052, + "mean_ms": 5.98618980000083, + "median_ms": 5.892602999949759, + "p95_ms": 6.323733000022003, "result_summary": { "present_count": 5, "empty_count": 0, @@ -12526,9 +12526,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 10.912766000018337, + "duration_ms": 10.541531000001214, "success": true, - "started_at_unix": 1789970938.2303817, + "started_at_unix": 1790057242.0087543, "bytes_sent": 289, "bytes_received": 3864, "request_id": 20, @@ -12556,9 +12556,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 9.103946999999835, + "duration_ms": 6.422093000026052, "success": true, - "started_at_unix": 1789970938.241559, + "started_at_unix": 1790057242.0195222, "bytes_sent": 289, "bytes_received": 3864, "request_id": 21, @@ -12586,9 +12586,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 7.072567999983903, + "duration_ms": 5.930293000005804, "success": true, - "started_at_unix": 1789970938.2510471, + "started_at_unix": 1790057242.026245, "bytes_sent": 289, "bytes_received": 3864, "request_id": 22, @@ -12616,9 +12616,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 7.0213480000234085, + "duration_ms": 5.892602999949759, "success": true, - "started_at_unix": 1789970938.2583432, + "started_at_unix": 1790057242.032433, "bytes_sent": 289, "bytes_received": 3864, "request_id": 23, @@ -12646,9 +12646,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 6.575752999992801, + "duration_ms": 5.829995999988569, "success": true, - "started_at_unix": 1789970938.265627, + "started_at_unix": 1790057242.0386367, "bytes_sent": 289, "bytes_received": 3864, "request_id": 24, @@ -12676,9 +12676,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 6.4329719999989265, + "duration_ms": 5.855964000033964, "success": true, - "started_at_unix": 1789970938.2724981, + "started_at_unix": 1790057242.0447497, "bytes_sent": 289, "bytes_received": 3864, "request_id": 25, @@ -12721,11 +12721,11 @@ "failure_count": 0, "bytes_sent": 1280, "bytes_received": 935, - "min_ms": 5.995427000016207, - "max_ms": 6.132661999998845, - "mean_ms": 6.0544026000002304, - "median_ms": 6.045860999989827, - "p95_ms": 6.125302399999555, + "min_ms": 5.6585949999998775, + "max_ms": 5.754865000028531, + "mean_ms": 5.702210600009039, + "median_ms": 5.697007000037502, + "p95_ms": 5.747457200016015, "result_summary": { "present_count": 5, "empty_count": 0, @@ -12785,9 +12785,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 6.192855000023201, + "duration_ms": 5.586660999995274, "success": true, - "started_at_unix": 1789970938.279464, + "started_at_unix": 1790057242.051036, "bytes_sent": 256, "bytes_received": 187, "request_id": 26, @@ -12815,9 +12815,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 6.095864000002393, + "duration_ms": 5.754865000028531, "success": true, - "started_at_unix": 1789970938.2858145, + "started_at_unix": 1790057242.0567589, "bytes_sent": 256, "bytes_received": 187, "request_id": 27, @@ -12845,9 +12845,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 6.045860999989827, + "duration_ms": 5.6585949999998775, "success": true, - "started_at_unix": 1789970938.2920444, + "started_at_unix": 1790057242.062692, "bytes_sent": 256, "bytes_received": 187, "request_id": 28, @@ -12875,9 +12875,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 6.132661999998845, + "duration_ms": 5.697007000037502, "success": true, - "started_at_unix": 1789970938.298223, + "started_at_unix": 1790057242.0684938, "bytes_sent": 256, "bytes_received": 187, "request_id": 29, @@ -12905,9 +12905,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 6.00219899999388, + "duration_ms": 5.682760000013332, "success": true, - "started_at_unix": 1789970938.304486, + "started_at_unix": 1790057242.0743325, "bytes_sent": 256, "bytes_received": 187, "request_id": 30, @@ -12935,9 +12935,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 5.995427000016207, + "duration_ms": 5.717825999965953, "success": true, - "started_at_unix": 1789970938.3106174, + "started_at_unix": 1790057242.0801563, "bytes_sent": 256, "bytes_received": 187, "request_id": 31, @@ -12969,9 +12969,9 @@ { "kind": "request", "method": "initialize", - "duration_ms": 4.300090000015189, + "duration_ms": 3.582456000003731, "success": true, - "started_at_unix": 1789970935.3025947, + "started_at_unix": 1790057239.3713043, "bytes_sent": 673, "bytes_received": 1589, "request_id": 1, @@ -12990,9 +12990,9 @@ { "kind": "notification", "method": "initialized", - "duration_ms": 0.02319399999350935, + "duration_ms": 0.020607999999811, "success": true, - "started_at_unix": 1789970935.3070064, + "started_at_unix": 1790057239.3749816, "bytes_sent": 74, "bytes_received": 0, "request_id": null, @@ -13005,9 +13005,9 @@ { "kind": "notification", "method": "workspace/didChangeConfiguration", - "duration_ms": 0.02235200000200166, + "duration_ms": 0.01870500000222819, "success": true, - "started_at_unix": 1789970935.3070533, + "started_at_unix": 1790057239.375024, "bytes_sent": 659, "bytes_received": 0, "request_id": null, @@ -13023,9 +13023,9 @@ { "kind": "notification", "method": "textDocument/didOpen", - "duration_ms": 0.02358399999025096, + "duration_ms": 0.021409000055427896, "success": true, - "started_at_unix": 1789970935.3071883, + "started_at_unix": 1790057239.3751478, "bytes_sent": 773, "bytes_received": 0, "request_id": null, @@ -13041,9 +13041,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 2798.166754999983, + "duration_ms": 2529.209116000004, "success": true, - "started_at_unix": 1789970935.307251, + "started_at_unix": 1790057239.3752036, "bytes_sent": 288, "bytes_received": 243001, "request_id": 2, @@ -13071,9 +13071,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 14.574876000011727, + "duration_ms": 13.051312000015969, "success": true, - "started_at_unix": 1789970938.1106994, + "started_at_unix": 1790057241.909462, "bytes_sent": 288, "bytes_received": 243001, "request_id": 3, @@ -13101,9 +13101,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 16.32036699999162, + "duration_ms": 10.628924999991796, "success": true, - "started_at_unix": 1789970938.1328542, + "started_at_unix": 1790057241.9296775, "bytes_sent": 288, "bytes_received": 243001, "request_id": 4, @@ -13131,9 +13131,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 13.077487000003885, + "duration_ms": 10.759629000006043, "success": true, - "started_at_unix": 1789970938.1567392, + "started_at_unix": 1790057241.9475753, "bytes_sent": 288, "bytes_received": 243001, "request_id": 5, @@ -13161,9 +13161,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 14.676334999990104, + "duration_ms": 10.874393999984022, "success": true, - "started_at_unix": 1789970938.1774023, + "started_at_unix": 1790057241.9655788, "bytes_sent": 288, "bytes_received": 243001, "request_id": 6, @@ -13191,9 +13191,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 13.263914999981807, + "duration_ms": 11.033430999987104, "success": true, - "started_at_unix": 1789970938.1999056, + "started_at_unix": 1790057241.9836543, "bytes_sent": 288, "bytes_received": 243001, "request_id": 7, @@ -13221,9 +13221,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.5541419999985919, + "duration_ms": 0.48440500000879183, "success": true, - "started_at_unix": 1789970938.220673, + "started_at_unix": 1790057242.0018408, "bytes_sent": 254, "bytes_received": 183, "request_id": 8, @@ -13251,9 +13251,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.2674579999961679, + "duration_ms": 0.2312319999759893, "success": true, - "started_at_unix": 1789970938.2212715, + "started_at_unix": 1790057242.0023673, "bytes_sent": 254, "bytes_received": 183, "request_id": 9, @@ -13281,9 +13281,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.23511699998834956, + "duration_ms": 0.2080489999798374, "success": true, - "started_at_unix": 1789970938.2215898, + "started_at_unix": 1790057242.002648, "bytes_sent": 255, "bytes_received": 184, "request_id": 10, @@ -13311,9 +13311,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.9402459999989787, + "duration_ms": 0.2560940000080336, "success": true, - "started_at_unix": 1789970938.2219007, + "started_at_unix": 1790057242.0029216, "bytes_sent": 255, "bytes_received": 184, "request_id": 11, @@ -13341,9 +13341,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.2359690000162118, + "duration_ms": 0.23254399997085784, "success": true, - "started_at_unix": 1789970938.2229152, + "started_at_unix": 1790057242.003256, "bytes_sent": 255, "bytes_received": 184, "request_id": 12, @@ -13371,9 +13371,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.20019300001195006, + "duration_ms": 0.22433999998838772, "success": true, - "started_at_unix": 1789970938.2232158, + "started_at_unix": 1790057242.0035574, "bytes_sent": 255, "bytes_received": 184, "request_id": 13, @@ -13401,9 +13401,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 4.677512000000661, + "duration_ms": 2.97450199997229, "success": true, - "started_at_unix": 1789970938.2235713, + "started_at_unix": 1790057242.0039396, "bytes_sent": 260, "bytes_received": 316, "request_id": 14, @@ -13431,9 +13431,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.3205769999965469, + "duration_ms": 0.2781000000027234, "success": true, - "started_at_unix": 1789970938.2283068, + "started_at_unix": 1790057242.0069609, "bytes_sent": 260, "bytes_received": 316, "request_id": 15, @@ -13461,9 +13461,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.3319380000164074, + "duration_ms": 0.26363299997456124, "success": true, - "started_at_unix": 1789970938.228694, + "started_at_unix": 1790057242.0072978, "bytes_sent": 260, "bytes_received": 316, "request_id": 16, @@ -13491,9 +13491,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.2920340000116539, + "duration_ms": 0.2580929999567161, "success": true, - "started_at_unix": 1789970938.229091, + "started_at_unix": 1790057242.0076272, "bytes_sent": 260, "bytes_received": 316, "request_id": 17, @@ -13521,9 +13521,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.2781080000033853, + "duration_ms": 0.25433600001179, "success": true, - "started_at_unix": 1789970938.229443, + "started_at_unix": 1790057242.0079348, "bytes_sent": 260, "bytes_received": 316, "request_id": 18, @@ -13551,9 +13551,9 @@ { "kind": "request", "method": "textDocument/definition", - "duration_ms": 0.285251000008202, + "duration_ms": 0.2560080000080234, "success": true, - "started_at_unix": 1789970938.2297826, + "started_at_unix": 1790057242.0082378, "bytes_sent": 260, "bytes_received": 316, "request_id": 19, @@ -13581,9 +13581,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.06353799997782517, + "duration_ms": 0.03063799999836192, "success": true, - "started_at_unix": 1789970938.230305, + "started_at_unix": 1790057242.0087094, "bytes_sent": 360, "bytes_received": 0, "request_id": null, @@ -13600,9 +13600,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 10.912766000018337, + "duration_ms": 10.541531000001214, "success": true, - "started_at_unix": 1789970938.2303817, + "started_at_unix": 1790057242.0087543, "bytes_sent": 289, "bytes_received": 3864, "request_id": 20, @@ -13630,9 +13630,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03493599999160324, + "duration_ms": 0.03276099999993676, "success": true, - "started_at_unix": 1789970938.2414818, + "started_at_unix": 1790057242.0194273, "bytes_sent": 333, "bytes_received": 0, "request_id": null, @@ -13649,9 +13649,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.01905600001350649, + "duration_ms": 0.03294100002904088, "success": true, - "started_at_unix": 1789970938.2415287, + "started_at_unix": 1790057242.0194736, "bytes_sent": 360, "bytes_received": 0, "request_id": null, @@ -13668,9 +13668,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 9.103946999999835, + "duration_ms": 6.422093000026052, "success": true, - "started_at_unix": 1789970938.241559, + "started_at_unix": 1790057242.0195222, "bytes_sent": 289, "bytes_received": 3864, "request_id": 21, @@ -13698,9 +13698,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.03022600000690545, + "duration_ms": 0.03186899999718662, "success": true, - "started_at_unix": 1789970938.2509773, + "started_at_unix": 1790057242.0261517, "bytes_sent": 333, "bytes_received": 0, "request_id": null, @@ -13717,9 +13717,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.017683000010038086, + "duration_ms": 0.03392399997892426, "success": true, - "started_at_unix": 1789970938.2510188, + "started_at_unix": 1790057242.0261967, "bytes_sent": 360, "bytes_received": 0, "request_id": null, @@ -13736,9 +13736,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 7.072567999983903, + "duration_ms": 5.930293000005804, "success": true, - "started_at_unix": 1789970938.2510471, + "started_at_unix": 1790057242.026245, "bytes_sent": 289, "bytes_received": 3864, "request_id": 22, @@ -13766,9 +13766,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.024055000011458105, + "duration_ms": 0.02956600002335108, "success": true, - "started_at_unix": 1789970938.2582824, + "started_at_unix": 1790057242.032345, "bytes_sent": 333, "bytes_received": 0, "request_id": null, @@ -13785,9 +13785,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.01398599999902217, + "duration_ms": 0.03354299997226917, "success": true, - "started_at_unix": 1789970938.258316, + "started_at_unix": 1790057242.032386, "bytes_sent": 360, "bytes_received": 0, "request_id": null, @@ -13804,9 +13804,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 7.0213480000234085, + "duration_ms": 5.892602999949759, "success": true, - "started_at_unix": 1789970938.2583432, + "started_at_unix": 1790057242.032433, "bytes_sent": 289, "bytes_received": 3864, "request_id": 23, @@ -13834,9 +13834,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.025636999993139398, + "duration_ms": 0.03062700000100449, "success": true, - "started_at_unix": 1789970938.2655654, + "started_at_unix": 1790057242.0385106, "bytes_sent": 333, "bytes_received": 0, "request_id": null, @@ -13853,9 +13853,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.013434999999617503, + "duration_ms": 0.06619399999863163, "success": true, - "started_at_unix": 1789970938.2656, + "started_at_unix": 1790057242.038554, "bytes_sent": 361, "bytes_received": 0, "request_id": null, @@ -13872,9 +13872,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 6.575752999992801, + "duration_ms": 5.829995999988569, "success": true, - "started_at_unix": 1789970938.265627, + "started_at_unix": 1790057242.0386367, "bytes_sent": 289, "bytes_received": 3864, "request_id": 24, @@ -13902,9 +13902,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.028452999998762607, + "duration_ms": 0.029936000032648735, "success": true, - "started_at_unix": 1789970938.2724316, + "started_at_unix": 1790057242.0446587, "bytes_sent": 334, "bytes_received": 0, "request_id": null, @@ -13921,9 +13921,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.018334000003505935, + "duration_ms": 0.035807000017484825, "success": true, - "started_at_unix": 1789970938.2724702, + "started_at_unix": 1790057242.0447006, "bytes_sent": 361, "bytes_received": 0, "request_id": null, @@ -13940,9 +13940,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 6.4329719999989265, + "duration_ms": 5.855964000033964, "success": true, - "started_at_unix": 1789970938.2724981, + "started_at_unix": 1790057242.0447497, "bytes_sent": 289, "bytes_received": 3864, "request_id": 25, @@ -13970,9 +13970,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02854299998489296, + "duration_ms": 0.026049000041439285, "success": true, - "started_at_unix": 1789970938.2791953, + "started_at_unix": 1790057242.0508003, "bytes_sent": 334, "bytes_received": 0, "request_id": null, @@ -13989,9 +13989,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.029495000006818373, + "duration_ms": 0.030427000012878125, "success": true, - "started_at_unix": 1789970938.2794232, + "started_at_unix": 1790057242.0509918, "bytes_sent": 373, "bytes_received": 0, "request_id": null, @@ -14008,9 +14008,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 6.192855000023201, + "duration_ms": 5.586660999995274, "success": true, - "started_at_unix": 1789970938.279464, + "started_at_unix": 1790057242.051036, "bytes_sent": 256, "bytes_received": 187, "request_id": 26, @@ -14038,9 +14038,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.029654999991635123, + "duration_ms": 0.030767999987801886, "success": true, - "started_at_unix": 1789970938.2857146, + "started_at_unix": 1790057242.0566688, "bytes_sent": 334, "bytes_received": 0, "request_id": null, @@ -14057,9 +14057,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.025388000011616896, + "duration_ms": 0.03113799999709954, "success": true, - "started_at_unix": 1789970938.2857773, + "started_at_unix": 1790057242.0567117, "bytes_sent": 373, "bytes_received": 0, "request_id": null, @@ -14076,9 +14076,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 6.095864000002393, + "duration_ms": 5.754865000028531, "success": true, - "started_at_unix": 1789970938.2858145, + "started_at_unix": 1790057242.0567589, "bytes_sent": 256, "bytes_received": 187, "request_id": 27, @@ -14106,9 +14106,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02674099999921964, + "duration_ms": 0.04944199997680698, "success": true, - "started_at_unix": 1789970938.2919827, + "started_at_unix": 1790057242.0625744, "bytes_sent": 334, "bytes_received": 0, "request_id": null, @@ -14125,9 +14125,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.01731200001131583, + "duration_ms": 0.03923299999541996, "success": true, - "started_at_unix": 1789970938.2920184, + "started_at_unix": 1790057242.0626376, "bytes_sent": 373, "bytes_received": 0, "request_id": null, @@ -14144,9 +14144,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 6.045860999989827, + "duration_ms": 5.6585949999998775, "success": true, - "started_at_unix": 1789970938.2920444, + "started_at_unix": 1790057242.062692, "bytes_sent": 256, "bytes_received": 187, "request_id": 28, @@ -14174,9 +14174,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02655899999126632, + "duration_ms": 0.028013000019200263, "success": true, - "started_at_unix": 1789970938.2981617, + "started_at_unix": 1790057242.0684073, "bytes_sent": 334, "bytes_received": 0, "request_id": null, @@ -14193,9 +14193,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.01803300000347008, + "duration_ms": 0.03276099999993676, "success": true, - "started_at_unix": 1789970938.2981968, + "started_at_unix": 1790057242.0684469, "bytes_sent": 373, "bytes_received": 0, "request_id": null, @@ -14212,9 +14212,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 6.132661999998845, + "duration_ms": 5.697007000037502, "success": true, - "started_at_unix": 1789970938.298223, + "started_at_unix": 1790057242.0684938, "bytes_sent": 256, "bytes_received": 187, "request_id": 29, @@ -14242,9 +14242,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.026539999993246965, + "duration_ms": 0.028082000028462062, "success": true, - "started_at_unix": 1789970938.304425, + "started_at_unix": 1790057242.074247, "bytes_sent": 334, "bytes_received": 0, "request_id": null, @@ -14261,9 +14261,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.016942000002018176, + "duration_ms": 0.03213999997342398, "success": true, - "started_at_unix": 1789970938.30446, + "started_at_unix": 1790057242.074286, "bytes_sent": 373, "bytes_received": 0, "request_id": null, @@ -14280,9 +14280,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 6.00219899999388, + "duration_ms": 5.682760000013332, "success": true, - "started_at_unix": 1789970938.304486, + "started_at_unix": 1790057242.0743325, "bytes_sent": 256, "bytes_received": 187, "request_id": 30, @@ -14310,9 +14310,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.026208999997834326, + "duration_ms": 0.02766199997950025, "success": true, - "started_at_unix": 1789970938.3105557, + "started_at_unix": 1790057242.0800707, "bytes_sent": 334, "bytes_received": 0, "request_id": null, @@ -14329,9 +14329,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.01706200001194702, + "duration_ms": 0.03270100000918319, "success": true, - "started_at_unix": 1789970938.3105907, + "started_at_unix": 1790057242.0801096, "bytes_sent": 373, "bytes_received": 0, "request_id": null, @@ -14348,9 +14348,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 5.995427000016207, + "duration_ms": 5.717825999965953, "success": true, - "started_at_unix": 1789970938.3106174, + "started_at_unix": 1790057242.0801563, "bytes_sent": 256, "bytes_received": 187, "request_id": 31, @@ -14378,9 +14378,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02625900000907677, + "duration_ms": 0.027681999995365913, "success": true, - "started_at_unix": 1789970938.3166802, + "started_at_unix": 1790057242.0859296, "bytes_sent": 334, "bytes_received": 0, "request_id": null, @@ -14397,9 +14397,9 @@ { "kind": "notification", "method": "textDocument/didClose", - "duration_ms": 0.02351399999156456, + "duration_ms": 0.029494999978396663, "success": true, - "started_at_unix": 1789970938.3168392, + "started_at_unix": 1790057242.0860643, "bytes_sent": 213, "bytes_received": 0, "request_id": null, @@ -14412,9 +14412,9 @@ { "kind": "request", "method": "shutdown", - "duration_ms": 3.6139259999856677, + "duration_ms": 3.307181000025139, "success": true, - "started_at_unix": 1789970938.316871, + "started_at_unix": 1790057242.086106, "bytes_sent": 67, "bytes_received": 61, "request_id": 32, @@ -14432,9 +14432,9 @@ { "kind": "notification", "method": "exit", - "duration_ms": 0.02749099999732607, + "duration_ms": 0.02815199997030504, "success": true, - "started_at_unix": 1789970938.3205044, + "started_at_unix": 1790057242.0894325, "bytes_sent": 55, "bytes_received": 0, "request_id": null, @@ -14456,7 +14456,7 @@ "environment_path": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/web/.venv", "python_executable": "/home/runner/work/python-lsp-compare/python-lsp-compare/benchmarks/web/.venv/bin/python", "success": true, - "total_duration_ms": 424.2781690000186, + "total_duration_ms": 341.9732810000369, "error_message": null, "summary": { "request_count": 32, @@ -14465,11 +14465,11 @@ "failure_count": 0, "bytes_sent": 18386, "bytes_received": 1179190, - "min_ms": 0.18851199999403434, - "max_ms": 209.0427150000096, - "mean_ms": 11.828605093752387, - "median_ms": 3.724051500000769, - "p95_ms": 35.518443350002784, + "min_ms": 0.17838399998026944, + "max_ms": 168.54810400002407, + "mean_ms": 9.444447656241195, + "median_ms": 2.830093999989458, + "p95_ms": 27.013836349996694, "result_summary": { "present_count": 31, "empty_count": 1, @@ -14525,27 +14525,27 @@ "by_method": { "textDocument/completion": { "point_count": 2, - "min_ms": 5.362878999989107, - "max_ms": 9.604588999991392, - "mean_ms": 6.1968612000015355, - "median_ms": 5.764496499992333, - "p95_ms": 8.223443149989858 + "min_ms": 4.1320720000044275, + "max_ms": 9.152174000007562, + "mean_ms": 5.180156099993383, + "median_ms": 4.703946000006454, + "p95_ms": 7.537337299987708 }, "textDocument/hover": { "point_count": 2, - "min_ms": 0.18851199999403434, - "max_ms": 3.812280999994755, - "mean_ms": 1.9213246000020945, - "median_ms": 1.8810935000033169, - "p95_ms": 3.7328744500001676 + "min_ms": 0.17838399998026944, + "max_ms": 2.8865050000490555, + "mean_ms": 1.5218460999960826, + "median_ms": 1.5152665000073284, + "p95_ms": 2.8624840000247787 }, "textDocument/references": { "point_count": 1, - "min_ms": 0.5543830000078742, - "max_ms": 0.7293389999745159, - "mean_ms": 0.6311777999997048, - "median_ms": 0.6100960000026134, - "p95_ms": 0.7163607999814303 + "min_ms": 0.5563799999777075, + "max_ms": 0.680148000014924, + "mean_ms": 0.6031003999851237, + "median_ms": 0.5926969999450193, + "p95_ms": 0.6674770000131502 } }, "validation": { @@ -14571,11 +14571,11 @@ "failure_count": 0, "bytes_sent": 1360, "bytes_received": 640970, - "min_ms": 5.362878999989107, - "max_ms": 9.604588999991392, - "mean_ms": 6.336523800001714, - "median_ms": 5.564113000019688, - "p95_ms": 8.819444599993176, + "min_ms": 4.764855000018997, + "max_ms": 9.152174000007562, + "mean_ms": 5.934927799989964, + "median_ms": 5.148191999978735, + "p95_ms": 8.43446879999874, "result_summary": { "present_count": 5, "empty_count": 0, @@ -14635,9 +14635,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 209.0427150000096, + "duration_ms": 168.54810400002407, "success": true, - "started_at_unix": 1789970938.347462, + "started_at_unix": 1790057242.115223, "bytes_sent": 272, "bytes_received": 128194, "request_id": 2, @@ -14665,9 +14665,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 9.604588999991392, + "duration_ms": 9.152174000007562, "success": true, - "started_at_unix": 1789970938.5596788, + "started_at_unix": 1790057242.2867532, "bytes_sent": 272, "bytes_received": 128194, "request_id": 3, @@ -14695,9 +14695,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 5.472171000008075, + "duration_ms": 5.045769999981076, "success": true, - "started_at_unix": 1789970938.573787, + "started_at_unix": 1790057242.3001516, "bytes_sent": 272, "bytes_received": 128194, "request_id": 4, @@ -14725,9 +14725,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 5.564113000019688, + "duration_ms": 5.56364799996345, "success": true, - "started_at_unix": 1789970938.5835214, + "started_at_unix": 1790057242.3093925, "bytes_sent": 272, "bytes_received": 128194, "request_id": 5, @@ -14755,9 +14755,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 5.362878999989107, + "duration_ms": 5.148191999978735, "success": true, - "started_at_unix": 1789970938.5935123, + "started_at_unix": 1790057242.319169, "bytes_sent": 272, "bytes_received": 128194, "request_id": 6, @@ -14785,9 +14785,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 5.678867000000309, + "duration_ms": 4.764855000018997, "success": true, - "started_at_unix": 1789970938.6033337, + "started_at_unix": 1790057242.3284976, "bytes_sent": 272, "bytes_received": 128194, "request_id": 7, @@ -14830,11 +14830,11 @@ "failure_count": 0, "bytes_sent": 1204, "bytes_received": 934, - "min_ms": 0.18851199999403434, - "max_ms": 0.2623080000034861, - "mean_ms": 0.22246840000548218, - "median_ms": 0.20918900000310714, - "p95_ms": 0.2601902000037626, + "min_ms": 0.17838399998026944, + "max_ms": 0.2321030000302926, + "mean_ms": 0.2100543999972615, + "median_ms": 0.20482200000060402, + "p95_ms": 0.23188880002180667, "result_summary": { "present_count": 5, "empty_count": 0, @@ -14894,9 +14894,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.5140569999753097, + "duration_ms": 0.4105479999907402, "success": true, - "started_at_unix": 1789970938.613486, + "started_at_unix": 1790057242.3374884, "bytes_sent": 240, "bytes_received": 186, "request_id": 8, @@ -14924,9 +14924,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.2623080000034861, + "duration_ms": 0.2321030000302926, "success": true, - "started_at_unix": 1789970938.6140442, + "started_at_unix": 1790057242.3379412, "bytes_sent": 240, "bytes_received": 186, "request_id": 9, @@ -14954,9 +14954,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.2517190000048686, + "duration_ms": 0.23103199998786295, "success": true, - "started_at_unix": 1789970938.6143568, + "started_at_unix": 1790057242.3382235, "bytes_sent": 241, "bytes_received": 187, "request_id": 10, @@ -14984,9 +14984,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.20918900000310714, + "duration_ms": 0.20482200000060402, "success": true, - "started_at_unix": 1789970938.6146579, + "started_at_unix": 1790057242.3385005, "bytes_sent": 241, "bytes_received": 187, "request_id": 11, @@ -15014,9 +15014,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.20061400002191476, + "duration_ms": 0.20393099998727848, "success": true, - "started_at_unix": 1789970938.6149125, + "started_at_unix": 1790057242.3387518, "bytes_sent": 241, "bytes_received": 187, "request_id": 12, @@ -15044,9 +15044,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.18851199999403434, + "duration_ms": 0.17838399998026944, "success": true, - "started_at_unix": 1789970938.6151574, + "started_at_unix": 1790057242.3390005, "bytes_sent": 241, "bytes_received": 187, "request_id": 13, @@ -15089,11 +15089,11 @@ "failure_count": 0, "bytes_sent": 1420, "bytes_received": 2045, - "min_ms": 0.5543830000078742, - "max_ms": 0.7293389999745159, - "mean_ms": 0.6311777999997048, - "median_ms": 0.6100960000026134, - "p95_ms": 0.7163607999814303, + "min_ms": 0.5563799999777075, + "max_ms": 0.680148000014924, + "mean_ms": 0.6031003999851237, + "median_ms": 0.5926969999450193, + "p95_ms": 0.6674770000131502, "result_summary": { "present_count": 5, "empty_count": 0, @@ -15153,9 +15153,9 @@ { "kind": "request", "method": "textDocument/references", - "duration_ms": 67.1909320000168, + "duration_ms": 48.844756999983474, "success": true, - "started_at_unix": 1789970938.6154575, + "started_at_unix": 1790057242.3392856, "bytes_sent": 284, "bytes_received": 409, "request_id": 14, @@ -15183,9 +15183,9 @@ { "kind": "request", "method": "textDocument/references", - "duration_ms": 0.7293389999745159, + "duration_ms": 0.680148000014924, "success": true, - "started_at_unix": 1789970938.6827433, + "started_at_unix": 1790057242.3882146, "bytes_sent": 284, "bytes_received": 409, "request_id": 15, @@ -15213,9 +15213,9 @@ { "kind": "request", "method": "textDocument/references", - "duration_ms": 0.6100960000026134, + "duration_ms": 0.6167930000060551, "success": true, - "started_at_unix": 1789970938.6835482, + "started_at_unix": 1790057242.3889685, "bytes_sent": 284, "bytes_received": 409, "request_id": 16, @@ -15243,9 +15243,9 @@ { "kind": "request", "method": "textDocument/references", - "duration_ms": 0.5543830000078742, + "duration_ms": 0.5563799999777075, "success": true, - "started_at_unix": 1789970938.684226, + "started_at_unix": 1790057242.3896518, "bytes_sent": 284, "bytes_received": 409, "request_id": 17, @@ -15273,9 +15273,9 @@ { "kind": "request", "method": "textDocument/references", - "duration_ms": 0.5976230000044325, + "duration_ms": 0.5926969999450193, "success": true, - "started_at_unix": 1789970938.6848426, + "started_at_unix": 1790057242.3902667, "bytes_sent": 284, "bytes_received": 409, "request_id": 18, @@ -15303,9 +15303,9 @@ { "kind": "request", "method": "textDocument/references", - "duration_ms": 0.664448000009088, + "duration_ms": 0.5694839999819123, "success": true, - "started_at_unix": 1789970938.6855023, + "started_at_unix": 1790057242.3909178, "bytes_sent": 284, "bytes_received": 409, "request_id": 19, @@ -15348,11 +15348,11 @@ "failure_count": 0, "bytes_sent": 1370, "bytes_received": 328510, - "min_ms": 5.576406000017187, - "max_ms": 6.535375999987991, - "mean_ms": 6.057198600001357, - "median_ms": 6.086026000019729, - "p95_ms": 6.475912599989897, + "min_ms": 4.1320720000044275, + "max_ms": 4.64303699999391, + "mean_ms": 4.425384399996801, + "median_ms": 4.544713999962369, + "p95_ms": 4.623935999995865, "result_summary": { "present_count": 5, "empty_count": 0, @@ -15412,9 +15412,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 6.578452000013613, + "duration_ms": 5.697538999982044, "success": true, - "started_at_unix": 1789970938.6864452, + "started_at_unix": 1790057242.3917637, "bytes_sent": 274, "bytes_received": 65702, "request_id": 20, @@ -15442,9 +15442,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 6.535375999987991, + "duration_ms": 4.544713999962369, "success": true, - "started_at_unix": 1789970938.6940706, + "started_at_unix": 1790057242.3984475, "bytes_sent": 274, "bytes_received": 65702, "request_id": 21, @@ -15472,9 +15472,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 6.23805899999752, + "duration_ms": 4.5475320000036845, "success": true, - "started_at_unix": 1789970938.7021506, + "started_at_unix": 1790057242.404449, "bytes_sent": 274, "bytes_received": 65702, "request_id": 22, @@ -15502,9 +15502,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 6.086026000019729, + "duration_ms": 4.64303699999391, "success": true, - "started_at_unix": 1789970938.7109816, + "started_at_unix": 1790057242.4114506, "bytes_sent": 274, "bytes_received": 65702, "request_id": 23, @@ -15532,9 +15532,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 5.576406000017187, + "duration_ms": 4.259567000019615, "success": true, - "started_at_unix": 1789970938.7185237, + "started_at_unix": 1790057242.4174664, "bytes_sent": 274, "bytes_received": 65702, "request_id": 24, @@ -15562,9 +15562,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 5.850125999984357, + "duration_ms": 4.1320720000044275, "success": true, - "started_at_unix": 1789970938.725535, + "started_at_unix": 1790057242.4230766, "bytes_sent": 274, "bytes_received": 65702, "request_id": 25, @@ -15607,11 +15607,11 @@ "failure_count": 0, "bytes_sent": 1205, "bytes_received": 8825, - "min_ms": 3.4998790000031477, - "max_ms": 3.812280999994755, - "mean_ms": 3.620180799998707, - "median_ms": 3.604763999987881, - "p95_ms": 3.7769891999971605, + "min_ms": 2.7984299999843643, + "max_ms": 2.8865050000490555, + "mean_ms": 2.8336377999949036, + "median_ms": 2.8270629999838093, + "p95_ms": 2.875829000038266, "result_summary": { "present_count": 5, "empty_count": 0, @@ -15671,9 +15671,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 4.326608000013721, + "duration_ms": 2.8015959999834195, "success": true, - "started_at_unix": 1789970938.7330441, + "started_at_unix": 1790057242.428737, "bytes_sent": 241, "bytes_received": 1765, "request_id": 26, @@ -15701,9 +15701,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 3.812280999994755, + "duration_ms": 2.833124999995107, "success": true, - "started_at_unix": 1789970938.73751, + "started_at_unix": 1790057242.4316874, "bytes_sent": 241, "bytes_received": 1765, "request_id": 27, @@ -15731,9 +15731,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 3.635822000006783, + "duration_ms": 2.8865050000490555, "success": true, - "started_at_unix": 1789970938.7414665, + "started_at_unix": 1790057242.4346802, "bytes_sent": 241, "bytes_received": 1765, "request_id": 28, @@ -15761,9 +15761,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 3.604763999987881, + "duration_ms": 2.823065999962182, "success": true, - "started_at_unix": 1789970938.745231, + "started_at_unix": 1790057242.4377303, "bytes_sent": 241, "bytes_received": 1765, "request_id": 29, @@ -15791,9 +15791,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 3.4998790000031477, + "duration_ms": 2.7984299999843643, "success": true, - "started_at_unix": 1789970938.748957, + "started_at_unix": 1790057242.440709, "bytes_sent": 241, "bytes_received": 1765, "request_id": 30, @@ -15821,9 +15821,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 3.548158000000967, + "duration_ms": 2.8270629999838093, "success": true, - "started_at_unix": 1789970938.7525902, + "started_at_unix": 1790057242.4436557, "bytes_sent": 241, "bytes_received": 1765, "request_id": 31, @@ -15855,9 +15855,9 @@ { "kind": "request", "method": "initialize", - "duration_ms": 4.423168000016631, + "duration_ms": 4.078191999951741, "success": true, - "started_at_unix": 1789970938.3426294, + "started_at_unix": 1790057242.1108022, "bytes_sent": 646, "bytes_received": 1589, "request_id": 1, @@ -15876,9 +15876,9 @@ { "kind": "notification", "method": "initialized", - "duration_ms": 0.025789000005715934, + "duration_ms": 0.02077900001040689, "success": true, - "started_at_unix": 1789970938.347186, + "started_at_unix": 1790057242.114986, "bytes_sent": 74, "bytes_received": 0, "request_id": null, @@ -15891,9 +15891,9 @@ { "kind": "notification", "method": "workspace/didChangeConfiguration", - "duration_ms": 0.02682000001641427, + "duration_ms": 0.022231000002648216, "success": true, - "started_at_unix": 1789970938.3472397, + "started_at_unix": 1790057242.1150303, "bytes_sent": 623, "bytes_received": 0, "request_id": null, @@ -15909,9 +15909,9 @@ { "kind": "notification", "method": "textDocument/didOpen", - "duration_ms": 0.025057000016204256, + "duration_ms": 0.020668999979989167, "success": true, - "started_at_unix": 1789970938.3473895, + "started_at_unix": 1790057242.1151648, "bytes_sent": 539, "bytes_received": 0, "request_id": null, @@ -15927,9 +15927,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 209.0427150000096, + "duration_ms": 168.54810400002407, "success": true, - "started_at_unix": 1789970938.347462, + "started_at_unix": 1790057242.115223, "bytes_sent": 272, "bytes_received": 128194, "request_id": 2, @@ -15957,9 +15957,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 9.604588999991392, + "duration_ms": 9.152174000007562, "success": true, - "started_at_unix": 1789970938.5596788, + "started_at_unix": 1790057242.2867532, "bytes_sent": 272, "bytes_received": 128194, "request_id": 3, @@ -15987,9 +15987,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 5.472171000008075, + "duration_ms": 5.045769999981076, "success": true, - "started_at_unix": 1789970938.573787, + "started_at_unix": 1790057242.3001516, "bytes_sent": 272, "bytes_received": 128194, "request_id": 4, @@ -16017,9 +16017,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 5.564113000019688, + "duration_ms": 5.56364799996345, "success": true, - "started_at_unix": 1789970938.5835214, + "started_at_unix": 1790057242.3093925, "bytes_sent": 272, "bytes_received": 128194, "request_id": 5, @@ -16047,9 +16047,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 5.362878999989107, + "duration_ms": 5.148191999978735, "success": true, - "started_at_unix": 1789970938.5935123, + "started_at_unix": 1790057242.319169, "bytes_sent": 272, "bytes_received": 128194, "request_id": 6, @@ -16077,9 +16077,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 5.678867000000309, + "duration_ms": 4.764855000018997, "success": true, - "started_at_unix": 1789970938.6033337, + "started_at_unix": 1790057242.3284976, "bytes_sent": 272, "bytes_received": 128194, "request_id": 7, @@ -16107,9 +16107,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.5140569999753097, + "duration_ms": 0.4105479999907402, "success": true, - "started_at_unix": 1789970938.613486, + "started_at_unix": 1790057242.3374884, "bytes_sent": 240, "bytes_received": 186, "request_id": 8, @@ -16137,9 +16137,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.2623080000034861, + "duration_ms": 0.2321030000302926, "success": true, - "started_at_unix": 1789970938.6140442, + "started_at_unix": 1790057242.3379412, "bytes_sent": 240, "bytes_received": 186, "request_id": 9, @@ -16167,9 +16167,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.2517190000048686, + "duration_ms": 0.23103199998786295, "success": true, - "started_at_unix": 1789970938.6143568, + "started_at_unix": 1790057242.3382235, "bytes_sent": 241, "bytes_received": 187, "request_id": 10, @@ -16197,9 +16197,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.20918900000310714, + "duration_ms": 0.20482200000060402, "success": true, - "started_at_unix": 1789970938.6146579, + "started_at_unix": 1790057242.3385005, "bytes_sent": 241, "bytes_received": 187, "request_id": 11, @@ -16227,9 +16227,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.20061400002191476, + "duration_ms": 0.20393099998727848, "success": true, - "started_at_unix": 1789970938.6149125, + "started_at_unix": 1790057242.3387518, "bytes_sent": 241, "bytes_received": 187, "request_id": 12, @@ -16257,9 +16257,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 0.18851199999403434, + "duration_ms": 0.17838399998026944, "success": true, - "started_at_unix": 1789970938.6151574, + "started_at_unix": 1790057242.3390005, "bytes_sent": 241, "bytes_received": 187, "request_id": 13, @@ -16287,9 +16287,9 @@ { "kind": "request", "method": "textDocument/references", - "duration_ms": 67.1909320000168, + "duration_ms": 48.844756999983474, "success": true, - "started_at_unix": 1789970938.6154575, + "started_at_unix": 1790057242.3392856, "bytes_sent": 284, "bytes_received": 409, "request_id": 14, @@ -16317,9 +16317,9 @@ { "kind": "request", "method": "textDocument/references", - "duration_ms": 0.7293389999745159, + "duration_ms": 0.680148000014924, "success": true, - "started_at_unix": 1789970938.6827433, + "started_at_unix": 1790057242.3882146, "bytes_sent": 284, "bytes_received": 409, "request_id": 15, @@ -16347,9 +16347,9 @@ { "kind": "request", "method": "textDocument/references", - "duration_ms": 0.6100960000026134, + "duration_ms": 0.6167930000060551, "success": true, - "started_at_unix": 1789970938.6835482, + "started_at_unix": 1790057242.3889685, "bytes_sent": 284, "bytes_received": 409, "request_id": 16, @@ -16377,9 +16377,9 @@ { "kind": "request", "method": "textDocument/references", - "duration_ms": 0.5543830000078742, + "duration_ms": 0.5563799999777075, "success": true, - "started_at_unix": 1789970938.684226, + "started_at_unix": 1790057242.3896518, "bytes_sent": 284, "bytes_received": 409, "request_id": 17, @@ -16407,9 +16407,9 @@ { "kind": "request", "method": "textDocument/references", - "duration_ms": 0.5976230000044325, + "duration_ms": 0.5926969999450193, "success": true, - "started_at_unix": 1789970938.6848426, + "started_at_unix": 1790057242.3902667, "bytes_sent": 284, "bytes_received": 409, "request_id": 18, @@ -16437,9 +16437,9 @@ { "kind": "request", "method": "textDocument/references", - "duration_ms": 0.664448000009088, + "duration_ms": 0.5694839999819123, "success": true, - "started_at_unix": 1789970938.6855023, + "started_at_unix": 1790057242.3909178, "bytes_sent": 284, "bytes_received": 409, "request_id": 19, @@ -16467,9 +16467,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.028281999988166717, + "duration_ms": 0.02791299999671537, "success": true, - "started_at_unix": 1789970938.686407, + "started_at_unix": 1790057242.3917263, "bytes_sent": 374, "bytes_received": 0, "request_id": null, @@ -16486,9 +16486,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 6.578452000013613, + "duration_ms": 5.697538999982044, "success": true, - "started_at_unix": 1789970938.6864452, + "started_at_unix": 1790057242.3917637, "bytes_sent": 274, "bytes_received": 65702, "request_id": 20, @@ -16516,9 +16516,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.029084000004786503, + "duration_ms": 0.024295000002894085, "success": true, - "started_at_unix": 1789970938.6940007, + "started_at_unix": 1790057242.398393, "bytes_sent": 318, "bytes_received": 0, "request_id": null, @@ -16535,9 +16535,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.014676999995799633, + "duration_ms": 0.01465700000835568, "success": true, - "started_at_unix": 1789970938.6940396, + "started_at_unix": 1790057242.3984258, "bytes_sent": 374, "bytes_received": 0, "request_id": null, @@ -16554,9 +16554,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 6.535375999987991, + "duration_ms": 4.544713999962369, "success": true, - "started_at_unix": 1789970938.6940706, + "started_at_unix": 1790057242.3984475, "bytes_sent": 274, "bytes_received": 65702, "request_id": 21, @@ -16584,9 +16584,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02848299999413939, + "duration_ms": 0.023564000002807006, "success": true, - "started_at_unix": 1789970938.7020705, + "started_at_unix": 1790057242.4043732, "bytes_sent": 318, "bytes_received": 0, "request_id": null, @@ -16603,9 +16603,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.01432700000236764, + "duration_ms": 0.013304999981755827, "success": true, - "started_at_unix": 1789970938.7021098, + "started_at_unix": 1790057242.4044049, "bytes_sent": 374, "bytes_received": 0, "request_id": null, @@ -16622,9 +16622,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 6.23805899999752, + "duration_ms": 4.5475320000036845, "success": true, - "started_at_unix": 1789970938.7021506, + "started_at_unix": 1790057242.404449, "bytes_sent": 274, "bytes_received": 65702, "request_id": 22, @@ -16652,9 +16652,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.0361870000062936, + "duration_ms": 0.03388400000403635, "success": true, - "started_at_unix": 1789970938.7108972, + "started_at_unix": 1790057242.41137, "bytes_sent": 318, "bytes_received": 0, "request_id": null, @@ -16671,9 +16671,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.021801000002596993, + "duration_ms": 0.024365999991005083, "success": true, - "started_at_unix": 1789970938.710947, + "started_at_unix": 1790057242.4114158, "bytes_sent": 374, "bytes_received": 0, "request_id": null, @@ -16690,9 +16690,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 6.086026000019729, + "duration_ms": 4.64303699999391, "success": true, - "started_at_unix": 1789970938.7109816, + "started_at_unix": 1790057242.4114506, "bytes_sent": 274, "bytes_received": 65702, "request_id": 23, @@ -16720,9 +16720,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02741099999070684, + "duration_ms": 0.023393999981635716, "success": true, - "started_at_unix": 1789970938.7184625, + "started_at_unix": 1790057242.4174128, "bytes_sent": 318, "bytes_received": 0, "request_id": null, @@ -16739,9 +16739,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.013916000000335771, + "duration_ms": 0.013866000017515034, "success": true, - "started_at_unix": 1789970938.7185, + "started_at_unix": 1790057242.4174447, "bytes_sent": 375, "bytes_received": 0, "request_id": null, @@ -16758,9 +16758,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 5.576406000017187, + "duration_ms": 4.259567000019615, "success": true, - "started_at_unix": 1789970938.7185237, + "started_at_unix": 1790057242.4174664, "bytes_sent": 274, "bytes_received": 65702, "request_id": 24, @@ -16788,9 +16788,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.026298999983964677, + "duration_ms": 0.02384500004382062, "success": true, - "started_at_unix": 1789970938.725477, + "started_at_unix": 1790057242.423023, "bytes_sent": 319, "bytes_received": 0, "request_id": null, @@ -16807,9 +16807,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.01333500000555432, + "duration_ms": 0.013595000041277672, "success": true, - "started_at_unix": 1789970938.7255125, + "started_at_unix": 1790057242.4230554, "bytes_sent": 375, "bytes_received": 0, "request_id": null, @@ -16826,9 +16826,9 @@ { "kind": "request", "method": "textDocument/completion", - "duration_ms": 5.850125999984357, + "duration_ms": 4.1320720000044275, "success": true, - "started_at_unix": 1789970938.725535, + "started_at_unix": 1790057242.4230766, "bytes_sent": 274, "bytes_received": 65702, "request_id": 25, @@ -16856,9 +16856,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02896299997701135, + "duration_ms": 0.022562999959063745, "success": true, - "started_at_unix": 1789970938.7328043, + "started_at_unix": 1790057242.4285066, "bytes_sent": 319, "bytes_received": 0, "request_id": null, @@ -16875,9 +16875,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02581799998324641, + "duration_ms": 0.025277000020196283, "success": true, - "started_at_unix": 1789970938.7330081, + "started_at_unix": 1790057242.4287028, "bytes_sent": 374, "bytes_received": 0, "request_id": null, @@ -16894,9 +16894,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 4.326608000013721, + "duration_ms": 2.8015959999834195, "success": true, - "started_at_unix": 1789970938.7330441, + "started_at_unix": 1790057242.428737, "bytes_sent": 241, "bytes_received": 1765, "request_id": 26, @@ -16924,9 +16924,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.02923400001009213, + "duration_ms": 0.04871100003356332, "success": true, - "started_at_unix": 1789970938.7374427, + "started_at_unix": 1790057242.4316015, "bytes_sent": 319, "bytes_received": 0, "request_id": null, @@ -16943,9 +16943,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.018955000001597, + "duration_ms": 0.019345999987763207, "success": true, - "started_at_unix": 1789970938.7374818, + "started_at_unix": 1790057242.4316595, "bytes_sent": 374, "bytes_received": 0, "request_id": null, @@ -16962,9 +16962,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 3.812280999994755, + "duration_ms": 2.833124999995107, "success": true, - "started_at_unix": 1789970938.73751, + "started_at_unix": 1790057242.4316874, "bytes_sent": 241, "bytes_received": 1765, "request_id": 27, @@ -16992,9 +16992,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.024706000004925954, + "duration_ms": 0.048720999984652735, "success": true, - "started_at_unix": 1789970938.741408, + "started_at_unix": 1790057242.4345987, "bytes_sent": 319, "bytes_received": 0, "request_id": null, @@ -17011,9 +17011,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.015960000013137687, + "duration_ms": 0.01631100002441599, "success": true, - "started_at_unix": 1789970938.7414422, + "started_at_unix": 1790057242.4346561, "bytes_sent": 374, "bytes_received": 0, "request_id": null, @@ -17030,9 +17030,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 3.635822000006783, + "duration_ms": 2.8865050000490555, "success": true, - "started_at_unix": 1789970938.7414665, + "started_at_unix": 1790057242.4346802, "bytes_sent": 241, "bytes_received": 1765, "request_id": 28, @@ -17060,9 +17060,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.020008000007010196, + "duration_ms": 0.04957199996624695, "success": true, - "started_at_unix": 1789970938.745183, + "started_at_unix": 1790057242.4376478, "bytes_sent": 319, "bytes_received": 0, "request_id": null, @@ -17079,9 +17079,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.012893000018721068, + "duration_ms": 0.016239999979461572, "success": true, - "started_at_unix": 1789970938.7452106, + "started_at_unix": 1790057242.4377058, "bytes_sent": 374, "bytes_received": 0, "request_id": null, @@ -17098,9 +17098,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 3.604763999987881, + "duration_ms": 2.823065999962182, "success": true, - "started_at_unix": 1789970938.745231, + "started_at_unix": 1790057242.4377303, "bytes_sent": 241, "bytes_received": 1765, "request_id": 29, @@ -17128,9 +17128,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.020998999985977207, + "duration_ms": 0.047639000001709064, "success": true, - "started_at_unix": 1789970938.7489066, + "started_at_unix": 1790057242.4406285, "bytes_sent": 319, "bytes_received": 0, "request_id": null, @@ -17147,9 +17147,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.013043999985029586, + "duration_ms": 0.01663099999404949, "success": true, - "started_at_unix": 1789970938.7489355, + "started_at_unix": 1790057242.4406848, "bytes_sent": 374, "bytes_received": 0, "request_id": null, @@ -17166,9 +17166,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 3.4998790000031477, + "duration_ms": 2.7984299999843643, "success": true, - "started_at_unix": 1789970938.748957, + "started_at_unix": 1790057242.440709, "bytes_sent": 241, "bytes_received": 1765, "request_id": 30, @@ -17196,9 +17196,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.023233000007394367, + "duration_ms": 0.024355999983072252, "success": true, - "started_at_unix": 1789970938.7525353, + "started_at_unix": 1790057242.4436007, "bytes_sent": 319, "bytes_received": 0, "request_id": null, @@ -17215,9 +17215,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.014767000010351694, + "duration_ms": 0.015458999996553757, "success": true, - "started_at_unix": 1789970938.752567, + "started_at_unix": 1790057242.4436326, "bytes_sent": 374, "bytes_received": 0, "request_id": null, @@ -17234,9 +17234,9 @@ { "kind": "request", "method": "textDocument/hover", - "duration_ms": 3.548158000000967, + "duration_ms": 2.8270629999838093, "success": true, - "started_at_unix": 1789970938.7525902, + "started_at_unix": 1790057242.4436557, "bytes_sent": 241, "bytes_received": 1765, "request_id": 31, @@ -17264,9 +17264,9 @@ { "kind": "notification", "method": "textDocument/didChange", - "duration_ms": 0.0218399999880603, + "duration_ms": 0.02740200000062032, "success": true, - "started_at_unix": 1789970938.756242, + "started_at_unix": 1790057242.4465954, "bytes_sent": 319, "bytes_received": 0, "request_id": null, @@ -17283,9 +17283,9 @@ { "kind": "notification", "method": "textDocument/didClose", - "duration_ms": 0.016430000016498525, + "duration_ms": 0.01995799999576775, "success": true, - "started_at_unix": 1789970938.7563512, + "started_at_unix": 1790057242.4467142, "bytes_sent": 198, "bytes_received": 0, "request_id": null, @@ -17298,9 +17298,9 @@ { "kind": "request", "method": "shutdown", - "duration_ms": 2.1016839999958847, + "duration_ms": 1.8060649999824818, "success": true, - "started_at_unix": 1789970938.7563744, + "started_at_unix": 1790057242.446742, "bytes_sent": 67, "bytes_received": 61, "request_id": 32, @@ -17318,9 +17318,9 @@ { "kind": "notification", "method": "exit", - "duration_ms": 0.01969699999904151, + "duration_ms": 0.019145999999636842, "success": true, - "started_at_unix": 1789970938.758493, + "started_at_unix": 1790057242.4485648, "bytes_sent": 55, "bytes_received": 0, "request_id": null,