python - 删除数据框值Python中的第一个日期实例

标签 python python-3.x pandas dataframe pandas-groupby

我有一个如下所示的数据框:

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 DateDate 切换为 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/

相关文章:

python - 安装Myysql-python后安装失败

python - 推特 Bootstrap href 按钮不起作用

python - 识别输入的数据类型

python - 如何保留在 python 的数据框中重复出现的值的第一次出现?

python - 根据 Pandas 数据框中的特定条件更快地计算滚动发生次数

使用 numba prange 封装 for 循环的 Python 并行化。为什么不工作

python - 如何使用 request.post 执行 Django 测试?

python - Python 3 中的 urllib 使用

python - 使用生成器表达式返回多个值

python - 在 Pandas 数据框中将字符串 2.90K 转换为 2900 或将 5.2M 转换为 5200000