我有一个如下所示的数据框:
Publication Date Date Value
2018-01-01 2018-01-01 2
2018-01-01 2018-01-02 13
2018-01-01 2018-01-03 14
2018-01-01 2018-01-04 12
2018-01-02 2018-01-02 1.5
2018-01-02 2018-01-03 14
2018-01-02 2018-01-04 15
2018-01-02 2018-01-05 15.5
2018-01-03 2018-01-03 1.8
2018-01-03 2018-01-04 13
2018-01-03 2018-01-05 17
2018-01-03 2018-01-06 15
.
.
我想删除 Publication Date
发生变化的数据的每一行,因为每次迭代的值都非常小。输出看起来像:
Publication Date Date Value
2018-01-01 2018-01-02 13
2018-01-01 2018-01-03 14
2018-01-01 2018-01-04 12
2018-01-02 2018-01-03 14
2018-01-02 2018-01-04 15
2018-01-02 2018-01-05 15.5
2018-01-03 2018-01-04 13
2018-01-03 2018-01-05 17
2018-01-03 2018-01-06 15
.
.
数据基本上采用这种格式,但包括未显示的额外列(即:对于每个 Publication Date
,Date
切换为 Date+1)。
执行此操作的最佳方法是什么?
最佳答案
您可以使用带有 shift 的 bool 索引
df[df['Publication Date'] == df['Publication Date'].shift()]
Publication Date Date Value
1 2018-01-01 2018-01-02 13.0
2 2018-01-01 2018-01-03 14.0
3 2018-01-01 2018-01-04 12.0
5 2018-01-02 2018-01-03 14.0
6 2018-01-02 2018-01-04 15.0
7 2018-01-02 2018-01-05 15.5
9 2018-01-03 2018-01-04 13.0
10 2018-01-03 2018-01-05 17.0
11 2018-01-03 2018-01-06 15.0
关于python - 删除数据框值Python中的第一个日期实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54151566/