Предупреждающее сообщение при добавлении столбца в структурированный массив - PullRequest
0 голосов
/ 24 декабря 2018

Я импортировал CSV-файл, который содержит переменную месяца в ГГГГ-ММ.

Я проанализировал переменную в переменную нового года в YYYY, используя parse из dateutil.parser.

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 - подробности см. В справочных документах numpy.diagonal или arrays.indexing.Быстрое решение - сделать явную копию (например, сделать arr.diagonal (). Copy () или arr [['f0', 'f1']]. Copy ()).if (_mask не nomask и obj. array_interface ["data"] [0]

Я подозреваю, что есть проблемы с кодированием с последней частью (т.е. выбор нескольких полей в структурированноммассив). Когда я пытаюсь создать dict с годом как ключ и список цен как значения , значения данных содержатся в замаскированном массиве, который я не понимаю, почему и какРешить проблему. Благодарим вас за помощь!

...