簡體   English   中英

如何對熊貓數據框進行分組並對另一列中的值求和

[英]How to groupby pandas dataframe and sum values in another column

我有一個包含 3 列(CHAR、VALUE 和 WEIGHT)的 Pandas 數據框。

  • CHAR 列包含重復值,我需要將這些值分組 ['A'、'A'、'A'、'B'、'B'、'C']。

  • VALUE 列對於每個唯一的 CHAR [10, 10, 10, 15, 15, 20] 都有一個唯一的值。

  • WEIGHT 列有各種值 [1, 2, 1, 4, 4, 6]。

考慮我的初始數據框的示例:

在此處輸入圖片說明

我需要創建一個包含 3 列的新數據框。

  • CHAR 不會有任何重復
  • T_VALUE(總價值),它將包含此 CHAR 的值及其所有權重的總和
  • T_WEIGHT(總重量),它將具有此 CHAR 的權重之和

結果如下所示:

在此處輸入圖片說明

我將不勝感激任何幫助。

你可以使用+=代替:

newDF = df.groupby(['CHAR', 'VALUE'], as_index=False)['WEIGHT'].sum()
newDF['VALUE'] += newDF['WEIGHT']

我實際上能夠回答我自己的問題。 這是解決方案:

d = {'CHAR': ['A', 'A', 'A', 'B', 'B', 'C'],
     'VALUE': [10, 10, 10, 15, 15, 20], 
     'WEIGHT':  [1, 2, 1, 4, 4, 6]}
df = pandas.DataFrame(data=d)

newDF = df.groupby(['CHAR', 'VALUE'], as_index=False)['WEIGHT'].sum()
newDF['VALUE'] = newDF['VALUE'] + newDF['WEIGHT']

暫無
暫無

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

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