У меня есть data frame
в pyspark
, как показано ниже.
df.show()
+---+----+
| id|test|
+---+----+
| 1| Y|
| 1| N|
| 2| Y|
| 3| N|
+---+----+
Я хочу удалить запись, если есть дубликат id
и test
равен N
Теперь, когда я запрашиваю new_df
new_df.show()
+---+----+
| id|test|
+---+----+
| 1| Y|
| 2| Y|
| 3| N|
+---+----+
Я не могу определить вариант использования.
Я сделал сгруппировку на счетчике id
, но он дает только столбец id
и count
.
Я сделал, как показано ниже.
grouped_df = new_df.groupBy("id").count()
Как мне достичь желаемого результата
редактировать
У меня есть фрейм данных, как показано ниже.
+-------------+--------------------+--------------------+
| sn| device| attribute|
+-------------+--------------------+--------------------+
|4MY16A5602E0A| Android Phone| N|
|4MY16A5W02DE8| Android Phone| N|
|4MY16A5W02DE8| Android Phone| Y|
|4VT1735J00337| TV| N|
|4VT1735J00337| TV| Y|
|4VT47B52003EE| Router| N|
|4VT47C5N00A10| Other| N|
+-------------+--------------------+--------------------+
Когда я закончу, как показано ниже
new_df = df.groupBy("sn").agg(max("attribute").alias("attribute"))
Я получаю str has no attribute alias
Ошибка
Ожидаемый результат должен быть как ниже
+-------------+--------------------+--------------------+
| sn| device| attribute|
+-------------+--------------------+--------------------+
|4MY16A5602E0A| Android Phone| N|
|4MY16A5W02DE8| Android Phone| Y|
|4VT1735J00337| TV| Y|
|4VT47B52003EE| Router| N|
|4VT47C5N00A10| Other| N|
+-------------+--------------------+--------------------+