python-3.x - 从序列号运行列表中提取连续数字及其对应值
问题描述
我想在元组列表中对连续数字的多个重复进行分组。
import more_itertools as mit
df=pd.DataFrame({'a': [0,1,2,0,1,2,3,4], 'b':[2,10,24,56,90,1,3,6]})
for group in mit.consecutive _groups(df['a'])
print(list(group)
我得到的输出为
[0,1,2],[0,1,2,3,4,5]
我想要的输出是
[(0,2),(1,10),(2,24)],
[(0,56),(1,90),(2,1),(3,3),(4,6)
任何帮助,将不胜感激!
解决方案
您可以压缩两个子列表并将ordering
参数与 lambda 函数一起使用,该函数返回压缩序列中元组的第一项:
for group in mit.consecutive_groups(zip(df['a'], df['b']), ordering=lambda t: t[0]):
print(list(group))
这输出:
[(0, 2), (1, 10), (2, 24)]
[(0, 56), (1, 90), (2, 1), (3, 3), (4, 6)]
推荐阅读
- javascript - 如何获取 JSON 数组的值的总和?
- java - 休眠:保存多个关联问题
- azure-keyvault - 将密钥保管库机密传递给 Data.tf 和在 Main.tf 中引用的问题
- python - 如何从字符串python正则表达式的中间消除对字母数字字符的检查
- spi - BCM2835 树莓派 4
- javascript - 参数类型不兼容 - 字符串和字符串数组
- reactjs - 将 bootstrap 的 CSS 用于单个 react-bootstrap 组件而不是整个项目
- c# - WebApi Swagger (Swashbuckle) - 通过代理连接时无法访问 Swagger UI
- java - org.w3c.dom 包可以从多个模块访问:
, java.xml ~ 查找和排除依赖 - d3.js - d3 的 fitSize 被新西兰 geojson 扭曲