用性别python测试用户总播放次数

2024-06-25 22:32:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我想根据男性和女性用户的总播放次数来评估他们的统计差异(见下面的例子):

女性参赛作品示例

female

    users   artist  plays   gender  age
0   48591   sting   12763   f       25.0
1   48591   stars   8192    f       25.0

每个唯一女性用户的总播放次数

female_user_plays = female.groupby('users').plays.sum()

female_user_plays

users
5         5479
6         3782
7         7521
11        7160

男性条目示例

female
    users   artist         plays    gender  age
51  56496   iron maiden    456      m       28.0
52  56496   elle           407      m       28.0

每个唯一男性用户的游戏总数

male_user_plays = male.groupby('users').plays.sum()
male_user_plays

users
0         3282
1        25329
2        51522
3         1590

每个性别的平均播放次数

Average Total Male Plays: 11880
Average Total Female Plays: 13104

在尝试t测试之前,我将每个系列转换为值列表:

female_plays_list = female_user_plays.values.tolist()
male_plays_list = male_user_plays.values.tolist()

对于t检验:

ttest_ind(female_plays_list, male_plays_list, equal_var=False)

结果是什么让我困惑,因为输出似乎非常离谱,我想这不是由于两个样本大小的差异。。。。你知道吗

Ttest_indResult(statistic=-8.9617251652001002, pvalue=3.3195063228833119e-19)

是否有数组长度以外的原因导致这种情况?你知道吗


Tags: 用户示例ageartist差异gender次数users
1条回答
网友
1楼 · 发布于 2024-06-25 22:32:37

对两个100000000个值为0-10000的随机整数数组进行测试,得到以下结果:

In []: try1 = np.random.randint(1, 10000, 100000000)

In []: try2 = np.random.randint(1, 10000, 100000000)

In []: ttest_ind(try1, try2, equal_var=False)
Out[]: Ttest_indResult(statistic=-0.67549204672468233, pvalue=0.49936320345035146)

长度不等的情况如下:

In []: try1 = np.random.randint(1, 10000, 1000000)

In []: ttest_ind(try1, try2, equal_var=False)
Out[]: Ttest_indResult(statistic=-0.39754328321364363, pvalue=0.6909669583715552)

因此,除非我在测试中忽略了某个细节,或者数组的长度更大,否则它一定是数组的特定值中的某个东西。你知道吗

相关问题 更多 >