Как быть уверенным, что мои типы данных являются float64 в моих уравнениях? - PullRequest
0 голосов
/ 12 сентября 2018

У меня есть DataFrame с индексом (Dates) и двумя столбцами (A и B).Тип DataFrame, float64 в этих столбцах.

Я использую для цикла, чтобы сделать некоторые вычисления.и я хочу добавить результаты x1 и x2 в новые столбцы, Alpha и Beta, соответственно.

Я попытался использовать следующую строку для распознавания типа данных

print (df.dtypes)

, чтобы увидетьтип моих данных, после ...

df.at[Rw+1,'Alpha']=x1

Мой код:

for Rw in range(25):    
        def adj(df):                
            R=float(df.iloc[Rw,1])
            V=float(df.iloc[Rw+1,1])

            if R>=V:
                x1=R-V   
            else:
                x2=(V-R)**3

            df.at[Rw+1,'Alpha']=x1      
            print (df.dtypes)
            df.at[Rw+1,'Beta']=x2    
        adj(df)    

Я получаю сообщение об ошибке:

AttributeError: 'float' object has no attribute 'dtypes'

Боюсьчто строки с .at [_] в цикле не представляют типы float64.

Как я могу быть уверен, или как я могу перейти на float64, или как я могу добавить эти "Альфа" и "Бета" вмой DataFrame?... я использую python27.

1 Ответ

0 голосов
/ 12 сентября 2018

Попробуйте изменить строки:

df.at[Rw+1,'Alpha']=x1      
df.at[Rw+1,'Beta']=x2

до:

df.ix[Rw+1,'Alpha']=x1      
df.ix[Rw+1,'Beta']=x2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...