python - 按日期和城市重新采样和聚合数据框
问题描述
我想按日期重新采样数据框并根据城市 df 的总和创建一列:
+-----------------+-------------------+------------+
| booking_date | Cities | province |
+-----------------+-------------------+------------+
| 15-12-17 | Kota Depok | Jawa Barat |
| 15-12-17 | Bogor | Jawa Barat |
| 15-12-17 | Kota Depok | Jawa Barat |
| 15-12-17 | Kota Bandung | Jawa Barat |
| 15-12-17 | Kota Bandung | Jawa Barat |
+-----------------+-------------------+------------+
输出可能如下所示:
df:
+-----------------+-------------------+------------+------------+
| booking_date | Cities | province | Count |
+-----------------+-------------------+------------+------------+
| 15-12-17 | Kota Depok | Jawa Barat | 2 |
| 15-12-17 | Bogor | Jawa Barat | 1 |
| 15-12-17 | Kota Bandung | Jawa Barat | 2 |
+-----------------+-------------------+------------+------------+
如何实现?
解决方案
GroupBy.size
与Series.reset_index
和name
参数一起使用:
df = df.groupby(['booking_date','Cities','province']).size().reset_index(name='Count')
推荐阅读
- laravel - Laravel Mix webpack 块文件从错误的路径加载
- ios - 我们如何在 React Native Slider 中更改默认背景?
- c++ - yum : 在 centos 上使用 boost 1.69 而不是默认 (1.53) 版本
- flutter - Flutter BLoC 测试
- javascript - 如何使用这个简单的 Plotly?
- ios - 无法访问字典中的值
- windows - 复制带有空格和大引号的文件
- kubernetes - 为什么有些 Kubernetes 的资源创建后是不可变的?
- python - SessionNotCreatedException:消息:会话未创建:此版本的 ChromeDriver 仅支持 Chrome 版本 81 I
- c++ - 我应该在 main 函数中写什么来测试我的问题 t 次?