我有一个数据帧,每隔五行都会发生一些事情。我想将下面的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
答案 0 :(得分:1)
您可以尝试重新构造与模块化算术相关的问题,而不是尝试根据实际DataFrame中行的位置进行查看。您正在寻找使用mod 5算法计算试验次数的方法。您可以使用类似以下的语句,该语句将标记该试验是哪个数字,并将为每个第5次试验提供一个'x'
作为其值:
df["A"] = df.index.map(lambda x: 'x' if x%5 == 0 else x%5)