如何检查阵列大小?

时间:2019-09-04 19:21:27

标签: python pandas

我一直在尝试用熊猫打印乔布斯。

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标量

1 个答案:

答案 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)