首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果另一列具有特定值,我如何在python中分组并创建包含列信息的列?

如果另一列具有特定值,我如何在python中分组并创建包含列信息的列?
EN

Stack Overflow用户
提问于 2022-07-04 17:51:00
回答 1查看 27关注 0票数 0

我有一个“团队”、"HA“(客场主场)、”攻击“、”防御“的数据框架。

我需要的是一个表,按小组分组,有4列,如下所示

我想可以用聚合函数来完成,但我真的不知道怎么做

代码语言:javascript
复制
df_ad=df_calc.groupby(['Team','Liga']).agg...

在SQL中等效的是

代码语言:javascript
复制
SELECT Team, CASE
    WHEN HA='Home' THEN attack
    END AS Home_attack, CASE
    WHEN HA='Home' THEN defense
    END AS Home_defense, CASE
    WHEN HA='Away' THEN attack
    END AS Away_attack, CASE
    WHEN HA='Away' THEN defense
    END AS Away_defense
FROM df_calc;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-04 18:04:31

只需转动你的数据:

代码语言:javascript
复制
out = df.pivot('Team', 'HA', ['attack', 'defense'])
out.columns = out.columns.swaplevel().to_flat_index().map(' '.join)
out = out.reset_index()
print(out)

# Output
          Team Away attack Home attack Away defense Home defense
0  A. San Luis           1           3            2            4
1     AC Milan           5           7            6            8
2      AS Roma           9          11           10           12

对于第一部分,您可以阅读:How can I pivot a dataframe?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72860430

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档