Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python通过在列上循环来构造数据帧_Python_Loops_Pandas - Fatal编程技术网

Python通过在列上循环来构造数据帧

Python通过在列上循环来构造数据帧,python,loops,pandas,Python,Loops,Pandas,我正试图根据从现有数据帧中获得的数据开发一个新的panda数据帧,然后考虑新数据帧中先前计算的值 例如,这里有两个大小相同的数据帧 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) 然后我创建了一个列表,该列表作为

我正试图根据从现有数据帧中获得的数据开发一个新的panda数据帧,然后考虑新数据帧中先前计算的值

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

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循环中的索引指示有问题,但我不知道参数必须如何表达。我将非常感谢在这方面的任何帮助

这是一个简单的
cumsum

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

这是一个简单的
cumsum

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

一般来说,每当我看到关于在数据帧上循环的问题时,我认为“不要获取数据帧”,大多数数据帧的所有操作都是通过矩阵操作完成的。正如下面的答案所示,不是循环。一般来说,每当我看到关于在数据帧上循环的问题时,我认为“不要获取数据帧”,大多数数据帧的所有操作都是通过矩阵运算完成的。如下面的答案所示,不是循环。