--- lang: ja-jp breaks: true --- # Python Pandas DataFrame `GROUP BY` `HAVING` と同じ処理を行う 2021-07-26 ```python= ## BSSID毎の出現回数を算出する appearances = 10 countBSSID = df[["BSSID", "SSID"]].groupby(["BSSID"]).filter(lambda x: x["SSID"].count() > appearances) countBSSID = countBSSID.groupby(["BSSID"]).count().to_dict()["SSID"] countBSSID = pd.DataFrame(list(countBSSID.items())).rename({0: "BSSID", 1: "COUNT"}) display(countBSSID) ``` ```shell= BSSID COUNT 0 00:05:B5:4D:04:A8 13 1 00:05:B5:96:AB:D4 18 2 00:05:B5:E6:11:F9 39 3 00:1A:EB:C9:BF:00 11461 4 00:1A:EB:C9:BF:01 21935 ... ... ... 217 FA:8F:CA:95:0E:DF 11 218 FA:B7:97:00:90:7B 25 219 FC:62:B9:75:3E:68 53 220 FC:87:43:01:55:31 78 221 FE:46:D7:20:10:9B 13 222 rows × 2 columns ``` ###### tags: `Pandas` `Python` `DataFrame` `GROUP BY` `HAVING`