我有一个像这样的csv文件:
-Species- -Strain- -A- -B- -C- -D-
Species1 Strain1.1 0.2 0.1 0.1 0.4
Species1 Strain1.1 0.2 0.7 0.2 0.2
Species1 Strain1.2 0.1 0.6 0.1 0.3
Species1 Strain1.1 0.2 0.6 0.2 0.6
Species2 Strain2.1 0.3 0.3 0.3 0.1
Species2 Strain2.2 0.6 0.2 0.6 0.2
Species2 Strain2.2 0.2 0.1 0.4 0.2
我想计算每列(A-D)每个独特菌株的平均值(平均值)我将如何进行呢?
我尝试了df.groupby(['Strain','Species']).mean().mean(1)
,但似乎仍然在结果数据框中给出了多个版本的菌株,而不是每个独特菌株的每个菌落的均值。
基本上我想要A,B,C& A的平均结果。 D每个菌株。
道歉不清楚,我正在努力解决这个问题,而且我对编程很陌生!
答案 0 :(得分:1)
IIUC,你只需要打电话
df.groupby(['Species', 'Strain']).mean()
A B C D
Species Strain
Species1 Strain1.1 0.2 0.466667 0.166667 0.4
Strain1.2 0.1 0.600000 0.100000 0.3
Species2 Strain2.1 0.3 0.300000 0.300000 0.1
Strain2.2 0.4 0.150000 0.500000 0.2
当您致电df.groupby(['Strain','Species']).mean().mean(1)
时,您正在采取的措施是采用A
,B
,C
和D
中4种方式的均值。 mean(1)
表示在第一个轴上取平均值(即在列上)。