Pandas: using groupby to get mean for each data category

前端 未结 2 1807
名媛妹妹
名媛妹妹 2020-12-06 22:06

I have a dataframe that looks like this:

>>> df[[\'data\',\'category\']]
Out[47]: 
          data     category
  0       4610            2
 15               


        
相关标签:
2条回答
  • 2020-12-06 22:18

    As mentioned, you don't give an example of the testTime and passing_site data, but I'm guessing that they're floating rate numbers. As I'm sure you can imagine, you can't group on floating numbers. Rather, you would need to group on integers or categories of some type.

    try something like:

    df.groupby(['data', 'category'])['passing_site', 'testTime'].mean()
    

    You're grouping on 'data' and 'category', and then calculating the mean for the numerical columns 'passing_site' and 'testTime'.

    0 讨论(0)
  • 2020-12-06 22:34

    Can you do a df.dtypes ? In the example below type is Int as it works fine.

        import pandas as pd
    
        ##group by 1 columns
        df = pd.DataFrame({' data': [4610, 4611, 4612, 4613], 'Category': [2, 2,    7, 7]})
        print df.groupby('Category'). mean()
    
    
        ##Mutiple columns to group by
        df1 = pd.DataFrame({' data': [4610, 4611, 4612, 4613], 'Category': [2,    2, 7, 7], 'Category2' : ['A','B','A','B']})
        key=['Category','Category2']
        print df1.groupby( key).mean()
    
     Category Category2       
     2        A           4610
              B           4611
     7        A           4612
              B           4613
    
    0 讨论(0)
提交回复
热议问题