当前位置: 首页 > 面试题库 >

将功能应用于panda分组

庄博厚
2023-03-14
问题内容

我有一个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中应用函数进行计算?


问题答案:

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对象的 所有
值。



 类似资料:
  • 问题内容: 该文档展示了如何使用输出列名称作为键的字典一次在groupby对象上应用多个功能: 但是,这仅适用于Series groupby对象。同样,当将字典类似地传递到groupby DataFrame时,它期望键是将应用该函数的列名。 我想做的是对多个列应用多个功能(但是某些列将被多次操作)。同样,某些函数将依赖于groupby对象中的其他列(如sumif函数)。我当前的解决方案是逐列进行操

  • 问题内容: 这个问题已经在这里有了答案 : 在Python中解压缩列表? (3个答案) 6年前关闭。 该示例将函数zip应用于两个列表是这样的: 但是现在,如果我喜欢: 如何应用功能zip显示如下: 问题答案: 您需要通过“ splat”或“ star”运算符解压缩参数: 例:

  • 当你调用一个函数时,你会说你将函数应用于参数。 如果您传递了所有预期的参数,则已完全应用它。 如果只发送一些参数,则会返回部分应用的函数。 这使您可以方便地绑定一些参数,并将其余参数留待以后填写。 试试下面的内容,它是一个简单的示例程序,用于显示部分应用的函数 - 例子 (Example) import java.util.Date object Demo { def main(args:

  • 需要帮助找到通过-1或使用appsettings部署应用程序自定义应用程序设置的方法。由my.funproj创建的json(vs工具2015)2.appveyor的环境变量3.任何其他技巧 我想要的只是避免在门户中手动设置这些东西并让它们受到源代码控制(更好地使用部署,例如-appveyer的安全环境变量) 提前感谢!下面是我针对的门户设置的示例- 应用程序的环境变量设置示例- 函数应用程序(ru

  • 我在创建Azure函数时注意到,一个函数App可以有多个函数。 有人能给我解释一下这背后的原理吗? 我的猜测 - 由于函数应用决定了托管(应用服务计划或消耗计划),因此你可以在应用服务计划上有一个函数应用,然后在该函数应用内有多个函数共享同一应用服务计划。 但这在消费计划中没有意义,因为如果你有一个具有“消费”计划的功能应用程序,其中包含2个功能,这与将两个功能拆分为具有消费计划的2个功能应用程序

  • 问题内容: 我有一个数据框,我想按特定列(或换句话说,按特定列中的值)对它进行分组。我可以通过以下方式进行操作:。 我想象此操作的结果是一个表,其中某些单元格可以包含值集而不是单个值。为了获得一个普通的表(即每个单元格只包含一个值的表),我需要指出要使用什么函数将单元格中的值集转换为单个值。 例如,我可以用值的总和或最小值或最大值代替值集。我能做到这一点的方式如下:或等等。 现在,我想对不同的列使