-
-
Notifications
You must be signed in to change notification settings - Fork 18.1k
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: Clarify and add fill_value example in arithmetic ops #19675
Changes from 5 commits
24d704a
b5d9d6f
c45dbd9
b2794d9
13f1f00
1bf321c
fd89953
af0aebe
3192301
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 |
---|---|---|
|
@@ -255,8 +255,10 @@ def _get_frame_op_default_axis(name): | |
---------- | ||
other : Series or scalar value | ||
fill_value : None or float value, default None (NaN) | ||
Fill missing (NaN) values with this value. If both Series are | ||
missing, the result will be missing | ||
Fill existing missing (NaN) values, and any new element needed for | ||
successful array alignment, with this value before computation. | ||
If data in both corresponding Series locations is missing | ||
the result will be missing | ||
level : int or name | ||
Broadcast across a level, matching Index values on the | ||
passed MultiIndex level | ||
|
@@ -265,6 +267,28 @@ def _get_frame_op_default_axis(name): | |
------- | ||
result : Series | ||
|
||
Examples | ||
-------- | ||
>>> a = pd.Series([1, 1, 1, np.nan], index=['a', 'b', 'c', 'd']) | ||
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. show a and b as well 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. You need to have a line with just |
||
a 1.0 | ||
b 1.0 | ||
c 1.0 | ||
d NaN | ||
dtype: float64 | ||
>>> b = pd.Series([1, np.nan, 1, np.nan], index=['a', 'b', 'c_', 'd']) | ||
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 would prefer just using abde or something, the c_ is confusing |
||
a 1.0 | ||
b NaN | ||
c_ 1.0 | ||
d NaN | ||
dtype: float64 | ||
>>> a.add(b, fill_value=0) | ||
a 2.0 | ||
b 1.0 | ||
c 1.0 | ||
c_ 1.0 | ||
d NaN | ||
dtype: float64 | ||
|
||
See also | ||
-------- | ||
Series.{reverse} | ||
|
@@ -280,8 +304,10 @@ def _get_frame_op_default_axis(name): | |
axis : {0, 1, 'index', 'columns'} | ||
For Series input, axis to match Series index on | ||
fill_value : None or float value, default None | ||
Fill missing (NaN) values with this value. If both DataFrame locations are | ||
missing, the result will be missing | ||
Fill existing missing (NaN) values, and any new element needed for | ||
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. same |
||
successful array alignment, with this value before computation. | ||
If data in both corresponding DataFrame locations is missing | ||
the result will be missing | ||
level : int or name | ||
Broadcast across a level, matching Index values on the | ||
passed MultiIndex level | ||
|
@@ -293,6 +319,28 @@ def _get_frame_op_default_axis(name): | |
Returns | ||
------- | ||
result : DataFrame | ||
|
||
Examples | ||
-------- | ||
>>> a = pd.DataFrame([1, 1, 1, np.nan], index=['a', 'b', 'c', 'd']) | ||
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. show a and b. 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. prob want to show say a with 1 column and b with 2 |
||
0 | ||
a 1.0 | ||
b 1.0 | ||
c 1.0 | ||
d NaN | ||
>>> b = pd.DataFrame([[1, np.nan], [np.nan, 2], [1, np.nan], [np.nan, 2]], index=['a', 'b', 'c_', 'd']) | ||
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 will not pass the linter, need to format this, prob easier to use a dict to construct as well. |
||
0 1 | ||
a 1.0 NaN | ||
b NaN 2.0 | ||
c_ 1.0 NaN | ||
d NaN 2.0 | ||
>>> a.add(b, fill_value=0) | ||
0 1 | ||
a 2.0 NaN | ||
b 1.0 2.0 | ||
c 1.0 NaN | ||
c_ 1.0 NaN | ||
d NaN 2.0 | ||
""" | ||
|
||
_flex_doc_FRAME = """ | ||
|
@@ -307,8 +355,10 @@ def _get_frame_op_default_axis(name): | |
axis : {{0, 1, 'index', 'columns'}} | ||
For Series input, axis to match Series index on | ||
fill_value : None or float value, default None | ||
Fill missing (NaN) values with this value. If both DataFrame | ||
locations are missing, the result will be missing | ||
Fill existing missing (NaN) values, and any new element needed for | ||
successful array alignment, with this value before computation. | ||
If data in both corresponding DataFrame locations is missing | ||
the result will be missing | ||
level : int or name | ||
Broadcast across a level, matching Index values on the | ||
passed MultiIndex level | ||
|
@@ -321,6 +371,28 @@ def _get_frame_op_default_axis(name): | |
------- | ||
result : DataFrame | ||
|
||
Examples | ||
-------- | ||
>>> a = pd.DataFrame([1, 1, 1, np.nan], index=['a', 'b', 'c', 'd']) | ||
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. same |
||
0 | ||
a 1.0 | ||
b 1.0 | ||
c 1.0 | ||
d NaN | ||
>>> b = pd.DataFrame([1, np.nan, 1, np.nan], index=['a', 'b', 'c_', 'd']) | ||
0 1 | ||
a 1.0 NaN | ||
b NaN 2.0 | ||
c_ 1.0 NaN | ||
d NaN 2.0 | ||
>>> a.add(b, fill_value=0) | ||
0 1 | ||
a 2.0 NaN | ||
b 1.0 2.0 | ||
c 1.0 NaN | ||
c_ 1.0 NaN | ||
d NaN 2.0 | ||
|
||
See also | ||
-------- | ||
DataFrame.{reverse} | ||
|
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 would remove the 'and any new elemnt needed for successful array alignment', this is redundant with your last sentence.
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'm not sure which sentence are you referring to. The "and any new element needed" sentence refers to the alignment process. The last sentence ("If data in both corresponding...") only deals with a "corner case" of two NaNs, without any direct reference to the data alignment process.
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.
don't use the word 'array' as these are not arrays. this is still not very clear.
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 like this phrasing much better. Could you change "new element" to "new missing values"
You can remove the commas around the "and any new element... " clause.