当前位置: 首页 > 知识库问答 >
问题:

使用每列不同的逻辑折叠数据帧中的行[重复]

胡嘉歆
2023-03-14

我希望折叠与给定列的值匹配的数据帧行,但必须使用不同的逻辑折叠其余列。例子:

City           ColumnA   ColumnB
Seattle        20        30
Seattle        30        20
Portland       25        25
Portland       10        40

例如,我希望按城市折叠,我希望ColumnA保持最低值,ColumnB保持平均值。结果应该如下所示:

City           ColumnA   ColumnB
Seattle        20        25
Portland       10        32.5

这只是一个例子,在我的实际问题中,我想应用更复杂的逻辑,而不是min()或mean()。

做这件事的正确、干净和最简单的方法是什么?非常感谢。

共有1个答案

利俊迈
2023-03-14

使用group bpy. agg

df.groupby('City', as_index=False).agg({'ColumnA':'min', 'ColumnB':'mean'})

       City  ColumnA  ColumnB
0  Portland       10     32.5
1   Seattle       20     25.0
 类似资料:
  • 对于虚拟数据集 现在数据集看起来像这样: 3列。对于每个团队,他们在不同的列中有团队成员和团队领导。团队可能只有成员而没有领导者,反之亦然。 以下是我几乎想要的输出: 我希望将两列合并成一列,如果其中一列是团队领导,则添加一个标记。 我有一个丑陋的解决方案, <代码>dt1 问题: > 我认为,这种解决方案不是有效的,先合并,然后融化。那么,还有其他方法吗? 在第3行和第4行有重复的行。 当我试图

  • 我们如何使用scala使用OR操作将布尔列折叠成一行? 第1部分: 期望输出 我能想到的一个解决方案是按第一列条目对它们进行分组,filter true 这个解决方案相当混乱。此外,不知道这是否适用于所有边缘情况。有什么聪明的方法可以做到这一点吗? 编辑:给定的答案适用于上述给定的场景,但不适用于此场景。有什么方法可以实现所需的输出? 第2部分: 期望输出 我试图通过col1和col2分组,然后用

  • df1有每月时间索引,df2有季度时间索引。df1和df2有不同的行数和列数,我想:(1)并排连接它们并保持它们的索引。(2)输出到excel文件。 我尝试过pd.concat,但是这种方法连接基于我不想要的数据帧索引之一的数据帧 excel中的预期结果:

  • 我有一个数据帧,其中重复了一些 SongId。我想提取那些重复的行。知道怎么做吗?试: 但是效果不好。 这是我的数据帧的一个示例。在此示例中重复 SongId 0、10 和 16:

  • 我有一个数据框,有3列,如下所示: 我想添加列,它是中一些列的总和,但不是每行的同一列,例如 只有第1行和第3行是同一列的和,第0行和第2行是其他列的和。 我在Stack over flow上发现的总是整个数据帧的特定列,但在本例中是不同的。 我能做的最好的方法是什么?

  • 我怎么能在最后运行一些逻辑,而不是收集。 我可以像 我如何在过滤后运行最后的逻辑。 谢谢,拉维