Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何向yt数组添加标量值?_Python_Data Analysis_Yt Project - Fatal编程技术网

Python 如何向yt数组添加标量值?

Python 如何向yt数组添加标量值?,python,data-analysis,yt-project,Python,Data Analysis,Yt Project,我试图在yt中的一个导出字段中添加一个数字楼层。但是,当我尝试时: 新的_字段=1.0e-10+数据[‘金属_密度’] 我得到以下错误: In [1]: ad = ds.all_data() In [2]: floored_density = 1.0e-10 + ad['density'] yt : [INFO ] 2014-09-26 10:15:21,901 Gathering a field list (this may take a moment.) yt : [INFO

我试图在yt中的一个导出字段中添加一个数字楼层。但是,当我尝试时: 新的_字段=1.0e-10+数据[‘金属_密度’]

我得到以下错误:

In [1]: ad = ds.all_data()

In [2]: floored_density = 1.0e-10 + ad['density'] yt : [INFO     ] 2014-09-26 10:15:21,901 Gathering a field list (this may take a moment.) yt : [INFO     ] 2014-09-26 10:15:22,275 Loading field plugins. yt : [INFO     ] 2014-09-26 10:15:22,275 Loaded angular_momentum (8 new fields) yt : [INFO     ] 2014-09-26 10:15:22,276 Loaded astro (14 new fields) yt : [INFO     ] 2014-09-26 10:15:22,276 Loaded cosmology (20 new fields) yt : [INFO     ] 2014-09-26 10:15:22,276 Loaded fluid (56 new fields) yt : [INFO     ] 2014-09-26 10:15:22,277 Loaded fluid_vector (88 new fields) yt : [INFO ] 2014-09-26 10:15:22,278 Loaded geometric (102 new fields) yt : [INFO ] 2014-09-26 10:15:22,278 Loaded local (102 new fields) yt : [INFO     ] 2014-09-26 10:15:22,278 Loaded magnetic_field (108 new fields) yt : [INFO     ] 2014-09-26 10:15:22,278 Loaded species (108 new fields)
--------------------------------------------------------------------------- YTUnitOperationError                      Traceback (most recent call last) /home/skillman/yt-x86_64/src/yt-3.0/yt/mods.pyc in <module>()
----> 1 floored_density = 1.0e-10 + ad['density']

/home/skillman/yt-x86_64/src/yt-3.0/yt/units/yt_array.pyc in
__radd__(self, left_object)
    674     def __radd__(self, left_object):
    675         """ See __add__. """
--> 676         lo = sanitize_units_add(self, left_object, "addition")
    677         return YTArray(super(YTArray, self).__radd__(lo))
    678 

/home/skillman/yt-x86_64/src/yt-3.0/yt/units/yt_array.pyc in sanitize_units_add(this_object, other_object, op_string)
    159     else:
    160         if not inp.units.is_dimensionless:
--> 161             raise YTUnitOperationError(op_string, inp.units, dimensionless)
    162     return ret
    163 

YTUnitOperationError: The addition operator for YTArrays with units (g/cm**3) and (1) is not well defined.
[1]中的
:ad=ds.all_data()
在[2]:Flored_density=1.0e-10+ad['density']yt:[INFO]2014-09-26 10:15:21901收集字段列表(这可能需要一些时间。)yt:[INFO]2014-09-26 10:15:22275加载字段插件。yt:[信息]2014-09-26 10:15:22275加载角动量(8个新场)yt:[信息]2014-09-26 10:15:22276加载天文(14个新场)yt:[信息]2014-09-26 10:15:22276加载宇宙学(20个新场)yt:[信息]2014-09-26 10:15:22276加载流体(56个新场)yt:[信息]2014-09-26 10:15:22278加载的流体矢量(88个新磁场)yt:[INFO]2014-09-26 10:15:22278加载的几何(102个新磁场)yt:[INFO]2014-09-26 10:15:22278加载的局部(102个新磁场)yt:[INFO]2014-09-26 10:15:22278加载的磁场(108个新磁场)yt:[INFO]2014-09-26 10:15:22278加载的物种(108个新领域)
---------------------------------------------------------------------------YTUnitOperationError回溯(最近一次调用上次)/home/skillman/yt-x86_64/src/yt-3.0/yt/mods.pyc in()
---->1层楼面密度=1.0e-10+ad[“密度”]
/home/skillman/yt-x86_64/src/yt-3.0/yt/units/yt_array.pyc in
__radd_uuu(自身,左对象)
674 def_uuradd_uu(自,左对象):
675“请参阅添加”
-->676 lo=消毒单元添加(自身,左侧对象,“添加”)
677返回YT阵列(超级(YT阵列,自身)。\uuuuu radd\uuuuu(lo))
678
/在sanitize\u units\u add中的home/skillman/yt-x86\u 64/src/yt-3.0/yt/units/yt\u array.pyc(此\u对象,其他\u对象,op\u字符串)
159其他:
160如果不是inp.units.is_无量纲:
-->161单元操作错误(操作字符串,输入单元,无量纲)
162返回ret
163
YTUnitOperationError:单位为(g/cm**3)和(1)的Ytunit数组的加法运算符定义不清楚。

只要您注意所添加的标量与yt数组的单位相同,就可以执行以下操作:

ad = ds.all_data()

floored_density = 1.0e-10 * ad['density'].uq + ad['density']
.uq代表“单位数量”,在相关字段的单位中等于1.0。在这种情况下,ad[“密度]。uq等于1.0 g/cm**3

挂起yt数组的其他有用属性如下所述: