Реиндексация панд действительна только для объектов индекса с уникальным значением
Установлена последняя версия pandas 0.9.0 на случай, если это было ошибкой. РЕДАКТИРОВАТЬ: забыл упомянуть, что это Python 2.7. Попытка прочитать файл Excel. Эта часть кажется в порядке. Первоначально я пробовал iteritems () для каждой строки кадра данных pandas, так как id_company нужно было проверять по базе данных mysql (код не включен). Такое же / подобное сообщение об ошибке при помещении его в кортеж (код ниже). Сообщение об ошибке следует.
Обратите внимание, что есть .reindex (), но это нераньше тоже не работал. Reindex () был своего рода градом Марии.
В качестве обходного пути яЯ, вероятно, собираюсь просто импортировать из моей целевой SQL и сделать соединение. Я'Я обеспокоен из-за размера наборов данных.
import pandas as pd
def runNow():
#identify sheet
source = 'C:\Users\jlalonde\Desktop\startup_geno\startupgenome_w_id_xl_20121109.xlsx'
xls_file = pd.ExcelFile(source)
sd = xls_file.parse('Sheet1')
source_u = sd.drop_duplicates(cols = 'id_company', take_last=False)
source_r = source_u[['id_company','id_good','description', 'website','keyword', 'company_name','founded_month', 'founded_year', 'description']]
source_i = source_r.reindex() #hail mary
tup_r = [tuple(x) for x in source_i.values]
Вот ошибка:
Traceback (most recent call last):
File "", line 1, in
sg_sql_2.runNow()
File "sg_sql_2.py", line 31, in runNow
tup_r = [tuple(x) for x in source_r.values]
File "C:\Python27\lib\site-packages\pandas\core\frame.py", line 1443, in as_matrix
return self._data.as_matrix(columns).T
File "C:\Python27\lib\site-packages\pandas\core\internals.py", line 723, in as_matrix
mat = self._interleave(self.items)
File "C:\Python27\lib\site-packages\pandas\core\internals.py", line 743, in _interleave
indexer = items.get_indexer(block.items)
File "C:\Python27\lib\site-packages\pandas\core\index.py", line 748, in get_indexer
raise Exception('Reindexing only valid with uniquely valued Index '
Exception: Reindexing only valid with uniquely valued Index objects
Итак, после того, как я ударился головой об эту стену в течение большей части дня, кто-нибудь может сказать мне, является ли это ошибкой или я упускаю что-то действительно очевидное?