unitown=pd.merge(Q1(),Q5(),how='inner',left_on=['State','RegionName'],right_index=True)
Я создал этот новый фрейм данных под названием unitown после слияния двух фреймов данных с индексом «State» и «RegionName». Ниже показано, как выглядит unitown: введите здесь описание изображения
из числа пи c вы можете увидеть, что столбец имеет название в формате Год и Квартал. Однако, когда я пытаюсь unitown['2000Q1']
, я получаю следующую ошибку:
2798 if self.columns.nlevels > 1:
2799 return self._getitem_multilevel(key)
-> 2800 indexer = self.columns.get_loc(key)
2801 if is_integer(indexer):
2802 indexer = [indexer]
~/opt/anaconda3/lib/python3.7/site-packages/pandas/core/indexes/base.py in get_loc(self, key, method, tolerance)
2646 return self._engine.get_loc(key)
2647 except KeyError:
-> 2648 return self._engine.get_loc(self._maybe_cast_indexer(key))
2649 indexer = self.get_indexer([key], method=method, tolerance=tolerance)
2650 if indexer.ndim > 1 or indexer.size > 1:
pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc()
pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc()
pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()
pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: '2000Q1'*
Я пробовал unitown.columns.tolist()
, и ниже является частью вывода:
['State',
'RegionName',
Period('2000Q1', 'Q-DEC'),
Period('2000Q2', 'Q-DEC'),
Period('2000Q3', 'Q-DEC'),
Period('2000Q4', 'Q-DEC'),
Period('2001Q1', 'Q-DEC'),
Period('2001Q2', 'Q-DEC'),
Period('2001Q3', 'Q-DEC'),
Period('2001Q4', 'Q-DEC'),
Period('2002Q1', 'Q-DEC'),
Period('2002Q2', 'Q-DEC'),
Period('2002Q3', 'Q-DEC'),
Я не уверен почему он дает такую ошибку, учитывая, что «2000Q1» явно является одним из имен столбцов. Может ли кто-нибудь помочь мне в этом? Большое спасибо!