我想对数据帧的行进行子采样,使给定列中的所有连续值对都不同,如果其中两个值相同,则保留第一个。在
这里有一个例子
p = [1,1,2,1,3,3,2,4,3]
t = range(len(p))
df = pd.DataFrame({'t':t, 'p':p})
df
p t
0 1 0
1 1 1
2 2 2
3 1 3
4 3 4
5 3 5
6 2 6
7 4 7
8 3 8
desiredDf
p t
0 1 0
2 2 2
3 1 3
4 3 4
6 2 6
7 4 7
8 3 8
在desiredDf中,p列中的所有2个连续值都是不同的。在
这个怎么样?在
说明:}的每个条目是否与前一个条目不同,并返回一个布尔值。在
df.p.shift()
将p
列的条目下移一行。df.p != df.p.shift()
检查{此方法适用于具有任意数量连续项的列:例如,如果有三个相同值的运行,则只返回该运行中的第一个值。在
相关问题 更多 >
编程相关推荐