首页 文章

Python pandas通过循环遍历列来构造数据帧

提问于
浏览
1

我正在尝试根据从现有数据帧获得的数据开发新的熊猫数据帧,然后考虑新数据帧中先前计算的值 .

例如,这里有两个具有相同大小的数据帧 .

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循环中的索引指示有问题,但我无法弄清楚必须如何制定参数 . 我非常感谢你对此有任何帮助 .

1 回答

  • 0

    这是一个简单的 cumsum .

    df2 = df1.copy()
    df2.loc[0] = [2,5,6,7]
    desired_df = df2.cumsum()
    

相关问题