下面提供了一个示例表(实际上,该表将包含针对给定受试者的更多实验、更多样本和不同数量的复制品):
SujectID Experiment Sample Results
A 1 neg 1
A 1 neg 2
A 1 test-a 123
A 1 test-a 144
A 1 test-b 43
A 1 test-b 54
B 1 neg 42
B 1 neg 45
B 1 test-a 45
B 1 test-a 54
我需要计算一个给定的实验,对于一个给定的主题,否定的平均值。然后我要从每个测试的平均值中减去这个,然后再做这个实验。我想在dataframe中创建一个新的列,其中每个复制都会得到计算结果。你知道吗
现在,表的前六行如下所示:
SujectID Experiment Sample Results Adjusted
A 1 neg 1 0
A 1 neg 2 0
A 1 test-a 123 132
A 1 test-a 144 132
A 1 test-b 43 47
A 1 test-b 54 47
我可以使用“groupby”和“mean”来完成一些操作,但是我不确定如何将这些值解压回这个表中。你知道吗
dataframe.groupby(['SubjectId', 'Experiment', 'Sample']).mean()
我也可以用python字典来做这件事,但这似乎适合熊猫,因为我有一张大桌子。你知道吗
一种方法是在执行groupby之前,将数据帧过滤为负样本,然后使用
merge
将其与较大的帧合并相关问题 更多 >
编程相关推荐