微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将功能应用于panda分组

如何解决将功能应用于panda分组

apply使用一个函数将其应用于 每个 值(而不是序列),并接受kwargs。因此,值没有.size()方法

也许这会工作:

from pandas import *

d = {"my_label": Series(['A','B','A','C','D','D','E'])}
df = DataFrame(d)


def as_perc(value, total):
    return value/float(total)

def get_count(values):
    return len(values)

grouped_count = df.groupby("my_label").my_label.agg(get_count)
data = grouped_count.apply(as_perc, total=df.my_label.count())

.agg()这里的方法采用一个函数,该函数应用于groupby对象的 所有 值。

解决方法

我有一个pandas数据框,my_labels其中包含一个名为string的列'A','B','C','D','E'。我想计算每个字符串的出现次数,然后将计数的数量除以所有计数的总和。我正在像这样在Pandas中尝试这样做:

func = lambda x: x.size() / x.sum()
data = frame.groupby('my_labels').apply(func)

此代码引发错误,“ DataFrame对象没有属性” size”。如何在Pandas中应用函数进行计算?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。