df=pd.DataFrame({'a':['x','x','y','y','y','z','y','y'],'b':np.random.randn(8)})
a b
0 x -0.2414
1 x 1.2214
2 y 0.3442
3 y -2.9492
4 y 0.1214
5 z 2.8102
6 y -1.3844
7 y -0.7363
在列b
中选择与列中的第一个字母首次出现的字母a
不同的值的最有效方法是什么?这就是我要达到的目标
a b
0 x -0.2414
2 y 0.3442
5 z 2.8102
6 y -1.3844
df[df['a'] != df['a'].shift(1)]
Out[22]:
a b
0 x 0.564161
2 y 1.498050
5 z 0.080116
6 y 0.255031
我使用的原始数据框:
df
Out[23]:
a b
0 x 0.564161
1 x -1.153969
2 y 1.498050
3 y 0.067259
4 y -0.345102
5 z 0.080116
6 y 0.255031
7 y 0.345250
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句