生活随笔
收集整理的這篇文章主要介紹了
使用python计算贝尔宾团队角色测评结果
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前言
什么是貝爾賓團隊角色理論?
基本思想是:沒有完美的個人,只有完美的團隊。人無完人,但團隊卻可以是完美的團隊,只要適當的擁有如下各種角色。
產生來源
團隊角色理論是英國組織行為學家、英國劍橋產業培訓研究部前主任梅雷迪思·貝爾賓(R.Meredith Belbin)提出的一個分析團隊角色和團隊合作的一個理論模型。貝爾賓是團隊工作理論的早期倡導者,為了研究團隊取得成功的原因,他進行了兩個為期 9 年的重要研究團隊試驗。1981 年,貝爾賓首次在《團隊管理:他們為什么成功或失敗》(Management Teams - Why They Succeed or Fail)一書中提出了貝爾賓團隊角色模型,經過12 年的推廣應用和修正,于 1993 年再次提出了修正的研究成果。
基本理念
其基本理念是:在團隊中,人們除了承擔工作角色、或功能角色之外,還在承擔團隊角色。前者多與人們的專業技能、職位水平有關,而后者則反映了人們的興趣、性格以及思維方式所決定的一種特定行為模式。
說明
前幾天公司要求做了一個貝爾賓團隊角色測評,但是在統計結果的時候發現過于麻煩,所以寫了個簡單的程序計算測評結果,本程序把最高分和最高分-1選為測評結果的角色
貝爾賓團隊角色測評
測評內容
測試結果表
團隊角色測試分析表
測試結果說明
結果計算
python實現測評結果測算使用說明
本程序可以實現批量的根據test文件夾下的測試結果表計算8個團隊角色的得分,根據最大分數以及最大分數減一得出所屬團隊角色(可能是多個),根據test文件夾下excel的文件名在團隊角色測試分析表中生成一個新的sheet,把生成的結果存放在這個sheet中。python實現測評結果目錄說明
結果
python實現測評結果測算源碼
import os
import openpyxl
import pandas as pd
from openpyxl.styles import Alignment, Font, colorsdef get_test_result(team_role_test_analysis_table, scores_table):a = pd.read_excel(team_role_test_analysis_table, header=2, index_col=0)b = a.ix[0:7]analysis_table_info = b.dropna(axis=1)all_list = []scores_list = []role_dict = {}for i in analysis_table_info.columns:exec(i[:2] + "_list = {}".format(list(analysis_table_info[i])))all_list.append(i[:2] + "_list")exec(i[:2] + " = 0")scores_list.append(i[:2])role_dict[i[:2]] = i[2:]scores_table_info = pd.read_excel(scores_table, index_col=0)for i, idx in enumerate(scores_table_info.index):for j, v in enumerate(scores_list):exec(v + " += {}".format(scores_table_info.ix[idx][eval(all_list[j])[i]]))new_title = scores_table.split('.')[0]wb = openpyxl.load_workbook(team_role_test_analysis_table)if new_title in wb.sheetnames:wb.remove(wb[new_title])copy_sheet = wb.copy_worksheet(wb["Sheet1"])copy_sheet.title = new_titlealignment_style = Alignment(horizontal='center', vertical='center')scores_value_list = []for i, v in enumerate(scores_list):copy_sheet.cell(row=11, column=(i + 1) * 2).value = eval(v)copy_sheet.cell(row=11, column=(i + 1) * 2).alignment = alignment_stylecopy_sheet.cell(row=11, column=(i + 1) * 2).font = Font(size=16, color=colors.RED, bold=True)scores_value_list.append(eval(v))max_v = max(scores_value_list)index_flag = 0max_index_list = []for i in range(scores_value_list.count(max_v)):max_index = scores_value_list.index(max_v, index_flag)max_index_list.append(max_index)index_flag = (max_index + 1)s_index_list = []s_max_v = max_v - 1if scores_value_list.count(s_max_v):index_flag = 0for i in range(scores_value_list.count(s_max_v)):max_index = scores_value_list.index(s_max_v, index_flag)s_index_list.append(max_index)index_flag = (max_index + 1)ret_list = []for i in max_index_list:ret_list.append(role_dict[scores_list[i]])for i in s_index_list:ret_list.append(role_dict[scores_list[i]])ret_str = '、'.join(ret_list)ret = " {} ".format(ret_str)copy_sheet.cell(row=15, column=5).value = retcopy_sheet.cell(row=15, column=5).alignment = Alignment(horizontal='left', vertical='center')copy_sheet.cell(row=15, column=5).font = Font(size=16, bold=True, underline="single")wb.save(team_role_test_analysis_table)if __name__ == '__main__':team_role_test_analysis_table = "團隊角色測試分析表.xlsx"first_file_dir = os.getcwd()team_role_test_analysis_table = first_file_dir + "/" + team_role_test_analysis_tabledir = 'test'os.chdir(dir)file_dir = os.getcwd()files = list(os.walk(file_dir))[0][-1]for file in files:if file.split('.')[1] == 'xlsx':get_test_result(team_role_test_analysis_table, file)
網盤地址
文檔、表格、源碼、測試數據等資料存放網盤地址: https://pan.baidu.com/s/1_B3VToqDkT5ohFX66ea3IQ
總結
以上是生活随笔為你收集整理的使用python计算贝尔宾团队角色测评结果的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。