Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/356.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 蟒蛇熊猫。。。pandas中ItErrors的替代方案,以获取下一行值(新)_Python_Pandas_Apply_Next - Fatal编程技术网

Python 蟒蛇熊猫。。。pandas中ItErrors的替代方案,以获取下一行值(新)

Python 蟒蛇熊猫。。。pandas中ItErrors的替代方案,以获取下一行值(新),python,pandas,apply,next,Python,Pandas,Apply,Next,我对熊猫有兴趣 作为pd进口熊猫 将熊猫作为pd导入 df=pd.DataFrame(['AA','BB','CC'],columns=['value']) 我想迭代df中的行。对于每一行,我需要行值和下一行值 这是期望的结果 01 AA BB 1 2 BB CC 我已经用itertools尝试了一个pairwise()函数 来自itertools导入三通,izip def成对(可编辑): “s->(s0,s1),(s1,s2),(s2,s3),…” a、 b=三通(可调) 下一个(b,无) 返

我对熊猫有兴趣

作为pd进口熊猫

将熊猫作为pd导入
df=pd.DataFrame(['AA','BB','CC'],columns=['value'])
我想迭代df中的行。对于每一行,我需要行值和下一行值

这是期望的结果

01 AA BB
1 2 BB CC
我已经用itertools尝试了一个pairwise()函数

来自itertools导入三通,izip
def成对(可编辑):
“s->(s0,s1),(s1,s2),(s2,s3),…”
a、 b=三通(可调)
下一个(b,无)
返回izip(a,b)
作为pd进口熊猫
df=pd.DataFrame(['AA','BB','CC'],columns=['value'])
对于成对排列的(i1,第1行),(i2,第2行)(df.iterrows()):
打印i1、i2、第1行[“值”]、第2行[“值”]
但是,它太慢了。你知道如何用iterrows实现输出吗?我想尝试pd.apply以获得一个大数据集。

您可以简单地使用,然后使用抛出最后一行:

df['next_value'] = df.value.shift(-1)
df.dropna(inplace=True)
>>> df
        value   next_value
0          AA           BB
1          BB           CC

虽然这不是最“花哨”的方法,但我会使用一个数字迭代器,通过
df.set_index(df.index+1,append=True,inplace=True)访问行I和I+1

,以完成索引。为什么需要成对的行?我认为这个问题是一个更大问题的征兆。你到底想实现什么?使用pd.apply函数?