我有一个像这样的 df:
Year ID Count
1997 1 0
1998 2 0
1999 3 1
2000 4 0
2001 5 1
我想在第一次出现
1
之前删除所有行在 Count
这会给我:Year ID Count
1999 3 1
2000 4 0
2001 5 1
我可以在第一次出现后删除所有行,如下所示:
df=df.loc[: df[(df['Count'] == 1)].index[0], :]
但我似乎无法遵循切片逻辑使其相反。
最佳答案
我会做:
df[(df.Count == 1).idxmax():]
df.Count == 1
返回一个 bool 数组。 idxmax()
将标识最大值的索引。我知道最大值将是 True
当有多个时 True
s 它将返回找到的第一个位置。这正是你想要的。顺便说一句,该值是 2
.最后,我对来自 2
的所有内容进行数据帧切片继续与 df[2:]
.我在上面的答案中将所有内容放在一行中。
关于python-2.7 - 在第一次出现值之前删除所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38707165/