小编Joh*_*ohn的帖子

python pandas groupby排序排名/前n

我有一个按州分组并汇总到总收入的数据框,其中忽略了部门和名称。我现在想分解基础数据集,以按特定顺序按收入显示状态、部门、名称和前 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)

python rank pandas

4
推荐指数
2
解决办法
1676
查看次数

Python Pandas Groupby isin

我有一个数据框,列出了不同的团队(绿色、蓝色、黄色、橙色、[有数百个团队]等),并列出了他们每月的收入。我希望能够根据收入创建前 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 列:[团队,收入] 索引:[]

python pandas pandas-groupby

2
推荐指数
1
解决办法
6237
查看次数

Python Pandas Groupby添加列除以得到平均值

我有一个大型数据集(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)

python pandas pandas-groupby

1
推荐指数
1
解决办法
58
查看次数

标签 统计

pandas ×3

python ×3

pandas-groupby ×2

rank ×1