zhengruifeng commented on code in PR #37569:
URL: https://github.com/apache/spark/pull/37569#discussion_r949049721
##########
python/pyspark/pandas/frame.py:
##########
@@ -12368,6 +12369,137 @@ def calculate_columns_axis(*cols: pd.Series) ->
pd.Series:
)
return first_series(DataFrame(internal))
+ def mode(self, axis: Axis = 0, numeric_only: bool = False, dropna: bool =
True) -> "DataFrame":
+ """
+ Get the mode(s) of each element along the selected axis.
+
+ The mode of a set of values is the value that appears most often.
+ It can be multiple values.
+
+ .. versionadded:: 3.4.0
+
+ Parameters
+ ----------
+ axis : {0 or 'index'}, default 0
+ Axis for the function to be applied on.
+ numeric_only : bool, default False
+ If True, only apply to numeric columns.
+ dropna : bool, default True
+ Don't consider counts of NaN/NaT.
+
+ Returns
+ -------
+ DataFrame
+ The modes of each column or row.
+
+ See Also
+ --------
+ Series.mode : Return the highest frequency value in a Series.
+ Series.value_counts : Return the counts of values in a Series.
+
+ Examples
+ --------
+ >>> df = ps.DataFrame([('bird', 2, 2),
+ ... ('mammal', 4, np.nan),
+ ... ('arthropod', 8, 0),
+ ... ('bird', 2, np.nan)],
+ ... index=('falcon', 'horse', 'spider', 'ostrich'),
+ ... columns=('species', 'legs', 'wings'))
+ >>> df
+ species legs wings
+ falcon bird 2 2.0
+ horse mammal 4 NaN
+ spider arthropod 8 0.0
+ ostrich bird 2 NaN
+
+ By default, missing values are not considered, and the mode of wings
+ are both 0 and 2. Because the resulting DataFrame has two rows,
+ the second row of ``species`` and ``legs`` contains ``NaN``.
+
+ >>> df.mode()
+ species legs wings
+ 0 bird 2.0 0.0
+ 1 None NaN 2.0
Review Comment:
Pandas use `NaN` instead of `None` to fill str column `species`, but I think
it's acceptable here.
```
>>> df.mode()
species legs wings
0 bird 2.0 0.0
1 NaN NaN 2.0
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]