Python 没有临时变量的DataFrame列的第一个转换值
我试图尽可能高效地找到dataframe列的第一个转换值。我不希望有临时变量。假设我有一个数据帧(df),其列为:Python 没有临时变量的DataFrame列的第一个转换值,python,pandas,dataframe,Python,Pandas,Dataframe,我试图尽可能高效地找到dataframe列的第一个转换值。我不希望有临时变量。假设我有一个数据帧(df),其列为: Column1 0 0 0 -1 1 在本例中,我要查找的值是-1,这是值第一次更改。我想在if语句中使用它来判断值是第一次转换为1还是-1。伪代码是: if (first transition value == 1): # Something elif: (first transition value == -1): # Something else
Column1
0
0
0
-1
1
在本例中,我要查找的值是-1,这是值第一次更改。我想在if语句中使用它来判断值是第一次转换为1还是-1。伪代码是:
if (first transition value == 1):
# Something
elif: (first transition value == -1):
# Something else
一般情况
您可以将数据帧中的值与第一个值进行比较,只取不同的值并使用其中的第一个值
df[df.Column1 != df.Column1.iloc[0]].Column1.values[0]
特例
如果您始终希望找到与0不同的第一个元素,您可以这样做:
df[df.Column1 != 0].Column1.values[0]
我不得不添加一个额外的检查使用,但除此之外,它的工作!也干净,谢谢