根據pandas中的字典對數據框的行進行分組並對相應的分子求和

幹糖蜜

我有一個錯誤代碼、分子及其分母的數據框,以及每個可能的錯誤代碼及其總體錯誤類型的字典。我想按錯誤類型對數據幀中的錯誤代碼進行分組,對它們的分子求和,並保持分母列不變。我試過了

grouped = day1_xione.set_index('error_code').groupby(by=map_values,axis=1).sum().reset_index()
grouped

但它只保留錯誤代碼,而不是按類型對它們進行分組。這是數據樣本的樣子:

數據框:

錯誤代碼 分子 分母
電源循環開啟 5 10
關機 1 10
恐慌 - 恐慌 -PANIC_1 5 10
TEMP_HIGH-TEMP 0 10
未知-原因_未知 9 10

對於顯示的盡可能多的錯誤代碼,56 個錯誤。每個錯誤代碼都是一個字符串,直接匹配字典中的一個代碼。

字典:

map_values = 
{'POWER CYCLE ON' : 'POWER RESET',
'POWER OFF': 'POWER RESET',
'PANIC - PANIC -PANIC_1': 'DEVICE PANIC',
'TEMP_HIGH-TEMP': 'OTHER',
'UNKNOWN-Reason_Unknown': 'OTHER'}

57 個代碼和 10 個類型。

期望輸出:

錯誤代碼 分子 分母
電源復位 6 10
設備恐慌 5 10
其他 9 10

對於出現的所有錯誤代碼

莫茲韋

您很接近,您需要groupby使用mapagg用於具有不同功能(sumfirst)的聚合的映射值

(df.groupby(df['error_code'].map(map_values))
   .agg({'Numerator': 'sum', 'Denominator': 'first'})
   .reset_index()
)

輸出:

     error_code  Numerator  Denominator
0  DEVICE PANIC          5           10
1         OTHER          9           10
2   POWER RESET          6           10

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何根據字符串層次結構對 Pandas 數據框進行分組?

如何在Python中對數據進行分組和求和並返回最大的總和?

根據條件(包含特定字符串)對數據進行分組

根據值聚合對行進行分組

如何根據特定函數對數組進行分組?

對列表中的數據框列進行分組

根據大小對數組javascript進行排序

使用 dplyr 根據 R 中的特定列對數據框進行排序

按列值對數據進行分組

對熊貓數據框列進行分組和計數

如何在js中對數組中的數據進行分組

使用分類字符串對熊貓數據框進行分組

按兩列對熊貓數據框進行分組而不對其進行匯總

如何通過對多個變量進行分組來創建新的 Pandas 數據框?

按特定列值對數據框進行分組

如何使用 tidyr/dplyr 對數據框的元素進行分組和選擇

對來自熊貓數據框的連續值進行分組

如何以特定方式對我的數據框進行分組和轉置?

如何根據Vuejs中的Id對特定數組位置進行排序?

如何根據屬性對對像數組進行排序

在熊貓中按週對數據透視表日期進行分組

如何使用dplyr在R中按月對數據進行分組

應用對行子集上的 Pandas 數據幀進行操作的函數

PHP中根據兩個條件對多個關聯數組進行分組和排序

如何根據javascript中的第一個元素對多個嵌套數組的第二個元素進行分組?

根據第二行對二維數組進行排序

按特定鍵對嵌套數組數據進行分組

如何在python中對二維數組中的連續數據進行分組

根據最佳匹配另一個數組對對像數組進行排序