如何在“DataFrameGroupBy”中的“MultiIndex”中调用索引

2024-10-02 02:27:32 发布

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

我的主要数据帧称为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_分组的每个单元看起来像,例如:

^{tb1}$

我想看一下列“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']

如果有任何提示,我将不胜感激。谢谢


Tags: 数据代码infodfdateindexcellsort
1条回答
网友
1楼 · 发布于 2024-10-02 02:27:32

我不确定我是否正确理解了您的问题,如果gfa列为-1,您想要什么值?根据我的理解,我建议您可以这样做,而不是在数据帧中循环:

df_grouped['wglc10lag'] = np.where(df_grouped['gfa'] != -1, df_grouped['date'],'Not -1') 

在上面的代码中,在“Not-1”的位置,您应该提到您想要为“gfa”=-1输入的值

相关问题 更多 >

    热门问题