【发布时间】:2021-02-27 19:41:14
【问题描述】:
我在将某些过滤器应用到我的数据集时遇到问题,我不知道该怎么做。我有一个包含 7 列的数据框。一列 participant_id 标识参与者(每个参与者唯一的数值),第二列指示每个参与者所属的组 (group),第三列 trial 标识试验(每个参与者参与者对一项任务执行多次试验)和四列var 1、var 2、var 3、var 4(对应于每个试验记录的四个变量的数值)。有参与者进行了 100 多次试验,也有参与者进行了大约 50 次试验。
简短示例:
participant_id group trial var1 var2 var3 var4
189 A 1 -0.231046 0.245615 -0.581238 -0.593562
189 A 2 -0.231046 0.245615 -0.581238 -0.593562
189 A 3 -0.231046 0.245615 -0.581238 -0.593562
189 A 4 -0.231046 0.245615 -0.581238 -0.593562
345 B 1 NaN 0.245615 -0.581238 -0.593562
345 B 378 -0.231046 0.245615 -0.581238 -0.593562
227 A 1 -0.231046 0.245615 -0.581238 -0.593562
227 A 1 -0.231046 0.245615 -0.581238 -0.593562
227 A 2 -0.231046 0.245615 -0.581238 -0.593562
432 B 517 -0.231046 0.245615 NaN -0.593562
432 B 2 -0.231046 0.245615 NaN -0.593562
432 B 333 -0.231046 0.245615 -0.581238 -0.593562
以 4 名参与者为例。请注意,试用号不是唯一的,因为两个不同的参与者可以有一个试用“1”,而同一个参与者也可以有多个试用“1”。 (不要介意每行的 var 列的值都是相同的,在实际数据集中并非如此)。真正的数据集是 10000 行。
我需要做的是根据
var1。我正在考虑使用 pandas .quantile(n) 函数,但我不知道如何告诉它应该分别分析每个参与者,而不是整行来获取分位数。
感谢任何帮助。
【问题讨论】: