-
- Notifications
You must be signed in to change notification settings - Fork 19.4k
DOC: Add missing docstrings #31047
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
DOC: Add missing docstrings #31047
Changes from 2 commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| | @@ -1163,6 +1163,9 @@ def to_frame(self, index=True, name=None): | |||||
| | ||||||
| @property | ||||||
| def name(self): | ||||||
| """ | ||||||
| Return Index or MultiIndex name. | ||||||
| """ | ||||||
| return self._name | ||||||
| | ||||||
| @name.setter | ||||||
| | @@ -1644,21 +1647,184 @@ def is_unique(self) -> bool: | |||||
| | ||||||
| @property | ||||||
| def has_duplicates(self) -> bool: | ||||||
| """ | ||||||
| Check if the Index has duplicate values. | ||||||
| | ||||||
| Returns | ||||||
| ------- | ||||||
| boolean | ||||||
| Whether or not the Index has duplicate values. | ||||||
| Member There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. For a case like this, this might be a bit duplicative with the first line. Do we (or the validation script) always require an explanation of the return type? Contributor Author There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes the validation script requires a description for return values. Related error code: Member There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. (this discussion is certainly not a blocker for this PR, to be clear) @datapythonista what's your view on this? It's of course easiest to be consistent / have a clear rule in the validation. But personally, I find that it doesn't add any value in this specific case. Member There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I agree it's probably a bit repetitive. I think it may add value, even if from the short summary and the the name of the function, it should be easier for most people to infer what is the output (what True and False mean), I guess beginners can appreciate having it explicit. It's difficult sometimes to know if what is obvious for us it's for other people. In any case, assuming it literally doesn't add any value, with all the work we've got with docstrings, I would just simply move forward, since there are so many other things that I think are more important and worth more our time. I think this looks fine to me, even if the repetition is not ideal. Member There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Duplicate content can also add noise, as you might need to read both to ensure you don't miss something. Anyway, not a discussion to continue on this PR | ||||||
| | ||||||
| Examples | ||||||
| -------- | ||||||
| >>> idx = pd.Index([1, 5, 7, 7]) | ||||||
| >>> idx.has_duplicates | ||||||
| True | ||||||
| | ||||||
| >>> idx = pd.Index([1, 5, 7]) | ||||||
| >>> idx.has_duplicates | ||||||
| False | ||||||
| | ||||||
| >>> idx = pd.Index(["Watermelon", "Orange", "Apple", | ||||||
| ... "Watermelon"]).astype("category") | ||||||
| >>> idx.has_duplicates | ||||||
| True | ||||||
| | ||||||
| >>> idx = pd.Index(["Orange", "Apple", | ||||||
| ... "Watermelon"]).astype("category") | ||||||
| >>> idx.has_duplicates | ||||||
| False | ||||||
| """ | ||||||
| return not self.is_unique | ||||||
| | ||||||
| def is_boolean(self) -> bool: | ||||||
| """ | ||||||
| Check if the Index only consists of booleans. | ||||||
| | ||||||
| Returns | ||||||
| ------- | ||||||
| boolean | ||||||
| ||||||
| boolean | |
| bool |
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: "Returns" section above the "See also"
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| boolean | |
| bool |
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In practice, this is the same as above, as this will be parsed into a FloatIndex. So if we want a third example, I would maybe rather shows strings (or just leave it out)
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
First line should be a single line. More information can be added later, in other paragraphs. This is for the index pages, to display correctly.
https://pandas.io/docs/development/contributing_docstring.html#section-1-short-summary
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| boolean | |
| bool |
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same comment here as above.
I understand that from looking at the lists that are used to create the index, it looks like different cases, but all those are Float64Index objects. So for this case, I find it makes it actually more confusing (it would be rather an example to show in the main Index docstring to illustrate the constructor).
Thoughts?
Showing that it can contain NaN is of course useful.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see; I was thinking by showing it, people who are not familiar with Float64Index objects will now what to expect, but I do agree that it's probably better to be an example to show in the main Index docstring. Will modify it & leave the NaNs
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| >>> idx.is_integer() | |
| >>> idx.is_floating() |
I think this is a typo
datapythonista marked this conversation as resolved. Show resolved Hide resolved
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This can fit in one line.
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| boolean | |
| bool |
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| data. | |
| data. |
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| boolean | |
| bool |
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| boolean | |
| bool |
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| boolean | |
| bool |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
https://pandas.io/docs/development/contributing_docstring.html#parameter-types