[英]Python pandas constructing dataframe by looping over columns
我正在嘗試根據從現有數據框中獲得的數據來開發新的熊貓數據框,然后考慮新數據框中先前計算的值。
例如,這是兩個大小相同的數據幀。
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()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.