I'm trying to group and sum for a PySpark (2.4) Dataframe but can't only get values one by one.
I've the following dataframe :
data.groupBy("card_scheme", "failed").count().show()
+----------------+------+------+
| card_Scheme|failed| count|
+----------------+------+------+
| jcb| false| 4|
|american express| false| 22084|
| AMEX| false| 4|
| mastercard| true| 1122|
| visa| true| 1975|
| visa| false|126372|
| CB| false| 6|
| discover| false| 2219|
| maestro| false| 2|
| VISA| false| 13|
| mastercard| false| 40856|
| MASTERCARD| false| 9|
+----------------+------+------+
I'm trying to calculate the formula X = false / (false + true) for each card_scheme and still get one dataframe in the end.
I'm expecting something like:
| card_scheme | X |
|-------------|---|
| jcb | 1 |
| .... | . |
| visa | 0.9846| (which is 126372 / (126372 + 1975)
| ... | . |