Pandas агрегировать столбец и держать заголовок - PullRequest
0 голосов
/ 12 ноября 2018

У меня есть код, который работает, но дает мне данные без заголовка. Есть ли способ написать этот код, чтобы заголовок не был удален?Я знаю, что один из способов будет добавить обратно заголовок, но есть ли лучший способ?

Мой код:

df = pd.read_csv(“_data.csv",skiprows=[0], header=None)
df = df.groupby([2])[10].sum().astype(float)

Данные:

A   B
1   2
1   1
2   3
2   4

У меня есть данныекак выше, пытаясь получить этот результат:

A   B
1   3
2   7

Ответы [ 2 ]

0 голосов
/ 13 ноября 2018

Попробуйте использовать функцию reset_index после суммы:

data = [{'a': 1, 'b': 2},{'a': 1, 'b': 1},{'a': 2, 'b': 3},{'a': 2, 'b': 4}]

df = pd.DataFrame(data)
df
   a  b
0  1  2
1  1  1
2  2  3
3  2  4

df.groupby('a').sum().reset_index()

   a  b
0  1  3
1  2  7
0 голосов
/ 12 ноября 2018

Вы должны указать разделитель (в вашем случае несколько пробелов), а заголовок - это первая строка (= 0, с индексацией Python), а не группа по столбцу, который вы хотите.

df = pd.read_csv("_data.csv", sep='\s*', header=0)
   A  B
0  1  2
1  1  1
2  2  3
3  2  4

df = df.groupby(['A']).sum()

   B
A   
1  3
2  7
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...