a b0 230 211 251 201 192 442 11
如何在b列中找到大于20的值的百分比,并且根据列a位于同一个簇中.
我的代码给了我每组的相同价值.
NN20 = [x for x in b if (x > 20)]percent_20 = lambda x: float(len(NN20)) / float(len(b))pnn20=data.groupby('a').apply(percent_20)解决方法@H_403_23@ IIUC:
In [179]: df.groupby('a')['b'].apply(lambda x: x.gt(20).mean())Out[179]:a0 1.0000001 0.3333332 0.500000name: b,dtype: float64
要么
In [183]: df.groupby('a')['b'].transform(lambda x: x.gt(20).mean())Out[183]:0 1.0000001 1.0000002 0.3333333 0.3333334 0.3333335 0.5000006 0.500000name: b,dtype: float64总结
以上是内存溢出为你收集整理的python – pandas数据帧中的Groupby全部内容,希望文章能够帮你解决python – pandas数据帧中的Groupby所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)