Skip to content

DataFrame.apply fails for string function arguments with additional positional or keyword arguments #22376

Closed
@megabyde

Description

@megabyde

Code sample

import pandas as pd
df = pd.DataFrame([[1, 2, 3], [1, 2, 3]])
df.apply('sum', axis=1, min_count=1)

Problem description

When we use the DataFrame.apply method with a string function argument (e.g. 'sum') and provide additional positional or keyword arguments it fails with the following exception:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<cut>/pandas/core/frame.py", line 6173, in apply
    return op.get_result()
  File "<cut>/pandas/core/apply.py", line 151, in get_result
    return self.apply_standard()
  File "<cut>/pandas/core/apply.py", line 257, in apply_standard
    self.apply_series_generator()
  File "<cut>/pandas/core/apply.py", line 286, in apply_series_generator
    results[i] = self.f(v)
  File "<cut>/pandas-dev/pandas/core/apply.py", line 78, in f
    return func(x, *args, **kwds)
TypeError: ("'str' object is not callable", 'occurred at index 0')

but works just fine without additional arguments. The code above fails in master.

Expected Output

>>> df.apply('sum', axis=1, min_count=1)
0    6
1    6
dtype: int64

Output of pd.show_versions()

INSTALLED VERSIONS ------------------ commit: 70e6f7c python: 3.6.6.final.0 python-bits: 64 OS: Linux OS-release: 3.0.101-108.13.1.14249.0.PTF-default machine: x86_64 processor: x86_64 byteorder: little LC_ALL: None LANG: en_US.UTF-8 LOCALE: en_US.UTF-8

pandas: 0.24.0.dev0+469.g70e6f7c3c
pytest: 3.7.1
pip: 10.0.1
setuptools: 40.0.0
Cython: 0.28.5
numpy: 1.15.0
scipy: 1.1.0
pyarrow: 0.9.0
xarray: 0.10.8
IPython: 6.5.0
sphinx: 1.7.6
patsy: 0.5.0
dateutil: 2.7.3
pytz: 2018.5
blosc: None
bottleneck: 1.2.1
tables: 3.4.4
numexpr: 2.6.7
feather: 0.4.0
matplotlib: 2.2.3
openpyxl: 2.5.5
xlrd: 1.1.0
xlwt: 1.3.0
xlsxwriter: 1.0.5
lxml: 4.2.4
bs4: 4.6.3
html5lib: 1.0.1
sqlalchemy: 1.2.10
pymysql: 0.9.2
psycopg2: None
jinja2: 2.10
s3fs: 0.1.5
fastparquet: None
pandas_gbq: None
pandas_datareader: None
gcsfs: 0.1.1

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugNumeric OperationsArithmetic, Comparison, and Logical operationsReshapingConcat, Merge/Join, Stack/Unstack, Explode

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions