Python pandas dataframe:如何添加数字数据的后续行

Python pandas dataframe:如何添加数字数据的后续行,python,pandas,Python,Pandas,我有一个只包含数字的数据框,我想添加后续行。因此,从这样的数据帧: A B 0 1 2 1 3 3 2 5 4 3 9 7 A B 0 4 5 1 8 7 2 14 11 我想得到一个新的数据帧,如下所示: A B 0 1 2 1 3 3 2 5 4 3 9 7 A B 0 4 5 1 8 7 2 14 11 (新数据帧的第一行包含原始数据帧的前两行的条目,相加,等等) 我找到

我有一个只包含数字的数据框,我想添加后续行。因此,从这样的数据帧:

   A  B
0  1  2
1  3  3
2  5  4
3  9  7
    A   B
0   4   5
1   8   7
2  14  11
我想得到一个新的数据帧,如下所示:

   A  B
0  1  2
1  3  3
2  5  4
3  9  7
    A   B
0   4   5
1   8   7
2  14  11
(新数据帧的第一行包含原始数据帧的前两行的条目,相加,等等)

我找到了以下方法:

df = pandas.DataFrame({'A': [1,3,5,9], 'B': [2,3,4,7]})
new_rows = {}
for i in range(df.shape[0] - 1):
    new_rows[i] = df.irow(i)+df.irow(i+1)
new_df = pandas.DataFrame(new_rows).transpose()
但它既不快也不漂亮。关于如何优化速度和python zen ness的任何建议?

自行调用,然后需要调用:

自行调用,然后需要调用:

自行调用,然后需要调用:

自行调用,然后需要调用:


这将起作用,并为您提供与示例中相同的索引

(df+df.shift(-1))[:-1]

Out[146]: 
    A   B
0   4   5
1   8   7
2  14  11

这将起作用,并为您提供与示例中相同的索引

(df+df.shift(-1))[:-1]

Out[146]: 
    A   B
0   4   5
1   8   7
2  14  11

这将起作用,并为您提供与示例中相同的索引

(df+df.shift(-1))[:-1]

Out[146]: 
    A   B
0   4   5
1   8   7
2  14  11

这将起作用,并为您提供与示例中相同的索引

(df+df.shift(-1))[:-1]

Out[146]: 
    A   B
0   4   5
1   8   7
2  14  11

带有
头部
尾部
的替代方法:

df.tail(-1).reset_index(drop=True) + df.head(-1).reset_index(drop=True)

Out[41]:
    A   B
0   4   5
1   8   7
2  14  11

带有
头部
尾部
的替代方法:

df.tail(-1).reset_index(drop=True) + df.head(-1).reset_index(drop=True)

Out[41]:
    A   B
0   4   5
1   8   7
2  14  11

带有
头部
尾部
的替代方法:

df.tail(-1).reset_index(drop=True) + df.head(-1).reset_index(drop=True)

Out[41]:
    A   B
0   4   5
1   8   7
2  14  11

带有
头部
尾部
的替代方法:

df.tail(-1).reset_index(drop=True) + df.head(-1).reset_index(drop=True)

Out[41]:
    A   B
0   4   5
1   8   7
2  14  11

谢谢如果您感兴趣,请提供一些计时结果:我的版本为1.39秒,您的版本为2.19秒。谢谢!如果您感兴趣,请提供一些计时结果:我的版本为1.39秒,您的版本为2.19秒。谢谢!如果您感兴趣,请提供一些计时结果:我的版本为1.39秒,您的版本为2.19秒。谢谢!如果您感兴趣,请提供一些计时结果:我的版本为1.39秒,您的版本为2.19毫秒。