2015-05-27 2 views
0

Я получаю среднее ambiguate элементов в матрицеполучать среднее значение в матрице изменяется матрица

import pandas as pd 
    ds2 = [[ 4, 1], 
      [ 5, 3], 
      [ 6, 1], 
      [ 7, 2], 
      [ 7, 2], 
      [ 8, 2], 
      [12, 1], 
      [ 9, 3], 
      [12, 1], 
      [13, 2], 
      [22, 3]] 
    ds2= pd.DataFrame(ds2) 
    print type(ds2) 
    print ds2 
    ds2 = ds2.groupby(0).mean() 
    print type(ds2) 
    print ds2 

выход:

<class 'pandas.core.frame.DataFrame'> 
    0 1 
0 4 1 
1 5 3 
2 6 1 
3 7 2 
4 8 2 
5 9 3 
6 12 1 
7 13 2 
8 22 3 
<class 'pandas.core.frame.DataFrame'> 
    1 
0  
4 1 
5 3 
6 1 
7 2 
8 2 
9 3 
12 1 
13 2 
22 3 

Тип остается тем же, но способ матрица выглядит изменение, есть ли способ сохранить матричный вид даже после обработки?

+0

Является 'ds2.groupby (0, as_index = False) .mean()', что вы хотите? – joris

ответ

1

Пасса пары as_index=False методы groupby:

In [140]: 

ds2 = [[ 4, 1], 
      [ 5, 3], 
      [ 6, 1], 
      [ 7, 2], 
      [ 7, 2], 
      [ 8, 2], 
      [12, 1], 
      [ 9, 3], 
      [12, 1], 
      [13, 2], 
      [22, 3]] 
ds2= pd.DataFrame(ds2) 
ds2.groupby(0, as_index=False).mean() 
Out[140]: 
    0 1 
0 4 1 
1 5 3 
2 6 1 
3 7 2 
4 8 2 
5 9 3 
6 12 1 
7 13 2 
8 22 3 

По умолчанию любых столбцы, передаваемые будут использованы для формирования индекса.

Из документов:

as_index : boolean, default True 
For aggregated output, return object 
with group labels as the index. Only relevant for DataFrame input. 
as_index=False is effectively “SQL-style” grouped output 
Смежные вопросы