M S*_*les 3 python dataframe python-2.7 pandas
我正在使用Pandas的大型数据框,我需要拥有所有元素,直到一个值发生变化.例如:
e1 e2
1 15
1 16
1 17
0 14
0 13
0 14
1 16
1 15
Run Code Online (Sandbox Code Playgroud)
在这里,我想要前三个元素,然后是接下来的三个元素,然后是最后两个元素.我想知道是否有一种熊猫的方法.
您需要在DataFrame上进行一些转换才能获得所需的信息.
我想这样做:
df["e3"] = df["e1"].shift(1)
df["e4"] = df["e1"] != df["e3"]
df["e5"] = df["e4"].cumsum()
df
e1 e2 e3 e4 e5
0 1 14 NaN True 1
1 1 15 1 False 1
2 1 15 1 False 1
3 0 16 1 True 2
4 0 1 0 False 2
5 0 15 0 False 2
6 1 15 0 True 3
7 1 16 1 False 3
Run Code Online (Sandbox Code Playgroud)
了解e5现在如何唯一地命名每个组.
现在我们可以使用groupby函数来获取每个组,如下所示:
groups = df.groupby("e5")
Run Code Online (Sandbox Code Playgroud)
并对群组执行您的操作
| 归档时间: |
|
| 查看次数: |
1137 次 |
| 最近记录: |