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

列上的总和和百分比?

颛孙天宇
2023-03-14
问题内容

我有一个DataFrame这样的:

df

 fruit    val1 val2
0 orange    15    3
1 apple     10   13
2 mango     5    5

我如何才能让Pandas仅给我一个累积的总和和百分比列val1

所需的输出:

df_with_cumsum

 fruit    val1 val2   cum_sum    cum_perc
0 orange    15    3    15          50.00
1 apple     10   13    25          83.33
2 mango     5    5     30          100.00

我试过了df.cumsum(),但这给了我这个错误:

TypeError:输入类型不支持ufunc’isnan’,并且根据强制转换规则“ safe”,不能将输入安全地强制转换为任何受支持的类型


问题答案:
df['cum_sum'] = df['val1'].cumsum()
df['cum_perc'] = 100*df['cum_sum']/df['val1'].sum()

这会将列添加到中df。如果要复制,df请先复制,然后再对副本执行这些操作。



 类似资料:
  • 问题内容: 这应该很简单,但是让我受益匪浅。 我所拥有的只是一个只有两列的表格,如下所示: 等等。 我想计算 每天 的 总字数 -我将它们按日期添加分组并选择WordCount的总和,最后得到语法错误(wordcount必须在group by子句中),但是现在我得到的天数为null 这是我的查询: 这只是选择null。我怎么知道怎么了? 谢谢。 问题答案: 如果您使用该怎么办: 我不明白您为什么还

  • 问题内容: 让 假设我要对列表中每个列表的索引元素求和,例如在矩阵列中添加数字以获得单个列表。我假设数据中的所有列表的长度均相等。 如何遍历列表列表而不会出现索引超出范围错误?也许lambda?谢谢! 问题答案: 您可以尝试以下方法: 这里使用的组合和解压的列表,然后根据自己的索引压缩的项目。然后,您可以使用列表推导来遍历相似索引的组,对其进行求和并返回其“原始”位置。 为了更清楚一点,下面是迭代

  • 问题内容: 我正在使用此数据框: 我想按名称然后按水果进行汇总,以获得每个名称的水果总数。 我尝试按名称和水果分组,但如何获取水果总数。 问题答案: 使用方法

  • 我正在使用此数据框: 我想通过名称和水果将其聚合,得到每个名称的水果总数。 我试着按名字和水果分组,但如何得到水果的总数呢。

  • 问题内容: 我正在使用SQLite,并尝试返回该列中某一列的总数,同时返回所有数据。我不想/不需要对数据进行分组,因为我需要在每个返回的行中都包含数据。 当我包含类似内容时, 它仅返回一行。我需要所有返回的行以及所有条目的总数。 问题答案: 听起来这就是您要寻找的内容: 参见带有演示的SQL Fiddle

  • 问题内容: 为要求和的列创建索引比没有索引快吗? 问题答案: 抱歉,不清楚您要问什么。 您是否在询问,是否会加快查询速度,例如 是否添加了数量指标? 如果这是问题,那么答案是否定的。一般而言,当您需要在多行中查找几行时,索引会很有用;这里您需要所有行,因此索引无济于事。 有一个晦涩的例外(这种例外情况适用,因此大多数数据库优化器很少会不介意实施此技巧)。如果您的查询碰巧是 ,其中在foo上有一个索