Skip to content

API: change default for sep in str.cat (in docstring) #23443

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

Merged
merged 11 commits into from
Nov 6, 2018
9 changes: 4 additions & 5 deletions pandas/core/strings.py
Original file line number Diff line number Diff line change
Expand Up @@ -2051,7 +2051,7 @@ def _get_series_list(self, others, ignore_index=False):
return ([Series(others, index=idx)], False)
raise TypeError(err_msg)

def cat(self, others=None, sep=None, na_rep=None, join=None):
def cat(self, others=None, sep='', na_rep=None, join=None):
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

there is likely some other check for sep is None in the codebase, this shouldn't pass, and as I said pls change back to the original modulo the doc-string.

"""
Concatenate strings in the Series/Index with given separator.

Expand All @@ -2074,8 +2074,9 @@ def cat(self, others=None, sep=None, na_rep=None, join=None):

If others is None, the method returns the concatenation of all
strings in the calling Series/Index.
sep : string or None, default None
If None, concatenates without any separator.
sep : string, default ''
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

string --> str; iirc when specifying parameter types we want to use the Python function name (e.g. bool instead of boolean, dict instead of dictionary, etc.). Can you also modify na_rep a couple lines below?

The separator between the different elements/columns. By default
the empty string `''` is used.
na_rep : string or None, default None
Representation that is inserted for all missing values:

Expand Down Expand Up @@ -2196,8 +2197,6 @@ def cat(self, others=None, sep=None, na_rep=None, join=None):

if isinstance(others, compat.string_types):
raise ValueError("Did you mean to supply a `sep` keyword?")
if sep is None:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think just adding the doc-string update is enough. we commondly accept none, then actuall do this check here. The reason is if you actually pass None your change will fail (pls add a test to check that)

sep = ''

if isinstance(self._orig, Index):
data = Series(self._orig, index=self._orig)
Expand Down