簡體   English   中英

熊貓-根據另一列的行總數創建新列的正確方法(試圖在副本上設置的值)?

[英]Pandas- correct way to create a new column based on the sum of rows of another column (value trying to be set on a copy)?

我有一個包含日期,名稱和值的數據框,我要做的就是創建一列,該列是按日期得出的總值總和的輸出,然后將該總和減去該日期每個名稱的值。 我已經能夠做到這一點,但是卻遇到了常見的錯誤: A value is trying to be set on a copy of a slice from a DataFrame.

這是我的代碼: df['ex_Term'] = df.groupby('name').Term.transform('sum') - df['Term']

它告訴我使用iloc函數,在閱讀文檔並嘗試使用此代碼后,它仍然不起作用: df['ex_Term'] = df.groupby('name').loc[:,('Term')].sum()- df['Term']

示例df:

 name   Country   value   delta  
 mike   UK            1      -1  
 mike   US            2       1  

IIUC嘗試使用assgin

df=df.assgin(ex_Term=df.groupby('name').Term.transform('sum') - df['Term'])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM