对于像这样的匹配问题,一种可能是进行完全合并,然后使用布尔级数对满足条件的所有行(对于该行)进行子集合并,并找到
max
min
在所有可能的匹配中。因为这需要稍微不同的列和不同的函数,所以我将操作分为两段非常相似的代码,一段处理1/蓝色,另一段处理1/红色。
先做些家务,把事情安排在约会时间
import pandas as pd
df[‘date’] = pd.to_datetime(df[‘date’])
df[‘colourDate’] = pd.to_datetime(df[‘colourDate’])
计算每行时间之间1/red的最小像素
Subset of rows we need to do this for
dfmin = df[df.type.eq(1) & df.colour.eq(‘red’)].reset_index()
To each row merge all rows from the original DataFrame
dfmin = dfmin.merge(df[[‘date’, ‘minPixel’]], how=’cross’)
If pd.version < 1.2 instead use:
dfmin = dfmin.assign(t=1).merge(df[[‘date’, ‘minPixel’]].assign(t=1), on=’t’)
Only keep rows between the dates, then among those find the min minPixel
Original: https://blog.csdn.net/weixin_35639680/article/details/114914499
Author: 金融先生-Frank
Title: python 条件查询_查找满足条件的特定值-python
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/677835/
转载文章受原作者版权保护。转载请注明原作者出处!