gpt4 book ai didi

python - 在特定时间间隔内删除行

转载 作者:行者123 更新时间:2023-12-04 07:33:32 26 4
gpt4 key购买 nike

所以我们有一个在特定时间具有特定值的 Pandas DataFrame。
例如:

    @ts               @value Glucose Diff   smooth_diff new P          N    C1  C2

135 2021-10-29 11:16:00 167 167.0 -3.0 15.45 15.45 17.95 17.45 NaN 0.0
155 2021-10-29 12:56:00 162 162.0 -15.0 15.35 15.35 17.95 16.00 NaN 0.0
243 2021-10-29 20:16:00 133 133.0 0.0 15.25 15.25 19.85 15.75 NaN 0.0
245 2021-10-29 20:26:00 134 134.0 0.0 15.50 15.50 15.75 15.60 NaN 0.0
113 2021-10-29 09:26:00 130 130.0 1.0 16.75 16.75 0.00 21.70 NaN NaN
现在我们要删除彼此间隔 1 小时(@ts 列)的行(因此在此示例中,我们要删除 2021-10-29 20:26:00 的行,因为它在前一个的 1 小时时间跨度),但我们似乎无法找到一种方法来做到这一点。
有什么帮助吗?

最佳答案

像这样的事情可能会奏效:

import pandas as pd

# create dataframe (only creating 2 cols for ease)
df = pd.DataFrame({
'@ts': ['2021-10-29 11:16:00', '2021-10-29 12:56:00', '2021-10-29 20:16:00',
'2021-10-29 20:26:00'],
'@value': [167, 162, 133, 134]
})

# split @ts column into separate columns - date(d) and time(t)
df[["d", "t"]] = df["@ts"].str.split(" ", expand=True)

# split time column into separate parts, hours, mins and secs
df[["h", "m", "s"]] = df["t"].str.split(":", expand=True)
# drop duplicates based on date and hour, keep the first row
df = df.drop_duplicates(subset=["d", "h"], keep="first")

关于python - 在特定时间间隔内删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67838244/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com