栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

计算一个值的出现,直到它更改为另一个值

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

计算一个值的出现,直到它更改为另一个值

采用:

df = df.groupby(df['values'].ne(df['values'].shift()).cumsum())['values'].value_counts()

要么:

df = df.groupby([df['values'].ne(df['values'].shift()).cumsum(), 'values']).size()

print (df)values  values1       10        22       23        23       9         34       10        45       12        1Name: values, dtype: int64

最后删除第一级:

df = df.reset_index(level=0, drop=True)print (df)values10    223    29     310    412    1dtype: int64

说明

将原始列按

shift
ed与不等于进行比较
ne
,然后添加
cumsum
helper
Series

print (pd.concat([df['values'], a, b, c],       keys=('orig','shifted', 'not_equal', 'cumsum'), axis=1))    orig  shifted  not_equal  cumsum0     10      NaN       True       11     10     10.0      False       12     23     10.0       True       23     23     23.0      False       24      9     23.0       True       35      9      9.0      False       36      9      9.0      False       37     10      9.0       True       48     10     10.0      False       49     10     10.0      False       410    10     10.0      False       411    12     10.0       True       5


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/625370.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号