2016-10-23 3 views
0

У меня есть кадр данных с именем df, и он выглядит как ниже, я хочу преобразовать 5 строк в одну строку, которая их объединяет. Но df=df.groupby(df.index).sum(), похоже, не работает для первых двух столбцов, Любые идеи, почему и как я могу его исправить? enter image description herePandas слияние данных в строках

ответ

0

Метод GroupBy.sum() будет игнорировать все нецифровые типы.

Демо:

In [137]: df 
Out[137]: 
    a b c s  date 
0 9 2 6 __6 2001-01-01 
1 0 1 2 __2 2001-01-02 
2 6 7 5 __5 2001-01-03 
3 6 8 5 __5 2001-01-04 
4 0 3 8 __8 2001-01-05 

In [138]: df.groupby('a').sum() 
Out[138]: 
    b c 
a 
0 4 10 
6 15 10 
9 2 6 

In [139]: df.dtypes 
Out[139]: 
a    int32 
b    int32 
c    int32 
s    object 
date datetime64[ns] 
dtype: object 
+0

Но все мои столбцы типа float64 –

+0

@JayanthKumar, я никогда не видел, поплавок значения, как 'BL' раньше;) (О' столбце EVENT_ID')? – MaxU

+0

Я действительно имел в виду столбцы в новом объединенном фрейме данных (который исключает столбец EVENT_ID). См. Столбец 'ACTVOFT'. В объединенной части данных он печатает 7, но действительно ли это должно быть 2 правильно? Мой вопрос: почему это так, dtype этого столбца - float64 –

Смежные вопросы