Разделить столбец на другой столбец, если значение равно float (не строка) в пандах?

1

Я имею следующий dataframe и попытался применить следующую команду. Однако, поскольку в каждом столбце есть строка для некоторой строки, я получил ошибку. Может ли кто-нибудь сказать мне, как я могу пересмотреть этот скрипт, чтобы пропустить вычисление, если значение является строкой?

df["diff"] = (df["value"] / df["value_B"] - 1) * 100  

dataframe

                                                        value    value_B
GeneralEUI[kWh/m2]EUI[kWh/m2]EUI[kWh/m2]                217.3      243.3
GeneralTotal Unmer Hour[h]Total Unmer Hour[h]To...        536        536
GeneralTotal Area[m2]Total Area[m2]Total Area[m2]       51513      51513
GeneralLocationLocationLocation                     Hong Kong  Hong Kong
GeneralProgramProgramProgram                           Office     Office
EnvelopeTotal Window to Wall Ratio [%]Total Win...      52.23      52.23
EnvelopeGlassSHGC value                                  0.24       0.24
EnvelopeGlassU-value[W/m2-K]                             1.74       1.74
EnvelopeGlassOFFICE WINDOWSHGC value                     0.22       0.22
EnvelopeGlassOFFICE WINDOWU-value[W/m2-K]                1.63       1.63
EnvelopeGlassPODIUM WINDOWSHGC value                      0.7        0.7
EnvelopeGlassPODIUM WINDOWU-value[W/m2-K]                5.48       5.48
EnvelopeOpaqueSHGC value                                 0.24       0.24
EnvelopeOpaqueU-value[W/m2-K]                            1.74       1.74
EnvelopeOpaqueOFFICE WINDOWSHGC value                    0.22       0.22
Теги:
pandas

1 ответ

1
Лучший ответ

Вы можете преобразовать строки в отсутствующие значения с помощью to_numeric с параметрами errors='coerce':

a = pd.to_numeric(df["value"], errors='coerce')
b = pd.to_numeric(df["value_B"], errors='coerce')

df["diff"] =  (a / b - 1) * 100  

print (df)
                                                        value    value_B  \
GeneralEUI[kWh/m2]EUI[kWh/m2]EUI[kWh/m2]                217.3      243.3   
GeneralTotal Unmer Hour[h]Total Unmer Hour[h]To...        536        536   
GeneralTotal Area[m2]Total Area[m2]Total Area[m2]       51513      51513   
GeneralLocationLocationLocation                     Hong Kong  Hong Kong   
GeneralProgramProgramProgram                           Office     Office   
EnvelopeTotal Window to Wall Ratio [%]Total Win...      52.23      52.23   
EnvelopeGlassSHGC value                                  0.24       0.24   
EnvelopeGlassU-value[W/m2-K]                             1.74       1.74   
EnvelopeGlassOFFICE WINDOWSHGC value                     0.22       0.22   
EnvelopeGlassOFFICE WINDOWU-value[W/m2-K]                1.63       1.63   
EnvelopeGlassPODIUM WINDOWSHGC value                      0.7        0.7   
EnvelopeGlassPODIUM WINDOWU-value[W/m2-K]                5.48       5.48   
EnvelopeOpaqueSHGC value                                 0.24       0.24   
EnvelopeOpaqueU-value[W/m2-K]                            1.74       1.74   
EnvelopeOpaqueOFFICE WINDOWSHGC value                    0.22       0.22   

                                                         diff  
GeneralEUI[kWh/m2]EUI[kWh/m2]EUI[kWh/m2]           -10.686395  
GeneralTotal Unmer Hour[h]Total Unmer Hour[h]To...   0.000000  
GeneralTotal Area[m2]Total Area[m2]Total Area[m2]    0.000000  
GeneralLocationLocationLocation                           NaN  
GeneralProgramProgramProgram                              NaN  
EnvelopeTotal Window to Wall Ratio [%]Total Win...   0.000000  
EnvelopeGlassSHGC value                              0.000000  
EnvelopeGlassU-value[W/m2-K]                         0.000000  
EnvelopeGlassOFFICE WINDOWSHGC value                 0.000000  
EnvelopeGlassOFFICE WINDOWU-value[W/m2-K]            0.000000  
EnvelopeGlassPODIUM WINDOWSHGC value                 0.000000  
EnvelopeGlassPODIUM WINDOWU-value[W/m2-K]            0.000000  
EnvelopeOpaqueSHGC value                             0.000000  
EnvelopeOpaqueU-value[W/m2-K]                        0.000000  
EnvelopeOpaqueOFFICE WINDOWSHGC value                0.000000 

Ещё вопросы

Сообщество Overcoder
Наверх
Меню