Ich habe eine Pandas Datenrahmen und ich versuche, jede acct_id_adj Nummer zu einem Wörterbuch hinzufügen und suchen Sie nach allen Telefonnummern mit dieser ID durch die Notizen verbunden.Run in "KeyError: 2L" Zuordnung zu Wörterbuch
Example of the dataframe
Index RowNum acct_id_adj NOTE_DT NOTE_TXT
0 1 A20000000113301111 5/2/2017 t/5042222222 lm w/ 3rd jn
1 2 A20000000038002222 5/4/2017 OB CallLeft Message
3 4 A20000000107303333 5/4/2017 8211116411 FOR $18490 MLF
import pandas
import re
PhNum = pandas.read_csv('C:/PhoneNumberSearch.csv')
PhNum = PhNum[PhNum['NOTE_TXT'].notnull()]
D = {}
#for i in xrange(PhNum.shape[0]):
for i in xrange(3):
ID = PhNum['acct_id_adj'][i]
Note = re.sub(r'\W+', ' ', PhNum['NOTE_TXT'][i])
print(Note)
Numbers = [int(s) for s in Note.split() if s.isdigit()]
print(Numbers)
for j in xrange(len(Numbers)):
if Numbers[j] > 1000000000:
D[ID] = Numbers[j]
print(D)
Out = pandas.DataFrame(D.items(), columns=['acct_id_adj', 'Phone_Number'])
jedoch in der dritten Zeile i laufen weiter in einen Fehler "KeyError: 2L" at ID = Phnum [ 'acct_id_adj'] [i]. Keine gute Dokumentation zu finden und kann nicht herausfinden, warum das Problem warten würde, bis dann entstehen.
Alle Hilfe geschätzt in mich mich in, was diesen Fehler verursachen könnte, oder wenn ich über Wörterbücher in der falschen Weise denke.
Bitte schreiben Sie den vollständigen Traceback. –
Vielleicht liegt es daran, dass es nach 'PhNum ['acct_id_adj'] [2]' sucht, aber es ist die zweite dieser Zahlen, die sich in der Spalte Index befindet? Ich habe bemerkt, dass deine Reihen dort mit 0, 1 und 3 nummeriert sind, also könnte das was falsch sein. – bouteillebleu