【发布时间】:2021-02-04 11:13:23
【问题描述】:
我试图找出哪家商店有“空”的日子,即没有顾客来的日子。
我的表结构如下:
+----------+-------------+-------------+-------------+-------------+-------------+-------------+------------+
| shop | 2020-10-15 | 2020-10-16 | 2020-10-17 | 2020-10-18 | 2020-10-19 | 2020-10-20 | 2020-10-21 |
+----------+-------------+-------------+-------------+-------------+-------------+-------------+------------+
| Paris | 215 | 213 | 128 | 102 | 195 | 180 | 110 |
| London | 145 | 106 | 102 | 83 | 127 | 111 | 56 |
| Beijing | 179 | 245 | 134 | 136 | 207 | 183 | 136 |
| Sydney | 0 | 0 | 0 | 0 | 0 | 6 | 36 |
+----------+-------------+-------------+-------------+-------------+-------------+-------------+------------+
使用 pandas,我可以执行 customers[customers== 0].dropna(how="all") 之类的操作,这将只保留存在 0 的行,我明白了:
+----------+-------------+-------------+-------------+-------------+-------------+-------------+------------+
| shop | 2020-10-15 | 2020-10-16 | 2020-10-17 | 2020-10-18 | 2020-10-19 | 2020-10-20 | 2020-10-21 |
+----------+-------------+-------------+-------------+-------------+-------------+-------------+------------+
| Sydney | 0 | 0 | 0 | 0 | 0 | NaN | NaN|
+----------+-------------+-------------+-------------+-------------+-------------+-------------+------------+
在 PySpark 中,我相信 .dropna() 会做类似的事情,但我想做相反的事情,保持 NA/0 值。我该怎么做?
【问题讨论】:
-
您可以从第一个数据帧的 dropna() 制作新的数据帧,然后在这两个数据帧之间使用左反连接。看这个页面左反加入stackoverflow.com/questions/39887526/…