Я запускаю функцию внутри другой функции в цикле и у меня возникла проблема, когда первый модуль (Mod1) использует значения, определенные во втором модуле (Mod2), для генерации результата для уравнения, называемого Общий.
Возвращаемая ошибка выглядит следующим образом: TypeError: объект 'numpy.float64' не может быть интерпретирован как целое число
Код выглядит следующим образом
def Mod1(A,
B,
C):
As = pd.read_csv('AProps.csv',index_col='AName')
As = As.dropna(0,how='all',thresh=None,subset=None,inplace=False)
AvailAs = As.index.tolist()
Bs = pd.read_csv('BProps.csv',index_col='BName')
Bs = Matrices.dropna(0,how='all',thresh=None, subset=None,inplace=False)
AvailBs = Bs.index.tolist()
Prop1_A = As['Prop1'][A]
Prop2_A = As['Prop2'][A]
Prop3_A = As['Prop3'][A]
Prop4_A = Prop1_A/(2*(1+Prop3_A))
Prop1_B = Bs['Prop1'][B]
Prop3_B = Bs['Prop3'][B]
Prop4 = Prop1_B/(2*(1+Prop3_B)
Overall = Prop1_A*C+Prop1_B*(1-C)
Return Overall
def Mod2(NumItems):
A_List = []
B_List = []
C_List = []
for i in range(NumItems):
A_List.append(input('Choose the A_Input for item {0}: '.format(i+1)))
B_List.append(input('Choose the B_input for item {0}: '.format(i+1)))
C_List.append(input('Choose the C_input for item {0}: '.format(i+1)))
for i in range (NumLams):
Func1(A_List[i],B_List[i],C_List[i])
Просто чтобы прояснить намерениеКод состоит в том, что Mod2 создает списки входов, которые затем используются в Mod1.В Mod1 входы A и B используются для извлечения выходных данных из файлов CSV, которые считываются в As и Bs.Вход C используется в функциях внутри Mod1, т.е. в целом.
Когда я запускаю Mod1 вручную, никаких проблем не возникает вообще.Но при запуске в сочетании с Mod2, как описано выше ...
Код в Mod1 выполняется с использованием значений Prop1_A и Prop1_B, извлеченных из As и B, без проблем, но когда дело доходит до запуска функции длявышеупомянутая ошибка возвращается в Python.
Я уверен, что проблема заключается в способе интерпретации значения для C, то есть как float64, но не понимаю, почему Python может ожидать там целое число.
Я использую Spyder 3.2.6, установленный с пакетом Anaconda.
Любая предоставленная помощь с благодарностью получена.