【发布时间】:2018-07-11 14:46:02
【问题描述】:
我有如下形状的数据集:
tconst GreaterEuropean British WestEuropean Italian French Jewish Germanic Nordic Asian GreaterEastAsian Japanese Hispanic GreaterAfrican Africans EastAsian Muslim IndianSubContinent total_ethnicities
0 tt0000001 3 1 2 0 1 0 0 1 0 0 0 0 0 0 0 0 0 8
1 tt0000002 2 0 2 0 2 0 0 0 0 0 0 0 0 0 0 0 0 6
2 tt0000003 4 0 3 0 3 1 0 0 0 0 0 0 0 0 0 0 0 11
3 tt0000004 2 0 2 0 2 0 0 0 0 0 0 0 0 0 0 0 0 6
4 tt0000005 3 2 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 7
这是 IMDB 数据,经过处理后,我创建了这些列,它们代表一部电影中有这么多种族演员(tcons)。
我想创建另一列df["diversity"],即:
( diversity score "gini index")
例如: 对于每部电影,假设我们有 10 个演员; 3 名亚洲人、3 名英国人、3 名非裔美国人和 1 名法国人。所以我们除以总数 3/10 3/ 10 3/10 1/10 然后 1 减去 (3/10) 平方 ( 3/ 10) 平方 ( 3/10) 平方 (1/10) 平方的总和 将每个参与者的得分添加到列中作为多样性。
我正在尝试简单的 pandas 操作,但没有成功。
编辑:
对于第一行, 我们总共有 8 个种族
3 GreaterEuropean
1 British
2 WestEuropean
1 French
1 nordic
所以分数会是
1- [(3/8)^2 + (1/8)^2 + (2/8)^2 + (1/8)^2 + (1/8)^2]
【问题讨论】:
-
我们能否看到上述数据的预期输出。
-
@Dark 我编辑了,希望清楚。谢谢
标签: python python-3.x pandas data-science