REGR: df.apply('any', axis=1) fails with ValueError

This issue has been created since 2022-09-20.

Pandas version checks

  • I have checked that this issue has not already been reported.

  • I have confirmed this bug exists on the latest version of pandas.

  • I have confirmed this bug exists on the main branch of pandas.

Reproducible Example

import pandas as pd
df = pd.DataFrame({'a': [0, 1]})
print(df.apply('any', axis=1))

Issue Description

When running the snippet above, pandas 1.5 produces the following stack trace:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\Vass\.conda\envs\pandas\lib\site-packages\pandas\core\frame.py", line 9558, in apply
    return op.apply().__finalize__(self, method="apply")
  File "C:\Users\Vass\.conda\envs\pandas\lib\site-packages\pandas\core\apply.py", line 720, in apply
    return self.apply_str()
  File "C:\Users\Vass\.conda\envs\pandas\lib\site-packages\pandas\core\apply.py", line 923, in apply_str
    return super().apply_str()
  File "C:\Users\Vass\.conda\envs\pandas\lib\site-packages\pandas\core\apply.py", line 556, in apply_str
    raise ValueError(f"Operation {f} does not support axis=1")
ValueError: Operation any does not support axis=1

I believe the root cause is this chunk of code:

pandas/pandas/core/apply.py

Lines 550 to 556 in c68a96f

func = getattr(obj, f, None)
if callable(func):
sig = inspect.getfullargspec(func)
if self.axis != 0 and (
"axis" not in sig.args or f in ("corrwith", "mad", "skew")
):
raise ValueError(f"Operation {f} does not support axis=1")

which should get the signature of pandas.DataFrame.any but, as .any() is decorated:

pandas/pandas/core/generic.py

Lines 11629 to 11647 in c68a96f

@deprecate_nonkeyword_arguments(
version=None,
allowed_args=["self"],
name="DataFrame.any and Series.any",
)
@doc(
_bool_doc,
desc=_any_desc,
name1=name1,
name2=name2,
axis_descr=axis_descr,
see_also=_any_see_also,
examples=_any_examples,
empty_value=False,
)
def any(
self, axis=0, bool_only=None, skipna: bool_t = True, level=None, **kwargs
):
return NDFrame.any(self, axis, bool_only, skipna, level, **kwargs)

it gets the signature of the decorator function instead.

Expected Behavior

The snippet above is printing the following when run on pandas 1.4.4:

0    False
1     True
dtype: bool

I believe it should print the same on 1.5.x, too.

Installed Versions

pd.show_versions()
INSTALLED VERSIONS
------------------
commit           : 87cfe4e38bafe7300a6003a1d18bd80f3f77c763
python           : 3.8.13.final.0
python-bits      : 64
OS               : Windows
OS-release       : 10
Version          : 10.0.22000
machine          : AMD64
processor        : AMD64 Family 25 Model 80 Stepping 0, AuthenticAMD
byteorder        : little
LC_ALL           : None
LANG             : None
LOCALE           : Russian_Russia.1251

pandas           : 1.5.0
numpy            : 1.23.3
pytz             : 2022.2.1
dateutil         : 2.8.2
setuptools       : 65.3.0
pip              : 22.2.2
Cython           : None
pytest           : None
hypothesis       : None
sphinx           : None
blosc            : None
feather          : None
xlsxwriter       : None
lxml.etree       : None
html5lib         : None
pymysql          : None
psycopg2         : None
jinja2           : None
IPython          : None
pandas_datareader: None
bs4              : None
bottleneck       : None
brotli           : None
fastparquet      : None
fsspec           : None
gcsfs            : None
matplotlib       : None
numba            : None
numexpr          : None
odfpy            : None
openpyxl         : None
pandas_gbq       : None
pyarrow          : None
pyreadstat       : None
pyxlsb           : None
s3fs             : None
scipy            : None
snappy           : None
sqlalchemy       : None
tables           : None
tabulate         : None
xarray           : None
xlrd             : None
xlwt             : None
zstandard        : None
tzdata           : None
MarcoGorelli wrote this answer on 2022-09-20

Thanks @vnlitvinov for the report, looks like this was caused by #44896

phofl wrote this answer on 2022-09-20

Yep, can confirm:

