从两个表到执行计算,根据另一列值选择列值

2024-09-29 21:26:36 发布

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

我有两张不同的表;德福·普里鲁普。我想从df_postErup中获得某个月的值,然后从df_prerup中扣除相应的平均值(i、 对于第3个月,e从df_postErup获得值0.394,然后从df_preErup获得该月=3的平均值=0.669。然后计算差值并将其存储在名为“delta”的新列中(0.394-0.669)

我已经编写了以下代码,但它给了我Nan值

for i in range (1,13):
df_postErup['delta'] = (df_postErup.loc[df_postErup['months'] == i, 'values']) - (df_preErup.loc[df_preErup['months'] == i, 'mean_values']) 

enter image description here

enter image description here


Tags: 代码indfforrangenanloc平均值
1条回答
网友
1楼 · 发布于 2024-09-29 21:26:36

设法解决了这个问题,但如果有人有更好的答案,请发帖子

 #Create a New empty column in df_postErup which will store the mean values for each month from df_pre

df_postErup['mean ndvi pre'] = ""
for i in range(0,12):
df_postErup.loc[df_postErup['months'] == (i + 1), ['mean ndvi pre']] = df_preErup.iloc[i,1]

#Calculate the difference, delta
df_postErup['delta'] = df_postErup['ndvi'] - df_postErup['mean ndvi pre']

相关问题 更多 >

    热门问题