ValueError: столбцы перекрываются, но суффикс не указан: Index (['Week_0'], dtype = 'object') - PullRequest
0 голосов
/ 05 апреля 2019
data = data.join(pd.DataFrame(predicted_order,index=data.index).add_prefix('Week_'))

print(data)

data.to_csv('smallys_ARMA.csv', encoding='utf-8', index=False)

После первого запуска к столбцу данных добавляется новый столбец Week_0. После второго выполнения я получаю следующую ошибку:

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-61-adcd0043cad7> in <module>()
      2 
      3 #data['Week_{}'.format(i)] = predicted_order
----> 4 data = data.join(pd.DataFrame(predicted_order,index=data.index).add_prefix('Week_'))
      5 
      6 #data = data.iloc[:, len(data)].add_prefix('Week_')

~/anaconda3/envs/tensorflow/lib/python3.5/site-packages/pandas/core/frame.py in join(self, other, on, how, lsuffix, rsuffix, sort)
   5314         # For SparseDataFrame's benefit
   5315         return self._join_compat(other, on=on, how=how, lsuffix=lsuffix,
-> 5316                                  rsuffix=rsuffix, sort=sort)
   5317 
   5318     def _join_compat(self, other, on=None, how='left', lsuffix='', rsuffix='',

~/anaconda3/envs/tensorflow/lib/python3.5/site-packages/pandas/core/frame.py in _join_compat(self, other, on, how, lsuffix, rsuffix, sort)
   5329             return merge(self, other, left_on=on, how=how,
   5330                          left_index=on is None, right_index=True,
-> 5331                          suffixes=(lsuffix, rsuffix), sort=sort)
   5332         else:
   5333             if on is not None:

~/anaconda3/envs/tensorflow/lib/python3.5/site-packages/pandas/core/reshape/merge.py in merge(left, right, how, on, left_on, right_on, left_index, right_index, sort, suffixes, copy, indicator, validate)
     56                          copy=copy, indicator=indicator,
     57                          validate=validate)
---> 58     return op.get_result()
     59 
     60 

~/anaconda3/envs/tensorflow/lib/python3.5/site-packages/pandas/core/reshape/merge.py in get_result(self)
    586 
    587         llabels, rlabels = items_overlap_with_suffix(ldata.items, lsuf,
--> 588                                                      rdata.items, rsuf)
    589 
    590         lindexers = {1: left_indexer} if left_indexer is not None else {}

~/anaconda3/envs/tensorflow/lib/python3.5/site-packages/pandas/core/internals.py in items_overlap_with_suffix(left, lsuffix, right, rsuffix)
   5024         if not lsuffix and not rsuffix:
   5025             raise ValueError('columns overlap but no suffix specified: %s' %
-> 5026                              to_rename)
   5027 
   5028         def lrenamer(x):

ValueError: columns overlap but no suffix specified: Index(['Week_0'], dtype='object')

Я хочу генерировать динамические имена столбцов этого формата: Week_i, где i is a positive integer. После каждого времени выполнения я хочу добавить новый столбец в фрейм данных. Код будет выполняться неизвестное количество раз, и сегодня он может быть выполнен один раз. тогда следующее исполнение может быть через 2 дня. Каждый раз вновь создаваемый столбец должен получать имя, генерируемое динамически.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...