折叠 Pandas 数据框中的行,每列具有不同的逻辑 [重复]
Posted
技术标签:
【中文标题】折叠 Pandas 数据框中的行,每列具有不同的逻辑 [重复]【英文标题】:Collapse rows in Pandas dataframe with different logic per column [duplicate] 【发布时间】:2018-10-08 15:44:27 【问题描述】:我想折叠与给定列的值匹配的数据框行,但必须使用不同的逻辑折叠其余列。示例:
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()。
正确,最干净和最简单的方法是什么?谢谢。
【问题讨论】:
这在docs的相关部分都有介绍。 【参考方案1】:使用groubpy
和.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
【讨论】:
谢谢!如果我要应用的逻辑不是 min() 或 mean(),而是自定义的东西怎么办?.agg
可能有点棘手,这取决于你想做什么,但看看here,它可能会有所帮助以上是关于折叠 Pandas 数据框中的行,每列具有不同的逻辑 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何使用另一个日期时间索引获取具有日期时间索引的 Pandas 数据框中的行?