我一直在尝试用熊猫打印乔布斯。
import pandas as pd
file_name = 'cases/case1_1md_2mec_4jobs.xlsx'
xl = pd.ExcelFile(file_name)
df_jobs = xl.parse('Jobs')
df_mecs = xl.parse('MECs')
df_links = xl.parse('Links')
df_mds = xl.parse('MD')
df_sol_time = pd.DataFrame(columns={'Jobs','Time'})
for job in df_jobs:
job_size = df_jobs['JOB SIZE'][df_jobs['ID'] == job].item()
MD_ID = df_jobs['MD ID'][df_jobs['ID'] == job].item()
md_proc_speed = df_mds['PROCESSOR'][df_mds['MD ID'] == MD_ID].item()
comp_time = float(job_size * 1024 * 1024 * 8) / (0.00227 * md_proc_speed)
我收到此消息:
只能将大小为1的数组转换为python标量
答案 0 :(得分:0)
我不知道我是否完全理解,但是我很确定这将消除您的标量错误,并且应该为您提供尝试摆脱字典的内容。
for index, job in df_jobs.iterrows():
job_size = job['JOB SIZE']
MD_ID = job['MD ID']
md_proc_speed = job['PROCESSOR']
comp_time = float(job_size * 1024 * 1024 * 8) / (0.00227 * md_proc_speed)
我不确定您要打印的内容是什么,但这也许会有所帮助。
for index, job in df_jobs.iterrows():
job_size = job['JOB SIZE']
MD_ID = job['MD ID']
md_proc_speed = job['PROCESSOR']
comp_time = float(job_size * 1024 * 1024 * 8) / (0.00227 * md_proc_speed)
print(MD_ID, comp_time)
总时间。
total_comp_time = 0
for index, job in df_jobs.iterrows():
job_size = job['JOB SIZE']
MD_ID = job['MD ID']
md_proc_speed = job['PROCESSOR']
comp_time = float(job_size * 1024 * 1024 * 8) / (0.00227 * md_proc_speed)
print(MD_ID, comp_time)
total_comp_time += comp_time
print(total_comp_time)