我的主要数据帧称为df,它有5列:lat、lon、date、gfa和wglc,共有2500万行。 我使用以下代码创建了一个多索引DataFrameGroupBy:
df_sort=df.set_index(['lat','lon','date']).sort_index(level['lat','lon','date'])
df_grouped = df_sort.groupby(level=['lat','lon'])
df_分组的每个单元看起来像,例如:
我想看一下列“gfa”,当它不是-1时,会创建一个新列,该列的值为wglc column,在同一天,向后10天。换句话说,如果df_grouped["gfa"] != -1
,则存储同一天和10天前的“wglc”列的值。我为条件语句编写了以下内容,但我不知道如何调用“date”索引:
for cell, cell_info in df_grouped:
cell_info.loc[cell_info['gfa'] != -1, 'wglc10lag'] = cell_info.iloc[??,'wglc']
如果有任何提示,我将不胜感激。谢谢
我不确定我是否正确理解了您的问题,如果gfa列为-1,您想要什么值?根据我的理解,我建议您可以这样做,而不是在数据帧中循环:
在上面的代码中,在“Not-1”的位置,您应该提到您想要为“gfa”=-1输入的值
相关问题 更多 >
编程相关推荐