我在Python Pandas中有DataFrame,如下所示:
ID | 日期 | 日志|
---|---|---|
123 | 2021-12-31 | 2022-12-30 |
445 | 2021-12-31 | 2022-01-15 |
22232 | 2021-12-31 | NaN |
您可以编写条件并使用布尔索引:
def my_function(df):
msk = (df['DATE'] > df['LOG']) | df['LOG'].isna()
return df.loc[msk, 'ID']
>>> my_function(df)
0 123
2 2232
Name: ID, dtype: int64
此函数使用两个参数来打印客户端ID
,其中LOG
不是NaN并且已从"DATE"
中记录日期时间值
import numpy as np
def my_function(df, date):
return df["ID"].loc((not np.isnan(df["LOG"])) | (df["DATE"]>df["LOG"]))