我有一个大约100列的Dataframe,这个子集是问题的复制品
df=pd.DataFrame({"a":["False","False","True","True","False","False","True","True","False"],
"b":["False","False","True","True","True","False","True","True","False"]})
我想遍历每一列,这将执行以下操作:
搜索第一个出现的true:—如果找到了,保持这种方式,并使每件事np.nan在它之前
那么它应该寻找假:-如果找到了使每件事在真之后和假之前np.nan
继续这个过程直到最后一行
所需输出
trl=pd.DataFrame({"a":[np.nan,np.nan,"True",np.nan,"False",np.nan,"True",np.nan,"False"],
"b":[np.nan,np.nan,"True",np.nan,np.nan,"False","True",np.nan,"False"]})
2条答案
按热度按时间5m1hhzi41#
我发现这样:
输出:
4zcjmb1e2#
下面是另一个使用Dataframe滚动功能的解决方案:
此函数的工作原理如下: