将列追加到结构化数组时的警告消息

时间:2018-12-24 16:41:03

标签: python parsing append structured-array masked-array

我导入了csv文件,其中包含YYYY-MM中的month变量。

我使用dateutil.parser中的解析将变量解析为YYYY中的new year变量。

from dateutil.parser import parse
year_price = []
month_price = price1['month']
for m in month_price:
    month_parsed = int(parse(m).strftime('%Y'))
    year_price.append(month_parsed)

此后,我使用numpy.lib.recfunctions将新变量附加到结构化数组中。

import numpy.lib.recfunctions as rfn
price1_app = rfn.append_fields(price1, 'year_price', year_price)

当我尝试从年份和价格变量创建成对值列表(元组)时,

labels1 = sorted(list(set(price1_app['year_price'])))
levels_values1 = price1_app[['year_price','resale_price']]

出现以下消息:

  

FutureWarning:Numpy检测到您(可能)正在写入   由numpy.diagonal返回的数组,或者通过选择   结构化数组。这段代码将来可能会破译   发布-请参阅numpy.diagonal或arrays.indexing参考文档以获取相关信息   细节。快速解决方案是制作一个明确的副本(例如   arr.diagonal()。copy()或arr [[''f0','f1']]。copy())。如果(_mask不是   nomask和obj。 array_interface [“数据”] [0]

我怀疑最后一部分存在编码问题(即在结构化数组中选择多个字段)。当我尝试创建年份为 key 且价格列表为 values 的字典时,数据值包含在掩码数组中,我不知道为什么以及如何解决问题。感谢任何人都可以提供帮助!

0 个答案:

没有答案