gpt4 book ai didi

python - 如何转发/填充 Pandas DataFrame 列/系列中的特定值?

转载 作者:行者123 更新时间:2023-12-02 15:53:08 24 4
gpt4 key购买 nike

我在数据框中有一个 bool 列,如下所示:

True
False
False
False
False
True
False
False
False

我想转发/填充 True 值 n 次。例如2 次:

True
True
True
False
False
True
True
True
False

ffillNaN 值做了类似的事情,但我找不到所描述的特定值的任何内容。执行此操作的最简单方法是执行标准循环并遍历行并使用计数器修改相关列吗?

每一行都是等距离的时间序列条目

编辑:

目前的答案都是用 bool 列解决我的特定问题,但可以修改一个答案以使其更通用:

>> s = pd.Series([1, 2, 3, 4, 5, 1, 2, 3])
0 1
1 2
2 3
3 4
4 5
5 1
6 2
7 3

>> condition_mask = s == 2
>> s.mask(~(condition_mask)).ffill(limit=2).fillna(s).astype(int)

0 1
1 2
2 2
3 2
4 5
5 1
6 2
7 2

最佳答案

你仍然可以使用 ffill 但首先你必须屏蔽 False

s.mask(~s).ffill(limit=2).fillna(s)

0     True
1 True
2 True
3 False
4 False
5 True
6 True
7 True
8 False
Name: 0, dtype: bool

关于python - 如何转发/填充 Pandas DataFrame 列/系列中的特定值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71927283/

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