2017-10-20 130 views
0

我有数据,如如下:如何在不对我的索引进行排序的情况下执行groupy.apply()?

myData = pd.DataFrame({'K':[810,820,825,830,840,855,842,823],'Type': 
['C','C','P','P','C','B','A','B'],'S':[978,978,978,978,978,966,925,923],'R': 
[0.05,0.05,0.05,0.05,0.05,0.03,0.04,0.05]}) 


    K R S Type 
0 810 0.05 978 C 
1 820 0.05 978 C 
2 825 0.05 978 P 
3 830 0.05 978 P 
4 840 0.05 978 C 
5 855 0.03 966 B 
6 842 0.04 925 A 
7 823 0.05 923 B 

我用groupby得到这个:

 K R S Type 
Type      
A 6 842 0.04 925 A 
B 7 823 0.05 923 B 
C 0 810 0.05 978 C 
P 2 825 0.05 978 P 

但我想的是,为了Type不会改变。

K R S Type 
Type      

C 0 810 0.05 978 C 
P 2 825 0.05 978 P 
B 7 823 0.05 923 B 
A 6 842 0.04 925 A 

回答

2

使用sort = False在使用GROUPBY例如

myData.groupby('Type',sort=False).mean() 
 
      K  R  S 
Type       
C  823.333333 0.05 978.0 
P  827.500000 0.05 978.0 
B  839.000000 0.04 944.5 
A  842.000000 0.04 925.0 
+0

叶氏,我终于得到这个! – ileadall42

+0

不要忘记接受答案@Tangfeifan – Dark

+0

Yeap,需要时间 – ileadall42

相关问题