如何通过公式生成可单独访问元素的NumPy数组?
问题:创建可单独调用元素的PyroMat计算数组
我需要创建一个可通过单个公式填充、且能单独调用其中单个数值的数组。但目前代码生成的数组仅在索引0位置填充了内容,请问是否有函数可拆分这些数值,使每个数值占据数组的单独位置?
我的代码如下:
import numpy as np import matplotlib as mp import matplotlib.pyplot as plt import scipy as sp !pip install PYroMat #This line tells Python to import the PYroMat library import pyromat as pm #OPTIONAL: This line renames PYroMat as "pm" to easily reference througout the notebook pm.config["unit_pressure"] = "kPa" # Calling properties of substances and labeling them h20 = pm.get('mp.H2O') air = pm.get('ig.air') R134a = pm.get('mp.C2H2F4') T_range_41 = np.arange(1500,1700,1) h3_41 = [air.h(p=2100, T=T_range_41)] print (h3_41)
解决方案
问题核心是你用[]把air.h()的返回值包裹成了单元素列表,而实际上air.h()接收数组型的T参数时,返回的本身就是numpy数组,不需要额外的列表包裹。
只需修改一行代码,去掉外层方括号:
T_range_41 = np.arange(1500,1700,1) h3_41 = air.h(p=2100, T=T_range_41) # 直接赋值,无需[]包裹
修改后h3_41就是标准的numpy数组,每个温度对应的焓值会占据独立的索引位置,你可以直接通过h3_41[0]、h3_41[100]这类方式调用单个数值。
如果需要转换成普通Python列表,可调用数组的tolist()方法:
h3_41_list = h3_41.tolist()
内容的提问来源于stack exchange,提问作者Tman01
相关产品推荐
相关产品推荐

