将所有列放在匹配值之后

时间:2018-10-16 17:59:27

标签: python python-3.x pandas dataframe

我有以下数据框

enter image description here

我的变量为ID = 1052107168068132864

我如何过滤所有值以将其删除到该列之后并获得如下结果。从某种意义上说,我想删除包含该ID的所有列。 enter image description here

,然后将ID的值更新为1052121282324692992作为当前值。 我想在循环中重复此操作,以便每次获取新数据帧时,相同的操作将继续进行,如果这是最高值,则什么也不会发生。

2 个答案:

答案 0 :(得分:0)

假设ID是唯一的,使用iloc

df.iloc[:df[df.ID == '1052121282324692992'].index.item()]

答案 1 :(得分:0)

使用idxmax

idx = (df['ID'] == ID).idxmax()
new_df = df.iloc[:idx, :]