マップreduceのコードpythonでエラーが発生しました '文字列インデックスが範囲外です'

イリエル

私のデータは次のようになります:

 1 1.45
 1 1.153
 2 2.179
 2 2.206
 2 2.59
 2 2.111
 3 3.201
 3 3.175
 4 4.228
 4 4.161
 4 4.213

私が欲しい出力は:

 1  2  (1 occurs 2 times)
 2  4
 3  2
 4  3

このために、次のコードを実行します。

SubPatent2count = {}
for line in data.split('\n'):
    for num in line.split('\t'):
        Mapper_data = ["%s\t%d" % (num[0], 1) ]
        for line in Mapper_data:
            Sub_Patent,count = line.strip().split('\t',1)
            try:
                count = int(count)
            except ValueError:
                continue

            try:
                SubPatent2count[Sub_Patent] = SubPatent2count[Sub_Patent]+count
            except:
                SubPatent2count[Sub_Patent] = count
for Sub_Patent in SubPatent2count.keys():
    print ('%s\t%s'% ( Sub_Patent,  SubPatent2count[Sub_Patent] ))

最後に私はこのエラーを受け取ります:

     3    for num in line.split('\t'):
     4         #print(num[0])
----> 5         Mapper_data = ["%s\t%d" % (num[0], 1) ]
     6         #print(Mapper_data)
     7         for line in Mapper_data:

IndexError: string index out of range

このエラーに対処する方法について何かアイデアがあれば、助けてください。ありがとうございました!

Gsk

ただ、別のアプローチを示唆:あなたはリスト内包+で試してみましたgroupyからitertools

from itertools import groupby

print([(key, len(list(group))) for key, group in groupby([x.split(' ')[0] for x in data.split('\n')])])
# where [x.split(' ')[0] for x in data.split('\n')] generates a list of all starting number
# and groupy counts them

または、その正確な出力が必要な場合:

from itertools import groupby

mylist = [(key, len(list(group))) for key, group in groupby([x.split(' ')[0] for x in data.split('\n')])]


for key, repetition in mylist:
    print(key, repetition)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

文字列インデックスが範囲外です、文字列インデックスが範囲外です

分類Dev

PYTHON IndexError:文字列インデックスが範囲外です

分類Dev

IndexError文字列インデックスが範囲外です

分類Dev

文字列インデックスが範囲外です:9?

分類Dev

IndexError:文字列インデックスが範囲外です:

分類Dev

Pythonエラー:「IndexError:文字列インデックスが範囲外です」

分類Dev

Pythonで「文字列インデックスが範囲外」エラーが発生し続ける

分類Dev

文字配列のインデックスが範囲外エラーです

分類Dev

空手でキーワードを設定すると、「文字列インデックスが範囲外:-1」としてエラーが発生します

分類Dev

Pythonのインデックスエラー:「文字列インデックスが範囲外です」

分類Dev

nltkステマー:文字列インデックスが範囲外です

分類Dev

Python-インデックスエラー:文字列インデックスが範囲外です

分類Dev

Python。文字列インデックスが範囲外です。シーザー暗号

分類Dev

IndexErrorの取得:Pythonで文字列インデックスが範囲外です

分類Dev

インデックスエラー:文字列インデックスが範囲外です

分類Dev

インデックス-エラー:文字列インデックスが範囲外です-

分類Dev

POSタグ付けで文字列インデックスが範囲外です

分類Dev

文字列インデックスが範囲外ですpython3.7

分類Dev

Python-IndexError:文字列インデックスが範囲外です

分類Dev

Python 3-IndexError:文字列インデックスが範囲外です

分類Dev

IndexError:文字列インデックスが再帰関数の範囲外です

分類Dev

IndexErrorの取得:文字列インデックスが範囲外です

分類Dev

文字列インデックスが範囲外なのはなぜですか?

分類Dev

エラーが発生します:致命的なエラー:インデックスが範囲外です

分類Dev

Pythonコマンド「cascPath = sys.argv [1]」で問題が発生しましたエラーが発生しますIndexError:リストインデックスが範囲外です

分類Dev

IndexError:文字列インデックスが範囲外です-len()を使用

分類Dev

Mongodb例外文字列インデックスが範囲外です:-1

分類Dev

「例外:java.lang.StringIndexOutOfBoundsException:文字列インデックスが範囲外です」

分類Dev

"main" java.lang.StringIndexOutOfBoundsException:文字列インデックスが範囲外です:17

Related 関連記事

  1. 1

    文字列インデックスが範囲外です、文字列インデックスが範囲外です

  2. 2

    PYTHON IndexError:文字列インデックスが範囲外です

  3. 3

    IndexError文字列インデックスが範囲外です

  4. 4

    文字列インデックスが範囲外です:9?

  5. 5

    IndexError:文字列インデックスが範囲外です:

  6. 6

    Pythonエラー:「IndexError:文字列インデックスが範囲外です」

  7. 7

    Pythonで「文字列インデックスが範囲外」エラーが発生し続ける

  8. 8

    文字配列のインデックスが範囲外エラーです

  9. 9

    空手でキーワードを設定すると、「文字列インデックスが範囲外:-1」としてエラーが発生します

  10. 10

    Pythonのインデックスエラー:「文字列インデックスが範囲外です」

  11. 11

    nltkステマー:文字列インデックスが範囲外です

  12. 12

    Python-インデックスエラー:文字列インデックスが範囲外です

  13. 13

    Python。文字列インデックスが範囲外です。シーザー暗号

  14. 14

    IndexErrorの取得:Pythonで文字列インデックスが範囲外です

  15. 15

    インデックスエラー:文字列インデックスが範囲外です

  16. 16

    インデックス-エラー:文字列インデックスが範囲外です-

  17. 17

    POSタグ付けで文字列インデックスが範囲外です

  18. 18

    文字列インデックスが範囲外ですpython3.7

  19. 19

    Python-IndexError:文字列インデックスが範囲外です

  20. 20

    Python 3-IndexError:文字列インデックスが範囲外です

  21. 21

    IndexError:文字列インデックスが再帰関数の範囲外です

  22. 22

    IndexErrorの取得:文字列インデックスが範囲外です

  23. 23

    文字列インデックスが範囲外なのはなぜですか?

  24. 24

    エラーが発生します:致命的なエラー:インデックスが範囲外です

  25. 25

    Pythonコマンド「cascPath = sys.argv [1]」で問題が発生しましたエラーが発生しますIndexError:リストインデックスが範囲外です

  26. 26

    IndexError:文字列インデックスが範囲外です-len()を使用

  27. 27

    Mongodb例外文字列インデックスが範囲外です:-1

  28. 28

    「例外:java.lang.StringIndexOutOfBoundsException:文字列インデックスが範囲外です」

  29. 29

    "main" java.lang.StringIndexOutOfBoundsException:文字列インデックスが範囲外です:17

ホットタグ

アーカイブ