[英]How to filter one condition and extract the data based on the filtered condition in python?
我有點堅持使用代碼來提取我想要的條件。
我想要做的是我想過濾標簽 AB0150 的最大值並基於該數字日期然后我想過濾具有該數字的數據。
這是我的數據示例。 我有 3 個月的數據和大約 31 個不同的標簽。
ID TIME Machine_NO TAG VALUE
99959 2020-11-13 19:34:00 409301 AB0150 63.59
99959 2020-12-15 17:55:00 409302 AB0151 0.00
99959 2020-11-05 01:25:00 409303 AB0152 499.65
99959 2021-01-01 00:05:00 409301 AB0153 80.00
99959 2020-11-13 19:34:00 409301 AB0150 50.59
99959 2020-11-13 19:34:00 409301 AB0150 53.59
99959 2020-12-13 19:59:00 409301 AB0150 12.5
99959 2021-01-11 15:22:00 409301 AB0150 21.3
99959 2020-12-15 17:55:00 409302 AB0151 4.69
99959 2020-11-21 05:16:00 409303 AB0152 2133
99959 2020-11-13 19:34:00 409301 AB0151 700
99959 2020-11-13 19:34:00 409302 AB0152 35.5
99959 2020-11-13 19:34:00 409303 AB0153 2159
以下是到目前為止的代碼。
df.sort_values(by=['TAG','VALUE'], ascending=False).drop_duplicates(subset=['TAG'],keep='first')
df_check=df[df['TIME']=='2020-11-13 19:34:00']
我想要一些自動代碼,如果我更改日期范圍,我需要更改日期。 我想過濾最大的標簽和 select 日期並立即提取具有該日期的數據。 有什么好的方法可以做到這一點嗎?
這是所需的 output。
ID TIME Machine_NO TAG VALUE
99959 2020-11-13 19:34:00 409301 AB0150 63.59
99959 2020-11-13 19:34:00 409301 AB0151 700
99959 2020-11-13 19:34:00 409302 AB0152 35.5
99959 2020-11-13 19:34:00 409303 AB0153 2159
謝謝
你非常接近你想要的。 將sort_values
步驟中生成的 dataframe 存儲為它自己的 dataframe 並使用.iat()
從第一行(索引 0)和 TIME 列(第二列;索引 1)中提取TIME
。 然后按該 TIME 值過濾:
df_time = df.sort_values(by=['TAG','VALUE'], ascending=False).drop_duplicates(subset=['TAG'], keep='first')
MAX_TIME = df_time.iat[0, 1]
# '2020-11-13 19:34:00'
如果 TIME 不一定是第二列,請使用它從第一行獲取 TIME:
MAX_TIME = df_time.iat[0, df_time.columns.get_loc('TIME')]
然后用 MAX_TIME 過濾原始 df:
df_check = df[df['TIME'] == MAX_TIME]
# Result:
ID TIME Machine_NO TAG VALUE
0 99959 2020-11-13 19:34:00 409301 AB0150 63.59
4 99959 2020-11-13 19:34:00 409301 AB0150 50.59
5 99959 2020-11-13 19:34:00 409301 AB0150 53.59
10 99959 2020-11-13 19:34:00 409301 AB0151 700.00
11 99959 2020-11-13 19:34:00 409302 AB0152 35.50
12 99959 2020-11-13 19:34:00 409303 AB0153 2159.00
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.