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 · Fixed by #22377
Labels
Bug Numeric Operations Arithmetic, Comparison, and Logical operations Reshaping Concat, Merge/Join, Stack/Unstack, Explode
Milestone

Comments

@megabyde
Copy link
Contributor

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

@jreback jreback added this to the 0.24.0 milestone Aug 16, 2018
@jreback jreback added Bug Reshaping Concat, Merge/Join, Stack/Unstack, Explode Numeric Operations Arithmetic, Comparison, and Logical operations labels Aug 16, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Numeric Operations Arithmetic, Comparison, and Logical operations Reshaping Concat, Merge/Join, Stack/Unstack, Explode
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants