Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
megabyde opened this issue Aug 16, 2018 · 0 comments

Comments

Projects
None yet
2 participants
@megabyde
Copy link
Contributor

commented Aug 16, 2018

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.