- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我最近从 numpy 1.11 升级到 numpy 1.13 希望摆脱这个屏蔽数组警告,但它仍然存在:
MaskedArrayFutureWarning:在具有共享掩码的掩码数组上设置项目不会复制掩码,并且将来还会更改原始掩码数组。
查看 NumPy 1.11 发行说明以获取更多信息。*
基本上我的代码只是更改了掩码数组中的一些值,我什至不确定这个错误意味着什么。
我希望升级到 numpy 1.13 可以解决这个问题,但我认为错误在我这边。
为清楚起见,尽管出现引用 1.11 的警告,我仍在运行 numpy 1.13:
Python 2.7.12 (default, Nov 19 2016, 06:48:10)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
import numpy as np
np.version
'1.13.0.dev0+Unknown'
感谢您的帮助。猫
最佳答案
这个共享口罩的生意有点乱。
当前行为:
In [150]: x=np.ma.masked_greater(np.arange(8),5)
In [151]: x
Out[151]:
masked_array(data = [0 1 2 3 4 5 -- --],
mask = [False False False False False False True True],
fill_value = 999999)
In [152]: y=x[3:6] # a view
In [153]: y[0]=30 # modify the view
/usr/local/bin/ipython3:1: MaskedArrayFutureWarning: setting an item on a masked array which has a shared mask will not copy the mask and also change the original mask array in the future.
Check the NumPy 1.11 release notes for more information.
#!/usr/bin/python3
data
值变化与源共享
In [154]: y
Out[154]:
masked_array(data = [30 4 5],
mask = [False False False],
fill_value = 999999)
In [155]: x
Out[155]:
masked_array(data = [0 1 2 30 4 5 -- --],
mask = [False False False False False False True True],
fill_value = 999999)
但是掩码值的改变不是:
In [156]: y.mask[0]=True
In [157]: y
Out[157]:
masked_array(data = [-- 4 5],
mask = [ True False False],
fill_value = 999999)
In [158]: x
Out[158]:
masked_array(data = [0 1 2 30 4 5 -- --],
mask = [False False False False False False True True],
fill_value = 999999)
新建 View ,调用unshare
方法:
In [159]: y=x[3:6]
In [160]: y.unshare_mask()
Out[160]:
masked_array(data = [30 4 5],
mask = [False False False],
fill_value = 999999)
In [161]: y[0]=31
In [162]: y
Out[162]:
masked_array(data = [31 4 5],
mask = [False False False],
fill_value = 999999)
In [163]: x
Out[163]:
masked_array(data = [0 1 2 31 4 5 -- --],
mask = [False False False False False False True True],
fill_value = 999999)
这会更改数据
,但不会发出警告。
future 的行为,没有警告,可以产生:
In [172]: x=np.ma.masked_greater(np.arange(8),5)
In [174]: y=x[3:6]
In [175]: y._sharedmask=False
In [176]: y[0]=30
In [177]: y.mask[0]=True
In [178]: y
Out[178]:
masked_array(data = [-- 4 5],
mask = [ True False False],
fill_value = 999999)
In [179]: x
Out[179]:
masked_array(data = [0 1 2 -- 4 5 -- --],
mask = [False False False True False False True True],
fill_value = 999999)
新值和掩码同时出现在 y
和 x
中。
底线是 - 当您更改 y
(数据或掩码)中的值时,x
中的掩码会发生什么情况?改还是不改?
=================
或者在 View 中设置数据值也会更改掩码的情况可能会更清楚:
In [199]: x=np.ma.masked_greater(np.arange(8),5)
In [200]: y=x[4:]
In [201]: y
Out[201]:
masked_array(data = [4 5 -- --],
mask = [False False True True],
fill_value = 999999)
In [202]: y[-1]=0
/usr/local/bin/ipython3:1: MaskedArrayFutureWarning: setting an item on a masked array which has a shared mask will not copy the mask and also change the original mask array in the future.
Check the NumPy 1.11 release notes for more information.
#!/usr/bin/python3
In [203]: y
Out[203]:
masked_array(data = [4 5 -- 0],
mask = [False False True False],
fill_value = 999999)
In [204]: x
Out[204]:
masked_array(data = [0 1 2 3 4 5 -- --],
mask = [False False False False False False True True],
fill_value = 999999)
最后的 y
值未被屏蔽,但相应的 x
没有(我应该显示 x.data
的变化)。这是您被警告的当前行为。
但是对于 future
行为:
In [205]: y=x[4:]
In [206]: y._sharedmask=False
In [207]: y[-1]=0
In [208]: y
Out[208]:
masked_array(data = [4 5 -- 0],
mask = [False False True False],
fill_value = 999999)
In [209]: x
Out[209]:
masked_array(data = [0 1 2 3 4 5 -- 0],
mask = [False False False False False False True False],
fill_value = 999999)
x
数据和掩码随 y
一起更改。
关于python - numpy 1.13 MaskedArrayFutureWarning : setting an item on a masked array which has a shared mask will not copy the mask,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41028253/
这里我试图在 FlatList 中显示一个名为“posts”的数组。 render() { console.log(this.props.posts); return (
这是我的代码: {{day(list)}} {{list.weather[0].description}}
我是 Mahout 的新手,并且仍在使用它。 我的问题是,将 Item-Item 和 User-Item 结合起来是否合适? 我的用例是,一个社交网络应用会尝试根据用户历史数据(优先级较高)为当前用户
下午好, 我按数据库搜索以测试特定类测试,当我放置一个新项目时,如果列表包含该项目。 @Test public void insertAndDeleteTask() throws Interrupte
我有一个关于 ionic 框架的问题,我希望有人能帮助我...我有一个带有“ion-item-right”的 ionic 列表。这一切都可以,按钮在右边。现在我需要其他三个居中的图标,这样我就有了:文
我经常遇到类似下面的代码: if ( items != null) { foreach(T item in items) { //... } } 基本上,if 条件确
我最近问了a question about LocalStorage .使用 JSON.parse(localStorage.item) 和 JSON.parse(localStorage['item
我最近问了a question about LocalStorage .使用 JSON.parse(localStorage.item) 和 JSON.parse(localStorage['item
这个问题已经有答案了: Type mismatch: cannot convert from Item to Item (1 个回答) 已关闭 7 年前。 我很困惑。我无法将外部类的实例变量 Node
我目前正在使用 MUI Grid(但我对替代解决方案持开放态度)并且我想要并排放置两个组件:最右边的组件占 400px宽度和左侧组件占据其余部分。 || || || 当页面宽度缩小时: | | ||
我最近问过a question about LocalStorage 。使用 JSON.parse(localStorage.item) 和 JSON.parse(localStorage['item
public class Document extends Model { ... @ManyToMany public Set accessors; ... } 我想选择访问者包含某个用户的所有文档
我正在使用 selenium webdriver 为单页 Web 应用程序开发一个 Java 框架,使用以下模式:PageObject、SlowLoadableComponent(责任链)、PageF
最近在学习C,在网上发现了一个问题。问题是: What is the problem with this function in terms of memory allocation? What is
我有这个代码 ( -1 ? true : false} /> {genre.item.name}
在ASP.Net中使用DataGrid时真的没有快捷方法吗 (e.Item.ItemType==ListItemType.Item || e.Item.ItemType==ListItemType.A
我正在使用工作流程根据数据和一组要求将大量 pdf 从一个位置复制到其他大坝位置。我正在使用以下代码 Assets damAsset = manager.createAsset(path, is, m
我是 PowerShell 的新手。 我正在尝试自动将 dll 组件从源服务器上的文件夹部署到目标服务器上的多个文件夹。这看起来应该很简单:将组件从源服务器上的源(部署)文件夹复制到目标服务器上的文件
我的代码: for column_name, column_data in summary_words.iteritems(): if column_name != "summary" and
我的代码: for column_name, column_data in summary_words.iteritems(): if column_name != "summary" and
我是一名优秀的程序员,十分优秀!