gpt4 book ai didi

python - 如何有效地检查 pandas 数据帧每一行中的连续值范围?

转载 作者:行者123 更新时间:2023-11-28 22:11:14 25 4
gpt4 key购买 nike

假设我们有如下所示的 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])

输出将是:

   A  a  B  b  C  c  D  d
1 0 a 1 b 1 c 0 d
2 0 a 0 b 1 c 1 d
3 1 a 0 b 0 c 0 d
4 0 a 1 b 1 c 1 d

所以现在我想获取此数据框的行,其中至少包含例如 ABC 列中的两个零>, D.
对于索引为 2 和 3 的行上方的数据帧满足此条件:第二行的 AB 列包含零,B 列, C 足以用于第三行。

如果我想找到三个或更多连续的零,那么找到这种序列的方法应该可行。

所以最终我想要 bool 系列,它应该看起来像:

1 false
2 true
3 true
4 false

将该系列用作原始数据框的掩码。

最佳答案

选择数字列,然后使用shift进行比较:

u = df.select_dtypes(np.number).T
((u == u.shift()) & (u == 0)).any()

1 False
2 True
3 True
4 False
dtype: bool

关于python - 如何有效地检查 pandas 数据帧每一行中的连续值范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55961058/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com