Pandas 中的重复测量方差分析,不同列中的因变量值

Repeated Measures ANOVA in Pandas, dependent variable values in different Columns

我是数据科学的新手,所以对于更高级的编码人员来说,这可能会很容易。 我想根据不同组(实验组与对照组)的测试前和 post 测量值进行重复测量方差分析。每个受试者只参加一个小组。

在我的 Pandas - df 中有以下列: “受试者 ID”(唯一)、“条件”(实验或对照)、“预测量值”、“Post-测量值”...

     subject_id = [1,2,3,4]
     condition = [1,2,1,2]
     pre = [1.1,2.1,3.1,4.1]
     post = [1.2, 2.2, 3.2, 4.2]
     sample_df = pd.DataFrame({"Subject ID": subject_id, "Condition": condition, "Pre": pre, "Post": post})
     sample_df

我如何使用方差分析对此进行分析? 我见过的包使用数据框,其中 dep 变量在一列中,而在我的数据框中,我要评估的依赖度量在两列中。我是否需要添加另一列来指定每个值和条件的值是 pre 还是 post 。 有没有一个“方便”的功能可以做这样的事情?

具体而言,输出需要如下所示:

subject_id_new = [1,1,2,2,3,3,4,4]
condition_new = [1,1,2,2,1,1,2,2]
measurement = ["pre", "post","pre", "post","pre", "post","pre", "post"]
value = [1.1, 1.2,2.1,2.2,3.1,3.2,4.1,4.2] 
new_df = pd.DataFrame({"Subject ID":subject_id_new, "Condition": condition_new, "Measurement": measurement, "Value": value})

非常感谢。

其实我找的是:

sample_df.melt(id_vars=['Subject ID', "Condition"])

这会导致数据帧中有一列指定该值所指的测量点。