【发布时间】:2021-07-21 07:35:45
【问题描述】:
假设我们有一个这样的数据框:
import pandas as pd
df = pd.DataFrame()
df['filename'] = ['118_3.JPG', '118_3.JPG', '118_3.JPG', '118_3.JPG', '118_3.JPG', '15_7.JPG', '15_7.JPG', '15_7.JPG', '15_7.JPG', '15_7.JPG','203_4.JPG', '203_4.JPG', '203_4.JPG', '203_4.JPG', '203_4.JPG']
df['cvxh_len'] = [100, 200, 3000, 2800, 29, 200, 400, 2, 1, 0, 5000, 6000, 9000, 11000, 15000]
df['date'] = ["2018-12-14", "2018-12-15", "2018-12-16", "2018-12-17", "2018-12-18", "2018-12-14", "2018-12-15", "2018-12-16", "2018-12-17", "2018-12-18", "2018-12-14", "2018-12-15", "2018-12-16", "2018-12-17", "2018-12-18" ]
df["date"] = pd.to_datetime(df["date"])
df
filename cvxh_len date
118_3.JPG 100 2018-12-14
118_3.JPG 200 2018-12-15
118_3.JPG 3000 2018-12-16
118_3.JPG 2800 2018-12-17
118_3.JPG 29 2018-12-18
15_7.JPG 200 2018-12-14
15_7.JPG 400 2018-12-15
15_7.JPG 2 2018-12-16
15_7.JPG 1 2018-12-17
15_7.JPG 0 2018-12-18
203_4.JPG 5000 2018-12-14
203_4.JPG 6000 2018-12-15
203_4.JPG 9000 2018-12-16
203_4.JPG 11000 2018-12-17
203_4.JPG 15000 2018-12-18
我们如何删除每个唯一文件名的 cvxh_len 值随时间(日期)递减的行,以便我们最终得到以下结果:
filename cvxh_len date
118_3.JPG 100 2018-12-14
118_3.JPG 200 2018-12-15
118_3.JPG 3000 2018-12-16
15_7.JPG 200 2018-12-14
15_7.JPG 400 2018-12-15
203_4.JPG 5000 2018-12-14
203_4.JPG 6000 2018-12-15
203_4.JPG 9000 2018-12-16
203_4.JPG 11000 2018-12-17
203_4.JPG 15000 2018-12-18
【问题讨论】:
-
为什么“118_3.JPG 2800 2018-12-17”在减少时不会被移除?你只看最后一个日期吗?
-
修正了,你是对的。道歉
标签: python pandas datetime filter