python - 如何删除熊猫中与上面的行值相同的行?
问题描述
我正在将 Python 与 pandas 库一起使用。我有如下的DataFrame
slope decision
Date
2019-10-31 20:38:00 -0.000062 1
2019-10-31 20:39:00 -0.000411 0
2019-10-31 20:40:00 -0.000901 0
2019-10-31 20:41:00 -0.001053 1
2019-10-31 20:42:00 -0.001213 1
... ... ...
2019-10-31 23:54:00 -0.000103 0
2019-10-31 23:55:00 -0.000035 0
2019-10-31 23:56:00 -0.000143 0
2019-10-31 23:57:00 -0.000233 -1
2019-10-31 23:58:00 -0.000305 -1
现在我想删除与它正下方的行具有相同值的任何行。只需保持“决定”列的值发生变化的行,如下所示
slope decision
Date
2019-10-31 20:38:00 -0.000062 1
2019-10-31 20:39:00 -0.000411 0
2019-10-31 20:41:00 -0.001053 1
... ... ...
2019-10-31 23:54:00 -0.000103 0
2019-10-31 23:57:00 -0.000233 -1
请帮忙!
解决方案
您可以将 for not equal 与for mask 和 filter bySeries.ne
创建的值进行比较:Series.shift
boolean indexing
df1 = df[df['decision'].ne(df['decision'].shift())]
或者比较差异Series.diff
是否不是0
:
df1 = df[df['decision'].diff().ne(0)]
print (df1)
slope decision
Date
2019-10-31 20:38:00 -0.000062 1
2019-10-31 20:39:00 -0.000411 0
2019-10-31 20:41:00 -0.001053 1
2019-10-31 23:54:00 -0.000103 0
2019-10-31 23:57:00 -0.000233 -1
推荐阅读
- typescript - 无法将 pixi.js 导入 .ts 文件
- react-native - 使用标头中的令牌响应本机 Get 请求
- angular - (Angular 2/4/5/6) 订阅服务后从服务器获取错误响应
- python - 了解前馈神经网络输出
- reactjs - 为什么每当父状态发生变化时,组件更新生命周期就会执行?
- python - 具有多个正确答案的多项选择测验应用程序的设计方法
- c - tcp 客户端如何理解服务器状态码
- arduino - 重置命令和拍照命令有问题
- javascript - 当我去下个月时,日历中缺少几个月
- javascript - 使用 php sdk 显示 Facebook 登录按钮