2017-02-11 47 views
1

我一直在尋找四周,只是無法弄清楚如何重寫我的程序的這部分,所以它不會給我「一個值試圖設置在一個從DataFrame的切片副本」消息。熊貓:如何不使用複製/視圖?

這裏是我的代碼的外觀:

list_of_dataframes=[df1,df2,df3,df4] 

empty_list=[] 

for df in list_of_dataframes: 
    df["new_column"]=df["column_x"].cumsum() 
    empty_list.append(df) 

所以我想採取「column_x」和「NEW_COLUMN」的cumsum即可顯示該值。

感謝您的任何幫助。

+0

由於原來的dataframes在地方改變了,就沒有必要創建另一個列表。最後,'list_of_dataframes'和'empty_list'是相同的。 – DyZ

回答

1

變化的地方:

list_of_dataframes[:] = [df.assign(new=df['column_x'].cumsum()) 
         for df in list_of_dataframes]] 

創建新的列表:

empty_list = [df.assign(new=df['column_x'].cumsum()) 
       for df in list_of_dataframes]]