vendredi 20 septembre 2019

Pandas DataFrame: multiply values in a column, based on condition

Hi I have a DataFrame column like the follow.

dataframe['BETA'], which has float numbers between 0 and 100. I need to have just numbers with the same numbers of digits. Example:

Dataframe['BETA´]:

[0] 0.11 to [0] 110
[1] 1.54 to [1] 154
[2] 22.1 to [2] 221


I tried to change one by one, but its super inefficient process:

for i in range (len(df_ld)):
    nbeta=df_ld['BETA'][i]
    if nbeta<1:
        val=nbeta
        val=val*1000
        df_ld.loc[i,'BETA']=val
    if (nbeta>=1) and (nbeta<=10):
        val=nbeta
        val=val*100
        df_ld.loc[i,'BETA']=val

    if (nbeta>10) and (nbeta<=100):
        val=nbeta
        val=val*10
        df_ld.loc[i,'BETA']=val
        #print('%.f >10, %.f Nuevo valor'% (nbeta,val))

Note: The dataframe size is more then 80k elements

Please help!

Aucun commentaire:

Enregistrer un commentaire