pandas+列中最后3个值的模式顺序;python
我需要帮助在列中找到序列模式, 范例pandas+列中最后3个值的模式顺序;python,python,pandas,Python,Pandas,我需要帮助在列中找到序列模式, 范例 在上面的数据框中,我们有两列颜色和匹配。我需要在列“Color”中找到序列,它应该在列中找到最后3个值(蓝色、橙色、橙色、橙色(当前单元格)),如果匹配,则需要更新下一个列匹配。我希望这段代码能在python代码中工作。使用shift为此:df[“new_col”]=df.col.eq(df.col.shift(1))&df.col.eq(df.col.shift(2))创建一个布尔值序列,当col中的一个值等于前面的两个值时 输出: 0 False
在上面的数据框中,我们有两列颜色和匹配。我需要在列“Color”中找到序列,它应该在列中找到最后3个值(蓝色、橙色、橙色、橙色(当前单元格)),如果匹配,则需要更新下一个列匹配。我希望这段代码能在python代码中工作。使用
shift
为此:df[“new_col”]=df.col.eq(df.col.shift(1))&df.col.eq(df.col.shift(2))
创建一个布尔值序列,当col
中的一个值等于前面的两个值时
输出:
0 False
1 False
2 False
3 False
4 False
5 False
6 True
Name: test, dtype: bool
编辑:如果要转换回“不匹配”/“匹配”的值,只需添加以下内容即可
df[“col”]=np。其中(df[“col”]==False,“mismatched”,“matched”)
可能会有所帮助。但我希望cod能准确地以这种格式找到(当前单元格(橙色)上一个单元格应该是“橙色”+“橙色”+“蓝色”,然后它应该键入“匹配”否则不匹配编辑给出错误s未定义,并且请您帮助以相同的模式找到(当前单元格(橙色)上一个单元格应该是“橙色”+“橙色”+“蓝色”)它成功了,真的节省了我的时间。感谢你的宝贵意见Luc Bertini如果excel文件中有新数据可用/写入,如何使python继续运行,并在excel文件中检查更新,并运行上述代码?
0 False
1 False
2 False
3 False
4 False
5 False
6 True
Name: test, dtype: bool