Как я могу отфильтровать этот фрейм данных для значений! = 0 - PullRequest
0 голосов
/ 10 июня 2019

Ребята, у меня есть этот фрейм данных

+----------+--------------------+-----------+----------+---+------+----------+
|test|         content|         environment|         ID|dddd|dddd| date|
+----------+--------------------+-----------+----------+---+------+----------+
|         0|{ "$set" : { "sta...|test|        400146779|  u| Mongo| 123123123|
|         0|{ "$set" : { "sta...|test|       -307131663|  u|     0|         0|
|   charges|{ "$set" : { "sta...|test|                0|  u| mongo|1556816209|
|   charges|{ "$set" : { "sta...|test|         19920822|  u| mongo|1556816209|
+----------+--------------------+-----------+----------+---+------+----------+

Как я могу отфильтровать этот фрейм данных и создать новый, содержащий только те строки, в столбцах которых нет 0

поэтому единственным значением в новом фрейме данных будет

charges|{ "$set" : { "sta...|test|         19920822|  u| mongo|1556816209

потому что не содержит 0.

Спасибо.

1 Ответ

1 голос
/ 10 июня 2019

Вы можете просто использовать filter из dataset:

val dsWithoutZeros = ds.filter(r => r.toSeq.forall{
   //filter out row if any value in row is number and is equal 0
   case i: Number => i.longValue() != 0 
   case _ => true //if value is not number, just return neutral value for forall
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...