Pyspark - AttributeError: объект «NoneType» не имеет атрибута «groupby»

Я пытаюсь сгруппировать по нескольким столбцам и ранжировать их по количеству и получить верхнюю запись для каждой группы. Однако, когда я вызываю groupby, я получаю следующую ошибку.

df.groupby("_c21","y2_co","y2_r","y2_z","y2_org").count()\
    .show(n=10)

Я пробовал группировать по одному столбцу, который не равен нулю

df.groupby("_c21").count()\
    .show(n=10)

AttributeError: объект «NoneType» не имеет атрибута «groupby»

Примеры строк

+--------------------+--------------------+--------------------+-----+----+-----+--------------------+
|                _c17|                _c21|                   m|y2_co|y2_r| y2_z|              y2_org|
+--------------------+--------------------+--------------------+-----+----+-----+--------------------+
|proc=;app=;cl=442...|tHO$SZPbABVo3A1X8...|[proc -> , app ->...|   BR|  PB|58397|Voax Provedor de ...|
|proc=;app=;cl=444...|tHO$SZPbABVo3A1X8...|[proc -> , app ->...|   BR|  PB|58397|Voax Provedor de ...|
|proc=;app=;cl=145...|Zu6zZxiekXnHfpNER...|[proc -> , app ->...|   MX| NLE|66490|           Totalplay|
|proc=;app=;cl=145...|Zu6zZxiekXnHfpNER...|[proc -> , app ->...|   MX| NLE|66490|           Totalplay|
|proc=;app=;cl=147...|Zu6zZxiekXnHfpNER...|[proc -> , app ->...|   MX| NLE|66490|           Totalplay|
+--------------------+--------------------+--------------------+-----+----+-----+--------------------+
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
0
2 379
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

У меня был .show(n=5) в предыдущем утверждении. Я закомментировал .show(n=5) и это работает.

df.withColumn('m', F.expr("str_to_map(_c17,';','=')")) \
                .select("*",*[F.col('m')[k].alias(k) for k in keys])
#               .show(n=5)

Другие вопросы по теме