在数据帧中使用apply需要很长时间

2024-06-16 10:41:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试在数据帧中使用apply函数

下面是示例数据框

import pandas as pd
from CoolProp.HumidAirProp import HAPropsSI

df =pd.DataFrame()
df['T'] = [23,35,55]
df ['RH'] = [50,70,35]
df['H']= df.apply(lambda x: HAPropsSI('H','T',x ['T']+273.15, 'P',101325,'R',x ['RH']/100), axis = 1)

实际数据帧包含400000行和8列。当我在实际数据帧中应用上述函数时,需要很长时间才能完成。还有其他方法可以提高计算速度吗

更新

我尝试使用否决权如下:

df ['Enthalpy'] = np.vectorize(HAPropsSI) ('H','T',df ['T']+273.15, 'P',101325,'R',df ['RH']/100)

它显示以下错误:

TypeError: Numerical inputs to HAPropsSI must be ints, floats, lists, or 1D numpy arrays.

该功能的输入如下所示:

HAPropsSI('H',T',x ['T']+273.15,P',101325,'R',x ['RH']/100)

第一个参数H是我想要找到的参数

第二个参数T是所需输入参数的类型,第三个是输入参数T的值

第三个和第四个表示输入参数的类型及其值。 第五条和第六条也是如此


Tags: 数据函数fromimport示例类型pandasdf