在Pandas中,有没有一种方法可以根据特定的行值来修改先前的行?

时间:2020-05-07 16:09:44

标签: python pandas loops dataframe

我有一个数据帧,每隔五行都会发生一些事情。我想将下面的A列表示为每五个试验中的“ x”之前的倒计时。我是否可以运行一个简单的代码来找到每个“ x”,然后将它们后面的行编号为1-4?

当前:

index A  
1   1
2   2
3   3
4   4
5   x
6   6
7   7
8   8
9   9
10  x

所需的输出:

index A 
1   1
2   2
3   3
4   4
5   x
6   1
7   2
8   3
9   4
10  x

1 个答案:

答案 0 :(得分:1)

您可以尝试重新构造与模块化算术相关的问题,而不是尝试根据实际DataFrame中行的位置进行查看。您正在寻找使用mod 5算法计算试验次数的方法。您可以使用类似以下的语句,该语句将标记该试验是哪个数字,并将为每个第5次试验提供一个'x'作为其值:

df["A"] = df.index.map(lambda x: 'x' if x%5 == 0 else x%5)