假设我们有pandas数据帧,如下所示:
df = pd.DataFrame(
{'A': [0, 0, 1, 0],
'a': list('aaaa'),
'B': [1, 0 , 0, 1],
'b': list('bbbb'),
'C': [1, 1, 0, 1],
'c': list('cccc'),
'D': [0, 1, 0, 1],
'd': list('dddd')},
index=[1, 2, 3, 4])
输出将是:
^{pr2}$所以现在我想得到这个数据帧的行,例如至少在A
,B
,C
,D
列中按顺序包含两个0。
对于上面的dataframe,索引为2和3的行满足以下条件:第二行的列A
,B
包含零,第三行的B
,C
就足够了。在
如果我想找到三个或更多个连续的零,那么找到这个序列的方法应该是可行的。在
所以最终我想要一个布尔级数,它应该看起来像:
1 false
2 true
3 true
4 false
将该系列用作原始数据帧的掩码。在
您可以使用pandas' apply function并定义自己的函数来检查您的条件,如下所示:
结果是:
^{pr2}$选择数字列,然后使用
shift
进行比较:从cs95建立的数据
相关问题 更多 >
编程相关推荐