我正在尝试根据从现有数据框中获得的数据开发新的熊猫数据框,然后考虑新数据框中先前计算的值。
例如,这里有两个大小相同的数据帧。
df1 = pd.DataFrame(np.random.randint(0,10, size = (5, 4)), columns=['1', '2', '3', '4'])
df2 = pd.DataFrame(np.zeros(df1.shape), index=df1.index, columns=df1.columns)
然后我创建了一个列表,该列表以我的第二个数据帧df2
的起始基础开始L = [2,5,6,7]
df2.loc[0] = L
然后对于df2的剩余行,我想从前一个时间步(df2)中获取值并添加df1的值。
for i in df2.loc[1:]:
df2.ix[i] = df2.ix[i-1] + df1
作为示例,我的数据框应如下所示:
>>> df1
1 2 3 4
0 4 6 0 6
1 7 0 7 9
2 9 1 9 9
3 5 2 3 6
4 0 3 2 9
>>> df2
1 2 3 4
0 2 5 6 7
1 9 5 13 16
2 18 6 22 25
3 23 8 25 31
4 23 11 27 40
我知道for循环中的索引指示有问题,但我无法弄清楚必须如何制定参数。我非常感谢你对此有任何帮助。
答案 0 :(得分:0)
这是一个简单的cumsum
。
df2 = df1.copy()
df2.loc[0] = [2,5,6,7]
desired_df = df2.cumsum()