#python #pandas #matplotlib
#python #pandas #matplotlib
Вопрос:
Вот код, о котором идет речь: я выделил проблемную строку в «e5y.append (er[item 1])». Моя проблема в том, что я не могу увидеть, как эта строка неисправна или почему она выдает ошибку ключа: 5
def Age_Analysis(x,y,z):
a1y=[]
b2y=[]
c3y=[]
d4y=[]
e5y=[]
xx=[]
List=[]
if y >= 1:
for item in range(y):
if z == 'range':
ar = grp1[x].value_counts()
br = grp2[x].value_counts()
cr = grp3[x].value_counts()
dr = grp4[x].value_counts()
er = grp5[x].value_counts()
a1y.append(ar[item 1])
b2y.append(br[item 1])
c3y.append(cr[item 1])
d4y.append(dr[item 1])
e5y.append(er[item 1])
xx.append(x "_" str(item 1))
Age_Analysis('Q22',7,'range')
Редактировать: я понял это!
Комментарии:
1.
er
это словарь, который не содержит ключа5
. вот и все.2. Да, теперь я понимаю, спасибо!
3. На самом деле, это поднимает другую проблему. Если словарь не содержит ключа 5, как мне сказать python интерпретировать ключ 5 как имеющий значение 0?
4. @JeffreyLin то, что вы ищете, это
defaultdict
. « >>> из коллекций импортируйте defaultdict >>> mydict = defaultdict(lambda: 0) >>> mydict[5] «5. просто используйте
get
.er.get(item 1, 0)