Condivisione della tecnologia

Python implementa statistiche automatiche dei dati Excel

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

 

  • Leggi i dati: Per prima cosa, usapandasLeggere dati da file Excel.

  • Gruppo:utilizzogroupbyRaggruppa i dati in base alle colonne di raggruppamento specificate.

  • Numero di statistiche: conta automaticamente il numero di occorrenze di ciascun valore univoco nella colonna specificata di ciascun gruppo e conta i conteggi che soddisfano condizioni specifiche.

  • salva:Salvare i risultati statistici richiesti in un nuovo file

  1. import pandas as pd
  2. # 定义一个函数来计算特定值组合的计数
  3. def count_specific_values(group, target_rs, target_lcd_s):
  4. # 筛选特定值组合的行
  5. filtered = group[(group['rs'] == target_rs) & (group['lcd_s'] == target_lcd_s)]
  6. # 返回计数
  7. return len(filtered)
  8. file_path_1 = r'1.xlsx'
  9. sheet_name_1 = 'a'
  10. file_path_2 = r'2.xlsx'
  11. sheet_name_2 = 'b'
  12. df_succes = pd.read_excel(file_path_1,sheet_name=sheet_name_1)
  13. df2_fail = pd.read_excel(file_path_2,sheet_name=sheet_name_2)
  14. # 合并数据
  15. df_data_total = pd.concat([df_succes, df2_fail], axis=0)
  16. # 按name号分组
  17. grouped_data = df_data_total.groupby("name")
  18. # 使用pivot_table计算每个name组中的数据
  19. auth_pivot_table = grouped_data["rs"].value_counts().unstack(fill_value=0) #rs的值分为0 2 4
  20. # 计算0的次数
  21. auth_pivot_table['0_cnt'] = auth_pivot_table[0]
  22. # 计算2的次数
  23. auth_pivot_table['2_cnt'] = auth_pivot_table[2]
  24. # 计算4的次数
  25. auth_pivot_table['4_cnt'] = auth_pivot_table[4]
  26. # 计算AA次数
  27. auth_pivot_table['AA'] = grouped_data.apply(lambda x: count_specific_values(x, 0, 2))
  28. # 重置索引
  29. auth_pivot_table.reset_index(inplace=True)
  30. #选取特定列输出
  31. result = auth_pivot_table[['name', '0_cnt', '2_cnt', '4_cnt', 'AA']]
  32. # 重命名列名
  33. result.columns = ['name', '0_cnt', '2_cnt', '4_cnt', 'AA']
  34. # 保存结果到Excel文件
  35. result.to_excel("name.xlsx")
  36. print('save succ.')