Python 重新索引仅对唯一值索引对象有效

Python 重新索引仅对唯一值索引对象有效,python,pandas,Python,Pandas,安装了pandas 0.9.0的最新版本,以防出现错误。编辑:忘了提到这是Python2.7。 正在尝试读取Excel文件。那部分似乎还可以。 最初,我对熊猫数据帧的每一行都尝试iteritems(),因为必须根据mysql数据库(不包括代码)验证id_公司。与将其放入元组相同/类似的错误消息(代码如下)。错误信息如下 注意有一个.reindex(),但它以前也不起作用。reindex()有点像圣母玛利亚 作为一种解决方法,我可能只需要从目标sql导入并进行连接。我担心的是数据集的大小 imp

安装了pandas 0.9.0的最新版本,以防出现错误。编辑:忘了提到这是Python2.7。 正在尝试读取Excel文件。那部分似乎还可以。 最初,我对熊猫数据帧的每一行都尝试iteritems(),因为必须根据mysql数据库(不包括代码)验证id_公司。与将其放入元组相同/类似的错误消息(代码如下)。错误信息如下

注意有一个.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 "<pyshell#10>", line 1, in <module>
    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
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
sg_sql_2.runNow()
runNow中第31行的文件“sg_sql_2.py”
tup_r=[源值中x的tuple(x)]
as_矩阵中的文件“C:\Python27\lib\site packages\pandas\core\frame.py”,第1443行
返回self.\u data.as\u矩阵(列).T
as_矩阵中的文件“C:\Python27\lib\site packages\pandas\core\internals.py”,第723行
mat=自我交叉(自我项目)
文件“C:\Python27\lib\site packages\pandas\core\internals.py”,第743行,在交织中
indexer=items.get\u索引器(block.items)
文件“C:\Python27\lib\site packages\pandas\core\index.py”,第748行,在get\u索引器中
引发异常('重新索引仅对唯一值索引有效'
例外:重新索引仅对唯一值的索引对象有效

所以,在一天中的大部分时间里,我都在用头撞墙,有人能告诉我这是一个bug还是我遗漏了一些非常明显的东西吗?

修复了GitHub上的基本bug:

可能的重复:。你有没有可以用来重现错误的示例?我可以发布excel文件没有问题。没有,这是n不是重复的,因为我有一个唯一的索引,而索引的另一个链接是重复的…虽然解决方案可能是相同的…github问题跟踪此错误:是的,无论哪个答案先得到我永远的感谢!我将在两个论坛上发布解决方案,这样就不会有悬而未决的、未回答的问题。我这样做是因为我需要我希望尽快完成一个sol'n,但无法发布,然后等待一周,等待答复,然后尝试另一个论坛,再等待一周,等待问题得到解决。我的工作期限不允许这样的延迟。因此,对地毯式轰炸表示歉意,但我保证,它最终会是干净的。