寻找元素改变价值的索引 pandas数据框架[英] Find index where elements change value pandas dataframe

本文是小编为大家收集整理的关于寻找元素改变价值的索引 pandas数据框架的处理方法,想解了寻找元素改变价值的索引 pandas数据框架的问题怎么解决?寻找元素改变价值的索引 pandas数据框架问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

关于这个问题/答案,有没有办法为 pandas 数据帧结构完成相同的功能而不将其转换为 numpy 数组?

推荐答案

s = pd.Series([1, 1, 1, 1, 1, 2, 2, 2, 3, 4, 3, 4, 3, 4, 3, 4, 5, 5, 5])

print(s.diff()[s.diff() != 0].index.values)

或者:

df = pd.DataFrame([1, 1, 1, 1, 1, 2, 2, 2, 3, 4, 3, 4, 3, 4, 3, 4, 5, 5, 5])

print(df[0].diff()[df[0].diff() != 0].index.values)

输出:

[0 5 8 9 10 11 12 13 14 15 16]

更新:也可以使用 lambda 函数:

s.diff()[lambda x: x != 0].index.tolist()

输出:

[0, 5, 8, 9, 10, 11, 12, 13, 14, 15, 16]

本文地址:https://www.itbaoku.cn/post/1728000.html