首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >双组-到那时应用了一些功能?

双组-到那时应用了一些功能?
EN

Stack Overflow用户
提问于 2016-07-26 19:01:51
回答 3查看 912关注 0票数 1

我有这样的数据:

代码语言:javascript
运行
复制
 country    source
0   UK       Ads
1   US       Seo
2   US       Seo
3   China    Seo
4   US       Seo
5   US       Seo
6   China    Seo
7   US       Ads

对于每个国家,我想得到每个来源的比率。我做了一个关于国家和来源的小组,得到了下面的表格,其中有每个国家的每个来源的总数,但不知道如何从这里开始。

代码语言:javascript
运行
复制
df.groupby(['country', 'source']).size() 

country  source
China    Ads       21561
         Direct    17463
         Seo       37578
Germany  Ads        3760
         Direct     2864
         Seo        6432
UK       Ads       13518
         Direct    11131
         Seo       23801
US       Ads       49901
         Direct    40962
         Seo       87229

我在找这样的东西:

代码语言:javascript
运行
复制
      Ads   SEO  Direct 

US    .3     .1   .4    
China .5     .3   .2
UK    .5     .3   .6
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-07-26 19:11:59

您可以使用unstack将结果从长格式转换为宽格式,然后使用apply方法逐行计算比率:

代码语言:javascript
运行
复制
import pandas as pd
df1 = df.groupby(['country', 'source']).size().unstack(level=1,fill_value = 0).apply(lambda r: r/r.sum(), axis = 1)

df1
# source      Ads   Seo
#country        
#  China      0.0   1.0
#     UK      1.0   0.0
#     US      0.2   0.8
票数 1
EN

Stack Overflow用户

发布于 2016-07-26 19:15:12

您可以使用pd.crosstab来执行频率计数,然后使用apply来正常化:

代码语言:javascript
运行
复制
df = pd.crosstab(df['country'], df['source']).apply(lambda r: r/r.sum(), axis=1)
票数 1
EN

Stack Overflow用户

发布于 2016-07-26 19:23:11

大样本集

代码语言:javascript
运行
复制
np.random.seed([3,1415])
n = 100000
df = pd.DataFrame(
    dict(country=np.random.choice(('UK', 'US', 'China'), n),
         source=np.random.choice(('Ads', 'Seo', 'Direct'), n)))

解决方案

代码语言:javascript
运行
复制
size = df.groupby(['country', 'source']).size().unstack()
size.div(size.sum(1), axis=0)

计时

使用本文中的数据

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

https://stackoverflow.com/questions/38597921

复制
相关文章

相似问题

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