Rozważ ramkę danych typu pyspark składającą się z elementów „zerowych” i elementów numerycznych. Zasadniczo elementy liczbowe mają różne wartości. Jak można zastąpić wszystkie wartości liczbowe ramki danych stałą wartością liczbową (na przykład wartością 1)? Z góry dziękuję!
Przykład ramki danych pyspark:
Wynik powinien być:
python
apache-spark
tylko my
źródło
źródło
Odpowiedzi:
Jeśli chodzi o twój problem, myślę, że może być łatwiejszy w użyciu oświetlony . Spróbuj tego-
Mam nadzieję, że to pomoże!
źródło
Użycie
lit
spowoduje przekonwertowanie wszystkich wartości kolumny na podaną wartość.Aby to zrobić tylko dla niepustych wartości ramki danych, należy przefiltrować niepuste wartości każdej kolumny i zastąpić swoją wartość.
when
może pomóc Ci to osiągnąć.Spowodowałoby to:
Ponadto, jeśli chcesz zastąpić te wartości null innymi wartościami, możesz użyć ich
otherwise
w połączeniu zwhen
. Powiedzmy, że chcesz0
tam przypisać :Spowodowałoby to:
źródło
Byłoby łatwiej, jeśli masz wiele kolumn:
źródło