Skip to content

Commit e605849

Browse files
authored
Merge branch 'main' into finalize_indexers_iterators
2 parents 010fe77 + e932ec9 commit e605849

File tree

110 files changed

+1224
-1413
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

110 files changed

+1224
-1413
lines changed

.github/workflows/datamanger.yml

-54
This file was deleted.

.github/workflows/posix.yml

+20-1
Original file line numberDiff line numberDiff line change
@@ -26,37 +26,52 @@ jobs:
2626
matrix:
2727
env_file: [actions-38.yaml, actions-39.yaml, actions-310.yaml]
2828
pattern: ["not single_cpu", "single_cpu"]
29+
# Don't test pyarrow v2/3: Causes timeouts in read_csv engine
30+
# even if tests are skipped/xfailed
31+
pyarrow_version: ["5", "6", "7"]
2932
include:
3033
- env_file: actions-38-downstream_compat.yaml
3134
pattern: "not slow and not network and not single_cpu"
3235
pytest_target: "pandas/tests/test_downstream.py"
36+
name: "Downstream Compat"
3337
- env_file: actions-38-minimum_versions.yaml
3438
pattern: "not slow and not network and not single_cpu"
39+
name: "Minimum Versions"
3540
- env_file: actions-38.yaml
3641
pattern: "not slow and not network and not single_cpu"
3742
extra_apt: "language-pack-it"
3843
lang: "it_IT.utf8"
3944
lc_all: "it_IT.utf8"
45+
name: "Locale: it_IT.utf8"
4046
- env_file: actions-38.yaml
4147
pattern: "not slow and not network and not single_cpu"
4248
extra_apt: "language-pack-zh-hans"
4349
lang: "zh_CN.utf8"
4450
lc_all: "zh_CN.utf8"
51+
name: "Locale: zh_CN.utf8"
52+
- env_file: actions-38.yaml
53+
pattern: "not slow and not network and not single_cpu"
54+
pandas_data_manager: "array"
55+
name: "Data Manager"
4556
- env_file: actions-pypy-38.yaml
4657
pattern: "not slow and not network and not single_cpu"
4758
test_args: "--max-worker-restart 0"
59+
name: "Pypy"
4860
- env_file: actions-310-numpydev.yaml
4961
pattern: "not slow and not network and not single_cpu"
5062
pandas_testing_mode: "deprecate"
5163
test_args: "-W error"
64+
name: "Numpy Dev"
5265
fail-fast: false
66+
name: ${{ matrix.name || format('{0} pyarrow={1} {2}', matrix.env_file, matrix.pyarrow_version, matrix.pattern) }}
5367
env:
5468
ENV_FILE: ci/deps/${{ matrix.env_file }}
5569
PATTERN: ${{ matrix.pattern }}
5670
EXTRA_APT: ${{ matrix.extra_apt || '' }}
5771
LANG: ${{ matrix.lang || '' }}
5872
LC_ALL: ${{ matrix.lc_all || '' }}
5973
PANDAS_TESTING_MODE: ${{ matrix.pandas_testing_mode || '' }}
74+
PANDAS_DATA_MANAGER: ${{ matrix.pandas_data_manager || 'block' }}
6075
TEST_ARGS: ${{ matrix.test_args || '' }}
6176
PYTEST_WORKERS: ${{ contains(matrix.pattern, 'not single_cpu') && 'auto' || '1' }}
6277
PYTEST_TARGET: ${{ matrix.pytest_target || 'pandas' }}
@@ -65,7 +80,7 @@ jobs:
6580
COVERAGE: ${{ !contains(matrix.env_file, 'pypy') }}
6681
concurrency:
6782
# https://github.community/t/concurrecy-not-work-for-push/183068/7
68-
group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-${{ matrix.env_file }}-${{ matrix.pattern }}-${{ matrix.extra_apt || '' }}
83+
group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-${{ matrix.env_file }}-${{ matrix.pattern }}-${{ matrix.pyarrow_version || '' }}-${{ matrix.extra_apt || '' }}-${{ matrix.pandas_data_manager || '' }}
6984
cancel-in-progress: true
7085

7186
services:
@@ -133,6 +148,10 @@ jobs:
133148
use-only-tar-bz2: true
134149
if: ${{ env.IS_PYPY == 'false' }} # No pypy3.8 support
135150

151+
- name: Upgrade Arrow version
152+
run: conda install -n pandas-dev -c conda-forge --no-update-deps pyarrow=${{ matrix.pyarrow_version }}
153+
if: ${{ matrix.pyarrow_version }}
154+
136155
- name: Setup PyPy
137156
uses: actions/setup-python@v2
138157
with:

