用Python计算归一化吉布斯熵

用Python计算归一化吉布斯熵,python,pandas,loops,jupyter-notebook,entropy,Python,Pandas,Loops,Jupyter Notebook,Entropy,我正在使用一个数据集,其中包含有2到17名经理的团队的信息。对于每个团队经理,数据集都包含一列,指定经理的教育背景,名为“ISCED分类管理器1”、“ISCED分类管理器2”ISCED分类管理器17'。教育背景分为从0到11的类别 我想计算每个团队的教育背景差异。为此,我使用归一化吉布斯熵,其公式如下: 在此公式中,Pi是具有一类教育背景的团队的比例,N是团队规模,在“2015团队规模”一栏中指定 我想用Python编写一个公式,创建一个新的列,其中说明每行(以及每个团队)的标准化吉布斯熵。对

我正在使用一个数据集,其中包含有2到17名经理的团队的信息。对于每个团队经理,数据集都包含一列,指定经理的教育背景,名为“ISCED分类管理器1”、“ISCED分类管理器2”ISCED分类管理器17'。教育背景分为从0到11的类别

我想计算每个团队的教育背景差异。为此,我使用归一化吉布斯熵,其公式如下:

在此公式中,Pi是具有一类教育背景的团队的比例,N是团队规模,在“2015团队规模”一栏中指定

我想用Python编写一个公式,创建一个新的列,其中说明每行(以及每个团队)的标准化吉布斯熵。对于每个教育类别(0-10),公式应通过“ISCED分类管理器1”列,直到“ISCED分类管理器17”,计算团队中具有此分类的经理的比例,并计算公式(pi*ln(pi)/ln(N))

我试着在Excel中使用Countif函数来计算,但公式变得非常长且缓慢。因此,我想在Python中找到一个解决方案

希望这个解释是清楚的

编辑:

以下是一些示例数据:

+-------------+-----------+--------------------------------+--------------------------------+--------------------------------+--------------------------------+--------------------------------+--------------------------------+--------------------------------+--------------------------------+--------------------------------+---------------------------------+---------------------------------+---------------------------------+---------------------------------+---------------------------------+---------------------------------+---------------------------------+---------------------------------+
| Team Number | Team Size | ISCED Categorization Manager 1 | ISCED Categorization Manager 2 | ISCED Categorization Manager 3 | ISCED Categorization Manager 4 | ISCED Categorization Manager 5 | ISCED Categorization Manager 6 | ISCED Categorization Manager 7 | ISCED Categorization Manager 8 | ISCED Categorization Manager 9 | ISCED Categorization Manager 10 | ISCED Categorization Manager 11 | ISCED Categorization Manager 12 | ISCED Categorization Manager 13 | ISCED Categorization Manager 14 | ISCED Categorization Manager 15 | ISCED Categorization Manager 16 | ISCED Categorization Manager 17 |
+-------------+-----------+--------------------------------+--------------------------------+--------------------------------+--------------------------------+--------------------------------+--------------------------------+--------------------------------+--------------------------------+--------------------------------+---------------------------------+---------------------------------+---------------------------------+---------------------------------+---------------------------------+---------------------------------+---------------------------------+---------------------------------+
|           1 |         3 |                              1 |                              5 |                              9 |                                |                                |                                |                                |                                |                                |                                 |                                 |                                 |                                 |                                 |                                 |                                 |                                 |
|           2 |         5 |                              9 |                              9 |                              9 |                              9 |                              9 |                                |                                |                                |                                |                                 |                                 |                                 |                                 |                                 |                                 |                                 |                                 |
|           3 |        17 |                              2 |                              2 |                              4 |                              2 |                              4 |                              4 |                              2 |                              5 |                              5 |                               5 |                               5 |                               5 |                               5 |                               5 |                               5 |                               5 |                               5 |
|           4 |         5 |                              3 |                              3 |                              5 |                              6 |                              5 |                                |                                |                                |                                |                                 |                                 |                                 |                                 |                                 |                                 |                                 |                                 |
+-------------+-----------+--------------------------------+--------------------------------+--------------------------------+--------------------------------+--------------------------------+--------------------------------+--------------------------------+--------------------------------+--------------------------------+---------------------------------+---------------------------------+---------------------------------+---------------------------------+---------------------------------+---------------------------------+---------------------------------+---------------------------------+
在python中,所有空单元格都是NaN。 对于该数据,归一化吉布斯熵输出应为:

第1组:1

第2组:0

第三组:0.338….>=-1*总和((10/17)*LN(10/17)/LN(17)),((4/17)*LN(4/17)/LN(17)),((3/17)*LN(3/17)/LN(17)))


第四组:0.6554….>=-1*SUM(((2/5)*LN(2/5)/LN(5)),((2/5)*LN(2/5)/LN(5)),((1/5)*LN(1/5)/LN(5))

你能添加一些示例数据和预期结果吗?那么我可以帮你了嗨,谢谢你的回答!我添加了一些示例数据@tommclean请阅读(特别是关于图片)。对不起,我是堆栈溢出新手。我试图编辑示例数据,使其符合指导原则