Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 没有临时变量的DataFrame列的第一个转换值_Python_Pandas_Dataframe - Fatal编程技术网

Python 没有临时变量的DataFrame列的第一个转换值

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

我试图尽可能高效地找到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
一般情况 您可以将数据帧中的值与第一个值进行比较,只取不同的值并使用其中的第一个值

df[df.Column1 != df.Column1.iloc[0]].Column1.values[0]
特例 如果您始终希望找到与0不同的第一个元素,您可以这样做:

df[df.Column1 != 0].Column1.values[0]

我不得不添加一个额外的检查使用,但除此之外,它的工作!也干净,谢谢