我有两个的cols seq_no和VAL跟随DF:如何在特定索引的熊猫数据框列中重复值?
seq_no val expected_result
0 21 0 0
1 21 0 0
2 21 1 0
3 22 1 1 #seq_no changed
4 22 1 1
5 22 6 1
6 23 6 6 #seq_no changed
7 23 7 6
8 24 7 7 #seq_no changed
9 24 12 7
10 25 12 12 #seq_no changed
11 25 12 12
12 25 13 12
可以看出,在seq_no在2个或更多的行重复,什么都想是创建一个新的列EXPECTED_RESULT哪里,每当seq_no改变时,该索引的任何值是根据VAL检查和值重复EXPECTED_RESULT,直到再次seq_no改变的。
expected_result col说明了我想要的。基本上需要获得seq_no变化的索引,然后在这些索引处检查val下的值,然后重复这些值直到seq_no被更改或遇到idx_list中的下一个索引。
我可以找到所需索引的列表,但坚持进一步的操作。
i = df.seq_no.values
df["bool"] = np.append(True, idx[:-1] != idx[1:])
list1 = df[df["bool"] == True].index.tolist()
list1
以下是指数,其中seq_no正在改变列表:
Out [ ] : list1
[0, 3, 6, 8, 10]
请帮助。
@COLDSPEED请看看更新的部分,看看我能做什么?谢谢您的帮助。 – kshama
@kshama这不是一个好主意。通过对其进行编辑,使问题变得不可读。我建议你开一个新的问题。 –
@COLDSPEED https://stackoverflow.com/questions/45526511/how-to-create-new-column-by-comparing-values-of-other-columns请检查 – kshama