Неожиданное поведение с Пандами в базах данных

#python #pandas #databricks

Вопрос:

Я использую Панд в кирпичах данных, всякий раз, когда я пытаюсь использовать функцию sum() или mean (), это не дает мне желаемого результата, в то время как все другие функции, такие как value_count(),sort_value () и другие функции, работают отлично

Вот код

 df_fpl.groupby("team")["goals_scored"].sum()
 

Вот результат

 ARS    0000000000000000000000000000000000000000000000...

AVL    0000000000000000000000000000000000000000000000...

BHA    0000000000000000000000000000000000000000000000...

BUR    0000000000000000000000000000000000000000000000...

CHE    0000000000000000000000000000000000000000000000...

CRY    0000000000000000000100000000010000000000000000...

EVE    0000000000000000000000000000000000000000000000...

FUL    0000000010000000000000000000000000000000000000...

LEE    0000000000000000000000000000000000000000000000...

LEI    0000000000000000000000000000000000000000000000...

LIV    0000000000000000000000000000000000000000000000...

MCI    0000000000000000000000000000000000000000000000...

MUN    0000000000000000000000000000000000000000000000...

NEW    0000000000000000000000100000010110111100000000...

SHU    0000000000000000000000000000000000000000001000...

SOU    0000000001000100000000000000000000001000000000...

TOT    0000000000000000000000000000000000000000000000...

WBA    0000000000000000000000000000000000000000000000...

WHU    0000000000000000000002001010112100000000000000...

WOL    0000000000000000000000000000000000000000000000...
Name: goals_scored, dtype: object
 

что мне действительно нужно, так это

 ARS 15

AVL 20

BUR 10
 

и так далее.

Комментарии:

1. Похоже, ваша goals_scored колонка-это string тип. Преобразуйте его в int перед groupby .

2. Столбец @Aryerez goals_scored имеет только тип int.

3. Мне кажется pandas , что это не согласуется с этим утверждением. Сделайте df_fpl.dtypes это и проверьте сами, если это int колонка.

4. печать этого не поможет вам отличить str друг от int друга , repr они оба идентичны. Вам нужно посмотреть .dtypes , как предложил @Aryerez.

Ответ №1:

Эта проблема связана с тем, что рассматриваемый столбец является строкой. Если вы преобразуете его в int, это должно решить проблему.