为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 Python 将来自不同公司的多个董事的数据汇总到每个公司使用 Blau

如何使用 Python 将来自不同公司的多个董事的数据汇总到每个公司使用 Blau

慕码人8056858 2022-01-11 20:13:52
我有一个数据框,其中包含有关几家公司董事教育背景的分类数据。目前,每家公司(由其股票代码记录)都有多个条目,每位董事一个,df 看起来像这样:Ticker  EducationABC     1ABC     1ABC     5ABC     7ABC     5DEF     3DEF     4DEF     4DEF     4DEF     6我想使用 Blau 指数公式(与 Gini-Simpson 指数相同)创建一个新的数据框,每个公司只有一个条目,如下所示:Ticker  Education DiversityABC     0.64DEF     0.56使用的公式是 (1 - ∑p i 2 ) 其中 p i是 i 个教育类别中每个教育类别的董事比例;例如,对于 ABC 公司,p 1 = 2/5。谁能帮我在 Python (3.7) 中实现这个?任何帮助将不胜感激!
查看完整描述

1 回答

?
眼眸繁星

TA贡献1873条经验 获得超9个赞

您可以尝试实现自己的def然后使用groupby.apply. 最后,Series.reset_index回到DataFrame格式:


def blaus_index(arr):

    return 1 - sum((arr.value_counts() / len(arr)) ** 2)


df.groupby('Ticker')['Education'].apply(blaus_index).reset_index(name='Education Diversity')


  Ticker  Education Diversity

0    ABC                 0.64

1    DEF                 0.56


查看完整回答
反对 回复 2022-01-11
  • 1 回答
  • 0 关注
  • 190 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信