我每天都有多个数据点。我需要检测每天的第一个 0。我想将 Data 转换为 Output 列。
可重现格式的数据:
Date,Data,Output
1/1/2019,1,False
1/1/2019,1,False
1/1/2019,0,True
1/1/2019,0,False
1/1/2019,1,False
2/1/2019,1,False
2/1/2019,0,True
2/1/2019,1,False
3/1/2019,0,True
3/1/2019,0,False
我认为这可能涉及 groupby 功能,但正在努力弄清楚如何开始。
最佳答案
使用复制
:
df["output"] = ~(df[df["Data"]==0].duplicated(subset=["Date","Data"],keep="first"))
df["output"].fillna(False, inplace=True)
print (df)
#
Date Data output
0 1/01/2019 1 False
1 1/01/2019 1 False
2 1/01/2019 0 True
3 1/01/2019 0 False
4 1/01/2019 1 False
5 2/01/2019 1 False
6 2/01/2019 0 True
7 2/01/2019 1 False
8 3/01/2019 0 True
9 3/01/2019 0 False
关于python - Dataframe - 在按日期分组的行中查找第一个 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58722214/