我想按多个列对熊猫数据框进行分组。每个Row都有一个整数、一个Name和一个额外的数值。我希望最终的Dataframe包含Name具有最高整数的每一行。
values = {'Int': [1,1,1,2,2,1],
'Name': ['Tom', 'Jim', 'Jan','Tom', 'Tom', 'Lucas'],
'Bill':[0.5,0.2,0.2,0.7, 0.8, 0.2]}
df = pd.DataFrame.from_dict(values)
Int Name Bill
0 1 Tom 0.5
1 1 Jim 0.2
2 1 Jan 0.2
3 2 Tom 0.7
4 2 Tom 0.8
5 1 Lucas 0.2
通过分组数据帧,只有第0行应该消失。第3行和第4行仍应包括在数据框中。
IIUC,您可以将Int列与每个Name的最大Int进行比较,如下所示:
df[df['Int'] == df.groupby('Name')['Int'].transform('max')]
output:
Int Name Bill
1 1 Jim 0.2
2 1 Jan 0.2
3 2 Tom 0.7
4 2 Tom 0.8
5 1 Lucas 0.2
问题内容: 带有以下数据 我想产生以下输出: 如果我按价格分组并显示最大日期和最小日期,那么我将得到以下不是我想要的内容(请参见重叠的日期)。 因此,基本上我想做的是根据组列产品和价格对数据进行逐步更改。 什么是最干净的方法来做到这一点? 问题答案: 有一种(或多或少)解决此类问题的已知技术,涉及两个调用,如下所示: 输出:
我有一个熊猫数据框,格式如下: df: 现在我想将其分为两列,如下所示: 输出: 我想得到每一行的计数,如下所示。预期产出: 如何获得我的预期输出?我想找出每个“col2”值的最大计数?
我有一个数据帧,我想按两个参数分组(1)相同的第一列中的连续编号和(2)第二列中的匹配值 数据帧: 组1包括前2行,因为30和31是连续的,第二列匹配。创建组2是因为Col1中的31和35不是连续的。创建组3是因为H和E不匹配。 在pandas groupby中对列表中的行进行分组 我很感谢你给我的建议
我有一个像这样的数据框- 我有一个这样的列表- 现在,我想根据列名列表对数据框进行排序 因此,新的数据框将有列名称-
我有一个pandas数据帧像: 我想按第一列进行分组,并将第二列作为行中的列表:
假设我有一个包含列,和的数据帧,我想按升序按列排序,按降序按列排序,如何我要这么做吗?