将SQL转换为熊猫以构建过滤的DF

时间:2018-07-25 01:09:40

标签: python sql pandas dataframe jupyter-notebook

我有一个看起来像这样的数据框

date    ext ID  status  count
0   2018-07-24T18:38:21.760 jpg ID1 LOG_STATUS_A    4
1   2018-07-24T18:38:21.760 jpg ID1 LOG_STATUS_A    3
2   2018-07-24T18:38:21.760 mp4 ID7 LOG_STATUS_B    1
3   2018-07-24T18:38:21.760 mp4 ID1 LOG_STATUS_C    1
4   2018-07-24T18:38:21.760 ts  ID4 LOG_STATUS_B    1
5   2018-07-24T18:38:21.760 ts  ID5 LOG_STATUS_C    1
6   2018-07-24T18:38:21.760 jpg ID1 LOG_STATUS_A    4
7   2018-07-24T18:38:21.760 jpg ID1 LOG_STATUS_A    3
8   2018-07-24T18:38:21.760 mp4 ID7 LOG_STATUS_B    1
9   2018-07-24T18:38:21.760 mp4 ID1 LOG_STATUS_C    1

给我一​​个按ID排序的列表,文件扩展名为jpg(例如),日志状态为A和B,而忽略时间和总和。

我想做的是产生一个看起来像这样的DF:

ext ID  status  count
0   jpg ID1 LOG_STATUS_A    16
1   mp4 ID1 LOG_STATUS_A    3
2   ts  ID4 LOG_STATUS_B    1
3   mp4 ID7 LOG_STATUS_B    1

通常在sql中,我会说这样的话

select * ext, ID, status, count from +db+ where status not like '%C' groupby ID and ext...

我尝试这样做:

grouped=df.groupby(['AN','ext','reqs']).groups
for an,ext,reqs in grouped:
    print an
    print ext
    print reqs

但是它不会产生经过过滤的df,而只是一个可以工作的组列表,但是我真的在寻找经过过滤的数据帧。只是不熟悉SQL到熊猫的翻译。

0 个答案:

没有答案