What’s new in 0.25.0 (July 18, 2019)¶
Warning
Starting with the 0.25.x series of releases, pandas only supports Python 3.5.3 and higher. See Plan for dropping Python 2.7 for more details.
Warning
The minimum supported Python version will be bumped to 3.6 in a future release.
Warning
Panel has been fully removed. For N-D labeled data structures, please use xarray
Warning
read_pickle()
and read_msgpack()
are only guaranteed backwards compatible back to
pandas version 0.20.3 (GH27082)
These are the changes in pandas 0.25.0. See Release Notes for a full changelog including other versions of pandas.
Enhancements¶
Groupby aggregation with relabeling¶
Pandas has added special groupby behavior, known as “named aggregation”, for naming the output columns when applying multiple aggregation functions to specific columns (GH18366, GH26512).
In [1]: animals = pd.DataFrame({'kind': ['cat', 'dog', 'cat', 'dog'],
...: 'height': [9.1, 6.0, 9.5, 34.0],
...: 'weight': [7.9, 7.5, 9.9, 198.0]})
...:
In [2]: animals
Out[2]:
kind height weight
0 cat 9.1 7.9
1 dog 6.0 7.5
2 cat 9.5 9.9
3 dog 34.0 198.0
[4 rows x 3 columns]
In [3]: animals.groupby("kind").agg(
...: min_height=pd.NamedAgg(column='height', aggfunc='min'),
...: max_height=pd.NamedAgg(column='height', aggfunc='max'),
...: average_weight=pd.NamedAgg(column='weight', aggfunc=np.mean),
...: )
...: