我有一个只有数字的数据框,我想添加后续行。所以从这样的数据框:
UIScrollView
我想得到一个像这样的新数据框:
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
但它既不快也不漂亮。关于如何优化速度和python zen-ness的任何建议?
答案 0 :(得分:1)
In [228]:
df.add(df.shift()).dropna()
Out[228]:
A B
1 4 5
2 8 7
3 14 11
答案 1 :(得分:1)
import pandas
df = pandas.DataFrame({'A': [1,3,5,9], 'B': [2,3,4,7]})
(df + df.shift(1)).dropna()
A B
1 4 5
2 8 7
3 14 11
答案 2 :(得分:1)
这将起作用,并为您提供与示例中相同的索引
(df+df.shift(-1))[:-1]
Out[146]:
A B
0 4 5
1 8 7
2 14 11
答案 3 :(得分:0)
使用head
和tail
的替代方法:
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