4

これがエラーの場合に備えて、pandas 0.9.0 の最新バージョンをインストールしました。編集:これがPython 2.7であることを忘れていました。Excelファイルを読み込もうとしています。その部分は大丈夫そうです。もともと、id_company を mysql データベースに対して検証する必要があったため (コードは含まれていません)、pandas データフレームの各行に対して iteritems() を試していました。タプルに入れるのと同じ/類似のエラーメッセージ (コードは以下)。エラーメッセージが続きます。

.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 日のほとんどの部分でこれに頭をぶつけた後、これがバグなのか、それとも本当に明らかな何かが欠けているのか、誰か教えてもらえますか?

4

1 に答える 1

4

本日、GitHub で根本的なバグを修正しました: https://github.com/pydata/pandas/issues/2236

于 2012-11-13T23:20:53.303 に答える