python3环境下的pandas,其max方法有一个大坑

来源:互联网 发布:android批注涂鸦源码 编辑:程序博客网 时间:2024/06/02 02:18

pandas.Series.maxpandas.DataFrame.max
都有相同的参数:

max(axis=None, skipna=None, level=None, numeric_only=None, **kwargs)

但是,在python3环境下的python2环境下的结果却是不同的!

同样的代码:

import pandas as pdimport numpy as nptemp = pd.DataFrame({'id':['f','f','f','g','g','g'],            'status':[np.nan,'M1','M2',np.nan,1,2]})print(temp['overduestatus'].dtype)temp.groupby('id_card_md5').max()

python2.7的结果是:

object

id status f M2 g 2.0

但是python3.6的结果是:

object

id status f NaN g 2.0

注意到,参数里有一个skipna的选项,官方文档里写的是:

skipna : boolean, default True

实际上,即使明确设定

temp.groupby('id_card_md5').max(skipna=True)

其结果还是不变。
可见,python3下的pandas并没能做到对object的正确排序,请各位注意

原创粉丝点击