对比Pandas轻松理解MySQL分组聚合的实现原理
发布日期:2021-05-10 12:02:27 浏览次数:16 分类:精选文章

本文共 1782 字,大约阅读时间需要 5 分钟。

MySQL������������������������������Pandas���������������

MySQL���������������Pandas���������������������������

������������������������Pandas���MySQL������������������������������������������������������������������������������������������������������MySQL������������������������������Pandas���������������������������������������������������

MySQL���������������������������

MySQL������������������������������������ FROM ��� WHERE ��� GROUP BY ��� HAVING ��� SELECT ��� ORDER BY ��� LIMIT

Pandas���������������������������

FROM

���������������������������

import pandas as pd
data = pd.read_csv("data.csv", encoding="gb18030")

������������������������������������������

order_id price deal_date area
0 10 2019/1/1 A���
1 20 2019/1/1 B���
2 30 2019/1/1 C���
3 40 2019/1/2 A���
4 10 2019/1/2 B���
5 20 2019/1/2 C���
6 30 2019/1/3 A���
7 40 2019/1/3 C���

���������Pandas��������������� deal_date ������������������������������������������������

GROUP BY

������ deal_date ���������������

df_group = data.groupby("deal_date")

��������������������������������������������� df_group.groups ���������

df_group.groups
{
'2019/1/1': [0, 1, 2],
'2019/1/2': [3, 4, 5],
'2019/1/3': [6, 7]
}

SELECT

������������������������������������

for deal_date, split in df_group:
print(deal_date)
display(split)

������������������������������

������������

���������������������������������������������

result = []
for deal_date, split in df_group:
split['A���'] = split['area'] == 'A���'
split['B���'] = split['area'] == 'B���'
split['C���'] = split['area'] == 'C���'
result.append(split[['A���', 'B���', 'C���']].sum())
result = pd.DataFrame(result, columns=['A���', 'B���', 'C���'])

���������������������

deal_date A��� B��� C���
2019/1/1 1 1 1
2019/1/2 1 1 1
2019/1/3 1 0 1
上一篇:Matplotlib绘制分组聚合流程图
下一篇:Pandas基础|用户游览日志时间合并排序

发表评论

最新留言

不错!
[***.144.177.141]2025年04月04日 02时35分08秒