使用 GroupBy 沿分组变量的方向将函数应用于 Pandas

阿诺德克莱因

我有一组 N 人,我计算了一些数量的相关矩阵 (q1_score,...q5_score)

    df.groupby('participant_id').corr()
    Out[130]: 
                                q1_score    q2_score   q3_score  q4_score   q5_score
    participant_id                                                                      
    11.0           q1_score     1.000000   -0.748887  -0.546893  -0.213635  -0.231169
                   q2_score    -0.748887    1.000000   0.639649   0.324976   0.335596
                   q3_score    -0.546893    0.639649   1.000000   0.154539   0.151233
                   q4_score    -0.213635    0.324976   0.154539   1.000000   0.998752              
                   q5_score    -0.231169    0.335596   0.151233   0.998752   1.000000
    14.0           q1_score     1.000000   -0.668781  -0.124614  -0.352075  -0.244251
                   q2_score    -0.668781    1.000000  -0.175432   0.360183   0.184585
                   q3_score    -0.124614   -0.175432   1.000000  -0.137993  -0.125115
                   q4_score    -0.352075    0.360183  -0.137993   1.000000   0.968564
                   q5_score    -0.244251    0.184585  -0.125115   0.968564   1.000000
    17.0           q1_score     1.000000   -0.799223  -0.814424  -0.790587  -0.777318
                   q2_score    -0.799223    1.000000   0.787238   0.658524   0.640786
                   q3_score    -0.814424    0.787238   1.000000   0.702570   0.701440
                   q4_score    -0.790587    0.658524   0.702570   1.000000   0.998996
                   q5_score    -0.777318    0.640786   0.701440   0.998996   1.000000
    18.0           q1_score     1.000000   -0.595545  -0.617691  -0.472409  -0.477523
                   q2_score    -0.595545    1.000000   0.386705   0.148761   0.115068
                   q3_score    -0.617691    0.386705   1.000000   0.806637   0.782345
                   q4_score    -0.472409    0.148761   0.806637   1.000000   0.982617
                   q5_score    -0.477523    0.115068   0.782345   0.982617   1.000000

我需要计算所有参与者相关性的中值吗?我的意思是:我需要接受纠正。在所有参与者的项目 J 和项目 K 之间,并找到它们的中值。

我确定这是一行代码,但我正在努力实现(仍在通过示例学习熊猫)。

Ken Wei

堆叠您的数据,并进行另一个分组:

df.groupby('participant_id').corr().stack().groupby(level = [1,2]).median()

编辑:实际上,如果您不想,则不需要堆叠:

df.groupby('participant_id').corr().groupby(level = [1]).median()

也有效。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用groupby将多个函数应用于Pandas中的多个列?

Python,Pandas:使用GroupBy.groups说明将其应用于其他分组

Pandas 如何将函数应用于 groupby().first()

将功能应用于Pandas Groupby

如何使用pandas Groupby将不同的聚合函数应用于同一列

如何使用pandas groupby函数基于groupby值应用公式

是否可以将 python pandas 中的 groupby 应用于已经分组的对象?

使用 Args 将函数应用于多个 Pandas 列

将ewm功能应用于Pandas groupby

将pandas groupby的结果应用于多行

将排名应用于Pandas Groupby中的每个组

将函数应用于pandas groupby 数据框中的所有列

如何将*多个*函数应用于pandas groupby apply?

将具有多个参数的函数应用于pandas groupby对象

将加权平均函数应用于pandas groupby对象中的列,但权重总和为零

使用Pandas groupby的Mathematica的GatherBy函数

更改pandas groupby使用的函数的值

使用多列的Pandas groupby函数

使用pyspark将功能应用于groupBy数据

如何使用for循环基于分组变量将多参数函数应用于数据框?

使用Pandas groupby合并数据

使用pandas groupby计数值

如何在pandas groupby中正确使用变量?

如何使用pandas groupby并应用lambda评估布尔条件

使用agg求和并应用列表的Groupby MultiIndex Pandas系列

使用groupby在pandas列中应用计算

pandas groupby将相同的功能应用于多列

pyspark相当于pandas groupby +应用于列

Pandas Complex GroupBy 并应用于机器学习数据集