python - 使用元组初始化 NumPy 数组(填充相同的元组)
问题描述
我想创建一个最初填充相同元组的数组,特别是NaN
. 例如,
array([[(nan, nan), (nan, nan)],
[(nan, nan), (nan, nan)],
[(nan, nan), (nan, nan)]], dtype=object)
但是,当使用此处列出的数组初始化时,使用可迭代值作为填充数组的值,python
显然会尝试将该可迭代重新整形为新数组,而不是用它填充它:
np.full([3,2],(np.nan,np.nan,np.nan),dtype=tuple)
#ValueError: could not broadcast input array from shape (3) into shape (3,2)
np.fill
也不起作用,它需要一个标量。
是否只能逐项填充数组?
解决方案
您可以使用正确的dtype
. 您可以使用;'f,f'
的元组初始化数组 floats
有关更多信息,请参见数据类型对象 (dtype)。
np.full((3,2), np.nan, dtype='f,f')
array([[(nan, nan), (nan, nan)],
[(nan, nan), (nan, nan)],
[(nan, nan), (nan, nan)]], dtype=[('f0', '<f4'), ('f1', '<f4')])
推荐阅读
- excel - 由于这条线,Vba 没有运行所有线
- mybatis - where 标签在只有第一个生效的地方
- r - 如何在R中逐行读取非常大的文件匹配模式
- android - 如何更改 Android Material ChipGroup 的背景颜色?
- java - 如何使类线程安全?
- python - 通过 3 位数作为输入的两个连续数字之间的绝对差
- java - 如何在 Spring Boot Rest API 中读取包含与号 (&) 的 @Request Param 属性值
- postgresql - 如何转换不同时区的时间..如何为所有时区编写标准代码
- javascript - 如何计算 Angular JS 中逗号分隔的项目?
- .net-core - 如何编辑现有的pdf文件itext7,C#?