asv_bench/benchmarks/join_merge.py

+13
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,19 @@ def time_left_outer_join_index(self):
158158
self.left.join(self.right, on="jim")
159159

160160

161+
class JoinEmpty:
162+
def setup(self):
163+
N = 100_000
164+
self.df = DataFrame({"A": np.arange(N)})
165+
self.df_empty = DataFrame(columns=["B", "C"], dtype="int64")
166+
167+
def time_inner_join_left_empty(self):
168+
self.df_empty.join(self.df, how="inner")
169+
170+
def time_inner_join_right_empty(self):
171+
self.df.join(self.df_empty, how="inner")
172+
173+
161174
class JoinNonUnique:
162175
# outer join of non-unique
163176
# GH 6329

azure-pipelines.yml

-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ variables:
2222
PANDAS_CI: 1
2323

2424
jobs:
25-
# Mac and Linux use the same template
2625
- template: ci/azure/posix.yml
2726
parameters:
2827
name: macOS

ci/azure/posix.yml

+11-6
Original file line numberDiff line numberDiff line change
@@ -10,30 +10,35 @@ jobs:
1010
strategy:
1111
matrix:
1212
py38:
13-
ENV_FILE: ci/deps/azure-macos-38.yaml
13+
ENV_FILE: ci/deps/actions-38.yaml
1414
CONDA_PY: "38"
1515

1616
py39:
17-
ENV_FILE: ci/deps/azure-macos-39.yaml
17+
ENV_FILE: ci/deps/actions-39.yaml
1818
CONDA_PY: "39"
1919

2020
py310:
21-
ENV_FILE: ci/deps/azure-macos-310.yaml
21+
ENV_FILE: ci/deps/actions-310.yaml
2222
CONDA_PY: "310"
2323

2424
steps:
2525
- script: echo '##vso[task.prependpath]$(HOME)/miniconda3/bin'
2626
displayName: 'Set conda path'
2727

28+
- script: rm /usr/local/miniconda/pkgs/cache/*.json
29+
displayName: 'Workaround for mamba-org/mamba#488'
30+
2831
- script: ci/setup_env.sh
2932
displayName: 'Setup environment and build pandas'
3033

3134
- script: |
32-
source activate pandas-dev
33-
ci/run_tests.sh
35+
conda run -n pandas-dev --no-capture-output ci/run_tests.sh
3436
displayName: 'Test'
3537
36-
- script: source activate pandas-dev && pushd /tmp && python -c "import pandas; pandas.show_versions();" && popd
38+
- script: |
39+
pushd /tmp
40+
conda run -n pandas-dev python -c "import pandas; pandas.show_versions()"
41+
popd
3742
displayName: 'Build versions'
3843
3944
- task: PublishTestResults@2

ci/azure/windows.yml

+10-4
Original file line numberDiff line numberDiff line change
@@ -26,16 +26,22 @@ jobs:
2626
Write-Host "##vso[task.prependpath]$env:CONDA\Scripts"
2727
Write-Host "##vso[task.prependpath]$HOME/miniconda3/bin"
2828
displayName: 'Add conda to PATH'
29-
- script: conda update -q -n base conda
30-
displayName: 'Update conda'
29+
- bash: conda install -yv -c conda-forge -n base 'mamba>=0.21.2'
30+
displayName: 'Install mamba'
3131

3232
- bash: |
33-
conda env create -q --file ci\\deps\\actions-$(CONDA_PY).yaml
33+
# See https://github.com/mamba-org/mamba/issues/1370
34+
# See https://github.com/mamba-org/mamba/issues/633
35+
C:\\Miniconda\\condabin\\mamba.bat create -n pandas-dev
36+
C:\\Miniconda\\condabin\\mamba.bat env update -n pandas-dev --file ci\\deps\\actions-$(CONDA_PY).yaml
37+
# TODO: GH#44980 https://github.com/pypa/setuptools/issues/2941
38+
C:\\Miniconda\\condabin\\mamba.bat install -n pandas-dev 'setuptools<60'
39+
C:\\Miniconda\\condabin\\mamba.bat list -n pandas-dev
3440
displayName: 'Create anaconda environment'
3541
- bash: |
3642
source activate pandas-dev
3743
conda list
38-
python setup.py build_ext -q -j 4
44+
python setup.py build_ext -q -j 2
3945
python -m pip install --no-build-isolation -e .
4046
displayName: 'Build'
4147
- bash: |

ci/deps/azure-macos-310.yaml

-36
This file was deleted.

ci/deps/azure-macos-38.yaml

-36
This file was deleted.

ci/deps/azure-macos-39.yaml

-36
This file was deleted.

0 commit comments

Comments
 (0)