我有一个pandas plame,看起来像下面(行总是唯一的)
Start End Status
AB DD T_DOWN
TR WE T_UP
DD RE P_DOWN
TR WE R_WAIT
YT GG R_WAIT
GG LO P_DOWN
我想做的是找出其中一行的Start值等于另一行的End值,这些行的Status值包含字符串T_DOWN
或P_DOWN
.所以如果存在这样的条件,那么保留包含Status的行的值P_DOWN
因此,在上面的例子中,第三行的Start值是DD
,这与第一行的End值也是DD
相匹配,并且这两行都存在T_DOWN
和P_DOWN
.所以我会保留第三行,因为它包含Status值P_DOWN
作为一个计数器示例,请注意第六行的Start值为GG
,第五行的End值也为GG
.但是行包含Status个值,有R_WAIT
和P_DOWN
.所以这些行将不被考虑.
所以最终的结果看起来像
Start End Status
TR WE T_UP
DD RE P_DOWN
TR WE R_WAIT
YT GG R_WAIT
GG LO P_DOWN
我在网上查阅了一些资源,比较逻辑与我正在try 做的事情有点相似,但还不够接近,不能给我一个领先的开始.
Compare Multiple Columns to Get Rows that are Different in Two Pandas Dataframes
Pandas dataframe compare multiple rows with specific condition
有人能帮我一下吗?