[英]How to replace rows by their means in a multiple columns groupby pandas DataFrame?
[英]Calculating means for multiple columns, in different rows in pandas
我有這樣的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
我想為每列(AD)的每個唯一應變計算平均值(平均值),我該怎么做呢?
我嘗試了df.groupby(['Strain','Species']).mean().mean(1)
但這似乎仍使我在結果數據幀中獲得了多個版本的應變,而不是為每個列的均值獨特的應變。
本質上,我希望每個菌株的A,B,C和D均值。
很抱歉,不清楚,我正在努力解決這個問題,而且我對編程還很陌生!
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)
表示在第一個軸上( 即在列上)取平均值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.