Последние 30 минут я пытался отладить свой код, но безрезультатно, может быть, вы можете помочь?
Ошибка лежит в строке 17, но я действительно не понимаю, почему это происходит.
Итак, я использую словарь для хранения данных, которые возвращает моя функция is_nontrivial_reverse_number()
, типа boolean
. Я перебираю его и вставляю все значения от 0
до 1100
.
Затем я вставляю свой словарь в DataFrame
с библиотекой pandas
.
Затем я перебираю свой dataFrame, чтобы получить количество значений, которые установлены в true.
Но проблема в том, что row["nonTrivial"]
, похоже, не работает, хотя я использовал одну и ту же функцию в другом словаре и наборе данных.
import pandas as pd2
dic2 = {'nonTrivial': [is_nontrivial_reverse_number(x) for x in range(0, 1100)]}
dic2
df2 = pd2.DataFrame(dic2)
df2 = df2.set_index('nonTrivial')
#df2.head()
##df2.shape
#df.dtypes
for row in df2.iterrows():
if (row["nonTrivial"]==True):
n = n+1
print (n)
Ожидаемый результат: n=2
что я получаю:
TypeError Traceback (most recent call last)
<ipython-input-314-ce7c400929e6> in <module>
15
16 for row in df2.iterrows():
---> 17 if (row["nonTrivial"]==True):
18 n = n+1
19 print (n)
TypeError: tuple indices must be integers or slices, not str