我有一个按州分组并汇总到总收入的数据框,其中忽略了部门和名称。我现在想分解基础数据集,以按特定顺序按收入显示状态、部门、名称和前 2 个(我从以前的数据框中创建了一个索引,该索引按特定顺序列出了状态)。使用下面的示例,我想使用我的排序索引(肯塔基州、加利福尼亚州、纽约州),该索引仅列出每个州的前两个结果(按收入先前规定的顺序): 数据集:
State Sector Name Revenue
California 1 Tom 10
California 2 Harry 20
California 3 Roger 30
California 2 Jim 40
Kentucky 2 Bob 15
Kentucky 1 Roger 25
Kentucky 3 Jill 45
New York 1 Sally 50
New York 3 Harry 15
Run Code Online (Sandbox Code Playgroud)
最终目标数据框:
State Sector Name Revenue
Kentucky 3 Jill 45
Kentucky 1 Roger 25
California 2 Jim 40
California 3 Roger 30
New York 1 Sally 50
New York 3 Harry 15
Run Code Online (Sandbox Code Playgroud) 我有一个数据框,列出了不同的团队(绿色、蓝色、黄色、橙色、[有数百个团队]等),并列出了他们每月的收入。我希望能够根据收入创建前 10 名团队的列表,然后将其输入到 groupby 语句中,以便我在处理各种数据帧时只查看这些团队。这些是我创建的但我遇到问题的语句:
Rev = df['Revenue'].head(10) and I have also used Rev = df.nlargest(10,['Revenue'])
grpby = df.groupby([df['team'].isin(rev), 'team'], as_index=False)['Revenue'].sum().sort_values('Revenue', ascending=False).reset_index()
Run Code Online (Sandbox Code Playgroud)
*编辑:导致此请求的其他代码:*编辑:df = pd.read_excel('c:/Test.xlsx',sheet_name =“Sheet1”,index_col = 'Date',parse_dates = True)
*编辑:df = pd.DataFrame(df)
我可以使 groupby 语句起作用,但我无法将“Rev”列表输入到限制/过滤要查看的组的 groupby 语句中。
另外,当使用 groupby 语句创建数据框时,如何添加回未分组的其他列?例如,在上面的声明中,我尝试使用“团队”和“收入”,但如果我还想添加其他列,例如(“位置”或“团队负责人”),添加更多列的语法是什么?
*通过 Excel 文件编辑示例输入:Teams Revenue Green 10 Blue 15 Red 20 Orange 5 在上面的示例中,我想使用一个语句,该语句获取前三个并保存为列表,然后将其输入到 groupby 语句中。现在看起来我还没有填写实际的数据框?*从控制台:空 DataFrame 列:[团队,收入] 索引:[]
我有一个大型数据集(15k +行),我试图根据投资者的数量(而非实际所有权)显示投资的比例份额.这是一个众所周知的故障,但我们正试图解决表示问题.我现在可以删除SQL中的重复项(如果我有3个投资600的客户,我会删除重复项,让1个客户600,但它是全部或全部,而是我想向这三个客户显示每个200) .
我需要groupby函数来考虑Customerid,parentid和投资金额.然后我需要创建另一个列,并为每个客户(每个Sponsorname /行)提供每个客户的平均投资(投资/#该客户ID /父ID组合的特定金额的客户).最后,我需要groupby,通过SponsorName总结投资并计算客户ID.
数据集:
CustomerID ParentID SponsorName Investment
1 55 Bob 600
1 55 Jack 600
1 55 Mary 600
5 65 Bill 1200
5 65 Jim 1200
5 65 Jill 1200
1 55 Bob 1000
1 55 Jack 1000
1 55 Mary 1000
Run Code Online (Sandbox Code Playgroud)
输出:
CustomerID ParentID SponsorName Investment Avg Investment
1 55 Bob 600 200
1 55 Jack 600 200
1 55 Mary 600 200
5 65 Bill 1200 400
5 65 Jim 1200 400
5 …Run Code Online (Sandbox Code Playgroud)