首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pandas中基于DataFrame特征的计算?

Pandas中基于DataFrame特征的计算?
EN

Stack Overflow用户
提问于 2020-12-23 14:32:18
回答 2查看 32关注 0票数 0

我有如下的DataFrame:

代码语言:javascript
复制
df = pd.DataFrame({"ID" : ["1", "2", "2", "1", "3"],
                    "currency" : ["GBP", "GBP", "GBP", "CHF", "EUR"],
                    "amount" : [100, 200, 300, 400, 500]})

我需要计算一下:

  1. New1 =与英镑货币的协议数量
  2. New2=与英镑货币

的协议数量

我需要的结果如下:

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-12-23 14:34:59

我们可以做过滤然后groupbyreindex

代码语言:javascript
复制
out = df.loc[df.currency=='GBP'].groupby(['ID']).amount.agg(['count','sum']).reindex(df.ID.unique())
Out[210]: 
    count    sum
ID              
1     1.0  100.0
2     2.0  500.0
3     NaN    NaN
票数 1
EN

Stack Overflow用户

发布于 2020-12-23 14:38:57

你可以试试这个-

代码语言:javascript
复制
import pandas as pd

df = pd.DataFrame({"ID" : ["1", "2", "2", "1", "3"],
                    "currency" : ["GBP", "GBP", "GBP", "CHF", "EUR"],
                    "amount" : [100, 200, 300, 400, 500]})

>>> pd.pivot_table(df.loc[df.currency=='GBP'],index=["ID"],aggfunc={'currency':'count','amount':'sum'}).reindex(df.ID.unique()).reset_index()
   
ID  amount  currency                
1    100.0       1.0
2    500.0       2.0
3      NaN       NaN
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65425980

复制
相关文章

相似问题

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