
本文共 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 pddata = 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 |
发表评论
最新留言
关于作者
