我在pandas中有一个df
将pandas导入为pd
import pandas as pd
df = pd.DataFrame(['AA', 'BB', 'CC'], columns = ['value'])
我想迭代df中的行。对于每一行,我想要行值和下一行值。
这是理想的结果。
0 1 AA BB
1 2 BB CC
我尝试过使用itertools的pairwise()函数。
from itertools import tee, izip
def pairwise(iterable):
"s -> (s0,s1), (s1,s2), (s2, s3), ..."
a, b = tee(iterable)
next(b, None)
return izip(a, b)
import pandas as pd
df = pd.DataFrame(['AA', 'BB', 'CC'], columns = ['value'])
for (i1, row1), (i2, row2) in pairwise(df.iterrows()):
print i1, i2, row1["value"], row2["value"]
但是,它太慢了。知道如何用iterrows实现输出吗?我想尝试使用pd.apply获取大型数据集。