Python 蟒蛇熊猫。。。pandas中ItErrors的替代方案,以获取下一行值(新)
我对熊猫有兴趣 作为pd进口熊猫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导入
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函数?