创建存储箱并提取该存储箱的值

2024-04-25 09:20:55 发布

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

我有一个熊猫数据框

   Temperature_lim  Factor
0           32       0.95
1           34       1.00
2           36       1.06
3           38       1.10
4           40       1.15

我需要为任何给定的温度提取因子值,如果我的当前温度是31,我的因子是0.95。如果我的当前温度是33,系数是1,如果我的当前温度是38.5,系数是1.15。所以通过给出我现在的体温,我想知道这个温度的因子。你知道吗

我可以使用多个if-else语句来实现这一点,但是有没有什么有效的方法可以通过在pandas或python中创建bin/interval来实现呢。你知道吗

谢谢


Tags: 数据方法pandasifbin语句温度else
1条回答
网友
1楼 · 发布于 2024-04-25 09:20:55

使用^{}并将-np.inf添加到Temperature_lim列的值中,并将缺少的值添加到Factor值的最后一个值中:

df1 = pd.DataFrame({'Temp':[31,33,38.5, 40, 41]})

b = [-np.inf] + df['Temperature_lim'].tolist()
lab = df['Factor']

df1['new'] = pd.cut(df1['Temp'], bins=b, labels=lab, right=False).fillna(lab.iat[-1])
print (df1)
   Temp   new
0  31.0  0.95
1  33.0  1.00
2  38.5  1.15
3  40.0  1.15
4  41.0  1.15

相关问题 更多 >