Получение значения в фрейме данных в PySpark - PullRequest
0 голосов
/ 03 января 2019

У меня есть приведенный ниже фрейм данных, и я пытаюсь получить значение 3097 в виде целого числа, например, сохранение его в переменной python для манипулирования им, умножения его на другое целое и т. д.

enter image description here

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

data.groupBy("card_bank", "failed").count().filter(data["failed"] == "true").collect()

enter image description here

Ответы [ 3 ]

0 голосов
/ 03 января 2019

Попробуйте выбрать значение из фрейма данных spark: -

df =data.groupBy("card_bank", "failed").count().filter(data["failed"] == "true").collect()
value = df.select("count").as[int].collect()

здесь, значением будет список.

0 голосов
/ 03 января 2019

Получить первую запись из объекта Row, используя индекс 0, и получить значение, используя индекс "count"

from pyspark.sql.functions import col
data.groupby("card_bank", "failed").count().filter(col("failed") == "true").collect()[0]["count"]
0 голосов
/ 03 января 2019

Вам необходимо получить row из последовательности (с использованием функции цикла или карты), а затем row.getInt(2) в соответствии с https://spark.apache.org/docs/1.4.0/api/java/org/apache/spark/sql/Row.html.

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