熊猫数据框按列值的下一次出现进行分组

雅典娜

下面是我的数据框

     info        date       time      file            msg
0   INFO:  2018-09-12  16:10:10:  view.py:          phone   
1   INFO:  2018-09-12  16:10:10:  view.py:         asdasd   
2   INFO:  2018-09-12  16:10:43:  view.py:  contact start   
3   INFO:  2018-09-12  16:10:43:  view.py:    contact end   
4   INFO:  2018-09-12  16:11:36:  view.py:      app start   
5   INFO:  2018-09-12  16:11:36:  view.py:     busy start   
6   INFO:  2018-09-12  16:12:08:  view.py:       busy end   
7   INFO:  2018-09-12  16:12:08:  view.py:    contact end   
8   INFO:  2018-09-12  16:12:08:  view.py:        app end
9   INFO:  2018-09-12  16:12:08:  view.py:          phone
7   INFO:  2018-09-12  16:12:08:  view.py:    contact end

我想根据msg列中的值将此数据框拆分为多个数据框如果我想按“电话”作为值拆分,我的数据框应该看起来像这样:

df1:

     info        date       time      file            msg
0   INFO:  2018-09-12  16:10:10:  view.py:          phone   
1   INFO:  2018-09-12  16:10:10:  view.py:         asdasd   
2   INFO:  2018-09-12  16:10:43:  view.py:  contact start   
3   INFO:  2018-09-12  16:10:43:  view.py:    contact end   
4   INFO:  2018-09-12  16:11:36:  view.py:      app start   
5   INFO:  2018-09-12  16:11:36:  view.py:     busy start   
6   INFO:  2018-09-12  16:12:08:  view.py:       busy end   
7   INFO:  2018-09-12  16:12:08:  view.py:    contact end   
8   INFO:  2018-09-12  16:12:08:  view.py:        app end

df2:

 info        date       time      file            msg
9   INFO:  2018-09-12  16:12:08:  view.py:          phone
7   INFO:  2018-09-12  16:12:08:  view.py:    contact end
pp

将字典用于可变数量的相关变量。在这里,您可以与GroupBy+结合使用cumsum

d = dict(tuple(df.groupby(df['msg'].eq('phone').cumsum())))

然后通过访问dataframes d[1]d[2],... d[n]

结果:

{1:  info        date       time      file           msg
 0  INFO:  2018-09-12  16:10:10:  view.py:         phone
 1  INFO:  2018-09-12  16:10:10:  view.py:        asdasd
 2  INFO:  2018-09-12  16:10:43:  view.py:  contactstart
 3  INFO:  2018-09-12  16:10:43:  view.py:    contactend
 4  INFO:  2018-09-12  16:11:36:  view.py:      appstart
 5  INFO:  2018-09-12  16:11:36:  view.py:     busystart
 6  INFO:  2018-09-12  16:12:08:  view.py:       busyend
 7  INFO:  2018-09-12  16:12:08:  view.py:    contactend
 8  INFO:  2018-09-12  16:12:08:  view.py:        append,

 2:  info        date       time      file         msg
 9  INFO:  2018-09-12  16:12:08:  view.py:       phone
 7  INFO:  2018-09-12  16:12:08:  view.py:  contactend}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

查找下一次出现的时间,例如TemporalAdjuster

如何对熊猫数据框的一列进行一次热编码?

通过按每列一次分组进行计算

如何按列值对熊猫数据框的行进行分组?

熊猫数据框按多列分组

按下一次后Labview按钮冻结

按一列或另一列对熊猫数据框进行分组

大熊猫在多种情况下一次替换多列的内容

查找星期几的下一次出现

计算当前时间与熊猫下一次失败之间的时差

如何在经过过滤的范围列中查找下一次出现的非NA值?

熊猫数据框按特定值分组

如何创建一个列来标识行数,直到下一次在另一个列中出现pandas值为止?

SQL:计算从首次出现到接下来的五分钟内某个值的出现,然后为下一次出现重复相同的值

从数据框中删除行,其值在整个列中仅出现一次

通过按列值分组从一个熊猫数据框创建多个数据框

按最后一次出现分组

如何根据下一次出现在R中对数据帧进行子集化?

在vim中下一次出现{char}之后

计算下一次出现的细胞数

查找下一次出现的日期

基于多列的下一次出现的返回值

Pandas 数据框按它们出现的顺序对值进行分组

C - 按钮按下一次注册两次 - MSP430

在 Pandas 中,如何按组中下一次出现的迭代项的顺序创建列

求和值直到条件的下一次出现

2的下一次幂

数据框:按天分组并在第一次出现后在特定列中设置值

Flutter Button 应该每天按下一次