commit a59582da8c9fa410ac05e25ee117a7fef996247f
Author: Sachin Yadav <[email protected]>
Date:   Mon Apr 11 01:04:27 2022 +0530

    DEPR: non-keyword arguments in any (#44896)
More Details About Repo
Owner Name pandas-dev
Repo Name pandas
Full Name pandas-dev/pandas
Language Python
Created Date 2010-08-24
Updated Date 2022-09-29
Star Count 35374
Watcher Count 1122
Fork Count 15034
Issue Count 3579

YOU MAY BE INTERESTED

Issue Title Created Date Comment Count Updated Date
[Feature Request] Download series cover art from plugin when downloading a manga 0 2022-09-01 2022-09-27
Feature Request: Option to run server in the background and open player only when somethings starts playing 1 2022-02-11 2022-09-05
First deployment does not look like template 3 2021-10-12 2022-05-28
TypeError: Cannot read property 'id' of null 3 2021-03-25 2022-08-20
Target class [navi] does not exist. Sage 10 release (March 1st, 2022) 17 2022-03-02 2022-09-24
[Feature] multi-cast filter 8 2022-05-13 2022-09-05
CUDA error: out of memory 1 2022-04-23 2022-08-08
mesh.section_multiplane() is slow 4 2022-02-03 2022-07-31
[Task]: Change feed top padding 1 2022-02-22 2022-09-25
Top-k with MinHash LSH Ensemble? 1 2021-01-09 2022-09-25
Cleanup Redis memory when deconstructing Storage object? 2 2021-03-23 2022-07-01
Remove key from the index for MinHash LSH Forest 1 2021-01-25 2022-05-24
nMigen thinks -5 / 2 = 3 7 2021-07-14 2022-09-13
Grafana 8 Compatibility 5 2021-06-21 2022-09-20
href="#anchor" links not working 1 2021-03-21 2022-07-24
Typing issues creating utility functions around `getEntries` 2 2022-05-12 2022-07-29
Support HSV for this addon 1 2022-01-29 2022-08-30
Ring Keypad Brightness 7 2022-01-31 2022-08-28
Pacstrap error: 4 2021-12-04 2022-01-12
Never manage to install it inside VirtualBox 7 2021-12-06 2022-07-26
Improve the sub-items system 4 2022-07-04 2022-09-03
[Portal] Hydration failure in SSR when initially rendered 5 2022-05-10 2022-09-12
Cannot manipulate the pinned window using i3 shortcuts 21 2022-07-07 2022-08-11
nvim 0.6.0 (HEAD) incompatibility 3 2021-10-22 2022-09-28
Intranet not available when some php modules disabled or not compiled 3 2021-04-19 2022-09-15
Error installing ganache-cli on Windows 11 using yarn package manager (4:20:09) [works with npm install -g] 2 2021-10-03 2022-09-22
Stop now results in "Detected non-empty blocksets with no associated blocks!" 48 2020-01-01 2022-09-01
[Bug] Installing it from scratch no longer works 2 2021-03-03 2022-09-21
NPE when trying to get body of a chunked HTTP response in client 3 2021-08-20 2022-07-24
[Attributor] Privatization allocas are placed in AS 0 which triggers crash in AMDGPU backend 4 2022-02-10 2022-07-23
[clang] Update cppreference parser for Standard Library headers mapping 0 2022-02-10 2022-02-06
sanitizer-common: Linux/get_sock_peer_name.cpp fails without outgoing network iface 9 2022-02-10 2022-02-06
AxisError: axis 1 is out of bounds for array of dimension 1 1 2022-06-24 2022-06-27
AxisError: axis 1 is out of bounds for array of dimension 1 11 2022-06-27 2022-09-20
Inefficient query building when using BIT(1) -> bool mappings 5 2021-11-28 2022-06-13
[Benchmark] HF Trainer on RTX-3090 8 2021-12-03 2022-08-22
dependsOn error when creating an eks nodegroup in Python 3 2021-08-03 2022-08-19
Use the latest VPC_CNI Version 1.9 7 2021-08-10 2022-09-01
Terminate fuzzers before node teardown 1 2021-09-04 2022-09-25
Conformance tests are failing 1 2021-07-15 2022-09-22
End of build log of included build is not shown in build scans 0 2022-04-28 2022-09-02
IOS style app 1 2020-12-05 2022-01-16
[vm] Remove duplicate slots corresponding to UntaggedPointerBase.data_ 0 2022-02-01 2022-09-22
MongoAuth 4.1.x does not use custom property names correctly 1 2021-09-23 2022-09-05
Singularity-avoiding priors 0 2022-04-11 2022-09-17
php8.0 编译不成功 1 2021-01-09 2022-01-12
Generic match for any file changed 1 2021-08-11 2022-09-20
libevdev_1.12.0-1_arm_cortex-a15_neon-vfpv4.ipk : cannot install offline 0 2022-06-30 2022-09-27
Error updating notebooks 0 2022-08-14 2022-09-19
[in-app-purchase] [iOS] Free products are not showing up 7 2021-11-02 2022-09-05